华为路由与交换之NAT技术原理

本次博客会介绍关于网络地址转换NAT技术原理。
从2011年2月份,IANA把全球最后一块IPv4地址空间分配完了之后,IPv4地址的源头已经枯竭了,尽管IPv6可以从根本上解决IPv4地址空间不足的问题,但目前众多的网络设备和网络应用仍是基于IPv4的,因此在IPv6广泛应用之前,一些过渡技术的使用是解决IPv4地址枯竭问题的主要技术手段。那么,NAT(Network Address Translation)网络地址转换技术,主要用于实现位于内部网络的主机访问外部网络的功能。当局域网内的主机需要访问外部网络时,通过NAT技术可以将其私网地址转换为公网地址,并且多个私网用户可以共用一个公网地址,这样既可保证网络互通,又节省了公网地址。不管是企业网,还是小型的办公室,家庭网络都会用到网络地址转换。

NAT的应用场景

不管是企业还是家庭,所使用的网络都是私有网络,使用的地址肯定是私有地址,运营商维护的网络为公共网络,使用的是公有地址。在运营商维护的公网中是没有私有网络的路由信息的,所以即使私网的路由能够进入公网,但是由于使用的是私网地址,对于公网中的设备来说,是不能进行回应的,所以,为了实现私有网络中的主机成功访问公网,需要在出口网关上去部署NAT,也就是说NAT一般部署在连接内网和外网的网关设备上。
出口网关:设备本身一边连接私有网络,一边连接公共网络。
部署NAT的方式有很多种,本次博客会介绍静态NAT、动态NAT、NAPT、easy IP以及NAT服务器.

静态NAT

静态 NAT实现的效果是私有地址和公有地址一对一的映射,也就是说,一个公网IP只分配给唯一并且固定的内网主机,如下图所示,当主机A去访问外网的时候,经过RTA也就是网关设备,RTA会将主机A的源地址192.168.1.1静态映射成一个固定的公网地址200.10.10.1,去访问公网中的服务器,当公网中的服务器收到之后,发现源地址是一个公网地址,并且这个公网地址在自己的路由表中,就会进行回复,那么在回包的过程中经过网关设备,网关设备又会将目的地址200.10.10.1转换成私网地址192.168.1.1进入私网,静态 NAT实现的效果是私有地址和共有地址一对一的映射,也就是说,一个公网IP只分配给唯一并且固定的内网主机,这种方式一般用的很少。

动态NAT

动态NAT,是基于地址池来实现私有地址和公网地址的转换,也就是说会需要出口网关的设备上配置NAT的地址池,这个NAT地址池里面会有很多公网地址,当主机去访问外网的时候,NAT网关会在NAT地址池里面去挑选一个公网地址,作为私网地址的转换对象,其实这种动态NAT的部署方式也是一种一对一的地址转换,如下图所示,
在这里插入图片描述
主机A 用源地址是192.168.1.1的私网地址去访问外网,到了出口网关(RTA)之后,RTA会自动的从地址池里面去选择一个可用的公网地址,作为源地址的一个转换,将原来私网的地址转换成公网地址之后,再去访问外网,动态NAT在实际的生活中用的也比较少。

NAPT

生活中,用的比较多的是NAPT(网络地址端口转换),这种方式是允许多个内部地址映射到同一个共有地址的不同端口,如下图所示,
在这里插入图片描述
RTA(出口网关)收到一个私网主机发送的报文,源IP地址是192.168.1.1,源端口号是1025,目的IP地址是100.1.1.1,目的端口是80。RTA会从配置的公网地址池中选择一个空闲的公网IP地址和端口号,并建立相应的NAPT表项。这些NAPT表项指定了报文的私网IP地址和端口号与公网IP地址和端口号的映射关系。之后,RTA将报文的源IP地址和端口号转换成公网地址200.10.10.1和端口号2843,并转发报文到公网。当网关RTA收到回复报文后,会根据之前的映射表再次进行转换之后转发给主机A。

Easy IP

还有一种是Easy IP,用的也比较广泛,可以用在PPPoE拨号场景下,因为通过PPPoE或者是DHCP方式获得的私网IP地址是没有办法提前知道的,所以对于这种动态获取ip地址(ip地址不固定的场景)的场景,想要做网络地址转换的时候,一般会采用Easy IP,Easy IP的原理就是当数据包来了之后,全都转换成网关上某个出接口的不同端口,如下图所示,
在这里插入图片描述
RTA收到一个主机A访问公网的请求报文,报文的源IP地址是192.168.1.1,源端口号是1025。RTA会建立Easy IP表项,这些表项指定了源IP地址和端口号与出接口的公网IP地址和端口号的映射关系。之后,根据匹配的Easy IP表项,将报文的源IP地址和端口号转换成出接口的IP地址和端口号,并转发报文到公网。报文的源IP地址转换成200.10.10.10/24,相应的端口号是2843。
路由器收到回复报文后,会根据报文的目的IP地址和端口号,查询Easy IP表项。路由器根据匹配的Easy IP表项,将报文的目的IP地址和端口号转换成私网主机的IP地址和端口号,并转发报文到主机。

NAT服务器

生活中,一般会通过配置NAT服务器,使外网用户访问内网服务器。所以说,NAT服务器一般会应用在某些大型的企业公司中的某些服务器需要对外开放,但是又不想把服务器的私网ip地址对外开放(如果把服务器的ip地址对外开放,会不安全),那么这个时候,就会将服务器的ip地址通过网关设备映射成一个公网地址,那么用户在访问这些服务器的时候,访问的是相相对应的公网地址,如下图所示,在这里插入图片描述
主机C需要访问私网服务器,发送报文的目的IP地址是200.10.10.1,目的端口号是80。RTA收到此报文后会查找地址转换表项,并将目的IP地址转换成192.168.1.100,目的端口号保持不变。服务器收到报文后会进行响应,RTA收到私网服务器发来的响应报文后,根据报文的源IP地址192.168.1.100和端口号80查询地址转换表项。然后,路由器根据匹配的地址转换表项,将报文的源IP地址和端口号转换成公网IP地址200.10.10.1和端口号80,并转发报文到目的公网主机。
部署NAT服务器,只是将服务器某个特定的服务向用户开放,并不是和静态NAT一样,将所有的服务都向用户开放
以上就是关于NAT技术的一些原理。

发布了9 篇原创文章 · 获赞 0 · 访问量 102

猜你喜欢

转载自blog.csdn.net/weixin_42463871/article/details/105313545