CN101227478B - 一种对抗链路乱序的方法 - Google Patents
一种对抗链路乱序的方法 Download PDFInfo
- Publication number
- CN101227478B CN101227478B CN200810007170A CN200810007170A CN101227478B CN 101227478 B CN101227478 B CN 101227478B CN 200810007170 A CN200810007170 A CN 200810007170A CN 200810007170 A CN200810007170 A CN 200810007170A CN 101227478 B CN101227478 B CN 101227478B
- Authority
- CN
- China
- Prior art keywords
- fast
- retransmit
- transmission
- value
- message
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种对抗链路乱序的方法,应用于数据通讯领域,包括以下步骤:在快速重传算法中设定“快速重传启动门限”;当发生快速重传或者超时重传时,发送端对所述“快速重传启动门限”的值进行修改;当某个报文的丢失指示累计值超过所述“快速重传启动门限”的值时,对该报文进行快速重传。本发明技术方案解决了在报文乱序的情况下网络重传的问题,同时提高了传输速率。
Description
技术领域
本发明涉及数据通讯领域,尤其涉及一种对抗链路乱序的方法。
背景技术
传输控制协议(Transmission Control Protocol,TCP)和流量控制传输协议(Stream Control Transmission Protocol,SCTP)是当前最广泛应用的可靠传输协议,不但保证了报文被可靠有序地传输,同时还具有良好的网络拥塞控制和拥塞恢复机制。但是,如果网络中存在报文乱序(例如网络中存在多路径的情形),可能会导致TCP和SCTP启动快速重传(Fast Retransmit)。选择确认(SACK,Selective Acknowledgement)算法被普遍应用于可靠传输协议中,SCTP协议规定其作为SCTP的确认方式(rfc2960),TCP协议规定其作为TCP的可选确认方式(rfc2883)。
如图1所示,是现有技术中乱序导致的快速重传报文时序图。如果发送端几乎在同一时刻连续发送了5个报文,这5个报文也几乎在同一时刻到达了接收端。但由于链路乱序,报文1最后一个到达;接收端收到了报文2、3、4、5后,因为报文1尚未到达,会立即回应带缺失块(Gap Ack Blocks)的SACK;按照快速重传的算法规定,发送端连续收到了4个对报文1的缺失指示,启动快速重传,重发了报文1。这样接收端便会收到2次报文1,而实际上第一个报文很快就到达了接收端,重发报文其实是没有必要的,也就是说报文1被不必要的重传了。这是快速重传算法本身的不足,即无法区分乱序和真正的丢包。另一方面,虽然接收端收到重复报文后,会在确认报文SACK中设置duplicate字段,但目前并无资料说明该字段的使用场景,即发送端并不知道如何处理SACK中的duplicate字段。
TCP和SCTP启动快速重传(Fast Retransmit)实际上是不必要的,因为报文并未真正丢失,时延也没有问题,报文乱序可能只是网络中存在着多条通路,而非真正的链路质量问题。这种情形下启动快速重传不但增加了不必要的网络负荷,同时也会因为误判造成的拥塞窗口缩小而影响了发送速率。
发明内容
本发明要解决的技术问题是提供一种对抗链路乱序的方法,解决在报文乱序的情况下网络重传的问题。
技术方案如下:
一种对抗链路乱序的方法,步骤包括:
(1)在快速重传算法中设定“快速重传启动门限”;
(2)当发生快速重传或者超时重传时,发送端对所述“快速重传启动门限”的值进行修改;
(3)当某个报文的丢失指示累计值超过所述“快速重传启动门限”的值时,对该报文进行快速重传。
进一步,步骤(1)中,当基于可靠传输协议建链后,所述“快速重传启动门限”的默认值至少为4。
进一步,步骤(2)中,当发生快速重传时,对重传报文的传输序号TSN进行记录,将收到的所述SACK中duplicate字段的TSN与本地记录的TSN进行比较,相等时,则增加所述“快速重传启动门限”的值;当发生超时重传时,降低所述“快速重传启动门限”的值。
进一步,步骤(2)中,如果所述收到的SACK的duplicate字段中所有的TSN均是由快速重传引起的,则增加所述“快速重传启动门限”的值。
进一步,步骤(2)中,记录本连接最近一次重传的原因,如果所述最近一次重传是快速重传,则对所述“快速重传启动门限”加1。
进一步,步骤(2)中,对于超时重传则降低所述“快速重传启动门限”的值,将所述“快速重传启动门限”恢复成所述默认值;或者将所述“快速重传启动门限”变为当前值的一半,并且不小于所述默认值。
进一步,步骤(1)中,所述可靠传输协议为传输控制协议TCP或者流量控制传输协议SCTP。
进一步,步骤(2)中,当在一定时间内未发生所述快速重传或者未收到带有所述duplicate字段的SACK,则降低所述“快速重传启动门限”的值。
本发明基于可靠传输协议(包括SCTP和TCP等)利用SACK中的duplicate字段对抗链路乱序,解决了在报文乱序的情况下网络重传的问题,同时提高传输速率。
附图说明
图1是现有技术中乱序导致的快速重传报文时序图;
图2是本发明中增大快速重传启动门限后的报文乱序时序图;
图3是本发明中快速重传启动门限改变前后超时重传的时序图。
具体实施方式
快速重传(Fast Retransmit)算法规定,如果报文被4次通告缺失,则启动快速重传对该报文进行重传,本发明将这个次数称为“快速重传启动门限”,同时将其作为可变参量,并可以动态调整。
1、当基于可靠传输协议(TCP或SCTP)建链后,将“快速重传启动门限”默认值设置为4。
2、当发生快速重传后,对重传报文的传输序号(TSN,TransmissionSequence Number)进行记录。如果收到的SACK中带有duplicate字段,则将duplicate字段的TSN与本地记录的TSN进行比较。如果SACK的duplicate字段中所有的TSN均是由快速重传引起的,则对“快速重传启动门限”值加1。
3、当发生超时重传时,降低“快速重传启动门限”的值。
“快速重传启动门限”调整尺度只与携带有duplicate字段的SACK数目有关,而与duplicate字段中的TSN数目无关。因为收到带有duplicate字段的SACK时,对应的数据报文通常都已经从发送缓存中释放,所以记录每个快速重传报文的TSN实现上比较复杂,可以用一种简单的方法近似:即记录本连接最近一次重传的原因,如果收到了带duplicate字段的SACK,且最近一次重传是快速重传,则对“快速重传启动门限”加1。
对于超时重传则降低“快速重传启动门限”的值,可以将“快速重传启动门限”恢复成默认值,也可以将其变为当前值的一半,但不能小于默认值。也可以通过其它的方式降低“快速重传启动门限”,例如,如果长时间未发生快速重传,或者长时间未收到带有duplicate字段的SACK的情况下,可以考虑降低“快速重传启动门限”。
图2是本发明中增大快速重传启动门限后的报文乱序时序图,下面结合实施例和附图来说明本发明的工作原理。
延承图1的时序,发送端在收到了带有duplicate字段的SACK后,将其“快速重传启动门限”值加1,门限值变为5。再次连续发送5个报文,同样出现了乱序,报文1后于报文2、3、4、5到达。
当报文2、3、4、5到达时,接收端会因为未收到报文1而立即回应带有缺失块的SACK;发送端收到SACK后,记录报文1的丢失次数;报文5的确认到达后,报文1丢失指示的累计值增加为4,但由于未达到“快速重传启动门限”,不启动快速重传;收到报文1的确认后,发送端清除了报文1的丢失指示值。
至此,所有发送报文得到了确认,无需再启动重传。可以看出,虽然发送场景和网络状况未改变,但由于调整了“快速重传启动门限”,避免了不必要的重传。当然如果发送端流量增大,一次发送了更多的报文,仍有可能误启动快速重传;但启动快速重传会导致SACK中携带duplicate字段(如图1所示),采用本发明的算法后,将触发“快速重传启动门限”的值进一步的提升,最终报文达到传输乱序却不需要重传的效果。
图3是本发明中快速重传启动门限改变前后超时重传的时序图。
“快速重传启动门限”并非越大越好,提高“快速重传启动门限”会增大超时重传发生的可能。如果报文真的丢失,当“快速重传启动门限”的值为4时,会在收到报文5的确认后立即启动快速重传,如图3右图;但如果启动门限为5,因为缺失指示没有达到门限值而未启动快速重传,如果此后再没有新的数据发送,则会导致超时重传(timeout retransmission),如图3左图。所以如果发生超时重传,则说明链路质量确实出现了问题,应该及时降低快速重传启动门限,降低再次发生超时重传的可能。
综上所述,本发明通过甄别乱序和丢包,动态地调节“快速重传启动门限”,可以有效地避免乱序造成的快速重传,同时也可以在报文丢失后,有效恢复,具有更好的适应性和流量控制效果。
Claims (6)
1.一种对抗链路乱序的方法,其特征在于,包括以下步骤:
(1)在快速重传算法中设定“快速重传启动门限”;
(2)当发生快速重传或者超时重传时,发送端对所述“快速重传启动门限”的值进行修改;
(3)当某个报文的丢失指示累计值超过所述“快速重传启动门限”的值时,对该报文进行快速重传;
其中,步骤(2)中,当发生快速重传时,对重传报文的传输序号TSN进行记录,将收到的确认报文SACK中duplicate字段的TSN与本地记录的TSN进行比较,相等时,则增加所述“快速重传启动门限”的值;当发生超时重传时,降低所述“快速重传启动门限”的值。
2.如权利要求1所述的对抗链路乱序的方法,其特征在于,步骤(1)中,当基于可靠传输协议建链后,所述“快速重传启动门限”的默认值至少为4。
3.如权利要求1所述的对抗链路乱序的方法,其特征在于,步骤(2)中,如果所述收到的SACK的duplicate字段中所有的TSN均是由快速重传引起的,则增加所述“快速重传启动门限”的值。
4.如权利要求1所述的对抗链路乱序的方法,其特征在于,步骤(2)中,对于超时重传,则降低所述“快速重传启动门限”的值,将所述“快速重传启动门限”恢复成所述“快速重传启动门限”的默认值;或者将所述“快速重传启动门限”变为当前值的一半,并且不小于所述默认值。
5.如权利要求2所述的对抗链路乱序的方法,其特征在于,步骤(1)中,所述可靠传输协议为传输控制协议TCP或者流量控制传输协议SCTP。
6.如权利要求1所述的对抗链路乱序的方法,其特征在于,步骤(2)中,当在一定时间内未发生所述快速重传或者未收到带有duplicate字段的SACK,则降低所述“快速重传启动门限”的值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810007170A CN101227478B (zh) | 2008-02-02 | 2008-02-02 | 一种对抗链路乱序的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810007170A CN101227478B (zh) | 2008-02-02 | 2008-02-02 | 一种对抗链路乱序的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101227478A CN101227478A (zh) | 2008-07-23 |
CN101227478B true CN101227478B (zh) | 2012-09-05 |
Family
ID=39859228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810007170A Expired - Fee Related CN101227478B (zh) | 2008-02-02 | 2008-02-02 | 一种对抗链路乱序的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101227478B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465719B (zh) * | 2008-12-30 | 2012-08-22 | 华为技术有限公司 | 数据重传方法及装置 |
CN103095434B (zh) * | 2011-10-27 | 2018-02-02 | 山东金佳园科技股份有限公司 | 一种数据重传控制方法及装置、终端设备 |
CN102769577B (zh) * | 2012-08-21 | 2015-08-12 | 迈普通信技术股份有限公司 | 一种实现报文重传的方法和网络设备 |
CN106506124B (zh) * | 2015-09-07 | 2019-09-13 | 中国移动通信集团公司 | 重传报文确定方法及装置 |
CN108270682B (zh) * | 2016-12-30 | 2022-06-24 | 华为技术有限公司 | 一种报文传输方法、终端、网络设备及通信系统 |
CN113242253B (zh) * | 2021-05-21 | 2023-05-12 | 南京艾科朗克信息科技有限公司 | 一种证券行情侦听方式下的快速处理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1511396A (zh) * | 2001-04-04 | 2004-07-07 | ����ɭ�绰�ɷ�����˾ | 数据流控制方法 |
CN101088243A (zh) * | 2004-12-22 | 2007-12-12 | 艾利森电话股份有限公司 | 使用重复确认的数据流控制 |
-
2008
- 2008-02-02 CN CN200810007170A patent/CN101227478B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1511396A (zh) * | 2001-04-04 | 2004-07-07 | ����ɭ�绰�ɷ�����˾ | 数据流控制方法 |
CN101088243A (zh) * | 2004-12-22 | 2007-12-12 | 艾利森电话股份有限公司 | 使用重复确认的数据流控制 |
Non-Patent Citations (6)
Title |
---|
.EffectsonTCPofroutingstrategiesinsatelliteconstellations.IEEECOMMUNICATIONSMAGAZINEvol.39no.3.2001 vol.39(no.3) |
.RFC 2883: An extension to the selectiveacknowledgement(SACK) option for TCP.http://tools.ietf.org/html/rfc2883.2001,正文第11页-第12页. |
Lloyd Wood等 |
Lloyd Wood等;.Effects on TCP of routing strategies in satellite constellations.IEEE COMMUNICATIONS MAGAZINEvol.39 no.3.2001,vol.39(no.3),全文. * |
S. FLOYD等 |
S. FLOYD等;.RFC 2883: An extension to the selectiveacknowledgement(SACK) option for TCP.http://tools.ietf.org/html/rfc2883.2001,正文第11页-第12页. * |
Also Published As
Publication number | Publication date |
---|---|
CN101227478A (zh) | 2008-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101588225B (zh) | 一种基于分组交换网络的快速重传方法 | |
CN107204834B (zh) | 一种基于udt协议的高速网络可靠传输的控制方法 | |
CN101114999B (zh) | 数据发送控制方法及数据传输设备 | |
US8462624B2 (en) | Congestion management over lossy network connections | |
CN101227478B (zh) | 一种对抗链路乱序的方法 | |
KR20020079796A (ko) | 무선 네트워크 시스템 및 방법 | |
CN101510816B (zh) | 基于路径关联化的多路径并行传输方法 | |
WO2008044653A1 (fr) | Système, périphérique et procédé de communication | |
MXPA04010994A (es) | Metodo y aparato para aumentar la capa fisica arq en un sistema de comunicacion de datos inalambrico. | |
CN107592185B (zh) | 一种适用于网络编码传输控制协议的前向重传方法 | |
CN101119183A (zh) | 重传控制方法及传输设备 | |
CN102413503A (zh) | 一种用于Semi-TCP的自适应确认分组延迟发送的方法 | |
US7738395B2 (en) | Communication system for improving data transmission efficiency of TCP in a wireless network environment and a method thereof | |
CN111163362B (zh) | 一种自适应重传等待时间的视频接收方法及系统 | |
CN102315923B (zh) | 一种3g卫星通信系统无线链路控制方法 | |
MX2007000574A (es) | Nuevos derivados de 2,6-diaminopiridina-3-ona. | |
EP3031159B1 (en) | Retransmission control network node and related method | |
CN101615987A (zh) | 一种无线通信系统中可靠传输实时业务的方法及装置 | |
JP5539161B2 (ja) | データ伝送方式、及び、複数拠点データ配信方式 | |
Altahir et al. | Performance evaluation of TCP congestion control mechanisms using NS-2 | |
Gilesh et al. | An adaptive reliable transport protocol based on Automatic reSend reQuest (ASQ) technique for wireless sensor networks | |
JP2008199431A (ja) | 通信装置 | |
Rai et al. | Performance Improvement of TCP by TCP Reno and SACK Acknowledgement | |
GB2576204A (en) | Operation of automatic repeat request (ARQ) | |
EP1733527B1 (en) | Technique for handling outdated information units |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120905 Termination date: 20180202 |