IP路由概述当路由器收到一个IP报文时,路由器根据该IP报文的目的地址匹配路由条目(或路由表项)。
RIB与FIB具有路由功能的网络设备都维护两种重要的数据表:一是「路由表RIB」(Routing Information Base,路由信息库);二是「转发表FIB」。 路由表每个路由器都有路由表,而路由表又分为本地核心路由表和协议路由表。 协议路由表协议路由表中存放着该协议发现的路由信息。以OSPF路由表为例,如下: 本地核心路由表每台路由器中都保存着一张设备的本地核心路由表。路由器对各个协议的路由表中相同的表项进行优选,得到本地核心路由表,并把本地核心路由下发到FIB,指导转发。 ❝ 「IP路由查找的最长匹配原则」路由器查找FIB表时,将报文的目的IP地址和FIB表中各表项的掩码进行按位“逻辑与”,得到的地址符合FIB表中的网络地址则匹配。最终选择一个掩码最长的FIB表项转发报文。 如下FIB表,如果一个数据包的目的IP地址是10.3.3.3,路由器将会把这个数据包从哪个接口转发出去呢?从上述的FIB表中,目的IP地址是10.3.3.3的数据包会匹配到第一条路由信息,下一条是10.0.1.1,从GE0/0/0的接口转发出去 动态路由协议动态路由协议根据作用范围不同,可分为:
「路由迭代」路由必须有直连的下一跳才能够指导转发,静态路由或BGP路由的下一跳可能不是直连的邻居,因此需要计算出一个直连的下一跳,这个过程就叫做路由迭代。在本例中,我们为R1增加一条到达10.0.23.3的路由,使到达192.168.21.0/24的路由能够完成迭代。
这时,10.0.23.3不是R1的直连的,而且R1不知道如何去往10.0.23.3的路径。所以,当我们配置完上述命令,查看静态路由表,如下: 从上述的路由表中可以看到,Interface为Unkown的,说明数据包还不知道重路由器R1的那个接口转发出去,所以,我们要继续告诉路由去往10.0.23.3的路是怎么走的
上述命令就是告诉R1路由器去往10.0.23.3的路径是怎么走的,10.0.12.2刚好是R1的直连路由,所以,数据包就知道从G0/0/0转发出去的。这时,再查看路由表,发现去往192.168.21.0的也是从G0/0/0转发出去的,这时就完成路由器的迭代 数据转发流程PC1把数据包从物理网卡转发网关设备R1,R1对PC1的数据包进行解封装,发现它的目的地址是192.168.21.1,于是就会查找路由表,匹配到去往192.168.21.1的下一跳是10.0.12.2,从GE0/0/0转发出去。 路由引入基本概念路由引入指的是将路由信息从一种路由协议发布到另一种路由协议的操作。
例如下图,两个路由协议之间路由信息彼此隔离若要实现路由互通,可以通过以下方法:
路由引入的方向性路由引入是具有方向性的,将路由信息从路由协议A引入到路由协议B(A-to-B),则路由协议B可获知A中的路由信息,但是此时,A还并不知晓B路由协议中的路由信息,除非配置B-to-A的路由引入 路由引入时需要注意以下几点:
优先级
度量值
不同的路由协议对路由度量值的定义不同,那么在路由协议之间进行路由引入时,被引入的路由的度量值该如何定义?定义成多少?
路由引入场景路由引入主要涉及以下几种场景:
案例演示「引入直连路由到OSPF」可以通过使用 「引入静态路由到OSPF」可以通过使用 将IS-IS路由引入到OSPF可以通过使用import-route isis 1命令,将路由表中所有IS-IS路由引入到动态路由协议。 引入后的路由会作为OSPF外部路由,在整个OSPF网络内通告。 |
|