静态路由(基于管理员配置的路由表)是否支持子网划分?如果支持,那么如何选择路由?是否使用与 IP 地址一起发送的网络掩码而不是与路由记录关联的掩码来确定要选择的正确路由?
答案1
路由表包含目标网络和掩码(或可计算掩码的掩码长度)以及路由的下一跳。
静态配置路由时,必须提供所有三个部分:目标网络、掩码(或掩码长度)和下一跳地址(或接口)。
例如,在 Cisco 路由器中,静态路由配置如下所示:
ip route 172.31.0.0 255.255.0.0 172.31.6.6
或者
ip route 192.168.1.0 255.255.0.0 Ethernet0
路由表中可能会有多个重叠或相等的网络。路由器将选择路由表中匹配最长的路由。也就是说,基本上就是最长的网络掩码。
例如,如果您有一个发往的数据包10.1.2.3
,并且您的路由表包含:
10.0.0.0/8 10.9.8.7
10.1.0.0/16 10.8.7.6
10.1.2.0/24 10.7.6.5
数据包将被转发,10.7.6.5
因为该路由具有最长的匹配,即使所有三条路由都与数据包上的目标地址匹配。
路由器如何处理等长匹配可能很复杂,并且可能取决于配置或路由器如何了解路由。路由器以三种方式了解路由:
- 直连网络
- 静态配置的路由
- 通过路由协议从另一台路由器
相等的路由通常按该顺序优先,因为路由的确定性通常按该顺序。有些路由器允许您修改该顺序。
答案2
静态路由支持有类地址和无类地址。通常当我们使用无类地址时,它也是子网划分的。一些动态路由协议不支持子网划分和无类地址,如 RIPv1。因此,子网划分的静态路由没有问题。