在路由器网络内,路由所有数据包很容易。路由器知道所有客户端。然而,在互联网上,有如此多的 IP 地址。
我从我的计算机向 IP 1.2.3.4 发送一个数据包。它到达路由器。路由器根据规则检查数据包,发现它不在本地网络上。然后,路由器通过以太网端口路由数据包。接下来会发生什么?然后数据包到达服务器,服务器会发送一个数据包作为回应。最后数据包到达路由器。路由器如何知道要将其发送给哪台计算机(我的计算机)?
答案1
简而言之,当路由器不知道如何路由数据包时,它会将数据包发送到默认网关/下一个“跳”。
基本上,当您的路由器找不到有效规则(或更正式地说,它的路由表)时,它会将数据包发送到默认网关,默认网关通常会将其上游发送到您的 ISP。
一旦数据包到达您的 ISP 路由器,就像您自己的路由器一样,它们将拥有自己的路由表。但这次它们会更详细。了解其他客户和其他 ISP。
这将持续进行,直到最终的路由器附加了最终的目标规则,并将其发送到特定的计算机/接口。
在此过程中,数据包包含源信息,指示原始数据包来自何处。您的路由器(可能带有 NAT)会将此源信息从本地计算机的内部唯一 IP 地址(例如 192.168.1.25)转换为您的广域网您的 ISP 提供给您的 IP 地址(例如 121.147.148.55)和此 WAN IP 将包含在数据包的源信息中。
因此,所有上游路由器都可以简单地执行与上述相同的路由,但反向将您的数据包发送回给您。但是,一旦它到达您的路由器。您的路由器有自己的特殊规则,知道某个数据包应该转发回您的本地计算机,其内部唯一的 IP 地址。这称为网络地址解读。