CN102209079A - 一种基于tcp协议的自适应网络控制传输方法和系统 - Google Patents
一种基于tcp协议的自适应网络控制传输方法和系统 Download PDFInfo
- Publication number
- CN102209079A CN102209079A CN2011101695362A CN201110169536A CN102209079A CN 102209079 A CN102209079 A CN 102209079A CN 2011101695362 A CN2011101695362 A CN 2011101695362A CN 201110169536 A CN201110169536 A CN 201110169536A CN 102209079 A CN102209079 A CN 102209079A
- Authority
- CN
- China
- Prior art keywords
- loss
- network
- network code
- layer
- packet
- 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.)
- Pending
Links
Images
Classifications
-
- 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]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种基于TCP协议的自适应网络控制传输方法,通过在网络传统的TCP/IP协议体系结构中的发送端和接收端的传输层和网络层中间分别添加网络编码层,在网络编码层中给编码包和ACK应答包添加包含特定变量的网络编码包头,利用编码包和ACK应答包将这些变量在接收端和发送端之间传递并更新,并利用这些变量在发送端网络编码层调整冗余系数R。这种动态调整冗余系数的方法,可以增强协议对突发丢失的抵抗力,并在丢失率不断变化的网络环境中,使冗余系数R尽可能维持在最优值,提高网络吞吐率和链路利用率。
Description
技术领域
本发明涉及数据通信领域的TCP协议(TCP:Transmission Control Protocol),特别涉及基于网络编码理论的TCP协议的网络控制传输领域。
背景技术
基于网络编码理论的TCP协议(Network Coding TCP,本文后面简称为NC-TCP)提出的算法是利用随机线性编码技术掩盖TCP数据包的丢失,有效提高吞吐量。这种方法同时确保被传送的数据包在很大概率上具有新信息保证性质,即对每个接收方来说,除非其已经具备了和发送方一样多的信息,否则它通常都能收到新的信息。因此,接收方每次成功的接收都会获得新信息。
NC-TCP协议为了引入网络编码技术,需要对现有的TCP协议进行一些修改。首先,在发送端,发送方发送的不是原始数据包,而是数据包的随机线性组合,每个随机线性组合的系数都是从一个很大的域中随机选取的元素,即使一个已发送的线性组合丢失了,下个成功接收的线性组合仍可使解码顺利完成,这样便可以掩盖TCP数据包的丢失,换句话说,链路的损失对于TCP就像是一个附加的时延,该时延将引起一个新的有效往返时间(RTT)。这里,原来TCP中的超时重传机制已被冗余度R所替代,R表明了发送方执行待发送数据包线性组合的次数。上述RTT在此有新的解释,其代表网络用于可靠传输一个自由度(信息线性组合向量空间的一个新维数,也可以这样理解,自由度表征收到线性组合的个数,当自由度大于等于未知数据包个数时便可利用类似解方程的方法解出所有数据包)所耗费的有效时间,即一个组合从发送方发出到收到接收方确认信号之间的时间。当然,链路损失越多,有效RTT就越大。选择TCP-Vegas 版本与网络编码理论相融合,发送方记下每个线性组合的发送时间,当确认到达时,就与对应的发送时间进行比较以计算RTT。其次,在接收端,引入了“看见包”的概念。“看见包”机制解释为:如果一个节点有足够的信息来计算一个线性组合pk+ q ,其中q = ∑1>kα1p1 , 且对于所有1 > k有α1∈Fq,那么可以说这个节点看见了一个包pk。在这里,q是一个索引值大于k的包的线性组合。当在接收端判断看见一个包pk时,可以立即发送这个包对应的ACK回发送端,而不必等到将此包完全解码。“看见包”概念的引入解决了可能因解码时延而造成的ACK应答包不能及时产生发出的缺点,使网络编码理论很好地融入到了TCP协议中。
NC-TCP协议中还引入了节点知识和虚拟队列的概念。所谓节点知识就是一个节点所能计算的收到所有原始数据包的线性组合的集合,同时这些线性组合的系数向量所形成的向量空间称作该节点的知识空间。虚拟队列的个数等于接收方的个数,第j条虚拟队列的长度被定义为发送方知识空间的维数和第j个接收方知识空间的维数之差。
所有思想在现有的TCP协议上的实现需要尽可能采用一种非强加的方式,因而美国麻省理工学院(MIT)有人提出一种新的NC-TCP协议,即在发送方和接收方的TCP层和IP层间嵌入单独的网络编码层(参见J.K.Sundararajan, D.Shah, M.Medard, M.Mitzenmacher, and J.Barros “Network Coding Meets TCP,” in IEEE INFOCOM, Apr 2009),其中的操作描述如下:
发送模块从TCP源端收到数据包并将它们保存在一个代表编码窗口的编码缓存中,直到收到接收方的确认。发送方在编码窗口中生成并发送数据包的随机线性组合,线性组合系数通过包头来传输。
对于编码窗口中的数据包,将进行R次随机线性组合(R是冗余系数,为成功接收概率的倒数,其可能不是整数,故在运算时将向下取整)发送出去。如果R太小,将不足以掩盖数据包的丢失,因此,会出现大量的超时从而导致吞吐量低下;反之,发送速率会受到编码自身速率的限制,也会降低吞吐量,而且发送太多的线性组合也会阻塞网络。
当接收模块收到一个线性组合时,模块便从包头中检索出编码系数向量,将其添加到知识空间的基矩阵中,当虚拟队列的长度为零,即发送方知识空间的维数和接收方知识空间的维数之差为零时,便可开始解码,解码使用高斯消元法。一旦解码完成,接收模块就将这些数据包传给TCP。此外,接收方还维持一个存储未解码数据包的线性组合的缓存。另外,当接收方“看见”某一数据包时,其会通知发送方,发送方便将这一数据包丢弃。
上述NC-TCP协议虽然解决了将网络编码理论与TCP协议融合的难题,但由于其思想是通过发送编码冗余包来掩盖传输中的包的丢失,因此需要通过冗余系数R的设置来确定编码冗余包发送的数量。当网络情况较为稳定,丢包率变化不大的情况下,可以通过设置固定最优的冗余系数R(最优冗余系数R等于成功接收率的倒数)来提高网络吞吐量和链路利用率。但在网络情况不明,丢包率经常变化的环境下,固定冗余系数的NC-TCP协议会出现以下两种情况:(1)当设置的冗余系数R大于最优冗余系数值时,发送方会发送多余的无用编码冗余包,造成带宽的浪费;(2)当设置的冗余系数R小于最优冗余系数值时,发送方发送的编码冗余包不能很好地掩盖实际包的丢失,造成接收方因信息不足而无法解码出原始包。因此,固定冗余系数值的NC-TCP协议不能很好地适应网络环境不断变化的情况,特别是受外界干扰影响较大的无线环境的情况。
发明内容
为了改进NC-TCP协议的上述缺点,本发明基于TCP协议的网络编码理论提出一种基于TCP协议的自适应网络控制传输方法;本发明还提出一种基于TCP协议的自适应网络控制传输系统,并进行了模拟仿真。
本发明所述的方法是通过加入网络编码层,在数据包包头添加对当前网络环境的判断信息,在发送方网络编码层动态地对冗余系数R进行调整。
一种基于TCP协议的自适应网络控制传输方法,包括在网络传统的TCP/IP协议体系结构中的发送端和接收端的传输层和网络层中间分别添加网络编码层,在网络编码层中给编码包和ACK应答包添加包含特定变量的网络编码包头,利用编码包和ACK应答包将这些变量在接收端和发送端之间传递并更新,并利用这些变量在发送端网络编码层调整冗余系数R。
更具体地,本发明基于TCP协议的自适应网络控制传输方法,其中给编码包和ACK应答包添加包含特定变量的网络编码包头并且利用编码包和ACK应答包将这些变量在接收端和发送端之间传递并更新的具体方法表述如下:
在发送端,在网络编码层给网络编码包头中加入特定的变量包含:生成编码包的线性系数向量γ和变量pktID,该变量信息被接收端的网络编码层提取,其中,生成编码包的线性系数向量γ被交予解码模块用于原始包的解码;变量pktID被赋值给接收端网络编码层中的变量echo_pktID。
在接收端,在网络编码层给ACK应答包网络编码包头加入特定的变量包含:变量echo_pktID和变量loss,loss =pktID – id。其中echo_pktID用以表示导致此ACK包产生的编码包的唯一编码序号,loss值表示编码包的pktID序号和最新看见的原始包序号id之间的差值,依靠ACK应答包将这两个变量传回发送端。
当发送端的网络编码层收到ACK应答包时,剥去ACK应答包的网络编码包头,提取变量信息echo_pktID和loss。
本发明提出的基于TCP协议的自适应网络控制传输方法的特点还包括在发送端网络编码层调整冗余系数R,具体方法是:在发送端的网络编码层中还添加了如下变量: R_old表示当前冗余系数;W表示上一次调整冗余系数R值时echo_pktID的理论最小值, 当echo_pktID满足等于或者第一次大于(W+R_old)值这两个条件之一时,则进行调整冗余系数R值:
利用从ACK包头里提取出的loss值计算得出当前发送端网络编码层中变量diff_loss_new的值,即diff_loss_new = loss – loss_old,其中loss_old表示上一次调整冗余系数R时收到的ACK包中loss的值,diff_loss_new表示相邻两次调整冗余系数R值时收到ACK包中loss值的差值;利用变量diff_loss_new计算得出新的冗余系数R_new的值,即R_new = R_old+2*(diff_loss_new/10)+ (diff_loss_old/10);其中diff_loss_old表示上一次调整冗余系数R时得出的diff_loss_new的值;更新发送端网络编码层中的参数变量,即R_old = R_new, loss_old = loss, diff_loss_old = diff_loss_new, W = W + 10*R_new。
这种动态调整冗余系数的方法,可以增强协议对突发丢失的抵抗力,并在丢失率不断变化的网络环境中,使冗余系数R尽可能维持在最优值,提高网络吞吐率和链路利用率。
根据上述方法,本发明提出一种基于TCP协议的自适应网络控制传输系统,包括发送端和接收端,该系统分别在发送端和接收端的传输层和网络层中间设置了网络编码层,其中:
发送端的网络编码层包含的两个控制传输模块:一个用于处理从发送端TCP传输层送来的数据包或者管理链接的包,该控制传输模块给数据包进行网络编码并加入特定的变量在网络编码包头中。加入的特定变量包含:生成编码包的线性系数向量γ和变量pktID,该变量信息被接收端网络编码层的用于处理从发送端传来的编码数据包的控制传输模块提取,其中,所述生成编码包的线性系数向量γ被用于原始包的解码;所述变量pktID被赋值给接收端网络编码层中的变量echo_pktID。
另一个控制传输模块用于处理从接收端传来的ACK应答包,该模块对来自发送端下层网络层传来的ACK应答包剥去网络编码包头,提取包头中的变量 echo_pktID,根据提取出的变量echo_pktID值判断此时是否应该更新冗余系数R值,若echo_pktID等于W + 10*R_old或者echo_pktID第一次大于W + 10*R_old,则开始更新冗余系数R值:从ACK应答包的网络编码包头中提取变量loss值,利用从ACK包头里提取出的loss值计算得出当前发送端网络编码层中变量diff_loss_new的值,即diff_loss_new = loss– loss_old; 其中loss_old表示上一次调整冗余系数R时收到的ACK包中loss的值,diff_loss_new表示相邻两次调整冗余系数R值时收到ACK包中loss值的差值;利用变量diff_loss_new计算得出新的冗余系数R_new的值,即R_new = R_old + 2*(diff_loss_new/10) + (diff_loss_old/10);其中diff_loss_old表示上一次调整冗余系数R时得出的diff_loss_new的值,更新发送端网络编码层中的参数变量,即R_old = R_new, loss_old = loss, diff_loss_old = diff_loss_new, W = W + 10*R_new。
接收端的网络编码层同样包含的两个控制传输模块:一个用于处理从接收端
TCP传输层送来的ACK包,该模块判断从接收端TCP传输层送来的ACK包是否是将建立链接的控制包,若是则交付给接收端下层网络层,若不是,则将其丢弃并返回等待状态。
另一个控制传输模块用于处理从发送端传来的编码数据包,该模块若收到来自下层网络层交付的数据包,则剥去数据包中的网络编码包头,提取编码系数向量γ和变量pktID,进行解码操作,得到原始包,并生成一个新的添加网络编码包头的ACK应答包,所添加的网络编码包头中包含变量loss和变量echo_pktID,将新生成的ACK应答包交付予下层网络层。
为更清楚地表达本发明的内容,现对本发明的技术方案做进一步详细阐述:在网络传统的TCP/IP协议体系结构中,从上到下分别由应用层、传输层、网络层、数据链路层、物理层组成。为了添加控制处理模块,本发明的技术方案是在发送端和接收端的传输层和网络层中间分别添加了网络编码层,并给编码包和ACK应答包添加包含特定变量的网络编码包头,利用编码包和ACK应答包将这些变量在接收端和发送端之间传递并更新,用以接收实时网络环境参数,并做出相应的处理,进而调整网络传输控制模式,以适应实际网络需要。
在发送端的网络编码层中,本发明将从上一层传输层收集到的数据包统一编码后交给下一层,即网络层(IP层)。其中,在网络编码层中设有特定的网络编码缓冲区,用以接收从传输层中交付的数据包。每一次编码时,将缓冲区中所有的数据包进行线性组合,并添加网络编码包头,生成编码包交付给网络层。
在所述的发送端添加的网络编码包头中包含特定信息用以接收端网络编码层的解码处理以及探测和记录当前网络环境。所述特定信息包括:(1)生成编码包的线性系数向量γ。因为编码包是由编码缓冲区中所有的原始包经由线性组合而成,线性系数向量γ记录每一个原始包前添加的随机系数。(2)变量pktID。用以唯一表示当前编码包的编码序号。
在接收端,网络编码层会收到由下层网络层交付的网络编码数据包。当接收到编码包后,网络编码层将剥去编码包中的网络编码包头,提取网络编码包头中的信息,并将此编码包加入解码模块进行解码和“看见包”的判断。若发现“看见”新的原始包,则生成相应的ACK交付给下层网络层;若解码出新的原始包,则将这个原始包交付给上层传输层,并在解码矩阵中删除相应的编码包。
在网络编码包头中提取的信息包括:(1)生成编码包的线性系数向量γ。该向量被交予解码模块用于原始包的解码。(2)变量pktID。该变量被赋值给接收端网络编码层中的变量echo_pktID。其中,echo_pktID的含义将在生成ACK步骤中解释。
在接收端网络编码层中生成的ACK包也添加了网络编码包头,其中包含的反馈信息用以接收端网络编码层调整控制参数。ACK包的网络编码包头中所包含的信息包括:(1)变量echo_pktID。用以表示导致此ACK包产生的编码包的唯一编码序号。(2)变量loss。其中loss值是在解码模块的解码和判断“看见”包过程中产生的,表示编码包的pktID序号和最新看见的原始包序号id之间的差值。具体来说,每生成一个ACK包是因为在解码模块中看见了一个新的原始包。而每一个原始包都有自己唯一的原始序号标识id。在编码包的传输过程中,由于不可避免地存在包的丢失而导致原始包序号标识id总是小于或者等于编码包序号pktID的。而loss值表示这两个序号之间的差值,即loss = pktID – id。它指示了当前在接收端,网络编码层还需要收到多少个线性无关的编码包,才能完全“看见”或者解码出当前在解码模块中存在的原始包。
在接收端,网络编码层还可能收到由上层传输层交付下来的原始的ACK包。若该ACK是一个用于链接管理的控制包,则将它转发给下层网络层;否则,将它丢弃。
在发送端,网络编码层除了收到上层传输层传来的原始数据包和管理控制包,还可能收到由下层网络层交付的ACK包。当发送端网络编码层收到ACK包时,剥去ACK包的网络编码包头,提取其中的信息。提取的信息包括:(1)变量echo_pktID。当echo_pktID等于或者第一次大于(W+R_old)值时,则进入调整冗余系数R值的状态。其中,R_old表示当前冗余系数,W表示上一次调整冗余系数R值时echo_pktID的理论最小值。否则,在网络编码缓冲区中删去已确认的原始包,并将剥去网络编码包头后的ACK直接交付给上层传输层。(2)变量loss。当系统进入调整冗余系数R状态时,利用从ACK包头里提取出的loss值计算得出当前发送端网络编码层中变量diff_loss_new的值,即diff_loss_new = loss – loss_old。 其中loss_old表示上一次调整冗余系数R时,收到的ACK包中loss的值。diff_loss_new则表示相邻两次调整冗余系数R值时,收到ACK包中loss值的差值。进而利用变量diff_loss_new计算得出新的冗余系数R_new的值,即R_new = R_old + 2*(diff_loss_new/10) + (diff_loss_old/10)。其中diff_loss_old表示上一次调整冗余系数R时得出的diff_loss_new的值。更新发送端网络编码层中的参数变量,即R_old = R_new, loss_old = loss, diff_loss_old = diff_loss_new, W = W + 10*R_new。至此,在发送端更新冗余系数R过程结束,网络编码层将删去编码缓冲区中已确认的原始包,并将此ACK传递给上层传输层。
附图说明
结合后面将要给出的描述,以及下述附图,将会对本发明的特点及优势有更透彻的理解。
图1是加入网络编码层后系统的TCP/IP协议体系结构。
图2是发送端网络编码层操作流程图。
图3是接收端网络编码层操作流程图。
图4是仿真结构拓扑图。
图5是一条TCP-Vegas流同一条SANC-TCP流竞争仿真图。
图6是一条SANC-TCP流同另一条SANC-TCP流竞争仿真图。
图7是五条SANC-TCP流竞争一段链路仿真图。
图8是三个协议在不同丢失率下的吞吐率仿真示意图。
图9是NC-TCP协议与SANC-TCP协议在不同丢失率下的吞吐率仿真示意图。
图10是突发丢失情况下三种协议的瞬时吞吐率仿真示意图。
实施方式
在下面的描述中,给出了许多特殊的细节,以提供对于本发明的透彻理解。但是,本领域的熟练技术人员可以看出,本发明的实施并不依赖于这些特殊细节。在其它场合,为了避免引起不必要的混淆,对已有的方法、过程、元件将不再详细描述。
1自适应网络传输控制系统的具体算法描述和实现过程:
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供一种基于TCP协议的自适应网络控制传输方案,在网络传输质量受外界影响较大,网络性能不稳定的无线网络中有其独特的优越性。
我们考虑简单的点对点通信。在点对点通信中,每个节点既可以完成发送端的功能,也可以完成接收端的功能。为了把本发明的具体过程描述清楚,我们将一个节点只作为发送端处理,而将与之通信的另一个节点作为接收端处理。参见图1,在发送端,应用层101产生数据交付给下层传输层102,传输层102添加TCP包头后将数据包交付下层网络编码层103,编码层103将编码缓冲区中的原始包进行编码并添加网络编码包头后,再将生成的编码包交付给下一层网络层104。之后在发送端网络层104、数据链路层105、物理层106中的数据包处理对于我们的自适应系统来说是透明的。
数据经过网络传输发送至接收端。同样,在接收端中,物理层107、数据链路层108、网络层109中对数据包的处理对于我们的自适应系统来说也是透明的。在接收端的网络编码层110中,系统对收到的编码包进行解码处理,生成相应的数据应答包ACK交付给下层网络层109。并将解码后得到的原始包交付给上层传输层111,再由传输层111将数据传给应用层112中的特定进程。
接收端网络编码层110生成的ACK包经过网络传输传送到发送端。ACK包经物理层106、数据链路层105、网络层104,交付至发送端网络编码层103。在网络编码层103中,根据收到的ACK包中的信息进行删去编码缓冲区已确认的原始包,更新冗余系数R,更新发送端网络编码层参数等一系列处理,并将剥去网络编码包头后的ACK包交付给上层传输层102。
至此,我们的系统完成了一个特定编码包从发送端传输至接收端,并返回ACK包给接收端的过程。下面,我们对在发送端网络编码层103中的处理过程做一个详细的说明。
发送端网络编码层103需要对来自发送端上层传输层102的包以及通过下层网络层104交付的来自接收方的确认包ACK分别做出响应。参见图2,在发送端网络编码层103具体执行过程步骤如下:
200:一开始,当发送端网络编码层103既没有收到来自上层传输层102的包,也没有收到来自下层网络层104交付的ACK应答包时,系统处于等待状态。将编码层中变量NUM初始化为0。
201:当有包进入网络编码层103时,系统判断此包的类型,进而执行相对应的操作。
202:若收到来自发送端上层传输层102的包,判断此包是否为数据包,或是用于链接管理的控制包。
203:如果在步骤202中收到的包是用于网络通信链接管理的控制包,则不做任何处理,直接将此包交付予下层网络层104,并返回等待状态。
204:如果在步骤202中收到的包是来自上层传输层102的数据包,且该数据包没有在网络编码层103中的编码缓冲区中,则将这个数据包加入编码缓冲区。并设置变量NUM = NUM + R。
205:重复执行以下操作NUM次:
1)将编码缓冲区中所有原始数据包进行线性组合编码,生成所需的编码数据包。
2)对编码数据包添加网络编码包头。包头信息包括:(1)生成编码包时的线性系数向量γ。(2)用于唯一指定此编码包序号的变量pktID。
3)将生成的编码包传递给下层网络层104。
206:设置变量值NUM,即NUM = NUM的小数部分。返回等待状态。
207:判断是否收到来自发送端下层网络层104交付的ACK应答包。若否,则继续等待状态。
208:若收到ACK应答包,则剥去ACK包中的网络编码包头,提取出包头中存储的变量echo_pktID。
209:根据步骤208提取出的变量echo_pktID值判断此时是否应该更新冗余系数R值。若echo_pktID等于W + 10*R_old或者echo_pktID第一次大于W + 10*R_old,则开始更新冗余系数R值,进入步骤211。否则,不进行更新,直接进入步骤210。
210:从编码缓冲区中删除已确认的包,并将此剥去网络编码包头后的ACK上传给上层传输层102。结束发送端网络编码层103处理过程,返回等待状态。
211:从ACK的网络编码包头中提取出变量loss值,并利用其计算出当前diff_loss_new的值,即:diff_loss_new = loss – loss_old。其中,loss_old为上一次更新冗余系数R值时,相应ACK包中提取出的loss值。
212:更新冗余系数R的值,即:R_new = R_old + 2*(diff_loss_new/10) + (diff_loss_old/10)。其中diff_loss_old表示上一次调整冗余系数时得出的diff_loss_new的值。
213:更新存储在发送端网络编码层中的变量值,即:R_new = R_old + 2*(diff_loss_new/10) + (diff_loss_old/10)。其中diff_loss_old表示上一次调整冗余系数R时得出的diff_loss_new的值。更新完毕后,进入步骤210。
总的来说,发送端网络编码层103需要完成的主要工作既是:(1)对数据包进行编码操作。(2)根据ACK包的信息,自动更新冗余系数R值。通过这些操作,完成本发明提出的自适应网络传输控制方法。
在接收端,同样的,网络编码层110需要对两种情况做出处理,即:来自接收端上层传输层111交付的ACK包和来自下层网络层109交付的编码数据包。参见图3,在接收端网络编码层110具体执行过程步骤如下:
300:当接收端网络编码层110既没有收到来自上层传输层111的ACK包,也没有收到来自下层网络层109的数据包时,系统处于等待状态。
301:判断网络编码层110是否收到了来自接收端上层传输层111传来的ACK应答包。
302:若在步骤301中判断网络编码层110收到来自上层传输层111传来的ACK应答包,则此时判断此ACK包是否是用于建立链接的控制包。
303:若在步骤302中的ACK是用于建立链接的控制包,则将其交付给接收端下层网络层109,并返回等待状态。
304:若在步骤302中的ACK不是用于建立链接的控制包,则将其丢弃,并返回等待状态。
305:判断接收端网络编码层110是否收到来自下层网络层109交付的数据包。若否,则返回等待状态。
306:若收到来自下层网络层109交付的数据包,则剥去数据包中的网络编码包头,提取出编码系数向量γ和变量pktID。
307:将该编码向量作为新的一行添加到编码系数矩阵中,对编码系数矩阵进行高斯消元,得到新“看见”包的序号值。
308:生成一个新的ACK,它的序号等于新“看见”的原始包的序号。添加网络编码包头,在包头中的信息包括变量loss和变量echo_pktID,其中loss表示当前在接收方还需要多少个线性无关的编码包才能完全解码出所有的原始包;echo_pktID值等于收到信源数据包网络编码包头中pktID的值。
309:将生成的ACK交付予下层网络层09,并返回等待状态。
310:在步骤306中将数据包剥去网络编码包头后,将有效载荷添加到解码缓存中,对缓存中的内容进行高斯消元法操作。
311:判断在解码缓存中是否有新的原始包被解码出来。若否,则返回等待状态。
312:当在310中有新的原始包被解码出来时,则将它转发给接收端上层传输层,并将相应载荷从缓存中删除。返回等待状态。
总的来说,接收端网络编码层110需要完成的主要工作包括:(1)进行解码操作,得到原始包;(2)生成ACK应答包。
至此,本发明实施例构建了一套完整的网络编码的自适应TCP协议。它以MIT提出的NC-TCP协议为基础【J.K.Sundararajan, D.Shah, M.Medard, M.Mitzenmacher, and J.Barros “Network Coding Meets TCP,” in IEEE INFOCOM, Apr 2009】,提出自适应理论,通过在发送端网络编码层收集实时信息,动态调整冗余系数R来改进固定冗余系数R的NC-TCP协议在不稳定网络环境的传输性能。所以,采用本发明的方法,我们的新协议可称为Self-Adaptive Network Coding TCP,简称SANC-TCP。
2 仿真结果证明其优越性
我们利用伯克利大学开发的开源仿真工具Network Simulator-2对三种不同的协议TCP-Vegas、固定冗余系数值R的NC-TCP协议和动态调整R值的SANC-TCP协议在丢失率不同的网络环境中的表现进行了仿真。图4是仿真的拓扑图,它是一个包含8跳,9个节点的网络。
我们首先论证了新协议SANC-TCP的公平性。在图4的拓扑中,分别有不同的FTP应用程序产生的流。其中,从节点0产生的FTP流将发送数据到节点7;从节点1产生的FTP流将发送数据到节点8,这些流将争用中间的节点和链路。我们设置每条链路的带宽为1MB,传输时延为10ms,节点容量设为200,TCP接收窗口设置为40个包,每个包的大小设置为1000比特。Vegas参数α、β和γ分别被设置为28、30和2。公平性指的是当两条相似的流竞争同一段链路时,他们会得到大致相似的链路利用率。并且,这样的特性不会因为流加入链路时间的不同而改变。众所周知,TCP-Vegas协议的公平性取决于变量α和β,这两个变量选取的值不同可以使TCP-Vegas协议成为公平或者不公平的协议。在我们的仿真过程中,我们首先选取一组特定的α和β值(即α取28,β取30),使其确保在未加入我们的机制之前,TCP-Vegas是公平的。接着,在我们的新协议ARNC-TCP中,我们选取相同的α和β值,在以下三种情况下进行仿真,验证协议的公平性。
情况1:一条TCP-Vegas流同一条SANC-TCP流竞争。
情况2:一条SANC-TCP流同另一条SANC-TCP流竞争。
情况3:五条SANC-TCP流同时竞争一段链路。
仿真结果分别如附图5-7所示,由此证明当选取合适的α值和β值时,我们的新协议SANC-TCP是公平的协议。
接下来,我们讨论在不同的丢失率的网络环境下,TCP-Vegas协议、NC-TCP协议、SANC-TCP协议控制的流的吞吐率表现情况。依然采取如图3所示的拓扑结构,不过此时每次仿真时,分别只有一条FTP流从节点0发送数据到节点7。并在节点2到节点6中间的链路中设置了随机丢失模型。图8比较了在不同丢失率情况下,三个协议控制的FTP流的吞吐率表现。需要说明的是,对于NC-TCP协议,在不同丢失率情况下,我们都人为将其冗余系数R设置为最优值。如在丢失率为20%的环境下,设置R值为1/(1-20%)=1.25。从图8可以看出,当丢失率为0时,三个协议控制的FTP流的吞吐率都接近理论最优值。但随着丢失率的提高,TCP-Vegas流的吞吐率急剧下降,而将R值设置为最优值的NC-TCP流和我们的SANC-TCP流表现出很好的鲁棒性,即使丢失率增大到45%,其吞吐量也接近信道的理论最优值。而SANC-TCP流的吞吐率还略高于将R值设置为最优值的NC-TCP流的吞吐率。
在图8中,相对于每一个丢失率,我们都将NC-TCP流中的R值设置成为了其对应的最优值。依然采用图4所示的拓扑结构,我们考虑这样一种情况。即将NC-TCP流的R值固定为1.11,在丢失率在10%到45%变化情况下,比较NC-TCP流和SANC-TCP流的吞吐率情况。从图9可以看出,当丢失率为10%时,NC-TCP流的R值处在最优情况,其获得的吞吐率和SANC-TCP流大致相同。但随着丢失率的增加,由于NC-TCP流发送的冗余包数量无法掩盖包的丢失,造成接收端不能解码以及大量的超时重传等待,导致吞吐率急剧下降。而SANC-TCP流则表现出很好的鲁棒性,证明其在丢失率不断变化的网络环境中有明显的优势。另外,若网络环境丢失率小于10%,此时的NC-TCP流会发送大量多余的冗余包,造成网络带宽的浪费;而SANC-TCP流则会及时调低R值,保证网络的高效利用。
最后,在实际网络环境中,特别是易受外界干扰的无线网络环境中,突发丢失是一种很常见的情况。如何在突发丢失的情况下,依然保持网络的畅通,以及如何在网络恢复正常状态后迅速提高吞吐率是一个重要的课题。图10即是对这样情况的仿真结果。依然采用图4所示的拓扑结构,NC-TCP流的R值固定为1.11。在0.6秒时,中间链路的丢失率保持在10%;在500秒时,由于出现未知突发状况,链路丢失率突然升至30%,直到600秒时才重新恢复到丢失率为10%,直至仿真结束。从图10可以看出,在500秒之前,NC-TCP流和ARNC-TCP流都在链路理论极限吞吐率0.9Mbs上下浮动。但当到500秒时,链路丢失突然提高到30%,NC-TCP流和TCP-Vegas流的瞬时吞吐率都急速下降,几乎降至0,而ARNC-TCP流依然保持很好的特性,在链路理论极限吞吐率0.7Mbs上下浮动。由此可以证明,在应对实际网络中常常出现的突发丢失情况,我们的ARNC-TCP协议相对于其他两种协议有更好的抵抗力。保证了即使出现上述突发状况,也能获得较高的网络链路利用率。
由此可见,本发明的所提出的基于TCP协议的自适应网络控制传输方法可形成一套完整的基于网络编码的自适应TCP协议,即我们称之为SANC-TCP协议,以及按照此方法构建的控制传输系统通过发送冗余包并动态调整冗余系数R很好地解决了数据包的丢失问题。该设计对于之前协议栈的改动很小,能够将网络编码理论与TCP协议很好地结合,相比普通NC-TCP协议拥有更大的吞吐率和对突发性丢失更好的鲁棒性。
Claims (3)
1.一种基于TCP协议的自适应网络控制传输方法,包括在网络传统的TCP/IP协议体系结构中的发送端和接收端的传输层和网络层中间分别添加网络编码层,其特征在于:在网络编码层中给编码包和ACK应答包添加包含特定变量的网络编码包头,利用编码包和ACK应答包将所述特定变量在接收端和发送端之间传递并更新,并利用所述特定变量在发送端网络编码层调整冗余系数。
2.根据权利要求1所述的基于TCP协议的自适应网络控制传输方法,其特征在于所述给编码包和ACK应答包添加包含特定变量的网络编码包头,利用编码包和ACK应答包将这些变量在接收端和发送端之间传递并更新,是按照如下方法进行:
在发送端,在网络编码层给网络编码包头中加入特定的变量包括:生成编码包的线性系数向量γ和变量pktID,该变量信息被接收端的网络编码层提取,其中,所述生成编码包的线性系数向量γ被交予解码模块用于原始包的解码,所述变量pktID被赋值给接收端网络编码层中的变量echo_pktID;
在接收端,在网络编码层给ACK应答包的网络编码包头加入特定的变量包括:变量echo_pktID和变量loss,loss = pktID – id,其中echo_pktID用以表示导致此ACK包产生的编码包的唯一编码序号,loss值表示编码包的pktID序号和最新看见的原始包序号id之间的差值,依靠ACK应答包将这两个变量传回发送端;
当发送端的网络编码层收到ACK应答包时,剥去ACK应答包的网络编码包头,提取变量信息echo_pktID和loss;
所述在发送端网络编码层调整冗余系数R是指在发送端的网络编码层中还添加了如下变量: R_old表示当前冗余系数;W表示上一次调整冗余系数R值时echo_pktID的理论最小值, 若echo_pktID满足等于或者第一次大于W + 10*R_old值这两个条件之一时,则进行调整冗余系数R值:
利用从ACK包头里提取出的loss值计算得出当前发送端网络编码层中变量diff_loss_new的值,即diff_loss_new = loss – loss_old;其中loss_old表示上一次调整冗余系数R时收到的ACK包中loss的值,diff_loss_new表示相邻两次调整冗余系数R值时收到ACK包中loss值的差值;利用变量diff_loss_new计算得出新的冗余系数R_new的值,即R_new = R_old+2*(diff_loss_new/10)+ (diff_loss_old/10);其中diff_loss_old表示上一次调整冗余系数R时得出的diff_loss_new的值;更新发送端网络编码层中的参数变量,即R_old = R_new, loss_old = loss, diff_loss_old = diff_loss_new, W = W + 10*R_new。
3.一种基于TCP协议的自适应网络控制传输系统,包括发送端和接收端,该系统分别在发送端和接收端的传输层和网络层中间设置了网络编码层,其特征在于:
发送端的网络编码层包含的两个控制传输模块:一个模块用于处理从发送端TCP传输层送来的数据包或者管理链接的包,该控制传输模块给数据包进行网络编码并加入特定的变量在网络编码包头中,所述特定变量包含:生成编码包的线性系数向量γ和变量pktID,该变量信息被接收端网络编码层的用于处理从发送端传来的编码数据包的控制传输模块提取,其中,所述生成编码包的线性系数向量γ被用于原始包的解码;所述变量pktID被赋值给接收端网络编码层中的变量echo_pktID;
另一个控制传输模块用于处理从接收端传来的ACK应答包,该模块对来自发送端下层网络层传来的ACK应答包剥去网络编码包头,提取包头中的变量 echo_pktID,根据提取出的变量echo_pktID值判断此时是否应该更新冗余系数R值,若echo_pktID等于W + 10*R_old或者echo_pktID第一次大于W + 10*R_old,则开始更新冗余系数R值:从ACK应答包的网络编码包头中提取变量loss值,利用从ACK包头里提取出的loss值计算得出当前发送端网络编码层中变量diff_loss_new的值,即diff_loss_new = loss – loss_old; 其中loss_old表示上一次调整冗余系数R时收到的ACK包中loss的值,diff_loss_new表示相邻两次调整冗余系数R值时收到ACK包中loss值的差值;利用变量diff_loss_new计算得出新的冗余系数R_new的值,即R_new = R_old + 2*(diff_loss_new/10) + (diff_loss_old/10);其中diff_loss_old表示上一次调整冗余系数R时得出的diff_loss_new的值,更新发送端网络编码层中的参数变量,即R_old = R_new, loss_old = loss, diff_loss_old = diff_loss_new, W = W + 10*R_new;
接收端的网络编码层包含的两个控制传输模块:一个模块用于处理从接收端TCP传输层送来的ACK包,该模块判断从接收端TCP传输层送来的ACK包是否是将建立链接的控制包,若是则交付给接收端下层网络层,若不是,则将其丢弃并返回等待状态;
另一个控制传输模块用于处理从发送端传来的编码数据包,该模块若收到来自下层网络层交付的数据包,则剥去数据包中的网络编码包头,提取编码系数向量γ和变量pktID,进行解码操作,得到原始包,并生成一个新的添加网络编码包头的ACK应答包,所添加的网络编码包头中包含变量loss和变量echo_pktID,将新生成的ACK应答包交付予下层网络层。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101695362A CN102209079A (zh) | 2011-06-22 | 2011-06-22 | 一种基于tcp协议的自适应网络控制传输方法和系统 |
PCT/CN2011/077329 WO2012174763A1 (zh) | 2011-06-22 | 2011-07-19 | 一种基于tcp协议的自适应网络控制传输方法和系统 |
US13/514,641 US9553956B2 (en) | 2011-06-22 | 2011-07-19 | Self-adaptive network control transmission method and system based on TCP |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101695362A CN102209079A (zh) | 2011-06-22 | 2011-06-22 | 一种基于tcp协议的自适应网络控制传输方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102209079A true CN102209079A (zh) | 2011-10-05 |
Family
ID=44697743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101695362A Pending CN102209079A (zh) | 2011-06-22 | 2011-06-22 | 一种基于tcp协议的自适应网络控制传输方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9553956B2 (zh) |
CN (1) | CN102209079A (zh) |
WO (1) | WO2012174763A1 (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102904689A (zh) * | 2012-10-15 | 2013-01-30 | 哈尔滨工业大学深圳研究生院 | 基于网络编码的传输控制协议的改进方法 |
CN103354490A (zh) * | 2013-07-19 | 2013-10-16 | 中国人民解放军国防科学技术大学 | 一种结合补偿和前瞻的编码报文自适应重传机制 |
CN103391164A (zh) * | 2013-07-19 | 2013-11-13 | 中国人民解放军国防科学技术大学 | 一种基于线性网络编码的报文发送冗余度动态调整方法 |
CN103532954A (zh) * | 2013-10-17 | 2014-01-22 | 南京大学镇江高新技术研究院 | 一种面向数据中心的编码网络系统及其工作方法 |
CN103840928A (zh) * | 2012-11-23 | 2014-06-04 | 美国博通公司 | 用于长期演进中网络编码的tcp的系统和方法 |
CN105450357A (zh) * | 2014-09-24 | 2016-03-30 | 中兴通讯股份有限公司 | 编码参数的调整、反馈信息的处理方法及装置 |
CN106230560A (zh) * | 2016-09-28 | 2016-12-14 | 西北工业大学 | 无线网络中协作多媒体多播数据传输方法 |
CN107196991A (zh) * | 2017-04-06 | 2017-09-22 | 暨南大学 | 一种面向网络编码集群系统的数据更新方法 |
CN107508655A (zh) * | 2017-07-19 | 2017-12-22 | 西南交通大学 | 一种自适应端到端网络编码传输方法 |
CN107634823A (zh) * | 2017-07-19 | 2018-01-26 | 西南交通大学 | 基于网络编码的传输控制协议的数据传输方法 |
CN112039727A (zh) * | 2020-08-26 | 2020-12-04 | 北京字节跳动网络技术有限公司 | 数据传输方法、装置、电子设备及存储介质 |
CN112491658A (zh) * | 2020-12-02 | 2021-03-12 | 广州虎牙科技有限公司 | 带宽估计方法、装置、电子设备及计算机可读存储介质 |
CN112564712A (zh) * | 2020-11-26 | 2021-03-26 | 中国科学院计算技术研究所 | 一种基于深度强化学习的智能网络编码方法和设备 |
WO2022258071A1 (zh) * | 2021-06-11 | 2022-12-15 | 华为技术有限公司 | 通信方法,装置及可读存储介质 |
WO2023123515A1 (zh) * | 2021-12-31 | 2023-07-06 | Oppo广东移动通信有限公司 | 数据处理方法、终端设备和网络设备 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103152359B (zh) * | 2013-03-25 | 2016-03-23 | 重庆大学 | 一种端到端无线传输控制协议线性网络编码的改进方法 |
US9503948B1 (en) | 2014-03-04 | 2016-11-22 | Sprint Spectrum L.P. | Managing data redundancy of wireless device communication |
US9313136B1 (en) * | 2014-03-07 | 2016-04-12 | Sprint Spectrum L.P. | Managing data retransmission to a wireless device |
US9930145B2 (en) * | 2015-05-27 | 2018-03-27 | Huawei Technologies Co., Ltd. | System and method of header compression for online network codes |
EP3549289A1 (en) * | 2016-12-02 | 2019-10-09 | Harman International Industries, Incorporated | Communication method and system |
CN106788905A (zh) * | 2017-03-06 | 2017-05-31 | 苏州汉辰数字科技有限公司 | 一种编码tcp方法及系统 |
US11601935B2 (en) * | 2020-08-28 | 2023-03-07 | Trellisware Technologies, Inc. | Multi-channel time-division multiplexing access methods and systems |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026553A (zh) * | 2005-11-09 | 2007-08-29 | 索尼株式会社 | 分组传输装置、通信系统和程序 |
CN101841479A (zh) * | 2010-04-28 | 2010-09-22 | 四川大学 | 一种基于网络编码的高误码率长时延网络自适应传输方法 |
CN101938334A (zh) * | 2010-09-21 | 2011-01-05 | 上海大学 | 随机网络编码和自动重传请求联合的自适应差错控制方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6003084A (en) * | 1996-09-13 | 1999-12-14 | Secure Computing Corporation | Secure network proxy for connecting entities |
KR100781525B1 (ko) * | 2006-04-06 | 2007-12-03 | 삼성전자주식회사 | 가중 평균합을 이용하여 fgs 계층을 인코딩 및디코딩하는 방법 및 장치 |
US8582908B2 (en) * | 2007-08-07 | 2013-11-12 | Texas Instruments Incorporated | Quantization method and apparatus |
US8130776B1 (en) * | 2009-08-28 | 2012-03-06 | Massachusetts Institute Of Technology | Method and apparatus providing network coding based flow control |
US8312329B1 (en) * | 2011-06-13 | 2012-11-13 | Litepoint Corporation | System and method for using a single vector signal generator to verify device under test |
US8780693B2 (en) * | 2011-11-08 | 2014-07-15 | Massachusetts Institute Of Technology | Coding approach for a robust and flexible communication protocol |
-
2011
- 2011-06-22 CN CN2011101695362A patent/CN102209079A/zh active Pending
- 2011-07-19 WO PCT/CN2011/077329 patent/WO2012174763A1/zh active Application Filing
- 2011-07-19 US US13/514,641 patent/US9553956B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026553A (zh) * | 2005-11-09 | 2007-08-29 | 索尼株式会社 | 分组传输装置、通信系统和程序 |
CN101841479A (zh) * | 2010-04-28 | 2010-09-22 | 四川大学 | 一种基于网络编码的高误码率长时延网络自适应传输方法 |
CN101938334A (zh) * | 2010-09-21 | 2011-01-05 | 上海大学 | 随机网络编码和自动重传请求联合的自适应差错控制方法 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102904689A (zh) * | 2012-10-15 | 2013-01-30 | 哈尔滨工业大学深圳研究生院 | 基于网络编码的传输控制协议的改进方法 |
CN103840928A (zh) * | 2012-11-23 | 2014-06-04 | 美国博通公司 | 用于长期演进中网络编码的tcp的系统和方法 |
CN103354490A (zh) * | 2013-07-19 | 2013-10-16 | 中国人民解放军国防科学技术大学 | 一种结合补偿和前瞻的编码报文自适应重传机制 |
CN103391164A (zh) * | 2013-07-19 | 2013-11-13 | 中国人民解放军国防科学技术大学 | 一种基于线性网络编码的报文发送冗余度动态调整方法 |
CN103391164B (zh) * | 2013-07-19 | 2016-08-10 | 中国人民解放军国防科学技术大学 | 一种基于线性网络编码的报文发送冗余度动态调整方法 |
CN103354490B (zh) * | 2013-07-19 | 2017-05-10 | 中国人民解放军国防科学技术大学 | 一种结合补偿和前瞻的编码报文自适应重传方法 |
CN103532954A (zh) * | 2013-10-17 | 2014-01-22 | 南京大学镇江高新技术研究院 | 一种面向数据中心的编码网络系统及其工作方法 |
CN103532954B (zh) * | 2013-10-17 | 2016-07-20 | 南京大学镇江高新技术研究院 | 一种面向数据中心的编码网络系统及其工作方法 |
CN105450357A (zh) * | 2014-09-24 | 2016-03-30 | 中兴通讯股份有限公司 | 编码参数的调整、反馈信息的处理方法及装置 |
CN106230560A (zh) * | 2016-09-28 | 2016-12-14 | 西北工业大学 | 无线网络中协作多媒体多播数据传输方法 |
CN107196991A (zh) * | 2017-04-06 | 2017-09-22 | 暨南大学 | 一种面向网络编码集群系统的数据更新方法 |
CN107508655A (zh) * | 2017-07-19 | 2017-12-22 | 西南交通大学 | 一种自适应端到端网络编码传输方法 |
CN107634823A (zh) * | 2017-07-19 | 2018-01-26 | 西南交通大学 | 基于网络编码的传输控制协议的数据传输方法 |
CN107634823B (zh) * | 2017-07-19 | 2020-03-20 | 西南交通大学 | 基于网络编码的传输控制协议的数据传输方法 |
CN107508655B (zh) * | 2017-07-19 | 2020-08-07 | 西南交通大学 | 一种自适应端到端网络编码传输方法 |
CN112039727A (zh) * | 2020-08-26 | 2020-12-04 | 北京字节跳动网络技术有限公司 | 数据传输方法、装置、电子设备及存储介质 |
CN112564712A (zh) * | 2020-11-26 | 2021-03-26 | 中国科学院计算技术研究所 | 一种基于深度强化学习的智能网络编码方法和设备 |
CN112564712B (zh) * | 2020-11-26 | 2023-10-10 | 中国科学院计算技术研究所 | 一种基于深度强化学习的智能网络编码方法和设备 |
CN112491658A (zh) * | 2020-12-02 | 2021-03-12 | 广州虎牙科技有限公司 | 带宽估计方法、装置、电子设备及计算机可读存储介质 |
WO2022258071A1 (zh) * | 2021-06-11 | 2022-12-15 | 华为技术有限公司 | 通信方法,装置及可读存储介质 |
WO2023123515A1 (zh) * | 2021-12-31 | 2023-07-06 | Oppo广东移动通信有限公司 | 数据处理方法、终端设备和网络设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2012174763A1 (zh) | 2012-12-27 |
US20140112352A1 (en) | 2014-04-24 |
US9553956B2 (en) | 2017-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102209079A (zh) | 一种基于tcp协议的自适应网络控制传输方法和系统 | |
CN102291226B (zh) | 基于tcp协议的自适应网络传输控制方法和系统 | |
CN101061659B (zh) | 自适应前向纠错的方法和设备 | |
CN104243096B (zh) | 一种基于喷泉码的深空多文件传输方法 | |
CN101588597B (zh) | 一种基于Kalman滤波的无线流媒体自适应混合FEC/ARQ控制方法 | |
ES2325317T3 (es) | Metodo y dispositivos para controlar las retransmisiones en el flujo de datos. | |
EP1779606B1 (en) | System and method for higher throughput through a transportation network | |
CN104159166B (zh) | 基于移动网络丢包状态的直播视频数据传输差错控制方法 | |
CN101826937B (zh) | 适用于下一代移动互联网的链路层差错控制系统及其方法 | |
CN103312478B (zh) | 用于数据网络中的数据传输的方法和系统 | |
CN107888342A (zh) | 一种网络实时视频传输方法及装置 | |
US20080025210A1 (en) | Method and system for medium access control (MAC) layer specialization for voice and multimedia data streams | |
CN107276910A (zh) | 视频码率实时调整装置及系统、视频服务器 | |
CN105450357A (zh) | 编码参数的调整、反馈信息的处理方法及装置 | |
CN108174234A (zh) | 一种流媒体传输方法及系统 | |
CN101072083A (zh) | 一种优化网络数据传输冗余纠错率的方法 | |
Giambene et al. | Cross‐layer protocol optimization for satellite communications networks: A survey | |
CN103354615B (zh) | 基于信号强度的直播视频数据传输差错控制方法 | |
CN114337928A (zh) | 一种基于arq与fec自适应选择的实时视频传输方法 | |
US7330902B1 (en) | Header compression | |
CN106603192A (zh) | 一种基于媒体内容的自适应fec机制 | |
JP2003078508A (ja) | パケット再送信要求を有するパケット送信方法及びこの要求の送信に関連する制御機構 | |
US20050120124A1 (en) | Streaming of media from a server to a client device | |
CN102208962B (zh) | 无线数据传输方法 | |
Liu et al. | TCP performance in wireless access with adaptive modulation and coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20111005 |
|
C20 | Patent right or utility model deemed to be abandoned or is abandoned |