SCTP协议详情详解

上传人:汽*** 文档编号:563565218 上传时间:2023-02-14 格式:DOCX 页数:11 大小:109.07KB
返回 下载 相关 举报
SCTP协议详情详解_第1页
第1页 / 共11页
SCTP协议详情详解_第2页
第2页 / 共11页
SCTP协议详情详解_第3页
第3页 / 共11页
SCTP协议详情详解_第4页
第4页 / 共11页
SCTP协议详情详解_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《SCTP协议详情详解》由会员分享,可在线阅读,更多相关《SCTP协议详情详解(11页珍藏版)》请在金锄头文库上搜索。

1、SCTP 协议详解SCTP被视为一个传输层协议,它的上层为SCTP用户应用,下层作为分组网络。在 SIGTRAN协议的应用中,SCTP上层用户是SCN信令的适配模块(如M2UA、M3UA), 下层是IP网。目录 SCTP相关术语 SCTP功能 SCTP基本信令流程DMMW4rww* rww| 蒔;侈i -一育 二5乐=SCTP相关术语1. 传送地址传送地址由IP地址、传输层协议类型和传输层端口号定义。由于SCTP在IP上传 输,所以一个SCTP传送地址由一个IP地址加一个SCTP端口号决定oSCTP端口号 就是SCTP用来识别同一地址上的用户,和TCP端口号是一个概念。比如IP地址 10.10

2、52892和SCTP端口号1024标识了一个传送地址,而10.1052893和 1024则标识了另外一个传送地址,同样,10.1052892和端口号1023也标识了一 个不同的传送地址。2. 主机和端点主机(HoST)主机配有一个或多个IP地址,是一个典型的物理实体。端点(SCTP Endpoint)端点是SCTP的基本逻辑概念,是数据报的逻辑发送者和接收者,是一个典型的逻辑 实体。一个传送地址(IP地址+SCTP端口号)唯一标识一个端点。一个端点可以由多个 传 送地址进行定义,但对于同一个目的端点而言,这些传送地址中的IP地址可以配置成多 个,但必须使用相同的SCTP端口。3. 偶联和流偶联

3、(ASSOCIATION)偶联就是两个SCTP端点通过SCTP协议规定的4步握 手机制建立起来的进行数据传递的逻辑联系或者通道。SCTP协议规定在任何时刻两个 端点之间能且仅能建立一个偶联。由于偶联由两个端点的传送地址来定义,所以通过数据 配置本地IP地址、本地SCTP端口号、对端IP地址、对端SCTP端口号等四个参数, 可以唯一标识一个SCTP偶联。正因为如此,在GTSOFTX3000中,偶联可以被看成 是一条M2UA链路或M3UA链路。流(Stream)流是SCTP协议的一个特色术语。SCTP偶联中的流用来指示需要 按顺序递交到高层协议的用户消息的序列,在同一个流中的消息需要按照其顺序进行

4、递 交。严格地说,“流”就是一个SCTP偶联中,从一个端点到另一个端点的单向逻辑通 道。一个偶联是由多个单向的流组成的。各个流之间相对独立,使用流ID进行标识,每 个 流可以单独发送数据而不受其他流的影响。4.通路(Path)和首选通路(Primary Path)通路(Path)通路是一个端点将SCTP分组发送到对端端点特定目的传送地址的路 由。如果分组 发送到对端端点不同的目的传送地址时,不需要配置单独的通路。首选通路(Primary Path)首选通路是在默认情况下,目的地址、源地址在SCTP 分组中发到对端端点的通路。如果可以使用多个目的地地址作为到一个端点的目的地址,则这个SCTP端点

5、为多 归属。如果发出SCTP分组的端点属于多归属节点时,如果定义了目的地址、源地址, 能够更好控制响应数据块返回的通路和数据包被发送的接口。一个SCTP偶联的两个 SCTP端点都可以配置多个IP地址,这样一个偶联的两个 端点之间具有多条通路,这就 是SCTP偶联的多地址性。SCTP偶联的多地址性是SCTP与TCP最大的不同。一个偶联可以包括多条通路,但只有一个首选通路。如图1所示,MGC (如 GTSOFTX3000)个端点包括两个传送地址(10.112314: 2905和10.112315: 2905),而SG 一个端点也包括两个传送地址(10112316: 2904 和 101123 17

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

7、 16: 2904)。Path3:本端传送地址2(10112315: 2905)发送SCTP分组到对端传送地 址 2 (101123 17: 2904)。端点发送的SCTP工作原理为:本端点传送地址A发送的SCTP包通过首选通路 发送到对端端点。当首选通路出现故障后,SCTP可以自动切换到其他备用通路上,优 先切换对端端点的传送地址,再次切换本端端点的传送地址。SCTP定义了心跳消息(Heart Beat)。当某条通路空闲时,本端SCTP用户要求 SCTP生成相应的心跳消息并通过该通路发送到对端端点,而对端端点必须立即发回对应 的心跳确认消息。这种机制被用来精确测量回路时延RTT (Round

8、 Trip Time),而且 可以随时监视偶联的可用情况和保持SCTP偶联的激活状态。d32p3匚 Duunana口匚:N a dul b nimfeierIfeiX QU匚scresms20.EL.WS.14已上匚pertLocal TP |lQ . JL, 23. 15addEese2I,ecL IF Ji., wafldtessl 1图2确定通路选择方式的数据配置5 TSN 和 SSN传输顺序号 TSN (Transmission Sequence Number) SCTP 使用 TSN 机 制实现数据的确认传输。一个偶联的一端为本端发送的每个数据块顺序分配一个基于初始 TSN的32位顺

9、序号,以便对端收到时进行确认。TSN是基于偶联进行维护的。流顺序号 SSN(Stream Sequence Number)SCTP为本端在这个流中发送的每个数据块顺序分配一个16位SSN,以便保证流 的顺序传递。在偶联建立时,所有流中的SSN都是从0开始。当SSN到达65535 后, 则接下来的SSN为0。TSN和SSN的分配是相互独立的。6拥塞窗口 CWND(Congestion Window)SCTP也是一个滑动窗口协议,拥塞窗口是针对每个目的地址维护的,它会根据网络 状况调节。当目的地址的发送未证实消息长度超过其CWND时,端点将停止向这个地址 r.it发送数据。7. 接收窗口 RWND

10、(Receive Window)RWND用来描述一个偶联对端的接收缓冲区大小。偶联建立过程中,双方会交换彼 此的初始RWND。RWND会根据数据发送、证实的情况即时地变化。RWND的大小 限制了 SCTP可以发送的数据的大小。当RWND等于0时,SCTP还可以发送一个 数据报,以便通过证实消息得知对方缓冲区的变化,直到达到CWND的限制。8. 传输控制块 TCB(Transmission Control Block)TCB是一种部数据结构,是一个SCTP端点为它与其他端点之间已经启动的每一个 偶联生成的。TCB包括端点的所有状态、操作信息,便于维护和管理相应的偶联。SCTP功能如图所示,SCT

11、P的功能主要包括:偶联的建立和关闭、流消息顺序递交、用户数据 分段、证实和避免拥塞、消息块绑定、分组的有效性和通路管理。图SCTP功能示意图流内顺序递兗偶匪iJJ述走rll关闭分爼的青烛性通捋堂浬1、偶联的建立和关闭偶联的建立是由SCTP用户(如M2UA、M3UA等)发起请求来启动的。而且建 立 过程相对于TCP连接而言比较复杂,是个“四次握手”过程,并用到了 “COOKIE” 的机制。COOKIE是一个含有端点初始信息和加密信息的数据块,通信的双方在关联建 立时需要处理并交换,从而增加协议的安全性,防止拒绝服务和伪装等潜在的攻击。SCTP 提供了对激活偶联的正常的关闭程序,它必须根据SCTP

12、用户的请求来执行,当然SCTP 也提供一种非正常(即中止)程序,中止程序的执行既可以根据SCTP用户的请求来启动, 也可以由SCTP协议检查出差错来中止。SCTP不支持半打开状态(即一端可以在另一 端结束后继续发送数据)。无论是哪个端点执行了关闭程序,偶联的两端都应停止接受从 SCTP用户发来请求原语。2、流消息顺序递交SCTP提供数据报的顺序传递,顺序传递的数据报必须放在一个“流”中传递。流是 顺序传递的基石。通过流,SCTP将数据的确认和传输的有序递交分成两种不同机制。 SCTP使用TSN机制实现了数据的确认传输,使用流号和SSN (流顺序号)则实现数据 的有序递交。当SCTP收到数据的S

13、SN连续的时候,SCTP就可以将数据向SCTP用 户递交,而不用等到数据的TSN号连续以后才向SCTP用户递交。当一个流被闭塞时,期望的下一个连续的SCTP用户消息可以从另外的流上进行递 交。SCTP也提供非顺序递交的业务,接收到的用户消息可以使用这种方式立即递交到 SCTP用户,而不需要保证其接收顺序。3、用户数据分段SCTP 通过对传送通路上最大PMTU(Path Maximum TransmissiON Unit)的检测,实现在SCTP层将超大用户数据分片打包,避免在IP层的多次分片、重组, 可以减少IP层的数据负担。在发送端,SCTP可以对大的用户数据报进行分片以确保SCTP数据报传递

14、到低层 时适合通路 MTU(Maximum Transmission Unit)。在接收端,SCTP将分片重组为完整的用户数据报,然后传递给SCTP用户。4、证实和避免拥塞证实和重传是协议保证传输可靠性的策略,SCTP也一样。证实机制是SCTP保证传 输可靠性的基石。避免拥塞沿袭了 TCP的窗口机制,进行合适的流量控制。?SCTP在将数据(数据分片或未分片的用户数据报)发送给底层之前顺序地为之分配 一个发送顺序号(TSN)。TSN和SSN (流顺序号)是相互独立的,TSN用于保证传输的可靠性,SSN用于 保证流消息的顺序传递。TSN和SSN在功能上使可靠传递和顺序传递分开。接收端证实所有收到的

15、TSNs, 即使其中有些尚未收到。包重发功能负责TSN的证实,还负责拥塞消除。5、消息块绑定如果长度很短的用户数据被带上很大一个SCTP消息头,其传递效率会很低,因此, SCTP将几个用户数据绑定在一个SCTP报文里面传输,以提高带宽的利用率。SCTP分组由公共分组头和一个/多个信息块组成,信息块可以是用户数据,也可以 是SCTP控制信息。SCTP用户能够可选地使用捆绑功能,决定是否将多个用户数据报捆绑在一个SCTP 分组中。为提高效率,拥塞/重发时,捆绑功能可能仍被执行,即使用户已经禁止捆绑。6、分组的有效性分组的有效性是SCTP提供无差错传输的基石。SCTP分组的公共分组头包含一个 验证标签(VerificATIon Tag)和一个可选的32位校验码(Checksum)。验证标 签的值由偶联两端在偶联启动时选择。如果收到的分组中如果没有期望的验证标签值,接 收端将丢弃这个分组,以阻止攻击和失效的SCTP分组。校验码由SCTP分组的发送 方设置,以提供附加的保护,用来避免由网络造成的数据差错。接收端将丢弃包含无效校 验码的SCTP分组。7、通路管理发送端的SCTP用户能够使用一组传送地址作为SCTP分组的目的地SCTP管理 功能可以根据SCTP用户的指令和当

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号