路由器重温——路由基础

路由就是报文从源端到目的端整条传输路径。报文从路由器到目的网段有多条路由可达时,路由器可以根据路由表最佳路由进行转发。最佳路由的选取与发现此路由的路由协议的优先级路由度量有关。当多条路由的协议优先级与路由度量都相同时,可以实现负载分担;当多条路由的协议优先级与路由度量不同时,可以构成路由备份,提高网络的可靠性。

一、路由的分类

根据路由的来源不同,可把路由分为以下三大类:

①通过链路层协议发现的路由称为直连路由(Direct不需要配置
②通过网络管理员手动配置的路由称为静态路由(Static
③通过动态路由协议发现的路由称为动态路由(分为RIPOSPFIS-ISBGP等多种)

“静态路由”没有自己的路由算法,不能自动生成,纯粹靠管理员为它们一级级指明下一跳路径,缺点是不能自动适应网络拓扑的变化(不具有主动网络收敛功能)。

“动态路由”有自己的路由算法,能够根据用户配置自动生成对应的动态路由表项,且能够主动适应网络拓扑的变化,更适用于具有一定数量三层设备的网络。

根据采用的不同路由算法,动态路由协议又有RIPRouting Information Protocol,路由信息协议)、OSPFOpenShortest Path First,开放最短路径优先)、IS-ISIntermedia System-Intermedia System,中间系统到中间系统)和BGPBorderGateway Protocol,边界网关协议)。根据作用范围不同,这些动态路由协议可分为以下两种:

IGPInteriorGateway Protocol,内部网关协议):在一个自治系统内部运行。常见的IGP包括RIP、OSPF和IS-IS
EGPExterior GatewayProtocol,外部网关协议):运行于不同自治系统之间,目前常见的EGP就是BGP。

根据使用的路由算法不同,动态路由协议又可分为以下两种:

距离矢量协议(Distance-Vector Protocol:包括RIP和BGP,BGP也被称为路径矢量协议(Path-Vector Protocol)。
链路状态协议(Link-State Protocol:包括OSPF和IS-IS。

以上两种算法主要区别在于发现路由和计算路由的机制不同。

当网络规模比较大,使用多种路由协议时不同的路由协议间通常需要发布其他路由协议发现的路由,各动态路由协议都可以引入其他路由协议的路由,包括直连路由和静态路由,但直连路由和静态路由不能引入其他类型的路由

二、路由表和FIB

路由器在进行报文转发过程中要依据两种“表”——路由表(RoutingTable)和FIBForwarding Information Base,转发信息库)表。路由器通过路由表选择用于报文转发的路由,然后通过FIB表中对应转发表项指导报文的转发

1、路由表

每台运行动态路由协议的路由器中都至少有两张“路由表”一张是保存了所有最佳路由表项的本地核心路由表(即通常说的IP路由表),另一张则是保存对应路由协议路由表项的协议路由表,如RIP路由表、BGP路由表等

(1)本地核心路由表

“本地核心路由表”用来保存本地路由器到达网络中各目的地的当前各种最佳(依据到达同一目的地的各种协议路由的优先级和度量值来选取优先路由)协议路由(包括直连路由、静态路由和各种动态路由),只有到达某一目的地的最佳路由才会在本地核心路由表中出现,并负责把这些最佳路由下发到FIB表,生成对应的FIB表项,指导报文的转发。

对于支持L3VPN(Layer 3Virtual Private Network,三层VPN)的路由器,每个VPN-Instance拥有一个自己的本地核心路由表

(2)协议路由表

协议路由表中存放着该协议已发现的所有路由信息,但就所有路由表来说,协议路由表中的路由不一定是最佳路由,也就是说不一定会最终用来进行数据报文路由。路由协议可以引入并发布其他协议生成的路由。如在路由器上运行OSPF协议,需要使用OSPF协议通告直连路由、静态路由或者IS-IS路由时,则要先将这些路由引入OSPF协议的路由表中

在路由器中执行display ip routing-table命令可查看路由器的IP路由表信息(均为有效的最佳路由,非有效、最佳路由不会在IP路由表中显示)。——应该就是本地核心路由表

IP路由表中包含了下列字段:

①Destination:表示此路由的目的地址。用来标识IP包的目的地址或者目的网络。
②Mask:表示此目的地址的子网掩码长度。与目的地址一起来标识目的主机或目的网络所在的网段地址。
Proto表示学习此路由的路由协议,包括静态路由(Static)、直连路由(Direct各种动态路由
Pre:即Preference表示此路由的路由协议优先级。这用来比较不同协议类型、相同目的地址的多条路由的优先级。同一目的地址可能存在不同的下一跳、出接口等多条路由,这些不同的路由可能是由不同的路由协议发现的,也可以是手工配置的静态路由。优先级高(数值小)者将成为当前的最佳路由
Cost路由开销,这是用来比较同一种协议类型、相同目的地址的多条路由的优先级。但不同类型协议路由的开销类型不同,如距离矢量协议采用的是“距离”,即将“跳数”作为路由开销,而链路状态协议采用的是“链路状态”由链路带宽、网络传输性能等参数共同决定)作为路由开销。当到达同一目的地的多条路由具有相同的路由优先级时,路由开销最小的将成为当前的最佳路由

  • NextHop:表示此路由的下一跳IP地址。指明数据转发路径中的下一个三层设备
  • Interface:表示此路由从本地设备发出的出接口
  • Flags:是路由标记,其中RRelay的首字母,说明是迭代路由,会根据路由下一跳的IP地址获取出接口。配置静态路由时如果只指定下一跳IP地址,而不指定出接口,那么就是迭代路由,需要根据下一跳IP地址的路由获取出接口,DDownload的首字母,,表示该路由下发到FIB。——这是网上查到的资料

如下图的网络中,路由器A与3个网络直接相连,因此在其IP路由表中有3个目的IP地址、下一跳和出接口的直连路由。

2、FIB表的匹配

在IP路由表选择好要使用的路由表项后,IP路由表会将这些路由表项下发到FIB表中,以生成对应的FIB表项(所以FIB表中的表项是与IP路由表中的表项有对应关系的)。当对应目的地址的报文到达路由器时,会通过查找FIB表中的对应项进行转发FIB表中每条表项都指明到达某网段或某主机的报文应通过路由器的哪个物理接口或逻辑接口发送,这样就可到达该路径的下一个路由器,或者不再经过别的路由器而传送到直接相连的网络中的目的主机。可使用display fib命令查看FIB表信息。

在FIB表中包括Destination、Mask、Nexthop、Flag、TimeStamp、Interface和TunnelID字段,其中DestinationMaskNexthopInterface字段是与IP路由表的对应字段一样,其他3个字段说明:

①Flag:转发表项的标志,可能是G、H、U、S、D、B、L中一个或多字母组合。

GGateway网关路由):表示下一跳是网关
HHost主机路由):表示该路由为主机路由
UUp可用路由):表示该路由状态是Up
SStatic静态路由):表示该路由为手动配置路由
DDynamic 动态路由):表示该路由为根据路由算法自动生成路由
BBlack Hole 黑洞路由):表示下一跳是空接口
LVlink Route):表示Vlink类型路由

②TimeStamp:转发表项的时间戳,表示该表项已存在的时间,单位是s。

TunnelID表示转发表项索引。该值不为0时,表示匹配该项的报文通过对应的隧道进行转发。该值为0时,表示报文不通过隧道转发

因为在IP封装中,IP报头只封装了源IP地址和目的IP地址,没有封装对应的子网掩码,所以这时如果在FIB表中有多条同时到达同一目的地,但处于相同自然网段的子网转发项时,就涉及最终选择哪条转发表的问题了。这就是FIB表中的“最长掩码”匹配原则,也即最精细路由匹配原则。具体方法是,在查找FIB表时,先将报文的目的地址与FIB中各表项的掩码按位进行“逻辑与”运算,得到匹配的网络地址(可能有多个)然后在这些对应的FIB表项中选择一个最长掩码的FIB表项进行报文转发

如上例FIB表,假如有一个目的地址是“9.1.2.1”的报文进入路由器,首先,将目的地址:9.1.2.1与FIB表中各表项的掩码长度“0、8、16”所对应的掩码进行“逻辑与”,得到下面几个网段地址:0.0.0.0/0、9.0.0.0/8、9.1.0.0/16。根据最长掩码匹配原则,最终选择9.1.0.0/16表项从接口GE2/0/0转发报文。

实际上FIB表项只选择与报文中的目的地址第一个八位组相同的各子网和自然网段的转发表项再加上所有缺省路由转发表项,从中选择子网掩码最长的转发。

三、路由协议的优先级

对于不同的目的地,不同的路由协议(包括静态路由)可能发现不同的路由,但在某一时刻,到某一目的地的当前路由仅能由唯一的路由协议来决定为了判断最佳路由,各路由协议都被赋予一个优先级,当存在多个路由信息源时,具有较高优先级(取值较小)的路由协议发现的路由将成为最佳路由,并将最佳路由放入IP路由表中

路由协议的优先级又分“外部优先级”和“内部优先级”两种选择路由时先比较路由的外部优先级,当不同的路由协议配置了相同的外部优先级时,系统才会通过内部优先级决定哪个路由协议发现的路由(内部优先级最高的)将成为最佳路由

外部优先级是指用户可以手动为各路由协议配置的优先级,我们通常所说的路由协议优先级就是指外部优先级。缺省各路由协议的外部优先级如下(优先级数值越小,优先级越高):

0表示直接连接的路由255表示任何来自不可信源端的路由静态路由的优先级比OSPFIS-IS中的路由优先级要低(这点与Cisco中的不一样)。除直连路由(DIRECT)外,各种路由协议的优先级都可以由用户手动进行配置。

路由协议的内部优先级则不能被用户手动修改仅当到达同一目的地的多条路由的外部优先级相同时才会比较他们的内部优先级

例如到达同一目的地10.1.1.0/24有两条路由可供选择,一条静态路由,一条OSPF路由,且这两条路由的外部优先级都被配置为5,则根据内部优先级进行判断,因为OSPF协议的内部优先级是10,高于静态路由的内部优先级60,选择OSPF协议路由为最佳路由。

四、负载分担与路由备份

当多条路由的路由优先级和路由度量都相同,这几条路由就称为等价路由多条等价路由可以实现负载分担。当几条路由为非等价路由时,就可以实现路由备份

1、负载分担

路由器支持多路由模式,即允许配置多条目的地相同,且优先级也相同的路由。当到达同一目的地存在同一路由协议发现的多条路由时,且这几条路由的开销值也相同,那么就满足负载分担的条件。当实现负载分担时,路由器根据五元组(源IP地址、目的IP地址、源端口、目的端口、协议)进行转发。当五元组相同时,路由器总是选择与上次相同的下一跳IP地址发送报文;五元组不同时,路由器会选择相对空闲的路径进行转发

如上图,RouterA已经通过接口GE1/0/0转发到目的地址10.1.1.0/24的第一个报文P1,随后又需要分别转发报文到目的地址10.1.1.0/24和10.2.1.0/24。其转发过程如下:

①当转发到达10.1.1.0/24的第2个报文P2时,发现此报文与到达10.1.1.0/24的第1个报文P1的五元组一致,所以之后到达该目的地的报文都从GE1/0/0转发。

②当转发到达10.2.1.0/24的第1个报文P1时,发现此报文与到达10.1.1.0/24的第一个报文P1的五元组不一致,所以选择较空闲的GE2/0/0转发,并且之后到达给目的地址的报文都从GE2/0/0转发。

2、路由备份

为提高网络的可靠性,可配置到同一目的地的多条路由,其中一条路由的优先级最高,作为主路由,其余作为备份路由。正常情况下,路由器采用主路由转发数据,主链路出现故障,主路由变为非激活,路由器选择备份路由中优先级最高的路由转发数据。

五、路由的收敛

路由收敛是指网络拓扑变化引起的通过重新计算路由而发生替代路由的行为。随着网络的融合,区分服务的需求越来越强烈。某些路由可能指导关键业务(VoIP,视频会议,组播等)转发,关键业务路由需要尽快收敛。系统需要对不同路由按不同的收敛优先级处理。

按优先级收敛是指系统为路由设置不同的收敛优先级,从高到低分别为critical(临界)、high(高)、medium(中)、low(低)4

如下图所示,网络上运行OSPF和IS-IS协议,组播接受者在RouterA端,组播源服务器10.10.10.10/32在RouterB端,要求到组播服务器的路由优先于其他路由收敛。这时可以配置路由10.10.10.10/32的收敛优先级高于路由12.10.10.0/24的收敛优先级,这样当网络路由重新收敛时,就能确保到组播源的路由10.10.10.10/32优先收敛,保证组播业务的转发。

AR1:


对于dis ip routing-table命令,显示本地核心路由表

由上图可以看出,因为OSPF的协议路由优先级高于静态路由协议优先级,所以到40.1.1.0的路由最终选择的是OSPF协议发现的路由,而到50.1.1.0目的是两条等价路由,即实现了负载分担的路由。

dis fib命令查看转发表,是上面本地核心路由表下发到FIB,应该是一一对应的关系:

对于FIB表中的Flag标记,主要是G、H 、还有一个默认路由的解释:

G代表网关路由,H代表主机路由

子网掩码为0.0.0.0时,也就是全部为主机号时,这个就表示发往任何网络的包,也就是常说的默认路由 0.0.0.0 mask 0.0.0.0 gw 192.168.1.1 。子网掩码为255.255.255.255时,也就是全部为网络号时,这条路由可以称为主机路由,什么意思呢,就是这个网络下面没有可以划分的子网。举个例子,就送快递吧:学校所有的快递都送到了传达室那儿然后传达室人员再去分,一年级1、2、3、4.……班的送到一年级的年级主任那儿,这个就是网络路由。校长的(假设你们学校只有一个校长)就直接拿到校长办公室递给校长,这个呢就是主机路由。

主机路由就是x.x.x.x/32,意思是仅仅到x.x.x.x的报文按我的配置走。
网络路由就是x.x.x.x/n,意思是到x.x.x.x/n的报文按我的配置走。
默认路由是0.0.0.0/0,意思是实在没人要的报文按我的配置走。

dis ip routing-table 后加verbose的查询


查看动态ospf协议的路由:

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值