摘要:
一.背景知识NAT(Network Address Translators)的作用是将私网地址映射为公网地址,可以实现多个私网主机公用相同的公网IP地址,以解决IPv4地址不足的问题。一般的NAT在默认情况下只允许内网数据发往外网并接收已知的外网地址的访问,而阻止陌生的外网地址发送来的数据。所谓的已知是指该外网地址在session中有记录。根据其工作方式,NAT可以分为两大类型:1.基本的NAT将私网地址转换为公网IP地址,不改变TCP/UDP端口。鲜有这种类型的NAT。2.NAPT(Network Address/Port Translators)这是最普遍的情况。当数据报通过NAT时,修改 阅读全文
摘要:
论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码)。呵呵,在这里我就用自己实现的一个源代码来说明UDP穿越 NAT的原理。首先先介绍一些基本概念:NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类:* 基本的NAT,和* NAPT(Network Address/Port Translator)。最开始NAT是运行在路由器上的一个功能模块。最先提出的是基本的NAT,它的产生基于如下事实:一个私有网络(域)中的节点中只有很少的节点需要与外网连 阅读全文