正如 Baldrickk 在我的另一个问题(关于一些略有不同的内容)中回答的那样,它看起来“类似于向另一个国家/地区发送信件 - 它按国家/地区、地区、城镇、街道和建筑物进行缩小范围。互联网以类似的方式划分。到达的每个网关都会知道哪一侧是什么(路由表),例如,您的路由器知道所有 192.168.XX 地址都在 LAN 上,并将消息路由到网关另一侧的其他 IP。整个互联网都会发生这种情况。”路由器如何知道应该将数据包转发到哪“一侧”?我的意思是互联网由数百万台主机和网络组成,显然在普通的路由表中您找不到路由全部那些网络。
答案1
最底层是终端网络路由器。它们只知道哪些是本地的,哪些不是。典型的小型办公室或家庭路由器只知道,比如说,192.168.1.0/24 是本地的,其他一切都会转到 ISP 的路由器。
最顶层是互联网核心路由器。这些路由器确实有完整的互联网路由表。它们有大量的路由(大约七十五万大约有 1000 个路由器,但关于每条路由的信息很少。这些路由器负责处理大型区域网络和不同互联网服务提供商之间的路由。
路线正确做变得更窄:全局互联网表仅包含指向 ISP 的广泛路由,但该 ISP 内部的路由器针对不同区域和客户拥有更窄的路由。最后,一旦到达客户自己的路由器,它将拥有针对各个子网的更具体路由。因此,“完整互联网表”并不包含世界上的每一个子网。
如果路由器没有通往“上层”路由器的默认路由来捕获数十万个网络,那么它们实际上必须拥有大量的路由表。