一种端到端无线传输控制协议线性网络编码的改进方法

文档序号:7553997阅读:191来源:国知局
专利名称:一种端到端无线传输控制协议线性网络编码的改进方法
技术领域
本发明涉及无线通信领域,特别涉及无线通信过程中TCP传输性能优化技术领域,具体是指一种端到端无线传输控制协议线性网络编码的改进方法。
背景技术
传输控制协议(TCP)是当今互联网协议栈的关键协议之一。很多互联网应用,比如文件传输协议FTP和网络终端协议Telnet等,都是依靠TCP进行数据的可靠传输。TCP设计之初是专门针对有线网络设计的,有线网络中数据丢失主要是由拥塞造成的。但是在无线网络中,数据丢失经常是由衰落、干扰和其它物理现象造成的,那么TCP就不适合在无线网络中应用。在无线网络中,一旦出现丢包,TCP经常错误地认为网络中出现拥塞并且减小传输速率,而实际上是无线链路丢包,不需要减小发送滑动窗口。结果,和有线网络相比时,TCP在无线网络中的性能就差了很多。网络编码由R.Ahlswede等人在2000年提出,其实现依靠网络中节点在转发信息前对接收到的信息进行编码后再传输。由于网络编码可以有效改善通信网络性能,尤其是无线网络性能,迅速引起研究人员的注意,并且目前成为全球范围内的研究热点。在已有的技术中,端到端线性网络编码技术在无线传输控制协议中的应用主要存在以下问题:(1)网络编码层编码时,对需要编码的原始报文信息的编码并未具体说明可行的实施过程;(2)在所生成的网络编码头中,编码头较为复杂,冗余较多,可以进一步优化;(3)接收端在成功接收到编码报文后,回复携带的是期望接收单个未解码的原始TCP报文信息,这与编码信息来自网络编码层不一致,应该携带期望传输的网络编码信息;(4)发送端滑动窗口是动态的,和丢包率有关,并没有考虑编码窗口、滑动窗口以及链路丢包的相互关系,容易造成网络编码不能有效的解码。以上问题增加了接收端解码的复杂度,难于实现,不利于实际的推广使用。而本发明针对上述问题,提出了具体可行的解决办法,改善了基于端到端线性网络编码用于无线传输控制协议的效果,提高了无线网络的吞吐量。

发明内容
本发明的目的是提出一种端到端无线传输控制协议线性网络编码的改进方法,降低基于网络编码的传输控制协议的编码和解码复杂度,减少重传次数,提高网络的吞吐量。在TCP/IP协议栈的TCP和IP层之间,增加一个子层网络编码层,并设置一定大小的网络编码缓冲区。发送端TCP报文的发送不再采用单个报文的形式,而是采用一定大小的编码窗口在网络编码层对TCP缓冲区的多个报文进行随机线性编码发送。接收端接收编码报文之后,进行解码,恢复原始的TCP报文。网络编码头包括:起始传输的报文序列号S,本次传输的网络编码报文序列号,编码窗口大小N,N个原始TCP报文对应补成固定长度L的补零字节数和对应的有限域内的随机编码系数;
编码算法:X, = Y^kPk,其中Pk为第k个TCP报文,为第i个TCP报文的编码系
数,编码系数由有限域GF(28)随机产生,TCP报文在网络编码层按照线性编码算法进行网络编码。如果TCP报文负载长度未达到指定长度L,采用补零的方式实现相同长度。作为本发明的改进,当编码报文丢失时,发送端并不立即启动重传,而是等待丢失的编码报文的个数达到编码窗口 N时,再启动重传,这样有利于简化滑动窗口滑动操作以及降低解码的复杂度,提高网络的吞吐量。 设冗余因子为R,TCP滑动窗口为W,滑动步调为M,若发送端未收到重传控制报文,则滑动步调M=W=N=R ;若收到重传控制报文,则停止滑动,滑动步调M=O,启动重传。作为本发明的进一步改进,设置已丢失报文重传次数上限为T (令T=N),若重传T次,依然没有收到该报文的确认帧,则不再重传,同时清除缓冲区中该组其它的编码报文。本发明中,发送端主要处理:编码和发送来自于TCP缓冲区的源数据包;以及接收来自于接收端的确认巾贞,确认巾贞包括普通确认巾贞和重传控制中贞。1.如果收到接收端的普通确认帧,则提取网络编码报文系列号,清除网络编码缓冲区中确认收到的编码报文。2.如果是重传控制帧,则滑动窗口停止滑动,提取重传控制帧中的待重传网络编码序列号,启动重传。3.如果是来自TCP的要传输的源数据包:(1)判断TCP缓冲区的源数据包个数是否达到N个,若没有达到N个,继续等待;否则,转(2);(2)从TCP缓冲区提取N个源数据包,将N个源数据包进行编码,产生N个编码报文,并将这N个编码报文发送到IP层;(3)提取编码报文的TCP序列号,清除TCP缓冲区对应的数据包;(4)计算丢失的已经编码报文数NUM,若NUM〈N,滑动窗口向后滑动N,转(I);否则,转(5);(5)启动重传,滑动窗口停止向后滑动,编码窗口重传丢失的编码报文;转(4)。本发明中,接收端主要处理:接收并解码来自于发送端的编码报文,以及向发送端发送确认中贞。接收到编码报文后,提取编码系数,组成编码向量,并将该编码向量放入编码矩阵中,求出编码矩阵的秩;(1)若秩〈N,此时保留接收到的编码数据包,并向发送端发送确认帧;(2)若秩=N,则可将N个编码的数据包解码,得到N个源数据包,此时清除接收到的N个已经解码的编码报文,并向信源发送确认帧。


图1网络编码头帧设计;图2重传确认帧网络编码头设计;图3网络编码算法流程。
具体实施例方式下面结合附图对本发明做进一步说明。在TCP/IP协议栈的TCP和IP层之间,增加一个子层网络编码层。发送端TCP报文的发送不再采用单个报文的形式,而是采用一定大小的编码窗口在网络编码层对TCP缓冲区的多个报文进行随机线性编码发送;接收端接收编码报文之后,进行解码,恢复原始的TCP报文;当网络出现编码报文丢失时,并不立即启动重传;仅当丢失的网络编码报文数大于或等于编码窗口 N时,滑动窗口停止滑动,并启动重传。本发明的网络编码头帧结构如图1所示,起始传输的报文序列号S (4字节),本次传输的网络编码报文序列号(I字节),编码窗口大小N (I字节),N个原始TCP报文对应补成固定长度L的补零字节数(I字节)和对应的有限域内的随机编码系数(I字节);编码窗口为参与网络编码的原始TCP报文个数;编码固定长度L应大于等于实际TCP分段报文大小的整数值;针对无线网络,一般有限域取GF (28)。当丢失的网络编码报文数大于或等于编码窗口 N时,启动重传,接收端发送重传确认帧,其帧结构如图2所示,其中类型(I字节)表示该确认帧是普通确认帧还是重传确认帧;编码头长度表示待重传编码报文个数;待重传编码序号通知发送端顺序需要重发的编码报文。编码和解码具体过程如下:发送端:1.如果收到接收端的普通确认帧,则提取网络编码报文系列号,清除网络编码缓冲区中确认收到的编码报文。2.如果是重传控制帧,则滑动窗口停止滑动,提取重传控制帧中的网络编码序列号,启动重传。3.编码算法如图3所示,如果是来自TCP的待传输的数据包:(I)如图3中的步骤120,等待接收上层报文,并判断TCP缓冲区的源数据包个数是否达到N个,若没有达到N个,继续等待;否则,转(2);(2)如图3中的步骤140,从TCP缓冲区提取N个源数据包,将N个源数据包进行编码,产生N个编码报文,并将这N个编码报文发送到IP层;(3)如图3中的步骤160,提取编码报文对应的TCP序列号,清除TCP缓冲区对应的数据包;(4)如图3中的步骤180,计算丢失的编码报文数NUM,若NUM〈N,滑动窗口向后滑动N,转(I);否则,转(5);(5)启动重传,如图3中的步骤200,滑动窗口停止向后滑动,编码窗口重传丢失的编码报文;转(4)。接收端:接收到编码报文后,提取编码系数,组成编码向量,并将该编码向量放入编码矩阵中,求出编码矩阵的秩;(I)若秩〈N,此时保留接收到的编码数据包,并向发送端发送确认帧;(2)若秩=N,则可将N个编码的数据包解码,得到N个源数据包,此时清除接收到的N个已经解码的编码报文,并向信源发送确认帧。
假设网络的丢包率
权利要求
1.一种基于端到端无线传输控制协议线性网络编码的改进方法,其特征在于,其改进方法包括以下几个方面:(1)在网络编码层优化了网络编码头帧设计,全面考虑了编解码所需参数,缩短了网络编码头长度,减少了网络编码头的复杂性;(2)根据无线网络丢包情况,设计了合理的滑动窗口和编码窗口,并优化令两者大小相等;(3)接收端确认帧捎带信息内容为期望下一次接收的网络编码报文序号;(4)修改了报文丢失重传机制,当编码报文累计丢包数达到编码窗口大小时,启动重传。
2.根据权利要求1所述的一种端到端无线传输控制协议线性网络编码的改进方法,其特征在于,所述的网络编码头包括:起始传输的报文序列号S (4字节),本次传输的网络编码报文序列号(I字节),编码窗口大小N (I字节),N个原始TCP报文对应补成固定长度L的补零字节数(I字节)和对应的有限域内的随机编码系数(I字节);编码窗口为参与网络编码的原始TCP报文个数;编码固定长度L应大于等于实际TCP分段报文大小的整数值;针对无线网络,随机编码系数一般取自有限域取GF (28)。
3.根据权利要求1所述的一种端到端无线传输控制协议线性网络编码的改进方法,其特征在于,所述的接收到编码数据报文之后的确认帧捎带的信息为:接收端确认捎带信息内容为期望下一次接收的网络编码报文序号,而不是发送端TCP报文序列号。
4.根据权利要求1所述的一种端到端无线传输控制协议线性网络编码的改进方法,其特征在于,所述的累计编码报文重传机制具体为:当网络出现编码报文丢失时,并不立即启动重传;仅当丢失的网络编码报文数大于或等于编码窗口 N时,滑动窗口停止滑动,并启动重传。
5.根据权利要求4所述的一种端到端无线传输控制协议线性网络编码的改进方法,其特征在于,所述的重传控制报文的网络编码头帧格式为:类型(I字节),长度(I字节),待重传的N个编码报文序列号,每个序列号占I字节;类型域表明该确认帧是普通确认报文或是启动重传控制报文,长度域表示该确认网络编码头的总字节数,待重传的N个编码报文序列号是通知发送端顺序需要重发的编码报文。
全文摘要
本发明提供了一种端到端无线传输控制协议线性网络编码的改进方法。具体为(1)在网络编码层优化了网络编码头帧设计,全面考虑了编解码所需参数,缩短了网络编码头长度,减少了网络编码头的复杂性;(2)根据无线网络丢包情况,设计了合理的滑动窗口和编码窗口,并优化令两者大小相等。(3)接收端确认捎带信息内容为期望下一次接收的网络编码报文序号;(4)修改了报文丢失重传机制,当编码报文累计丢包数达到滑动窗口数时,启动重传。以上操作能减小网络编码的复杂性,提高网络编码效率和端到端系统的TCP吞吐量。
文档编号H04L29/06GK103152359SQ201310097340
公开日2013年6月12日 申请日期2013年3月25日 优先权日2013年3月25日
发明者廖勇, 曹杰, 魏海波, 何娟 申请人:重庆大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1