每台路由器中都保存着一张本地核心路由表,用来保存各种路由协议发现的路由并决策优选路由。路由条目的来源主要有:
除了按来源划分,依据目的地(目的地址范围)的不同,路由可以划分为:
对于NetEngine系列路由器,可以通过display ip routing-table命令查看路由器的路由表信息,如:
<HUAWEI> display ip routing-table Route Flags: R - relay, D - download to fib, T - to vpn-instance, B - black hole route ------------------------------------------------------------------------------ Routing Table: Public Destinations : 8 Routes : 8 Destination/Mask Proto Pre Cost Flags NextHop Interface 0.0.0.0/0 Static 60 0 D 10.1.4.2 GigabitEthernet1/0/0 10.1.4.0/30 OSPF 10 0 D 10.1.4.1 GigabitEthernet1/0/0 10.1.4.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0 10.1.4.2/32 OSPF 10 0 D 10.1.4.2 GigabitEthernet1/0/0 127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0 127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0 127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0 255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
路由表中包含了下列关键概念:
除了本地核心路由表之外,各路由协议也维护着自己的协议路由表,用于存放该协议发现的路由信息。路由协议可以引入并发布其他协议生成的路由。例如,在路由器上运行OSPF(Open Shortest Path First)协议,需要使用OSPF协议通告直连路由、静态路由或者IS-IS(Intermediate System to Intermediate System)路由时,要将这些路由引入到OSPF协议的路由表中。
OSPF协议的路由表如下所示。各字段的详细解释请参见“查看OSPF路由表的信息”。
<HUAWEI> display ospf routing
OSPF Process 1 with Router ID 4.4.4.4
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
172.16.1.0/24 4 Inter-area 192.168.2.1 2.2.2.2 0.0.0.2
4 Inter-area 192.168.2.3 2.2.2.2 0.0.0.2
192.168.0.0/24 2 Inter-area 192.168.2.1 2.2.2.2 0.0.0.2
Routing for ASEs
Destination Cost Type Tag NextHop AdvRouter
10.0.0.0/8 1 Type2 1 192.168.2.1 1.1.1.1
Total Nets: 4
Intra Area: 1 Inter Area: 2 ASE: 1 NSSA: 0
IP路由的选择遵循哪些原则?
路由优先级
对于相同的目的地,不同的路由协议(包括静态路由)可能会发现不同的路由,但这些路由并不都是最优的。为了判断最优路由,各路由协议(包括静态路由)都被赋予了一个优先级,当存在多个路由信息源时,具有较高优先级(取值较小)的路由协议发现的路由将成为最优路由。
在华为产品中,各路由协议的缺省优先级如下表所示。其中0表示直连路由,255表示任何来自不可信源端的路由。数值越小代表路由优先级越高。除直连路由(DIRECT)外,各种路由协议的优先级都可由用户手工进行配置。另外,每条静态路由的优先级都可以不相同。
华为产品如NE40E分别定义了外部优先级和内部优先级,外部优先级即上面提到的用户为各路由协议配置的优先级,缺省情况如上表。而当不同的路由协议配置了相同的优先级后,系统会通过内部优先级决定哪个路由协议发现的路由将成为最优路由,如下表所示。
举个例子,比如到达同一目的地10.1.1.0/24有两条路由可供选择,一条静态路由,另一条是OSPF路由,且这两条路由的协议优先级都被配置成了5。此时设备将根据内部优先级进行判断。因为OSPF协议的内部优先级是10,高于静态路由的60,因此会选择OSPF协议发现的路由作为可用路由。
最长匹配原则
IP路由的前缀由IP地址与掩码长度共同定义。最长匹配原则,指的是路由设备收到IP数据包时,会将数据包的目的IP地址同自己本地路由表中的所有表项进行逐位(Bit-By-Bit)的匹配,直至找到前缀匹配度最长的条目,也就是匹配得最为精确的那条路由项所指示的下一跳来进行转发。最长匹配是路由设备进行路由选择的一个最基本的原则,能够提高路由决策效率,避免路由环路的产生。
假设路由表中有三条路由表项,分别为172.16.2.0/24,172.16.1.0/24,172.16.0.0/16,对应的出接口分别是S1、S2、S3。当一个数据包的目的IP地址为172.16.2.1时,根据最长匹配原则,路由设备会选择路由条目1,因为其前缀比路由条目3更长更精确,而路由条目2跟目的地址不匹配。
缺省路由
缺省路由是另外一种特殊的路由。当报文的目的地址无法匹配路由表中的任何目的地址时,便会选取缺省路由;如果没有缺省路由且报文的目的地址不在路由表中,那么报文就会被丢弃。通常情况下,管理员可以通过手工方式配置缺省静态路由;但有些时候,也可以使动态路由协议生成缺省路由,如OSPF和IS-IS。在路由表中WhatsApp网页版,缺省路由以目的地址为0.0.0.0/0的路由形式出现。可通过命令display ip routing-table查看当前是否配置了缺省路由。
IP路由的选路过程可总结如下:
路由器收到数据包后,基于数据包的目的地址结合选路规则(如最长匹配原则)进行路由查找,如果匹配到了某条路由,则按该条路由所指示的出接口和下一跳进行转发; 如果没有匹配的表项,则看是否存在缺省路由WhatsApp网页版,如果缺省路由也不存在,则丢弃数据包并向源端设备发送ICMP消息。 主要的路由协议有哪些?
前面提到,路由依据来源的不同主要可以划分为直连路由、静态路由、动态路由协议发现的路由三类。
直连路由
直连路由是由接口链路层协议自动发现的路由,只要该接口处于活动状态,路由器就会把通向该网段的路由信息填写进路由表中。
静态路由
静态路由是一种需要管理员手工配置的特殊路由,当网络结构比较简单时,只需配置静态路由就可以使网络正常工作。当设备不能使用动态路由协议或者不能建立到达目的网络的路由时,也可以使用静态路由。静态路由可以非常准确地控制网络的路由选择。仔细配置和使用静态路由可以改进网络的性能,并可为重要的应用保证带宽。但其缺点在于:当网络发生故障或者拓扑发生变化后,静态路由不会自动改变,必须有管理员的介入,灵活性不足。
动态路由协议
与直连路由、静态路由不同,动态路由协议则有自己的路由算法,能够自动适应网络拓扑的变化,适用于具有一定数量三层设备的网络。缺点是配置相对复杂,对系统的要求高于静态路由WhatsApp网页版,并将占用一定的网络资源。动态路由协议根据作用范围的不同,可以划分为:
常用的动态路由协议及对比见下表。