路由配置与管理——静态路由配置与管理

静态路由是一种最简单的路由,需手工配置,用一条指令指定静态路由的目的IP地址、子网掩码、下一跳IP地址,或者出接口、优先级等主要参数值就可以了。还可根据实际需要配置静态路由与BFD或者NQA的联动。

路由基础

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

1. 路由的分类

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

① 通过链路层协议发现的路由称为直连路由(Direct),不需要配置。

② 通过网络管理员手动配置的路由称为静态路由(Static)。

③ 通过动态路由协议发现的路由称为动态路由(分为RIP、OSPF、IS-IS、BGP等多种)

“静态路由”是一种特殊的路由,因为它没有自己的路由算法,不能自动生成,纯粹靠管理员为它们一级级指明下一跳路径,所以静态路由的运行和维护比较简单,适用拓扑结构简单且稳定的小型网络,或中大型网络中动态路由的补充。缺点是不能自动适应网络拓扑的变化(不具有主动网络收敛功能)。

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

根据采用的不同路由算法,动态路由协议又有RIP(Routing Information Protocol,路由信息协议)、OSPF(OpenShortest Path First,开放最短路径优先)、IS-IS(Intermedia System-Intermedia System,中间系统到中间系统)和BGP(BorderGateway Protocol,边界网关协议)。

根据作用范围不同,这些动态路由协议可分为以下两种:

① IGP(InteriorGateway Protocol,内部网关协议):在一个自治系统内部运行。常见的IGP包括RIP、OSPF和IS-IS

② EGP(Exterior GatewayProtocol,外部网关协议):运行于不同自治系统之间,目前常见的EGP就是BGP。

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

① 距离矢量协议(Distance-VectorProtocol):包括RIP和BGP,BGP也被称为路径矢量协议(Path-Vector Protocol)。

② 链路状态协议(Link-StateProtocol):包括OSPF和IS-IS。

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

2. 路由表和FIB表

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

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

本地核心路由表

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

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

协议路由表

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

在路由器中执行displayip routing-table命令可查看路由器的IP路由表信息(均为有效的最佳路由,非有效、最佳路由不会在IP路由表中显示)。

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

① Destination:表示此路由的目的地址。用来标识IP包的目的地址或者目的网络。

② Mask:表示此目的地址的子网掩码长度。与目的地址一起来标识目的主机或目的网络所在的网段地址。

③ Proto:表示学习此路由的路由协议,包括静态路由(Static)、直连路由(Direct)和各种动态路由。

④ Pre:即Preference,表示此路由的路由协议优先级。这是用来比较不同协议类型、相同目的地址的多条路由的优先级。同一目的地址可能存在不同的下一跳、出接口等多条路由,这些不同的路由可能是由不同的路由协议发现的,也可以是手工配置的静态路由。优先级高(数值小)者将成为当前的最佳路由。

⑤ Cost:路由开销,这是用来比较同一种协议类型、相同目的地址的多条路由的优先级。但不同类型协议路由的开销类型不同,如距离矢量协议采用的是“距离”,即将“跳数”作为路由开销,而链路状态协议采用的是“链路状态”(由链路带宽、网络传输性能等参数共同决定)作为路由开销。当到达同一目的地的多条路由具有相同的路由优先级时,路由开销最小的将成为当前的最佳路由。

⑥ NextHop:表示此路由的下一跳IP地址。指明数据转发路径中的下一个三层设备。

⑦ Interface:表示此路由从本地设备发出的出接口。

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

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

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

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

● G(Gateway网关路由):表示下一跳是网关。

● H(Host主机路由):表示该路由为主机路由。

● U(Up可用路由):表示该路由状态是Up。

● S(Static静态路由):表示该路由为手动配置路由。

● D(Dynamic 动态路由):表示该路由为根据路由算法自动生成路由。

● B(Black Hole 黑洞路由):表示下一跳是空接口。

● L(Vlink 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表项只选择与报文中的目的地址第一个八位组相同的各子网和自然网段的转发表项,再加上所有缺省路由转发表项,从中选择子网掩码最长的转发。

3. 路由协议的优先级

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

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

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

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

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

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

4. 负载分担与路由备份

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

负载分担:路由器支持多路由模式,即允许配置多条目的地相同,且优先级也相同的路由。当到达同一目的地存在同一路由协议发现的多条路由时,且这几条路由的开销值也相同,那么就满足负载分担的条件。当实现负载分担时,路由器根据五元组(源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转发。

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

5. 路由的收敛

路由收敛是指网络拓扑变化引起的通过重新计算路由而发生替代路由的行为。随着网络的融合,区分服务的需求越来越强烈。某些路由指导关键业务(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优先收敛,保证组播业务的转发。

静态路由基础

静态路由是一种需要手动配置的特殊路由,比动态路由使用更少的带宽,不占用CPU资源来计算和分析路由更新。但不会自动收敛。

1. 静态路由的组成

静态路由包括5个主要参数:目的IP地址和子网掩码、出接口和下一跳IP地址、优先级。

目的IP地址/子网掩码:目的IP地址就是路由要到达的目的主机或目的网络的IP地址,子网掩码就是目的地址所对应的子网掩码。当目的地址和子网掩码都为零时,表示静态缺省路由。

根据不同的出接口类型,在配置静态路由时,可指定出接口,也可指定下一跳IP地址,还可以同时指定出接口和下一跳IP地址。

① 对于点到点类型的接口(如PPP链接接口),只需指定出接口。当然也可同时指定下一跳IP地址,但这时已没有意义了。因为在点对点网络中,对端是唯一的,指定了发送接口即隐含指定可下一跳IP地址,这时认为与该接口相连的对端接口地址就是路由器的下一跳IP地址。

② 对于NBMA(NonBroadcast Multiple Access,非广播多路访问)类型的接口(如FR、ATM接口),只需要配置下一跳IP地址。当然,也可同时指定出接口,但这时已没有意义,因为除了配置IP路由外,这类接口还需在链路层建立IP地址到链路层地址的映射,相当于指定了出接口。

③ 对于广播类型的接口(如以太网接口)和VT(Virtual-Template)接口,必须指定下一跳IP地址,有些情况下还需要同时指定出接口。因为以太网接口是广播类型的接口,而VT接口下可以关联多个虚拟访问接口(Virtual Access Interface),这都会导致出现多个下一跳,无法唯一确定下一跳。而在广播型网络中,还可能有多个出接口到达同一个下一跳IP地址,此时就必须同时指定出接口。

静态路由优先级:对于不同的静态路由,可以配置不同的优先级。配置到达相同目的地的多条静态路由,如果指定相同优先级,则可实现负载分担;如果指定不同优先级,则可实现路由备份。

2. 静态路由的主要特点

手动配置

路由路径相对固定:网络拓扑变动也不会修改,除非管理员修改。

不可通告性:静态路由信息在缺省情况下是私有的,不会主动通告给其他路由器,但管理员可以在本地设备的动态路由中引入静态路由,然后以对应动态协议路由进行通告,使得网络中其他路由器也可获此静态路由。

单向性:静态路由具有单向性,它仅为数据提供沿着下一跳的方向进行路由,不提供反向路由。所以如果想要使源节点与目标节点或网络进行双向通信,必须同时配置回程静态路由。

如果想使得PC1(已配置A节点IP地址10.16.1.2/24作为网关)能够ping通PC2,必须同时配置以下两条静态路由:

① 在R1上配置了到达PC2的正向静态路由(以PC210.16.3.2/24作为目标节点,以C节点IP地址10.16.2.2/24作为下一跳IP地址)

② 在R2上配置到达PC1的回程静态路由(以PC110.16.1.1/24作为目标节点,以B节点IP地址10.16.2.1/24作为下一跳IP地址),以提供Ping过程回程ICMP消息的路由路径。

接力性:如果某条静态路由中间经过的跳数大于1(即整条路由路径经历了3个或3个以上路由器节点),则必须在除最后一个路由器外的其他路由器上依次配置到达相同目标节点或目标网络的静态路由,这就是静态路由的“接力”特性。

路由器各端口上直接连接的各个网络都是直接互通的,因为他们之间缺省就有直连路由,无需另外配置其他路由,即连接在同一路由器的各网络之间的跳数为0。如上图,R1上连接了10.16.1.0/24和10.16.2.0/24,R2上连接10.16.2.0/24和10.16.3.0/24网络,R3上连接了10.16.3.0/24和10.16.4.0/24网络,都是直接互通的,所以不需要配置从R2到R3路由器以及从R2到R1路由器的静态路由。

迭代性:许多人存在一个错误认识:认为静态路由的“下一跳”必须是与本地路由器直接连接的下一个路由器接口,这是错误的!!!静态路由没有建立邻接关系的Hello包,静态路由也不会被通告邻居路由器,所以他的下一跳纯粹是由配置的“下一跳IP地址”直接指定的,或通过配置“出接口”间接指定。理论上说,静态路由的下一跳可以是路径中其他路由器中的任意一个接口,只是能保证到达下一跳就行了。这就是静态路由的“迭代性”。

静态路由主要特性及应用

IPv4静态路由的主要特性有静态缺省路由、静态路由与BFD联动、静态路由与NQA联动、静态路由优先级和静态路由永久发布。

1. 静态缺省路由

缺省路由是另外一种特殊的路由,分静态缺省路由和动态缺省路由两类。缺省路由是没有在路由表中找到匹配的路由表项时才使用的候补路由。如果路由器中没有配置缺省路由,且报文的目的地址不在路由表中,那么该报文将被丢弃,并向源端返回一个ICMP报文,报告该目的地址或网络不可达。

在路由表中,缺省路由以到网络0.0.0.0(掩码也为0.0.0.0)的路由形式出现。可通过display ip routing-table查看。

2. 静态路由与BFD联动

静态路由自身没有检测和网络收敛机制,可通过静态路由与BFD联动特性进行绑定,利用BFD会话来快速的检测静态路由所在链路的状态,实现毫秒级快速主备切换。

当某条静态路由上的BFD会话检测到链路故障时,BFD会将故障上报系统,促使该路由失效,使该路由在IP路由表中不可见。

当某条静态路由上的BFD会话检测到故障的链路重新建立成功时,BFD会上报系统,重新激活该条路由,使该路由重新出现在IP路由表中。

3. 静态路由与NQA联动

在一些不支持BFD的链路环境中,可以通过把静态路由与NQA特性进行绑定来实现链路故障检测和快速的主备链路切换,且只要求互通设备的其中一端支持NQA即可,不受二层设备的限制。

如果NQA检测例检测到链路故障,路由器将这条静态路由设置为“非激活”状态(从IP路由表中删除)。

如果NQA检测例检测到链路恢复,路由器将这条静态路由设置为“激活”状态(路由可用,并添加到IP路由表中)。

静态路由与NQA联动时仅采用ICMP测试例来检测源端到目的端的路由是否可达,且每条静态路由只可以绑定一个NQA测试例。

4. 静态路由优先级

可以为不同静态路由配置不同的优先级,优先级值越小,对应的优先级越高。通过为多条到达同一目的地址的静态路由配置相同或不同的优先级,可分别实现多条相同目的地址的静态路由的负载分担和路由备份。

负载分担:如果到达相同目的地址的多条静态路由指定相同优先级,则可实现负载分担。

路由备份:如果到达相同目的地址的多条静态路由指定不同优先级,则可实现路由备份。

如图是负载分担,两条路由均在IP路由表中存在,同时承担数据转发。10-9是路由备份,正常情况下,静态路由B被激活,主链路承担数据转发,静态路由D不在路由表中体现。

主链路故障,静态路由B在路由表中被删除,静态路由D作为备份路由被激活,备份链路承担数据转发。

主链路恢复后,静态路由B重新被激活,主链路承担数据转发。静态路由D在路由表中删除。这条备份路由也叫浮动静态路由。

5. 静态路由永久发布

静态路由永久发布为客户提供一种低成本、部署简单的链路检测机制,在客户希望确定业务流量的转发路径,不希望流量从其他路径穿越时,静态路由永久发布可以通过Ping静态路由目的地址的方式来测试链路的有效性而达到业务监控的目的。配置永久发布属性后,之前无法发布的静态路由仍然被优选并添加到IP路由表中。具体分两种情况:

静态路由配置了出接口,且出接口的IP地址存在时,无论出接口的状态是U还是Down,只要配置了永久发布属性,则该静态路由都会被优选并添加到IP路由表。

静态路由没有配置出接口时,无论静态路由是否能迭代到出接口,只要配置了永久发布属性,路由都会被优选并添加到IP路由表中。

这样通过控制静态路由的优先级和前缀长度,使Ping报文始终通过静态路由转发,就可以检测出链路的有效性。但是,该特性不判断路由是否可达,而是一直会将静态路由保留在IP路由表中,如果实际路径不可达,静态路由可能形成黑洞路由。

BR1、BR2、BR3分属ISP1、ISP2、ISP3.从BR1到BR2有两条链路(LinkA和LinkB)可达,但ISP1希望流量都通过LinkA直接转发到ISP2,而不从ISP3穿越。这时可以配置ISP1到ISP2的静态路由为永久发布的。

BR1和BR2之间建立直连单跳EBGP邻居,同时为了进行业务状态监控,在BR1上配置到对端(BR2)BGP邻居地址(10.1.1.2/24)的静态路由(吹摁扣为与BR2直连的本地接口),并使能路由永久发布。网络监控系统周期性的Ping 10.1.1.2,可通过Ping结果来判断LinkA的状态,进而间接的监控BGP业务状态。

当LinkA正常时,Ping数据包都通过LinkA进行转发。如LinkA故障,即使能通过LinkB到达BR2,但由于静态路由使能了静态路由永久发布,所以Ping数据包还是通过LinkA转发,此时不通。对于BGP数据包也是相同的情况,故障会导致BGP邻居断开,监控系统可以通过Ping结果间接地检测到业务问题,并通知维护人员。

静态路由配置与管理

静态路由的主要配置:

①  创建静态路由

②(可选)配置静态路由的缺省优先级

③(可选)使能静态路由按递归深度优先选择

④(可选)配置静态路由永久发布

⑤(可选)静态路由与静态BFD联动

⑥(可选)静态路由与静态NQA联动

1. 配置静态路由基本功能

静态路由基本功能包括以下配置任务

创建静态路由:在创建静态路由时,可以同时指定出接口和下一跳。对不同出接口类型,可以只指定出接口或只指定下一跳。

① 对于点对点接口,只需指定出接口(可同时指定下一跳)

② 对于NBMA接口,只需指定下一跳(可同时指定出接口)

③ 对于以太网接口和VT接口,必须指定下一跳(有时需同时指定出接口)

(可选)配置静态路由的缺省优先级:缺省优先级值(60),也可改变缺省优先级,以影响路由的选路顺序。

(可选)使能静态路由按递归深度优先选择:路由迭代是通过路由的下一跳信息来找到直连出接口的过程。迭代深度指路由迭代中查找路由的次数,次数越少迭代深度越小。当系统中存在若干条同一前缀,迭代深度不同的静态路由时,迭代深度较小的路由稳定性较高。配置了基于迭代深度的优选之后,系统会选择迭代深度较小的静态路由作为活跃路由,并下发FIB。

(可选)配置静态路由永久发布:静态路由永久发布就是通过Ping静态路由目的地址的方式来检测链路的有效性。创建静态路由时要区分是在公共网络中创建,还是在具体的VPN实例网络中创建,不同类型网络中所允许携带的参数不同。

2. 配置静态路由与静态BFD联动

在配置静态路由与静态BFD联动之前,需要配置好对应的静态BFD会话。

与BFD会话绑定仅可在公网(非特定VPN实例网络)静态路由进行配置,配置的方法很简单,在系统视图下执行ip route-staticip-address {undefinedmask|mask-length} {undefinednexthop-address |interface-typeinterface-number [nexthop-address]}[preferencepreference |tag tag]* track bfd-sessioncfg-name[descriptiontext]命令即可。

参数track bfd-session cfg-name就是要指定用来与所指定的公网静态路由绑定的BFD会话名称(所绑定的静态BFD会话要事先配置好)。要确保BFD会话和静态路由在同一链路上。

3. 配置静态路由与NQA联动

如果互联设备不支持BFD功能,可以配置静态路由与NQA联动,利用NQA测试例对链路状态进行检测,提高网络可靠性。NQA把测试两端称为客户端和目的端(或服务器端),并在客户端发起测试,目的端接收报文后,返回给源端(客户端)相应的回应信息。

下表为配置步骤,2~8步为NQA测试例的创建与配置,第10步为静态路由与NQA测试例联动。

4. 静态路由管理

① display iprouting-table:查看IPv4路由表摘要信息

② display iprouting-table verbose:查看IPv4路由表详细信息。

③ display bfdsession all 【verbose】:查看BFD会话信息

④ displaycurrent-configuration | include bfd:查看静态路由与BFD联动的配置

⑤ displaycurrent-configuration | include nqa:查看静态路由与NQA联动的配置

⑥ display nqaresults 【collection】【test-instance admin-name test-name】:查看NQA测试结果。NQA测试不会在终端自动显示测试结果,必须使用本命令查看测试结果。

5. 静态路由配置示例

上图的网络拓扑,要求通过配置静态路由实现不同网段的任意两台主机之间互通。

基本配置思路:静态路由配置主要是5个参数:目的IP/子网掩码、下一跳IP、出接口、优先级。另外在配置静态路由一定要注意单向性,也就是要使双方能互相访问,必须同时配置往返路径的两条静态路由。

具体配置步骤

① 配置各路由器接口IP,以RouterA上的接口为例

② 配置静态路由,这里可以在RouterA和RouterC上仅通过配置缺省路由来实现(当然也可以用具体的静态路由),在RouterB上则分别配置到达PC1和PC3所在网段的两条静态路由。

③ 配置主机PC1的缺省网关为1.1.1.1,主机PC2的缺省网关为1.1.2.1,主机PC3的缺省网关为1.1.3.1。

在各路由器上执行displayip routing-table

IP路由表中的“Flags”是路由标记,可以是R(表示该路由是迭代路由)和D(表示该路由已下发到FIB表)字母,或者是它们的组合。但IP路由表中的所有路由均有D标记,因为它们都下发到FIB中。

6. 静态路由与BFD联动配置示例

上图拓扑,RouterA通过配置静态路由,经由RouterB与外部相连,要求在RouterA和RouterB之间实现毫秒级故障感知。

基本配置思路:实现毫秒级故障感知,只有通过与BFD会话进行绑定。在RouterA和RouterB上分别创建双向BFD会话,并绑定ROuterA到达外部网络的静态路由(这种单一出口网络中可直接使用静态缺省路由)。

具体配置步骤:

① 配置好各路由器接口IP:

[RouterA]interface gigabitethernet 1/0/0

[RouterA-GigabitEthernet1/0/0]ip address 1.1.1.1 24

② 在RouterA上配置与RouterB之间的BFD会话

③ 在RouterB上配置与RouterA之间的BFD会话。

④ 在RouterA上配置到外部网络的静态缺省路由,并绑定BFD会话

[RouterA]ip route-static0.0.0.0 0.0.0.0 1.1.1.2 track bfd-session aa

配置完后在RouterA和RouterB上执行displaybfd session all,可看到BFD会话已经建立且状态为Up。在系统视图下执行display current-configuration | include bfd,可看到静态路由已经绑定BFD会话。

执行display iprouting-table

对RouterB的GE1/0/0接口执行shutdown模拟故障,然后查看路由表,发现除了直连路由,静态缺省路由0.0.0.0/0不存在了。因为静态缺省路由绑定了BFD会话,当BFD检测到故障,会迅速通知所绑定的静态路由不可用。

7. 静态路由与NQA联动配置示例

如上图拓扑,在RouterB和RouterC上都配置了到用户交换机的静态路由,RouterB为主路由器,RouterC为备用路由器。正常情况下,SwitchA上的用户业务用流量走主用链路RouterB-àswitchA,主用链路故障切换到备用链路RouterCàSwitchA。

基本配置思路:

① 在各路由器上配置IP地址以及OSPF路由协议,并配置不同链路的路由开销值,最终使得RouterB为主用路由器,RouterC为备用路由器。

② 在RouterB与SwitchA之间建立ICMP类型的NQA测试例,同时分别配置RouterB和RouterC到SwitchA上连接的用户网络的静态路由,并将在RouterB配置的静态路由与NQA测试例联动。

配置步骤:

① 配置各路由器的IP地址。

[RouterA]interfacegigabitethernet 1/0/0

[RouterA-GigabitEthernet1/0/0]ipaddress 172.16.3.1 24

[RouterA-GigabitEthernet1/0/0]quit

[RouterA]interfacegigabitethernet 2/0/0

[RouterA-GigabitEthernet2/0/0]ipaddress 172.16.4.1 24

② 在RouterA、RouterB和RouterC上配置OSPF动态路由协议,使它们之间三层可达。(以RouterA为例)

③ 为了保证RouterA有到达用户网络的路由,需要在RouterB和RouterC上配置OSPF动态路由协议引入静态路由,然后通告给RouterA。为了使RouterB成为主路由器,需要在RouterB引入静态路由时开销值更小。

④ 在RouterB上配置RouterB和SwitchA之间的NQA ICMP测试例。

⑤ 在RouterB和RouterC上分别配置到达SwitchA静态路由(在广播网络中要同时指定出接口和下一跳IP),但在RouterB上配置静态路由时要与配置的NQA ICMP测试例进行联动。

[RouterB]ip route-static172.16.7.0 255.255.255.255.0 gigabitethernet 1/0/0 172.16.1.2 track nqa aa bb

[RouterC]ip route-static172.16.7.0 255.255.255.0 gigabitethernet 3/0/0 172.16.6.2

配置完后,在RouterB的系统视图下执行displaycurrent-configuration | include nqa,可看到静态路由已经绑定NQA测试例;执行displaynqa results命令可看到NQA测试例已经建立。

通过display iprouting-table查看RouterB上的IP路由表:

在RouterA上查看IP路由表:

从中可以看到有一条到172.16.7.0/24的路由,下一跳指向172.16.3.2,cost值为10,因此业务流量会优先走链路RouterB—>SwitchA。

通过shutdown关闭RouterB的GE1/0/0,通过displaynqa results查看NQA测试结果:

此时在通过displayip routing-table查看RouterB上的IP路由表,发现原来的这条到达SwitchA的静态路由消失了,因为NQA已通知路由模块对应链路出现故障,所以路由模块立即删除这条静态路由。在RouterA上查看IP路由表:

可以看到原来的路由消失了(Cost值为10,下一跳为172.16.3.2的路由),改为了通过SwitchC,因为RouterA仅能从RouterC处学习到通往172.16.7.0/24的路由了。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇