isp*_*iro 2 networking router modem port-forwarding nat
我正在使用调制解调器路由器,并且在某些情况下也在 ISP NAT 后面。NAT(ISP 的 NAT)后面的 NAT(路由器的 NAT)如何工作?
据我所知,NAT 是这样工作的:计算机 A 和 B 获得内部 IPinternal1
和internal2
. 然后NAT给出了相同的IP端口他们,让他们公开面对落后someIP:1
和someIP:2
。
但是,如果路由器这样做,然后 ISP 再次这样做,则 IP 将采用 形式someIP:1:100
,someIP:2:101
这是不可能的,因为端口没有二级端口。
那么这是如何工作的呢?
让我们尝试一个简单的例子。
在“普通”NAT 家庭网络中,192.168.1.2:11223
映射到“公共”地址:端口对203.0.113.5:22334
。因此,最终目标主机认为它收到了来自它的数据包,203.0.113.5:22334
并且不知道其背后的“专用”网络。
现在,让我们将其扩展到具有两个 NAT 级别的双 NAT 网络。
在离主机最近的路由器上,192.168.1.2:11223
映射到“公共”地址:端口对10.0.0.8:22334
。现在,10.0.0.8
仍然是私有地址,只是在不同的网络中。就这个路由器而言,它的工作已经完成。
在作为 LAN 网关的下一个路由器上,第一个路由器所在的路由器10.0.0.8:22334
被映射到另一个地址:端口对,位于其自己的公共接口上203.0.113.5:12345
。
最终目标主机认为它收到了来自 的数据包203.0.113.5:12345
。它和公共互联网作为一个整体,没有任何知识10.0.0.0/8
或192.168.0.0/16
在这里参与该子网。它将向该地址发送一个响应,该地址必须依次由每个路由器转换回。
Different address:port pairs for
thesame endpoint in one connection!
+------------------------+ -----------------------------------
|Host |
|192.168.1.2 |
+------------------------+ 192.168.1.2:11223 <--- Host sees
this pair
+------------------------+ 192.168.1.2:11223 <--- Router 1 sees
|Router 1 | req from this
|internal 192.168.1.1/24 |
|external 10.0.0.8 |
+------------------------+ 10.0.0.8:22334 <------ Router 1 sends
req from this
+------------------------+ 10.0.0.8:22334 <------ Router 2 sees
|Router 2 | req from this
|internal 10.0.0.1/24 |
|external 203.0.113.5 |
+------------------------+ 203.0.113.5:12345 <--- Router 2 sends
req from this
+------------------------+ 203.0.113.5:12345 <--- Public internet
|Public internet | sees this pair
+------------------------+
Run Code Online (Sandbox Code Playgroud)
CGN(“ISP NAT”)的工作方式大致相同。唯一的区别是它没有为其内部主机提供 RFC1918 私有地址,因为这可能会与业务网络发生冲突。相反,100.64.0.0/10
范围 (RFC6598) 中的地址由上图中的“路由器 2”分配。就客户自己的路由器而言,其“公共”地址来自该范围 - 但实际上无法在公共互联网上访问!
归档时间: |
|
查看次数: |
3105 次 |
最近记录: |