最新消息:阿里云双12优惠,史上最低折扣。

NAT穿透优缺点分析

服务器租用 aliyun 246浏览

linux下的nat也就是所谓“IP分享器”搭建原理

NAT的全名是Network Address Translation,字面上的意思是网络地址的转换。由字面上的意思我们来想一想, TCP/IP的网络封包不是有IP地址吗?那IP地址不是有来源与目的吗?我们的iptables指令就能够修改IP封包的表头数据。

NAT技术大行其道,其实官网的秒杀还是挺复杂的。实际上我们要理解起来还是十分容易的,我们现在用的地址都是IPV4,这个地址量比较少。一共加起来应该只有40亿个,不够人手一个,而且大部分都掌握在欧美国家之中。据一些资料所描述我们掌握其中3亿对个IPV4的公网地址。正是因为如此,NAT大行其道,他根据不同端口来进行让我们多人用一个公网IP进行与互联网交互。

起初NAT技术确实解决了我们公网IP资源不足的问题,让我们大多数人都能享受到互联网的便利。

NAT优点

NAT 允许对内部网实行私有编址,从而维护合法注册的公有编址方案。NAT 通过应用程序端口级别的多路复用节省了地址。利用 NAT 过载,对于所有外部通信,内部主机可以共享一个公有 IP 地址。在这种配置类型中,支持很多内部主机只需极少的外部地址。

NAT 增强了与公有网络连接的灵活性。为了确保可靠的公有网络连接,可以实施多池、备用池和负载均衡池。

NAT 为内部网络编址方案提供了一致性。在没有私有 IP 地址和 NAT 的网络上,更改公有 IP 地址需要给现有网络上的所有主机重新编号。主机重新编号的成本可能非常高。NAT 允许保留现有方案,同时支持新的公有编址方案。这意味着,组织可以更换 ISP 而不需要更改任何内部客户端。

NAT 提供了网络安全性。由于私有网络在实施 NAT 时不会通告其地址或内部拓扑,因此在实现受控外部访问的同时能确保安全。不过,NAT 不能取代防火墙。

NAT缺点

第一个弊端是影响性能。转换数据包报头内的每个 IP 地址需要时间,因此 NAT 会增加交换延迟。第一个数据包采用过程交换,意味着它始终经过较慢的路径。路由器必须查看每个数据包,以决定是否需要转换。路由器需要更改 IP 报头,甚至可能要更改 TCP 或 UDP 报头。如果缓存条目存在,则其余数据包经过快速交换路径,否则也会被延迟。

许多 Internet 协议和应用程序依赖端到端功能,需要将未经修改的数据包从源转发到目的地。NAT 会更改端到端地址,因此会阻止一些使用 IP 寻址的应用程序。例如,一些安全应用程序(例如数字签名)会因为源 IP 地址改变而失败。使用物理地址而非限定域名的应用程序无法到达经过 NAT 路由器转换的目的地。有时,通过实施静态 NAT 映射可避免此问题。

端到端 IP 可追溯性也会丧失。由于经过多个 NAT 地址转换点,数据包地址已改变很多次,因此追溯数据包将更加困难,排除故障也更具挑战性。另一方面,试图确定数据包源的黑客也会发现难以追溯或获得原始源地址或目的地址。

使用 NAT 也会使隧道协议(例如 IPsec)更加复杂,因为 NAT 会修改报头中的值,从而干扰 IPsec 和其它隧道协议执行的完整性检查。

需要外部网络发起 TCP 连接的一些服务,或者无状态协议(诸如使用 UDP 的无状态协议),可能被中断。除非 NAT 路由器做出特别努力来支持此类协议,否则传入的数据包将无法到达目的地。一些协议可以支持参与通信的双方中的一方采用 NAT 机制(例如被动模式 FTP),但是当两个系统均通过 NAT 与 Internet 分隔时,这些协议会失败。

简单来说通过NAT接入网络,不仅是网络变的复杂的同时还会降低网络性能。其实我们大多数人对于网络性能可能并没有那么在意,主要的是复杂性,我们的监控或者私人云存储等根本就很难接入。现阶段IPv6发力发展,已经逐渐可以改变这些弊端了,不过此刻因为NAT技术的成熟,更多是安于现状。目前来说NAT会成了逐渐阻碍互联网发展的绊脚石。

想要了解更多相关NAT的知识请阅读《一文讲述NAT服务与防火墙技术》

转载请注明:小猪云服务器租用推荐 » NAT穿透优缺点分析