CN101262437A - 一种流控制传输协议状态迁移的方法 - Google Patents
一种流控制传输协议状态迁移的方法 Download PDFInfo
- Publication number
- CN101262437A CN101262437A CN200810090293.1A CN200810090293A CN101262437A CN 101262437 A CN101262437 A CN 101262437A CN 200810090293 A CN200810090293 A CN 200810090293A CN 101262437 A CN101262437 A CN 101262437A
- Authority
- CN
- China
- Prior art keywords
- sctp
- data
- send
- local terminal
- opposite end
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种流控制传输协议状态迁移的方法,包括,本端SCTP偶联进入SHUTDOWN-PENDING状态后,本端SCTP判断发送缓存中有未发送数据且对端SCTP的接收窗口大于等于当前第一个未发送数据的长度,则本端SCTP向对端SCTP发送第一个未发送的数据,启动等待应答定时器Ta;当等待应答定时器Ta超时,如果本端SCTP没有收到对端SCTP的应答,则关闭SCTP偶联。应用本发明,解决了当本端SCTP收到上层用户的SHUTDOWN请求关闭偶联时,如果有数据要发送到对端SCTP,且对端SCTP接收缓存小或者其他因素导致数据很长时间无法发送成功时,使该偶联能够很快地再次投入使用的问题。
Description
技术领域
本发明涉及通讯电路交换网络与IP网络融合技术领域,尤其涉及一种SCTP(Stream Control Transmission Protocol,流控制传输协议)状态迁移的方法。
背景技术
随着IP网络技术的逐步成熟,出现了在IP网络上传输七号信令等电路交换信令协议的需求。为了满足在IP网络上传输信令协议的需求,IETF(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状态;
步骤110、本端SCTP检查发送缓存中是否有未发送数据,如果是,则执行步骤120;
步骤120、本端SCTP判断对端SCTP的接收窗口的大小是否大于等于当前发送缓存中第一个未发送数据的长度,如果是,则执行步骤130;
步骤130、本端SCTP向对端发送所述发送缓存中的第一个未发送的数据,同时标记该数据为已发送,将对端SCTP接收窗口调整为减去本次发送数据的长度的大小,将发送探测报文次数清0,启动等待应答定时器Ta;
步骤131、如果等待应答定时器Ta没有超时,且本端SCTP的所有数据收到对端SCTP的应答,则本端SCTP删除发送缓存中已经收到对端应答的数据,将数据重传次数清0,同时取消等待应答定时器Ta,向对端SCTP发送SHUTDOWN,同时本端SCTP状态迁移至SHUTDOWN-SENT;当等待应答定时器Ta超时,如果本端SCTP没有收到对端SCTP的应答,则关闭SCTP偶联。
进一步地,上述方法还可包括,所述步骤131中,如果等待应答定时器Ta超时,则还包括以下步骤,
本端SCTP判断数据重传次数是否小于或等于数据最大重传次数,如果其小于数据最大重传次数,则本端SCTP设置发送缓存中的所有数据为未发送,同时数据重传次数加1,执行步骤110;如果其等于数据最大重传次数,则本端SCTP关闭偶联,向上层用户上报偶联断链,向对端SCTP发送ABORT,同时本端SCTP状态迁移至CLOSED。
进一步地,上述方法还可包括,当本端SCTP判断如果发送缓存中有未发送数据且对端SCTP的接收窗口小于当前第一个未发送数据的长度,则包括以下步骤,
步骤150、本端SCTP发送探测报文,该报文为发送缓存中第一个标记为未发送的数据,启动等待探测报文发送定时器Tw,同时将发送探测报文次数加1,如果等待应答定时器Ta正在运行,则取消等待应答定时器Ta的运行,如果等待探测报文发送定时器Tw没有超时前,本端SCTP收到对端SCTP的应答报文,则执行步骤152;
步骤152、本端SCTP根据选择指令确认SACK中的传输序列号TSN和接收窗口,判断收到对端SCTP的TSN等于或者大于发送缓存中第一个标记为未发送的数据的TSN,并且应答报文中的接收窗口大于或者等于发送缓存中第一个标记为未发送的数据的长度,则删除发送缓存中数据的TSN等于接收SACK中的TSN的数据和该数据之前的所有数据,同时设置发送缓存中剩余的所有数据为未发送,取消等待探测报文发送定时器Tw的运行,同时将发送探测报文次数清0,执行步骤120。
进一步地,上述方法还可包括,所述步骤150中,如果等待探测报文发送定时器Tw没有超时前,本端SCTP没有收到对端SCTP的应答报文,则包括以下步骤,
如果等待探测报文发送定时器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是否接收本端SCTP发送的数据。
与现有技术相比,应用本发明,解决了当本端SCTP收到上层用户的SHUTDOWN请求关闭偶联时,如果有数据要发送到对端SCTP,且对端SCTP接收缓存小或者其他因素导致数据很长时间无法发送成功时,使该偶联能够很快地再次投入使用的问题。
附图说明
图1是本端SCTP在SIGTRAN协议栈中所处位置结构示意图;
图2是本端SCTP收到上层用户SHUTDOWN时关闭偶联的状态图;
图3是本发明的一种流控制传输协议状态迁移的方法的流程图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步说明。
如图3所示,本发明的一种流控制传输协议状态迁移的方法,包括以下步骤,
步骤100、本端SCTP收到上层用户的SHUTDOWN原语后,偶联进入SHUTDOWN-PENDING状态;
步骤110、本端SCTP检查发送缓存中是否有未发送数据,如果是,则执行步骤120;否则,执行步骤170;
步骤120、本端SCTP判断对端SCTP的接收窗口是否大于等于当前发送缓存中第一个未发送数据的长度,如果是,则执行步骤130,否则,执行步骤150;
接收窗口指的是对端SCTP接收缓存剩余空间大小,由数据应答携带。
步骤130、本端SCTP向对端发送所述发送缓存中的第一个未发送的数据,同时标记该数据为已发送,将对端SCTP接收窗口调整为减去本次发送数据的长度的大小,将发送探测报文次数清0,启动等待应答定时器Ta;
等待应答定时器Ta,用于确定在某一规定时间内发送到对端SCTP的数据是否及时收到应答,发送数据后启动定时,收到应答后取消定时器Ta,时长可以进行配置并可以动态调整,时长可以取值为500ms-2000ms。
步骤131、如果定时器Ta没有超时,则执行步骤132;否则,执行步骤140;
步骤132、如果本端SCTP收到对端SCTP的应答,则执行步骤135;否则执行步骤110;
步骤135、本端SCTP删除发送缓存中已经收到对端应答的数据,将数据重传次数清0,同时取消定时器Ta的运行,执行步骤160;
步骤140、本端SCTP判断数据重传次数是否小于或等于数据最大重传次数(其中数据最大重传次数可以是Max.Data.Retran),如果其小于数据最大重传次数,则执行步骤145;如果其等于数据最大重传次数,则执行步骤160;
数据最大重传次数,是指当等待应答定时器Ta超时后,再次发送数据,如果发送次数超过数据重传最大次数,需要关闭偶联,数据重传最大次数可以进行配置并可以动态调整,可以取值为5次。
步骤145、本端SCTP设置发送缓存中的所有数据为未发送,同时数据重传次数加1,执行步骤110;
步骤150、本端SCTP发送探测报文,该报文为发送缓存中第一个标记为未发送的数据,启动等待探测报文发送定时器Tw,同时将发送探测报文次数加1,如果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的运行,同时将发送探测报文次数清0,执行步骤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.Retran,则执行步骤3;
步骤5:如果步骤3中发送缓存中有数据,假定有数据D1(TSN=1,长度=100),D2(TSN=2,长度=200),D3(TSN=3,长度=300)等待发送,那么还需要判断对端接收窗口是否大于本次发送的数据长度100;
步骤6:如果步骤5中对端SCTP接收窗口是否大于或者等于本次发送的数据长度,假设本次要发送的数据为D1,发送数据D1,标记D1为已发送,启动定时器Ta(假设为1s),同时继续步骤3;
步骤7:如果步骤5中对端SCTP接收窗口小于本次发送的数据长度,假设D1为本次要发送的探测数据,发送数据D1,那么启动定时器Tw(假设为200ms),设置发送探测报文次数ProbeNum加1;
步骤8:如果步骤6种设置的定时器Ta到时,判断在1s之内是否收到对端的应答;
步骤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加1,继续执行步骤3;
步骤11:根据步骤8的结果,如果收到对端SCTP的SACK,假设TSNAck=1,a_rwnd=300,设置DataRetranNum=0,删除发送缓存中的D1,继续执行步骤3;
步骤12:根据步骤7中Tw运行情况,当Tw到时后,如果收到对端SCTP的应答SACK,假设TSN Ack=1,a_rwnd=300,设置ProbeNum=0,删除发送缓存中的D1,继续执行步骤3;如果收到对端SCTP的应答SACK,假设TSN Ack=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。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (9)
1、一种流控制传输协议状态迁移的方法,包括以下步骤,
本端流控制传输协议SCTP偶联进入SHUTDOWN-PENDING状态后,本端SCTP判断发送缓存中有未发送数据且对端SCTP的接收窗口大于等于当前第一个未发送数据的长度,则本端SCTP向对端SCTP发送第一个未发送的数据,启动等待应答定时器Ta;当等待应答定时器Ta超时,如果本端SCTP没有收到对端SCTP的应答,则关闭SCTP偶联。
2、如权利要求1所述的方法,其特征在于,
所述方法具体分为以下步骤,
步骤100、本端SCTP收到上层用户的SHUTDOWN原语后,偶联进入SHUTDOWN-PENDING状态;
步骤110、本端SCTP检查发送缓存中是否有未发送数据,如果是,则执行步骤120;
步骤120、本端SCTP判断对端SCTP的接收窗口的大小是否大于等于当前发送缓存中第一个未发送数据的长度,如果是,则执行步骤130;
步骤130、本端SCTP向对端发送所述发送缓存中的第一个未发送的数据,同时标记该数据为已发送,将对端SCTP接收窗口调整为减去本次发送数据的长度的大小,将发送探测报文次数清0,启动等待应答定时器Ta;
步骤131、如果等待应答定时器Ta没有超时,且本端SCTP的所有数据收到对端SCTP的应答,则本端SCTP删除发送缓存中已经收到对端应答的数据,将数据重传次数清0,同时取消等待应答定时器Ta,向对端SCTP发送SHUTDOWN,同时本端SCTP状态迁移至SHUTDOWN-SENT;当等待应答定时器Ta超时,如果本端SCTP没有收到对端SCTP的应答,则关闭SCTP偶联。
3、如权利要求2所述的方法,其特征在于,
所述步骤131中,如果等待应答定时器Ta超时,则还包括以下步骤,
本端SCTP判断数据重传次数是否小于或等于数据最大重传次数,如果其小于数据最大重传次数,则本端SCTP设置发送缓存中的所有数据为未发送,同时数据重传次数加1,执行步骤110;如果其等于数据最大重传次数,则本端SCTP关闭偶联,向上层用户上报偶联断链,向对端SCTP发送ABORT,同时本端SCTP状态迁移至CLOSED。
4、如权利要求2所述的方法,其特征在于,
当本端SCTP判断如果发送缓存中有未发送数据且对端SCTP的接收窗口小于当前第一个未发送数据的长度,则包括以下步骤,
步骤150、本端SCTP发送探测报文,该报文为发送缓存中第一个标记为未发送的数据,启动等待探测报文发送定时器Tw,同时将发送探测报文次数加1,如果等待应答定时器Ta正在运行,则取消等待应答定时器Ta的运行,如果等待探测报文发送定时器Tw没有超时前,本端SCTP收到对端SCTP的应答报文,则执行步骤152;
步骤152、本端SCTP根据选择指令确认SACK中的传输序列号TSN和接收窗口,判断收到对端SCTP的TSN等于或者大于发送缓存中第一个标记为未发送的数据的TSN,并且应答报文中的接收窗口大于或者等于发送缓存中第一个标记为未发送的数据的长度,则删除发送缓存中数据的TSN等于接收SACK中的TSN的数据和该数据之前的所有数据,同时设置发送缓存中剩余的所有数据为未发送,取消等待探测报文发送定时器Tw的运行,同时将发送探测报文次数清0,执行步骤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发送的数据。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810090293.1A CN101262437B (zh) | 2008-04-17 | 2008-04-17 | 一种流控制传输协议状态迁移的方法 |
PCT/CN2008/073773 WO2009127112A1 (zh) | 2008-04-17 | 2008-12-26 | 一种流控制传输协议状态迁移的方法 |
RU2010146681/07A RU2455782C1 (ru) | 2008-04-17 | 2008-12-26 | Способ изменения состояния протокола передачи с управлением потоком |
ES08873907.3T ES2587012T3 (es) | 2008-04-17 | 2008-12-26 | Procedimiento de cambio de estado del protocolo de transmisión de control de flujo |
EP08873907.3A EP2276214B1 (en) | 2008-04-17 | 2008-12-26 | Method for state migrating of stream control transmission protocol |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810090293.1A CN101262437B (zh) | 2008-04-17 | 2008-04-17 | 一种流控制传输协议状态迁移的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101262437A true CN101262437A (zh) | 2008-09-10 |
CN101262437B CN101262437B (zh) | 2011-07-13 |
Family
ID=39962647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810090293.1A Expired - Fee Related CN101262437B (zh) | 2008-04-17 | 2008-04-17 | 一种流控制传输协议状态迁移的方法 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP2276214B1 (zh) |
CN (1) | CN101262437B (zh) |
ES (1) | ES2587012T3 (zh) |
RU (1) | RU2455782C1 (zh) |
WO (1) | WO2009127112A1 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009127112A1 (zh) * | 2008-04-17 | 2009-10-22 | 中兴通讯股份有限公司 | 一种流控制传输协议状态迁移的方法 |
CN101997763A (zh) * | 2009-08-21 | 2011-03-30 | 中兴通讯股份有限公司 | 业务数据传输方法及装置 |
CN102006301A (zh) * | 2010-12-01 | 2011-04-06 | 南京邮电大学 | 一种多终端之间流控传输协议偶联的移动控制方法 |
CN102546626A (zh) * | 2011-12-31 | 2012-07-04 | 华为技术有限公司 | 一种数据处理方法、装置及系统 |
CN106406328A (zh) * | 2016-11-05 | 2017-02-15 | 杭州畅动智能科技有限公司 | 一种基于机器人开发平台的运动控制方法 |
CN108092908A (zh) * | 2016-11-23 | 2018-05-29 | 华为技术有限公司 | 控制流量的方法和发送端设备 |
CN109039535A (zh) * | 2018-06-26 | 2018-12-18 | 浙江工业大学 | 一种面向能量捕获电磁纳米网络的差错控制方法 |
CN109155777A (zh) * | 2016-06-02 | 2019-01-04 | 瑞典爱立信有限公司 | 用于处置sctp分组的方法和网络节点 |
CN109429220A (zh) * | 2017-06-20 | 2019-03-05 | 中兴通讯股份有限公司 | 一种多制式共偶联的方法及装置 |
CN109981397A (zh) * | 2019-02-13 | 2019-07-05 | 烽火通信科技股份有限公司 | 网络性能获取方法及系统 |
CN112398921A (zh) * | 2020-11-02 | 2021-02-23 | 北京左江科技股份有限公司 | 一种带内流控的设计方法 |
CN113259490A (zh) * | 2021-06-29 | 2021-08-13 | 北京华云安信息技术有限公司 | 基于udp传输协议的多级节点网络数据传输方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7283469B2 (en) * | 2002-04-30 | 2007-10-16 | Nokia Corporation | Method and system for throughput and efficiency enhancement of a packet based protocol in a wireless network |
CN1248465C (zh) * | 2002-11-01 | 2006-03-29 | 华为技术有限公司 | 网络通信中数据发送/接收缓冲区的管理方法 |
CN100388721C (zh) * | 2003-03-18 | 2008-05-14 | 中兴通讯股份有限公司 | 对基于流控制传送协议的偶联进行保护的方法 |
CN100388731C (zh) * | 2003-06-24 | 2008-05-14 | 华为技术有限公司 | V5二层用户适配协议的实现方法 |
KR100735225B1 (ko) * | 2003-07-12 | 2007-07-03 | 삼성전자주식회사 | 이동통신 시스템에서 보코더 자원 관리 방법 |
CN100571192C (zh) * | 2004-09-04 | 2009-12-16 | 华为技术有限公司 | 一种sctp端点控制接收数据块的方法 |
WO2006069605A1 (en) * | 2004-12-30 | 2006-07-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for controlling an sctp protocol instance |
US7929422B2 (en) * | 2005-01-06 | 2011-04-19 | Cisco Technology, Inc. | Method of moving a transport connection among network hosts |
JP4759389B2 (ja) * | 2006-01-10 | 2011-08-31 | アラクサラネットワークス株式会社 | パケット通信装置 |
CN101262437B (zh) * | 2008-04-17 | 2011-07-13 | 中兴通讯股份有限公司 | 一种流控制传输协议状态迁移的方法 |
-
2008
- 2008-04-17 CN CN200810090293.1A patent/CN101262437B/zh not_active Expired - Fee Related
- 2008-12-26 EP EP08873907.3A patent/EP2276214B1/en not_active Not-in-force
- 2008-12-26 RU RU2010146681/07A patent/RU2455782C1/ru active
- 2008-12-26 ES ES08873907.3T patent/ES2587012T3/es active Active
- 2008-12-26 WO PCT/CN2008/073773 patent/WO2009127112A1/zh active Application Filing
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009127112A1 (zh) * | 2008-04-17 | 2009-10-22 | 中兴通讯股份有限公司 | 一种流控制传输协议状态迁移的方法 |
CN101997763A (zh) * | 2009-08-21 | 2011-03-30 | 中兴通讯股份有限公司 | 业务数据传输方法及装置 |
CN101997763B (zh) * | 2009-08-21 | 2014-04-09 | 中兴通讯股份有限公司 | 业务数据传输方法及装置 |
CN102006301A (zh) * | 2010-12-01 | 2011-04-06 | 南京邮电大学 | 一种多终端之间流控传输协议偶联的移动控制方法 |
CN102006301B (zh) * | 2010-12-01 | 2013-10-30 | 南京邮电大学 | 一种多终端之间流控传输协议偶联的移动控制方法 |
CN102546626A (zh) * | 2011-12-31 | 2012-07-04 | 华为技术有限公司 | 一种数据处理方法、装置及系统 |
CN102546626B (zh) * | 2011-12-31 | 2014-11-05 | 华为技术有限公司 | 一种数据处理方法、装置及系统 |
CN109155777A (zh) * | 2016-06-02 | 2019-01-04 | 瑞典爱立信有限公司 | 用于处置sctp分组的方法和网络节点 |
US11271985B2 (en) | 2016-06-02 | 2022-03-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and network node for handling SCTP packets |
CN109155777B (zh) * | 2016-06-02 | 2021-09-14 | 瑞典爱立信有限公司 | 用于处置sctp分组的方法和网络节点 |
CN106406328A (zh) * | 2016-11-05 | 2017-02-15 | 杭州畅动智能科技有限公司 | 一种基于机器人开发平台的运动控制方法 |
CN106406328B (zh) * | 2016-11-05 | 2020-04-03 | 杭州畅动智能科技有限公司 | 一种基于机器人开发平台的运动控制方法 |
CN108092908B (zh) * | 2016-11-23 | 2020-06-26 | 华为技术有限公司 | 控制流量的方法和发送端设备 |
CN108092908A (zh) * | 2016-11-23 | 2018-05-29 | 华为技术有限公司 | 控制流量的方法和发送端设备 |
CN109429220A (zh) * | 2017-06-20 | 2019-03-05 | 中兴通讯股份有限公司 | 一种多制式共偶联的方法及装置 |
CN109429220B (zh) * | 2017-06-20 | 2022-03-22 | 中兴通讯股份有限公司 | 一种多制式共偶联的方法及装置 |
CN109039535B (zh) * | 2018-06-26 | 2021-06-18 | 浙江工业大学 | 一种面向能量捕获电磁纳米网络的差错控制方法 |
CN109039535A (zh) * | 2018-06-26 | 2018-12-18 | 浙江工业大学 | 一种面向能量捕获电磁纳米网络的差错控制方法 |
CN109981397B (zh) * | 2019-02-13 | 2020-12-01 | 烽火通信科技股份有限公司 | 网络性能获取方法及系统 |
CN109981397A (zh) * | 2019-02-13 | 2019-07-05 | 烽火通信科技股份有限公司 | 网络性能获取方法及系统 |
CN112398921A (zh) * | 2020-11-02 | 2021-02-23 | 北京左江科技股份有限公司 | 一种带内流控的设计方法 |
CN113259490A (zh) * | 2021-06-29 | 2021-08-13 | 北京华云安信息技术有限公司 | 基于udp传输协议的多级节点网络数据传输方法 |
CN113259490B (zh) * | 2021-06-29 | 2021-09-24 | 北京华云安信息技术有限公司 | 基于udp传输协议的多级节点网络数据传输方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2276214B1 (en) | 2016-06-22 |
EP2276214A4 (en) | 2014-01-15 |
RU2455782C1 (ru) | 2012-07-10 |
ES2587012T3 (es) | 2016-10-20 |
WO2009127112A1 (zh) | 2009-10-22 |
CN101262437B (zh) | 2011-07-13 |
EP2276214A1 (en) | 2011-01-19 |
RU2010146681A (ru) | 2012-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101262437B (zh) | 一种流控制传输协议状态迁移的方法 | |
CN101047485B (zh) | 通信终端以及重发控制方法 | |
CN108270682A (zh) | 一种报文传输方法、终端、网络设备及通信系统 | |
US20110310895A1 (en) | System for fast recovery from losses for reliable data communication protocols | |
US20020054570A1 (en) | Data communication system, data communication method, and recording medium with data communication program recorded thereon | |
US7496038B2 (en) | Method for faster detection and retransmission of lost TCP segments | |
JP4153502B2 (ja) | 通信装置及び論理リンク異常検出方法 | |
WO2007043373A1 (ja) | 通信装置 | |
WO2014037760A1 (zh) | 增加数据流传输的方法和系统 | |
TW200824367A (en) | Method for trainsmitting packet and system for mobile communication thereof and mobile station | |
CN100542130C (zh) | 用于控制数据发送的发送器设备 | |
WO2011072548A1 (zh) | 一种邻居发现协议表项处理的方法和三层交换设备 | |
CN108965308A (zh) | 传输数据的方法、装置和系统 | |
CN103188716A (zh) | Rudp链路故障定位方法及装置 | |
JP2002027021A (ja) | データ送信装置及びデータ受信装置 | |
US10728131B2 (en) | Terminal and communication method thereof | |
US9510242B2 (en) | Reducing superfluous traffic in a network | |
Caro et al. | SCTP and TCP variants: Congestion control under multiple losses | |
CN109067503A (zh) | 一种数据重传方法和装置 | |
Hurtig et al. | Tcp and stream control transmission protocol (sctp) rto restart | |
CN101188549A (zh) | 降低m2pa数据丢失的方法及判断mtp3是否发生故障的方法 | |
CN100423513C (zh) | 一种tcp连接的合并方法 | |
CN100442727C (zh) | 媒体控制设备与媒体处理设备之间的检测方法 | |
CN101277295B (zh) | 一种通讯系统的数据发送方法 | |
JP2000078195A (ja) | 再送制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110713 Termination date: 20190417 |
|
CF01 | Termination of patent right due to non-payment of annual fee |