NAT(Network Address Translation)网络地址转换详解

网络地址转换

前言

由于IPV4地址的数量最大为2的32次方,也就是42亿多个IP地址,目前IPv4地址已经用尽。IPv6虽然可以从根本上解决IP地址不足的问题,但是目前众多的网络设备和网络应用是基于IPv4的,因此在IPv6广泛应用之前,一些过渡技术的使用是解决这个问题的主要技术手段。
网络转换技术(Network Address Translation)主要用于实现内部网络的主机访问外部网络的功能。当局域网内的主机需要访问外部网络时,通过NAT技术可以将其私网地址转换为公网地址,并且多个私网地址可以共用一个公网地址,这样既可保证网络互通,又节省了公网地址。

NAT应用场景


NAT是将IP报文头部的IP地址转换为另一个IP地址的过程。NAT一般部署在连接内网和外网的网关设备上。当收到的报文源地址为私网地址、目的地址为公网地址时,NAT可将源私网地址转换成一个公网地址,并作出相应。网关上还会创建一个NAT映射表,以便判断从公网收到的报文应该发往的私网目的地址。

NAT种类

NAT的实现方式有多种,适用于不同的场景。

静态NAT


静态NAT实现了私有地址和公网地址一对一的映射。如果希望一台主机优先使用某个关联地址,或者想要外部网络使用一个指定的公网地址访问内部服务器时,可以使用静态NAT。但是在大型网络中,这种一对一的IP地址映射无法缓解公用地址短缺的问题。
在示例中,源地址为192.168.1.1的报文需要发往公网地址100.1.1.1。在网关RTA上配置了一个私网地址192.168.1.1到公网地址200.10.10.1的映射,当网关收到主机A发送的数据包后,会首先将报文中的源IP地址转换成200.10.10.1,然后转发报文到目的设备。目的设备恢复的报文目的地址是200.10.10.1。当网关收到回复报文后,也会执行静态地址转换,将200.10.10.1转换成192.168.1.1,然后转发报文到主机A。其他主机访问外部也需地址转换。

动态NAT


动态NAT通过使用地址池来实现。
本示例中,当内部主机A和B需要访问公网IP时,网关RTA会从配置的公网地址池中选取一个未使用的公网ip作为映射。每台主机都会分配到地址池中的一个唯一地址。当不需要此连接时,对应的地址映射会被删除,公网地址也恢复到地址池待用。网关收到回复报文后,也会执行静态地址转换。
动态NAT中的地址池用尽后,只能等待被占用的公用IP被释放后,其他主机才能使用它访问公网。

NAPT


网络地址端口转换(NAPT)允许多个内部地址映射到同一个公网IP地址的不同端口。

Easy Ip


NAT服务器


posted @ 2021-05-12 14:32  小王同学!  阅读(1679)  评论(0编辑  收藏  举报