聊一聊网络地址转换 - NAT探珠

本文详细介绍了NAT(网络地址转换)的概念,包括其作用、种类和关键特性。主要讨论了传统NAT和NAPT的区别,强调了在地址转换中的会话管理和端口在NAPT中的重要性。并通过docker和wireshark的实际操作演示了NAT转换的过程,以及如何查看宿主机的NAT规则和利用conntrack查看当前连接的映射关系。
摘要由CSDN通过智能技术生成

概要

NAT的全称是 Network Address Translation, 其实看英文名,就知道它的大概意思:网络地址转换。

严格来说,

  • 这个Address,包括了IP地址和端口。
  • 而这个Translation,则包括来来源地址和目的地址,以及来源端口和目的端口这4者之间的转换

那么NAT规则其实定义的就是这4者的映射关系,告诉路由器应该怎么去转换(Translation)

那么什么时候会用到NAT技术呢,答案是,从一个网络到另外一个网络,有一些文章在写NAT的时候,常讲的是外网(互联网)到私网(私域子网)的通信的时候,其实这只是其中一种场景,实际上,只要是两个网络间需要通信,都可以用NAT来做。

下面这个图讲的就是互联网和私网这个场景的NAT

    \ | /                  .                               /
   +---------------+  WAN     .           +-----------------+/
   |Regional Router|----------------------|Stub Router w/NAT|---
   +---------------+          .           +-----------------+\
                              .                      |        \
                              .                      |  LAN
                              .               ---------------
                        Stub border

        Figure 1: A typical NAT operation scenario

这个图是从NAT的规范rfc.2663 复制过来的,其中WAN就是广域网,LAN是一个局域网,LAN通过路由器连接到WAN,那么要在WAN和LAN之间通信,那就通过的在路由器里面做数据包的NAT转换。

NAT的地址转换技术有很多种类,但这些技术一般都具备下面这3个特征:

  • 透明地址分配,就是定义外网和内网的地址的映射关系
  • 通过地址转换进行透明路由(这里的路由指的是数据包的转发,而不是指交换路由信息)
  • ICMP的错误包的payload转换

那么透明地址分配的规则是这个这些技术里面的关键点,这种地址分配又分为:

  • 静态地址分配:这是一种one-to-one的映射关系,这种映射关系明确、简单,不需要在地址转换翻译的过程中管理会话,发出去和回复回来的数据包都有明确的关系。
  • 动态地址分配:非one-to-one的映射关系,一个或者少量的外网地址分配个一个私网的一堆主机,这种情况,则需要通过会话来明确这个映射关系,那么就需要管理会话,这样才知道回复的数据包对应的是哪台主机发出去的(通过会话来查找映射关系,映射关系会话开始的时候就确立了)

NAT的种类

N

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值