NAT / NAPT

news/2024/11/6 11:27:30/

目录

一、前言

二、网络地址转换(NAT)

2.1 NAT如何解决IP冲突

2.2 SNAT / DNAT 

2.3 SNAT工作原理

2.3.1 案例1(NAT)

2.3.2 案例2(NAPT)

2.4 DNAT

三、总结


一、前言

        本人在学习Bridge/Router的过程中,发现在计算机网络中,数据报如何发送是根据目标IP地址进行路由的。若同一个网路中出现相同的IP,则会造成IP冲突,从而导致ARP表出现混乱,数据报发送到哪台主机上就会变成不确定性行为。

        但我们会发现,我们日常使用的主机的IP地址都是类似于192.168.1.10这样的IP地址,若按照文章说所说这些计算机都以家庭网络中的IP地址将数据报发送到互联网上,那么互联网上就会出现无数个相同的IP地址,这必然会造成混乱。本章节旨在向大家说明家庭网络和因特网之间的转换关系。

二、网络地址转换(NAT)

2.1 NAT如何解决IP冲突

        想要解决上述问题,我们只需要让数据报从路由器发送出去的时候,变成不同的IP地址即可,但IPv4的公网地址(全球唯一)是有限的,给每台主机分配一个公网IP地址是不切实际的。

        因此,提出了NAT转换技术,NAT能使大量使用内部专用地址的专用网络用户共享少量外部全球地址来访问因特网上的主机。NAT技术将IP地址大致分为了私有IP和公有IP。其中,我们大部分人所接触到的都是私有IP地址,私有IP地址范围如下表所示。

A类范围10.0.0.0 - 10.255.255.255
B类范围172.16.0.0 - 172.31.255.255
C类范围192.168.0.0 - 192.168.255.255

2.2 SNAT / DNAT 

         NAT技术本质是将IP数据报中的IP地址转换为另一个IP地址的过程,实际上就是建立一张NAT映射表。它有两种模式,分为SNAT和DNAT模式。

        SNAT(Source Network Address Translation):源网络地址转换,内部地址要访问公网上的服务时,内部地址会主动发起连接,将内部地址转换为公网IP。

        DNAT(Destination Network Address Translation):目标地址转换,内部对外提供服务时,外部主动发起连接,路由器或防火墙的网络收到这个连接后,将连接转换到内部,在内部有做地址转换,主要用于内部服务对外发布。

2.3 SNAT工作原理

2.3.1 案例1(NAT)

         我们假设路由器的WAN口接入的IP地址为公网IP地址(221.8.14.91),内网计算机IP地址为192.168.1.10,网关地址为192.168.1.1,我们要访问的远端服务的IP地址为36.152.44.96。具体配置如下图所示。

         若内网中的主机(192.168.1.10)给因特网中使用全球IP地址的服务器(36.152.44.96)发送数据报,其过程如下。

        step1: 主机将数据报发送至路由器,数据报的的源地址为主机的私有IP地址,目的地址为因特网上服务器的全球地址,如下表所示。

源地址192.168.1.10
目的地址36.152.44.96

        step2: 路由器收到数据报后,执行源地址转换,将WAN口的公网IP地址修改为源IP地址,并将源地址与私有地址的关系记录在NAT转换表中。

源地址221.8.14.91
目的地址36.152.44.96
NAT转换表
内网地址外网地址
192.168.1.10221.8.14.91
............

        step3: 因特网上的服务器收到IP数据报后,给主机返回相应数据报,将请求报文的源IP地址作为目标IP地址,自身的IP地址作为源IP地址,并将数据报发送出去,如下表所示。

源地址36.152.44.96
目的地址221.8.14.91

         step4: 响应数据报发送到路由器后,路由器再次查询NAT转换表,寻找到对应的私有地址(192.168.1.10),再将数据报的目标IP地址修改为192.168.1.10,再将其发送给相应主机。

源地址36.152.44.96
目的地址192.168.1.10

         此时,通信完成。

案例1小结:

        案例中为一对一通信,若内网中两台及以上的主机都使用私有地址给因特网上同一台服务器发送数据报时,数据报在发送出去的时候不会出现问题,但响应数据报返回时却会出现问题。响应数据报的目标IP地址都是路由器WAN口的公网IP地址,无法区分该响应数据报属于哪一台主机,因此只关注IP地址是远远不够的,还需要添加其他的标记。

2.3.2 案例2(NAPT)

        由于绝大多数网络应用都是使用TCP/UDP传输数据的,因此可以利用传输层的端口号和IP地址一起进行转换。这样,一个全球IP地址就可以使多个本地主机同时和因特网上的主机进行通信,这种方法称为网络地址与端口号转换(NAPT)。

        我们假设路由器的WAN口接入的IP地址为公网IP地址(221.8.14.91),内网计算机A的IP地址为192.168.1.10,计算机B的IP地址为192.168.1.11,网关地址为192.168.1.1,我们要访问的远端服务的IP地址为36.152.44.96。具体配置如下图所示。

        案例中,若计算机A和计算机B同时访问远程服务器,则采用NAPT技术进行转换,此时SNAT不仅仅修改IP地址,而是结合端口号一起修改。假设主机A和主机B访问远程服务器时端口号均为12345,则两台主机同时访问服务器的流程如下。

        step1: 主机A和B将数据报发送至路由器,数据报的的源地址为主机的私有IP地址,目的地址为因特网上服务器的全球地址。数据报的源地址和目标地址如下所示。

主机A的数据报主机B的数据报
源地址:端口号192.168.1.10:12345192.168.1.11:12345
目的地址:端口号36.152.44.96:808036.152.44.96:8080

        step2: 路由器收到数据报后,执行源地址转换,将WAN口的公网IP地址修改为源IP地址,源端口号根据NAPT路由器动态分配(此处为40001和40002),并将源地址与私有地址的关系记录在NAT转换表中。

主机A的数据报主机B的数据报
源地址:端口号221.8.14.91:40001221.8.14.91:40002
目的地址:端口号36.152.44.96:808036.152.44.96:8080

NAPT转换表

内网地址:端口号外网地址:端口号
192.168.1.10:12345221.8.14.91:40001
192.168.1.11:12345221.8.14.91:40002
............

        step3: 因特网上的服务器收到IP数据报后,给主机返回相应数据报,将请求报文的源IP地址作为目标IP地址,自身的IP地址作为源IP地址,并将数据报发送出去。

主机A的数据报主机B的数据报
源地址:端口号36.152.44.96:808036.152.44.96:8080
目的地址:端口号221.8.14.91:40001221.8.14.91:40002

         step4: 响应数据报发送到路由器后,路由器再次查询NAT转换表,寻找到对应的私有地址,再将数据报的目标IP地址修改为内网私有地址,再将其发送给相应主机。

主机A的数据报主机B的数据报
源地址:端口号221.8.14.91:40001221.8.14.91:40002
目的地址:端口号192.168.1.10:12345192.168.1.11:12345

         此时,通信完成。

2.4 DNAT

        如果我们的内网计算机对外提供服务,公网上发过来的请求不能直接到达内网计算机,我们需要DNAT技术帮忙转发请求。其大致过程如下。

        step1:路由器配置DNAT,若访问公网地址221.8.14.91的8080端口则自动转到计算机A。

221.8.14.91:8080  ->  192.168.1.10:80

        step2: 访问数据报从WAN口进入路由器后,路由器执行DNAT转到相应主机A,修改目标地址为192.168.1.10,修改目标端口为80,从而把数据报转发给计算机A。

三、总结

        NAT(NAPT)的存在使得IPv4虽然匮乏,但仍然能够使得计算机网络正常运行,同时NAT(NAPT)技术对外屏蔽了内网主机的网络地址,为内网的主机提供了一定的安全保护。


http://www.ppmy.cn/news/777207.html

相关文章

思科路由器NAT配置案例(static tcp)

NAT(Network Address Translation),是指网络地址转换,1994年提出的。 当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但又想和因特网上的主机通信&…

NAT 网络地址转换技术(二):在路由器上配置NAT技术

文章目录 实验要求配置步骤一步骤二:静态NAT配置步骤三:动态NAT配置步骤三:配置NAPT步骤四:配置Easy IP AR1所有配置 实验要求 PC1到PC5,使用静态NAT,将192.168.1.1映射成10.1.1.2PC2到PC5,使用动态NAT&…

路由器使用与NAT

总结一下昨天晚上睡前学到的 首先是校园网问题,关于路由器的使用: 一个路由器只有一个外网ip 进lan口,出wan口进主机,开启dhcp:路由器的路由功能,此网所有主机公用一个外网ip,内网ip由路由器…

华为路由器配置网络地址转换NAT/静态NAT/动态NAT/Easy-ip/NAPT代理上网

华为路由器配置NAT 配置R1接口和默认路由(基础配置) [R1]interface GigabitEthernet 0/0/1 [R1-GigabitEthernet0/0/1]ip address 10.1.1.2 24 [R1]interface GigabitEthernet 0/0/2 [R1-GigabitEthernet0/0/2]ip address 192.168.11.254 24 添加默认…

思科路由器配置NAT地址转换

静态NAT转换 采用如图所示的结构,每个端口配置如下的ip 首先得理解这个结构,r4的s2/0端口和r6和pc8共同组成外网 r4的f0/0和交换机s2以及pc6 pc7组成内网, 因此配完ip后,还得保证r4能ping通pc8 同样pc8也能ping通r4的s2/0 因此需…

路由器NAT典型配置

1.组网需求 内部网络中IP地址为10.110.10.0/24的用户可以访问Internet,其它网段的用户则不能访问Internet。 外部的PC可以访问内部的服务器。 公司具有202.38.160.100/24至202.38.160.105/24六个合法的IP地址。选用202.38.160.100作为公司对外的IP地址,W…

交换机与路由器技术-34-动态NAT

目录 一、动态NAT地址转换 1.1 动态NAT工作过程 1.2 动态NAT配置 1.2.1 第一步:定义内网和外网接口 1.2.2 第二步:配置内网的范围和外网地址池 1.2.3 第三步:配置动态NAT转换 一、动态NAT地址转换 1.1 动态NAT工作过程 多对多转换&…

华为路由器nat

配置地址: [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip add 192.168.10.1 24 [R1-GigabitEthernet0/0/0]int g0/0/1 [R1-GigabitEthernet0/0/1]ip add 12.0.0.1 24 [R2]int g0/0/0 [R2-GigabitEthernet0/0/0]ip add 12.0.0.2 24 华为nat在接口配置即可。 静态…