[go: up one dir, main page]

CN103209064B - 一种基于网络编码的传输控制协议确认机制的改进方法 - Google Patents

一种基于网络编码的传输控制协议确认机制的改进方法 Download PDF

Info

Publication number
CN103209064B
CN103209064B CN201310145162.XA CN201310145162A CN103209064B CN 103209064 B CN103209064 B CN 103209064B CN 201310145162 A CN201310145162 A CN 201310145162A CN 103209064 B CN103209064 B CN 103209064B
Authority
CN
China
Prior art keywords
coding
message
coding message
acknowledgement frame
eack
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.)
Active
Application number
CN201310145162.XA
Other languages
English (en)
Other versions
CN103209064A (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.)
SIMUTECH INC.
Original Assignee
SIMUTECH Inc
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 SIMUTECH Inc filed Critical SIMUTECH Inc
Priority to CN201310145162.XA priority Critical patent/CN103209064B/zh
Publication of CN103209064A publication Critical patent/CN103209064A/zh
Application granted granted Critical
Publication of CN103209064B publication Critical patent/CN103209064B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)

Abstract

本发明提出了一种基于网络编码的传输控制协议确认机制的改进方法。在现有网络编码中,没有考虑到确认帧的丢失对于网络吞吐量的影响,而实际上,基于网络编码的报文在传输过程中,确认帧有可能丢失,而在现有的网络编码算法中,一般认为确认帧丢失等价于编码报文丢失,确认帧丢失也会引起报文重传,很明显现有方法有待改进。对于接收端正确接收到编码报文而确认帧丢失的情况,发送端不需要重传该报文。本发明充分考虑确认帧丢失的情况,采用延时处理的方法,通过改变确认机制,来应对网络传输中经常出现的确认帧丢失问题,并提出改进的确认帧的具体结构。本发明能明显降低报文重传的次数,从而提高网络的吞吐量。

Description

一种基于网络编码的传输控制协议确认机制的改进方法
技术领域
本发明涉及传输控制协议领域,特别涉及基于网络编码的传输控制协议确认机制的改进。
背景技术
基于网络编码的传输控制协议是网络通信领域的热门研究领域,其融合编码和路由交换技术,通过在TCP/IP协议栈的TCP和IP层之间,增加一个子层网络编码层,网络编码层接收来自于TCP的报文,并将编码后的报文发送到接收端。基于网络编码的传输控制协议(TCP/NC),能够利用随机线性编码技术来应对报文的丢失,减少重传次数,从而能有效提高网络吞吐量。
在已有的网络编码算法中,确认帧的丢失一直没有被考虑在内,一般假设确认帧不丢失。而实际上确认帧可能丢失,而且其是否丢失对网络的吞吐量有明显影响。为了解决上述提出的问题,本发明充分考虑确认帧丢失所带来的问题,提出了一种基于网络编码的传输控制协议确认机制的改进方法。
发明内容
本发明针对基于网络编码的传输控制协议中的确认帧丢失问题,提出了一种基于网络编码的传输控制协议确认机制的改进方法,通过设计增强型确认帧EACK,有效应对确认帧的丢失问题。
在传统的网络编码中,接收端一旦收到编码报文,便会发送一个确认帧,这个确认帧会携带本次收到的编码报文和表达期望收到的下一个编码报文信息。而如果这个确认帧丢失,那么接收端就会错误地认为该编码报文丢失,从而会引起重传或者超时的发生。这种错误的判断会导致不必要的重传,会导致网络吞吐量的明显减小。
本发明正是基于此来改进确认机制。接收端在收到编码报文以后会选择发送ACK或者EACK,如果该编码报文以前都没有编码报文的丢失,那么就会发送ACK,若有编码报文未成功接收,则发送EACK,EACK会携带以前的未成功接收的编码报文的信息。
本发明中提出增强型确认帧EACK,如图1所示,其格式为:类型(1字节),长度(1字节),当前接收到的的编码报文序列号(1字节),位向量(x字节,x为接收到当前编码报文之前所丢失的编码报文个数);类型域表明该确认帧是ACK或是EACK,占一个字节;长度域表示EACK的总字节数,占1个字节;当前的编码报文序列号表示当前接收到的编码报文,占一个字节;位向量携带以前丢失的编码报文的信息,每个编码报文的丢失信息由偏移量来表示,每个偏移量占用1字节,x个编码报文丢失的位向量需要占用x个字节。
假设编码窗口为N,滑动窗口为M,滑动步调W,令滑动窗口和编码窗口相等即N=M。滑动步调W由下式给出:W=M-x,其中x为本轮和本轮以前丢失的编码报文个数。若W小于0,则表示滑动步调为0,也就是停止滑动,而顺序重传前面丢失的编码报文;若滑动步调W大于0,则向后滑动W,发送丢失的报文以及滑动窗口中的W个编码报文。
作为本发明的进一步改进,本发明采用延时的确认帧。发送端对未收到确认帧的编码报文并不立即启动重传,而是等待延时,当延时时间到而依然没有收到编码报文,接收端才会在发送的EACK字段中携带该编码报文丢失的信息。接收端必须确保其所发送的EACK字段是必须重传的,否则会导致网络系统效率的下降。
本发明中,发送端主要处理两种类型的数据:来自于TCP的数据包和来自于发送端的确认帧。
1.如果数据是来自于TCP的数据包:
(1)判断TCP缓冲区的数据包个数是否达到N个,若没有达到N个,继续等待;否则,转(2);
(2)从TCP缓冲区提取N个数据包,将N个数据包进行编码;
(3)编码头到这个随机线性组合的数据包里,产生N个编码报文,将这N个编码报发送到接收端。
2.如果接收到来自于接收端发送的ACK,则提取网络编码报文序列号,清除网络编码缓冲区中确认收到的编码报文。
3.如果接收到来自于接收端发送的EACK:
(1)提取当前接收到的网络编码报文序列号,清除网络编码缓冲区中确认收到的编码报文;
(2)提取丢失的网络编码报文序列号,计算丢失的编码报文的个数x;
(3)计算下一轮的滑动步调W:滑动步调W=滑动窗口的大小M-丢失的编码报文个数x;
①若W小于零,则表示滑动步调为0,也就是停止滑动,而顺序重传前面丢失的编码报文;
②若滑动步调W大于零,则向后滑动W,发送丢失的报文以及滑动窗口中的W个编码报文。
接收端主要处理两种类型的数据:来自于发送端的编码报文,来自于自身上层的控制报文。
1.等待状态:如果有以下事件发生,处理事件;否则继续等待。
2.如果是来自于自身上层的控制报文,则将其直接发送到IP层。
3.如果是来自于发送端的编码报文:
(1)提取网络编码序列号,检验是否有编码报文包丢失;
①若有编码报文丢失,则发送EACK;
②若没有编码报文丢失,则向发送端发送普通ACK。
(2)提取编码系数,构成编码向量,并将其作为新的行加入到编码矩阵中,求编码矩阵的秩;
(3)若秩<N,此时保留接收到的编码报文,继续等待;
(4)若秩=N,则可将N个编码的数据包解码,得到N个数据包,将其转发给自身上层的TCP层,并清除接收到的N个已经解码的编码报文。
本发明的有益效果是:对于没有收到确认帧的编码报文,发送端并不会立即重传该编码报文,而是通过延时处理,等待接下来的确认帧,如果这个编码报文确实丢失了,那么下一个收到的确认帧是EACK,而这个EACK里面会包含前面的所有错误,即会携带前面这个编码报文丢失的信息;如果下一个确认帧是ACK,那么表示前面的未收到确认字符的编码报文是ACK丢失,而不是编码报文的真正丢失。这样可以减少由于确认帧丢失所带来的不必要的报文重传,可以有效提高网络吞吐量。
附图说明
图1EACK的帧结构;
图2含有EACK的扩展TCP头;
图3接收端接收到的编码报文序列;
图4EACK数据段。
具体实施方式
下面结合附图对本发明的实施方式作进一步地详细描述。
本发明提出的增强型确认帧EACK,其位于TCP报头部分。若发送EACK,则将需要发送的EACK嵌入到TCP包头的可选项部分,具体如图2所示。
下面结合具体的编码报文丢包情况进一步介绍EACK。
接收端收到的编码报文如图3所示。其中灰色框表示该位置编码报文丢失;白色框表示该位置编码报文正确接收;最右端为当前接收到的编码报文。因此丢失的编码报文序列号依次为102,97,93;当前接收到的编码报文序列号为103。在接收端出现三处错误,x为3,即位向量的长度为3。错误用偏移量来表示。由下式计算偏移量,偏移量=当前编码报文序列号-丢失报文编码序列号。因此第1处错误偏移量为1,其表示序列号为102的编码报文丢失;第2处错误偏移量为6,其表示序列号为97的编码报文丢失;第3处错误偏移量为10,其表示序列号为93的编码报文丢失。
EACK帧结构如图1所示,按照图3所示的丢包情况,可以求得此情况下EACK的具体数据段。其具体内容如图4所示(注:类型域21表示发送的EACK,类型域0表示发送的是ACK)。
本发明中,滑动步调的大小是动态的,其取决于网络的丢包情况。如算法中所示,滑动步调W=滑动窗口的大小M-丢失的编码报文个数x;若W小于0,则表示滑动步调为0,也就是停止滑动,而下轮就顺序重传发送前面丢失的编码报文;若滑动步调W大于0,则滑动窗口向后滑动窗口W,发送丢失的编码报文以及滑动窗口中的W个编码报文。
下面用表1来说明基于网络编码的传输控制协议确认机制的改进方法的编码过程:假设N=M=4(其具体大小由决定,R为编码冗余因子),为了表述得明了清晰,此处假设编码报文顺序到达接收端。
表1网络编码示例
步骤1:发送端发送4个编码报文,接收端收到X1,X2时都会发送ACK,而在收到X4时则会发送EACK,接下来发送端会从EACK中提取丢失报文的序列号,并计算丢失报文个数x以及滑动窗口W的值,x=1,W=M-x=3。
步骤2:根据步骤1得到的丢失报文序列号和W的值,确定发送窗口中发送哪些编码报文。本轮会发送以前的丢失的编码报文X3,以及滑动窗口下后滑动3步所包含的编码报文X5,X6,X7。接收端在收到编码报文X3后会发送ACK。而收到X7时,会发送EACK。接下来发送端回从EACK中提取丢失报文的序列号,并计算x以及W的值,x=2,W=M-x=2。
步骤3:根据步骤2得到的丢失报文序列号和W的值,本轮会发送以前的丢失的编码报文X5,X6,以及滑动窗口下后滑动2步所包含的编码报文X8,X9。接收端在收到编码报文X6,X8,X9后会发送三个EACK。接下来发送端会从EACK中提取丢失报文的序列号,并计算x以及W,x=1,W=M-X=3。
步骤4:由步骤3得x为1,W为3,编码报文X5丢失。本轮会发送以前的丢失的编码报文X5,以及滑动窗口下后滑动3步所包含的编码报文X10,X11,X12。接收端在收到编码报文X5,X10,X11,X12会发送四个ACK。发送端没有收到EACK,那么下一轮滑动窗口W=4,滑动窗口顺序向后滑动4步。
在此说明书中,本发明已参照特定的实施实例做了描述。但是,很显然仍可以做出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

Claims (2)

1.一种基于网络编码的传输控制协议确认机制的改进方法,其特征在于:修改确认机制,设计增强型确认帧EACK;接收端在收到编码报文以后会选择发送ACK或者EACK,若该编码报文之前还有其它编码报文未成功接收,则发送EACK,否则,发送ACK;
EACK格式为:类型,长度,当前的编码报文序列号,位向量;类型域表明确认帧是ACK或是EACK,占一个字节;长度域表示EACK的总字节数,占1个字节;当前的编码报文序列号表示当前接收到的编码报文,占一个字节;位向量处于当前接收到的编码序列号字段之后,位向量携带当前接收到的编码报文以前丢失的编码报文的信息,每个编码报文的丢失信息由偏移量来表示,每个偏移量占用1字节,若有x个编码报文丢失,其位向量需要占用x个字节,x为当前接收到的编码报文以前的丢失的编码报文的个数;
对于没有收到确认帧的编码报文,发送端并不会立即重传该编码报文,而是通过延时处理,等待接下来的确认帧,如果这个编码报文确实丢失了,那么下一个收到的确认帧是EACK,而这个EACK里面会包含前面的所有错误,如果下一个确认帧是ACK,那么表示前面的未收到确认字符的编码报文是ACK丢失,而不是编码报文的真正丢失。
2.根据权利要求1所述的一种基于网络编码的传输控制协议确认机制的改进方法,其特征在于,EACK帧结构中,帧长是动态变化的,总字节数为x+3,x为丢失的编码报文的个数。
CN201310145162.XA 2013-04-25 2013-04-25 一种基于网络编码的传输控制协议确认机制的改进方法 Active CN103209064B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310145162.XA CN103209064B (zh) 2013-04-25 2013-04-25 一种基于网络编码的传输控制协议确认机制的改进方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310145162.XA CN103209064B (zh) 2013-04-25 2013-04-25 一种基于网络编码的传输控制协议确认机制的改进方法

Publications (2)

Publication Number Publication Date
CN103209064A CN103209064A (zh) 2013-07-17
CN103209064B true CN103209064B (zh) 2016-01-13

Family

ID=48756158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310145162.XA Active CN103209064B (zh) 2013-04-25 2013-04-25 一种基于网络编码的传输控制协议确认机制的改进方法

Country Status (1)

Country Link
CN (1) CN103209064B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104683070A (zh) * 2015-03-08 2015-06-03 西安电子科技大学 基于随机线性网络编码的传输控制方法
CN107547436B (zh) * 2017-07-19 2020-03-20 西南交通大学 基于网络编码的传输控制协议的编译码方法
CN108683480A (zh) * 2018-04-08 2018-10-19 东南大学 用于wmn的ack确认机制自适应切换方法及系统
CN110430018B (zh) * 2019-08-02 2021-10-26 电子科技大学 一种均衡保护的滑动窗口bats码传输方法
CN115883683B (zh) * 2021-09-24 2024-09-20 北京中创信测科技股份有限公司 一种报头解码方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102340391A (zh) * 2011-11-14 2012-02-01 电子科技大学 分段arq自动重传方法
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
JP4778453B2 (ja) * 2007-01-24 2011-09-21 株式会社エヌ・ティ・ティ・ドコモ 通信端末、輻輳制御方法および輻輳制御プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102340391A (zh) * 2011-11-14 2012-02-01 电子科技大学 分段arq自动重传方法
CN102413503A (zh) * 2011-12-27 2012-04-11 上海海事大学 一种用于Semi-TCP的自适应确认分组延迟发送的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于Vegas协议的包错误检测机制;沈明玉等;《计算机工程》;20100731;全文 *
学习笔记---TCP选项详解;未开发的力量;《百度空间》;20090815;第1-5页 *

Also Published As

Publication number Publication date
CN103209064A (zh) 2013-07-17

Similar Documents

Publication Publication Date Title
CN103209064B (zh) 一种基于网络编码的传输控制协议确认机制的改进方法
CN107592185B (zh) 一种适用于网络编码传输控制协议的前向重传方法
CN101621364B (zh) 自动重传控制器和重传块重组装置
JP5721301B2 (ja) 通信システムにおける非同期増分冗長受信のための方法および装置
CN103152359B (zh) 一种端到端无线传输控制协议线性网络编码的改进方法
CN102957511B (zh) 一种数据传输的自适应降速方法
CN104378444B (zh) 用于通过传输协议在测井数据链路上传输数据的方法
CN105391530A (zh) 一种基于网络编码的卫星网络可靠组播方法
CN106452559B (zh) 一种基于网络编码的高吞吐量卫星编队数据传输方法
CN105790899B (zh) 一种基于喷泉码的单次反馈重传方法
CN104038327B (zh) Fc网络的出错重传方法
CN104917590B (zh) 一种信道编码纠错方法
CN104092707A (zh) 基于分块校验与确认的卫星网络tcp协议性能增强方法
CN102546096B (zh) 一种基于不等错误保护的实时多播自适应优化方法
CN106301714A (zh) 一种数据传输方法及装置
CN101227478A (zh) 一种对抗链路乱序的方法
CN110601799A (zh) 一种基于双滑动窗口的链路重传方法及装置
CN104539402B (zh) 一种无线网络中的广播传输方法
CN101330368A (zh) 一种自适应多播传输方法
US20080082890A1 (en) Apparatus and method for transmitting/receiving signal in communication system
CN108183767A (zh) 一种适用于空间dtn网络的可靠传输方法
CN105391518B (zh) 一种面向深空网络的文件传输方法
CN103501214B (zh) 基于位图反馈的h-arqi型链路传输方法
KR100884943B1 (ko) 데이터 전송 방법 및 데이터 전송 시스템
CN106254044B (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
ASS Succession or assignment of patent right

Owner name: CHENGDU SIMU-TECH TECHNOLOGY DEVELOPMENT CO., LTD.

Free format text: FORMER OWNER: CHONGQING UNIVERSITY

Effective date: 20150724

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150724

Address after: 610041 Sichuan City, Chengdu province high tech Zone, Century City Road, building D5, floor 216, No. 9

Applicant after: SIMUTECH INC.

Address before: 400044 Shapingba District Sha Street, No. 174, Chongqing

Applicant before: Chongqing University

C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Liao Yong

Inventor after: Cao Jie

Inventor after: Wei Haibo

Inventor after: Yang Lisheng

Inventor after: Zhao Ming

Inventor before: Liao Yong

Inventor before: Cao Jie

Inventor before: Wei Haibo

Inventor before: Yang Lisheng

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: LIAO YONG CAO JIE WEI HAIBO YANG LISHENG TO: LIAO YONG CAO JIE WEI HAIBO YANG LISHENG ZHAO MING

C14 Grant of patent or utility model
GR01 Patent grant