NAT:爱的伪装协议
误区:公网 IP 的错觉
只要设备能上网,它就拥有真正属于自己的公网地址,对不对?
错。当然不对了。
在网络架构里,绝大多数设备并没有属于自己的 Public IP,它们只是被路由器使用 NAT(网络地址转换) 技术临时映射出去。
NAT 运作机制:一种临时的施舍
它会把无数个内网 IP 的请求,全部转换成同一个公网地址发出去。它并不会给你独立的身份、独立的空间,只是在需要你的时候,把你塞进一张 Mapping Table(转换表) 里。
端口一闪,映射建立,你就能被短暂使用。
一旦 Session 结束,连接断开,转换表 Timeout,设备在公网的那点存在感就会立刻被删除,就像从未存在过一样。
在 NAT 看来,你只是众多连接里临时的、可替换的一条记录。她不会把你当成唯一,她只是刚好需要你一下而已。
我的意思是,她要图新鲜感,并不怪她。她偶尔回你一句,也并不是因为你特别,而是因为你刚好能填补她那一瞬间的空缺。
警告:会话即将超时
一旦她不再需要,你就会像 NAT 表里的过期项一样,被自动删除,被静默抹去(Silently Dropped),毫无痕迹。
你所谓的被需要,从来不是因为你是她的唯一。
你只是她临时映射出来的端口,一个替代品,一个过渡项,一个能暂时满足好奇的新鲜感。
要怪也只能怪你自己,无法一直保持她所需要的神秘和新鲜。
就像 NAT 一样,你以为你是永恒的公网 IP,殊不知你只是内网里一盏摇摇欲坠的灯。
防火墙内的真相
- 你的神秘,不过是被 Firewall(防火墙) 遮蔽的端口;
- 你的新鲜,只不过是 Temporary Mapping(临时映射) 给外界的幻觉。
当数据包不再涌入,当外界发现你不再是唯一的出口,当他们找到了更直接、更高效的路由(Route),你所有的价值和不可替代,都将在超时的瞬间,被无情地拆除。
TCP RST:连接重置
你拼命想向外证明,你依然承载着重要的会话,依然是值得留恋的链路,可她已经彻底忘记了那张映射表。你从那个被人争抢的公网端口,重新变回了那个最普通、最沉默的内网终端。
此后,没有人会再记得你的存在。
除了那毕竟云散的过往,再也无人问津的你,回到了被她 老化(Aging) 的断连状态。
从此以后,你不再等待、期待任何 Keep-Alive,因为你终将明白:
你的爱彻头彻尾的就是一场赤裸裸的、为了系统自动清理而存在的 NAT 规则。