SCTP

SCTP : 流传输控制协议

  1. UDP面向报文,保留报文边界,不可靠传输,无流量控制和传输控制
  2. TCP面向字节,不好刘报文边界,可靠传输,拥塞控制和流量控制
  3. 面向报文,可靠传输,拥塞控制流量控制
  4. 位于网络层与应用之间,全双工
  • SCTP 一个关联包含多重流,某一个流堵塞,其他流仍可以交付数据
    • TCP只有一个源IP地址和一个目的IP地址
  • STCP关联支持多重归属服务,正常情况下只有一个路径有效,其他候补;故障时,候补路径补上
  • STCP 允许每一个端使用多个IP地址

  • SCTP使用传输序号TSN对数据块编号,TSN累计编号
  • 流标识符SI区分一个关联内的流
  • 流序号SSN区分同一个流中不同数据块

  • STCP报头定长12字节,序号.确认号.窗口大小放在控制块中
  • 一个分组多个数据块,分属于不同流
  • STCP确认号面向数据块,位于控制信息中,只用来确认数据块
  • 控制块位于数据块之前
  • 通用首部:16位源端口地址,16位目的端口地址,32位验证标志,32位检验和
  • DATA数据块内容只能属于一个数据块,一个报文可以分割为多个数据块

关联建立

1
2
3
4
5
INIT Init tag:1200 rwnd:1000 Init TSN:1000 VT:0
INITACK Init tag:5000 rwnd:2000 Init TSN:1700 VT:1200
COOKIE ECHO cookie VT:5000
COOKIEACK VT:1200
* INIT. INITACK 不携带其他块,COOKIE ECHO. COOKIE ACK 可以携带数据块 `

  • 只有DATA块消耗TSN, DATA 块是唯一可确认的块
    关联终止
    1
    2
    3
    SHUTDOWN VT:x cum :TSN
    SHUTDOWN ACK VT:y
    SHUTDOWN COMPLETE VT:x