8.3 路由表结构
路由表的路由条目:
直连路由 静态路由 动态路由协议
路由表并不是一个平面数据库,而是一个分成结构的数据库,在查找路由并转发数据包时,这种结构可以加快查找进程
所有路由分为两级,即一级路由和二级路由:
一级路由是指子网掩码等于或小于网络地址有类掩码的路由
二级路由是指有类网络的子网路由
默认路由:是指地址为 0.0.0.0/0 的静态路由
超网路由:是指掩码小于有类掩码的网络地址
网络路由:是指子网掩码等于有类掩码的路由
一级路由、二级路由都可以来源于直连网络、静态路由或动态路由协议
路由表查找过程
最少匹配:就是路由表中相应的子网掩码的位数
最佳(长)匹配:指路由表中与数据包的目的 IP 地址从左侧开始存在最多匹配位数的路由
详细查找过程:
1 路由器会检查 1 级路由(包括网络路由和超网路由),查找与 IP 数据包的目的地址最匹配的路由
1-1 如果最佳匹配的路由是 1 级最终路由(有类网络路由、超网路由或默认路由),则会使用该路由转发数据包
1-2 如果最佳匹配的路由是 1 级父路由,则继续检查该父路由的子路由,以找到最佳匹配的路由
1-2-1 如果在 2 级路由中存在匹配的路由,则会使用该子网转发数据包
1-2-2 如果所有的 2 级子路由都不符合匹配条件,则会执行有类路由行为还是无类路由行为的判断
1-2-2-1 如果执行的是有类 路由行为,则会终止查找过程并丢弃数据包
1-2-2-2 如果执行的是无类 路由行为,则继续在路由表中搜索 1 级超网路由以寻找匹配条目,要是存在默认路由,也会对其进行搜索
1-2-2-2-1 如果此时存在匹配位数相对较少的 1 级超网路由或默认路由,那么路由器会使用该路由转发数据包
1-2-2-2-2 如果路由表中没有匹配的路由,则路由器会丢弃数据包
路由行为
no ip classless 命令的意思是,在默认情况下,路由查找过程使用有类路由表查找
ip classless 命令是默认路由行为,即执行无类路由查找过程
只有父路由与数据包的目的IP地址匹配时,路由器才会检查第2级子路由中是否有匹配路由
如果没使用VLSM ,子路由的子网掩码会显示在父路由中。而如果使用了 VLSM,则父路由显示默认有类掩码,各VLSM路由表条目的子网掩码
路由器收到数据包后,会在路由表中查找最长匹配的路由。
路由表中与网络地址相关的子网掩码决定了必须达到的最少匹配位数