路由器NAT类型
来源:互联网 发布:环形数据库 编辑:程序博客网 时间:2024/05/06 08:23
NAT种类
我们平时使用NAT时,可能没有注意用的是哪种类型的NAT。事实上,NAT按照网络通讯的限制,大致可以分为以下四类:Full Cone NAT(完全圆锥型)、Address Restricted Cone NAT(地址限制圆锥型)、Port Restricted Cone NAT(端口限制圆锥型)和Symmetric NAT(对称型)。
Full Cone NAT
内网主机建立一个UDP Socket(LocalIP:LocalPort),第一次使用这个Socket给外部主机发送数据时,NAT会给其分配一个公网(PublicIP:PublicPort),以后用这个Socket向外面任何主机发送数据都将使用这对公网(PublicIP:PublicPort)。此外,任何外部主机只要知道这个(PublicIP:PublicPort),就可以发送数据给(PublicIP:PublicPort),内网的主机就能收到这个数据包。
具体来说就是,如图1所示,NAT会将客户机地址{X:y}转换成公网地址{A:b}并绑定,任何包都可以通过地址{A:b}送到客户主机的{X:y}地址上。
图1 Full Cone NAT
Address Restricted Cone NAT
内网主机建立一个UDP socket(LocalIP:LocalPort),第一次使用这个Socket给外部主机发送数据时,NAT会给其分配一个公网(PublicIP:PublicPort),以后用这个Socket向外面任何主机发送数据都将使用这对(PublicIP:PublicPort)。此外,如果任何外部主机想要发送数据给这个内网主机,只要知道这个(PublicIP:PublicPort),并且内网主机之前用这个Socket曾向这个外部主机IP发送过数据。只要满足这两个条件,这个外部主机就可以用自己的(IP,任何端口)发送数据给(PublicIP:PublicPort),内网的主机就能收到这个数据包。
图2 Address Restricted Cone NAT
具体的说就是,如图2所示,NAT会将客户机地址{X:y}转换成公网地址{A:b}并绑定,只有来自主机{P}的包才能和主机{X:y}通信。
Port Restricted Cone NAT
内网主机建立一个UDP socket(LocalIP:LocalPort) 第一次使用这个socket给外部主机发送数据时NAT会给其分配一个公网(PublicIP:PublicPort),以后用这个socket向外面任何主机发送数据都将使用这对(PublicIP:PublicPort)。此外,如果任何外部主机想要发送数据给这个内网主机,只要知道这个(PublicIP:PublicPort)并且内网主机之前用这个socket曾向这个外部主机(IP,Port)发送过数据。只要满足这两个条件,这个外部主机就可以用自己的(IP,Port)发送数据给(PublicIP:PublicPort),内网的主机就能收到这个数据包。
具体来说就是,如图3所示,NAT会将客户机地址{X:y}转换成公网地址{A:b}并绑定,只有来自主机{P,q}的包才能和主机{X:y}通信。
图3 Port Restricted Cone NAT
Symmetric NAT
内网主机建立一个UDP socket(LocalIP,LocalPort),当用这个Socket第一次发数据给外部主机1时,NAT为其映射一个(PublicIP-1,Port-1),以后内网主机发送给外部主机1的所有数据都是用这个(PublicIP-1,Port-1)。如果内网主机同时用这个Socket给外部主机2发送数据,第一次发送时,NAT会为其分配一个(PublicIP-2,Port-2),以后内网主机发送给外部主机2的所有数据都是用这个(PublicIP-2,Port-2)。如果NAT有多于一个公网IP,则(PublicIP-1)和(PublicIP-2)可能不同。如果NAT只有一个公网IP,则(Port-1)和(Port-2)肯定不同,也就是说一定不能是(PublicIP-1)等于(PublicIP-2)且(Port-1)等于(Port-2)。此外,如果任何外部主机想要发送数据给这个内网主机,那么它首先应该收到内网主机发给它的数据,然后才能往回发送,否则即使它知道内网主机的一个(PublicIP,Port),也不能发送数据给内网主机,这种NAT无法实现UDP-P2P通信。
具体的说就是,如图4所示,NAT会将客户机地址{X:y}转换成公网地址{A:b}并绑定为{X:y}|{A:b}<->{P:q},NAT只接受来自{P:q}的incoming packet,将它转给{X:y} ,每次客户机请求一个不同的公网地址和端口时,NAT就会新分配一个端口号{C,d}。
图4 Symmetric NAT
NAT类型检测
- 路由器NAT类型
- 路由器NAT
- 路由器NAT功能配置
- 路由器NAT设置
- 网络NAT路由器
- cisco 路由器nat设置
- NAT路由器打洞原理
- NAT路由器打洞原理
- 思科路由器--nat
- 华为路由器nat
- nat类型
- NAT类型
- NAT类型
- ubuntu 10.10 的nat路由器
- Cisco 路由器NAT设置介绍
- H3C路由器NAT配置实例
- SR88路由器NAT处理流程
- NAT服务器与路由器区别
- 解决调用dumpbin.exe、editbin.exe等工具mspdb100.dll 找不到的问题
- fmod的细节
- Enterprise Architect使用
- HDU-1164(质因数分解)
- stringstream clear() 清除内存的误区
- 路由器NAT类型
- java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher问题解决
- 关于UITableView的Cell复用谈谈我的一些心得
- request.getParameter() 、request.getAttribute() 和 session.getAttribute区别
- 从SQL T-SQL PL/SQL的区别看待我的总结
- 数据结构概括
- 处理表重复记录(查询和删除)
- 黑马程序员~多线程小述
- Visual Studio调试多线程应用程序