传输层网络编码研究

2016-09-27 03:11:29中国电子科技集团公司第二十研究所
电子世界 2016年16期
关键词:信宿传输层解码

中国电子科技集团公司第二十研究所 刘 钊

传输层网络编码研究

中国电子科技集团公司第二十研究所 刘钊

底层网络随机丢包导致的TCP传输性能的恶化的问题由来已久。为了保障TCP的吞吐量在无线网络环境下依然能够保持优良的性能,通过分析传输层网络编码(TCP/NC协议)的基本原理,结果表明:传输层网络编码能够有效克服底层的随机丢包带来的影响,提升TCP吞吐量。

网络编码;传输层;传输层网络编码

引自2000年来,Ahlswede[1]等人的研究开创了网络编码的新领域。网络编码是一种融合了路由和编码的信息交换技术,它的核心思想是在网络中的各个节点上对各条信道上收到的信息进行线性或者非线性的处理,然后转发给下游节点,中间节点扮演着编码器或信号处理器的角色。网络编码突破了传统路由在网络中传输的数据包只能转发和存储的限制,使网络的多播传输达到“最大流最小割”理论上的最大传输容量。网络编码虽然起源于对多播传输的研究,但是现今已拓展到网络研究的许多方面。无线链路的不可靠性和物理层广播特性非常适合使用编码的方法。

1 协议栈介绍

传输层TCP协议能够提供可靠的端到端通信之外,当网络出现拥塞时,还会主动降低发送速率以使网络性能尽快恢复。但由于无线信道本身的易误码特性,导致其持续存在无线物理层随机误码,使用TCP协议就容易将这种无线信道误码引起的丢包误认为网络出现了拥塞,进而主动降低发送速率,最终会将网络的吞吐量限制在一个较低的水平。

对于协议栈的修改[2]如图1所示。其中,添加了网络编码层,它位于传统计算机网络分层结构中的传输层和网络层之间,其在源端对TCP传输的数据进行网络编码;在接收端进行网络解码,将数据还原成TCP的数据并递交给TCP-Sink。

图1 TCP/NC协议栈

图2 发送端流程图

2 TCP/NC算法介绍

本文介绍的网络编码算法为:随机线性网络编码。随机网络编码该方法基于一种随机选择编码向量的策略:对于除了信宿节点外的所有中间节点,只要在一个足够大的有限域上随机选择它们输入链路到输出链路的映射,而且各节点映射关系的选取是相互独立的,就能以较高概率使各个信宿节点对应的系统转移矩阵满秩,各信宿节点能以较高的概率成功译码。随机网络编码具有重要的理论价值和应用价值,得到了广泛的关注和应用。传输层网络编码的算法主要包含两个部分:(1)编码端算法;(2)解码段算法。

2.1TCP/NC编码流程(见图2)

TCP/NC网络编码的编码端流程:

(1)设置变量 NUM 为0。

(2)等待状态。

(3)当数据包从TCP发送端来。

1)如果数据包是一个用于建立连接的控制数据包,将其直接传递给IP层,并且返回等待状态。

2)如果数据包还没有加入编码窗口,将其加入网络编码窗口。

3)设置NUM = NUM + R (R是网络编码冗余因子)。

4)重复下面子步骤[NUM]次。

①用网络编码窗口中的数据包产生一个随机线性组合。

②将网络编码数据包的随机系数和编码信息加入网络编码头。③将数据包传输给IP层。④NUM = NUM -1。5)返回等待状态。

(1)ACK从接收端到达:将被确认的数据包从编码缓存中移除,并且将ACK传递给TCP发送端。

2.2TCP/NC解码流程

图3 接收端流程图

TCP/NC网络编码解码端流程:

(1)等待状态。

(2)当ACK是从TCP-Sink到达:如果ACK确认的是一个建立链接的控制数据包,将其直接传递给IP层,然后再返回等待状态;否则,忽略当前ACK。

(3)当数据包是从源端发送来。

1)将网络编码的头从编码的数据包中移除,将编码系数向量从包头中取出。

2)将网络编码的编码向量作为一个行向量加入解码系数矩阵,并且用高斯-约旦消元法处理接收矩阵。

3)将负载加入解码缓存,如果任何一个数据包可以解码,则将其传递给TCP-Sink并从缓存中移除。

4)产生新的TCP确认序号。

3 结束语

本文分析表明:TCP/NC能够有效克服底层随机丢包造成TCP传输性能剧烈下降的问题,而且提升吞吐量,与现有协议栈的兼容性较好。

[1]Ahlswede R,Cai N,Li S-Y,et al.Network information flow[J]. Information Theory,IEEE Transactions on,2000,46 (4):1204-1216.

[2]Sundararajan JK,Shah D,Medard M,et al.Network coding meets TCP[J].IEEE Infocom 2009-IEEE Conference on Computer Communications,Vols 1-5,2009:280-288.

猜你喜欢
信宿传输层解码
《解码万吨站》
基于Python语言的网络传输层UDP协议攻击性行为研究
ZnO电子传输层在有机无机杂化钙钛矿太阳能电池中的应用
陶瓷学报(2020年5期)2020-11-09 09:22:54
优化Sink速度的最大化WSNs数据收集算法研究
解码eUCP2.0
中国外汇(2019年19期)2019-11-26 00:57:32
采用虚拟网格的格头连通的WSNs路由算法
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
物联网无线通信传输层动态通道保障机制
养猿于笼