以我的家庭网络为例。它由 4 台计算机组成,这些计算机连接到一个交换机,交换机连接到一个路由器,路由器连接到 ISP 的调制解调器。
如果我错了请纠正我,数据包 A 传输到路由器,然后执行 NAT。之后会发生什么?
答案1
路由器沿着其默认路由传递 NAT 数据包,因为它不知道 Google 服务器在哪里。
一旦数据包到达 ISP 的客户边缘路由器,路由器就会继续沿着其默认路由传递数据包,直到遇到知道 Google 服务器具体位置的核心路由器。
一旦到达核心路由器,数据包就会匹配您的 ISP 从 Google 的某个边界路由器(使用称为 BGP 的协议)获知的聚合路由。然后数据包会沿着该路由到达与 Google 边界路由器相连的 ISP 路由器。
ISP 通常会尝试通过最短路径将出站数据包发送到目标网络,这种方法称为“最近出口”。其逻辑是,您的 ISP 不像 Google 那样了解 Google 的网络,因此最有效的方法是尽快将数据包发送到 Google。因此,如果数据包要穿越全国,通常由目标网络完成长途传输。
一旦数据包到达 Google 的边界路由器,该过程就会反向进行。Google 的边界路由器可以很好地查看 Google 的内部网络,并且通常可以找到通往目标本地网络的最短路径(通常使用称为 OSPF 的协议)。到达目的地后,该本地网络的边缘路由器会将数据包放到线路上,发送给接收它的目标机器。
这假设您的 ISP 和 Google 直接对等连接,并且目标机器位于 Google 运营的网络上。但情况并非总是如此。