一个基于udp协议p2p即时通讯软件设计与实现-design and implementation of p2p instant messaging software based on udp protocol.docxVIP

一个基于udp协议p2p即时通讯软件设计与实现-design and implementation of p2p instant messaging software based on udp protocol.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一个基于udp协议p2p即时通讯软件设计与实现-design and implementation of p2p instant messaging software based on udp protocol

1绪论1.1课题的研究背景随着计算机网络的发展和用户数量的增长,传统的客户端/服务器(Client/Server,简写为C/S)或浏览器/服务器(Browser/Server,简写为B/S)模式的信息交换模式已经不足以满足用户的需求。众所周知,互联网上汇集的成千上万的信息资源、数据资源、软件资源、硬件资源等,共同构成了生产、传播和使用信息的重要载体。人们希望这些信息资源能够得到充分共享和利用,更好地为人们服务,这就是各种网络计算模式出现的原因[1]。常用的网络计算模式有传统的C/S或B/S和目前流行的P2P。对于C/S或者B/S模式,这两者都采用的是一种集中的手段,将所有的资料都存放在服务器上,造成了服务器过大的压力和性能瓶颈。所有的信息都是客户机从服务器上读取,客户机之间不具有直接交互和共享信息的能力。而随着人们对网络流媒体应用,诸如话音、视频及大规模大文件共享等应用的需求与日俱增,传统的C/S或者B/S模式在业务模型上与其格格不入,在处理能力上更是望尘莫及[2]。因此,基于P2P技术的应用应运而生,得到了蓬勃发展,取得了巨大成功。直观的理解,P2P技术直接将人们联系起来,让人们通过互联网直接交互。P2P应用使得用户通过网络的沟通变得容易,共享和交互更直接,真正地消除了不必要的中间环节。P2P就是各个Peer可以直接连接到其他用户的计算机进行数据交换,而不是像过去那样连接到服务器去浏览与下载。P2P的另一个重要特点是改变了互联网现在的以大型网站或大型计算集群为中心的通信状态,重返“非中心化”,并把权力交还给用户自己[3]。P2P看起来似乎很新鲜,但是正如B2C、B2B只是将现实世界中很平常的模式移植到互联网上一样,P2P并不是什么新东西。比如在现实生活中我们每天都按照P2P模式面对面地或者通过电话交流和沟通。事实上,互联网上现有的许多服务都可以归入P2P应用。比如即时通讯系统ICQ、AOLInstantMessenger、YahooPager、微软的MSNMessenger以及国内的腾讯QQ都是最流行的P2P应用。诸如Napster、BT、Emule等具有代表性的文件共享软件也取得了巨大成功[4]。它们允许用户互相沟通和交换信息、交换文件。最近几年,对等计算迅速成为计算机界关注的热门话题之一,财富杂志更将P2P列为影响Internet未来的四项科技之一。1.2课题的研究目的和意义即时通讯的业务特点使其非常适合采用UDP协议作为传输协议,因为它需要传输的数据量不大,并且对数据的实时性、可靠性和有序性要求不高。相比使用TCP协议而言,维护一个UDP“连接”所占用的客户端、服务器端或者Peer端的计算机资源要少很多,且传输效率要高很多。但是,应用程序不加处理的使用UDP协议进行通讯是完全不能接受和不可控的,所以开发人员要想很好的完成即时通讯应用的需求,必须在UDP协议上设计一个能支持业务通信需求的应用层协议。因此,任何的可靠性、有序性、完整性、正确性以及流量控制等等特性都需要应用层协议来保证。本文以作者实际开发的一个应用为例,详细介绍了与此相关的理论和实现方法。希望能起到抛砖引玉的作用,以解决读者在此方面的部分问题。另一方面,Internet地址分配委员会(IANA)为延缓IPv4地址耗尽的速度而推崇的NAT(NetworkAddressTranslation)技术的广泛应用却对我们开发实现P2P应用软件提出了技术上的挑战。如何让数据包穿透各种NAT设备的障碍,在位于各种私有网络中的Peer之间实现透明的数据传输成了开发实现P2P应用软件的一个难点。本文详细介绍的NAT穿透的相关技术原理,并且在前文提到的即时通讯软件中以较低的软件成本完成了一个能穿透80%现实NAT场景的方法。1.3国内外研究概况综合国内外的研究成果,尽管有许多穿越NAT的技术,但没有一项是完美的。这是因为NAT的行为是非标准化的,没有一个全球公认的标准,所以造成了任何一种方法都不能保证能穿透实际网络环境中所有NAT的局面。这些技术中的大多数都要求有一个公共服务器,而且这个服务器必须使用的是一个众所周知的、从全球任何地方都能访问得到的IP地址。其中一些方法仅在连接建立初期需要使用这个服务器进行协助,而有些方法则通过这个服务器中转所有的数据,这种做法明显增加了网络负载。下面简略介绍6种主流的理论[5]:(1)ALG(ApplicationLayerGateway)方案[6]。该方案的主要思想是在NAT设备上升级ALG,让NAT设备可以分析数据包数据区的用户数据信息,识别不同的协议,动态的打开应用程序需要的端口,让P2P应用程序数据包能够顺利通过防火墙。此方案的主要优点是实现简单。缺点是实际网络中已部署了大量的不支持此种特性的NAT/Firewall设备,因此实际应用

您可能关注的文档

文档评论(0)

peili2018 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档