nat 网卡间数据包转发_网络工程师必懂-数据传输中的nat转换

本章要说到的是nat,叫做网络地址转换,那么它是干嘛的,有什么作用呢?

我们都知道ip地址是由32个二进制数组成,所以ip地址的数量是2的32次方,大约有40亿个。

随着互联网科技的发展,对于接入网络的需求越来越多,我们说现在进入了物联网时代,万物联网,像智能冰箱,智能空调,手机等等都需要联网,都需要ip地址。

这时候就呈现出了ip地址不够用的情况,为了解决ip地址不够用的问题,我们将ip地址分为公网地址和私网地址两种,可重复使用的各类私网地址段给企业内部或家庭使用,但是公网地址和私网之间是不能互通的,所以我们结合nat技术来缓解ip地址不够用的问题。

那么什么是公网地址,什么是私网地址呢?

①私网地址

我们知道ip地址的一个范围是:0.0.0.0~255.255.255.255,使用不同得组合大概有40亿个。

在这个范围之内,我们抽出了三个地址段为私网地址。

10.0.0.0~10.255.255.255

172.16.0.0~172.31.255.255

192.168.0.0~192.168.255.255

私网地址:可以重复被使用,使用私网地址的网络就叫做私有网网络。

②公网地址

除了私网地址以外的地址都是公网地址,公网地址的特点在于internet上唯一,运行商用的ip地址都是公网地址,使用公网地址的网络都是公有网络。

我们说公网和私网之间是不能互通的,所以我们通过nat去解决这个问题,那么nat如何去解决这个问题呢?

取个例子

比如说是一个家庭网络,isp是我们的运行商,我们从运行商这里拉了一根线过来,接到我们的出口路由器上,而我们路由器以下的网络是我们的私网,使用私网ip地址,这时候如果pc想要进行上网的话,首先会把数据包交给我们的网关(路由器),然后我们在网关上开启nat功能,这时候我们的网关收到一个数据包,发现源地址是一个私网地址想去访问公网目的地的时候,就会将ip包中的源地址,替换成自己的外网口地址,然后以自己的外网口ip为源地址,去访问公网目的地。实现私网地址与公网地址的转换。

Nat分为很多种类型,根据不同的环境,选择使用不同的nat

①静态nat:

静态NAT实现了私有地址和公有地址的一对一映射。如果希望一台主机优先使用某个关联地址,或者想要外部网络使用一个指定的公网地址访问内部服务器时,可以使用静态NAT。但是在大型网络中,这种一对一的IP地址映射无法缓解公用地址短缺的问题。

在本示例中,源地址为192.168.1.1的报文需要发往公网地址100.1.1.1。在网关RTA上配置了一个私网地址192.168.1.1到公网地址200.10.10.1的映射。当网关收到主机A发送的数据包后,会先将报文中的源地址192.168.1.1转换为200.10.10.1,然后转发报文到目的设备。目的设备回复的报文目的地址是200.10.10.1。当网关收到回复报文后,也会执行静态地址转换,将200.10.10.1转换成192.168.1.1,然后转发报文到主机A。和主机A在同一个网络中其他主机,如主机B,访问公网的过程也需要网关RTA做静态NAT转换。

静态NAT实现了私有地址和公有地址的一对一映射。

一个公网IP只会分配给唯一且固定的内网主机。

外网口下:nat static global 200.10.10.1 inside 192.168.1.1 //将公网地址200.10.10.1,映射到内网192.168.1.1(注意公网地址不可与外网口地址相同)

②动态nat

本示例中,当内部主机A和主机B需要与公网中的目的主机通信时,网关RTA会从配置的公网地址池中选择一个未使用的公网地址与之做映射。每台主机都会分配到地址池中的一个唯一地址。当不需要此连接时,对应的地址映射将会被删除,公网地址也会被恢复到地址池中待用。当网关收到回复报文后,会根据之前的映射再次进行转换之后转发给对应主机。

动态NAT地址池中的地址用尽以后,只能等待被占用的公用IP被释放后,其他主机才能使用它来访问公网。

动态NAT基于地址池来实现私有地址和公有地址的转换

Acl 2001

rule permit source 192.168.1.0 0.0.0.255

nat address-group 1 200.10.10.1 200.10.10.100 //定义转换公网地址池

外网口下:nat outbound 2001 address-group 1 //接口下应用

当这个外网接口发出数据包的时候,查看ip包头源地址,如果与acl2001的内容匹配,将源地址转换成公网的地址池出去

③esay ip

针对静态动态nat,不能解决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地址和端口号,并转发报文到主机。

Acl 2001

rule permit source 192.168.1.0 0.0.0.255

外网口下:nat outbound 2001

相比于静态ip,一个公网ip地址可被多个私网ip地址使用,将不同的私网ip地址映射成公网的不同端口,形成转换表项,并且可以直接使用外网口的ip地址。

Easy IP允许将多个内部地址映射到网关出接口地址上的不同端口

④NAPT(PAT)

本示例说明了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多了端口多复用功能,也是一个公网ip地址可被多个私网ip地址使用,将不同的私网ip地址映射成公网的不同端口,形成转换表项。

网络地址端口转换NAPT允许多个内部地址映射到同一个公有地址的不同端口,当一个ip地址的端口满后,使用地址池中下一个ip地址的端口继续转换。

Acl 2001

rule permit source 192.168.1.0 0.0.0.255

nat address-group 1 200.10.10.1 200.10.10.100 //定义转换公网地址池

外网口下:nat outbound 2001 address-group 1 //接口下应用

⑤Nat server

NAT在使内网用户访问公网的同时,也屏蔽了公网用户访问私网主机的需求。当一个私网需要向公网用户提供Web和SFTP服务时,私网中的服务器必须随时可供公网用户访问。

NAT服务器可以实现这个需求,但是需要配置服务器私网IP地址和端口号转换为公网IP地址和端口号并发布出去。路由器在收到一个公网主机的请求报文后,根据报文的目的IP地址和端口号查询地址转换表项。路由器根据匹配的地址转换表项,将报文的目的IP地址和端口号转换成私网IP地址和端口号,并转发报文到私网中的服务器。

本例中,主机C需要访问私网服务器,发送报文的目的IP地址是200.10.10.1,目的端口号是80。RTA收到此报文后会查找地址转换表项,并将目的IP地址转换成192.168.1.1,目的端口号保持不变。服务器收到报文后会进行响应,RTA收到私网服务器发来的响应报文后,根据报文的源IP地址192.168.1.1和端口号80查询地址转换表项。然后,路由器根据匹配的地址转换表项,将报文的源IP地址和端口号转换成公网IP地址200.10.10.1和端口号80,并转发报文到目的公网主机。

直接外网口下:nat server protocol tcp global current-interface 80 inside 192.168.1.1 80 //将外网接口ip地址的80端口映射到服务器地址的80端口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值