36.3 Tracing SCTP Dynamics

SCTP packets generated by one of the SCTP agents and destined for a peer SCTP agent over a traced link (see section 26) will generate a trace file with lines of the form:

      + 0.5 1 4 sctp 56 -------I 0 1.0 4.0 1 -1 4 65535 65535
      - 0.5 1 4 sctp 56 -------I 0 1.0 4.0 1 -1 4 65535 65535
      r 0.700896 1 4 sctp 56 -------I 0 1.0 4.0 1 -1 4 65535 65535
      + 0.700896 4 1 sctp 56 -------I 0 4.0 1.0 1 -1 5 65535 65535
      - 0.700896 4 1 sctp 56 -------I 0 4.0 1.0 1 -1 5 65535 65535
      r 0.901792 4 1 sctp 56 -------I 0 4.0 1.0 1 -1 5 65535 65535
      + 0.901792 1 4 sctp 36 -------I 0 1.0 4.0 1 -1 6 65535 65535
      - 0.901792 1 4 sctp 36 -------I 0 1.0 4.0 1 -1 6 65535 65535
      r 1.102368 1 4 sctp 36 -------I 0 1.0 4.0 1 -1 6 65535 65535
      + 1.102368 4 1 sctp 36 -------I 0 4.0 1.0 1 -1 7 65535 65535
      - 1.102368 4 1 sctp 36 -------I 0 4.0 1.0 1 -1 7 65535 65535
      r 1.302944 4 1 sctp 36 -------I 0 4.0 1.0 1 -1 7 65535 65535
      + 1.302944 1 4 sctp 1500 -------D 0 1.0 4.0 1 1 8 0 0
      - 1.302944 1 4 sctp 1500 -------D 0 1.0 4.0 1 1 8 0 0
      + 1.302944 1 4 sctp 1500 -------D 0 1.0 4.0 1 2 9 0 1
      - 1.326624 1 4 sctp 1500 -------D 0 1.0 4.0 1 2 9 0 1
      r 1.526624 1 4 sctp 1500 -------D 0 1.0 4.0 1 1 8 0 0
      r 1.550304 1 4 sctp 1500 -------D 0 1.0 4.0 1 2 9 0 1
      + 1.550304 4 1 sctp 48 -------S 0 4.0 1.0 1 2 11 65535 65535
      - 1.550304 4 1 sctp 48 -------S 0 4.0 1.0 1 2 11 65535 65535
      r 1.751072 4 1 sctp 48 -------S 0 4.0 1.0 1 2 11 65535 65535
      ...
      + 19.302944 4 1 sctp 56 -------H 0 2.0 5.0 1 -1 336 65535 65535
      - 19.302944 4 1 sctp 56 -------H 0 2.0 5.0 1 -1 336 65535 65535
      r 19.303264 4 1 sctp 56 -------H 0 4.0 1.0 1 -1 322 65535 65535
      + 19.303264 1 4 sctp 56 -------B 0 1.0 4.0 1 -1 337 65535 65535
      - 19.327584 1 4 sctp 56 -------B 0 1.0 4.0 1 -1 337 65535 65535
      r 19.52848 1 4 sctp 56 -------B 0 1.0 4.0 1 -1 337 65535 65535

When tracing SCTP, packets of type sctp are relevant. Their packet type, chunk type, packet size, TSN (CumAck point for SACK chunks), stream ID, SSN, and arrival/depart/drop time are given by field positions 5, 7 (flag position 8), 6, 12, 14, 15, and 2, respectively. If a packet has more than one chunk, a line is printed for each chunk. A future release should include a field to indicate which chunk of the packet a line refers to (e.g., 2:3 could identify the 2nd chunk of a packet which contains 3 chunks). Since control chunks do not use TSNs, stream IDs, or SSNs, the trace lines for these chunks use undefined numbers (-1 or 65535) for these fields. The + indicates a packet arrival, d a drop, and - a departure.

Flag position 8 of field 7 indicate the chunk type as follows. The I flag indicates an association initiation control chunk (INIT, INIT-ACK, COOKIE-ECHO, COOKIE-ACK). A future release should use I for the INIT and INIT-ACK chunks, and C for the COOKIE-ECHO and COOKIE-ACK chunks. The D, S, H, and B flags indicate a DATA chunk, a SACK, a HEARTBEAT chunk, and a HEARTBEAT-ACK chunk.

A number of scripts process this file to produce graphical output or statistical summaries (for example, see the finish procedure in ~ns/tcl/test/test-suite-sctp.tcl).

Tom Henderson 2011-11-05