CN102694635B - 一种选择性确认sack选项的生成和使用方法及装置 - Google Patents

一种选择性确认sack选项的生成和使用方法及装置 Download PDF

Info

Publication number
CN102694635B
CN102694635B CN201210186932.0A CN201210186932A CN102694635B CN 102694635 B CN102694635 B CN 102694635B CN 201210186932 A CN201210186932 A CN 201210186932A CN 102694635 B CN102694635 B CN 102694635B
Authority
CN
China
Prior art keywords
field
block
data
common prefix
piece
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
Application number
CN201210186932.0A
Other languages
English (en)
Other versions
CN102694635A (zh
Inventor
刘磊
王献冠
郑艳伟
彭飞
牛津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Hiliway Digital Systems Co ltd
Institute of Acoustics CAS
Original Assignee
Beijing Hiliway Digital Systems Co ltd
Institute of Acoustics CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Hiliway Digital Systems Co ltd, Institute of Acoustics CAS filed Critical Beijing Hiliway Digital Systems Co ltd
Priority to CN201210186932.0A priority Critical patent/CN102694635B/zh
Publication of CN102694635A publication Critical patent/CN102694635A/zh
Application granted granted Critical
Publication of CN102694635B publication Critical patent/CN102694635B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例涉及一种选择性确认SACK选项的生成和使用方法及装置。数据接收端确定拟重发的数据块的共同前缀字段、长度字段和类型字段,以及各数据块的块单边界字段和块长度字段,所述块单边界字段和所述共同前缀字段确定该对应数据块的实际左边界和/或右边界,并且利用所述类型字段、所述长度字段、所述共同前缀字段、所述块单边界字段、所述块长度字段生成SACK选项;数据发送端获取SACK选项,并根据所述共同前缀字段、所述块单边界字段和所述块长度字段解析出各数据块的实际左边界和/或右边界,并确定所有拟重发的数据块。本发明可以增加SACK选项携带块描述字段个数,减少对上行带宽的占用,改善网络性能。

Description

一种选择性确认SACK选项的生成和使用方法及装置
技术领域
本发明涉及通信领域,尤其涉及一种选择性确认SACK选项的生成和使用方法及装置。
背景技术
随着因特网的迅猛发展,各种各样的接入网技术使得非对称性在如今网络中十分普遍。比如我们熟知的ADSL技术是专门设计来提供非对称的带宽;在无线网络,基于卫星的网络,以及基于HFC的网络中,非对称性也十分普遍。在这些网络中,一个方向上的网络特性可能与其反方向上的网络特性截然不同。许多研究表明网络的非对称性极大的影响了TCP的性能。而通过缩减上行带宽的使用,能够有效的缓解上行带宽压力,提升非对称性网络下TCP性能。
TCP通信时,如果发送序列中间某个数据块丢失,TCP会通过重传最后确认的包开始的后续包,这样原先已经正确传输的包也可能重复发送,急剧降低了TCP性能。为改善这种情况,发展出SACK(Selective Acknowledgment,选择性确认)技术,使TCP只重新发送丢失的包,不用发送后续所有的包,而且提供相应机制使接收方能告诉发送方哪些数据丢失,哪些数据重发了,哪些数据已经提前收到等。但是SACK技术需要在TCP头部增加额外的选项字段描述不连续块的边界,即不连续块的第一个数据的序列号(Left Edge of Block)和不连续块的最后一个数据的序列号之后的序列号(Right Edge of Block)。该边界表示(Left Edge of Block-1)和(Right Edge of Block)之间的数据没能被TCP数据接收端接收到。图1是现有技术中SACK选项的组成示意图,如图1所示,现有技术中SACK选项包括一个字节的类型字段、一个字节的长度字段及若干个块左边界描述字段和块右边界描述字段,块左边界描述字段和块右边界描述字段占4个字节,一个SACK选项由于其长度不能超过40字节,而这样的一对边界描述字段长度为8个字节,最多包括4个这样的边界描述字段。
SACK能在一定程度上提升TCP的性能,但是,在许多网络情况下,拥塞窗口较小,边界描述字段无须为8个字节;而且在绝大部分时候,边界描述字段是具有共同前缀的,即除了低2字节的字段外,其高字节的字段均相同,所以传统的SACK对上行带宽存在一定的浪费。
综上所述,如何合理的缩减SACK的选项大小,减少SACK对上行带宽的占用是一个急待需要解决的问题。
发明内容
本发明实施例提供了一种选择性确认SACK选项的生成和使用方法及装置,可以缩减SACK选项的大小,减少SACK对上行带宽的占用。
在第一方面,本发明实施例提供了一种SACK选项的生成方法,所述方法包括:数据接收端确定拟重发的数据块;数据接收端确定所有拟重发的数据块的共同前缀字段、长度字段和类型字段,以及各数据块的块单边界字段和块长度字段,所述块单边界字段和所述共同前缀确定该对应数据块的实际左边界和/或右边界;数据接收端利用所述类型字段、所述长度字段、所述共同前缀字段、所述块单边界字段、所述块长度字段生成SACK选项。
在第二方面,本发明实施例提供了一种SACK选项的使用方法,所述方法包括:数据发送端获取SACK选项;数据发送端根据共同前缀字段、块单边界字段和块长度字段解析出各数据块的实际左边界和/或右边界;数据发送端确定所有拟重发的数据块。
在第三方面,本发明实施例提供了一种SACK选项的生成装置,所述装置包括:第一确定单元用于确定拟重发的数据块。第二确定单元用于确定所有拟重发的数据块的共同前缀字段、长度字段和类型字段,以及各数据块的块单边界字段和块长度字段,块单边界字段和共同前缀字段确定该对应数据块的实际左边界和/或右边界。生成单元用于利用所述类型字段、所述长度字段、所述共同前缀字段、所述块单边界字段、所述块长度字段生成SACK选项。
在第四方面,本发明实施例提供了一种SACK选项的使用装置,所述装置包括:获取单元用于获取SACK选项。解析单元用于根据共同前缀字段、块单边界字段和块长度字段解析出各数据块的实际左边界和/或右边界。确定单元用于确定所有拟重发的数据块。由此,利用共同前缀字段、块单边界字段和块长度字段描述块边界,使得SACK选项能携带更多的块描述字段,缓解上行带宽的压力,改善非对称网络下的TCP性能。
附图说明
图1是现有技术中SACK选项的组成示意图;
图2是本发明实施例提供的SACK选项的组成示意图;
图3是本发明实施例提供的SACK选项的生成方法流程图;
图4是本发明实施例提供的SACK选项的使用方法流程图;
图5是本发明实施例提供的SACK选项的生成装置示意图;
图6是本发明实施例提供的SACK选项的使用装置示意图。
具体实施方式
本发明实施例中,数据接收端确定拟重发的数据块的共同前缀字段、长度字段和类型字段,以及各数据块的块单边界字段和块长度字段,所述块单边界字段和所述共同前缀确定该对应数据块的实际左边界和/或右边界,并且利用所述类型字段、所述长度字段、所述共同前缀字段、所述块单边界字段、所述块长度字段生成SACK选项;数据发送端获取SACK选项,并根据所述共同前缀字段、所述块单边界字段和所述块长度字段解析出各数据块的实际左边界和/或右边界,并确定所有拟重发的数据块。由此,可以增加SACJ选项所能携带块描述字段的个数,缓解上行带宽的压力,改善非对称网络下的TCP性能。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明具体实施例作进一步的详细描述。
图2是本发明实施例提供的SACK选项的组成示意图。如图2所示,本发明实施例的SACK选项由五部分组成:类型字段、长度字段、共同前缀字段、块单边界字段和块长度字段。
其中,类型字段用以指示SACK选项类型,类型字段的取值范围为TCP选项中未被使用的类型字段值,一般占用一个字节。本发明实施例中的类型字段包括如下类型:类型1-1,类型字段值为101,无共同前缀字段,块单边界字段为4字节,块长度字段为1字节;类型1-2,类型字段值为102,无共同前缀字段,块单边界字段为4字节,块长度字段为2字节;类型2-1,类型字段值为103,共同前缀字段为1字节,块单边界字段为3字节,块长度字段为1字节;类型2-2,类型字段值为104,共同前缀字段为1字节,块单边界字段为3字节,块长度字段为2字节;类型3-1,类型字段值为105,共同前缀字段为2字节,块单边界字段为2字节,块长度字段为1字节;类型3-2,类型字段值为106,共同前缀字段为2字节,块单边界字段为2字节,块长度字段为2字节;类型4-1,类型字段值为107,共同前缀字段为3字节,块单边界字段为1字节,块长度字段为1字节;类型4-2,类型字段值为108,共同前缀字段为3字节,块单边界字段为1字节,块长度字段为2字节。
从中可以看出,若一个SACK选项大小为40个字节,以类型4-3为例,一个SACK选项中,类型字段占1个字节、长度字段占1个字节、共同前缀字段占3字节、块单边界字段为1字节、块长度字段为2字节,则一个SACK选项可以携带至少10个块描述字段,较之现有技术中的4个有很大提高。
需要注意的是本发明实施例中的类型字段的值并不限于上述几种取值,只要是未被其他描述子使用的类型值即可。
长度字段用以指示该SACK选项的总长度,一般占用一个字节。
块单边界字段用以表示块边界描述字段中除共同前缀的其他部分。
块长度字段用以表示该数据块的长度,块单边界字段和块长度字段是成对出现的。
共同前缀字段,用以表示块边界描述字段中块单边界字段的共同前缀。
在一个例子中,块单边界字段可以是块左边界字段,块左边界字段与共同前缀字段拼接后可以获得块左边界描述字段(Left Edge of Block),块左边界描述字段(Left Edge of Block)和块长度字段的值拼接后可以获得块右边界描述字段(Right Edge of Block),从而获得丢失数据块的序列号为[LeftEdge of Block-1,Right Edge of Block]。
在一个例子中,块单边界字段可以是块右边界字段,块右边界字段与共同前缀字段拼接后可以获得块右边界描述字段(Right Edge of Block),块右边界描述字段(Right Edge of Block)和块长度字段的值拼接后可以获得块左边界描述字段(Left Edge of Block),从而获得丢失数据块的序列号为[Left Edge of Block-1,Right Edge of Block]。
本发明实施例描述的为SACK选项的组成及各个字段的意义和取值情况,从中可以看出,SACK选项可以根据网络拥塞窗口的大小自动调节块长度字段的长度,并且较之现有技术,一个同样大小的SACK选项可以包括更多个数据块边界描述字段,从而达到缓解上行带宽的压力,改善非对称网络下的TCP性能的目的。
上述实施例中的SACK选项是下面几个实施例的基础,下述几个实施例描述的为SACK选项的生成和使用方法的流程及装置的组成。
图3是本发明实施例提供的SACK选项的生成方法流程图。如图3所示,本发明实施例包括以下步骤:
步骤301,数据接收端确定拟重发的数据块。
数据接收端根据接收到的数据,确定没有接收到的数据块,并获取各个数据块的边界描述字段。
步骤302,数据接收端确定SACK选项各个字段的值。
具体地,数据接收端确定所有拟重发的数据块的共同前缀字段、长度字段和类型字段,以及各数据块的块单边界字段和块长度字段,块单边界字段和共同前缀确定该对应数据块的实际左边界和/或右边界。
当需要生成SACK选项时,数据接收端获取网络拥塞窗口的大小,并根据网络拥塞窗口的大小确定块长度字段的大小,当网络拥塞窗口小于1个字节时,块长度字段的大小为1个字节,否则,块长度字段的大小为2个字节,并将块长度写入块长度字段。然后根据块边界描述字段的共同前缀,确定共同前缀字段及块单边界字段的大小及取值,块单边界字段的共同前缀存于共同前缀字段,剩余部分存于块单边界字段。
块单边界字段和块长度字段是成对出现的,共同前缀字段与块单边界字段和块长度字段拼合后可以获得该数据块的左边界描述字段(Left Edge ofBlock)以右边界描述字段(Right Edge of Block)。
在一个例子中,块单边界字段可以是块左边界字段,块左边界字段与共同前缀字段拼接后可以获得块左边界描述字段(Left Edge of Block),块左边界描述字段(Left Edge of Block)和块长度字段拼接后可以获得块右边界描述字段(Right Edge of Block),从而获得丢失数据块的序列号为[Left Edgeof Block-1,Right Edge of Block]。
在一个例子中,块单边界字段可以是块右边界字段,块右边界字段与共同前缀字段拼接后可以获得块右边界描述字段(Right Edge of Block),块右边界描述字段(Right Edge of Block)和块长度字段的值拼接后可以获得块左边界描述字段(Left Edge of Block),从而获得丢失数据块的序列号为[Left Edge of Block-1,Right Edge of Block]。
步骤303,数据接收端根据所述块长度字段、共同前缀字段及块单边界字段确定类型字段以及长度字段的值,并且利用所述类型字段、长度字段、共同前缀字段、块单边界字段、块长度字段生成SACK选项。
其中,所述类型字段的值取决于所述共同前缀字段、长度字段、块单边界字段和块长度字段的大小。类型字段的值与共同前缀字段、块单边界字段和块长度字段对应关系在前一个实施例中已经有详细阐述,在此不复赘述。
生成SACK选项后,数据接收端将其发送到数据发送端,以便数据发送端重新发送丢失数据。
本发明实施例中,SACK选项可以根据网络拥塞窗口的大小自动调节块长度字段的长度,并且较之现有技术,一个同样大小的SACK选项可以包括更多个数据块边界描述字段,从而达到缓解上行带宽的压力,改善非对称网络下的TCP性能的目的。
上述实施例描述的为SACK选项的生成方法,下述实施例描述的为SACK选项的使用方法。图4是本发明实施例提供的SACK选项的使用方法流程图。如图4所示,本发明实施例包括以下步骤:
步骤401,数据发送端获取SACK选项。
步骤402,数据发送端解析出SACK选项各个字段的值。
具体地,数据发送端根据类型字段确定各个字段的长度,从而根据共同前缀字段、块单边界字段及块长度字段的值解析出完整的块边界描述字段,从而确认丢失数据块的序列号。
在一个例子中,块单边界字段可以是块左边界字段,数据发送端将块左边界字段与共同前缀字段拼接后可以获得块左边界描述字段(Left Edge ofBlock),块左边界描述字段(Left Edge of Block)和块长度字段的值拼接后可以获得块右边界描述字段(Right Edge of Block),从而获得丢失数据块的序列号为[Left Edge of Block-1,Right Edge of Block]。
在一个例子中,块单边界字段可以是块右边界字段,块右边界字段与共同前缀字段拼接后可以获得块右边界描述字段(Right Edge of Block),块右边界描述字段(Right Edge of Block)和块长度字段的值拼接后可以获得块左边界描述字段(Left Edge of Block),从而获得丢失数据块的序列号为[Left Edge of Block-1,Right Edge of Block]。
步骤403,数据发送端确定所有拟重发的数据块。
数据发送方根据长度字段确定该SACK选项中包括的块描述字段和块长度的个数,进而确定所有拟重发的数据块。
并且,数据发送方可以该维护一个未确认的重发送数据队列,数据未被确认前是不能释放的,这个从重发送队列中的每个数据块都有一个标志位“SACKed”,用以标识是否该块被SACK过,所有数据块的标志位“SACKed”都是复位状态,对于已经被SACK过的数据块,会将此数据块的标志位“SACKed”置位,在重新发送数据时将被跳过。
当数据发送方接收到接收方SACK信息后,根据从SACK选项中解析出的数据块的序列号重新发送对应的数据块,并将此数据块的标志位“SACKed”置位,但如果数据发送方没有接收到接SACK信息,超时后,数据发送方会将所有重发送队列中数据块的“SACKed”位都重新置于复位状态,以防数据接收方出现了异常需要重新发送数据。
本发明实施例中,数据发送端接收到SACK选项后,从SACK选项中获取共同前缀字段、块单边界字段及块长度字段的值,根据这些值解析出丢失数据块的序列号,而一个同样大小的SACK选项包括了更多个数据块边界描述字段,因此,可以解析出更多个丢失数据块的序列号,跟据序列号重新发送数据,从而达到缓解上行带宽的压力,改善非对称网络下的TCP性能的目的。
图5是本发明实施例提供的SACK选项的生成装置示意图。如图5所示,本发明实施例包括以下单元:
第一确定单元501,用于确定拟重发的数据块。
数据接收端根据接收到的数据,确定没有接收到的数据块,并获取各个数据块的边界描述字段。
第二单元502,用于确定SACK选项各个字段的值。
具体地,数据接收端确定所有拟重发的数据块的共同前缀字段、长度字段和类型字段,以及各数据块的块单边界字段和块长度,块单边界字段和共同前缀确定该对应数据块的实际左边界和/或右边界。
当需要生成SACK选项时,数据接收端获取网络拥塞窗口的大小,并根据网络拥塞窗口的大小确定块长度字段的大小,当网络拥塞窗口小于1个字节时,块长度字段的大小为1个字节,否则,块长度字段的大小为2个字节,并将块长度写入块长度字段。然后根据块边界描述字段的共同前缀,确定共同前缀字段及块单边界字段的大小及取值,块单边界字段的共同前缀存于共同前缀字段,剩余部分存于块单边界字段。
块单边界字段和块长度字段是成对出现的,共同前缀字段与块单边界字段和块长度字段拼合后可以获得该数据块的左边界描述字段(Left Edge ofBlock)以右边界描述字段(Right Edge of Block)。
在一个例子中,块单边界字段可以是块左边界字段,块左边界字段与共同前缀字段拼接后可以获得块左边界描述字段(Left Edge of Block),块左边界描述字段(Left Edge of Block)和块长度字段拼接后可以获得块右边界描述字段(Right Edge of Block),从而获得丢失数据块的序列号为[Left Edgeof Block-1,Right Edge of Block]。
在一个例子中,块单边界字段可以是块右边界字段,块右边界字段与共同前缀字段拼接后可以获得块右边界描述字段(Right Edge of Block),块右边界描述字段(Right Edge of Block)和块长度字段的值拼接后可以获得块左边界描述字段(Left Edge of Block),从而获得丢失数据块的序列号为[Left Edge of Block-1,Right Edge of Block]。
生成单元503,用于根据所述块长度字段、共同前缀字段及块单边界字段确定类型字段以及长度字段的值,并且利用所述类型字段、长度字段、共同前缀字段、块单边界字段、块长度字段生成SACK选项。
其中,所述类型字段的值取决于所述共同前缀字段、长度字段、块单边界字段和块长度字段的大小。类型字段的值与共同前缀字段、块单边界字段和块长度字段对应关系在前一个实施例中已经有详细阐述,在此不复赘述。
生成SACK选项后,数据接收端将其发送到数据发送端,以便数据发送端重新发送丢失数据。
本发明实施例中,SACK选项可以根据网络拥塞窗口的大小自动调节块长度字段的长度并且,较之现有技术,一个同样大小的SACK选项可以包括更多个数据块边界描述字段,从而达到缓解上行带宽的压力,改善非对称网络下的TCP性能的目的。
上述实施例描述的为SACK选项的生成方法,下述实施例描述的为SACK选项的使用方法。图6是本发明实施例提供的SACK选项的使用装置示意图。如图6所示,本发明实施例包括以下单元:
获取单元601,用于获取SACK选项。
解析单元602,用于解析出SACK选项各个字段的值。
具体地,数据发送端根据类型字段确定各个字段的长度,从而根据共同前缀字段、块单边界字段及块长度字段的值解析出完整的块边界描述字段,从而确认丢失数据块的序列号。
在一个例子中,块单边界字段可以是块左边界字段,数据发送端将块左边界字段与共同前缀字段拼接后可以获得块左边界描述字段(Left Edge ofBlock),块左边界描述字段(Left Edge of Block)和块长度字段的值拼接后可以获得块右边界描述字段(Right Edge of Block),从而获得丢失数据块的序列号为[Left Edge of Block-1,Right Edge of Block]。
在一个例子中,块单边界字段可以是块右边界字段,块右边界字段与共同前缀字段拼接后可以获得块右边界描述字段(Right Edge of Block),块右边界描述字段(Right Edge of Block)和块长度字段的值拼接后可以获得块左边界描述字段(Left Edge of Block),从而获得丢失数据块的序列号为[Left Edge of Block-1,Right Edge of Block]。
确定单元603,用于确定所有拟重发的数据块。
数据发送方根据长度字段确定该SACK选项中包括的块描述字段和块长度的个数,进而确定所有拟重发的数据块。
数据发送方都会该维护一个未确认的重发送数据队列,数据未被确认前是不能释放的,这个从重发送队列中的每个数据块都有一个标志位“SACKed”,用以标识是否该块被SACK过,所有数据块的标志位“SACKed”都是复位状态,对于已经被SACK过的数据块,会将此数据块的标志位“SACKed”置位,在重新发送数据时将被跳过。
当数据发送方接收到接收方SACK信息后,根据从SACK选项中解析出的数据块的序列号重新发送对应的数据块,并将此数据块的标志位“SACKed”置位,但如果数据发送方没有接收到接SACK信息,超时后,数据发送方会将所有重发送队列中数据块的“SACKed”位都重新置于复位状态,以防数据接收方出现了异常需要重新发送数据。
本发明实施例中,数据发送端接收到SACK选项后,从SACK选项中获取共同前缀字段、块单边界字段及块长度字段的值,根据这些值解析出丢失数据块的序列号,而一个同样大小的SACK选项包括了更多个数据块边界描述字段,因此,可以解析出更多个丢失数据块的序列号,跟据序列号重新发送数据,从而达到缓解上行带宽的压力,改善非对称网络下的TCP性能的目的。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种选择性确认SACK选项的生成方法,其特征在于,所述方法包括:
数据接收端确定拟重发的数据块;数据接收端确定所有拟重发的数据块的共同前缀字段、长度字段和类型字段,以及各数据块的块单边界字段和块长度字段,所述共同前缀字段,用以表示块边界描述字段的共同前缀,所述长度字段用以指示该SACK选项的总长度,所述类型字段用以指示SACK选项类型,所述块单边界字段用以表示块边界描述字段中除共同前缀的其他部分,所述块长度字段用以表示该数据块的长度,所述块单边界字段和所述共同前缀确定该对应数据块的实际左边界和/或右边界;数据接收端利用所述类型字段、所述长度字段、所述共同前缀字段、所述块单边界字段、所述块长度字段生成SACK选项。
2.如权利要求1所述的方法,其特征在于,数据接收端根据网络拥塞窗口的大小确定所述块长度字段的大小,当网络拥塞窗口小于1个字节时,所述块长度字段的大小为1个字节,否则,所述块长度字段的大小为2个字节。
3.一种SACK选项的使用方法,其特征在于,所述方法包括:
数据发送端获取SACK选项;数据发送端根据共同前缀字段、块单边界字段和块长度字段解析出各数据块的实际左边界和/或右边界,所述共同前缀字段,用以表示块边界描述字段的共同前缀,所述块单边界字段用以表示块边界描述字段中除共同前缀的其他部分,所述块长度字段用以表示该数据块的长度;数据发送端确定所有拟重发的数据块。
4.如权利要求3所述的方法,其特征在于,所述数据发送端根据共同前缀字段、块单边界字段和块长度字段解析出各数据块的实际左边界和/或右边界;数据发送端确定所有拟重发的数据块具体为:数据发送端将所述共同前缀字段与所述块单边界字段的值拼接确定数据块的一个边界的描述字段,将所述共同前缀字段、所述块单边界字段和所述块长度字段拼接确定块的另一个边界的描述字段,根据数据块的两个边界的描述字段确定丢失数据块的序列号。
5.一种SACK选项的生成装置,其特征在于,所述装置包括:
第一确定单元,用于确定拟重发的数据块;第二确定单元,用于确定所有拟重发的数据块的共同前缀字段、长度字段和类型字段,以及各数据块的块单边界字段和块长度字段,所述共同前缀字段,用以表示块边界描述字段的共同前缀,所述长度字段用以指示该SACK选项的总长度,所述类型字段用以指示SACK选项类型,所述块单边界字段用以表示块边界描述字段中除共同前缀的其他部分,所述块长度字段用以表示该数据块的长度,块单边界字段和共同前缀字段确定该对应数据块的实际左边界和/或右边界;生成单元,用于利用所述类型字段、所述长度字段、所述共同前缀字段、所述块单边界字段、所述块长度字段生成SACK选项。
6.如权利要求5所述的装置,其特征在于,根据网络拥塞窗口的大小确定所述块长度字段的大小,当网络拥塞窗口小于1个字节时,所述块长度字段的大小为1个字节,否则,所述块长度字段的大小为2个字节。
7.一种SACK选项的使用装置,其特征在于,所述装置包括:获取单元,用于获取SACK选项;解析单元,用于根据共同前缀字段、块单边界字段和块长度字段解析出各数据块的实际左边界和/或右边界,所述共同前缀字段,用以表示块边界描述字段的共同前缀,所述块单边界字段用以表示块边界描述字段中除共同前缀的其他部分,所述块长度字段用以表示该数据块的长度;确定单元,用于确定所有拟重发的数据块。
8.如权利要求7所述的装置,其特征在于,所述解析单元具体用于:将所述共同前缀字段与所述块单边界字段的值拼接确定数据块的一个边界的描述字段,将所述共同前缀字段、所述块单边界字段和所述块长度字段拼接确定块的另一个边界的描述字段,根据数据块的两个边界的描述字段确定丢失数据块的序列号。
CN201210186932.0A 2012-06-07 2012-06-07 一种选择性确认sack选项的生成和使用方法及装置 Expired - Fee Related CN102694635B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210186932.0A CN102694635B (zh) 2012-06-07 2012-06-07 一种选择性确认sack选项的生成和使用方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210186932.0A CN102694635B (zh) 2012-06-07 2012-06-07 一种选择性确认sack选项的生成和使用方法及装置

Publications (2)

Publication Number Publication Date
CN102694635A CN102694635A (zh) 2012-09-26
CN102694635B true CN102694635B (zh) 2014-11-05

Family

ID=46859929

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210186932.0A Expired - Fee Related CN102694635B (zh) 2012-06-07 2012-06-07 一种选择性确认sack选项的生成和使用方法及装置

Country Status (1)

Country Link
CN (1) CN102694635B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105049155A (zh) * 2014-12-17 2015-11-11 天津职业技术师范大学 基于段(Segment)的TCP SACK机制
CN105812335B (zh) * 2014-12-31 2019-07-23 上海数字电视国家工程研究中心有限公司 功能字段的解析方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854738A (zh) * 2010-05-21 2010-10-06 南京邮电大学 一种用于卫星网络的传输控制协议方法
CN102255972A (zh) * 2011-08-10 2011-11-23 北京邮电大学 6LoWPAN网络中面向HTTP协议的TCP首部压缩方法
CN102413503A (zh) * 2011-12-27 2012-04-11 上海海事大学 一种用于Semi-TCP的自适应确认分组延迟发送的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7177941B2 (en) * 2003-12-11 2007-02-13 International Business Machines Corporation Increasing TCP re-transmission process speed

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854738A (zh) * 2010-05-21 2010-10-06 南京邮电大学 一种用于卫星网络的传输控制协议方法
CN102255972A (zh) * 2011-08-10 2011-11-23 北京邮电大学 6LoWPAN网络中面向HTTP协议的TCP首部压缩方法
CN102413503A (zh) * 2011-12-27 2012-04-11 上海海事大学 一种用于Semi-TCP的自适应确认分组延迟发送的方法

Also Published As

Publication number Publication date
CN102694635A (zh) 2012-09-26

Similar Documents

Publication Publication Date Title
EP2109954B1 (en) Ack prioritization in wireless networks
EP2119171B1 (en) Improved data transfer method, system and protocol
US9485186B2 (en) Network congestion control with awareness of random packet losses
CN109194450B (zh) 天地一体化网络通信的snack-p应答系统及方法、无线通信系统
EP1708400B1 (en) Loss tolerant transmission control protocol
US20150117468A1 (en) Apparatus and method for transmitting data
CN103078707B (zh) 一种深空通信中的文件传输方法
CN102006283A (zh) 数据传输的方法和装置
CN104518853A (zh) 一种数据重传的方法、接收端及系统
EP2410690A1 (en) Method and transmitting unit for reducing a risk of transmission stalling
CN102694731B (zh) 速率调整方法、装置和网络设备
CN103338090A (zh) 业务数据传输方法、设备及系统
CN103986548A (zh) 一种确定丢包原因的方法和终端
CN102664718A (zh) 无线侧tcp数据重传的方法和设备
CN104618007B (zh) 一种同步卫星tcp协议分段连接优化方法
WO2016201904A1 (zh) 一种基于tcp的数据传输方法及装置
CN107209713B (zh) 按需文件修复的方法和系统
CN103825689B (zh) 具有本地缓存的延迟确定性报文重传方法
CN109286574B (zh) 一种信息的传输方法、网络侧设备及终端
CN102315923B (zh) 一种3g卫星通信系统无线链路控制方法
CN102694631A (zh) 一种用于控制数据传输的方法和装置
CN102694635B (zh) 一种选择性确认sack选项的生成和使用方法及装置
CN104980365A (zh) 一种基于连续丢包拥塞判断的tcp传输加速方法
CN105406915A (zh) 一种面向星地链路的文件传输方法
CN104796235A (zh) 基于丢包率的卫星通信自适应拥塞控制方法

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: 20141105

CF01 Termination of patent right due to non-payment of annual fee