子网划分:子网、IP 和转发表

网络工程 路由 子网
2021-07-08 14:52:28

关于IP地址、子网掩码和转发表的关系,我有三个问题:

  1. 如果地址 125.95.39.129 在路由器的转发表中(并映射到接口x),是否意味着只有目的地正好是 125.95.39.129 的数据包才会在x上转发或者,我们将不得不使用的技术在这个帖子找到到该主机所属的子网,然后任何数据包,其目的地是属于该子网将在转发X

  2. 假设路由器的转发表中有另一个地址 125.95.39.60,但它两次出现在转发表中,而且两次都有不同的子网掩码(我们称它们为 y 和 z)。因此,每个条目也映射到不同的接口。同一个IP地址在转发表中映射到两个不同的子网掩码是什么意思?

  3. 如果转发表也有 125.95.39.0 并且与掩码m和接口i相关联怎么办?

我的想法是,在#1 的情况下,我们在传入数据包的目标地址和转发表条目之间进行精确匹配,并且仅在它们完全相同的情况下才在接口x上转发

假设我对#1 的回答是正确的,对于#3,我们是否仅在数据包的目的地不是 125.95.39.60(比 125.95.39.0 更具体)时才i上转发数据包

1个回答

你问得很好。为了正确回答这些问题,我们必须探索路由器及其运作方式

路由器的填充路由表(您称之为转发表,这些术语是同义词)。路由表包含网络到接口网络到下一跳 IP 的许多映射

路由器可以通过多种方式了解其路由表的条目。与您的问题相关的两个是Directly Connected RoutesStatic Routes

  • 直连路由是由于接口配置而学习的映射。
  • 静态路由是管理员手动将特定网络的位置告知路由器的映射。

例如:

如果路由器的接口X被配置为与IP地址125.95.39.129,用255.255.255.0掩模,路由器可以使用该技术在此交以确定该网络(或子网)该IP地址驻留在是125.95.39.0/ 24.

因此,路由器会将网络 125.95.39.0/24 映射到接口 X 的信息添加到其路由表中

如果同一路由器现在遇到一个发往 125.95.39.129(路由器自己的接口 X IP 地址)的数据包,路由器会将数据包转发到其 CPU 进行处理。

如果同一个路由器现在遇到了一个发往网络中任何其他 IP 地址(125.95.39. 0 - .255 ) 的数据包,路由器会将数据包转发出接口X


现在让我们想象一个管理员为两个声明的静态路由配置路由器:

  • 125.95.39.68/32 存在输出接口 Y
  • 125.95.39.64/28 存在输出接口 Z

这两个网络都包含与连接到 Interface 的网络相同的网络中的 IP 地址X所以本质上,你有三个重叠的路线。路由表具有重叠条目是很常见的,也是完全可以接受的。

在这种情况下,路由器是否应该收到一个发往……的数据包?

... 125.95.39.55,此数据包仅匹配一条路由,将被转发出接口X
... 125.95.39.65,此数据包匹配两条路由,将被转发出接口Z
... 125.95.39.68,此数据包匹配所有三个路由,会被转发出接口Y

支配这种行为的是重叠路由的规则。在所有情况下,决定选择哪条路线的因素都遵循以下规则:

  1. 最具体的路线
  2. 最佳(最低)管理距离
  3. 最佳(最低)路线指标

上面第二种情况(数据包发往125.95.39.65),/28静态路由比/24直连路由更具体,所以选择/28。

在上面的第三种情况下(发往 125.95.39.68 的数据包),/32 静态路由比 /28 静态路由更具体,并且 /24 直接连接,因此选择了 /32。

如果有两条具有相同特性的路由(也就是两条 /32 路由,或两条 /24 路由​​等),管理距离将打破平局。管理距离是设置为“评分”的任意数字,并为不同的学习路线来源设置不同的偏好。

例如,静态路由的管理距离通常为 1,直连路由的管理距离为 0。这意味着如果 /24 静态路由以及 /24 直连路由都存在,直连路由将是首选。

指标是最终的决胜局,它是与每个路由关联的任意值,用于指定该特定路由与从相同机制学习的其他路由相比的首选程度,并且具有相同的特异性。

摘要/TLDR

你的问题的答案在上面的解释中。但总结...

.#1 - 这取决于 125.95.39.129 在路由器的转发表中的位置。又名,作为 /32 路线?作为 /24 路线?

.#2 -- 最具体的路线将始终优先

.#3 -- 最具体的路线总是优先,其次是管理距离