计算机网络(4.26)网络层-网络地址转换NAT

问题:在专用网上使用专用地址的主机如何与互联网上的主机通信(并不需要加密)?

解决:(1) 再申请一些全球IP地址。但这在很多情况下是不容易做到的。(2)采用网络地址转换NAT。这是目前使用得最多的方法。

网络地址转换NAT (Network Address Translation)  方法于1994年提出。需要在专用网连接到互联网的路由器上安装 NAT 软件。装有NAT软件的路由器叫做NAT路由器, 它至少有一个有效的外部全球IP地址。

所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址, 才能和互联网连接。

                    

网络地址转换的过程

内部主机A用本地地址IPA和互联网上主机B通信所发送的数据报必须经过NAT路由器。

NAT 路由器将数据报的源地址IPA转换成全球地址IPG,并把转换结果记录到NAT地址转换表中,目的地址IPB保持不变,然后发送到互联网。

NAT路由器收到主机B发回的数据报时,知道数据报中的源地址是IPB而目的地址是IPG。

根据NAT 转换表,NAT路由器将目的地址IPG转换为IPA,转发给最终的内部主机A。

可以看出,在内部主机与外部主机通信时,在NAT路由器上发生了两次地址转换:1、离开专用网时:替换源地址,将内部地址替换为全球地址; 2、进入专用网时:替换目的地址,将全球地址替换为内部地址;

NAT地址转换表举例

当NAT路由器具有n个全球IP地址时,专用网内最多可以同时有n台主机接入到互联网。这样就可以使专用网内较多数量的主机,轮流使用NAT路由器有限数量的全球IP地址。

通过NAT路由器的通信必须由专用网内的主机发起。专用网内部的主机不能充当服务器用,因为互联网上的客户无法请求专用网内的服务器提供服务。 静态NAT转换可以解决这个问题。

为了更加有效地利用NAT路由器上的全球IP地址,现在常用的NAT转换表把运输层的端口号也利用上。这样,就可以使多个拥有本地地址的主机,共用一个NAT路由器上的全球IP地址, 因而可以同时和互联网上的不同主机进行通信。

使用端口号的NAT叫做网络地址与端口号转换 NAPT(Network Address and Port Translation), 而不使用端口号的NAT就叫做传统的NAT (traditional NAT)。

NAPT把专用网内不同的源IP地址,都转换为同样的全球IP地址。 但对源主机所采用的TCP端口号(不管相同或不同),则转换为不同的新的端口号。因此,当NAPT路由器收到从互联网发来的应答时,就可以从IP数据报的数据部分找出运输层的端口号,然后根据不同的目的端口号,从NAPT转换表中找到正确的目的主机。

猜你喜欢

转载自blog.csdn.net/qq_40452317/article/details/89944611