计算机网络协议系列 - 网络层 IP 协议篇:如何通过 NAT 技术实现公网 IP 与私有 IP 地址间的转换

- 1 min

计算机网络协议系列(十二)

前面介绍过,为了解决 IPv4 地址即将枯竭的问题,会在本地网络使用私有 IP 地址,然后在连接互联网时使用 NAT 技术将其转化为公网 IP 地址(全局 IP 地址),那么,NAT 技术是如何实现这个转化的呢?

下面我们来看一张图:

img

在 NAT 路由器(即本地网络与外部网络连接的路由器)内部有一张自动生成的用来转换地址的表,当10.0.0.10(私有IP) 向 163.221.120.9(公网IP) 发送第一个包时生成这张表,并按照表中的映射关系进行处理。

当私有网络内的多台机器同时都要与外部通信进行通信时,仅仅转换 IP 地址,人们不免担心公网 IP 地址是否够用,这时采用包含端口号一起转换的方式可以解决这个问题:

img

即在通过 NAT 路由器做 IP 地址转化时将本地网络中不同主机转化为同一个 IP 地址,而将端口号转化为不同端口号,以示区别。

这里需要注意的是,在使用 TCP 或 UDP 的通信中,只有当目标地址、源地址、目标端口、源端口以及协议类型(TCP或UDP)五项内容都一致时才被认为是同一个通信连接。

rss facebook twitter github gitlab youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora quora