(转载)P2P之UDP穿透NAT的原理与实现 - 增强篇(附修改过的源代码)

本文详细介绍了P2P中UDP穿透NAT的原理,包括NAT的基本概念、作用以及NAPT的工作方式。文章探讨了NAPT如何阻碍P2P软件应用,并重点解析了UDP穿透NAT的原理,特别是针对Cone和Symmetric NAT的差异。通过数据结构分析,揭示了UDP穿透Cone NAT的可能性,强调只有在双方均为Cone NAT的情况下,才能实现内网穿透互联。最后,提出了验证NAPT穿透的方法,以帮助读者理解和测试这一过程。
摘要由CSDN通过智能技术生成

关键词: P2P UDP NAT 原理 穿透 Traveral Symmetric Cone
原始作者: Hwycheng Leo(FlashBT@Hotmail.com)
源码下载: http://bbs.hwysoft.com/download/UDP-NAT-LEO.rar
参考:http://midcom-p2p.sourceforge.net/draft-ford-midcom-p2p-01.txt
      P2P之UDP穿透NAT的原理与实现(shootingstars)

文章说明:

关于UDP穿透NAT的中文资料在网络上是很少的,仅有<<P2P之UDP穿透NAT的原理与实现(shootingstars)>>这篇文章有实际的参考价值。
本人近两年来也一直从事P2P方面的开发工作,比较有代表性的是个人开发的BitTorrent下载软件 - FlashBT(变态快车). 对P2P下载
或者P2P的开发感兴趣的朋友可以访问软件的官方主页: http://www.hwysoft.com/chs/ 下载看看,说不定有收获。写这篇文章的主要
目的是懒的再每次单独回答一些网友的提问, 一次性写下来, 即节省了自己的时间,也方便了对于P2P的UDP穿透感兴趣的网友阅读和
理解。对此有兴趣和经验的朋友可以给我发邮件或者访问我的个人Blog留言: http://hwycheng.blogchina.com.
您可以自由转载此篇文章,但是请保留此说明。

再次感谢shootingstars网友的早期贡献. 表示谢意。

----------------------------------------------------------------------------------------------------------------------------

NAT(The IP Network Address Translator) 的概念和意义是什么?

NAT, 中文翻译为网络地址转换。具体的详细信息可以访问RFC 1631 - http://www.faqs.org/rfcs/rfc1631.html, 这是对于NAT的定义和解释的最权威的描述。网络术语都是很抽象和艰涩的,除非是专业人士,否则很难从字面中来准确理解NAT的含义。

要想完全明白NAT 的作用,我们必须理解IP地址的两大分类,一类是私有IP地址,在这里我们称作内网IP地址。一类是非私有的IP地址,在这里我们称作公网IP地址。关于IP地址的概念和作用的介绍参见我的另一篇文章: http://hwycheng.blogchina.com/2402121.html

内网IP地址: 是指使用A/B/C类中的私有地址, 分配的IP地址在全球不惧有唯一性,也因此无法被其它外网主机直接访问。
公网IP地址: 是指具有全球唯一的IP地址,能够直接被其它主机访问的。

NAT 最初的目的是为使用内网IP地址的计算机提供通过少数几台具有公网的IP地址的计算机访问外部网络的功能。NAT 负责将某些内网IP地址的计算机向外部网络发出的IP数据包的源IP地址转换为NAT自己的公网的IP地址,目的IP地址不变, 并将IP数据包转发给路由器,最终到达外部的计算机。同时负责将外部的计算机返回的IP数据包的目的IP地址转换为内网的IP地址,源IP地址不变,并最终送达到内网中的计算机。
                                                
 ----------------------                           ----------------------              
 | 192.168.0.5        |  Internat host            | 192.168.0.6        |  Internat host
 ----------------------                           ----------------------              
         ^ port:2809                                      ^port: 1827                           
         |                                                |                           
         V                                                V                           
 ----------------------                           ----------------------              
 | 192.168.0.1        | NAT device                | 192.168.0.2        | NAT device   
 | 61.51.99.86        |                           | 61.51.77.66        |              
 ----------------------

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值