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

2023-05-16

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

一、路由基础

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

一)路由的分类

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

①通过链路层协议发现的路由称为直连路由(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。

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

二)路由表和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协议的路由表

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


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

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

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

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

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

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

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

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

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


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

三)路由协议的优先级

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

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

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


0表示直接连接的路由,255表示任何来自不可信源端的路由,静态路由的优先级比OSPF、IS-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优先收敛,保证组播业务的转发。


二、静态路由基础

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

一)静态路由的组成

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

1、目的IP地址/子网掩码

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

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

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

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

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

3、静态路由优先级

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

二)静态路由的主要特点

1、手动配置

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

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

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


如果想使得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消息的路由路径。

5、接力性

如果某条静态路由中间经过的跳数大于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路由器的静态路由。

6、迭代性

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

7、适用小型网络

三、静态路由主要特性及应用

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

一)静态缺省路由

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

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

二)静态路由与BFD联动

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

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

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

三)静态路由与NQA联动

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

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

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

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

四)静态路由优先级

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

1、负载分担

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

2、路由备份

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


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

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

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

五)静态路由永久发布

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

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

(2)静态路由没有配置出接口时,无论静态路由是否能迭代到出接口,只要配置了永久发布属性,路由都会被优选并添加到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接口,必须指定下一跳(有时需同时指定出接口)

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

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

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

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

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

静态路由永久发布就是通过Ping静态路由目的地址的方式来检测链路的有效性。

创建静态路由时要区分是在公共网络中创建,还是在具体的VPN实例网络中创建,不同类型网络中所允许携带的参数不同。



二)配置静态路由与静态BFD联动

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

与BFD会话绑定仅可在公网(非特定VPN实例网络)静态路由进行配置,配置的方法很简单,在系统视图下执行ip route-staticip-address {mask|mask-length} {nexthop-address |interface-typeinterface-number [nexthop-address]}[preferencepreference |tag tag]* track bfd-sessioncfg-name[descriptiontext]命令即可。参数track bfd-session cfg-name就是要指定用来与所指定的公网静态路由绑定的BFD会话名称(所绑定的静态BFD会话要事先配置好)。要确保BFD会话和静态路由在同一链路上。

三)配置静态路由与NQA联动

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

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




四)静态路由管理

①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测试不会在终端自动显示测试结果,必须使用本命令查看测试结果。

五)静态路由配置示例


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

1、基本配置思路

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

2、具体配置步骤

①配置各路由器接口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中。

六)静态路由与BFD联动配置示例


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

1、基本配置思路

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

2、具体配置步骤

①配置好各路由器接口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检测到故障,会迅速通知所绑定的静态路由不可用。


七)静态路由与NQA联动配置示例


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

1、基本配置思路

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

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

2、配置步骤

①配置各路由器的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的路由了。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

路由配置与管理——静态路由配置与管理 的相关文章

  • 什么是子网掩码,如何判断两个IP是不是同一网段

    1 xff1a 什么是子网掩码 xff1f 子网掩码不能单独存在 xff0c 它必须结合IP地址一起使用 子网掩码只有一个作用 xff0c 就是将某个IP地址划分成网络地址和主机地址两部分 说的通俗的话 xff0c 就是用来分割子网和区分那
  • 利用esp-8266实现wifi攻击

    0x00 前言 之前在b站上看到这个wifi模块的攻击视频感觉挺有意思 xff0c 就在某宝上入了一个拿回来玩玩 0x01 外观 转接头需要自己另外买 0x03 编译程序 https anky cc esp8266 deauther wif
  • 如何从 JavaScript 对象中删除属性?

    问题描述 xff1a 给定一个对象 xff1a let myObject span class token operator 61 span span class token punctuation span span class toke
  • 在 Git 中推送提交时消息“src refspec master does not match any”

    问 xff1a 我克隆我的存储库 xff1a git clone ssh span class token operator span span class token operator span span class token oper
  • Qt编译、链接和运行参数的设置

    Qt编译 链接和运行参数的设置 Qt笔记 使用 Qt Creator 集成开发环境构建和运行程序是一件非常简单的事情 xff0c 一个按钮或者一个快捷键搞定全部 xff0c 通过 Qt Creator使用教程 xff08 简明版 xff09
  • 常用Linux命令行技巧

    结果以表格形式输出 column t 比如 xff1b span class token function mount span span class token operator span column t 默认分隔符为空格 xff0c
  • CV往哪卷?李飞飞指出三颗「北极星」:具身智能,视觉推理和场景理解

    点击下方卡片 xff0c 关注 CVer 公众号 AI CV重磅干货 xff0c 第一时间送达 转载自 xff1a 新智元 编辑 xff1a LRS 导读 ImageNet见证了计算机视觉发展的辉煌历程 xff0c 在部分任务性能已超越人类
  • Java异常处理的九个最佳实践

    1 确保在Finally程序块中完成资源释放或者使用Try With语句 比如对于InputStream xff0c 当我们使用完毕 xff0c 我们要确保资源被正确关闭 xff0c 比如下面我们常见的错误用法 xff0c 不要在try模块
  • CodeMirror使用笔记

    最近因工作需要 xff0c 在项目中使用了CodeMirror代码编辑器 xff0c 以下是使用笔记 首先 xff0c 看下最终的效果 引入基本的需要资源 lt script src 61 34 lt 61 request getConte
  • JAVA注解

    Java注解Annotations主要用于为目标程序提供额外补充的说明信息 注解以 64 符号标识注解并不改变编译程序的行为注意可以为程序元素 xff1a 实例变量 构造方法 方法或者类添加元数据信息注解并不是单纯的注释 xff0c 但却可
  • ubuntu中GitLab的安装与配置

    这里 xff0c 我们采用离线安装的方式安装GitLab 首先 xff0c 我们从清华大学开源软件镜像站中下载软件包 xff0c 用户可根据实际的服务器操作系统版本来选择不同的镜像资源 xff0c 这里我们以ubuntu为例 执行命令sud
  • Jenkins使用笔记

    本章简单记录Jenkins的使用笔记 首先 xff0c 我们从官网中下载安装介质 xff0c 可以看到这里有适合各种操作系统版本的安装源介质 xff0c 简单起见 xff0c 我们直接下载一个通用的war程序包 执行命令java jar j
  • GitLab 与 Jenkins 持续集成实践

    首先 xff0c 我们简单说明下我们的部署环境 xff1a GitLab xff1a 192 168 43 61 Jenkins xff1a 192 168 43 116 Jenkins中系统设置中 xff0c 配置GitLab连接信息 x
  • Linux下免密认证登录失败原因总结

    事件背景 A机器已经生产rsa密钥且已经将public key添加到B机器 root ssh authorized keys xff0c 但是从A机器上ssh root 64 B机器时仍然需要输入密码 xff0c 即无密码认证失败 原因总结
  • 公钥添加到authorized_keys到文件中之后仍无法免密登陆

    接上一章 xff0c 关于Linux下免密登陆失败 xff0c 这里找了Stackoverflow上关于这个问题的讨论 xff1a Adding public key to ssh authorized keys does not log
  • Java 8 中的List排序

    按字母顺序排序字符串列表 List lt String gt cities 61 Arrays asList 34 Milan 34 34 london 34 34 San Francisco 34 34 Tokyo 34 34 New D
  • Microservices vs SOA - 微服务与SOA

    开始之前 xff0c 我们先简单看下单体架构 SOA与微服务之间的区别 xff0c 如下图所示 xff1a 简单来讲 xff0c 对于单体架构 xff0c 其就像一个超大容器 xff0c 容器内集中包含了该应用的所有软件组件 xff0c 并
  • Python 机器学习8:sklearn 聚类算法

    1 K Means算法是一种广泛使用的聚类算法 from sklearn cluster import KMeans K Means是聚焦于相似的无监督的算法 xff0c 以距离作为数据对象间相似性度量的标准 xff0c 即数据对象间的距离
  • 什么是微服务——微服务架构体系介绍

    Why Microservices 回答这个问题前 xff0c 我们先看下之前大行其道的单体架构 Monolithic Architecture xff0c 对于非专业人士来讲 xff0c 所谓的单体架构 xff0c 其就像一个超大容器 x

随机推荐

  • 微服务架构特征

    一个典型的微服务架构 xff08 MSA xff09 通常包含以下组件 xff1a 客户端 xff1a 微服务架构着眼于识别各种不同的类型的设备 xff0c 以及在此设备上进行的各种管理操作 xff1a 搜索 构建 配置等等身份标识提供者
  • 微服务架构系列——API服务网关

    本章我们简单介绍微服务架构下的API服务网关 xff0c 本章我们将讨论以下话题 xff1a 什么是API服务网关为什么需要API服务网关API服务网关的工作机制 处理横切关注点 当我们在开发设计大型软件应用时 xff0c 我们一般都会采用
  • Java之keytool命令学习

    Java Keytool is a key and certificate management utility It allows users to manage their own public private key pairs an
  • HashMap 与 HashTable的区别

    HashMap 实现了Map接口非线程同步 xff0c 非线程安全不允许重复键键和值均允许为null HashMap lt Interger String gt employeeHashmap 61 new HashMap lt Integ
  • 如何避免敏捷失败?

    很多人都听说敏捷 xff0c 有些人知道敏捷是什么 xff0c 有些人也尝试过敏捷 xff0c 本章中将列举出一些常见的错误敏捷实践 xff0c 如果想要避免敏捷失败 xff0c 建议还是要对照下你所在的敏捷团队中有没有类似的敏捷实践 xf
  • 一个人有文化,到底有多重要?

    关于什么是文化 xff0c 我最最欣赏的回答 xff0c 是作家梁晓声的四句概括 xff1a 根植于内心的修养 xff0c 无需提醒的自觉 xff0c 以约束为前提的自由 xff0c 为别人着想的善良 01 一位叫做 Judy 的空姐 xf
  • MyBatis动态SQL中Map参数处理

    在MyBatis中 xff0c 如果我们需要传递两个参数 xff0c 有一种方式是通过Map作为传入参数 xff0c 在动态SQL中 xff0c 我们需要对传入的Map参数中的值进行判断 xff0c 然后进行动态SQL的条件拼接处理 假设我
  • MyBatis框架下防止SQL注入

    与传统的ORM框架不同 xff0c MyBatis使用XML描述符将对象映射到SQL语句或者存储过程中 xff0c 这种机制可以让我们更大的灵活度通过SQL来操作数据库对象 xff0c 因此 xff0c 我们必须小心这种便利下SQL注入的可
  • 使用android 视频解码mediaCodec碰到的几个问题

    问题1 mediaCodec dequeueInputBuffer一直返回 1 xff0c APP现象 xff1a 视屏卡屏 原因 xff1a 这是因为inputbuffer的内容有误 xff0c 导致无法解码 可通过设延时时间解决 xff
  • 云计算思维导图

    根据近期的云计算学习心得 xff0c 将云计算部分内容制作成思维导图 xff0c 方便于广大云计算学习者作为辅导讲义 xff01 思维导图内容主要包含 xff1a 1 云计算概述 2 云体系结构 3 网络资源 4 存储资源 5 硬件介绍 6
  • 路由器重温——串行链路链路层协议积累

    对于广域网接口来说 xff0c 主要的不同或者说主要的复杂性在于理解不同接口的物理特性以及链路层协议 xff0c 再上层基本都是 IP 协议 xff0c 基本上都是相同的 WAN口中的serial接口主要使用点对点的链路层协议有 xff0c
  • 路由器重温——PPPoE配置管理-2

    四 配置设备作为PPPoE服务器 路由器的PPPoE服务器功能可以配置在物理以太网接口或 PON 接口上 xff0c 也可配置在由 ADSL 接口生成的虚拟以太网接口上 1 配置虚拟模板接口 虚拟模板接口VT和以太网接口或PON接口绑定后
  • Python入门自学进阶——1--装饰器

    理解装饰器 xff0c 先要理解函数和高阶函数 首先要明白 xff0c 函数名就是一个变量 xff0c 如下图 xff0c 定义一个变量名和定义一个函数 xff0c 函数名与变量名是等价的 既然函数名就是一个变量名 xff0c 那么在定义函
  • Python入门自学进阶-Web框架——21、DjangoAdmin项目应用

    客户关系管理 以admin项目为基础 xff0c 扩展自己的项目 一 创建项目 二 配置数据库 xff0c 使用mysql数据库 xff1a 需要安全mysqlclient模块 xff1a pip install mysqlclient D
  • Python入门自学进阶-Web框架——33、瀑布流布局与组合查询

    一 瀑布流 xff0c 是指页面布局中 xff0c 在显示很多图片时 xff0c 图片及文字大小不相同 xff0c 导致页面排版不美观 如上图 xff0c 右边的布局 xff0c 因为第一行第一张图片过长 xff0c 第二行的第一张被挤到第
  • Python入门自学进阶-Web框架——34、富文本编辑器KindEditor、爬虫初步

    KindEditor 是一个轻量级的富文本编辑器 xff0c 应用于浏览器客户端 一 首先是下载 xff1a http kindeditor net down php xff0c 如下图 下载后是 解压缩后 xff1a 红框选中的都可以删除
  • Python入门自学进阶-Web框架——35、网络爬虫使用

    自动从网上抓取信息 xff0c 就是获取相应的网页 xff0c 对网页内容进行抽取整理 xff0c 获取有用的信息 xff0c 保存下来 要实现网上爬取信息 xff0c 关键是模拟浏览器动作 xff0c 实现自动向网址发送请求 xff0c
  • 6、spring的五种类型通知

    spring共提供了五种类型的通知 xff1a 通知类型接口描述Around 环绕通知org aopalliance intercept MethodInterceptor拦截对目标方法调用Before 前置通知org springfram
  • 路由器接口配置与管理——1

    路由器的接口相对于交换机来说最大的特点就是接口类型和配置更为复杂 xff0c 一般吧路由器上的接口分为三大类 xff1a 一类用于局域网的LAN接口 xff0c 一类用于广域网接入 互联的WAN接口 xff0c 最后一类可以应用于LAN组网
  • 路由配置与管理——静态路由配置与管理

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