[普通]深入理解ICS和NAT

作者(passion) 阅读(1173次) 评论(0) 分类( 协议)

Internet是针对全局唯一的IP地址空间而设计的,每一个连接到Internet的接口都必须拥有一个基于该接口所连接子网的唯一Internet IP地址,因此不管此接口所在的子网在Internet上如何进行路由,别人总可以通过你的Internet全局唯一的IP地址对你进行访问。

但是随着可分配的IP地址空间逐渐减少,而连接到Internet上的主机数量却大量的增加,已经不可能再为每一台需要连接到Internet的主机分配一个唯一的IP地址,此时,NAT(网络地址转换)就应运而生了。NAT允许专用网络(专用网络/Internet在此等同于内部网络/外部网络)上的多个客户计算机通过某个Internet接口访问Internet资源,而Internet上的主机却不能直接对专用网络中的客户计算机进行访问。NAT支持在专用网络上重复使用 IPv4私用IP地址地空间 (10.0.0.0/8、172.16.0.0/12、192.168.0.0/16),这极大的减轻了Internet IPv4地址快速消耗所带来的IP地址数不足分配的压力。

NAT 的基本操作如下:

当专用网络客户发起对Internet的连接请求时,对于每一个传出的数据包,NAT将专用网络中的源地址更改为连接到Internet的公用接口的源地址,并修改源传输控制协议(TCP)或用户数据报协议(UDP)端口号为一个NAT特定的值;并且,在自己的连接状态表中进行记录。

对于传入的数据包,NAT首先检查自己的连接状态表,如果匹配某个专用网络中发起的通讯请求,则NAT将目标公用地址更改为初始发起通讯请求的专用网络中客户的专用网络地址,并将目标TCP或UDP端口号更改为其原始值,转发给此专用网络客户;如果不匹配某个专用网络中发起的通讯请求,NAT会丢弃此数据包。

例如,如果某一个专用网络上的客户192.168.0.8需要通过自己的NAT网关(专用网络IP地址为192.168.0.1,Internet IP地址为61.139.0.8)访问Internet上主机61.139.0.1的HTTP服务,则NAT转换过程如下:

专用网络客户192.168.0.8发起通讯请求,数据包原格式为 TCP 192.168.0.8:1031(随机端口)->61.139.0.1:80,将此数据包发送给自己的默认网关192.168.0.1;

当NAT网关接收到192.168.0.8发送的数据包后,修改此数据包为 TCP 61.139.0.8:60066(随机端口)->61.139.0.1:80,转发给Internet主机61.139.0.1,并在自己的连接状态表中作记录;

Internet主机61.139.0.1收到此数据包后,回复数据包到NAT网关61.138.0.8,格式为 TCP 61.139.0.1:80 -> 61.139.0.8:60066;

当NAT网关收到此数据包后,检查自己的连接状态表,发现 此数据包匹配专用网络客户192.168.0.8发起的连接请求,则修改数据包为 TCP 61.139.0.1:80 -> 192.168.0.8:1031,然后转发数据包给专用网络中的客户。

所以,NAT可以有效地允许专用网络中的客户端计算机正常访问Internet资源,而不需要让专用网络中的客户端计算机都直接连接到Internet。


« 上一篇:城市热点dr.com5.2.0,5.2.1,6.0(D) 校园网客户端破解版(drcom至尊版)
« 下一篇:预编译头错误
在这里写下您精彩的评论
  • 微信

  • QQ

  • 支付宝

返回首页
返回首页 img
返回顶部~
返回顶部 img