例如,如果路由器具有网络 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-summary和network 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 语句来确定路由表中存在的哪些网络要通告。