今天来记录一下Network Address Translation / 网络地址转换有关的知识点。
NAT(Network Address Translation,网络地址转换)于1994年提出,主要用来实现内网与外网之间IP地址的转换,推迟IP地址枯竭的时间。人们让多台主机共用一个公网 IP 地址,然后在内部使用内网 IP 进行通信,这种方式大大减缓了 IPv4 地址不够用的问题。同时,它也可以解决安全问题,也就是主机隐藏在内网,外面有 NAT 挡着,这样的话黑客就很难获取到该主机在公网的 IP 地址和端口,从而达到防护的作用。
NAT的种类:
从完全锥型 NAT 到对称型 NAT,一级比一级严格。
1.完全锥形NAT
完全锥型 NAT 的特点是,当 host 主机通过 NAT 访问外网的 B 主机时,就会在 NAT 上打个“洞”,所有知道这个“洞”的主机都可以通过它与内网主机上的侦听程序通信。实际上,这里所谓的“打洞”就是在 NAT 上建立一个内外网的映射表。你可以将该映射表简单地认为是一个 4 元组,即:
{ 内网IP, 内网端口, 映射的外网IP, 映射的外网端口}
在 NAT 上有了这张映射表,所有发向这个“洞”的数据都会被 NA