1) 路由器会检查 1 级路由(包括网络路由和超网路由),查找与 IP 数据包的目的地址最匹配的路由。
a) 如果最佳匹配的路由是 1 级最终路由(有类网络路由、超网路由或默认路由),则会使用该路由 转发数据包。
b) 如果最佳匹配的路由是 1 级父路由,则继续步骤向下。
2) 路由器检查该父路由的子路由(子网路由),以找到最佳匹配的路由。
a) 如果在 2 级路由中存在匹配的路由,则会使用该子网转发数据包。
b) 如果所有的 2 级子路由都不符合匹配条件,则会继续执行步骤 向下
3) 路由器当前执行的是有类路由行为还是无类路由行为?
a) 有类路由行为:如果执行的是有类 路由行为,则会终止查找过程并丢弃数据包。
b) 无类路由行为:如果执行的是无类 路由行为,则继续在路由表中搜索 1 级超网路由以寻找匹配条目,要是存在默认路由,也会对其进行搜索。
4) 如果此时存在匹配位数相对较少的 1 级超网路由或默认路由,那么路由器会使用该路 由转发数据包。
5) 如果路由表中没有匹配的路由,则路由器会丢弃数据包。
最长匹配:
最佳匹配(最长匹配)是指路由表中与数据包的目的 IP 地址从最左侧开始存在最多匹配位数的路由。通常情况下,最左侧有着最多匹配位数(最长匹配)的路由总是首选路由。
有类路由行为:(no ip classless)
在有类路由行为下,路由查找过程不会继续执行步骤 4。也就是说查找过程将不会继续搜索路由表中的 1 级路由。如果数据包与父网络路由的子路由不匹配,则路由器会丢弃数据包。(就算有默认路由,路由器还是会将数据包丢弃)
无类路由行为:(ip classless)
无类路由行为将会把上述的“路由查找过程中的各个步骤”执行一遍。
现实世界中的有类路由行为与无类路由行为的比较
请记住,有类和无类路由行为 与有类和无类路由协议 是相互独立的。可以使用有类路由行为 (no ip classless) 和无类路由协议(如 RIPv2)来配置路由器。也可以使用无类路由行为 (ip classless) 和有类路由协议(如 RIPv1)配置路由器。