【Linux】NAT

一、NAT技术背景

之前,我们就讨论了在IPv4协议中:IP协议数量不充足的问题。NAT技术当前解决IP地址不够用的主要手段,是路由器的一个重要功能。对,现在路由器不仅可以工作到网络层,也可以工作到应用层。

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

二、NAT IP 转换过程

  • NAT路由器将源地址从10.0.0.10替换成全局的IP202.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依赖这个转换表,所以有很多限制:

  1. 无法从NAT外部向内部服务器建立连接
  2. 转换表的生成和销毁都需要额外的开销
  3. 通信过程中一旦NAT设备异常,即使存在热备,所有的TCP连接也都会被断开
相关推荐
薛定猫AI几秒前
【深度解析】Claude Fable 5 全面评测:安全防护机制、基准测试与实战性能深度拆解
网络·安全
brevity_souls几秒前
信息安全与网络安全的区别及其学习内容
网络·学习·web安全
姚愚谦6 分钟前
Linux源码-通用双向链表的实现
linux
麦麦麦当劳大王10 分钟前
OpenClaw安装部署(Windows/Linux/MacOS)
linux·windows·macos
KaMeidebaby12 分钟前
卡梅德生物技术快报|羊驼免疫:分子生物学实战:基于羊驼免疫的重链抗体制备与全流程验证方案
前端·网络·数据库·人工智能·算法·百度
烁34712 分钟前
shell脚本简单语法
linux·娱乐
ylscode15 分钟前
Claude Fable 5遭多智能体越狱攻击:Anthropic最强AI安全防线被击穿,12万字符系统提示泄露
网络·人工智能·安全
2401_8685347815 分钟前
系分_案例_系统架构、中间件、微服务与消息队列
网络
MartinYeung525 分钟前
[论文学习]环境注入攻击(EIA)对通用网页代理的隐私洩露威胁
网络·学习
OCR_1337162127527 分钟前
技术赋能轻量化核验:OTG技术如何重构护照识读设备应用逻辑
网络