总结 NAT 机制的工作流程及优缺点

什么是NAT

NAT定义

**NAT(Network Address Translator,网络地址转换)**是用于在本地网络中使用私有地址,在连接互联网时转而使用全局IP地址的技术.

实际上是为解决IPv4地址短缺而开发的技术:

NAT技术作为当前解决IP地址不够用的主要手段,是路由器的一个重要功能;

  • NAT能够将私有IP对外通信时转为全局IP,也就是一种将私有IP和全局IP相互转化的技术方法;
  • 许多学校,公司,家庭采用每个终端设置私有IP,而在路由器或必要的服务器上设置全局IP;
  • 全局IP要求唯一,而私有IP不需要.在不同的局域网中出现相同的私有IP是完全不影响的.

NAT IP转换过程

说明:

  • NAT路由器将源地址从10.0.0.10替换成全局的IP 202.244.174.37;
  • NAT路由器收到外部的数据时,又会把目标IP从202.244.174.37替换回10.0.0.10;
  • 在NAT路由器内部,有一张自动生成的,用于地址转换的表;
  • 当 10.0.0.10 第一次向 163.221.120.9 发送数据时就会生成表中的映射关系;

NAT技术的优缺点

优点

  1. 节省公有IP地址(最大的优点);
  2. 当网络发生变化时,避免重新编址;
  3. 对外隐藏内部地址,增加网络安全性

缺点

由于NAT依赖这个转换表,所以有诸多限制

1.无法从NAT外部向内部服务器建立连接;

2.转换表的生成和销毁都需要额外开销;

3.通信过程中一旦NAT设备异常,即使存在热备,所有的TCP连接也都会断开;

相关推荐
xiaoye-duck14 小时前
《C++ 项目:手写大模型接入 SDK》Ollama接口设计(上):初始化、全量响应实现和测试
开发语言·网络·c++·语言模型
无足鸟ICT16 小时前
【RHCA+】iptraf-ng(网络监控分析)
linux·网络
坤坤子吖18 小时前
Linux网络编程:TCP服务器的多进程与多线程实现
linux·服务器·开发语言·网络·c++·笔记·学习
xiaoye-duck19 小时前
《C++ 项目:手写大模型接入 SDK》LLMManager架构设计与实现
开发语言·网络·c++·语言模型
andxe20 小时前
工业级 PoE 交换机选型指南:破解边缘部署四大核心难题
运维·网络·安全·光通信·交换机
say_fall1 天前
【Linux网络编程】计算机网络基础:局域网与广域网、OSI七层模型与TCP/IP五层模型、封装解包与MAC/IP地址、端口号与socket编程接口
linux·网络·tcp/ip·计算机网络·信息与通信
Joy T1 天前
Gzip 压缩原理与实践:HTTP 响应压缩、性能收益与工程配置
网络·网络协议·http
叼烟扛炮1 天前
Linux 学习笔记(五十四):内网穿透实战——用 frp 让外网访问你的私人电脑
linux·服务器·网络·笔记·学习
流浪0011 天前
计算机网络篇21:网络层——网段划分与子网掩码,从分类地址到 CIDR 与可用主机数
计算机网络·子网划分·nat·子网掩码·cidr·网络层协议
CodeYp20191 天前
第3讲:网络命令
linux·网络·命令