首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【思唯网络】详解什么是NAT?

一、NAT定义

NAT(Network Address Translator,网络地址转换)是用于在本地网络中使用私有地址,在连接互联网时转而使用全局 IP 地址的技术。NAT实际上是为解决IPv4地址短缺而开发的技术。

二、NAT工作机制

如下图所示,以 10.0.0.10 的主机与 163.221.120.9 的主机进行通信为例讲解 NAT 的工作机制。利用 NAT,途中的 NAT 路由器将发送源地址从 10.0.0.10 转换为全局的 IP 地址(202.244.174.37)再发送数据。反之,当响应数据从 163.221.120.9 发送过来时,目标地址(202.244.174.37)先被转换成私有 IP 地址 10.0.0.10 以后再被转发。

在整个流程当中,最关键的有以下几点:

网络被分为私网和公网两个部分,NAT网关设置在私网到公网的路由出口位置,双向流量必须都要经过NAT网关

网络访问只能先由私网侧发起,公网无法主动访问私网主机

NAT 路由器在两个访问方向上完成两次地址的转换或翻译,出方向做源信息替换,入方向做目的信息替换;

NAT 路由器的存在对通信双方是保持透明的;

NAT 路由器为了实现双向翻译的功能,需要维护一张关联表,把会话的信息保存下来。

三、NAT类型

NAT 有 3 中类型:静态NAT,动态NAT,端口复用NAPT

1. 静态NAT

内部本地地址一对一转换成内部全局地址,相当内部本地的每一台PC都绑定了一个全局地址。一般用于在内网中对外提供服务的服务器

2. 动态NAT

在内部本地地址转换的时候,在地址池中选择一个空闲的,没有正在被使用的地址,来进行转换,一般选择的是在地址池定义中排在前面的地址,当数据传输或者访问完成时就会放回地址池中,以供内部本地的其他主机使用,但是,如果这个地址正在被使用的时候,是不能被另外的主机拿来进行地址转换的

3. 端口复用NAPT

面对私网内部数量庞大的主机,如果NAT只进行IP地址的简单替换,就会产生一个问题:当有多个内部主机去访问同一个服务器时,从返回的信息不足以区分响应应该转发到哪个内部主机。此时,需要 NAT 设备根据传输层信息或其他上层协议去区分不同的会话,并且可能要对上层协议的标识进行转换,比如 TCP 或 UDP 端口号。这样 NAT 网关就可以将不同的内部连接访问映射到同一公网IP的不同传输层端口,通过这种方式实现公网IP的复用和解复用。这种方式也被称为端口转换PAT、NAPT或IP伪装,但更多时候直接被称为NAT,因为它是最典型的一种应用模式。

四、NAT技术的优缺点

优点

节省合法的公有 IP 地址(最大的优点)

当网络发生变化时,避免重新编址。

对外隐藏内部地址,增加网络安全性

缺点

无法从 NAT 的外部向内部服务器建立连接(NAT穿越)

转换表的生成和转换操作都会产生一定的开销

通信过程中一旦 NAT 遇到异常需重新启动时,所有的 TCP 连接都将被重置。即使备置两台 NAT 做容灾备份,TCP 连接还是会被断开。

一起开心的冲浪吧!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20220402A07VCZ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券