对等网络,即对等计算机网络,是一种在对等者(Peer)之间分配任务和工做负载的分布式应用架构,是对等计算模型在应用层造成的一种组网或网络形式。“Peer”在英语里有“对等者、伙伴、对端”的意义。所以,从字面上,P2P能够理解为对等计算或对等网络。国内一些媒体将P2P翻译成“点对点”或者“端对端”,学术界则统一称为对等网络(Peer-to-peer networking)或对等计算(Peer-to-peer computing),其能够定义为:网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络链接能力、打印机等),这些共享资源经过网络提供服务和内容,能被其它对等节点(Peer)直接访问而无需通过中间实体。在此网络中的参与者既是资源、服务和内容的提供者(Server),又是资源、服务和内容的获取者(Client)。安全
UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无链接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。UDP在IP报文的协议号是17。
UDP协议全称是用户数据报协议,在网络中它与TCP协议同样用于处理数据包,是一种无链接的协议。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送以后,是没法得知其是否安全完整到达的。UDP用来支持那些须要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都须要使用UDP协议。UDP协议从问世至今已经被使用了不少年,虽然其最初的光彩已经被一些相似协议所掩盖,可是即便是在今天UDP仍然不失为一项很是实用和可行的网络传输层协议。服务器
采用UDP协议进行打洞以进行P2P会话,打洞的原理是这样的:假设client A要向client B对话,可是A不知道B的地址,即便知道根据NAT的原理这个对话在第一次会被拒绝,由于client B的NAT认为这是一个从没有过的外部发来的请求.这个时候,A若是发现本身没有保存B的地址,或者说发送给B的会话请求失败了,它会要求server端让B向A打一个洞,这个B->A的会话意义在于它使NAT B认为A的地址/端口是能够经过的地址/端口,这样A再向B发送对话的时候就不会再被NAT B拒绝了。打一个比方来讲明打洞的过程,A想来B家作客,可是遭到了B的管家NAT B的拒绝,理由是:我历来没有听我家B提过你的名字,这时A找到了A,B都认识的朋友server,要求server给B报一个信,让B去跟管家说A是个人朋友,因而,B跟管家NAT B说,A是我认识的朋友,这样A的访问请求就不会再被管家NAT B所拒绝了。简而言之,UDP打洞就是一个经过server保存下来的地址使得彼此之间可以直接通讯的过程,server只管帮助创建链接,在创建间接以后就再也不介入了。网络