论文部分内容阅读
对等网络(P2P:Peer-to-Peer)技术是当前网络应用的热门技术,在文件共享、分布计算和分布存储等方面已经取得了巨大成功。但是,为解决IP地址不足以及网络安全问题而提出的网络地址翻译(NAT)技术和防火墙技术却导致了对等网通信中的一些问题,例如:如何有效解决信令、媒体流的NAT穿透问题等,这些问题将是对等网技术能否广泛推广应用的关键。论文主要对NAT技术的原理以及穿越方法进行了研究,结合对等网的特点来解决UDP和TCP穿越NAT的问题,为对等网中穿越NAT进行通信设计了一种穿越方案。与传统的C/S模式相比,P2P网络模型具有扩展性强和组网方式灵活的特点,而且出于安全的考虑,许多终端位于NAT之后,甚至是多级NAT之后,外网主机不能直接访问内网主机,这就给资源共享带来很大困难。现有的一些穿越方案中,有些需要对现有设备进行改造,并且适合P2P网络的比较少,如:STUN,TRUN等。其中,STUN对UDP穿越支持比较好,但不能穿越对成型的NAT。TRUN虽然能够穿越对成型的NAT,但由于报文要通过TRUN服务器转发,这又增加了网络延迟。这些方案不适应P2P通信中UDP和TCP对NAT的穿越。论文提出hole puching方案,从结构上将信令中转和报文转发处理分开,信令通过集结服务器转发,从而实现在NAT上进行打洞,报文就可以通过“洞”顺利的穿越NAT,而不需要服务器转发,实现UDP和TCP对NAT的穿越,比较好的解决了转发报文造成的延迟问题。hole puching方案需要在公网上设立集结服务器,在UDP通信中,本方案使用中转以及连接倒置等技术实现了在单级NAT以及多级NAT上打“洞”的目的,从而实现了点对点的UDP通信;在TCP通信中,考虑到TCP是面向连接的服务,本方案由终端来构造应答消息,由集结服务器控制消息的转发来实现TCP穿越,同时结合端口预测技术实现了TCP穿越对称型NAT。本方案中,由于集结服务器只转发信令,而报文可以透明穿越NAT,因此降低了因服务器转发报文引起的网络延迟。最后通过对方案进行功能测试,测试结果说明该方案可以实现UDP和TCP穿越多种类型的NAT,并且不会造成太大的时延。