SCTP COOKIE ACK报文格式
SCTP COOKIE ACK数据块只在启动偶联时使用,它用来证实收到COOKIE EHCO数据块。
这个数据块必须在该偶联上发送任何DATA或SACK数据块前发送,但这个数据块可以与一个或多个DATA或SACK数据块捆绑在一个SCTP分组中发送。COOKIE ACK数据块中没有其他参数。
一、SCTP COOKIE ACK报文格式
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-------------------------------+-------------------------------+ ---
| Source Port Number | Destination Port Number | ^
+-------------------------------+-------------------------------+ |
| Verification Tag | Common Header
+---------------------------------------------------------------+ |
| Checksum | V
+---------------+---------------+-------------------------------+ ---
| Type = 11 | Chunk Flags | Length = 4 |
+---------------+---------------+-------------------------------+
二、SCTP COOKIE ACK报文格式解释
字段 | 长度 | 描述 |
---|---|---|
Source Port Number | 16比特 | 源端口号,识别SCTP发送端点的SCTP端口号。接收方可以使用源端口号、源IP地址、目的端口号和目的IP地址标识该SCTP分组所属的偶联。 |
Destination Port Number | 16比特 | 目的端口号,为目的端点的SCTP端口号。接收主机可以使用目的端口号将SCTP分组复用到正确的端点或应用中。 |
Verification Tag | 32比特 |
验证标签是偶联建立时,本端端点为这个偶联生成一个随机标识。偶联建立过程中,双方会交换这个TAG,到了数据传递时,发送端必须在公共分组头中带上对端的这个TAG,以备校验。 |
Checksum | 32比特 | SCTP通过对用户数据使用ADLER-32算法,计算出一个32位的校验码,带在数据报中,在接收端进行同样的运算,通过检查校验码是否相等来验证用户数据是否遭到破坏。 |
Chunk Type | 8比特 | Type = 11:Cookie证实(COOKIE ACK) |
Chunk Flags | 8比特 | COOKIE ACK数据块中只包含数据块标志(8bit),在发送方设置为全0,并在接收方忽略。 |
Chunk Length | 16比特 | 块长度用来表示包括块类型、块标记、块长度和块值在内的字节数,长度使用二进制表示。 |
三、SCTP COOKIE ACK报文示例
Frame 1: 64 bytes on wire (512 bits), 64 bytes captured (512 bits)
Encapsulation type: Ethernet (1)
Arrival Time: Aug 18, 2011 16:09:25.809275000
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 1313654965.809275000 seconds
[Time delta from previous captured frame: 0.000000000 seconds]
[Time delta from previous displayed frame: 0.000000000 seconds]
[Time since reference or first frame: 0.000000000 seconds]
Frame Number: 1
Frame Length: 64 bytes (512 bits)
Capture Length: 64 bytes (512 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: eth:ethertype:ip:sctp]
Ethernet II, Src: 00:0f:e2:d5:c5:29 (00:0f:e2:d5:c5:29), Dst: 00:25:9e:17:0d:85 (00:25:9e:17:0d:85)
Destination: 00:25:9e:17:0d:85 (00:25:9e:17:0d:85)
Address: 00:25:9e:17:0d:85 (00:25:9e:17:0d:85)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
Source: 00:0f:e2:d5:c5:29 (00:0f:e2:d5:c5:29)
Address: 00:0f:e2:d5:c5:29 (00:0f:e2:d5:c5:29)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
Type: IP (0x0800)
Padding: 00000000000000000000
Frame check sequence: 0x93981aaa [correct]
[FCS Good: True]
[FCS Bad: False]
Internet Protocol Version 4, Src: 10.168.168.9 (10.168.168.9), Dst: 10.21.112.2 (10.21.112.2)
Version: 4
Header Length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
0000 00.. = Differentiated Services Codepoint: Default (0x00)
.... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
Total Length: 36
Identification: 0x5c78 (23672)
Flags: 0x02 (Don't Fragment)
0... .... = Reserved bit: Not set
.1.. .... = Don't fragment: Set
..0. .... = More fragments: Not set
Fragment offset: 0
Time to live: 61
Protocol: SCTP (132)
Header checksum: 0x5c14 [validation disabled]
[Good: False]
[Bad: False]
Source: 10.168.168.9 (10.168.168.9)
Destination: 10.21.112.2 (10.21.112.2)
[Source GeoIP: Unknown]
[Destination GeoIP: Unknown]
Stream Control Transmission Protocol, Src Port: diameter (3868), Dst Port: 3876 (3876)
Source port: 3868
Destination port: 3876
Verification tag: 0x0bbf238b
[Assocation index: 0]
Checksum: 0x04db9d9c (not verified)
COOKIE_ACK chunk
Chunk type: COOKIE_ACK (11)
0... .... = Bit: Stop processing of the packet
.0.. .... = Bit: Do not report
Chunk flags: 0x00
Chunk length: 4
发表评论