公共网络中的每个路由器都知道世界上所有其他公共互连网络吗?

网络工程 路由器
2022-02-11 02:06:18

我正在阅读这篇文章https://www.practicalnetworking.net/series/packet-traveling/host-to-host-through-a-router/,试图了解数据包如何在不同网络之间传递。

它说:

**从每个路由器的角度来看,路由表是现有所有网络的映射。路由表一开始是空的,并在路由器获知到每个网络的新路由时填充。

同样,路由表是存在的每个网络的映射(从每个路由器的角度来看)。如果路由器接收到一个发往它没有路由的网络的数据包,那么就该路由器而言,该网络一定不存在。因此,如果它的目的地不在路由表中的网络中,路由器将丢弃一个数据包。

路由表是现有所有网络的映射”是什么意思?

这是否意味着公共网络中的每个路由器都知道世界上所有其他公共互连网络(当然对于本地/私有网络中的路由器,我认为他们不知道其他公共网络,而只知道默认网关(最外面的路由器)。)

将这两张图片作为基本模型,如果它们是正确的。

在此处输入图像描述

在此处输入图像描述

假设我在日本,在网络中11.11.11.x,我的目的地222.222.222.222在加拿大,在网络中222.222.222.x(我想说的是,现在和之间有更多的网络11.11.11.x222.222.222.x路由器 R1 是否有如下路由:

 Method      network     Interface/Next-Hop
  ...        ...            ...
   ?     222.222.222.x   22.22.22.2

根据文章,R1 必须知道222.222.222.x(世界上所有其他公共网络)的存在,否则即使 R1 知道 network 也无法传递数据包22.22.22.x

1个回答

路由表是存在的每个网络的映射

是的,这或多或少是真的。但是,存在的每一个网络并不意味着全世界的每一个网络。

从您的第一张图片来看,每个网络都意味着 11.11.11.0/24、22.22.22.0/0、33.33.33.0/0。由于他们没有别的,那就是整个列表。请记住,路由器也可以学习默认路由或汇总路由。例如,R1 可以在不知道 33.33.33.0/0 的情况下工作,但使用通过 R2 的默认路由。这意味着只要它们是 R1 不知道的目的地(所以除了 11.11.11.0/24 和 22.22.22.0/24 之外的所有目的地),它会将数据包发送到 R2,R2 然后知道 33.33.33.0/24 在哪里并且可以转发数据包到最终目的地。

假设我在日本,在网络 11.11.11.x 中,我的目的地是加拿大的 222.222.222.222,在网络 222.222.222.x 中(我想说的是现在有更多11.11.11.x 和 222.222.222.x 之间的网络)。路由器 R1 是否有如下路由:

是的。当您使用 Internet 时,BGP 路由器知道公共 IPv4 范围内的每条路由。截至 2018 年,这相当于 760,000 条路线。