1. SCTP包的基本组成
SCTP包由一个或多个CHUNK组成,例如:
SCTP包头中的verification tag用于唯一标识一条ASSOCIATION。
DATA CHUNK中主要字段的含义如下:
- TSN:传输序列号,唯一标识一个DATA CHUNK
- SID:流ID,标识一条ASSOCIATION中的一个STREAM,DATA CHUNK的有序传递只能在同一条STREAM中保证
- SSN:该CHUNK在该STREAM中的序列号,用于判断DATA CHUNK的顺序关系
SACK CHUNK中主要字段的含义如下:
Cumulative TSN:收到对端连续的DATA CHUNK的最大TSN,即告诉对端,该TSN之前的所有DATA CHUNK我已经收到了
a_rwnd:本地的接收窗口大小
gaps:收到不连续的DATA CHUNK,这个不是0的话,通常意味着对端发送方向有丢包现象
duplicated TSN:收到重复的DATA CHUNK,这个不是0的话,通常意味着本段发送过去的SACK被丢了,对端没有收到
2. 协议错误导致连接建立失败