一种流控制传输协议状态迁移的方法

文档序号:7690893阅读:105来源:国知局
专利名称:一种流控制传输协议状态迁移的方法
技术领域
本发明涉及通讯电路交换网络与IP网络融合技术领域,尤其涉及一种SCTP ( Stream Control Transmission Protocol,流控制传输协i义)状态迁移的 方法。
背景技术
随着IP网络技术的逐步成熟,出现了在IP网络上传输七号信令等电路 交换信令协议的需求。为了满足在IP网络上传输信令协议的需求,正TF (Internet Engineering Task Force ,因特网工程任务组)网络工作组成立了专 门的信令传输小组,他们所制订的IP网络信令传输协议(SIGTRAN协议)支 持通过IP网络传输传统电路交换信令。2000年IETF工作组正式发布了 SCTP 协议(最新协议见RFC (Request For Comments,请求注解)4960),这样, 利用SCTP,用户平面和控制平面上的业务流都能在单一的I P网上传输。 SCTP是一个面向连接的传输层协议,采用了类似TCP的流量控制和拥塞控 制算法,通过自身的证实与重发机制来保证用户数据在两个SCTP端点间可 靠传送。相对于TCP等其他传输协议,SCTP传输时延小,可避免某些大数 据对其他数据的阻塞,具有更高的可靠性和安全性。结合附图1可以看出,SCTP最初是被设计用于在IP上传输7号信令 系统(SS7),把SS7信令网络的一些可靠特性引入IP。底层协议栈都是 SCTP/IP,为高层信令提供校验、重传等服务,尽量减少底层IP网络对于高 层信令的影响。附图1中M2PA (其中M2PA是MTP2 (消息传递部分第二 级)对等适配层)、M2UA (其中M2UA是MTP2 (消息传递部分第二级) 用户适配层)、M3UA (其中M3UA是MTP3 (消息传递部分第三级)用户 适配层)、SUA(其中SUA是SCCP (信令连接控制部分)用户适配层)、IUA (其中IUA是ISDN (综合业务数字网络)用户适配层)和V5UA (其中V5UA是V5.2用户适配层)都属于SCTP服务的上层用户,这几种用户就 是本发明中所描述的SCTP服务的上层用户。这些用户的其他上层用户协议 (如MTP3, TACP, Q.931和V5.2等)不属于本发明的内容,所以不做 说明,这个图只说明SCTP在SIGTRAN协议栈中所处的位置。附图2中是SHUTDOWN的消息流程图,(其中SHUTDOWN是SCTP 一种关闭偶联的原语,SCTP服务的上层用户用此原语优雅关闭偶联)。图 中SCTP用户代表的就是A端SCTP服务的上层用户。当A端SCTP接收到 服务的上层用户发送的SHUTDOWN请求后,立即将SCTP偶联状态迁移到 SHUTDOWN-PENDING状态(其中SHUTDOWN-PENDING状态是SCTP 优雅关闭过程中的一种状态,当SCTP收到SCTP服务的上层用户发送的 SHUTDOWN后,SCTP首先将偶联状态迁移为该状态,直到本端所有要发 送的数据完全发送到对端,该状态才会发生变化),然后查看本端发送緩存 中是否还有数据,如果有就发送,超时没有收到B端应答将会重传这些数 据,直到将所有的数据成功(所有发送的数据都收到对端的应答)的发送到 对端(附图中的B端),才会向B端发送SHUTDOWN消息,此时状态才 会迁移到SHUTDOWN-SENT状态(其中SHUTDOWN-SENT是SCTP优雅 关闭过程中的一种状态。当SCTP向对端SCTP发送SHUTDOWN后迁移到 该状态,然后等待对端SCTP对此原语进行应答)。所以结合附图2和协议规范RFC4960可以看出,如果本端SCTP收到 上层用户的SHUTDOWN原语请求关闭偶联,本端SCTP进入 SHUTDOWN-PENDING状态。根据目前协议的规定,当发送緩存有数据时, 需要将这些数据全部成功发送到对端,只要有数据没有成功发送,本端SCTP 就一直维持在SHUTDOWN-PENDING状态,那么一旦出现数据长时间发送 不成功的时候(比如对端的接收窗口很小时),该本端SCTP的偶联永远不 能够使用。为了解决这一问题,本发明提出,当进入SHUTDOWN-PENDING 后,如果发送缓存有数据要发送,就按照顺序发送这些数据,如果在规定的 时间内没有收到对端的回应就重传这些数据,当重传次数超过数据最大重传 次数就应该立刻终止该偶联。当本端SCTP收到上层用户的SHUTDOWN请 求关闭偶联时,如果有数据要发送到对端SCTP,且对端SCTP接收緩存小或者其他因素导致数据很长时间无法发送成功时,当前需要一种技术方案可以保证本端SCTP尽快能进入服务态,从而有效地解决偶联长时间不能使用 的问题。发明内容本发明所要解决的技术问题是提供一种流控制传输协议状态迁移的方 法,解决了当本端SCTP收到上层用户的SHUTDOWN请求关闭偶联时,如 果有数据要发送到对端SCTP,且对端SCTP接收緩存小或者其他因素导致 数据很长时间无法发送成功时,使该偶联能够很快地再次投入使用的问题。为了解决上述问题,本发明提供了 一种流控制传输协议状态迁移的方 法,包括以下步骤,本端流控制传输协议SCTP偶联进入SHUTDOWN-PENDING状态后, 本端SCTP判断发送緩存中有未发送数据且对端SCTP的接收窗口大于等于 当前第一个未发送数据的长度,则本端SCTP向对端SCTP发送第一个未发 送的数据,启动等待应答定时器Ta;当等待应答定时器Ta超时,如果本端 SCTP没有收到对端SCTP的应答,则关闭SCTP偶联。进一步地,上述方法还可包括,所述方法具体分为以下步骤,步骤100、本端SCTP收到上层用户的SHUTDOWN原语后,偶联进入 SHUTDOWN-PENDING状态;步骤IIO、本端SCTP检查发送緩存中是否有未发送数据,如果是,则 执行步骤120;步骤120、本端SCTP判断对端SCTP的接收窗口的大小是否大于等于 当前发送緩存中第一个未发送数据的长度,如果是,则执行步骤130;步骤130、本端SCTP向对端发送所述发送緩存中的第一个未发送的数 据,同时标记该数据为已发送,将对端SCTP接收窗口调整为减去本次发送 数据的长度的大小,将发送探测报文次数清O,启动等待应答定时器Ta;步骤131、如果等待应答定时器Ta没有超时,且本端SCTP的所有数据 收到对端SCTP的应答,则本端SCTP删除发送緩存中已经收到对端应答的数据,将数据重传次数清O,同时取消等待应答定时器Ta,向对端SCTP发 送SHUTDOWN,同时本端SCTP状态迁移至SHUTDOWN-SENT;当等待 应答定时器Ta超时,如果本端SCTP没有收到对端SCTP的应答,则关闭 SCTP偶联。进一步地,上述方法还可包括,所述步骤131中,如果等待应答定时器 Ta超时,则还包括以下步骤,本端SCTP判断数据重传次数是否小于或等于数据最大重传次数,如果 其小于数据最大重传次数,则本端SCTP设置发送緩存中的所有数据为未发 送,同时数据重传次数加l,执行步骤110;如果其等于数据最大重传次数, 则本端SCTP关闭偶联,向上层用户上报偶联断链,向对端SCTP发送 ABORT,同时本端SCTP状态迁移至CLOSED。进一步地,上述方法还可包括,当本端SCTP判断如果发送緩存中有未 发送数据且对端SCTP的接收窗口小于当前第一个未发送数据的长度,则包 括以下步骤,步骤150、本端SCTP发送探测报文,该报文为发送缓存中第一个标记 为未发送的数据,启动等待探测报文发送定时器Tw,同时将发送探测报文 次数加l,如果等待应答定时器Ta正在运行,则取消等待应答定时器Ta的 运行,如果等待探测报文发送定时器Tw没有超时前,本端SCTP收到对端 SCTP的应答报文,则执行步骤152;步骤152、本端SCTP根据选择指令确认SACK中的传输序列号TSN和 接收窗口,判断收到对端SCTP的TSN等于或者大于发送緩存中第一个标 记为未发送的数据的TSN,并且应答报文中的接收窗口大于或者等于发送緩 存中第一个标记为未发送的数据的长度,则删除发送緩存中数据的TSN等 于接收SACK中的TSN的数据和该数据之前的所有数据,同时设置发送緩 存中剩余的所有数据为未发送,取消等待探测报文发送定时器Tw的运行, 同时将发送探测报文次数清0,执行步骤120。进一步地,上述方法还可包括,所述步骤150中,如果等待探测报文发 送定时器Tw没有超时前,本端SCTP没有收到对端SCTP的应答报文,则 包4舌以下步骤,如果等待探测报文发送定时器Tw超时后,本端SCTP还没有收到对端 的应答报文或者收到错误的应答,则本端SCTP判断发送探测报文次数是否 小于最大发送探测报文次数,如果是,则执行步骤150,否则,本端SCTP 关闭偶联,向上层用户上报偶联断链,向对端SCTP发送ABORT,同时本 端SCTP状态迁移至CLOSED。进一步地,上述方法还可包括,所述步骤110中,如果本端SCTP检查 发送緩存中没有未发送数据,则本端SCTP检查是否有标记为已发送的数据, 如果没有,则向对端SCTP发送ABORT,同时本端SCTP状态迁移至 CLOSED;如果有标记为已发送的数据,则执行步骤131。进一步地,上述方法还可包括,所述等待应答定时器Ta,确定在某一 规定时间内发送到对端SCTP的数据是否及时收到应答,发送数据后启动定 时,收到应答后取消定时,等待应答定时器Ta的时长取值范围为500ms— 2000ms;所述数据最大重传次数,是指当等待应答定时器Ta超时后,再次发送 数据,如果发送次数超过数据重传最大次数,需要关闭偶联;其中,数据重 传最大次数取值包括5次;所述等待探测报文发送定时器Tw,当对端SCTP的接收窗口变的很小 而不足以发送数据时,启动定时,当发送数据时取消定时,时长进行配置并 动态调整,等待探测报文发送定时器Tw的时长取值范围为100ms—500ms;所述最大发送探测报文次数,是指当发送探测报文次数等于最大发送探 测报文次数时,说明对端SCTP出现故障,没有能力接收,需要关闭偶联, 其中,最大发送探测报文次数取值包括5次。进一步地,上述方法还可包括,数据重传次数和发送探测报文次数不清 0,或者数据重传次数和发送探测报文次数为累计次数;或者数据重传次数 和发送探测报文次数不进行重传,只要所述等待应答定时器Ta和/或等待探 测报文发送定时器Tw到时,本端SCTP没有收到对端SCTP的应答,则本 端SCTP关闭SCTP偶联。进一步地,上述方法还可包括,所述接收窗口,是指对端SCTP接收緩存剩余空间大小,由数据应答携带;所述探测报文,是指当对端SCTP的接收窗口变的很小而不足以发送数与现有技术相比,应用本发明,解决了当本端SCTP收到上层用户的 SHUTDOWN请求关闭偶联时,如果有数据要发送到对端SCTP,且对端 SCTP接收緩存小或者其他因素导致数据很长时间无法发送成功时,使该偶 联能够很快地再次投入使用的问题。


图1是本端SCTP在SIGTRAN协议栈中所处位置结构示意图;图2是本端SCTP收到上层用户SHUTDOWN时关闭偶联的状态图;图3是本发明的一种流控制传输协议状态迁移的方法的流程图。
具体实施方式
下面结合附图和具体实施方式
对本发明作进一步说明。如图3所示,本发明的一种流控制传输协议状态迁移的方法,包括以下 步骤,步骤100、本端SCTP收到上层用户的SHUTDOWN原语后,偶耳关进入 SHUTDOWN-PENDING状态;步骤IIO、本端SCTP检查发送緩存中是否有未发送数据,如果是,则 执行步骤120;否则,执行步骤170;步骤120、本端SCTP判断对端SCTP的接收窗口是否大于等于当前发 送緩存中第一个未发送数据的长度,如果是,则执行步骤130,否则,执行 步骤150;接收窗口指的是对端SCTP接收緩存剩余空间大小,由数据应答携带。步骤130、本端SCTP向对端发送所述发送緩存中的第一个未发送的数 据,同时标记该数据为已发送,将对端SCTP接收窗口调整为减去本次发送数据的长度的大小,将发送探测报文次数清O,启动等待应答定时器Ta;等待应答定时器Ta,用于确定在某一规定时间内发送到对端SCTP的数 据是否及时收到应答,发送数据后启动定时,收到应答后取消定时器Ta, 时长可以进配置并可以动态调整,时长可以取值为500ms—2000ms。步骤131、如果定时器Ta没有超时,则执行步骤132;否则,执行步骤140;步骤132、如果本端SCTP收到对端SCTP的应答,则执行步骤135; 否则执行步骤110;步骤135、本端SCTP删除发送緩存中已经收到对端应答的数据,将数 据重传次数清O,同时取消定时器Ta的运行,执行步骤160;步骤140、本端SCTP判断数据重传次数是否小于或等于数据最大重传 次数(其中数据最大重传次数可以是Max.Data.Retran),如果其小于数据最 大重传次数,则执行步骤145;如果其等于数据最大重传次数,则执行步骤 160;数据最大重传次数,是指当等待应答定时器Ta超时后,再次发送数据, 如果发送次数超过数据重传最大次数,需要关闭偶联,数据重传最大次数可 以进行配置并可以动态调整,可以取值为5次。步骤145、本端SCTP设置发送緩存中的所有数据为未发送,同时数据 重传次数加1,执4亍步骤110;步骤150、本端SCTP发送探测报文,该报文为发送緩存中第一个标记 为未发送的数据,启动等待探测报文发送定时器Tw,同时将发送探测报文 次数加l,如果Ta运行则取消Ta,如果定时器Tw没有超时前,本端SCTP 收到对端SCTP的应 良文,则执行步骤152;否则,执行步骤155;探测报文,是指当对端SCTP的接收窗口变的很小而不足以发送数据时, 使用探测报文检测对端SCTP是否可以接收本端SCTP发送的数据。等待探测报文发送定时器Tw,用于当对端SCTP的接收窗口变的很小 而不足以发送数据时,启动定时器Tw,当可以发送数据时取消定时器Tw, 时长可以进行配置并可以动态调整,时长可以取值范围为100ms—500ms。步骤152、本端SCTP根据SACK(Selective Acknowledgement,选择指 令确认)中的TSN ( Transmission Sequence Number,传输序列号)和a—rwnd, 判断收到对端SCTP的TSN等于或者大于发送緩存中第一个标记为未发送 的数据的TSN,并且应答报文中的接收窗口 (a_rwnd)大于或者等于发送緩 存中第一个标记为未发送的数据的长度,则删除发送緩存中数据的TSN等 于接收SACK中的TSN的数据和该数据之前的所有数据,同时设置发送緩 存中剩余的所有数据为未发送,取消Tw的运行,同时将发送探测报文次数 清O,执行步骤120;步骤155.如果Tw超时后,本端SCTP还没有收到对端的应答报文或 者收到错误的应答,则本端SCTP判断发送探测报文次数是否小于最大发送 探测报文次数(其中最大发送探测报文次数可以是Max.Probe.Retran),如 果是,则执行步骤150,否则执行步骤160;最大发送探测报文次数,是指当发送探测报文次数等于最大发送探测报 文次数时,说明对端SCTP出现故障,没有能力接收,需要关闭偶联,最大 发送探测报文次数可以进行配置并可以动态调整,可以取值为5次。步骤160、本端SCTP关闭偶联,向上层用户上报偶联断链,向对端SCTP 发送ABORT,同时本端SCTP状态迁移至CLOSED状态,结束流程;步骤170、本端SCTP检查是否有标记为已发送的数据,如果没有,则 本端SCTP向对端SCTP发送SHUTDOWN,同时本端SCTP状态迁移至 SHUTDOWN-SENT,结束流程;如果有标记为已发送的数据,则执行步骤 131。本方法在SHUTDOWN关闭偶联时尽可能保证数据能安全传输到对端 SCTP,如果想使SCTP偶联快速被再次使用,本方法可以演变为数据重传 次数和发送探测报文次数不清0,或者数据重传次数和发送探测报文次数为 累计次数;或者数据重传次数和发送探测报文次数不进行重传,只要所述等 待应答定时器Ta和/或等待探测报文发送定时器Tw到时,本端SCTP没有 收到对端SCTP的应答,则本端SCTP关闭SCTP偶联,其中可以根据实际 环境自行调整。下面结合具体实例对本发明作进一步说明。本发明的 一种流控制传输协议状态迁移的方法,其数据处理方法流程如下步骤1:当本端SCTP收到SCTP服务的上层用户发送的SHUTDOWN 关闭偶联;步骤2:本端SCTP首先迁移状态为SHUTDOWN-PENDING;步骤3:本端SCTP判断自己发送緩存中是否有数据发送;步骤4:如果步骤3中没有数据,而且也没有标记为已发送的数据,本端 SCTP向对端SCTP发送SHUTDOWN原语,同时自己状态迁移至 SHUTDOWN-SENT;如果有标记为已发送的数据,然后等待Ta到时,Ta到 时后判断数据重传次数DataRetranNum是否大于或者等于最大重传次数 Max.Data.Retran,如果大于或者等于最大重传次数Max.Data.Retran,则本端 SCTP向对端SCTP发送ABORT,向上层用户发送SHUTDOWN ACK,关 闭偶联,如果小于最大重传次数Max.Data.Retmn,则执行步骤3;步骤5:如果步骤3中发送緩存中有数据,假定有数据Dl (TSN=1,长 度=100) , D2 (TSN=2,长度=200) , D3 (TSN=3,长度=300)等待发送, 那么还需要判断对端接收窗口是否大于本次发送的数据长度100;步骤6:如果步骤5中对端SCTP接收窗口是否大于或者等于本次发送 的数据长度,假设本次要发送的数据为Dl,发送数据D1,标记D1为已发 送,启动定时器Ta (假设为ls),同时继续步骤3;步骤7:如果步骤5中对端SCTP接收窗口小于本次发送的数据长度, 假设D1为本次要发送的探测数据,发送数据D1,那么启动定时器Tw(假 设为200ms),设置发送探测报文次数ProbeNum加1;步骤8:如果步骤6种设置的定时器Ta到时,判断在ls之内是否收到 对端的应答;步骤9:根据步骤8的结果,如果没有收到对端SCTP的应答,判断数 据重传次数DataRetranNum是否大于或者等于最大重传次数 Max.Data.Retran;步骤10:根据步骤9的结果,当数据重传次数DataRetranNum大于或者等于最大重传次数Max.Data.Retran,本端SCTP向对端SCTP发送 ABORT,向上层用户发送SHUTDOWN ACK (SHUTDOWN ACK是本端 SCTP优雅关闭偶联后向上层用户应答的一种原语,本端SCTP用此原语对 SCTP服务的上层用户发起的SHUTDOWN进行应答),关闭偶联;如果数 据重传次数小于最大重传次数Max.Data.Retran,那么数据重传次数 DataRetranNum力q 1 ,继续执行步骤3;步骤ll:根据步骤8的结果,如果收到对端SCTP的SACK,假设TSN Ack=l, a—rwnd=300,设置DataRetranNum=0,删除发送緩存中的Dl,继续 执行步骤3;步骤12:根据步骤7中Tw运行情况,当Tw到时后,如果收到对端SCTP 的应答SACK,假设TSNAck4, a—rwnd=300,设置ProbeNum=0,删除发 送緩存中的Dl,继续执行步骤3;如果收到对端SCTP的应答SACK,假设 TSNAck=0, a—rwnd=50,或者Tw到时后,没有收到对端SCTP任何回应, 判断发送探测报文次数ProbeNum是否大于或者等于最大探测报文次数 Max.Probe.Retran;步骤13:如果步骤12中发送探测报文次数ProbeNum大于或者等于最 大探测报文次数Max.Probe.Retran,本端SCTP向对端SCTP发送ABORT, 向上层用户发送SHUTDOWN ACK,关闭偶联;如果发送探测报文次数 ProbeNum小于最大探测报文次数Max.Probe.Retran,那么继续执行步骤7。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不 局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到 的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范 围应该以权利要求的保护范围为准。
权利要求
1、一种流控制传输协议状态迁移的方法,包括以下步骤,本端流控制传输协议SCTP偶联进入SHUTDOWN-PENDING状态后,本端SCTP判断发送缓存中有未发送数据且对端SCTP的接收窗口大于等于当前第一个未发送数据的长度,则本端SCTP向对端SCTP发送第一个未发送的数据,启动等待应答定时器Ta;当等待应答定时器Ta超时,如果本端SCTP没有收到对端SCTP的应答,则关闭SCTP偶联。
2、 如权利要求l所述的方法,其特征在于, 所述方法具体分为以下步骤,步骤100、本端SCTP收到上层用户的SHUTDOWN原语后,偶联进入 SHUTDOWN-PENDING状态;步骤IIO、本端SCTP检查发送緩存中是否有未发送数据,如果是,则 执行步骤120;步骤120、本端SCTP判断对端SCTP的接收窗口的大小是否大于等于 当前发送緩存中第一个未发送数据的长度,如果是,则执行步骤130;步骤130、本端SCTP向对端发送所述发送緩存中的第一个未发送的数 据,同时标记该数据为已发送,将对端SCTP接收窗口调整为减去本次发送 数据的长度的大小,将发送探测报文次数清O,启动等待应答定时器Ta;步骤131、如果等待应答定时器Ta没有超时,且本端SCTP的所有数据 收到对端SCTP的应答,则本端SCTP删除发送緩存中已经收到对端应答的 数据,将数据重传次数清O,同时取消等待应答定时器Ta,向对端SCTP发 送SHUTDOWN,同时本端SCTP状态迁移至SHUTDOWN-SENT;当等待 应答定时器Ta超时,如果本端SCTP没有收到对端SCTP的应答,则关闭 SCTP偶联。
3、 如权利要求2所述的方法,其特征在于,所述步骤131中,如果等待应答定时器Ta超时,则还包括以下步骤, 本端SCTP判断数据重传次数是否小于或等于数据最大重传次数,如果其小于数据最大重传次数,则本端SCTP设置发送缓存中的所有数据为未发 送,同时数据重传次数加l,执行步骤110;如果其等于数据最大重传次数, 则本端SCTP关闭偶联,向上层用户上报偶联断链,向对端SCTP发送 ABORT,同时本端SCTP状态迁移至CLOSED。
4、 如权利要求2所述的方法,其特征在于,当本端SCTP判断如果发送緩存中有未发送数据且对端SCTP的接收窗 口小于当前第一个未发送数据的长度,则包括以下步骤,步骤150、本端SCTP发送探测报文,该报文为发送緩存中第一个标记 为未发送的数据,启动等待探测报文发送定时器Tw,同时将发送探测报文 次数加l,如果等待应答定时器Ta正在运行,则取消等待应答定时器Ta的 运行,如果等待探测报文发送定时器Tw没有超时前,本端SCTP收到对端 SCTP的应答报文,则执行步骤152;步骤152、本端SCTP根据选择指令确认SACK中的传输序列号TSN和 接收窗口,判断收到对端SCTP的TSN等于或者大于发送緩存中第一个标 记为未发送的数据的TSN,并且应答报文中的接收窗口大于或者等于发送緩 存中第一个标记为未发送的数据的长度,则删除发送緩存中数据的TSN等 于接收SACK中的TSN的数据和该数据之前的所有数据,同时设置发送緩 存中剩余的所有数据为未发送,取消等待探测报文发送定时器Tw的运行, 同时将发送探测报文次数清O,执行步骤120。
5、 如权利要求4所述的方法,其特征在于,所述步骤150中,如果等待探测报文发送定时器Tw没有超时前,本端 SCTP没有收到对端SCTP的应答报文,则包括以下步骤,如果等待探测报文发送定时器Tw超时后,本端SCTP还没有收到对端 的应答报文或者收到错误的应答,则本端SCTP判断发送探测报文次数是否 小于最大发送探测报文次数,如果是,则执行步骤150,否则,本端SCTP 关闭偶联,向上层用户上报偶联断链,向对端SCTP发送ABORT,同时本 端SCTP状态迁移至CLOSED。
6、 如权利要求2所述的方法,其特征在于,所述步骤110中,如果本端SCTP检查发送緩存中没有未发送数据,则 本端SCTP检查是否有标记为已发送的数据,如果没有,则向对端SCTP发 送ABORT,同时本端SCTP状态迁移至CLOSED;如果有标记为已发送的 数据,则执行步骤131。
7、 如权利要求2所述的方法,其特征在于,所述等待应答定时器Ta,确定在某一规定时间内发送到对端SCTP的数 据是否及时收到应答,发送数据后启动定时,收到应答后取消定时,等待应 答定时器Ta的时长耳又值范围为500ms—2000ms;所述数据最大重传次数,是指当等待应答定时器Ta超时后,再次发送 数据,如果发送次数超过数据重传最大次数,需要关闭偶联;其中,数据重 传最大次数取值包括5次;所述等待探测报文发送定时器Tw,当对端SCTP的接收窗口变的很小 而不足以发送数据时,启动定时,当发送数据时取消定时,时长进行配置并 动态调整,等待探测报文发送定时器Tw的时长取值范围为100ms—500ms;所述最大发送探测报文次数,是指当发送探测报文次数等于最大发送探 测报文次数时,说明对端SCTP出现故障,没有能力接收,需要关闭偶联, 其中,最大发送探测报文次数取值包括5次。
8、 如权利要求2所述的方法,其特征在于, 本方法进一步包括,数据重传次数和发送探测报文次数不清0,或者数据重传次数和发送探 测报文次数为累计次数;或者数据重传次数和发送探测报文次数不进行重 传,只要所述等待应答定时器Ta和/或等待探测报文发送定时器Tw到时, 本端SCTP没有收到对端SCTP的应答,则本端SCTP关闭SCTP偶联。
9、 如权利要求7所述的方法,其特征在于,所述接收窗口,是指对端SCTP接收緩存剩余空间大小,由数据应答携带;所述探测报文,是指当对端SCTP的接收窗口变的很小而不足以发送数 据时,通过探测报文检测对端SCTP是否接收本端SCTP发送的数据。
全文摘要
本发明公开了一种流控制传输协议状态迁移的方法,包括,本端SCTP偶联进入SHUTDOWN-PENDING状态后,本端SCTP判断发送缓存中有未发送数据且对端SCTP的接收窗口大于等于当前第一个未发送数据的长度,则本端SCTP向对端SCTP发送第一个未发送的数据,启动等待应答定时器Ta;当等待应答定时器Ta超时,如果本端SCTP没有收到对端SCTP的应答,则关闭SCTP偶联。应用本发明,解决了当本端SCTP收到上层用户的SHUTDOWN请求关闭偶联时,如果有数据要发送到对端SCTP,且对端SCTP接收缓存小或者其他因素导致数据很长时间无法发送成功时,使该偶联能够很快地再次投入使用的问题。
文档编号H04L12/56GK101262437SQ20081009029
公开日2008年9月10日 申请日期2008年4月17日 优先权日2008年4月17日
发明者张坤左, 梁庆永, 科 王 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1