5

「ISIS」- 通告缺省路由(Default Route Injection)

 2 years ago
source link: https://blog.k4nz.com/2b83ad382d6f686450f430a9348d5a11/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

「ISIS」- 通告缺省路由(Default Route Injection)

 2022-03-18   CREATED BY JENKINSBOT

在IS-IS中,主要通过以下3种方式控制缺省路由的生成和发布。
在Level-1-2设备上,控制其产生的Level-1 LSP中ATT位的置位情况。
在Level-1设备上,通过配置使其即使收到ATT位置位的Level-1 LSP也不会自动产生缺省路由。
在IS-IS中发布缺省路由。

LSP的报文格式:
ATT(Attachment):由Level-1-2路由器产生,用来指明始发路由器是否与其它区域相连。此字段有4bit,华为数通产品只使用了其中1bit。

通过设置ATT位控制缺省路由生成

IS-IS规定,如果IS-IS Level-1-2设备根据LSDB判断通过Level-2区域比Level-1区域能够到达更多的区域,该设备会在所发布的Level-1 LSP内将ATT位置位。对于收到ATT位置位的LSP报文的Level-1设备,会生成一条目的地为发送该LSP的Level-1-2设备地址的缺省路由。

以上是协议的默认原则,在实际应用中,可以根据需要对ATT比特位进行手动配置以更好地为网络服务。

(Level-1-2设备)设置IS-IS LSP报文的ATT比特位置位规则。
[Huawei-isis-1] attached-bit advertise { always | never }
always:指定ATT位永远置位,收到该LSP的Level-1设备会生成缺省路由。
never:指定ATT位永不置位,可以避免Level-1设备生成缺省路由,减小路由表的规模。

缺省情况下,Level-1-2设备发布的LSP的ATT位根据缺省置位规则来决定置位情况。
虽然ATT位同时在Level-1 LSP和Level-2 LSP中进行了定义,但是它只会在Level-1 LSP中被置位,并且只有Level-1-2设备会设置这个字段,因此,该命令仅对Level-1-2设备生效。


(Level-1设备)控制Level-1设备不因为ATT位下发缺省路由到路由表。
[Huawei-isis-1] attached-bit avoid-learning
缺省情况下,IS-IS按ATT位缺省使用规则生成缺省路由。

配置Level-1设备不将缺省路由下发到路由表,有以下两种方式可以实现:
1)在Level-1-2设备上配置attached-bit advertise never命令,使得其不会发布ATT位置位的LSP。
2)在与Level-1-2设备相连的Level-1设备上配置attached-bit avoid-learning命令。
其中,attached-bit avoid-learning命令适用于需要针对指定设备配置的情况。

发布缺省路由

在具有外部路由的边界设备上配置IS-IS发布缺省路由可以使该设备在IS-IS路由域内发布一条0.0.0.0/0的缺省路由。在执行此配置后,IS-IS域内的其他设备在转发流量时,将所有去往外部路由域的流量首先转发到该设备,然后通过该设备去往外部路由域。

通常,当网络中部署了IS-IS和其他路由协议时,为了实现IS-IS域内的流量可以到达IS-IS域外,通常有如下两种方式:
1)在边界设备上配置IS-IS设备向IS-IS域发布缺省路由。该方式较为简单,不需要学习外部路由。
2)在边界设备上将其他路由域的路由引入到IS-IS中。

配置运行IS-IS的设备生成缺省路由:

[Huawei-isis-1] default-route-advertise [ always | match default | route-policy route-policy-name ] [ cost cost | tag tag | [ level-1 | level-1-2 | level-2 ] ] [ avoid-learning ]
always:指定设备无条件的发布缺省路由,且发布的缺省路由中将自己作为下一跳。
match default:如果在路由表中存在其他路由协议或其它IS-IS进程生成的缺省路由,则在LSP中发布该缺省路由。
route-policy route-policy-name:指定路由策略名称。当该边界设备的路由表中存在满足路由策略的外部路由时,才向IS-IS域发布缺省路由,避免由于链路故障等原因造成该设备已经不存在某些重要的外部路由时,仍然发布缺省路由从而造成路由黑洞。此处的路由策略不影响IS-IS引入外部路由。字符串形式,区分大小写,不支持空格,长度范围是1~40。当输入的字符串两端使用双引号时,可在字符串中输入空格。
cost cost:指定缺省路由的开销值。整数形式。取值范围根据cost-style而定:当cost-style为narrow、narrow-compatible或compatible时,取值范围是0~63;当cost-style为wide或wide-compatible时,取值范围是0~4261412864。
tag tag:指定发布的缺省路由的标记值。只有当IS-IS的开销类型为wide、wide-compatible或compatible时,发布的LSP中才会携带tag值。整数形式,取值范围为1~4294967295。
level-1:指定发布的缺省路由级别为Level-1。如果不指定级别,则默认为生成Level-2级别的缺省路由。
level-2:指定发布的缺省路由级别为Level-2。如果不指定级别,则默认为生成Level-2级别的缺省路由。
level-1-2:指定发布的缺省路由级别为Level-1-2。如果不指定级别,则默认为生成Level-2级别的缺省路由。
avoid-learning:避免IS-IS进程学到其他路由协议或其它IS-IS进程生成的缺省路由并添加到路由表。如果路由表中已存在学到的缺省路由为活跃状态,则将此路由置为不活跃状态。

缺省情况下,运行IS-IS协议的设备不生成缺省路由。


配置该命令后,IS-IS域内所有去往外部的流量将首先会被转发到该设备来进行转发。相比于在每台设备上配置静态缺省路由,使用该命令可以简化操作,即只需在边界设备配置即可。此外,该命令是动态发布缺省路由,使用更加灵活,有多种发布缺省路由的方式可供选择。
如果在Level-1设备上配置了该命令,那么该设备只会向Level-1区域发布缺省路由,不会将缺省路由发布到Level-2区域。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK