如何在 RIPv2 中通告无类网络?

网络工程 路由 协议理论 撕裂
2021-07-17 08:27:43

在 OSPF 和 EIGRP 中,我们只能使用通配符掩码来通告特定网络。

例如,如果路由器具有网络 10.0.10.0/24 和 10.0.20.0/24,我们可以通过键入network 10.0.10.0 0.0.0.255来选择仅通告10.0.10.0/24这样其他路由器将学习 10.0.10.0/24 而不是 10.0.20.0/24。

但是在 RIPv2 中我们不使用通配符掩码。如果您键入网络 10.0.10.0,其他路由器也将学习 10.0.20.0/24 和 10.0.0.0/8 内的所有其他网络。

那么甚至可以在 RIPv2 中宣传无类别网络吗?如果不是,那么 RIPv2 是如何变成无类的?

2个回答

例如,如果路由器具有网络 10.0.10.0/24 和 10.0.20.0/24,我们可以通过键入 network 10.0.10.0 0.0.0.255 来选择仅通告 10.0.10.0/24。这样其他路由器将学习 10.0.10.0/24 而不是 10.0.20.0/24。

不,您对network声明感到困惑在 OSPF、RIPv2 和 EIGRP 中,network 语句告诉路由进程它应该在路由进程中包含哪些接口而不是通告哪些网络。路由过程将从包含在路由过程中的接口获取要通告的实际网络。

例如,如果有一个地址为 的接口10.0.10.1 255.255.255.192,并且您有一个 OSPF 网络声明network 10.0.10.0 0.0.0.255,则 OSPF 将只通告10.0.10.0/26而不 通告10.0.10.0/24

如果您在 RIP 配置下使用该命令,RIPv2可以通告无类网络no auto-summary如果有其他接口包含在有类范围内,您可以通过其他方式过滤它们,例如分发列表,并且您可以使用passive-interface命令使这些接口成为被动接口考虑到与上述 OSPF 相同的场景,使用 RIPv2no auto-summarynetwork 10.0.10.0,RIPv2 也将通告10.0.10.0/26网络。

例如,如果10.0.10.0/24在一个接口上,并且您有其他接口与有类网络中的10.0.0.0/8网络连接,则可以使用分发列表来仅允许该10.0.10.0/24网络。就像是:

access-list 1 permit 10.0.10.0 0.255.255.255 ! remember the implicit deny all at the end of an access list
!
router rip
 version 2
 no auto-summary
 distribute-list 1 out <outbound advertising interface>

另一方面,BGP 确实使用 network 语句来通告网络,但前提是该网络已存在于路由表中。例如,如果10.0.10.0/26在路由表中,对于BGP,network 10.0.10.0 mask 255.255.255.192会通告网络,但network 10.0.10.0 mask 255.255.255.0不会通告网络。

通常,IGP network 语句告诉 IGP 哪些接口包含在路由过程中,但 BGP 使用 network 语句来确定路由表中存在的哪些网络要通告。

为了在 RIPv2 中发布 classless,您应该no auto-summaryrouter ripprocess使用命令