IP路由查找的最长匹配原则
路由器查找FIB表时,将报文的目的IP地址和FIB表中各表项的掩码进行按位“逻辑与”,得到的地址符合FIB表中的网络地址则匹配。
最终选择一个掩码最长的FIB表项转发报文。
display fib 0
Route Flags: G – Gateway Route, H – Host Route, U – Up RouteS – Static Route, D – Dynamic Route, B – Black Hole Route
FIB Table:
Total number of Routes : 8
Destination/Mask Nexthop Flag TimeStamp Interface TunnelID
10.3.3.3/32 10.0.1.1 DGHU t[15123] GE0/0/0 0x0
10.4.4.4/32 10.0.2.2 DGHU t[11177] GE0/0/1 0x0
10.0.1.2/32 127.0.0.1 HU t[9058] InLoop0 0x0
127.0.0.1/32 127.0.0.1 HU t[19] InLoop0 0x0
127.0.0.0/8 127.0.0.1 U t[19] InLoop0 0x0
0.0.0.0/0 10.0.2.2 GSU t[122] GE0/0/1 0x0
10.0.1.0/24 10.0.1.2 U t[9058] GE0/0/0 0x0
10.0.3.0/24 10.0.2.2 DGU t[11177] GE0/0/1 0x0
这是一份FIB表(Forwarding Information Base),包含了8条路由信息。其中每条路由信息都包括目的地址/子网掩码、下一跳、标识、时间戳、接口和隧道ID。
⦁ FIB表中每条转发项都指明到达某网段或某主机的报文应通过路由器的哪个物理接口或逻辑接口发送,然后就可到达该路径的下一个路由器,或者不再经过别的路由器而传送到直接相连的网络中的目的主机。
⦁ FIB表信息查看命令:display fib [ slot-id ]
⦁ slot-id:显示指定槽位号的FIB表信息。整数形式,取值范围请根据设备实际配置选取。
⦁ FIB表中的字段说明:
⦁ Total number of Routes:路由表总数。
⦁ Destination/Mask:目的地址/掩码长度。
⦁ Nexthop:下一跳。
⦁ Flag:当前标志,G、H、U、S、D、B的组合。
⦁ G(Gateway):网关路由,表示下一跳是网关。
⦁ H(Host):主机路由,表示该路由为主机路由。
⦁ U(Up):可用路由,表示该路由状态是Up。
⦁ S(Static):静态路由。
⦁ D(Dynamic):动态路由。
⦁ B(Black Hole):黑洞路由,表示下一跳是空接口。
Black Hole Route是指路由表中的一种特殊路由,它的作用是将特定的IP地址或网络的数据包“吞噬”,即该路由会将到达该IP地址或网络的数据包直接丢弃,不做任何转发。这种路由通常被用于网络安全防御中,以防止攻击者向特定IP地址或网络发送有害数据包,同时也可以用于网络测试和调试。在某些情况下,黑洞路由还可以用于避免某些路由环路和拓扑不稳定性问题。
⦁ TimeStamp:时间戳,表示该表项存在的时间,单位是秒。
⦁ Interface:到目的地址的出接口。
TunnelID:表示转发表项索引。该值不为0时,表示匹配该项的报文通过隧道转发(如:MPLS隧道转发)。该值为0时,表示报文不通过隧道转发。
下面是FIB表中的具体路由信息:
- 10.3.3.3/32:下一跳为10.0.1.1,是动态路由(D),已启用(U),时间戳为15123,接口为GE0/0/0。
- 10.4.4.4/32:下一跳为10.0.2.2,是动态路由(D),已启用(U),时间戳为11177,接口为GE0/0/1。
- 10.0.1.2/32:下一跳为127.0.0.1,是主机路由(H),已启用(U),时间戳为9058,接口为InLoop0。
- 127.0.0.1/32:下一跳为127.0.0.1,是主机路由(H),已启用(U),时间戳为19,接口为InLoop0。
- 127.0.0.0/8:下一跳为127.0.0.1,是已启用路由(U),时间戳为19,接口为InLoop0。
- 0.0.0.0/0:下一跳为10.0.2.2,是网关路由(G),已启用(U),时间戳为122,接口为GE0/0/1。
- 10.0.1.0/24:下一跳为10.0.1.2,是已启用路由(U),时间戳为9058,接口为GE0/0/0。
- 10.0.3.0/24:下一跳为10.0.2.2,是默认网关路由(DGU),已启用(U),时间戳为11177,接口为GE0/0/1。