2.1 IP路由简介
当路由器收到一个IP报文时,路由器根据该IP报文的目的地址匹配路由表项。若有匹配的路由条目,则依据该条目中的出接口或下一跳等信息进行报文转发;若无匹配的路由条目,则丢弃该报文,如图2.1所示。
图2.1 路由转发
路由表是怎么来的呢?路由来源可以分为3种:直连路由(Direct)、静态路由(Static)、动态路由(Dynamic),如图2.2所示。
(1)直连路由:直连接口所在网段的路由,由设备自动生成,不需要任何配置。
(2)静态路由:使用ip route-static命令手动配置的路由。
(3)动态路由:通过OSPF、IS-IS、BGP等路由协议学习到的路由。
这些不同方式得到的路由会存放在对应的路由表中,路由器最终会将所有的路由信息进行汇总,根据优先级、Cost值等信息选择最优的路由,放入路由器公共路由表RIB中。在RIB的基础上生成FIB并下发到各业务板,如图2.3所示。
图2.2 路由来源
图2.3 路由器中的各种路由表
使用display ip routing-table protocol ospf命令查询OSPF路由表,如图2.4所示。
图2.4 查询OSPF路由表
查询直连路由表、静态路由表、IS-IS路由表等的方法与此类似,如图2.5所示。
使用display ip routing-table命令可查询路由器的公共RIB,RIB是各个路由表(静态路由表、OSPF、IS-IS)的最优汇总,全局唯一,如图2.6所示。
使用display fib 0命令查询FIB表,如图2.7所示。
图2.5 查询路由表对应的命令
图2.6 查询路由器RIB表
图2.7 查询路由器FIB表
(1)Total number of Routes:路由表总数。
(2)Destination/Mask:目的地址/掩码长度。
(3)Nexthop:下一跳。
(4)Flag:当前标志,G、H、U、S、D、B的组合。
G(Gateway):网关路由,表示下一跳是网关。
H(Host):主机路由,表示该路由为主机路由。
U(Up):可用路由,表示该路由的状态是Up。
S(Static):静态路由。
D(Dynamic):动态路由。
B(Black Hole):黑洞路由,表示下一跳是空接口。
(5)TimeStamp:时间戳,表示该表项存在的时间,单位为秒。
(6)Interface:到目的地址的出接口。
(7)TunnelID:表示转发表项索引。当该值不为0时,当表示匹配该项的报文通过隧道转发(MPLS隧道转发)。当该值为0时,表示报文不通过隧道转发。
公共路由表是唯一的,但是每个业务板(LPU、SFU)得到的FIB不一样,跟具体的硬件配置有关,例如,板卡的接口类型、接口数量等信息。
介绍完路由表来源之后,下面介绍数据转发流程。