基于网络编码的TCP协议传输系统

电子说

1.2w人已加入

描述

一.理论基础

本项目针对现有TCP协议在丢失率较高的网络环境下所表现出的糟糕性能,提出基于网络编码的改造,以TCP-Vegas为基础通过修改其源代码(逻辑上在TCP层与IP层之间加入全新的网络编码层)实现在发送方对原始TCP报文段编码,在接收方解码,并针对网络实时丢失率调整编码报文段的发送冗余,以达到向TCP层掩盖丢失的目的;同时加入处理器共享技术,该技术旨在用一个合适的初始速率来代替TCP的慢启动过程。最终提高网络吞吐量和可靠性,缩短数据流完成时间。

1.网络编码:

2000年,以香港中文大学信息工程系为主的研究人员针对通讯网络的瓶颈问题,提出了网络编码理论,以网络编码器取代路由器,在网络中传输包的线性组合,在接收端通过解码恢复出原始数据包。
   

网络编码的概念可以通过蝴蝶拓扑图来进行简单的说明,如图1-1所示:

网络编码

图1-1 网络编码的基本原理

假设上图中每条路径单位时间内只能传输1比特,则采用路由方式,UV链路会成为传输瓶颈,即只能传输a和b中的一个信息。若UV链路传输消息b,则信宿P能收到消息a和b,而信宿Q只能收到消息b;若UV链路传输消息a,则信宿Q能收到消息a和b,而信宿P只能收到消息a。两者情况下,平均每个信宿节点的吞吐量为1.5比特。

同样的条件下,若采用网络编码,即UV链路上传输的是消息a和b的编码,则信宿P可以接受消息a且译码出消息b,信宿Q可以接受消息b且译码出消息a。这样,平均每个信宿节点的吞吐量为2比特。

从中可以得出,网络编码可以达到多播网络的最大容量,而路由却可能达不到。

网络编码自诞生以来,得到了迅速的发展。短短几年,发表了几百篇学术论文,并对许多相关学科产生了深远的影响,NC的理论研究范围包括信息论及通信的几乎每个领域,如随机编码,线性编码,非线性编码,静态码,群码,卷积码,Alphabet码,算法协议,码构建,有环网络,链路失效及其网络管理,无向网络,分离理论,密码学,错误检测和纠错码,多信源编码,Cost Criteria,多-单播编码,非均匀需求,最大流/刮集界,关联信源编码,叠加编码,网络互连,路由寻找,无线及卫星网络,Ad hoc网络,传感网络,数据存储及分布,矩阵理论,复杂性理论,图论,随机图论,,多种物流(Multicommodity flow),游戏理论,矩阵胚理论(Matriod theory),信息论不等式,排队论分析,树装箱(Tree Packing)率失真(rate-distortion)可逆网络,多用户信道,联合网络信道编码,P2P网络等。

国外多所著名大学如普林斯顿大学、麻省理工、瑞士EPFL 学院等和多家IT 公司的研究中心,包括微软研究院、贝尔实验室、AT &T 的香农信息实验室等都在积极开展对网络编码理论和应用的研究。最近国内学者也开始研究网络编码,如清华大学、西安电子科大、电子科技大学、北京邮电大学、中国科学技术大学、复旦大学、上海大学等。

2.TCP协议:

传输控制协议(TCP)是一种面向连接的、可靠的、基于字节流的运输层(Transport layer)通信协议。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。

TCP使用端口号,提供进程到进程的通信,是一种面向流的协议(如图1-2)。它把在每一个方向传送的数据字节都进行编号。编号不一定从0开始,而是在之间产生一个随机数作

网络编码

图1-2 流的传输

为第一个字节的号码。当字节都被编上号后,TCP就给每一个报文段指派一个序号(该序号为报文段中第一个字节数据的编号,见图1-3)。接收方接到报文后,要使用确认号对它已收到的字节进行确认,确认号是累计的,在数值上等于期望接收的下一个字节的编号。

网络编码

图1-3 报文段序号

在实际传输中,为了避免信道拥塞,我们完全可以只发送一个字节的数据,然后在发送下一个字节之前等待确认。但如果信源和信宿之间的距离很大,那么信源就要在等待确认时一直处于空闲状态,信道吞吐率很低。为了完成流量控制,TCP使用滑动窗口协议。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分