欢迎来到天天文库
浏览记录
ID:38025026
大小:55.50 KB
页数:5页
时间:2019-05-24
《NAT原理与NAT穿越》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、NAT原理与NAT穿越最近在看东西的时候发现很多网络程序中都需要NAT穿越,特意在此总结一下。先做一个约定:内网A中有:A1(192.168.0.8)、A2(192.168.0.9)两用户 网关X1(一个NAT设备)有公网IP 1.2.3.4内网B中有:B1(192.168.1.8)、B2(192.168.1.9)两用户, 网关Y1(一个NAT设备)有公网IP 1.2.3.5公网服务器:C(6.7.8.9)D(6.7.8.10)·NAT原理 网络地址转换(NAT,Net
2、workAddressTranslation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术。下面介绍两类不同方式实现的NAT:1.NAT(NetworkAddressTranslators):称为基本的NAT在客户机时 192.168.0.8:4000——6.7.8.9:8000在网关时 1.2.3.4:4000——6.7.8.9:8000服务器C 6.7.8.9:8000其核心是替换IP地址而不是端口,这会导致192.168.0.8使用4000端口后,
3、192.168.0.9如何处理?具体参考RFC1631基本上这种类型的NAT设备已经很少了。或许根本我们就没机会见到。 2. NAPT(NetworkAddress/PortTranslators):其实这种才是我们常说的NATNAPT的特点是在网关时,会使用网关的IP,但端口会选择一个和临时会话对应的临时端口。如下图:在客户机时 192.168.0.8:4000——6.7.8.9:8000在网关时 1.2.3.4:62000——6.7.8.9:8000服务器C
4、 6.7.8.9:8000网关上建立保持了一个1.2.3.4:62000的会话,用于192.168.0.8:4000与6.7.8.9:8000之间的通讯。对于NAPT,又分了两个大的类型,差别在于,当两个内网用户同时与8000端口通信的处理方式不同: 2.1、SymmetricNAT型(对称型)在客户机时 192.168.0.8:4000——6.7.8.9:8000192.168.0.8:4000——6.7.8.10:8000在网关时,两个不同session但端口号不同
5、 1.2.3.4:62000——6.7.8.9:80001.2.3.4:62001——6.7.8.10:8000服务器C 6.7.8.9:8000服务器D 6.7.8.10:8000这种形式会让很多p2p软件失灵。 2.2、ConeNAT型(圆锥型)在客户机时 192.168.0.8:4000——6.7.8.9:8000192.168.0.8:4000——6.7.8.10:8000在网关时,两个不同session但端口号相同 1.2.3.4:62000——6.7.8.
6、9:80001.2.3.4:62000——6.7.8.10:8000服务器C 6.7.8.9:8000服务器D 6.7.8.10:8000目前绝大多数属于这种。ConeNAT又分了3种类型:·a)FullConeNAT(完全圆锥型):从同一私网地址端口192.168.0.8:4000发至公网的所有请求都映射成同一个公网地址端口1.2.3.4:62000,192.168.0.8可以收到任意外部主机发到1.2.3.4:62000的数据报。·b)AddressRestrictedConeNAT (
7、地址限制圆锥型):从同一私网地址端口192.168.0.8:4000发至公网的所有请求都映射成同一个公网地址端口1.2.3.4:62000,只有当内部主机192.168.0.8先给服务器C6.7.8.9发送一个数据报后,192.168.0.8才能收到6.7.8.9发送到1.2.3.4:62000的数据报。·c)PortRestrictedConeNAT(端口限制圆锥型):从同一私网地址端口192.168.0.8:4000发至公网的所有请求都映射成同一个公网地址端口1.2.3.4:62000,只有当内部主机192.168.0.8
8、先向外部主机地址端口6.7.8.9:8000发送一个数据报后,192.168.0.8才能收到6.7.8.9:8000发送到1.2.3.4:62000的数据报。 ·穿越NAT的实现·A1在客户机时 192.168.0.8:4000——6.7.8.
此文档下载收益归作者所有