搜档网
当前位置:搜档网 › SCTP协议详情详解

SCTP协议详情详解

SCTP协议详解

SCTP 被视为一个传输层协议,它的上层为SCTP 用户应用,下层作为分组网络。在SIGTRAN 协议的应用中,SCTP 上层用户是SCN 信令的适配模块(如M2UA、M3UA),下层是IP 网。

目录

?SCTP相关术语

?SCTP功能

?SCTP 基本信令流程

SCTP相关术语

1. 传送地址

传送地址由IP 地址、传输层协议类型和传输层端口号定义。由于SCTP 在IP 上传输,所以一个SCTP 传送地址由一个IP 地址加一个SCTP 端口号决定。SCTP 端口号就是SCTP 用来识别同一地址上的用户,和TCP 端口号是一个概念。比如IP 地址10.105.28.92 和SCTP 端口号1024 标识了一个传送地址,而10.105.28.93 和1024 则标识了另外一个传送地址,同样,10.105.28.92 和端口号1023 也标识了一个不同的传送地址。

2. 主机和端点

主机(Ho ST)主机配有一个或多个IP 地址,是一个典型的物理实体。

端点(SCTP Endpoint)

端点是SCTP 的基本逻辑概念,是数据报的逻辑发送者和接收者,是一个典型的逻辑实体。

一个传送地址(IP 地址+SCTP 端口号)唯一标识一个端点。一个端点可以由多个传送地址进行定义,但对于同一个目的端点而言,这些传送地址中的IP 地址可以配置成多个,但必须使用相同的SCTP 端口。

3. 偶联和流

偶联(Associ ATION)偶联就是两个SCTP 端点通过SCTP 协议规定的4 步握手机制建立起来的进行数据传递的逻辑联系或者通道。SCTP 协议规定在任何时刻两个端点之间能且仅能建立一个偶联。由于偶联由两个端点的传送地址来定义,所以通过数据配置本地IP 地址、本地SCTP 端口号、对端IP 地址、对端SCTP 端口号等四个参数,可以唯一标识一个SCTP 偶联。正因为如此,在GTSOFTX3000 中,偶联可以被看成是一条M2UA 链路或M3UA 链路。

流(Stream)流是SCTP 协议的一个特色术语。SCTP 偶联中的流用来指示需要按顺序递交到高层协议的用户消息的序列,在同一个流中的消息需要按照其顺序进行递交。严格地说,“流”就是一个SCTP 偶联中,从一个端点到另一个端点的单向逻辑通道。一个偶联是由多个单向的流组成的。各个流之间相对独立,使用流ID 进行标识,每个流可以单独发送数据而不受其他流的影响。

4. 通路(Path)和首选通路(Primary Path)

通路(Path)通路是一个端点将SCTP 分组发送到对端端点特定目的传送地址的路由。如果分组发送到对端端点不同的目的传送地址时,不需要配置单独的通路。

首选通路(Primary Path)首选通路是在默认情况下,目的地址、源地址在SCTP 分组中发到对端端点的通路。

如果可以使用多个目的地地址作为到一个端点的目的地址,则这个SCTP 端点为多

归属。如果发出SCTP 分组的端点属于多归属节点时,如果定义了目的地址、源地址,能够更好控制响应数据块返回的通路和数据包被发送的接口。一个SCTP 偶联的两个SCTP 端点都可以配置多个IP 地址,这样一个偶联的两个端点之间具有多条通路,这就是SCTP 偶联的多地址性。SCTP 偶联的多地址性是SCTP 与TCP 最大的不同。

一个偶联可以包括多条通路,但只有一个首选通路。如图1所示,MGC(如GTSOFTX3000)一个端点包括两个传送地址(10.11.23.14:2905 和

10.11.23.15:2905),而SG 一个端点也包括两个传送地址(10.11.23.16:2904 和10.11.23.17:2904)。

图1 SCTP 双归属

此两个端点决定了一个偶联,该偶联包括4 条通路(Path0、Path1、Path2 和Path3)。根据数据配置可以确定此4 条通路的选择方式,如图2所示。图中定义了4 条通路,而且首选通路为Path0:Path0:本端传送地址1(10.11.23.14:2905)发送SCTP 分组到对端传送地址1(10.11.23.16:2904)。

Path1:本端传送地址1(10.11.23.14:2905)发送SCTP 分组到对端传送地址2(10.11.23.17:2904)。

Path2:本端传送地址2(10.11.23.15:2905)发送SCTP 分组到对端传送地址1(10.11.23.16:2904)。

Path3:本端传送地址2(10.11.23.15:2905)发送SCTP 分组到对端传送地址2(10.11.23.17:2904)。

端点发送的SCTP 工作原理为:本端点传送地址A 发送的SCTP 包通过首选通路发送到对端端点。当首选通路出现故障后,SCTP 可以自动切换到其他备用通路上,优先切换对端端点的传送地址,再次切换本端端点的传送地址。

SCTP 定义了心跳消息(Heart Beat)。当某条通路空闲时,本端SCTP 用户要求SCTP 生成相应的心跳消息并通过该通路发送到对端端点,而对端端点必须立即发回对应的心跳确认消息。这种机制被用来精确测量回路时延RTT(Round Trip TI me),而且可以随时监视偶联的可用情况和保持SCTP 偶联的激活状态。

图2 确定通路选择方式的数据配置

5. TSN 和SSN

传输顺序号TSN(Transmission Sequence Number)SCTP 使用TSN 机制实现数据的确认传输。一个偶联的一端为本端发送的每个数据块顺序分配一个基于初始TSN 的32 位顺序号,以便对端收到时进行确认。TSN 是基于偶联进行维护的。

流顺序号SSN(Stream Sequence Number)

SCTP 为本端在这个流中发送的每个数据块顺序分配一个16 位SSN,以便保证流

的顺序传递。在偶联建立时,所有流中的SSN 都是从0 开始。当SSN 到达65535 后,则接下来的SSN 为0。TSN 和SSN 的分配是相互独立的。

6. 拥塞窗口CWND(Congestion Window)

SCTP 也是一个滑动窗口协议,拥塞窗口是针对每个目的地址维护的,它会根据网络状况调节。当目的地址的发送未证实消息长度超过其CWND 时,端点将停止向这个地址发送数据。

7. 接收窗口RWND(Receive Window)

RWND 用来描述一个偶联对端的接收缓冲区大小。偶联建立过程中,双方会交换彼此的初始RWND。RWND 会根据数据发送、证实的情况即时地变化。RWND 的大小限制了SCTP 可以发送的数据的大小。当RWND 等于0 时,SCTP 还可以发送一个数据报,以便通过证实消息得知对方缓冲区的变化,直到达到CWND 的限制。

8. 传输控制块TCB(Transmission Control Block)

TCB 是一种部数据结构,是一个SCTP 端点为它与其他端点之间已经启动的每一个偶联生成的。TCB 包括端点的所有状态、操作信息,便于维护和管理相应的偶联。

SCTP功能

如图所示,SCTP 的功能主要包括:偶联的建立和关闭、流消息顺序递交、用户数据分段、证实和避免拥塞、消息块绑定、分组的有效性和通路管理。

相关主题