ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:75.59KB ,
资源ID:12948382      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-12948382.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SCTP协议详解.docx)为本站会员(b****8)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

SCTP协议详解.docx

1、SCTP协议详解SCTPff 解SCTP被視为一个传输层协SL它的上层为SCTP用户应用下层作为分组网络。在SIGTRAN 应用中,SCTP上层用户是S信令的适配模ft M2UA. M3UA )9下层是IP网。SCTP相关术培sctp a 能SCTP基本信令潼程耳三JSSCTP相关术培1.传送地址传送堆址由IP堆址、传输层协放类型和传输层端口号定义。由于SCTP在IP上传输, 所以一个SCTP传送览址由一个IP堆址加一个SCTP竭口号决定oSCTP常口号就是SCTP 用来识别同一堆址上的用户和TCP端口号是一个H念。比如IP %址10.105.28.92和SCTP 竭口号1024标识了一个传送

2、地址,而10.105.28.93和1024剧标识了另外一个传送地址, 同祥,10.105.28.92和鶴口号1023也标识了一个不同的传送览址。2.主机和舞点主机(HOST)主机配有一个或多个IP地址,是一个典型的精理实体。端点(SCTP Endpoint)端贞是SCTP的基本逻辑様念,是数据报的逻辑发送者和接收者,是一个興型的逆辑 实体。一个传送堆址(IP堆址+SCTP竭口号)唯一标识一个竭点。一个靖点可以由多个传 送堆址进行定义,但对于同一个目的常戌而言,这些传送堆址中的IP堆址可以配置成多 个.但必须便用相同的SCTP端口。例联(ASSOCIATION ) (8联就是两个SCTP鶴点通过

3、SCTP协仪规定的4步握手机卸建 立起来传注的逻辑联系或者通道。SCTP廉放規定在任何时刻两个甫点之同能 且仅能建立一个例联。由于備联由两个端点的传送地址来定义,所以通U数据配置本堆IP 堆址、本it SCTP端口号、对端IP堆址、对SSCTP端口号等四个参数,可以唯一标识一 个SCTP假联。正因为如此,在GTSOFTX3000中,假联可以被看成是一条M2UA讎路或 M3UA fifto潼(Stream )灌是SCTP协玫的一个箝色术培。SCTP偎联中的流用来指示需要按顺 序递交到高的用户消息的序刃,在同一个流中的消息需要按照其触序进打递交。严 格地说,“沆”就是一个SCTP倒联中,从一个竭点

4、對另一个常贞的单向逆Sio -个 假联是由多个单向的流组成的。各个20相对微立,使用流ID进fiSiH,每个浹可以 单菽发送数据而不受其他浦的影咽。4.通路(Path )和首选通路(Primary Path )1路(Path)通路是一个端点稱SCTP分组发送到对竭常康特定目的传送堆址的路由。 如果分组发送到对竭竭虑不同的目的传送览址时,不需要配置单独的通路。首选通B ( Primary Path )首选通路是在KikffiXT,目的堆址、浪堆址在SCTP分组 中发到对酬貝的通路。如果可以便用多个目1址作为到一个竭点的目的堆址,團这个SCTP竭点为多H Mo如果发出SCTP分组的端点U于多归厲节

5、贞时,如果定义了目的地址、址,能够 更好控胃响应数据挟返回的埴路利数据內被发送的接口。 一个SCTP例联的两个SCTP S 点aniua置多个IP览址,沁样一个働联的两个竭点之间具有多条通路,这就是SCTP fl 联的多览址性。SCTP偶联的多堆址性是SCTP与TCP最大的不同。一个備坎可U0g多条通路,但只有一个首选通路。如图1所示,MGC(如GTSOFTX3000 ) 一个端贞包插两个传送堆址(10.11.23.14: 2905和10.11.23.15: 2905 ),而SG 一个鵡点 也 0SH 个传送堆址(10.11.23.16: 2904 #10.11.23.17: 2904 )。图

6、 1 SCTP jRflHlit两个SI胃决定了一个例联,该条通路(PathO、Path仁Path2和Path3 )o根 摇数据配置可以績定此4条通路的选聲方式,如图2所示。图中定义了4条通路.而且首 览通路为PathO: PathO:本竭传送堆址1 (10.11.23.14: 2905 )发送SCTP分组到对鶴传 送堆址 1 (10.11.23.16: 2904 )oPathl:本竭传送堆址1 (10.11.23.14: 2905 )发送SCTP分组到对竭传送堆址2 (10.11.23.17: 2904 )oPath2:本端传送堆址2(10.11.23.15: 2905 )发送SCTP分组到

7、对竭传送堆址1 (10.11.23.16: 2904 )oPath3:本端传送览址2(10.11.23.15: 2905 )发送SCTP分组男对竭传送堆址2 (10.11.23.17: 2904 )0端贞发送的SCTP工作原理为:本竭点传送堆址A发送的SCTP 0jiS首选ii路发8 對对端端点。当首选通路出aaiB后,SCTP可以自动切換男其他备用通路上,优先切换 对肃竭点的传送堆址,再次切換本竭38虑的传送堆址。SCTP定义了0践消息(HeartBeat)。当某条通路空用时,本S SCTP用户娶来SCTP生 成相应的o践消息并通asi路发送到对常曙点,而对竭竭点必须立即发回对应的心践爾 汰

8、消息。这种机胃放用来精簡濾量回路时1 RTT ( Round Trip Time )F而且可以随时监视假 尿的可用情加和保持SCTP IB联的澈活状态。图2谕定通路览择方式曲数据配置5.TSN 和 SSN传输K序号TSN (Transmission Sequence Number) SCTP使用TSN机胃实现敷据的请 从传输。一个(S联的一幫为本曙发送的毎个数据块ii序分配一个基于初始TSN的32位顺 序号,以便对常收到时进TSN是基于护的。液 IS 序号 SSN ( Stream Sequence Number)SCTP为本端在这个潼中发送的毎个数据块H序分配一个16位SSN,以便保if潼的

9、顺 序传递。衽假联建立时,所有流中的SSN褂是从0开始。当SSN 81465535后,剧接下 来的SSN为0。TSN和SSN的分配是相互独立的。6.拥塞窗口 CWND ( Conoestion Window )SCTP也是一个滑动窗口 ,捌塞窗口是针对每个目的览址錐护的,它会根据网络 状况调节。当目的堆址的发送未址实消息长figil其CWND时,竭胃葡停止向这个览址发 送8So7.接收窗口 RWND ( Receive Window)RWND用来描述一个(8联对竭的接收媛冲区大小。假联建立垃程中,双方僉交换披ft 的初始RWND。RWND会根据数摒发送、证实的情况即时划变化。RWND的大小限制

10、了 SCTP可以发送的数据的大小。当RWND等于0时,SCTP还可以发送一个数据报,以便 通iiil实消息得知对方缓冲区的变化,直到IS a CWND的限匍。8.传输控 H ft TCB (Transmission Control Block)TCB是一种部数据结构,是一个SCTP漏点为它与其他常点之同巳经启动的每一个假 联生成的。TCB ggS点的所有状态、操作信息,便于维护和管理相瓯的假联。SCTP ft 能如图所示,SCTP的功能主耍包詰:例联的建立和关团、流消息顺序递交.用户数据分 段.证实和邀免JI塞、消息块绑定、分组的有效性和通路管理。流内顺序递交偶联的建立和关闭用户数据分段证实和

11、谨免拥塞数据块绑定分组的有效性通路管理S SCTP功能示意图仁例联的建立利关閒(S联的建立是由SCTP用户(JDM2UA、M3UA等)发起靖*来启动的。而且建立fi 程相对于TCP连接而言比较复杂,是个“皿次提手”过程,并用對了 “COOKIE”的机胃。 COOKIE是一个含有端点初始信息和91密信息的数据块,通信的双方在关联建立时需娶处 理并交换,从而flttftsi的安全性,防止拒鋭股务和伪装等漕在曲攻击。sctp提供了对 ASflS的正常的关闲程序,它必须根据SCTP用户的堵求来执行.当懿SCTP也提桃一 种菲正常(即中止)程序,中止程序的执打质可以根ffiSCTP用户的鎮来来启动,也可

12、以 由SCTP林放检査出差错来中止。SCTP不支持半扌J开狀态(即一常可以在另一甫结東后 址续发送S)o无论是耶个竭点执行了关团程序例联的两第部应停止接受从SCTP用 户发来球求原垮。2、流消息顺序递交SCTP提Staffi报的顺序传递,顺序传連的数据报助须放在一个“ST中传递。潼是K序传1S的基石。通08, sctp稱数据的iUfl传输的有序递交分fit两种不同II So sctp 使用TSN Ji羁实STSffi的确汰传输,使用流号和SSN(S序号)剧实affi的有序递 交。当SCTP收到数据的SSN连续的时候,SCTP聽可以將数据向SCTP用户递交.而 不用等到数摒的TSN号连续以后才f

13、iSCTP用户迪交。当一个蘆被团塞时,期里的下一个连续的SCTP用户消息可以从另外的液上进行递交。 SCTP也提供非顺序递交的业务,接收男的用户消息可以便用这神方衣立即递交到SCTP用 户,而不需娶保证其接收JI序。3s用户数据分段SCTP it it 对传 JSSBlt 大 PMTU ( Path Maximum TransmissiON Unit)的检澳,实现 在SCTP层将超大用户数据分片打內,魅免在IP层的多次分片、重组,可以减少IP层的 数据负担。在发送竭,SCTP可以对大的用户数据报进打分片以爾保SCTP数据报传递到低层时 适合通路 MTU ( Maximum Transmissi

14、on Unit )在按收竭,SCTP稱分片重组为完整的用户数据报,然后传递给SCTP用户。4、 证实和厳免拥塞证实和重传是8证传nJR性的第略,SCTP也一样。证实机制是SCTP保证传 输可靠性的基石。避免册塞(0袭了 TCP的窗口机制,递行合适的潼II控劃。?SCTP在1?数ffi (SS分片或未分片的用户数据报)发送给麻层之前顺序堆为之分配 一个发送Iff# (TSNhTSN和SSN($R序号)是相互独立的,TSN用于保11传输的可靠性,SSN用于保证 流消息的II序传递。TSN和SSN在功能上使可靠传迪和H序传递分开。接收端11实所有收到的TSNs,即 使其中有些尚未收到。內重发功能负贾

15、TSN的证实,还负贡拥塞消険。5、 消息块绑定如果长度很短的用户很大一个SCTP消恩头,其传递效率会很低,因此, SCTP將几个用户数竭绑定在一个SCTP报文里面传输,以提髙带宽的利用率。SCTP分组由公共分组头和一个/多个18息块组成,信息块可以是用户数据,也可以是 SCTP控胃信息。SCTP用户能侈可选堆使用議绑助能,决定是否将多个用户数据报攔绑在一个SCTP分 组中。为提高效率,拥塞/重发时,攔绑助能可能仍彼执行,即便用户巳经禁止H绑。6、 分组的有效性分组的有效性是SCTP提供无差第传输的基石。SCTP分组的公共分组头包含一个验 证标签(VerificATIon Tag )和一个可选的

16、32位校验码(Checksum )。验证标签的值由僧联 两肃在例联启动时选择。如果收男的分组中如果没有期望的骏if标签值,按收幫将丢弃这 个分组,以阻止攻击和失效的SCTP分组。校验玛由SCTP分组的发送方按置,以提供附 10的保护,用来避免由网络造质的数据差策。接收竭将丢弃內含无效的SCTP分组。7s通路管理发送端的SCTP用户能鸟使用一组传送地址作为SCTP分组的目的览。SCTP管理ft 能可以根据SCTP用户的指令和当甫合格的目的堆集合的可这性狀矗,为每个发送的SCTP 分组选择一个目的堆传送览址。当其他分组业务量不能完全表明可迭性时,通路管理功能 可以逋址心践消息来监视對某个目的地堆址

17、的可达性,并当任何对甫传送堆址的可达性发 生变化时.向SCTP用户提通路功能也用来在IS联建立时.向对舞报告合格的本 竭传送堆址集合,并扭从对竭返回的传送堆址报告给本堆的SCTP用户。在假联建立BL 为毎个SCTP is点定义一个首选通路,用来正常情况下发送SCTP分组。在接收常,通路管理功能在处理SCTP分组前,用来動证入同的SCTP分组)8于的fl 联是否存在。SCTP基本信令浦程1例联的建立和发送潼程SCTP常点A启动建立債欢,并向端点B发送一个用户消息,H后箱点B向A发送两 个用户消息。(假定这些消息没有關绑和分段)。信令沆程如图1所示。图1倒坎建立st程消息交互图(1) SSA必建一

18、个数据结构TCB (传输控制块)来越述即将发起的这个假联(包含 基本信息),於后向常点B发gINIT数据块。INIT数据块中主要內詰如下參敬:启动标签(Initiate Tag ):对删证标签,如设为Tag_Ao TajA是All 3 4294967295中 的一个廠机数。输岀浹数量(OS):本靖点期望的最大出局潼的数量。输入SSI (MIS):本常贞允幷入局潼的最大数量。(2)幫点B收S INIT消息后,立即用INITACK 应。INITACK数据块中劫须带有如下参数:目曲堆IP堆址:按置ffilNIT数竭块的起源IP地址。启动标签(Initiate Tag ):按置成Tag_Bo狀态COO

19、KIE ( STATE COOKIE ):根摇例联的基本信息生fij 个TCB,不过这个TCB是 一个W TCBo fi个TCB生成以后,将其中的必要信息(包含一个COOKIE生成的时同戳、 COOKIE的生命期)和一个本端的密钥通过RFC2401描述的算法廿算fit个32 MAC (这种廿算是不可逆的)。功要信息和MAC组合成STATE COOKIE参数。本常点传送堆址。最大入局滝的数量。最大岀局這的数量。(3) SS A 收到 INITACK 后,首先停止 INIT 定 W Jf COOKIE-WAIT 状去,S后发送COOKIE ECHO数据块,稠收到INITACK数据块中的STATE

20、COOKIE参数原封带回。 最后竭点A启动COOKIE定时器并进入COOKIE-ECHOED状态。(4)端点 B 收到 COOKIE ECHO fi 据块后,进 U COOKIE So STATE COOKIE 中的 TCB 部分利本端密钥根ffi RFC2401 MAC算法进打廿算.得出的MAC和STATE COOKIE中携 带的MAC进行比较。如果不同U丢弃这个消息;如果相同,J8取出TCB部分的时间欲, 和当看时间是否巳经讯过T COOKIE的生命期。如果是,同样丢弃。否)1根 ffiTCB中的信息建立一个和端A的例联。端点B務状态旺入ESTABLISHED,并发出COOKIE ACK

21、8据块。竭点B 0SCTP用户发送SMUNCIATION UP通知。(5)端戌A向螺点B发送一个DATA 启3 T3-RTS定时器。DATA数据块中必痕带有如下参数:TSN: DATA数据块的初始TSN。滝标观符(Stream Identifier,:用户于的流,假坦澹标识符为0。隕序鸥(Stream Sequence Number ):所在浦中的用户数据的触序。垓字段从0 S 65535o用户数竭(User Data ):携带用户荷。(6)端点B收SDATA数摇块后, 0 SACK数抿块。SACK数据块中必须带有如下 参数:累积证实TSN标签(CumulativeTSNAck):竭点A的初始

22、TSN。间隔块(Gap Ack Block ):此値为0。甫点A收9 SACK數据块后,停止T3-RTX定时 器。(7)端贞B向端贞A发送第一个DATA数据块。DATA 中必须带有如下参ft:TSN:常贞B发岀DATA 的初始TSN。潼标iR( Stream Identifier ):用户于的流,标观符为0。it隕序雪(Stream Sequence Number ): gj在流中的用户数摒的顺序。序玛为0。用户数霍(User Data ):携带用户数摇曲荷。(8)端点B向端贞A发送第二个DATA败据块。DATA数据块中必须带有如卞参ft:TSN:甫点B发出DATA数摇块的初始TSN + 1。

23、潼标Mff (Stream Identifier ):用户XKfl于的流,标识符为0。汕序 B( Stream Sequence Number): R 在 it 中的用户 序。JltHXK 序玛为 1。用户数Jg ( User Data ):携带用户荷。(9)端胃A收SDATA数据块后, 0 SACK数据块。SACK数据块中必须带有如下 tft:累稅证实TSN标签(Cumulative TSN Ack ):竭点B的初始TSN。同隔块(Gap Ack Block ):比值为0。2例联关BJiS程一个竭点退出IS务时,需要停止它的例联。例联的停止使用Sg:假联的中止 程(非正常关冈)和假联的正常关

24、冈潼程。例联的中止(非正常关ffl) nJ以在任何未完fit 期同进行,IS联的两竭蜀舍弃数据并且不提交到对端。就种方法不考虏数摇曲安全。 的中止步骤比较简单:发起38点向对甫曙点发送ABORT敬据块,发送的SCTP分组中助 须填上对端竭虑的险证标签,而且不在ABORT数据块中搁绑任何DATA数摇;接收端点 收到ABORT 据块后,进行验加标签的检査。如果验证标签与本鶴骏证标签相同,接收 常点从记录上渭除该U联,并向SCTP用户报告例联的停止。例联的正常关团:任何一个端点执fiiE关0)程序时,假联的两58將停止接受从其 SCTP用户发来的新数掘.并且在发送或接收到SHUTDOWN数据块时,J

25、C分组中的数据迪 交SSCTP用户。例联的关血可以保证所有两竭的未发送、发送未证实数据得到发送和证 实后再冥jtflSoErxi point(1) SHUTDOWN w SHUTDOWN ACK SHUTDOWN COMPLETEErxipcMnt A图2備坎正常关团消息交互图例联的正常关团步T:(1)假联关团发起竭点A的SCTP用户BSCTP发送萌求SHUTDOWN原因。SCTP fl 联 U ESTABLISHED 状 Sff A SHUTDOWN-PENDING 状态。在这个状 & SCTP 不接受 SCTP 用户在这个債联上的任何数摒发送JJ求。同Bt等待曙点A所有发送未ii实曲数竭得

26、舅端克 B的证实。当所有幫点A发送未证实数据得男证实!!旬竭胃B发送SHUTDOWN数据块。 常点A启动T2-shutdown定时器进入SHUTDOWN-SENT状态。启3 T2-shutdown定时器 的目的是等待竭贞B发回的SHUTDOWN-ACK数据块,如果定时器超时,剧端点A必须 重新发送SHUTDOWN SSfto(2)常贞B收到SHUTDOWN消息后,进入SHOUTDOWN - RECEIVED状& 不再接收 从SCTP用户发来的的新数据.并且检査SStt的累积TSNACK字段,验证所有未完成的 DATA数据块已经 SHUTDOWN的发送方接收。当常点B所有未发送数据和发送未址实

27、数据得到发送和证实后,发送SHUTDOWN ACK数据块并启动本$ T2-SHUTD0WN定时 器,并且进入SHUTDOWN-ACK-SENT状杏。如果定时器讯时了,端点B JS重新发送 SHUTDOWN ACK 数掘块。(3)鶴点A收到SHUTDOWN ACK消息后,停止T2-shutdown定时器,并且向期点B发 送SHUTDOWN PLETE数据块,并清除例联的所有圮录。常点B收到SHUTDOWN PLFE 9 据块后,吻证是否处于SHUTDOWN-ACK-SENT状态。如果不是处于垓状奈,剧丢弃该数 据块;如果常点处于SHUTDOWN-ACK-SENT状态端点B则停止T2-shutdown定时器 并清除例联的所有记录,进入CLOSED狀态。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2