- 无标题文档
查看论文信息

中文题名:

 基于UDP的NAT穿透技术在P2P中的设计与实现    

姓名:

 叶朋    

学号:

 1049721202895    

保密级别:

 公开    

论文语种:

 chi    

学科代码:

 0809    

学科名称:

 电子科学与技术(可授工学、理学学位)    

学生类型:

 硕士    

学位:

 工学硕士    

学校:

 武汉理工大学    

院系:

 信息工程学院    

专业:

 电子科学与技术    

研究方向:

 网络化智能控制    

第一导师姓名:

 杜谦    

第一导师院系:

 武汉理工大学    

完成日期:

 2015-04-10    

答辩日期:

 2015-05-16    

中文关键词:

 网络穿透 ; UDP ; P2P ; NAT ; 中转通信    

中文摘要:

       随着互联网技术迅猛发展和各种终端设备的爆发式呈现,网络已经成为个人日常生活及工作中不可或缺的一部分。传统的网络地址现在已不能满足各种大量网络业务的需求,虽然IPv6地址的加入有效减轻了该种状况,但是IPv4到IPv6过渡过程中市场上还是会存在大量的NAT设备。NAT技术是数据包在穿越防火墙或路由器等设备时一种地址转换改写的技术。NAT穿透就是通过相应的技术手段对不同类型NAT设备后的内部网络与NAT外部的网络建立一条通信的链路。现在大部分网络设备和终端如路由器等都安装或者嵌入了NAT设备。然而NAT设备的存在阻碍了P2P网络资源传输和分享。如何在P2P的环境下进行NAT穿透已经成为人们研究的一个重要课题。

       本文旨在设计与实现一种以UDP穿透为主,以中转方式为辅的sTURN穿透方案。该方案包括了四种模式:P2P模式、LAN模式、中转模式、待拓展模式。该技术是建立在对经典的STUN、TURN和UDP Hole punching技术改进的基础上,使用了两类服务器:处于NAT外部的公网服务器和处于内部网络的私网服务器进行协助穿透和传输。本方案提高了穿透效率,减小了网络带宽的开销和网络传输时延,起到了负载均衡的作用,同时避免了类似传统的中转方式中第三方公网服务器由于网络带宽和负载等原因造成的技术瓶颈。穿透成功后,再用相同的IP/Port进行TCP的数据连接和传输。这样系统既可以保证在NAT穿透方面较高成功率又可以保证在数据传输方面的可靠性,较好的利用了UDP和TCP在穿透和传输方面各自的优越性。本方案具有较好的可移植性,保证了数据的传输质量和用户体验。

       本文首先对P2P网络的架构和NAT的发展做了简要的概述,分析并比较了不同网络模型架构及不同经典NAT穿透技术的各自的优缺点。在此基础上,本文选择了基于P2P混合网络拓扑结构下的NAT网络穿透和数据传输技术方案。之后给出了该系统的总体的设计方案。整个系统模块包括:初始化、用户管理、NAT类型检测、NAT穿透,数据传输及数据库等。分别给出各个模块的详细设计、流程图及部分代码。并在windows 7系统下利用C++进行网络编程实现该设计。之后对这套系统的性能进行了相关测试和结果分析。最后总结本文所做的主要工作内容,同时展望了该方案在网络摄像机上的后续发展与应用。

参考文献:

[1]陈杰.IPv6过渡的NAT技术[D].南京:南京邮电大学,2013.

[2]Zhao R, Liu R H, Guang-Xuan F U. Design and Realization of P2P File Sharing System in IPv4/IPv6 Network[J]. Periodical of Ocean University of China, 2008.

[3]刘泽阳, 徐武平. P2P应用中一种多层NAT穿透解决方案的设计与实现[J]. 计算机应用, 2011, 31(7):1980-1983.

[4]马红. 大规模NAT优化及日志分析[D]. 北京邮电大学, 2013.

[5]蒋韬, 刘积仁, 秦扬,等. 一种集成的可伸缩的网络安全系统[J]. 软件学报, 2002, 13(3):376-381.

[6]贾学峰.P2P网络中的NAT穿透机制研究[D],复旦大学, 2008.

[7]Meng X J, Chen R. Petri Net Modeling of SIP of Traversing NAT Based on STUN[C]// Computer Science and Electronics Engineering, International Conference on. IEEE, 2012:134-138.

[8]Stern R. Napster: A Walking Copyright Infringement?[J]. IEEE Micro, 2000, 20(6):4-5, 95.

[9]Gong L. JXTA: a network programming environment[J]. Internet Computing, IEEE, 2001, 5(3):88 - 95.

[10]Chawathe Y, Ratnasamy S, Breslau L, et al. Making Gnutella-like P2P Systems Scalable[J]. ACM SIGCOMM COMPUTER COMMUNICATION REVIEW, 2003, 33(4):407-418.

[11]Cohen B. Incentives Build Robustness in BitTorrent[J]. Proc P Economics Workshop, 2003.

[12]蒙元胜, 基于UDP_TCP协议的NAT穿越方案研究[D], 中山大学,2014.

[13]D. MacDonald, B. Lowekamp. NAT Behavior Discovery Using Session Traversal Utilities for NAT (STUN). RFC 5780. 2010.

[14]J. W. STUN-Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs)[J]. RFC3489, 2013.

[15]Swale R P,Man P A,Sijben P,eta1.Middlebox Communications(MIDCOM)Protocol Requirements.RFC 3304,2002,7~8.

[16]Mahy R,Matthews P,Rosenberg J.RFC 5766:Traversal Using Relays aroundNAT(TURN):

Relays Extensions to Session Traversal Utilities for NAT (STUN)[S].IETF,April 2010.

[17]陈亮.基于改进ICE协议的流媒体穿透NAT的研究[D]. 华南理工大学, 2012.

[18]Liu Z Y, Wu-Ping X U. Design and implementation of a solution to multilayer NAT traversal in P2P applications[J]. Journal of Computer Applications, 2011, 31(7):1980-1983.

[19]沈春雨.基于P2P的网络存储系统的研究[D],武汉理工大学,2006.

[20]曹元植. P2P网络模型和C/S网络模型的比较[D]. 北京邮电大学,2005.

[21]代兵. NAT网关porttriggering功能设计与实现[D].武汉:华中科技大学, 2010.

[22]Wacker A, Schiele G, Holzapfel S, et al. A NAT Traversal Mechanism for Peer-To-Peer Networks[C]// Peer-to-Peer Computing , 2008. P2P '08. Eighth International Conference on. IEEE, 2008:81 - 83.

[23]范勇. 对等网络中NAT穿越方案的研究与实现[D]. 南开大学, 2009.

[24]Maier D, Haase O, Wasch J, et al. NAT hole punching revisited[J]. IEEE Conference on Local Computer Networks, 2011:147 - 150.

[25]张若水. 利用STUN协议实现VoIP网关SIP部分的NAT穿透[D]. 北京邮电大学, 2004.

[26]Rohan Mahy, Philip Matthews, Jonathan Rosenberg. Traversal Using Relays around NAT (TURN):Relay Extensions to Session Traversal Utilities for NAT (STUN). RFC 5766 .2010,4.

[27]白彬. SIPTrunk—基于SIP协议的NAT穿越[D]. 北京邮电大学, 2013.

[28]马义涛. 基于P2P网络应用的NAT穿越方案的分析与设计[D]. 上海交通大学, 2008.

[29]Hong-bin L, Xue-hua Y, Wei-min L. Design and implementation of a prototype system of TURN server[J]. Computer Applications, 2005.

[30]Müller A, Klenk A, Carle G, et al. ANTS - A Framework for Knowledge based NAT-Traversal[J]. IEEE Globecom, 2009:1 - 6.

[31]Qing H. Principle and Realization of the NAT Type Detection in P2P Network Traversal[J]. Computer Knowledge and Technology, 2014.

[32]徐向阳, 韦昌法. 基于NAT穿越技术的P2P通信方案的研究与实现[J]. 计算机工程与设计, 2007, 28(7):1559-1561.

[33]Suzuki H, Watanabe A. Design of NAT traversal for mobile PPC applying hole punching technology[C]. //TENCON 2008 - 2008 IEEE Region 10 Conference. IEEE, 2008:1 - 6.

[34]曹申会, NAT穿越技术研究与实现[D]. 南京邮电大学,2013.

[35]Yang L, Kai-kun D, Yang L, et al. Research on solution method of NAT hole punching of P2P[J]. Computer Engineering and Design, 2008.

[36]Chen K L, Hwang S H, Yeh C Y. Symmetric NAT Traversal Method for Session Initial Protocol (SIP)[J]. Innovation for Applied Science and Technology, 2013.

[37]银晶晶. 基于穿越NAT网络的点到点数据通信的研究与实现[D]. 北京交通大学, 2012.

[38]朱尚明, 高大启, 庄新华. 一种基于包排队方式的网络路径可用带宽探测方法[J]. 计算机科学, 2007.

[39]孙红杰. 基于主动测量的网络性能分析[D]. 哈尔滨工业大学, 2007.

[40]朱利, 周俊辉, 郑守淇等. 基于RTT的自适应拥塞控制研究[J]. 计算机学报, 2000, 23(7):705-710.

[41]熊永华, 吴敏, 贾维嘉. 基于延时预测的TCP实时视频传输方法[J]. 中南大学学报:自然科学版, 2010, 41(4):1449-1456.

[42]C.Jennings.NAT Classification Results using STUN.IETF Internet Draft, October 2004.

中图分类号:

 TP393.03    

馆藏号:

 TP393.03/2895/2015    

备注:

 403-西院分馆博硕论文库;203-余家头分馆博硕论文库    

无标题文档

   建议浏览器: 谷歌 火狐 360请用极速模式,双核浏览器请用极速模式