NAT、代理服务、内网穿透

NAT、代理服务、内网穿透

NAT 技术背景

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 发送数据时就会生成表中的映射关系;

NAPT

那么问题来了, 如果局域网内, 有多个主机都访问同一个外网服务器, 那么对于服务器返回的数据中, 目的 IP 都是相同的. 那么 NAT 路由器如何判定将这个数据包转发给哪个局域网的主机?

这时候 NAPT 来解决这个问题了. 使用 IP+port 来建立这个关联关系

这种关联关系也是由 NAT 路由器自动维护的. 例如在 TCP 的情况下, 建立连接时, 就会生成这个表项; 在断开连接后, 就会删除这个表项

NAT 技术的缺陷

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

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

• 装换表的生成和销毁都需要额外开销;

外部向内部服务器建立连接;

• 装换表的生成和销毁都需要额外开销;

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

相关推荐
多多*7 小时前
Java复习 操作系统原理 计算机网络相关 2025年11月23日
java·开发语言·网络·算法·spring·microsoft·maven
p***43487 小时前
Rust网络编程模型
开发语言·网络·rust
NewCarRen8 小时前
汽车网络安全管理系统的需求分析及潜在框架设计
网络·汽车网络安全
捷米研发三部8 小时前
CC-Link转Modbus TCP协议转换网关实现三菱 PLC与传感器通讯在快递分拣中心的应用案例
网络·网络协议
嵌入式-小王8 小时前
每天掌握一个网络协议----ARP协议
网络·网络协议·arp
阿珊和她的猫10 小时前
HTTP 状态码 301 和 302 的区别与使用场景
网络·网络协议·http
深度学习040710 小时前
【网络实验】-VLAN工作原理
网络
会飞的土拨鼠呀12 小时前
通过Linux进程id找到程序路径
linux·服务器·网络
GIS数据转换器12 小时前
GIS+大模型助力安全风险精细化管理
大数据·网络·人工智能·安全·无人机
让学习成为一种生活方式12 小时前
植物中验证蛋白相互作用的Pull-down和Co-IP技术--文献精读181
网络·网络协议·tcp/ip