- 5
- 0
- 约7.31千字
- 约 9页
- 2016-10-13 发布于重庆
- 举报
P2P之UDP穿透NAT的原理与实现
P2P之UDP穿透NAT的原理与实现--增强篇(附源代码)
关键词: P2P UDP NAT 原理 穿透 Traveral Symmetric Cone原始作者: Hwycheng Leo(FlashBT@H)
源码下载: /upload/2005_08/05080112299104.rar参考:/draft-ford-midcom-p2p-01.txt
P2P之UDP穿透NAT的原理与实现(shootingstars)
文章说明:
关于UDP穿透NAT的中文资料在网络上是很少的,仅有P2P之UDP穿透NAT的原理与实现(shootingstars)这篇文章有实际的参考价值。本人近两年来也一直从事P2P方面的开发工作,比较有代表性的是个人开发的BitTorrent下载软件 - FlashBT(变态快车). 对P2P下载或者P2P的开发感兴趣的朋友可以访问软件的官方主页: /chs/ 下载看看,说不定有收获。写这篇文章的主要目的是懒的再每次单独回答一些网友的提问, 一次性写下来, 即节省了自己的时间,也方便了对于P2P的UDP穿透感兴趣的网友阅读和理解。对此有兴趣和经验的朋友可以给我发邮件或者访问我的个人Blog留言: . 您可以自由转载此篇文章,但是请保留此说明。
再次感谢shootingstars网友的早期贡献. 表示谢意。
------------------------------------------------------------------------------------------------------------
NAT(The IP Network Address Translator) 的概念和意义是什么?
NAT, 中文翻译为网络地址转换。具体的详细信息可以访问RFC 1631 - /rfcs/rfc1631.html, 这是对于NAT的定义和解释的最权威的描述。网络术语都是很抽象和艰涩的,除非是专业人士,否则很难从字面中来准确理解NAT的含义。
要想完全明白NAT 的作用,我们必须理解IP地址的两大分类,一类是私有IP地址,在这里我们称作内网IP地址。一类是非私有的IP地址,在这里我们称作公网IP地址。关于IP地址的概念和作用的介绍参见我的另一篇文章: /2402121.html
内网IP地址: 是指使用A/B/C类中的私有地址, 分配的IP地址在全球不惧有唯一性,也因此无法被其它外网主机直接访问。公网IP地址: 是指具有全球唯一的IP地址,能够直接被其它主机访问的。
NAT 最初的目的是为使用内网IP地址的计算机提供通过少数几台具有公网的IP地址的计算机访问外部网络的功能。NAT 负责将某些内网IP地址的计算机向外部网络发出的IP数据包的源IP地址转换为NAT自己的公网的IP地址,目的IP地址不变, 并将IP数据包转发给路由器,最终到达外部的计算机。同时负责将外部的计算机返回的IP数据包的目的IP地址转换为内网的IP地址,源IP地址不变,并最终送达到内网中的计算机。
图一: NAT 实现了私有IP的计算机分享几个公网IP地址访问Internet的功能。随着网络的普及,IPv4的局限性暴露出来。公网IP地址成为一种稀缺的资源,此时NAT 的功能局限也暴露出来,同一个公网的IP地址,某个时间只能由一台私有IP地址的计算机使用。于是NAPT(The IP Network Address/Port Translator)应运而生,NAPT实现了多台私有IP地址的计算机可以同时通过一个公网IP地址来访问Internet的功能。这在很大程度上暂时缓解了IPv4地址资源的紧张。
NAPT 负责将某些内网IP地址的计算机向外部网络发出的TCP/UDP数据包的源IP地址转换为NAPT自己的公网的IP地址,源端口转为NAPT自己的一个端口。目的IP地址和端口不变, 并将IP数据包发给路由器,最终到达外部的计算机。同时负责将外部的计算机返回的IP数据包的目的IP地址转换内网的IP地址,目的端口转为内网计算机的端口,源IP地址和源端口不变,并最终送达到内网中的计算机。
图二: NAPT 实现了私有IP的计算机分享一个公网IP地址访问Internet的功能。?在我们的工作和生活中, NAPT的作用随处可见,绝大部分公司的网络架构,都是通过1至N台支持NAPT的路由器来实现公司的所有计算机连接外部的Internet网络的。包括本人在写这篇文章的时候,也是在家中使用一台IBM笔记本通过一台宽带连接的台式机来访问Internet的。我们本篇文章主要讨论的NAPT的问题。
NAPT(The IP Network Address/Port Translator) 为何阻碍了P2P软件的应用?
通过NA
您可能关注的文档
最近下载
- 2024年山东医学高等专科学校单招考试语文试题含答案解析.docx
- 北京·新荣记 加冕“三星”,新荣记为何独得米其林青睐.docx VIP
- 2025年山东医学高等专科学校单招考试语文试题含答案解析.docx
- 口渴了-朋友帮你.ppt VIP
- 2025年山东医学高等专科学校单招(数学)历年真题考点含答案解析.docx
- 【行业标准】QSH 0039-2007 钻井液用水解聚丙烯腈铵盐技术要求.pdf VIP
- 《QSH0038-2007-钻井液用羧甲基纤维素钠盐技术要求》.pdf VIP
- 《桂海虞衡志》中少数民族风俗研究.doc VIP
- QSH 0048-2007 钻井液用聚丙烯酰胺钾盐技术要求.pdf VIP
- 医疗护理员培训大纲(试行).docx VIP
原创力文档

文档评论(0)