This wiki has been migrated to https://gitlab.com/wireshark/wireshark/-/wikis/home and is now deprecated. Please use that site instead.
Differences between revisions 1 and 2
Revision 1 as of 2005-02-06 12:07:54
Size: 2692
Editor: UlfLamping
Comment: first content
Revision 2 as of 2005-02-06 12:56:14
Size: 2970
Editor: UlfLamping
Comment: add a display filter
Deletions are marked like this. Additions are marked like this.
Line 43: Line 43:
 Show only the COTP based traffic, except for the COTP Data (cotp.type == 0x06) and Acknowledge (cotp.type == 0x0f) TPDU's. This way you will only see special packets like connection establishing or expedited data: {{{
 cotp && !(cotp.type == 0x06 || cotp.type == 0x0f) }}}

Connection Oriented Transport Protocol (COTP, ISO 7073)

This is the connection transport protocol of the IsoProtocolFamily.

As most readers nowadays will be more familiar with ["TCP"], COTP is explained comparing both protocols as they are both used to transport users's data reliably over a network.

Packetbased vs. streambased: COTP transports packets of data from one user to the other, so the receiver will get exactly the same data boundaries as the sender transmitted. ["TCP"] transports a continuous stream of data to the receiver, so the protocol on top of TCP often has to add such boundaries itself (see the ["TPKT"] protocol for such a protocol).

TSAP's vs. ports: To multiplex several conversations between two hosts, COTP uses TSAP's which are variable length binary blobs (often a meaningful string is used). These TAP's are matched at connection establishing phase, and replaced by the 2 byte (destination/source) references at data transfer. TCP uses ports for this. One remarkable difference is that TSAP's are singletons - if a TSAP is used for a connection it cannot be used by another.

History

This protocol has been replaced by ["TCP"] in most applications. Applications that used COTP before, will often use the ["TPKT"] protocol on top of ["TCP"] now.

Protocol dependencies

  • ["CLNP"]: COTP uses ["CLNP"] as its underlying network protocol.

Example traffic

XXX - Add example traffic here (as plain text or Ethereal screenshot).

Ethereal

The COTP dissector is fully functional.

Preference Settings

  • Reassemble segmented COTP datagrams: XXX - add info here
  • Display TSAPs as string or bytes: The TSAP's can be any binary data. Often applications chooses textual representation, so the default setting "As strings if printable" might be a good idea in many cases.

Example capture file

XXX - Add a simple example capture file to the SampleCaptures page and link from here. Keep it short, it's also a good idea to gzip it to make it even smaller, as Ethereal can open gzipped files automatically.

Display Filter

A complete list of COTP display filter fields can be found in the [http://www.ethereal.com/docs/dfref/c/cotp.html display filter reference]

  • Show only the COTP based traffic:

     cotp 

    Show only the COTP based traffic, except for the COTP Data (cotp.type == 0x06) and Acknowledge (cotp.type == 0x0f) TPDU's. This way you will only see special packets like connection establishing or expedited data:

     cotp && !(cotp.type == 0x06 || cotp.type == 0x0f) 

Capture Filter

You cannot directly filter COTP protocols while capturing. XXX - add information about capturing of lengths smaller than 1450? bytes or even better ways to capture only COTP.

Discussion

COTP (last edited 2008-04-12 17:51:39 by localhost)