TCP/IP结课论文
题 目:无线 Ad hoc 网络基于网络编码的 TCP 性能研究 院(系、部): 电子信息工程学院 专 业 : 通信与信息系统 学 生 姓 名: 曹灵莉
学 号 : 139908010 任 课 教 师: 张兴
2014 年 6 月 3 日
无线 Ad hoc 网络
基于网络编码的 TCP 性能研究
一、概述
TCP是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,等待对方回答SYN,ACK。这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议。第一次握手:建立连接时,客户端发送SYN包(SEQ=x)到服务器,并进入SYN_SEND状态,等待服务器确认。第二次握手:服务器收到SYN包,必须确认客户的SYN(ACK=x+1),同时自己也送一个SYN包(SEQ=y),即SYN+ACK包,此时服务器进入SYN_RECV状态。第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK=y+1),此包发送完毕,客户端和服务器时入Established状态,完成三次握手。
IP协议定义在OSI-RM第三层———网络层,是Internet最重要的协议。在IP协议中规定了在Internet上进行通信时应遵守的规则,例如IP数据包的组成、路由器如何将IP数据包送到目的主机等。IP协议的作用就是向传输层(TCP层)提供统一的IP包,即将各种不同类型的MAC帧转换为统一的IP包,并将MAC帧的物理地址变换为全网统一的逻辑地址(IP地址)。这样,这些不同物理网络MAC帧的差异对上层而言就不复存在了。正因为这一转换,才实现了不同类型物理网络的互联。IP协议面向无连接,IP网中的节点路由器根据每个IP包的包头IP地址进行寻址,这样同一个主机发出的属于同一报文的IP包可能会经过不同的路径到达目的主机。
二、研究背景
当互联网给人们的生活带来不可估计的影响还未结束的时候,3G 时代又宣告到来。各种各样的无线网络应用在人们的生活中变得举足轻重起来。通过无线带宽接入互联网的方式已经越来越多的进入了人们的生活。因此,如何改善无线网络的传输质量成为现今网络研究中的热点问题。
今天的很多网络应用都离不开可靠数据传输服务。TCP协议由于能够在有线网络环境下提供很好的可靠传输服务,因而被广泛地应用。在实际的无线网络应用中,在传输层采用的依然是传统的 TCP 协议(传输控制协议),但是无线网络的一些独有特点也引发了严重的 TCP 性能问题。TCP 协议作为一个广泛应用于有线网络中的典型传输层协议,由于有线网络具有低出错率高拥塞的特点,TCP 协议被设计成一旦发生丢包即认为网络中发生拥塞,从而采取调整拥塞窗口,拥塞阈值,快速恢复等策略,使得 TCP 协议能够很好的在有线网络中工作。
而在无线网络中,由于网络不稳定,能源少等特点,无线网络中不仅存在拥塞丢包,而更多的情况是由于无线网络状况而导致的随机丢包,TCP 协议无法区分丢包发生的原因,只采用单一的拥塞策略进行丢包处理。对于非拥塞丢包,TCP协议仍然将采用减小拥塞窗口来降低发送速率的策略进行处理。而这种针对拥塞丢包的处理方式会导致吞吐量的下降和延迟的增加。事实上,对于无线传输问题引起的非拥塞丢包,TCP 协议应该采取的正确措施是提高发送速率,而并非减小拥塞窗口。现在存在很多的研究方法和手段研究如何改进无线网络性能。但研究结果与各种方案仍然无法完全的解决无线网络传输中的 TCP 性能问题。而网络编码的出现,为解决无线网络 TCP 性能提供了新的解决思路。所以,利用网络编码来解决无线网络中 TCP 性能也成为了当前网络研究中的研究热点之一。
三、研究现状
针对无线 Ad hoc 网络中存在的 TCP 协议性能下降问题,研究者已提出多种解决方案。解决的思路主要有两个方面。第一种思路是在底层进行改动,这样的话就对传输层屏蔽了与拥塞无关的丢包,而不需要对已有的传输层协议的实现做任何改动。这种方法的特点是哪里出现的问题就在那里解决,解决问题采用的措施对传输层是屏蔽的。采取这种改进方法的协议都试图弥补无线链路的缺点,使得从传输层协议角度看起来,其拥有有线链路的特性,是高质量的,但是缺点是减小了有效的传输带宽。第二种思路是让传输层知道无线链路的存在,在无线链路上出现的问题,传输层直接参与解决的过程。这样传输层协议就可以在整体
上掌控传输过程,无论底层采用的是何种链路。还有将上述两种方法有效结合起来的综合方法,力图获得更好的改进效果。
无线 Ad hoc 网络中的 TCP 协议改进方法主要有:传输层端到端的解决方案,使用单层方法的解决方案以及使用跨层方法的解决方案。传输层端到端的解决方案即是指只需要修改发送端和接受端的实现即可,而不需要中间节点或者网络底层的支持。传输层端到端的解决方案比较多,比较有特色的有 TCP-Westwood协议,TCP-Door协议以及 TCP-Vegas协议。端到端的解决方案由于其只修改了发送端和接收端的传输层协议,中间节点和网络底层都没有改变,因此端到端的传输方案可用于多种网络,但是由于它不涉及底层的信息,它无法知道网络丢包发送的确切原因,无法准确的对于传输进行控制,所以获得的效果不佳。
单层改进方案是基于无线网络自身的特点,对 TCP/IP 协议栈中的 MAC 层、网络层或者传输层中的某一层进行修改以提高 TCP 协议的性能。由于单层改进只针对协议栈中的一层进行修改,不会影响到其他层次的接口与实现,保持了TCP/IP 协议栈良好的层次结构,方便协议栈在日后应用中的修改与扩展。具有代表性的解决方案是 CRP协议(Congestion adaptive Routing Protocol)。单层改进方案不会破坏协议栈各层之间的独立性,符合 OSI 模型设计初衷,易于扩展,但是取得的效果不是很理想。使用跨层的方法对传输层性能进行改进,是当今无线网络研究的一个热点之一。使用跨层方法的特点是利用跨层获取的信息来辅助传输层对传输过程进行控制,使之能更好地适应不断变化的网络状况。代表性的解决方案有 TCP-bus,XCP协议以及 CTCP(Cross-layer Congestion Control for TCP)。由于无线Ad hoc 网络环境自身的特点,跨层改进方案一度成为 TCP 性能改进的研究趋势,但是跨层方案破坏了层间的独立性,降低了协议栈的可扩展性。
目前,国内外在无线技术中引入网络编码的研究主要侧重在两个方面:一是改善无线传输吞吐量和能量利用效率,二是保证无线链路的可靠传输和安全性。网络编码的应用潜力非常的巨大,研究领域涉及网络研究领域中多个层面,特别是在无线网络的研究中,网络编码占有重要的地位。
四、网络编码优缺点
网络编码(Network Coding)是一种融合了路由和编码的信息交换技术,它的核心思想是在网络中的各个节点上对各条信道上收到的信息进行线性或者非线性的处理,然后转发给下游节点,中间节点扮演着编码器或信号处理器的角色。根据图论中的最大流-最小割定理,数据的发送方和接收方通信的最大速率不超过双方之间的最大流值(或最小割值),如果采用传统多播路由的方法,一般不能达到该上界。
网络编码理论是信息论领域中的一个重要突破,其划时代意义在于:推翻了独立的比特不能再被压缩的经典结论,指出网络信息流可以被压缩,从而可进一步提升网络吞吐量。在现有通信网络中,路由机制认为网络中传输的信息是不能叠加的,只能进行存储和转发。而转发过程是通过构造多播树来实现的。 典型的多播树,如最小费的 Steiner 树,其构造过程一般是个 NP 完全问题,因此大多数的近似算法,均不能使多播传输达到“最大流最小割(MAX-FLOW MIN-CUT)”定理确定的最大理论传输容量。从而,理论上限制了通信网络的吞吐量,使文件传输效率大打折扣,成为了文件共享的瓶颈。
网络编码可以使多播传输达到理论上的最大传输容量,从而能取得较传统多播路由更好的网络吞吐量,同时均衡网络负载、提升带宽利用率。网络编码在提高网络吞吐量、节省节点能耗、增强网络鲁棒性等方面均显示出其优越性,可广泛应用于 Ad hoc 网络,传感器网络,P2P 内容分发,分布式文件存储和网络安全等领域。经过几年发展,网络编码的理论研究已经取得重要进展,在应用基础和工程实践方面的研究正在全方位展开。网络编码已经成为一项融合信息论、代数学、图论、网络流理论和优化理论等多学科的交叉技术,且日益引起更多研究者的关注,其对现有的网络体系结构、协议设计方法、信息交换方式和网络管理模式带来了革命性的变化。
无线网络的物理层广播特性和无线链路的不可靠性非常适合使用网络编码。 在无线网络的网络编码研究中,主要集中于物理层网络编码、基于编码的协作方 案设计以及实际编码协议性能评估等。
P2P 技术与覆盖网络的发展,将组播功能从 IP 层扩展到了应用层,在 P2P应用层组播系统中,Peer 节点对流经的数据除了进行存储转发外,还可以进行网络编码处理。基于网络编码的内容分发协议在节省带宽资源,提高系统的
抗毁性和扩展性等方面都比无编码协议优势明显,但是也面临着解码计算复杂、延时过大导致系统性能下降的新问题。
LAVA是首个集成网络编码技术的 P2P 流媒体协议实际系统,通过与实现 的标准流媒体协议 Vanilla 比较,网络编码协议在可用上传带宽略大于流媒体所需带宽时其优势较为明显。
当前网络编码在无线网络中的研究主要集中于 MAC 层和应用层。网络编码在传输层中的研究还处于比较空白。J. K. Sundararajan 等人提出了将网络编码融合在 TCP 层中的一种解决策略。该策略在传输层对数据包进行随机线性编码,以及提高传输层发送速率来解决非拥塞丢包带来的性能下降问题。通过仿真实验结果显示,该策略在丢包率上升的情况下,能够大幅提升网络性能。
随着网络编码技术的出现,网络编码的数据混合特性能够使丢失率高的无线 网络中的数据传输变得更加健壮和有效,网络编码逐渐成为了一种解决网络传输 问题的重要途径,尤其是在无线网络中。TCP 性能问题一直以来是无线网络研究中的热点问题之一。Sundararajan 等人率先将网络编码应用于无线网络 TCP 性能的改进中,提出了基于网络编码的 TCP 协议,TCP/NC 协议。Sundararajan 等人的方法是在传统 TCP 协议的 TCP 层和 IP 层之间加入一个新的协议层,网络编码层。通过这个网络编码层对 TCP 层来的数据包进行编码和对网络编码层来的编码包进行解码处理。另外,作者设计了编码端和解码端能够恰当配合的发包算法和收包算法,使得编码操作和解码操作能够平滑的进行。在该方案中,还设计了新的 ACK 方式和新的 RTT 计算方法使得新协议能够更好的融合在 TCP 协议中。但是新的 TCP/NC 协议仍然存在一些问题。在解码速度优化上,TCP/NC 协议还是采用一般高斯消去法作为解码方法,这种解码方法的时间花费较大,其解码速度会影响 TCP 性能。另外,作者未考虑到在实际的网络传输中,解码操作与数据传输的同步问题,如果不对同步问题进行改进,其网络性能也会受到较大的影响。
在网络研究中网络编码已经成为了一种潜在的重要方法,尤其是在无线网络 中。网络编码的主要优势是源自于它的数据混合。网络编码的这种特性使得在丢 失率明显的无线网络上的数据传输能变得更加健壮和有效。由于无线 Ad hoc 网 络的自身特点,非拥塞丢包成为一种常见的情况,对于非拥塞丢包,正确的处理
方式是加大发送速率,然而,现在的无线网络中使用的传输层协议依旧是传统的 TCP 协议,TCP 协议自身的机制是将丢包亦看成是网络发生拥塞,由此调用拥 塞控制策略,减小发送速率,由此造成网络吞吐量下降。我们将利用网络编码的 优势,通过编码,降低信息的丢失,并且由于数据包编码,通过数据混合,在无 线网络中出现非拥塞丢包时,不必再调用原先需要调用的拥塞处理策略,从而保 证拥塞窗口大小,提升 TCP 性能。将网络编码技术应用于传输层涉及几个重要 内容。第一,采取哪种编码方法。在具体实现中,我们将采用随机线性编码;第 二,编码算法和解码算法的具体实现;第三,由于采用网络编码,数据包的顺序 性被打破,如何进行有效的 ACK 确认;第四,新的协议下的 RTT 计算方式。下面将详细介绍 TCP/NC 协议的具体实现。
TCP/NC 协议是在协议栈的传输层(TCP 层)和网络层(IP 层)之间引入一个新的网络编码层。在拥塞控制方面,TCP/NC 协议将使用与 TCP 协议相同的拥塞控制策略。拥塞窗口改变的策略也同 TCP 协议一致。但是新的协议主要存在两点改变。首先,无论发送端什么时候允许发送包,都不再像传统 TCP 协议那样一个接一个的包发送方式,TCP/NC 发送的是当前拥塞窗口中的所有包的随机线性组合。因此 TCP/NC 协议采取的网络编码方法是随机线性编码。其次,由于现在发送包是包的线性组合,对于传统的 ACK 机制,这种发送方式不再适合,TCP/NC 协议将给出新的 ACK 机制。另外,由于 TCP/NC 协议仍然通过 RTT 来对网络情况进行判断,所以 TCP/NC 协议的母体协议将采用 TCP-Vegas 协议。
五、总结
无线 Ad hoc 网络下,无线信道高比特错误率、无线媒介的竞争与共享以 及节点移动造成路由的不稳定,使得丢包原因的多样化,而且非拥塞丢包的概率 很大。特别是在无线网络中,由于无线网络传输层依然是采用有线网络中传统的 TCP 协议,而传统 TCP 协议对于非拥塞丢包采取的是网络拥塞控制处理,所以当出现非拥塞丢包时,TCP 协议将减小拥塞窗口,从而降低发送速率。但是对于非拥塞丢包的正确的处理方式应该是增大发送速率,因此 TCP 协议的这种拥塞处理机制不能很好的适用于无线网络,反而会造成 TCP 性能大幅下降。随着网络编码的出现,利用网络编码技术改进无线网络 TCP 性能成为了一种新的
解决思路。针对上述问题,本文在已有研究的基础上,实现了一种基于网络编码的改进无线网络下 TCP 性能的方案 TCP/NC 协议,新方案的主要解决思想是在传输层与网络层之间内嵌一个网络编码层(network coding layer)。这个网络编码层主要包含两个模块,分别是发送模块和接收模块。通过发送模块对数据包进行编码,通过接收模块对编码后的数据包进行解码还原。由于采取数据混合,使得数据包的传输,摆脱了丢包带来的影响,编码包的丢失不影响所有包最后的解出。
此外,由于 TCP/NC 协议在数据传输与解码操作的同步问题,本文提出了 TCP/NC 的改进协议 TCP/NCW,并给出了最优解码窗口 W 的概念。最优解码窗口解决的主要问题是网络中同步传输问题。在通过实验验证了最优解码窗口存在性和必要性后,我们给出了最优解码窗口的选择策略。对 TCP/NC 和 TCP/NCW 的仿真验证工作,主要集中在两种场景下,分别是单条流场景和多条流场景。单条流场景包括六跳无线链式拓扑场景,多条流场景包括无线链式拓扑场景,无线十字拓扑场景和无线网格拓扑场景。,
在各个拓扑场景下,加入网络编码的 TCP/NC 协议和 TCP/NCW 协议的性能会随着无线网络丢包的增加,越来越优于传统的 TCP-Vegas 协议。当错误率比较大的时候,TCP/NC 协议与 TCP/NCW 协议的吞吐率较 TCP-Vegas 协议甚至增长了100%以上,大幅提升了网络性能。同时可以看到改进后的 TCP/NCW 协议的网络性能要好于 TCP/NC 协议。
参考文献
[1] IETF Network Working Group, RFC 793, Transmission Control Protocol, 1981.
[2] Balakrishnan H, Seshan S, Amir E, et al. Improving TCP/IP performance over wireless networks. In: Proceedings of the 1st annual international conference on Mobile computing and networking. Berkeley, 1995. 2~11.
[3] Balakrishnan H, Padmanabhan V, Seshan S, et al. A Comparison of Mechanisms for Improving TCP Performance over Wireless Links. In: Proceedings of Applications, technologies, architectures, and protocols for computer communications. CA, 1996. 256~269.
[4] Balakrishnan H, Padmanabhan V, Seshan S, et al. A Comparison of Mechanisms for Improving TCP Performance over Wireless Links, IEEE/ACM Transaction on Networking, 1997, 5(6):756~769.
[5] Casetti C, Gerla M, Mascolo S, et al. TCP westwood: bandwidth estimation for enhanced transport over wireless links. In: Proceedings of International Conference on Mobile Computing and Networking. Italy, 2001. 287~297.
[6] F. Wang, and Y. Zhang, Improving TCP Performance over Mobile Ad-hocNetworks with Out-Of-Order Detection and Response, In: Proceedings of ACM MOBICOM, Long Beach, CA, USA, 2001, 6~66.
[7] Brakmo L, Peterson L. TCP Vegas: end to end congestion avoidance on a global internet. IEEE Journal of Selected Areas in Communications, 1995, 13(8):1465~1480.
[8] D. A. Tran, R. Harish, Congestion Adaptive routing in ad hoc networks, IEEE Transactions on Parallel and Distributed Systems, 2006,17(11): 1294~1305.
[9] D. Kim, C. Toh, and Y. Choi, TCP-Bus: Improving TCP Performance in Wireless Ad Hoc Networks, In: Proceedings of IEEE ICC, New Orleans, Louisiana, USA,2000, 1707~1713.
[10]Katabi D, Handley M, Rohrs C. Congestion control for high
bandwidth-delay product networks. ACM SIGCOMM Computer Communication Review, 2002,32(4):89~102.
[11]Zhang Y, Henderson T. An implementation and experimental study of the explicit control protocol (XCP). In: Proceedings of 24th Annual Joint Conference of the IEEE Computer and Communications Societies. USA, 2005. 2:1037~1048.
[12]Low S, Andrew L, Wydrowski B. Understanding XCP: equilibrium and fairness.In: Proceedings of 24th Annual Joint Conference of the IEEE Computer and Communications Societies. USA, 2005. 2: 1025~1034.
[13]D. Kilazovich and F. Granelli, Cross-layer congestion control in Ad hoc wireless networks, Ad hoc Networks, 2006, 4(6): 687~708.
[14]J. K. Sundararajan, D. Shah, M. Medard, M. Mitzenmacher, and J.Barros,Network coding meets TCP. In: Proceedings of IEEE INFOCOM, 2009. 4:280~288.
[15]J. K. Sundararajan, S. Jakubczak, M. Medard, M. Mitzenmacher, and J. Barros,Interfacing network coding with TCP: an implementation. In: Proceedings of IEEE INFOCOM, 2010.
[16]R. Ahlswede, N Cai, S. Y. R. Li, et al. Network information flow [J]. In:Proceedings of IEEE Trans on Information Theory, 2000, 46(4): 1204~1216.
[17]R. K. Ahuja, T. L. Magnanti, J. B. Orlin. Network Flows: Theory, Algorithms,and Applications [M]. Englewood Cliffs, NJ: Prentice Hall, 1993.
[18]D. Wang, Q. Zhang, J. C. Liu. Partial network coding: Theory and application in continuous sensor data collection [C].In: Proceedings of 14th IEEE Int’l Workshop on Quality of Service (IWQos 2006), New Haven, CT, USA, 2006.
[19]M. Wang, B. C. Li. How practical is network coding? [C].In: Proceedings of 14th IEEE Int’l Workshop on Quality of Service (IWQos 2006), New Haven, CT, USA,2006.
[20]A. G. Dimakis, P. B. Godfrey, M. Wainright, et al. Network coding for distributed storage systems [C].In: Proceedings of 26th Annual IEEE Conf on ComputerCommunications, Anchorage, AK, USA, 2007.
[21]T. Ho, B. Leong, R. Koetter, et al. Byzantine modification detection in multicast networks using randomized network coding [C].In: Proceedings of IEEE Int’l Symp on Information Theory, Chicago, IL, USA, 2004.
[22]S. Y. R. Li, R. W. Yeung, N. Cai. Linear network coding [J]. IEEE Trans on Information Theory, 2003, 49(2): 371~381.
[23]Z. P. Li, B. C. Li, L. C. Lau. On achieving maximum multicast throughput inundirected networks [J]. IEEE Trans on Information Theory, 2006, 52(6):2467~2485.
[24]R. Koetter, M. Medard. Beyond routing: An algebraic approach to network
因篇幅问题不能全部显示,请点此查看更多更全内容
怀疑对方AI换脸可以让对方摁鼻子 真人摁下去鼻子会变形
女子野生动物园下车狼悄悄靠近 后车司机按喇叭提醒
睡前玩8分钟手机身体兴奋1小时 还可能让你“变丑”
惊蛰为啥吃梨?倒春寒来不来就看惊蛰
男子高速犯困开智能驾驶出事故 60万刚买的奔驰严重损毁