首页> 中国专利> 一种端到端无线传输控制协议线性网络编码的改进方法

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

摘要

本发明提供了一种端到端无线传输控制协议线性网络编码的改进方法。具体为:(1)在网络编码层优化了网络编码头帧设计,全面考虑了编解码所需参数,缩短了网络编码头长度,减少了网络编码头的复杂性;(2)根据无线网络丢包情况,设计了合理的滑动窗口和编码窗口,并优化令两者大小相等。(3)接收端确认捎带信息内容为期望下一次接收的网络编码报文序号;(4)修改了报文丢失重传机制,当编码报文累计丢包数达到滑动窗口数时,启动重传。以上操作能减小网络编码的复杂性,提高网络编码效率和端到端系统的TCP吞吐量。

著录项

  • 公开/公告号CN103152359A

    专利类型发明专利

  • 公开/公告日2013-06-12

    原文格式PDF

  • 申请/专利权人 重庆大学;

    申请/专利号CN201310097340.6

  • 发明设计人 廖勇;曹杰;魏海波;何娟;

    申请日2013-03-25

  • 分类号H04L29/06(20060101);H04L1/16(20060101);H04L1/00(20060101);

  • 代理机构

  • 代理人

  • 地址 400044 重庆市沙坪坝区沙正街174号

  • 入库时间 2024-02-19 19:33:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-12-22

    著录事项变更 IPC(主分类):H04L29/06 变更前: 变更后: 申请日:20130325

    著录事项变更

  • 2017-12-22

    专利权的转移 IPC(主分类):H04L29/06 登记生效日:20171204 变更前: 变更后: 申请日:20130325

    专利申请权、专利权的转移

  • 2016-03-23

    授权

    授权

  • 2015-06-24

    著录事项变更 IPC(主分类):H04L29/06 变更前: 变更后: 申请日:20130325

    著录事项变更

  • 2013-07-17

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20130325

    实质审查的生效

  • 2013-06-12

    公开

    公开

查看全部

说明书

技术领域

本发明涉及无线通信领域,特别涉及无线通信过程中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的补零字节数和 对应的有限域内的随机编码系数;

编码算法:其中pk为第k个TCP报文,为第i个TCP报 文的编码系数,编码系数由有限域GF(28)随机产生,TCP报文在网络编码层按 照线性编码算法进行网络编码。如果TCP报文负载长度未达到指定长度L,采 用补零的方式实现相同长度。

作为本发明的改进,当编码报文丢失时,发送端并不立即启动重传,而是等 待丢失的编码报文的个数达到编码窗口N时,再启动重传,这样有利于简化滑 动窗口滑动操作以及降低解码的复杂度,提高网络的吞吐量。

设冗余因子为R,TCP滑动窗口为W,滑动步调为M,若发送端未收到重 传控制报文,则滑动步调M=W=N=R;若收到重传控制报文,则停止滑动,滑动 步调M=0,启动重传。

作为本发明的进一步改进,设置已丢失报文重传次数上限为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, 转(1);否则,转(5);

(5)启动重传,滑动窗口停止向后滑动,编码窗口重传丢失的编码报文; 转(4)。

本发明中,接收端主要处理:接收并解码来自于发送端的编码报文,以及向 发送端发送确认帧。

接收到编码报文后,提取编码系数,组成编码向量,并将该编码向量放入编 码矩阵中,求出编码矩阵的秩;

(1)若秩<N,此时保留接收到的编码数据包,并向发送端发送确认帧;

(2)若秩=N,则可将N个编码的数据包解码,得到N个源数据包,此时 清除接收到的N个已经解码的编码报文,并向信源发送确认帧。

附图说明

图1网络编码头帧设计;

图2重传确认帧网络编码头设计;

图3网络编码算法流程。

具体实施方式

下面结合附图对本发明做进一步说明。

在TCP/IP协议栈的TCP和IP层之间,增加一个子层网络编码层。发送端 TCP报文的发送不再采用单个报文的形式,而是采用一定大小的编码窗口在网络 编码层对TCP缓冲区的多个报文进行随机线性编码发送;接收端接收编码报文之 后,进行解码,恢复原始的TCP报文;当网络出现编码报文丢失时,并不立即 启动重传;仅当丢失的网络编码报文数大于或等于编码窗口N时,滑动窗口停 止滑动,并启动重传。

本发明的网络编码头帧结构如图1所示,起始传输的报文序列号S(4字节), 本次传输的网络编码报文序列号(1字节),编码窗口大小N(1字节),N个原 始TCP报文对应补成固定长度L的补零字节数(1字节)和对应的有限域内的 随机编码系数(1字节);编码窗口为参与网络编码的原始TCP报文个数;编码 固定长度L应大于等于实际TCP分段报文大小的整数值;针对无线网络,一般 有限域取GF(28)。

当丢失的网络编码报文数大于或等于编码窗口N时,启动重传,接收端发 送重传确认帧,其帧结构如图2所示,其中类型(1字节)表示该确认帧是普通 确认帧还是重传确认帧;编码头长度表示待重传编码报文个数;待重传编码序号 通知发送端顺序需要重发的编码报文。

编码和解码具体过程如下:

发送端:

1.如果收到接收端的普通确认帧,则提取网络编码报文系列号,清除网络 编码缓冲区中确认收到的编码报文。

2.如果是重传控制帧,则滑动窗口停止滑动,提取重传控制帧中的网络编 码序列号,启动重传。

3.编码算法如图3所示,如果是来自TCP的待传输的数据包:

(1)如图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,转(1);否则,转(5);

(5)启动重传,如图3中的步骤200,滑动窗口停止向后滑动,编码窗口 重传丢失的编码报文;转(4)。

接收端:

接收到编码报文后,提取编码系数,组成编码向量,并将该编码向量放入编 码矩阵中,求出编码矩阵的秩;

(1)若秩<N,此时保留接收到的编码数据包,并向发送端发送确认帧;

(2)若秩=N,则可将N个编码的数据包解码,得到N个源数据包,此时清 除接收到的N个已经解码的编码报文,并向信源发送确认帧。

假设网络的丢包率pe=0.6,则由得到R≥2.5。此处R取3,满足 则N=W=R=3。

下面用表1来说明基于具体滑动窗口的线性网络编码的编码发送示意图,滑 动窗口大小为W=3,若发送端未收到重传控制报文,则滑动步调M=W=3;

若收到重传控制报文,则停止滑动,滑动步调M=0,启动重传。

表1网络编码和解码示例

在此说明书中,本发明已参照特定的实施实例做了描述。但是,很显然仍可 以做出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被 认为是说明性的而非限制性的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号