05-IS-IS配置
本章节下载: 05-IS-IS配置 (850.52 KB)
IS-IS(Intermediate System-to-Intermediate System,中间系统到中间系统)最初是国际标准化组织(International Organization for Standardization,ISO)为它的无连接网络协议(ConnectionLess Network Protocol,CLNP)设计的一种动态路由协议。
为了提供对IP路由支持,IETF(Internet Engineering Task Force,因特网工程任务组)在RFC 1195中对IS-IS进行了扩充和修改,使它能够同时应用在TCP/IP和OSI环境中,称为集成化IS-IS(Integrated IS-IS或Dual IS-IS)。
IS-IS属于内部网关协议(Interior Gateway Protocol,IGP),用于自治系统内部。IS-IS是一种链路状态协议,使用最短路径优先(Shortest Path First,SPF)算法进行路由计算。
· IS(Intermediate System):中间系统。相当于TCP/IP中的路由器,是IS-IS协议中生成路由和传播路由信息的基本单元。在下文中IS和路由器具有相同的含义。
· ES(End System):终端系统。相当于TCP/IP中的主机系统。ES不参与IS-IS路由协议的处理,ISO使用专门的ES-IS协议定义终端系统与中间系统间的通信。
· RD(Routing Domain):路由域。在一个路由域中多个IS通过相同的路由协议来交换路由信息。
· Area:区域,路由域的细分单元,IS-IS允许将整个路由域分为多个区域。
· LSDB(Link State DataBase):链路状态数据库。网络内所有链路的状态组成了链路状态数据库,在每一个IS中都至少有一个LSDB。IS使用SPF算法,利用LSDB来生成自己的路由。
· LSPDU(Link State Protocol Data Unit):链路状态协议数据单元,简称LSP。在IS-IS中,每一个IS都会生成LSP,此LSP包含了本IS的所有链路状态信息。
· NPDU(Network Protocol Data Unit):网络协议数据单元,是OSI中的网络层协议报文,相当于TCP/IP中的IP报文。
· DIS(Designated IS):广播网络上选举的指定中间系统,也可以称为指定IS。
· NSAP(Network Service Access Point):网络服务接入点,即OSI中网络层的地址,用来标识一个抽象的网络服务访问点,描述OSI模型的网络地址结构。
如图1-1所示,NSAP由IDP(Initial Domain Part)和DSP(Domain Specific Part)组成。IDP相当于IP地址中的主网络号,DSP相当于IP地址中的子网号和主机地址。
IDP部分是ISO规定的,它由AFI(Authority and Format Identifier)与IDI(Initial Domain Identifier)组成,AFI表示地址分配机构和地址格式,IDI用来标识域。
DSP由HO-DSP(High Order Part of DSP)、SystemID和SEL三个部分组成。HO-DSP用来分割区域,SystemID用来区分主机,SEL指示服务类型。
IDP和DSP的长度都是可变的,NSAP总长最多是20个字节,最少8个字节。
图1-1 IS-IS协议的地址结构示意图
(2) 区域地址
IDP和DSP中的HO-DSP一起,既能够标识路由域,也能够标识路由域中的区域,因此,它们一起被称为区域地址(Area Address)。两个不同的路由域中不允许有相同的区域地址。
一般情况下,一台路由器只需要配置一个区域地址,且同一区域中所有节点的区域地址都要相同。为了支持区域的平滑合并、分割及转换,一台路由器最多可配置3个区域地址。
(3) System ID
System ID用来在区域内唯一标识主机或路由器。它的长度固定为48比特。
在实际应用中,一般使用Router ID与System ID进行对应。假设一台路由器使用接口Loopback0的IP地址168.10.1.1作为Router ID,则它在IS-IS使用的System ID可通过如下方法转换得到:
· 将IP地址168.10.1.1的每一部分都扩展为3位,不足3位的在前面补0;
· 将扩展后的地址168.010.001.001重新划分为3部分,每部分由4位数字组成,得到的1680.1000.1001就是System ID。
实际System ID的指定可以有不同的方法,但要保证能够唯一标识主机或路由器。
(4) SEL
SEL(NSAP Selector,有时也写成N-SEL)的作用类似IP中的“协议标识符”,不同的传输协议对应不同的SEL。在IP中,SEL均为00。
(5) 路由方式
由于这种地址结构明确的定义了区域,Level-1路由器很容易识别出发往它所在的区域之外的报文,这些报文是需要转交给Level-1-2路由器的。
· Level-1路由器利用System ID进行区域内的路由,如果发现报文的目的地址不属于自己所在的区域,就将报文转发给最近的Level-1-2路由器。
· Level-2路由器根据区域地址进行区域间的路由。
NET(Network Entity Title,网络实体名称)指示的是IS本身的网络层信息,不包括传输层信息,可以看作是一类特殊的NSAP,即SEL为0的NSAP地址。因此,NET的长度与NSAP的相同,为8~20个字节。
NET由三部分组成:
· 区域ID,它的长度可变的,为1~13个字节。
· System ID,用来在区域内唯一标识主机或路由器,它的长度固定为6个字节。
· SEL,为0,它的长度固定为1个字节。
例如NET为:ab.cdef.1234.5678.9abc.00,则其中区域ID为ab.cdef,System ID为1234.5678.9abc,SEL为00。
通常情况下,一台路由器配置一个NET即可,当区域需要重新划分时,例如将多个区域合并,或者将一个区域划分为多个区域,这种情况下配置多个NET可以在重新配置时仍然能够保证路由的正确性。由于一台路由器最多可配置3个区域地址,所以最多也只能配置3个NET。在配置多个NET时,必须保证它们的System ID都相同。
为了支持大规模的路由网络,IS-IS在路由域内采用两级的分层结构。一个大的路由域通常被分成多个区域(Areas)。一般来说,我们将Level-1路由器部署在区域内,Level-2路由器部署在区域间,Level-1-2路由器部署在Level-1路由器和Level-2路由器的中间。
(1) Level-1路由器
Level-1路由器负责区域内的路由,它只与属于同一区域的Level-1和Level-1-2路由器形成邻居关系,维护一个Level-1的LSDB,该LSDB包含本区域的路由信息,到区域外的报文转发给最近的Level-1-2路由器。
(2) Level-2路由器
Level-2路由器负责区域间的路由,可以与同一区域或者其它区域的Level-2和Level-1-2路由器形成邻居关系,维护一个Level-2的LSDB,该LSDB包含区域间的路由信息。所有Level-2路由器和Level-1-2路由器组成路由域的骨干网,负责在不同区域间通信,骨干网必须是物理连续的。
(3) Level-1-2路由器
同时属于Level-1和Level-2的路由器称为Level-1-2路由器,可以与同一区域的Level-1和Level-1-2路由器形成Level-1邻居关系,也可以与同一区域或者其他区域的Level-2和Level-1-2路由器形成Level-2的邻居关系。Level-1路由器必须通过Level-1-2路由器才能连接至其他区域。Level-1-2路由器维护两个LSDB,Level-1的LSDB用于区域内路由,Level-2的LSDB用于区域间路由。
· 属于不同区域的Level-1路由器不能形成邻居关系。
· Level-2路由器是否形成邻居关系则与区域无关。
图1-2为一个运行IS-IS协议的网络,其中Area 1是骨干区域,该区域中的所有路由器均是Level-2路由器。另外4个区域为非骨干区域,它们都通过Level-1-2路由器与骨干路由器相连。
图1-2 IS-IS拓扑结构图之一
图1-3是IS-IS的另外一种拓扑结构图。其中Level-1-2路由器不仅仅用来连接Level-1和Level-2路由器,而且还与其它Level-2路由器一起构成了IS-IS的骨干网。在这个拓扑中,并没有规定哪个区域是骨干区域。所有Level-2路由器和Level-1-2路由器构成了IS-IS的骨干网,它们可以属于不同的区域,但必须是物理连续的。
图1-3 IS-IS拓扑结构图之二
IS-IS的骨干网(Backbone)指的不是一个特定的区域。
IS-IS不论是Level-1还是Level-2路由,都采用SPF算法,分别生成最短路径树(Shortest Path Tree,SPT)。
通常情况下,区域内的路由通过Level-1的路由器进行管理。所有的Level-2路由器和Level-1-2路由器构成一个Level-2区域。因此,一个IS-IS的路由域可以包含多个Level-1区域,但只有一个Level-2区域。
Level-1区域必须且只能与Level-2区域相连,不同的Level-1区域之间并不相连。
Level-1区域内的路由信息通过Level-1-2路由器发布到Level-2区域,因此,Level-2路由器知道整个IS-IS路由域的路由信息。但是,在缺省情况下,Level-1-2路由器并不将自己知道的其它Level-1区域以及Level-2区域的路由信息发布到Level-1区域。这样,Level-1路由器将不了解本区域以外的路由信息,Level-1路由器只将去往其它区域的报文发送到最近的Level-1-2路由器,所以可能导致对本区域之外的目的地址无法选择最佳的路由。
为解决上述问题,IS-IS提供了路由渗透功能,使Level-1-2路由器可以将己知的其它Level-1区域以及Level-2区域的路由信息发布到指定的Level-1区域。
IS-IS只支持两种类型的网络,根据物理链路不同可分为:
· 广播链路:如Ethernet、Token-Ring等。
· 点到点链路:如PPP、HDLC等。
对于NBMA(Non-Broadcast Multi-Access)网络,如ATM,需对其配置子接口,并将子接口类型配置为点到点网络或广播网络。IS-IS不能在点到多点(Point to MultiPoint,P2MP)链路上运行。
在广播网络中,IS-IS需要在所有的路由器中选举一个路由器作为DIS。
Level-1和Level-2的DIS是分别选举的,用户可以为不同级别的DIS选举设置不同的优先级。DIS优先级数值越高,被选中的可能性就越大。如果优先级最高的路由器有多台,则其中SNPA(Subnetwork Point of Attachment,子网连接点)地址(广播网络中的SNPA地址是MAC地址)最大的路由器会被选中。不同级别的DIS可以是同一台路由器,也可以是不同的路由器。
与OSPF的不同点:
· 优先级为0的路由器也参与DIS的选举;
· 当有新的路由器加入,并符合成为DIS的条件时,这个路由器会被选中成为新的DIS,此更改会引起一组新的LSP泛洪。
在IS-IS广播网中,同一网段上的同一级别的路由器之间都会形成邻接关系,包括所有的非DIS路由器之间也会形成邻接关系。如图1-4所示。
图1-4 IS-IS广播网的DIS和邻接关系
DIS用来创建和更新伪节点(Pseudonodes),并负责生成伪节点的LSP,用来描述这个网络上有哪些路由器。
伪节点是用来模拟广播网络的一个虚拟节点,并非真实的路由器。在IS-IS中,伪节点用DIS的System ID和一个字节的Circuit ID(非0值)标识。
使用伪节点可以简化网络拓扑,减少SPF的资源消耗。
IS-IS广播网络上所有的路由器之间都形成邻接关系,但LSDB的同步仍然依靠DIS来保证。
IS-IS报文是直接封装在数据链路层的帧结构中的。PDU(Protocol Data Unit,协议数据单元)可以分为两个部分,报文头和变长字段部分。其中报文头又可分为通用报头和专用报头。对于所有PDU来说,通用报头都是相同的,但专用报头根据PDU类型不同而有所差别,如图1-5所示。
图1-5 PDU格式
所有的PDU都有相同的通用报头格式,如图1-6所示。
图1-6 PDU头格式
主要字段的解释如下:
· Intradomain Routing Protocol Discriminator(域内路由协议鉴别符):设置为0x83。
· Length Indicator(长度标识符):PDU头部的长度(包括通用报头和专用报头),以字节为单位。
· Version/Protocol ID Extension(版本/协议标识扩展):设置为1(0x01)。
· ID Length(标识长度):NSAP地址和NET的ID长度。
· R(Reserved,保留):设置为0。
· PDU Type(PDU类型):详细信息请参考表1-1。
· Version(版本):设置为1(0x01)。
· Maximum Area Address(最大区域地址数):支持的最大区域个数。
表1-1 PDU类型对应关系表
类型值 |
PDU类型 |
简称 |
15 |
Level-1 LAN IS-IS Hello PDU |
L1 LAN IIH |
16 |
Level-2 LAN IS-IS Hello PDU |
L2 LAN IIH |
17 |
Point-to-Point IS-IS Hello PDU |
P2P IIH |
18 |
Level-1 Link State PDU |
L1 LSP |
20 |
Level-2 Link State PDU |
L2 LSP |
24 |
Level-1 Complete Sequence Numbers PDU |
L1 CSNP |
25 |
Level-2 Complete Sequence Numbers PDU |
L2 CSNP |
26 |
Level-1 Partial Sequence Numbers PDU |
L1 PSNP |
27 |
Level-2 Partial Sequence Numbers PDU |
L2 PSNP |
Hello报文用于建立和维持邻居关系,也称为IIH(IS-to-IS Hello PDUs)。其中,广播网中的Level-1路由器使用Level-1 LAN IIH,广播网中的Level-2路由器使用Level-2 LAN IIH;点到点网络中的路由器则使用P2P IIH。
它们的报文格式有所不同。广播网中的Hello报文格式如图1-7所示(浅蓝色部分是通用报文头)。
主要字段的解释如下:
· Reserved/Circuit Type:高位的6比特保留,值为0。低位的2比特表示路由器的类型(00保留,01表示L1,10表示L2,11表示L1/2)。
· Source ID:发送Hello报文的路由器的System ID。
· Holding Time:保持时间。在此时间内如果没有收到邻居发来的Hello报文,则中止已建立的邻居关系。
· PDU Length:PDU的总长度,以字节为单位。
· Priority:选举DIS的优先级。
· LAN ID:包括System ID和一字节的伪节点ID。
点到点网络中的Hello报文格式如图1-8所示(浅蓝色部分是通用报文头)。
从图中可以看出,P2P IIH中的多数字段与LAN IIH相同。不同的是没有Priority和LAN ID字段,而多了一个Local Circuit ID字段,表示本地链路ID。
LSP用于交换链路状态信息。LSP分为两种:Level-1 LSP和Level-2 LSP。Level-1路由器传送Level-1 LSP,Level-2路由器传送Level-2 LSP,Level-1-2路由器则可传送以上两种LSP。
两类LSP有相同的报文格式,如图1-9所示(浅蓝色部分是通用报文头)。
主要字段的解释如下:
· PDU Length:PDU的总长度,以字节为单位。
· Remaining Lifetime:LSP的存活时间,以秒为单位。
· LSP ID:由三部分组成,System ID、伪节点ID(一字节)和LSP的分片号(一字节)。
· Sequence Number:LSP的序列号。
· Checksum:LSP的校验和。
· P(Partition Repair):仅与L2 LSP有关,表示路由器是否支持自动修复区域分割。
· ATT(Attachment):由L1/L2路由器产生,但仅与L1 LSP有关,表示产生此LSP的路由器(L1/L2路由器)与多个区域相连接。
· OL(LSDB Overload):过载标志位。表示本路由器因内存不足而导致LSDB不完整。其它路由器在得知这一信息后,就不会再利用这台路由器转发需要经过它传送的数据流,但到此路由器直连地址的报文仍然可以被转发。如图1-10所示,假设正常情况下Router A到Router C的报文都是经过Router B转发,但如果Router B的OL位置1,则Router A会认为Router B的路由不完整,从而将报文通过Router D、Router E转发给Router C,但到Router B直连地址的报文不受影响。
· IS Type:生成LSP的路由器的类型。
时序报文SNP(Sequence Number PDUs)用于确认邻居之间最新接收的LSP,作用类似于确认(Acknowledge)报文,但更有效。
SNP包括CSNP(Complete SNP,全时序报文)和PSNP(Partial SNP,部分时序报文),进一步又可分为Level-1 CSNP、Level-2 CSNP、Level-1 PSNP和Level-2 PSNP。
CSNP包括LSDB中所有LSP的摘要信息,从而可以在相邻路由器间保持LSDB的同步。在广播网络上,CSNP由DIS定期发送(缺省的发送周期为10秒);在点到点链路上,CSNP在邻居关系建立时会发送,只发送一次。
CSNP的报文格式如图1-11所示(浅蓝色部分是通用报文头)。
PSNP只列举最近收到的一个或多个LSP的序号,它能够一次对多个LSP进行确认。当发现LSDB不同步时,也用PSNP来请求邻居发送新的LSP。
PSNP的报文格式如图1-12所示:
PDU中的变长字段部分是多个CLV(Code-Length-Value)三元组。其格式如图1-13所示:
不同PDU类型所包含的CLV是不同的,如表1-2所示。
表1-2 PDU类型和包含的CLV名称
CLV Code |
名称 |
所应用的PDU类型 |
1 |
Area Addresses |
IIH、LSP |
2 |
IS Neighbors(LSP) |
LSP |
4 |
Partition Designated Level-2 IS |
L2 LSP |
6 |
IS Neighbors(MAC Address) |
LAN IIH |
7 |
IS Neighbors(SNPA Address) |
LAN IIH |
8 |
Padding |
IIH |
9 |
LSP Entries |
SNP |
10 |
Authentication Information |
IIH、LSP、SNP |
128 |
IP Internal Reachability Information |
LSP |
129 |
Protocols Supported |
IIH、LSP |
130 |
IP External Reachability Information |
L2 LSP |
131 |
Inter-Domain Routing Protocol Information |
L2 LSP |
132 |
IP Interface Address |
IIH、LSP |
其中,Code值从1到10的CLV在ISO 10589中定义(有2类未在上表中列出),其它几种CLV在RFC 1195中定义。
为了方便管理,提高控制效率,IS-IS支持多进程和多实例特性。多进程允许为一个指定的IS-IS进程关联一组接口,从而保证该进程进行的所有协议操作都仅限于这一组接口。这样,就可以实现一台路由器有多个IS-IS协议进程,每个进程负责唯一的一组接口。
对于支持VPN的路由器,每个IS-IS进程都与一个指定的VPN实例相关联。这样,所有附加到该进程的接口都应与该进程相关联的VPN实例相关联。
IS-IS可以将需要备份的数据从主用主控板备份到备用主控板。当主用主控板出现故障时,备用主控板都会接替工作,从而保证IS-IS不受影响,保持正常工作。
IS-IS支持两种热备份方式:
· NSR(Non-stop Routing,不间断路由):备份所有IS-IS数据,主备倒换后,IS-IS可以立即工作,保持平稳运行。
· GR(Graceful Restart,平滑重启):只备份IS-IS配置信息,发生主备倒换时,IS-IS进行GR,重新向邻居发送邻接请求,同步LSDB数据库。
GR是一种在协议重启或主备倒换时保证转发业务不中断的机制。GR有两个角色:
· GR Restarter:发生协议重启或主备倒换事件且具有GR能力的设备。
· GR Helper:和GR Restarter具有邻居关系,协助完成GR流程的设备。
基于IS-IS的GR Restarter进行协议重启后,为了与其IS-IS邻居重新同步链路状态数据库,它必须完成下列两项任务:
· 在不改变邻接关系的前提下,重新获取网络中的有效IS-IS邻居信息;
· 重新获取网络链路状态数据库的内容。
IS-IS协议重启完毕后,GR Restarter会立即向邻接的GR Helper发送一个IS-IS GR信号。这样,IS-IS邻居就不会复位与其的邻居关系。在收到其IS-IS邻居的响应后,GR Restarter会重新恢复与其的邻居关系列表。
邻居关系重新建立后,GR Restarter与其所有具备GR感知能力的IS-IS邻居之间同步数据库,并交换路由信息。交换完成后,GR Restarter根据新的路由转发信息更新路由表和转发表,删除失效的路由,完成IS-IS协议收敛。
NSR(Non-stop Routing,不间断路由)是为了解决GR特性的一些缺陷和使用场景限制而实现的一种新特性。NSR将IS-IS链路状态信息从主用主控板备份到备用主控板,在发生主备倒换时不需要周边设备配合就可以完成链路状态的恢复和路由的重新生成。
IS-IS TE(Traffic Engineering,流量工程)支持建立和维护TE的LSP(Label Switched Path,标签交换路径)。
MPLS在构建CR LSP(Constraint-based Routed LSP,基于约束路由的LSP)时,需要了解本区域中所有链路的流量属性信息。它可以通过IS-IS来获取链路的流量工程信息。
IS-IS TE的详细配置请参见“MPLS配置指导”中的“MPLS TE”。
管理标记简化了对路由信息的管理,该标记用来携带关于IP地址前缀的管理信息,利用它可以控制对各种外部路由协议的引入,以及承载BGP的标准或扩展团体属性。
IS-IS通过泛洪LSP来宣告链路状态信息,由于一个LSP能够承载的信息量有限,IS-IS将对LSP进行分片。每个LSP分片由产生该LSP的结点或伪结点的SystemID、PseudnodeID(普通LSP为0,Pseudonode LSP为非0)、LSPNumber(LSP分片号)组合起来唯一标识,由于LSPNumber字段的长度是1字节,因此,IS-IS路由器可产生的分片数最大为256,限制了IS-IS路由器可以发布的链路信息量。
IS-IS LSP分片扩展特性可使IS-IS路由器生成更多的LSP分片,通过为路由器配置附加的虚拟系统、每个虚拟系统都可生成256个LSP分片(最多可配置50个虚拟系统),使得IS-IS路由器可最多生成13056个LSP分片。
(1) 常用术语
· 初始系统(Originating System):实际运行IS-IS协议的路由器。使能IS-IS LSP分片扩展功能后,可以为路由器配置附加的虚拟系统,“Originating System”指的是原来运行的、“真正”的IS-IS进程。
· 系统ID(System ID):初始系统的系统ID。
· 附加系统ID(Additional System ID):使能IS-IS LSP分片扩展功能后,为IS-IS路由器配置的附加的虚拟SystemID。每个附加系统ID都可以生成256个额外扩展的LSP分片。附加系统ID和系统ID一样,在整个路由域中必须唯一。
· 虚拟系统(Virtual System):由附加系统ID标识的系统,用来生成扩展LSP分片。
· 原始LSP(Original LSP):由初始系统生成的LSP,在其LSP ID中指定的System ID为初始系统的系统ID。
· 扩展LSP(Extended LSP):由虚拟系统生成的LSP,在其LSP ID中指定的System ID为附加系统ID。
通过配置附加系统ID,IS-IS路由器可以在扩展分片LSP中宣告更多的链路状态信息,可以把虚拟系统看作一个虚拟的路由器,扩展分片LSP就是由附加系统ID标识的虚拟系统发布的。
(2) 操作模式
IS-IS路由器运行LSP分片扩展特性的操作模式有两种:
· Mode-1:当网络中的部分路由器不支持LSP分片扩展特性时,使用工作模式1。在该模式下,初始系统与每个虚拟系统都建立邻居关系,且初始系统到虚拟系统的链路开销为0,因此,虚拟系统就好像网络中与初始系统相连的路由器,但只能通过初始系统才能到达虚拟系统,因此,不支持分片扩展特性的IS-IS路由器收到扩展分片LSP时无需做任何修改也能够正常工作,但是对通过虚拟系统发布的扩展LSP分片中的链路状态信息有所限制。
· Mode-2:当网络中所有路由器都支持LSP分片扩展特性时,推荐使用工作模式2。在该模式下,网络中所有IS-IS路由器都知道虚拟系统生成的LSP属于的初始系统,对虚拟系统发布的LSP扩展分片的链路状态信息没有限制。
LSP分片扩展特性的操作模式基于区域和路由层次配置,mode-1可以向前兼容,支持分片扩展特性的路由器能够与不支持分片扩展特性的路由器协同工作;mode-2要求处在同一区域且Level相同的路由器都支持分片扩展特性。
动态主机名交换机制是为了方便对IS-IS网络的维护和管理而引入的,它为IS-IS路由器提供了一种从主机名到System ID映射的服务。这个动态的主机名信息在LSP中以一个动态主机名CLV的形式发布。
这个机制同时还提供将主机名与广播网中的DIS相关联的服务,并将此信息通过伪节点的LSP以动态主机名CLV的形式发布出去。
在维护和管理中,使用主机名比使用System ID会更直观,也更容易记忆。配置此功能后,当在路由器上使用display命令显示IS-IS相关信息时,看到的是路由器的主机名,而不再是System ID。
关于BFD的介绍和基本功能配置,请参见“可靠性配置指导”中的“BFD”。
BFD(Bidirectional Forwarding Detection,双向转发检测)能够为IS-IS邻居之间的链路提供快速检测功能。当邻居之间的链路出现故障时,加快IS-IS协议的收敛速度。
与IS-IS相关的协议规范有:
· ISO 10589:ISO IS-IS Routing Protocol
· ISO 9542:ES-IS Routing Protocol
· ISO 8348:Ad2 Network Services Access Points
· RFC 1195:Use of OSI IS-IS for Routing in TCP/IP and Dual Environments
· RFC 2763:Dynamic Hostname Exchange Mechanism for IS-IS
· RFC 2966:Domain-wide Prefix Distribution with Two-Level IS-IS
· RFC 2973:IS-IS Mesh Groups
· RFC 3277:IS-IS Transient Blackhole Avoidance
· RFC 3358:Optional Checksums in ISIS
· RFC 3373:Three-Way Handshake for IS-IS Point-to-Point Adjacencies
· RFC 3567:Intermediate System to Intermediate System (IS-IS) Cryptographic Authentication
· RFC 3719:Recommendations for Interoperable Networks using IS-IS
· RFC 3786:Extending the Number of IS-IS LSP Fragments Beyond the 256 Limit
· RFC 3787:Recommendations for Interoperable IP Networks using IS-IS
· RFC 3784:IS-IS extensions for Traffic Engineering
· RFC 3847:Restart signaling for IS-IS
表1-3 IS-IS配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置IS-IS基本功能 |
使能IS-IS功能 |
必选 |
|
配置路由器类型和接口的链路邻接关系类型 |
可选 |
||
配置接口网络类型 |
可选 |
||
配置IS-IS路由信息控制 |
配置IS-IS链路度量值 |
可选 |
|
配置IS-IS路由优先级 |
可选 |
||
配置IS-IS最大等价路由条数 |
可选 |
||
配置IS-IS路由聚合 |
可选 |
||
配置IS-IS发布缺省路由 |
可选 |
||
配置IS-IS引入外部路由 |
可选 |
||
配置IS-IS路由过滤 |
可选 |
||
配置IS-IS路由渗透 |
可选 |
||
调整和优化IS-IS网络 |
配置Hello/CSNP报文发送时间间隔 |
可选 |
|
配置Hello报文失效数目 |
可选 |
||
配置DIS优先级 |
可选 |
||
禁止接口发送和接收IS-IS报文 |
可选 |
||
配置在PPP接口上取消建立邻接关系必须在同一网段的限制 |
可选 |
||
配置接口发送小型Hello报文 |
可选 |
||
配置LSP参数 |
可选 |
||
配置SPF参数 |
可选 |
||
配置优先级参数 |
可选 |
||
配置LSDB过载标志位 |
可选 |
||
配置IS-IS主机名映射 |
可选 |
||
配置邻接状态输出 |
可选 |
||
提高IS-IS网络的安全性 |
配置邻居关系验证 |
可选 |
|
配置区域验证 |
可选 |
||
配置路由域验证 |
可选 |
||
配置IS-IS GR |
可选 |
||
配置IS-IS NSR |
可选 |
||
配置IS-IS快速重路由 |
可选 |
||
使能IS-IS的Trap功能 |
可选 |
||
配置IS-IS和MIB绑定 |
可选 |
||
配置IS-IS与BFD联动 |
可选 |
在配置IS-IS基本功能之前,需完成以下任务:
· 配置链路层协议
· 配置接口的网络层地址,使相邻节点网络层可达
表1-4 使能IS-IS功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动IS-IS路由进程,进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
必选 缺省情况下,系统没有运行任何IS-IS进程 |
配置网络实体名称 |
network-entity net |
必选 缺省情况下,没有配置NET |
退回至系统视图 |
quit |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置指定接口上使能IS-IS路由进程 |
isis enable [ process-id ] |
必选 缺省情况下,IS-IS功能在接口上处于关闭状态,且没有任何IS-IS进程与其关联 |
建议用户在配置IS-IS时配置路由器类型:
· 如果只有一个区域,建议用户将所有路由器设置为Level-1或者Level-2,因为没有必要让所有路由器同时维护两个完全相同的LSDB。
· 在IP网络中使用时,建议将所有的路由器都设置为Level-2,这样有利于以后的扩展。
当路由器类型是Level-1(Level-2)时,接口的链路邻接类型只能为Level-1(Level-2),当路由器类型是Level-1-2时,接口的链路邻接类型缺省为Level-1-2,当路由器只需要与对端建立Level-1(Level-2)的邻接关系时,可以将接口的链路邻接类型配置为Level-1(Level-2)来限制接口上所能建立的邻接关系,如Level-1的接口只能建立Level-1的邻接关系,Level-2的接口只能建立Level-2的邻接关系,让接口只发送和接收Level-1(Level-2)类型的Hello报文,既减少了路由器的处理时间又节省了带宽。
表1-5 配置路由器类型和接口的链路邻接关系类型
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动IS-IS路由进程,进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置路由器类型 |
is-level { level-1 | level-1-2 | level-2 } |
可选 缺省情况下,IS-IS路由器的类型为level-1-2 |
退回至系统视图 |
quit |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口的链路邻接关系类型 |
isis circuit-level [ level-1 | level-1-2 | level-2 ] |
可选 缺省情况下,接口既可以建立Level-1的邻接关系,也可以建立Level-2的邻接关系 |
接口网络类型不同,其工作机制也略微不同,如:当网络类型为广播网时,需要选举DIS、通过泛洪CSNP报文来实现LSDB同步;当网络类型为P2P时,不需要选举DIS,LSDB同步机制也不同。
当只有两台路由器接入到同一个广播网时,通过将接口网络类型配置为P2P可以使IS-IS按照P2P而不是广播网的工作机制运行,避免DIS选举以及CSNP的泛洪,即可以节省网络带宽,又可以加快网络的收敛速度。
表1-6 配置接口网络类型
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口的网络类型为P2P |
isis circuit-type p2p |
可选 缺省情况下,路由器接口网络类型根据物理接口决定,交换机VLAN接口网络类型为Broadcast |
仅当接口的网络类型为广播网,且只有两台路由器接入该广播网时才需要进行该项配置,并且两台路由器都要进行此项配置。
在配置IS-IS路由信息控制之前,需完成以下任务:
· 配置接口的网络层地址,使相邻节点网络层可达
· 使能IS-IS功能
IS-IS有三种方式来配置接口的链路度量值,按照选择顺序依次为:
· 在接口视图下为指定接口配置的链路度量值。
· 在系统视图下全局配置的链路度量值,该配置将对该IS-IS进程关联的接口同时生效。
· 自动计算度量值:将根据带宽参考值自动计算接口的链路度量值。当开销值的类型为wide或wide-compatible时,可以根据公式“开销=(参考值÷带宽)×10”计算接口的链路度量值。当开销值类型为其他类型时,具体情况如下:接口带宽≤10Mbps时,值为60;接口带宽≤100Mbps时,值为50;接口带宽≤155Mbps时,值为40;接口带宽≤622Mbps时,值为30;接口带宽≤2500Mbps时,值为20;接口带宽>2500Mbps时,值为10。
如果没有采用上述三种方式中的任一种进行度量值的配置,接口的链路度量值将取系统设置的缺省值10。
表1-7 接口配置IS-IS链路度量值
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置IS-IS开销值的类型 |
cost-style { narrow | wide | wide-compatible | { compatible | narrow-compatible } [ relax-spf-limit ] } |
可选 缺省情况下,IS-IS开销值的类型为narrow |
退回至系统视图 |
quit |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置IS-IS接口的链路度量值 |
isis [ ipv6-unicast ] cost value [ level-1 | level-2 ] |
必选 缺省情况下,没有配置IS-IS接口的链路度量值 |
表1-8 全局配置IS-IS链路度量值
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置IS-IS开销值的类型 |
cost-style { narrow | wide | wide-compatible | { compatible | narrow-compatible } [ relax-spf-limit ] } |
可选 缺省情况下,IS-IS开销值的类型为narrow |
全局配置IS-IS的链路度量值 |
circuit-cost value [ level-1 | level-2 ] |
必选 缺省情况下,没有全局配置IS-IS的链路度量值 |
表1-9 配置IS-IS自动计算链路度量值
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置IS-IS开销值的类型 |
cost-style { wide | wide-compatible } |
必选 缺省情况下,IS-IS开销值的类型为narrow |
使能自动计算接口链路度量值功能 |
auto-cost enable |
必选 缺省情况下,自动计算接口链路度量值功能处于关闭状态 |
配置IS-IS自动计算链路度量值时依据的带宽参考值 |
bandwidth-reference value |
可选 缺省情况下,带宽参考值为100Mbps |
一台路由器可同时运行多个路由协议,当多个路由协议都发现到同一目的地的路由时,将选用高优先级路由协议所发现的路由。以下配置用来为IS-IS路由设置优先级,使用路由策略可以为特定的路由设置特定的优先级,路由策略的相关知识请参见“三层技术-IP路由配置指导”中的“路由策略”。
表1-10 配置IS-IS路由优先级
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置IS-IS路由优先级 |
preference { route-policy route-policy-name | preference } * |
必选 缺省情况下,IS-IS路由优先级为15 |
如果到一个目的地有几条开销相同的路径,可以通过等价路由负载分担来提高链路利用率。该配置用以设置IS-IS协议的最大等价路由条数。
表1-11 配置IS-IS最大等价路由条数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置在负载分担方式下IS-IS最大等价路由条数 |
maximum load-balancing number |
必选 缺省情况下,在负载分担方式下IS-IS最大等价路由条数和系统工作模式相关。系统工作模式为标准模式、增强L2模式、增强L3模式或高级模式时,最大等价路由条数为32;当系统工作模式为支持混插的标准模式、支持混插的增强L2模式、支持混插的增强L3模式或支持混插的高级模式时,最大等价路由条数为16。关于系统工作模式的详细介绍,请参见“基础配置指导”中的“设备管理” |
通过配置路由聚合,可以减小路由表规模,还可以减少本路由器生成的LSP报文大小和LSDB的规模。其中,被聚合的路由可以是IS-IS协议发现的路由,也可以是引入的外部路由。
表1-12 配置IS-IS路由聚合
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置聚合路由 |
summary ip-address { mask | mask-length } [ avoid-feedback | generate_null0_route | tag tag | [ level-1 | level-1-2 | level-2 ] ] * |
必选 缺省情况下,没有对路由进行聚合 |
· 聚合后路由的开销值取所有被聚合路由中最小的开销值。
· 路由器只对本地生成的LSP中的路由进行聚合。
对于运行IS-IS的路由器来说,无法引入缺省路由,因此也无法通过将目的地为0.0.0.0/0的路径信息(即缺省路由)通过LSP发布给其它路由器,可以通过配置发布一条缺省路由,将目的地为0.0.0.0/0的路径信息通过LSP发布出去,其它同级别的路由器中将在自己的路由表中新增一条缺省路由。
表1-13 配置IS-IS发布缺省路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置IS-IS发布缺省路由 |
default-route-advertise [ route-policy route-policy-name | [ level-1 | level-1-2 | level-2 ] ] * |
必选 缺省情况下,此功能关闭 |
该配置产生的缺省路由只被发布到同级别的路由器。通过使用路由策略,可以强制IS-IS只在路由表中有匹配的路由项时才生成缺省路由。
IS-IS将其它路由协议发现的路由当作外部路由处理。在引入其它协议路由时,可指定引入路由的缺省开销。还可以通过配置对引入路由进行过滤。
在实际组网环境中,每台路由器的性能即处理能力不同,如果在处理能力强的高端设备上引入大量外部路由,那么可能会对网络上其它低端设备的性能造成较大的冲击,网络管理员可以通过配置支持的最大引入路由条数,限制引入外部路由的条数,从而最终限制发布路由的数量。
表1-14 配置IS-IS引入外部路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
从其它路由协议或其它IS-IS进程引入路由信息 |
import-route protocol [ process-id | all-processes | allow-ibgp ] [ cost cost | cost-type { external | internal } | [ level-1 | level-1-2 | level-2 ] | route-policy route-policy-name | tag tag ] * |
必选 缺省情况下,IS-IS不引入其它协议的路由信息 如果import-route命令中不指定引入的级别,则默认为引入路由到Level-2路由表中 |
配置引入Level1/Level2的IPv4路由最大条数 |
import-route limit number |
可选 |
只能引入路由表中状态为active的路由,是否为active状态可以通过display ip routing-table protocol命令来查看。
路由过滤就是通过对ACL、IP地址前缀列表或路由策略等规则的引用对路由信息的生成进行更加严格的控制,包括过滤通过接收到的LSP计算出来的路由信息和过滤从其它路由协议引入的路由信息。
运行IS-IS的路由器会把从邻居收到的LSP保存到自己维护的链路状态数据库中,并使用SPF算法计算出以自己为根的最短路径树,并把计算好的路由信息加入到IS-IS路由表中。
通过ACL、IP地址前缀列表或路由策略可以对计算出来的将要加入到IS-IS路由表中的路由进行过滤,满足条件则加入到IS-IS路由表中,否则将不能加入到IS-IS路由表中。
表1-15 过滤通过接收到的LSP计算出来的路由信息
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
过滤通过接收到的LSP计算出来的路由信息 |
filter-policy { acl-number | ip-prefix ip-prefix-name | route-policy route-policy-name } import |
必选 缺省情况下,IS-IS不对通过接收到的LSP 计算出来的路由信息进行过滤 |
IS-IS可以从其它路由协议或其它IS-IS进程引入路由信息,把它直接加入到IS-IS的路由表中并通过LSP发布出去。
通过ACL、IP地址前缀列表或路由策略可以对引入的路由信息进行过滤,满足条件加入到IS-IS路由表中,否则将不能加入到IS-IS路由表中,没有加入IS-IS路由表的路由将不会通过LSP发布出去。
表1-16 过滤引入路由信息
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
过滤引入路由信息 |
filter-policy { acl-number | ip-prefix ip-prefix-name | route-policy route-policy-name } export [ protocol [ process-id ] ] |
必选 缺省情况下,IS-IS不对引入的路由信息进行过滤 |
通过IS-IS路由渗透功能,Level-1-2路由器可以将它所知道的其它Level-1区域路由信息和Level-2区域路由信息发布到Level-1路由器。
表1-17 配置IS-IS路由渗透
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
使能IS-IS路由渗透 |
import-route isis level-2 into level-1 [ filter-policy { acl-number | ip-prefix ip-prefix-name | route-policy route-policy-name } | tag tag ] * |
必选 缺省情况下,Level-2区域的路由信息不向Level-1区域发布 |
将Level-2区域的路由信息引入到Level-1区域时,需要注意:
· 如果指定了过滤策略,则只有通过过滤的路由才能够被发布到Level-1区域中。
· 如果要通过路由策略对从Level-2区域引入到Level-1区域的路由信息进行过滤,必须在import-route isis level-2 into level-1命令中同时指定要应用的路由策略,否则路由过滤将不会生效;其它路由策略,如在接收或引入路由时指定的路由策略对路由渗透无效。
在配置IS-IS调整和优化之前,需完成以下任务:
· 配置接口的网络层地址,使相邻节点网络层可达
表1-18 配置Hello/CSNP报文发送时间间隔
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置Hello报文的发送时间间隔 |
isis timer hello seconds |
可选 缺省情况下,Hello报文的发送时间间隔为10秒 |
配置DIS在广播网络上发送CSNP报文的时间间隔 |
isis timer csnp seconds [ level-1 | level-2 ] |
可选 缺省情况下,CSNP报文的发送时间间隔为10秒 |
DIS发送Hello报文的时间间隔是isis timer hello设置的时间的1/3。
当路由器在抑制时间内没有收到来自邻居的Hello报文时将宣告邻居失效,抑制时间等于Hello报文失效数目与Hello报文发送时间间隔的乘积,通过设置Hello报文失效数目和Hello报文的发送时间间隔,可以调整抑制时间,即路由器要花多长时间能够监测到链路已经失效并重新进行路由计算。
表1-19 配置Hello报文失效数目
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置Hello报文失效数目 |
isis timer holding-multiplier value [ level-1 | level-2 ] |
可选 缺省情况下,Hello报文失效数目为3 |
在广播网络中,IS-IS需要在所有的路由器中选举一个路由器作为DIS。
对于IS-IS,Level-1和Level-2的DIS是分别选举的,可以为不同级别的DIS选举设置不同的优先级。优先级数值越高,被选中的可能性就越大。如果所有路由器的DIS优先级相同,将会选择MAC地址最大的路由器作为DIS。
表1-20 配置DIS优先级
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口的DIS优先级 |
isis dis-priority value [ level-1 | level-2 ] |
可选 缺省情况下,接口的DIS优先级为64 |
通过禁止接口发送和接收IS-IS报文,禁止了该接口与相邻路由器建立邻居关系,但仍然可以把该接口直连网络的路由信息放在LSP中从其它接口宣告出去。由于不用建立邻居关系,可以节省带宽和路由器处理时间,同时,其它路由器也可以知道到达该接口直连网络的路由信息。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
禁止接口发送和接收IS-IS报文 |
isis silent |
必选 缺省情况下,接口既发送也接收IS-IS报文 |
当网络类型为点到点链路时,IS-IS将检查Hello报文的源地址是否与接收Hello报文的接口在同一网段,如果不在同一网段,将丢弃接收到的Hello报文,无法与对端路由器建立邻接关系。
当接口封装PPP协议时,对端的IP地址与当前接口可以不在同一网段,在这种情况下,可以配置取消与对端路由器建立邻接关系必须在同一网段的限制,即在PPP协议接口上接收Hello报文时,如果对端的IP地址与当前接口不在同一网段也可以建立邻居关系。
表1-22 配置在PPP接口上取消建立邻接关系必须在同一网段的限制
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
interface interface-type interface-number |
- |
|
配置在PPP接口上取消建立邻接关系必须在同一网段的限制 |
isis peer-ip-ignore |
必选 该命令只能在协议类型为PPP的接口上配置 缺省情况下,在协议类型为PPP的接口接收ISIS Hello报文时检查对端的IP地址,即要求双方必须在同一网段 |
IS-IS协议报文直接封装在链路层报文头后面,无法实现协议报文在IP层的自动分片。因此,运行IS-IS的路由器与对端路由器建立邻居关系时,会发送达到链路MTU大小的Hello报文,双方进行MTU大小的通信协商,来保证建立邻居双方接口MTU的一致性,从而避免双方MTU大小不一致导致较小的PDU可以通过,但是较大的PDU无法通过。
当邻居路由器双方MTU大小一样的时候,为了避免发送过大的Hello报文浪费带宽,可以配置接口发送不加入填充CLV的小型Hello报文。
表1-23 配置接口发送小型Hello报文
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口发送不加入填充CLV的小型Hello报文 |
isis small-hello |
必选 缺省情况下,接口发送标准Hello报文 |
(1) 配置LSP最大生存时间
每一个LSP都包含一个最大生存时间,当LSP驻留在LSDB中时,随着时间的推移,每一个LSP的最大生存时间将逐渐递减至0,当LSP的最大生存时间为0时,IS-IS将删掉这个过期的LSP。用户可根据网络规模对LSP的最大生存时间进行调整。
表1-24 配置LSP最大生存时间
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置LSP最大生存时间 |
timer lsp-max-age seconds |
可选 缺省情况下,LSP最大生存时间为1200秒 |
(2) 配置LSP生成时间间隔
每一个LSP都有一个最大生存时间,每个LSP都会随着时间的推移而被逐渐老化,因此每个路由器必须定时刷新自己生成的LSP,以防止LSP的最大生存时间减小至0;并通过定时刷新LSP以使整个区域中的LSP保持同步。用户可对LSP的刷新周期进行配置,提高LSP的刷新频率可以加快网络收敛速度,但是将占用更多的带宽。
除了定时刷新可以重新生成LSP外,当网络拓扑发生变化,如邻居路由器up或down,接口Metric值、System ID或区域地址发生变化等,将触发路由器重新生成LSP。为了防止网络拓扑频繁变化而导致LSP频繁重新生成,用户可配置LSP生成时间间隔,以抑制网络变化频繁导致占用过多的带宽资源和路由器资源。
表1-25 配置LSP生成时间间隔
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置LSP刷新周期 |
timer lsp-refresh seconds |
可选 缺省情况下,LSP刷新周期为900秒 |
配置LSP生成时间间隔 |
timer lsp-generation maximum-interval [ initial-interval [ second-wait-interval ] ] [ level-1 | level-2 ] |
可选 缺省情况下,LSP生成时间间隔为2秒 |
(3) 配置LSP发送时间间隔
当LSDB的内容发生变化时,IS-IS将把发生变化的LSP扩散出去,用户可以对LSP的最小发送时间间隔进行调节。
在点到点链路上,发送的LSP需要得到对端的应答,否则将在指定的时间间隔内重新发送该LSP,重传时间间隔决定了当一个LSP在P2P链路上丢失时它被重传需要等待的时间。
表1-26 配置LSP发送时间间隔
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置发送LSP的最小时间间隔以及一次可以最多发送的LSP的数目 |
isis timer lsp time [ count count ] |
可选 缺省情况下,LSP的发送最小时间间隔为33毫秒,一次可以最多发送的LSP的数目为5 |
配置LSP在在点到点链路上的重传时间间隔 |
isis timer retransmit seconds |
可选 缺省情况下,LSP报文在在点到点链路上的重传间隔为5秒 |
请合理配置LSP发送时间间隔,当存在大量IS-IS接口或大量路由时,会发送大量的LSP报文,导致LSP风暴的出现。
IS-IS协议报文直接封装在链路层报文头后面,无法实现协议报文在IP层的自动分片。
为了不影响LSP的正常扩散,要求同一区域内所有IS-IS路由器生成LSP报文的最大长度不能超过该区域内所有路由器IS-IS接口MTU的最小值。
如果IS-IS运行的区域中各IS-IS接口的MTU值不一致,建议用户对IS-IS生成LSP报文的最大长度进行配置,将同一区域内所有IS-IS路由器生成LSP报文的最大长度配置为该区域内所有路由器IS-IS接口MTU的最小值。如果不进行配置,系统将根据当前设备IS-IS接口最小MTU值的变化而自动重启IS-IS进程动态调整生成LSP报文的最大长度,会在一定程度上影响业务的正常运行。
表1-27 配置LSP报文长度
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置生成的Level-1 LSP和Level-2 LSP的最大长度 |
lsp-length originate size [ level-1 | level-2 ] |
可选 缺省情况下,生成的Level-1 LSP和Level-2 LSP的最大长度为1497字节 |
配置可以接收LSP的最大长度 |
lsp-length receive size |
可选 缺省情况下,接收的LSP报文的最大长度为1497字节 |
通过使能LSP快速扩散功能,当LSP发生变化而导致SPF重新计算时,在SPF重新计算前,把导致SPF重新计算的LSP快速扩散出去,将大大缩短路由器之间由于进行LSP同步而导致LSDB不一致的时间,提高全网的快速收敛性能。
表1-28 配置LSP快速扩散功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置LSP快速扩散功能 |
flash-flood [ flood-count flooding-count | max-timer-interval flooding-interval | [ level-1 | level-2 ] ] * |
必选 缺省情况下,禁止LSP快速扩散功能 |
表1-29 配置LSP分片扩展功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
使能IS-IS进程的LSP分片扩展功能,并配置LSP分片扩展特性的工作模式 |
lsp-fragments-extend [ [ level-1 | level-1-2 | level-2 ] | [ mode-1 | mode-2 ] ] * |
必选 缺省情况下,LSP分片扩展功能处于关闭状态 |
配置IS-IS进程的虚拟系统ID |
virtual-system virtual-system-id |
必选 缺省情况下,没有配置IS-IS进程的虚拟系统ID |
使能LSP分片扩展功能时需要注意:
· IS-IS进程使能分片扩展功能后,使能该IS-IS进程的所有接口的MTU不能小于512,否则LSP分片扩展功能将不会生效。
· 为了使路由器生成扩展LSP分片,应至少配置一个虚拟System ID。一个IS-IS进程最多可配置50个虚拟System ID。
在NBMA网络中,如果网络联通程度较高、网络中存在多条点到点链路时,可能会由于LSP的重复扩散而导致带宽的浪费。为了避免这种情况的发生,可以将一些接口配置属于一个Mesh-Group,也可以配置接口阻塞。
· 将设备的几个接口配置属于一个Mesh-Group后,如果从其中的一个接口接收到一个新的LSP,IS-IS只把该LSP扩散到没有配置Mesh-Group的接口以及与当前接口不属于同一个Mesh-Group的接口,而不会扩散到同Mesh-Group中的其它接口。
· 配置接口阻塞后,只有该接口从邻居路由器收到要求发送LSP的请求时才会发送LSP,否则不会主动向外发送LSP。
设置接口加入Mesh-Group或对接口进行阻塞时应注意保留一定的冗余度,以免由于链路故障影响LSP报文的正常扩散。
表1-30 限制LSP泛洪
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口属于Mesh-Group |
isis mesh-group mesh-group-number |
二者必选其一 缺省情况下,接口不属于任何Mesh-Group且接口不阻塞 |
配置接口阻塞 |
isis mesh-group mesh-blocked |
Mesh-Group只对点到点类型链路的接口起作用。
IS-IS协议中,当LSDB发生变化时需要进行路由计算。频繁的路由计算会占用大量的系统资源,导致系统性能下降,而周期性地计算SPF可以在一定程度上提高效率,计算SPF的时间间隔可以由用户根据需要进行配置。
表1-31 配置SPF参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置IS-IS路由计算时间间隔 |
timer spf maximum-interval [ initial-interval [ second-wait-interval ] ] |
可选 缺省情况下,IS-IS路由计算的时间间隔为10秒 |
IS-IS协议中,当网络拓扑发生变化时,路由要重新收敛。路由收敛的优先级可以由用户根据需要进行配置。
表1-32 配置优先级参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置指定IS-IS路由为高优先级 |
priority high { ip-prefix prefix-name | tag tag-value } |
可选 缺省情况下,没有配置IS-IS路由为高优先级,即不能快速收敛 IS-IS主机路由的收敛优先级低于高优先级,而高于其他IS-IS路由的收敛优先级 |
通过配置LSDB过载标志位,IS-IS将在其发送的LSP报文中把OL位置位,以通知其它路由器当前路由器发生了问题,无法正确的执行路由选择和报文转发。
当运行IS-IS的路由器因为内存不足或其它原因无法记录完整的LSDB时,将会导致区域路由的计算错误,在故障排除过程中,通过给怀疑有问题的路由器设置过载标志位,可以将其从IS-IS网络中暂时隔离,便于进行故障定位。
表1-33 配置LSDB过载标志位
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
设置过载标志位 |
set-overload [ on-startup [ [ start-from-nbr system-id [ timeout1 [ nbr-timeout ] ] ] | timeout2 ] [ allow { external | interlevel } * ] |
必选 缺省情况下,不设置过载标志位 |
IS-IS用System ID来在区域内唯一标识主机或路由器,System ID长度固定为6字节。当网络管理员检查IS-IS邻居关系的状态、IS-IS路由表以及LSDB中的内容时,点分十进制表示的System ID以及LSP标识符不够直观,查看也不方便。
主机名映射提供了一种将System ID映射到主机名的服务,运行IS-IS的路由器维护一个主机名到System ID的映射关系表,在维护和管理以及网络故障诊断时,使用主机名比使用System ID会更直观,也更容易记忆。
可以通过静态配置和动态生成两种方式生成和维护此关系映射表,需要注意的是:
· 只有使能动态主机名映射功能后,在路由器上使用display isis lsdb命令显示IS-IS链路状态数据库时,才可以看到路由器的主机名而不是System ID。
· 倘若网络中的一台路由器使能了动态主机名映射功能且在当前路由器也通过静态方式为那台路由器配置了主机名,动态配置的主机名将覆盖当前路由器为其静态配置的主机名称。
网络管理员为远端IS手工配置System ID与主机名称的映射关系。
表1-34 配置IS-IS静态主机名映射
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
为远端IS配置System ID与主机名称的映射关系 |
is-name map sys-id map-sys-name |
必选 每个System ID只能对应一个主机名称 |
静态配置关系映射表要求网络中的每一台路由器为其它路由器配置System ID和主机名的映射关系,当网络中路由器数目增多时,网络中每新增一台路由器或修改某台路由器的主机名映射关系,其它路由器都要做相应配置,增加了维护工作量。
使能动态主机名映射功能后,IS-IS网络中的每台路由器只需要在本机上配置自己的主机名称即可,配置的主机名称将通过动态主机名CLV发布出去,最后IS-IS网络中使能动态主机名映射功能的路由器都将收集到其它路由器System ID与主机名称的映射关系并生成映射表。
同时还可以为广播网中的DIS配置局域网名称来代表这个广播网中的伪节点,便于网络管理员查看LSDB内容时判断LSP是由哪个DIS产生的。
表1-35 配置IS-IS动态主机名映射
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
使能动态主机名映射功能并为当前路由器配置主机名称 |
is-name sys-name |
必选 缺省情况下,动态主机名映射功能处于关闭状态且没有为当前路由器配置主机名称 |
退回至系统视图 |
quit |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置本地局域网名称 |
isis dis-name symbolic-name |
可选 缺省情况下,没有配置本地局域网名称 该命令只有在使能了动态主机名进程的路由器上有效。该命令在点到点链路的接口上无效 |
表1-36 配置邻接状态输出
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
打开邻接状态输出开关 |
log-peer-change |
必选 缺省情况下,邻接状态输出开关处于打开状态 |
当打开邻接状态输出开关后,IS-IS邻接状态的变化会输出到配置终端上,直至邻接状态输出开关被关闭。
在安全性要求较高的网络中,可以通过配置IS-IS验证来提高IS-IS网络的安全性。IS-IS验证特性分为邻居关系的验证和区域或路由域的验证。
在配置IS-IS验证功能之前,需完成以下任务:
· 配置接口的网络层地址,使相邻节点网络层可达
· 使能IS-IS功能
配置邻居关系验证后,验证密码将会按照设定的方式封装到Hello报文中,并对接收到的Hello报文进行验证密码的检查,通过检查才会形成邻居关系,否则将不会形成邻居关系,用以确认邻居的正确性和有效性,防止与无法信任的路由器形成邻居。
两台路由器要形成邻居关系必须配置相同的验证方式和验证密码。
表1-37 配置邻居关系验证
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置邻居关系验证方式和验证密码 |
isis authentication-mode { md5 | simple } [ cipher ] password [ level-1 | level-2 ] [ ip | osi ] |
必选 缺省情况下,接口没有配置邻居关系验证,既不会验证收到的Hello报文,也不会把验证密码插入到Hello报文中 |
· 必须先使用isis enable命令使能该接口才能进行参数level-1和level-2的配置。
· 如果没有指定level-1或level-2参数,将同时为level-1和level-2的Hello报文配置验证方式及验证密码。
· 如果没有指定ip或osi参数,将检查Hello报文中OSI的相应字段的配置内容。
通过配置区域验证,可以防止将从不可信任的路由器学习到的路由信息加入到本地Level-1的LSDB中。
配置区域验证后,验证密码将会按照设定的方式封装到Level-1报文(LSP、CSNP、PSNP)中,并对收到的Level-1报文进行验证密码的检查。
同一区域内的路由器必须配置相同的验证方式和验证密码。
表1-38 配置区域验证
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置区域验证方式和验证密码 |
area-authentication-mode { md5 | simple } password [ ip | osi ] |
必选 缺省情况下,系统没有配置区域验证,既不会验证收到的Level-1报文,也不会把验证密码插入到Level-1报文中 |
通过配置路由域验证,可以防止将不可信的路由信息注入当前路由域。
配置路由域验证后,验证密码将会按照设定的方式封装到Level-2报文(LSP、CSNP、PSNP)中,并对收到的Level-2报文进行验证密码的检查。
所有骨干层(Level-2)路由器必须配置相同的验证方式和验证密码。
表1-39 配置路由域验证
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置路由域验证方式和验证密码 |
domain-authentication-mode { md5 | simple } [ cipher ] password [ ip | osi ] |
必选 缺省情况下,系统没有配置路由域验证,既不会验证收到的Level-2报文,也不会把验证密码插入到Level-2报文中 |
IS-IS GR特性与IS-IS NSR特性互斥,不能同时配置。
用户在IRF环境下,进行成员设备间的主备倒换,需要首先配置irf mac-address persistent always命令,避免主备倒换后接口MAC地址变化,导致ISIS GR失败。
在普通的路由协议重启的情况下,路由器与其它邻居的邻接关系被拆除。此时会引起网络暂时的中断。
基于IS-IS的GR可以解决这个问题:重启路由器将重启状态通知给邻居,允许邻居重新建立邻接关系而不终止连接。
基于IS-IS的GR特性有以下几个特点:
· 发生了协议重启时,应用了GR特性的设备可重新向邻居发送连接请求,而不会终止邻接关系。
· 在路由协议重启完毕后,邻居协助当前设备完成路由信息同步,在尽量短的时间内使该设备的各种路由信息恢复到重启前的状态。通过GR,在整个协议重启过程中,网络路由和转发保持高度稳定。
· 对于第一次启动的路由器,在LSP报文中设置OL(过载标记位)直到数据库同步,通知其它路由器当前路由器发生了问题,无法正确的执行路由选择和报文转发。
分别在作为GR Restarter和GR Helper的设备上进行以下配置。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能IS-IS路由进程,进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
必选 缺省情况下,系统没有运行IS-IS |
使能IS-IS协议的GR能力 |
graceful-restart |
必选 缺省情况下,IS-IS协议的GR能力处于关闭状态 |
配置IS-IS协议的GR重启间隔时间 |
graceful-restart interval timer |
可选 缺省情况下,IS-IS协议的GR重启间隔时间为300秒 重启间隔时间用来指定路由器的重启时间。重启间隔时间在IS-IS的Hello PDU中设置为保持时间,这样在该路由器重启的时间内邻居不会断掉与其的邻接关系 |
配置重启时抑制SA位 |
graceful-restart suppress-sa |
可选 缺省情况下,重启时不抑制SA位 配置重启时抑制SA(Suppress-Advertisement)位,即在重启路由器的Hello PDU中设置抑制发布SA位,重启路由器的邻居将继续发布该邻接关系 |
IS-IS NSR特性与IS-IS GR特性互斥,不能同时配置。
用户在IRF环境下,进行成员设备间的主备倒换,需要首先配置irf mac-address persistent always命令,避免主备倒换后接口MAC地址变化,导致ISIS NSR失败。
GR特性存在一些缺陷,如主备倒换期间需要周边设备配合才能完成路由信息的恢复,在网络应用中有一定的限制;而且在主备倒换后IS-IS进程重新学习所有的路由,如果在主备倒换期间拓扑发生变化,删除的路由不能及时更新,容易造成黑洞路由。
NSR就是为了解决GR特性的一些缺陷和使用场景限制而实现的一种新特性。NSR将IS-IS链路状态信息从主用主控板备份到备用主控板,在发生主备倒换时不需要周边设备配合就可以完成链路状态的恢复和路由的重新生成。
表1-41 配置IS-IS NSR
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
使能IS-IS协议的NSR功能 |
non-stop-routing |
必选 缺省情况下,IS-IS协议的NSR功能处于关闭状态 |
配置NSR的时间间隔 |
non-stop-routing interval interval-value |
可选 缺省情况下,NSR的时间间隔为0秒,即没有配置NSR的时间间隔 |
· 如果配置了NSR的时间间隔,则邻居关系最大保持时间应该不小于该时间间隔,以保证主备倒换期间邻居关系不超时,直到完成主备倒换。
· 如果没有配置NSR的时间间隔,则邻居关系最大保持时间取决于接口下配置的时间。
· 请根据实际组网环境配置合适的NSR的时间间隔。
· IS-IS支持快速重路由功能不能与IS-IS支持BFD监测同时使用,否则可能导致快速重路由功能失效。
· IS-IS支持快速重路由自动计算备份下一跳功能与IS-IS TE特性互斥。
当IS-IS网络中的链路或某台路由器发生故障时,需要通过故障链路或故障路由器传输才能到达目的地的报文将会丢失或产生路由环路,数据流量将会中断,直到IS-IS根据新的拓扑网络路由收敛完毕后,被中断的流量才能恢复正常的传输。
为了尽可能缩短网络故障导致的流量中断时间,网络管理员可以配置IS-IS快速重路由功能。
图1-14 IS-IS快速重路由功能示意图
如图1-14所示,通过在Router B上使能快速重路由功能,IS-IS将为路由计算或指定备份下一跳,当Router B探测到网络故障时,IS-IS会使用事先获取的备份下一跳替换失效下一跳,通过备份下一跳来指导报文的转发,从而大大缩短了流量中断时间。在使用备份下一跳指导报文转发的同时,IS-IS会根据变化后的网络拓扑重新计算最短路径,网络收敛完毕后,使用新计算出来的最优路由来指导报文转发。
网络管理员可以配置给所有IS-IS路由自动计算备份下一跳,也可以在路由策略中指定备份下一跳,为符合过滤条件的路由指定备份下一跳。
在配置IS-IS快速重路由特性之前,需完成以下任务:
· 配置接口的网络层地址,使相邻节点网络层可达
· 使能IS-IS功能
表1-42 配置IS-IS支持快速重路由功能(自动计算备份下一跳)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置BFD Echo报文源地址 |
bfd echo-source-ip ip-address |
必选 缺省情况下,没有配置BFD Echo报文源地址 |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置IS-IS支持快速重路由功能(自动计算备份下一跳) |
fast-reroute auto |
必选 缺省情况下,IS-IS支持快速重路由功能处于关闭状态 |
网络管理员可以通过apply fast-reroute backup-interface命令在路由策略中指定备份下一跳,为符合过滤条件的路由指定备份下一跳,关于apply fast-reroute backup-interface命令以及路由策略的相关配置,请参见“三层技术-IP路由配置指导”中的“路由策略”。
表1-43 配置IS-IS支持快速重路由功能(通过路由策略指定备份下一跳)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置BFD Echo报文源地址 |
bfd echo-source-ip ip-address |
必选 缺省情况下,没有配置BFD Echo报文源地址 |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置IS-IS支持快速重路由功能(通过路由策略指定备份下一跳) |
fast-reroute route-policy route-policy-name |
必选 缺省情况下,IS-IS支持快速重路由功能处于关闭状态 |
表1-44 使能IS-IS的TRAP功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
使能IS-IS的TRAP功能 |
is-snmp-traps enable |
必选 缺省情况下,IS-IS的TRAP功能处于使能状态 |
表1-45 配置IS-IS和MIB绑定
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] [ vpn-instance vpn-instance-name ] |
- |
配置IS-IS和MIB绑定 |
isis mib-binding process-id |
必选 缺省情况下,MIB操作绑定在IS-IS进程1上 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
指定接口上使能IS-IS |
isis enable [ process-id ] |
必选 缺省情况下,接口上不使能IS-IS路由进程 |
指定接口上使能BFD |
isis bfd enable |
必选 缺省情况下,运行IS-IS的接口不使用BFD提供的链路检测功能 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后IS-IS的运行情况,用户可以通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除IS-IS的数据库信息,或者复位特定邻居的数据信息。
表1-47 IS-IS显示和维护
操作 |
命令 |
显示IS-IS的摘要信息 |
display isis brief [ process-id | vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
显示IS-IS调试开关的状态 |
display isis debug-switches { process-id | vpn-instance vpn-instance-name } [ | { begin | exclude | include } regular-expression ] |
显示IS-IS协议的GR状态 |
display isis graceful-restart status [ level-1 | level-2 ] [ process-id | vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
显示使能IS-IS功能接口的信息 |
display isis interface [ statistics | [ interface-type interface-number ] [ verbose ] ] [ process-id | vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
显示IS-IS的链路状态数据库 |
display isis lsdb [ [ l1 | l2 | level-1 | level-2 ] | [ lsp-id lspid | lsp-name lspname ] | local | verbose ] * [ process-id | vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
显示IS-IS Mesh-Group的配置信息 |
display isis mesh-group [ process-id | vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
显示系统ID到主机名称的映射关系表 |
display isis name-table [ process-id | vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
显示IS-IS的邻居信息 |
display isis peer [ statistics | verbose ] [ process-id | vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
显示IS-IS的IPv4路由信息 |
display isis route [ ipv4 ] [ [ level-1 | level-2 ] | verbose ] * [ process-id [ ipv4-unicast topology-name ] | vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
显示IS-IS进行SPF计算的日志信息 |
display isis spf-log [ process-id | vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
显示IS-IS统计信息 |
display isis statistics [ level-1 | level-1-2 | level-2 ] [ process-id | vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
清除所有IS-IS的数据结构信息 |
reset isis all [ process-id | vpn-instance vpn-instance-name ] |
清除IS-IS特定邻居的数据信息 |
reset isis peer system-id [ process-id | vpn-instance vpn-instance-name ] |
缺省情况下,以太网接口、VLAN接口及聚合接口处于DOWN状态。如果要对这些接口进行配置,请先使用undo shutdown命令使这些接口处于UP状态。
如图1-15所示,Switch A、Switch B、Switch C和Switch D属于同一自治系统,要求它们之间通过IS-IS协议达到IP网络互连的目的。
其中,Switch A和Switch B为Level-1交换机,Switch D为Level-2交换机,Switch C作为Level-1-2交换机将两个区域相连。Switch A、Switch B和Switch C的区域号为10,Switch D的区域号为20。
图1-15 IS-IS基本配置组网图
(1) 配置各接口的IP地址(略)
(2) 配置IS-IS
# 配置Switch A。
<SwitchA> system-view
[SwitchA] isis 1
[SwitchA-isis-1] is-level level-1
[SwitchA-isis-1] network-entity 10.0000.0000.0001.00
[SwitchA-isis-1] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] isis enable 1
[SwitchA-Vlan-interface100] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] isis 1
[SwitchB-isis-1] is-level level-1
[SwitchB-isis-1] network-entity 10.0000.0000.0002.00
[SwitchB-isis-1] quit
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] isis enable 1
[SwitchB-Vlan-interface200] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] isis 1
[SwitchC-isis-1] network-entity 10.0000.0000.0003.00
[SwitchC-isis-1] quit
[SwitchC] interface vlan-interface 100
[SwitchC-Vlan-interface100] isis enable 1
[SwitchC-Vlan-interface100] quit
[SwitchC] interface vlan-interface 200
[SwitchC-Vlan-interface200] isis enable 1
[SwitchC-Vlan-interface200] quit
[SwitchC] interface vlan-interface 300
[SwitchC-Vlan-interface300] isis enable 1
[SwitchC-Vlan-interface300] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] isis 1
[SwitchD-isis-1] is-level level-2
[SwitchD-isis-1] network-entity 20.0000.0000.0004.00
[SwitchD-isis-1] quit
[SwitchD] interface vlan-interface 100
[SwitchD-Vlan-interface100] isis enable 1
[SwitchD-Vlan-interface100] quit
[SwitchD] interface vlan-interface 300
[SwitchD-Vlan-interface300] isis enable 1
[SwitchD-Vlan-interface300] quit
(3) 验证配置结果
# 显示各交换机的IS-IS LSDB信息,查看LSP是否完整。
[SwitchA] display isis lsdb
Database information for ISIS(1)
--------------------------------
Level-1 Link State Database
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
--------------------------------------------------------------------------
0000.0000.0001.00-00* 0x00000004 0xdf5e 1096 68 0/0/0
0000.0000.0002.00-00 0x00000004 0xee4d 1102 68 0/0/0
0000.0000.0002.01-00 0x00000001 0xdaaf 1102 55 0/0/0
0000.0000.0003.00-00 0x00000009 0xcaa3 1161 111 1/0/0
0000.0000.0003.01-00 0x00000001 0xadda 1112 55 0/0/0
*-Self LSP, +-Self LSP(Extended), ATT-Attached, P-Partition, OL-Overload
[SwitchB] display isis lsdb
Database information for ISIS(1)
--------------------------------
Level-1 Link State Database
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
--------------------------------------------------------------------------
0000.0000.0001.00-00 0x00000006 0xdb60 988 68 0/0/0
0000.0000.0002.00-00* 0x00000008 0xe651 1189 68 0/0/0
0000.0000.0002.01-00* 0x00000005 0xd2b3 1188 55 0/0/0
0000.0000.0003.00-00 0x00000014 0x194a 1190 111 1/0/0
0000.0000.0003.01-00 0x00000002 0xabdb 995 55 0/0/0
*-Self LSP, +-Self LSP(Extended), ATT-Attached, P-Partition, OL-Overload
[SwitchC] display isis lsdb
Database information for ISIS(1)
--------------------------------
Level-1 Link State Database
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
--------------------------------------------------------------------------
0000.0000.0001.00-00 0x00000006 0xdb60 847 68 0/0/0
0000.0000.0002.00-00 0x00000008 0xe651 1053 68 0/0/0
0000.0000.0002.01-00 0x00000005 0xd2b3 1052 55 0/0/0
0000.0000.0003.00-00* 0x00000014 0x194a 1051 111 1/0/0
0000.0000.0003.01-00* 0x00000002 0xabdb 854 55 0/0/0
*-Self LSP, +-Self LSP(Extended), ATT-Attached, P-Partition, OL-Overload
Level-2 Link State Database
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
--------------------------------------------------------------------------
0000.0000.0003.00-00* 0x00000012 0xc93c 842 100 0/0/0
0000.0000.0004.00-00 0x00000026 0x331 1173 84 0/0/0
0000.0000.0004.01-00 0x00000001 0xee95 668 55 0/0/0
*-Self LSP, +-Self LSP(Extended), ATT-Attached, P-Partition, OL-Overload
[SwitchD] display isis lsdb
Database information for ISIS(1)
--------------------------------
Level-2 Link State Database
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
-------------------------------------------------------------------------------
0000.0000.0003.00-00 0x00000013 0xc73d 1003 100 0/0/0
0000.0000.0004.00-00* 0x0000003c 0xd647 1194 84 0/0/0
0000.0000.0004.01-00* 0x00000002 0xec96 1007 55 0/0/0
*-Self LSP, +-Self LSP(Extended), ATT-Attached, P-Partition, OL-Overload
# 显示各交换机的IS-IS路由信息。Level-1交换机的路由表中应该有一条缺省路由,且下一跳为Level-1-2交换机,Level-2交换机的路由表中应该有所有Level-1和Level-2的路由。
[SwitchA] display isis route
Route information for ISIS(1)
-----------------------------
ISIS(1) IPv4 Level-1 Forwarding Table
-------------------------------------
IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
--------------------------------------------------------------------------
10.1.1.0/24 10 NULL Vlan100 Direct D/L/-
10.1.2.0/24 20 NULL Vlan100 10.1.1.1 R/-/-
192.168.0.0/24 20 NULL Vlan100 10.1.1.1 R/-/-
0.0.0.0/0 10 NULL Vlan100 10.1.1.1 R/-/-
Flags: D-Direct, R-Added to RM, L-Advertised in LSPs, U-Up/Down Bit Set
[SwitchC] display isis route
Route information for ISIS(1)
-----------------------------
ISIS(1) IPv4 Level-1 Forwarding Table
-------------------------------------
IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
--------------------------------------------------------------------------
192.168.0.0/24 10 NULL Vlan300 Direct D/L/-
10.1.1.0/24 10 NULL Vlan100 Direct D/L/-
10.1.2.0/24 10 NULL Vlan200 Direct D/L/-
Flags: D-Direct, R-Added to RM, L-Advertised in LSPs, U-Up/Down Bit Set
ISIS(1) IPv4 Level-2 Forwarding Table
-------------------------------------
IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
--------------------------------------------------------------------------
192.168.0.0/24 10 NULL Vlan300 Direct D/L/-
10.1.1.0/24 10 NULL Vlan100 Direct D/L/-
10.1.2.0/24 10 NULL Vlan200 Direct D/L/-
172.16.0.0/16 20 NULL Vlan300 192.168.0.2 R/-/-
Flags: D-Direct, R-Added to RM, L-Advertised in LSPs, U-Up/Down Bit Set
[SwitchD] display isis route
Route information for ISIS(1)
-----------------------------
ISIS(1) IPv4 Level-2 Forwarding Table
-------------------------------------
IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
--------------------------------------------------------------------------
192.168.0.0/24 10 NULL Vlan300 Direct D/L/-
10.1.1.0/24 20 NULL Vlan300 192.168.0.1 R/-/-
10.1.2.0/24 20 NULL Vlan300 192.168.0.1 R/-/-
172.16.0.0/16 10 NULL Vlan100 Direct D/L/-
Flags: D-Direct, R-Added to RM, L-Advertised in LSPs, U-Up/Down Bit Set
如下图所示,Switch A、Switch B、Switch C和Switch D都运行IS-IS路由协议以实现互连,它们属于同一区域10,网络类型为广播网(以太网)。其中Switch A和Switch B是Level-1-2交换机,Switch C为Level-1交换机,Switch D为Level-2交换机。
要求通过改变接口的DIS优先级,将Switch A配置为Level-1-2的DIS。
图1-16 配置IS-IS的DIS选择组网图
(1) 配置各接口的IP地址(略)
(2) 配置IS-IS
# 配置Switch A。
<SwitchA> system-view
[SwitchA] isis 1
[SwitchA-isis-1] network-entity 10.0000.0000.0001.00
[SwitchA-isis-1] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] isis enable 1
[SwitchA-Vlan-interface100] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] isis 1
[SwitchB-isis-1] network-entity 10.0000.0000.0002.00
[SwitchB-isis-1] quit
[SwitchB] interface vlan-interface 100
[SwitchB-Vlan-interface100] isis enable 1
[SwitchB-Vlan-interface100] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] isis 1
[SwitchC-isis-1] network-entity 10.0000.0000.0003.00
[SwitchC-isis-1] is-level level-1
[SwitchC-isis-1] quit
[SwitchC] interface vlan-interface 100
[SwitchC-Vlan-interface100] isis enable 1
[SwitchC-Vlan-interface100] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] isis 1
[SwitchD-isis-1] network-entity 10.0000.0000.0004.00
[SwitchD-isis-1] is-level level-2
[SwitchD-isis-1] quit
[SwitchD] interface vlan-interface 100
[SwitchD-Vlan-interface100] isis enable 1
[SwitchD-Vlan-interface100] quit
# 查看Switch A的IS-IS邻居信息。
[SwitchA] display isis peer
Peer information for ISIS(1)
----------------------------
System Id: 0000.0000.0002
Interface: Vlan-interface100 Circuit Id: 0000.0000.0003.01
State: Up HoldTime: 21s Type: L1(L1L2) PRI: 64
System Id: 0000.0000.0003
Interface: Vlan-interface100 Circuit Id: 0000.0000.0003.01
State: Up HoldTime: 27s Type: L1 PRI: 64
System Id: 0000.0000.0002
Interface: Vlan-interface100 Circuit Id: 0000.0000.0004.01
State: Up HoldTime: 28s Type: L2(L1L2) PRI: 64
System Id: 0000.0000.0004
Interface: Vlan-interface100 Circuit Id: 0000.0000.0004.01
State: Up HoldTime: 30s Type: L2 PRI: 64
# 显示Switch A的IS-IS接口信息。
[SwitchA] display isis interface
Interface information for ISIS(1)
---------------------------------
Interface: Vlan-interface100
Id IPV4.State IPV6.State MTU Type DIS
001 Up Down 1497 L1/L2 No/No
# 显示Switch C的IS-IS接口信息。
[SwitchC] display isis interface
Interface information for ISIS(1)
---------------------------------
Interface: Vlan-interface100
Id IPV4.State IPV6.State MTU Type DIS
001 Up Down 1497 L1/L2 Yes/No
# 显示Switch D的IS-IS接口信息。
[SwitchD] display isis interface
Interface information for ISIS(1)
---------------------------------
Interface: Vlan-interface100
Id IPV4.State IPV6.State MTU Type DIS
001 Up Down 1497 L1/L2 No/Yes
从接口信息中可以看到,在使用缺省DIS优先级的情况下,Switch C为Level-1的DIS,Switch D为Level-2的DIS。Level-1和Level-2的伪节点分别是0000.0000.0003.01和0000.0000.0004.01。
(3) 配置Switch A的DIS优先级
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] isis dis-priority 100
[SwitchA-Vlan-interface100] quit
# 查看Switch A的IS-IS邻居信息。
[SwitchA] display isis peer
Peer information for ISIS(1)
----------------------------
System Id: 0000.0000.0002
Interface: Vlan-interface100 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 21s Type: L1(L1L2) PRI: 64
System Id: 0000.0000.0003
Interface: Vlan-interface100 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 27s Type: L1 PRI: 64
System Id: 0000.0000.0002
Interface: Vlan-interface100 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 28s Type: L2(L1L2) PRI: 64
System Id: 0000.0000.0004
Interface: Vlan-interface100 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 30s Type: L2 PRI: 64
# 查看Switch A的IS-IS接口信息。
[SwitchA] display isis interface
Interface information for ISIS(1)
---------------------------------
Interface: Vlan-interface100
Id IPV4.State IPV6.State MTU Type DIS
001 Up Down 1497 L1/L2 Yes/Yes
从上述信息中可以看到,在改变IS-IS接口的DIS优先级后,Switch A立即成为Level-1-2的DR(DIS),且伪节点是0000.0000.0001.01。
# 显示Switch C的IS-IS邻居和接口信息。
[SwitchC] display isis peer
Peer information for ISIS(1)
----------------------------
System Id: 0000.0000.0002
Interface: Vlan-interface100 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 25s Type: L1 PRI: 64
System Id: 0000.0000.0001
Interface: Vlan-interface100 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 7s Type: L1 PRI: 100
[SwitchC] display isis interface
Interface information for ISIS(1)
---------------------------------
Interface: Vlan-interface100
Id IPV4.State IPV6.State MTU Type DIS
001 Up Down 1497 L1/L2 No/No
# 显示Switch D的IS-IS邻居和接口信息。
[SwitchD] display isis peer
Peer information for ISIS(1)
----------------------------
System Id: 0000.0000.0001
Interface: Vlan-interface100 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 9s Type: L2 PRI: 100
System Id: 0000.0000.0002
Interface: Vlan-interface100 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 28s Type: L2 PRI: 64
[SwitchD] display isis interface
Interface information for ISIS(1)
---------------------------------
Interface: Vlan-interface100
Id IPV4.State IPV6.State MTU Type DIS
001 Up Down 1497 L1/L2 No/No
如图1-17所示:
· Switch A、Switch B、Switch C和Switch D属于同一自治系统,要求它们之间通过IS-IS协议达到IP网络互连的目的。
· Switch A和Switch B为Level-1路由器,Switch D为Level-2路由器,Switch C作为Level-1-2路由器将两个区域相连。Switch A、Switch B和Switch C的区域号为10,Switch D的区域号为20。
· 在Switch D的IS-IS进程中引入RIP路由。
图1-17 配置IS-IS引入外部路由组网图
(1) 配置各接口的IP地址(略)
(2) 配置IS-IS基本功能
# 配置Switch A。
<SwitchA> system-view
[SwitchA] isis 1
[SwitchA-isis-1] is-level level-1
[SwitchA-isis-1] network-entity 10.0000.0000.0001.00
[SwitchA-isis-1] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] isis enable 1
[SwitchA-Vlan-interface100] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] isis 1
[SwitchB-isis-1] is-level level-1
[SwitchB-isis-1] network-entity 10.0000.0000.0002.00
[SwitchB-isis-1] quit
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] isis enable 1
[SwitchB-Vlan-interface200] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] isis 1
[SwitchC-isis-1] network-entity 10.0000.0000.0003.00
[SwitchC-isis-1] quit
[SwitchC] interface vlan-interface 200
[SwitchC-Vlan-interface200] isis enable 1
[SwitchC-Vlan-interface200] quit
[SwitchC] interface vlan-interface 100
[SwitchC-Vlan-interface100] isis enable 1
[SwitchC-Vlan-interface100] quit
[SwitchC] interface vlan-interface 300
[SwitchC-Vlan-interface300] isis enable 1
[SwitchC-Vlan-interface300] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] isis 1
[SwitchD-isis-1] is-level level-2
[SwitchD-isis-1] network-entity 20.0000.0000.0004.00
[SwitchD-isis-1] quit
[SwitchD] interface interface vlan-interface 300
[SwitchD-Vlan-interface300] isis enable 1
[SwitchD-Vlan-interface300] quit
# 显示各路由器的IS-IS路由信息。
[SwitchA] display isis route
Route information for ISIS(1)
-----------------------------
ISIS(1) IPv4 Level-1 Forwarding Table
-------------------------------------
IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
--------------------------------------------------------------------------
10.1.1.0/24 10 NULL VLAN100 Direct D/L/-
10.1.2.0/24 20 NULL VLAN100 10.1.1.1 R/-/-
192.168.0.0/24 20 NULL VLAN100 10.1.1.1 R/-/-
0.0.0.0/0 10 NULL VLAN100 10.1.1.1 R/-/-
Flags: D-Direct, R-Added to RM, L-Advertised in LSPs, U-Up/Down Bit Set
[SwitchC] display isis route
Route information for ISIS(1)
-----------------------------
ISIS(1) IPv4 Level-1 Forwarding Table
-------------------------------------
IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
--------------------------------------------------------------------------
10.1.1.0/24 10 NULL VLAN100 Direct D/L/-
10.1.2.0/24 10 NULL VLAN200 Direct D/L/-
192.168.0.0/24 10 NULL VLAN300 Direct D/L/-
Flags: D-Direct, R-Added to RM, L-Advertised in LSPs, U-Up/Down Bit Set
ISIS(1) IPv4 Level-2 Forwarding Table
-------------------------------------
IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
--------------------------------------------------------------------------
10.1.1.0/24 10 NULL VLAN100 Direct D/L/-
10.1.2.0/24 10 NULL VLAN200 Direct D/L/-
192.168.0.0/24 10 NULL VLAN300 Direct D/L/-
Flags: D-Direct, R-Added to RM, L-Advertised in LSPs, U-Up/Down Bit Set
[SwitchD] display isis route
Route information for ISIS(1)
-----------------------------
ISIS(1) IPv4 Level-2 Forwarding Table
-------------------------------------
IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
--------------------------------------------------------------------------
192.168.0.0/24 10 NULL VLAN300 Direct D/L/-
10.1.1.0/24 20 NULL VLAN300 192.168.0.1 R/-/-
10.1.2.0/24 20 NULL VLAN300 192.168.0.1 R/-/-
Flags: D-Direct, R-Added to RM, L-Advertised in LSPs, U-Up/Down Bit Set
(3) 在Switch D和Switch E之间运行RIPv2,在Switch D上配置IS-IS进程引入RIP路由。
# 在Switch D上配置RIPv2。
[SwitchD] rip 1
[SwitchD-rip-1] network 10.0.0.0
[SwitchD-rip-1] version 2
[SwitchD-rip-1] undo summary
# 在Switch E上配置RIPv2。
[SwitchE] rip 1
[SwitchE-rip-1] network 10.0.0.0
[SwitchE-rip-1] version 2
[SwitchE-rip-1] undo summary
# 在Switch D上配置IS-IS进程引入RIP进程的路由。
[SwitchD-rip-1] quit
[SwitchD] isis 1
[SwitchD–isis-1] import-route rip level-2
# 显示Switch C的IS-IS路由信息。
[SwitchC] display isis route
Route information for ISIS(1)
-----------------------------
ISIS(1) IPv4 Level-1 Forwarding Table
-------------------------------------
IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
--------------------------------------------------------------------------
10.1.1.0/24 10 NULL VLAN100 Direct D/L/-
10.1.2.0/24 10 NULL VLAN200 Direct D/L/-
192.168.0.0/24 10 NULL VLAN300 Direct D/L/-
Flags: D-Direct, R-Added to RM, L-Advertised in LSPs, U-Up/Down Bit Set
ISIS(1) IPv4 Level-2 Forwarding Table
-------------------------------------
IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
--------------------------------------------------------------------------
10.1.1.0/24 10 NULL VLAN100 Direct D/L/-
10.1.2.0/24 10 NULL VLAN200 Direct D/L/-
192.168.0.0/24 10 NULL VLAN300 Direct D/L/-
10.1.4.0/24 10 NULL VLAN300 192.168.0.2 R/L/-
10.1.5.0/24 20 NULL VLAN300 192.168.0.2 R/L/-
10.1.6.0/24 20 NULL VLAN300 192.168.0.2 R/L/-
Flags: D-Direct, R-Added to RM, L-Advertised in LSPs, U-Up/Down Bit Set
如图1-18所示,Switch A、Switch B和Switch C属于同一域。这三台交换机都运行IS-IS协议以实现路由互连。
图1-18 IS-IS GR配置组网图
(1) 配置各交换机接口的IP地址和IS-IS协议
请按照图1-18配置各接口的IP地址和子网掩码,具体配置过程略。
配置各交换机之间采用IS-IS协议进行互连,确保Switch A、Switch B和Switch C之间能够在网络层互通,并且各交换机之间能够借助IS-IS协议实现动态路由更新,具体配置过程略。
(2) 配置IS-IS GR
# 使能Switch A的IS-IS协议的GR能力,并配置重启间隔时间。
<SwitchA> system-view
[SwitchA] isis 1
[SwitchA-isis-1] graceful-restart
[SwitchA-isis-1] graceful-restart interval 150
[SwitchA-isis-1] return
Switch B和Switch C的配置与Switch A相似,配置过程略。
(3) 检验配置效果
Switch A分别与Switch B和Switch C建立邻接关系后,三台交换机开始交换路由信息。Switch A的IS-IS协议重启,进入重启模式后,通过GR机制向邻居重新发送连接请求,同步数据库。使用display isis graceful-restart status命令,可查看Switch A上IS-IS协议的GR状态。
# 重启Switch A的IS-IS进程。
<SwitchA> reset isis all 1
Warning : Reset ISIS process? [Y/N]:y
# 查看Switch A上IS-IS协议的GR状态。
<SwitchA> display isis graceful-restart status
Restart information for IS-IS(1)
--------------------------------------------------------------------
IS-IS(1) Level-1 Restart Status
Restart Interval: 150
SA Bit Supported
Total Number of Interfaces = 1
Restart Status: RESTARTING
Number of LSPs Awaited: 3
T3 Timer Status:
Remaining Time: 140
T2 Timer Status:
Remaining Time: 59
IS-IS(1) Level-2 Restart Status
Restart Interval: 150
SA Bit Supported
Total Number of Interfaces = 1
Restart Status: RESTARTING
Number of LSPs Awaited: 3
T3 Timer Status:
Remaining Time: 140
T2 Timer Status:
Remaining Time: 59
如图1-19所示,Switch S、Switch A、Switch B属于同一IS-IS区域,通过IS-IS协议实现网络互连。要求对Switch S进行主备倒换时,Switch A和Switch B到Switch S的邻居没有中断,Switch A到Switch B的流量没有中断。
图1-19 IS-IS NSR配置组网图
(1) 配置各路由器接口的IP地址和IS-IS协议
请按照图1-19配置各接口的IP地址和子网掩码,具体配置过程略。
配置各路由器之间采用IS-IS协议进行互连,确保Switch S、Switch A和Switch B之间能够在网络层互通,并且各路由器之间能够借助IS-IS协议实现动态路由更新。具体配置过程略。
(2) 配置IS-IS NSR
# 使能Switch A的IS-IS NSR功能。
<SwitchS> system-view
[SwitchS] isis 1
[SwitchS-isis-1] non-stop-routing
[SwitchS-isis-1] non-stop-routing interval 30
[SwitchS-isis-1] return
(3) 检验配置效果
Switch S分别与Switch A和Switch B建立邻接关系后,三台路由器开始交换路由信息。当网络稳定后,Switch S进行主备倒换。在Switch S主备倒换期间,使用display isis peer命令查看Switch A和Switch B上到Switch S的邻居是否发生任何变化;使用display isis route命令查看Switch A上是否有Switch B上Loopback接口的路由,Switch B上是否有Switch A上Loopback接口的路由。
# Switch S主备倒换。
<SwitchS> system-view
[SwitchS] slave switchover enable
[SwitchS] slave switchover
Caution!!! Confirm to swith slave to master? [Y/N]:Y
# 查看Switch A上IS-IS协议的邻居和路由。
<SwitchA> display isis peer
Peer information for ISIS(1)
----------------------------
System Id: 0000.0000.0001
Interface: vlan100 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 25s Type: L1(L1L2) PRI: 64
System Id: 0000.0000.0001
Interface: vlan100 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 27s Type: L2(L1L2) PRI: 64
<SwitchA> display isis route
Route information for ISIS(1)
-----------------------------
ISIS(1) IPv4 Level-1 Forwarding Table
-------------------------------------
IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
--------------------------------------------------------------------------
12.12.12.0/24 10 NULL vlan100 Direct D/L/-
22.22.22.22/32 10 NULL Loop0 Direct D/-/-
14.14.14.0/32 10 NULL vlan100 12.12.12.2 R/L/-
44.44.44.44/32 10 NULL vlan100 12.12.12.2 R/L/-
Flags: D-Direct, R-Added to RM, L-Advertised in LSPs, U-Up/Down Bit Set
ISIS(1) IPv4 Level-2 Forwarding Table
-------------------------------------
IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
--------------------------------------------------------------------------
12.12.12.0/24 10 NULL vlan100 Direct D/L/-
22.22.22.22/32 10 NULL Loop0 Direct D/-/-
14.14.14.0/32 10 NULL
44.44.44.44/32 10 NULL
Flags: D-Direct, R-Added to RM, L-Advertised in LSPs, U-Up/Down Bit Set
# 查看Switch B上IS-IS协议的邻居和路由。
<SwitchB> display isis peer
Peer information for ISIS(1)
----------------------------
System Id: 0000.0000.0001
Interface: vlan200 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 25s Type: L1(L1L2) PRI: 64
System Id: 0000.0000.0001
Interface: vlan200 Circuit Id: 0000.0000.0001.01
State: Up HoldTime: 27s Type: L2(L1L2) PRI: 64
<SwitchB> display isis route
Route information for ISIS(1)
-----------------------------
ISIS(1) IPv4 Level-1 Forwarding Table
-------------------------------------
IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
--------------------------------------------------------------------------
14.14.14.0/24 10 NULL vlan200 Direct D/L/-
44.44.44.44/32 10 NULL Loop0 Direct D/-/-
12.12.12.0/32 10 NULL vlan200 14.14.14.4 R/L/-
22.22.22.22/32 10 NULL vlan200 14.14.14.4 R/L/-
Flags: D-Direct, R-Added to RM, L-Advertised in LSPs, U-Up/Down Bit Set
ISIS(1) IPv4 Level-2 Forwarding Table
-------------------------------------
IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
--------------------------------------------------------------------------
14.14.14.0/24 10 NULL vlan200 Direct D/L/-
44.44.44.44/32 10 NULL Loop0 Direct D/-/-
12.12.12.0/32 10 NULL
22.22.22.22/32 10 NULL
Flags: D-Direct, R-Added to RM, L-Advertised in LSPs, U-Up/Down Bit Set
通过上面信息可以看出Switch A和Switch B的邻居和路由信息保持不变,即NSR特性使周边设备无法感知Switch S的主备倒换。
如图1-20所示,Switch S、Switch A和Switch D属于同一IS-IS路由域,通过IS-IS协议实现网络互连。要求当Switch S和Switch D之间的链路出现故障时,业务可以快速切换到链路B上。
图1-20 IS-IS快速重路由配置组网图
(1) 配置各交换机接口的IP地址和IS-IS协议
请按照图1-18配置各接口的IP地址和子网掩码,具体配置过程略。
配置各交换机之间采用IS-IS协议进行互连,确保Switch A、Switch D和Switch S之间能够在网络层互通,并且各交换机之间能够借助IS-IS协议实现动态路由更新。
具体配置过程略。
(2) 配置IS-IS快速重路由
IS-IS支持快速重路由配置有两种配置方法,一种是自动计算,另一种是通过策略指定,两种方法任选一种。
方法一:使能Switch S和Swtich D的IS-IS协议的自动计算快速重路由能力
# 配置Switch S。
<SwitchS> system-view
[SwitchS] bfd echo-source-ip 1.1.1.1
[SwitchS] isis 1
[SwitchS-isis-1] fast-reroute auto
[SwitchS-isis-1] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] bfd echo-source-ip 4.4.4.4
[SwitchD] isis 1
[SwitchD-isis-1] fast-reroute auto
[SwitchD-isis-1] quit
方法二:使能Switch S和Swtich D的IS-IS协议的指定路由策略快速重路由能力
# 配置Switch S。
<SwitchS> system-view
[SwitchS] bfd echo-source-ip 1.1.1.1
[SwitchS] ip ip-prefix abc index 10 permit 4.4.4.4 32
[SwitchS] route-policy frr permit node 10
[SwitchS-route-policy] if-match ip-prefix abc
[SwitchS-route-policy] apply fast-reroute backup-interface vlan-interface 100 backup-nexthop 12.12.12.2
[SwitchS-route-policy] quit
[SwitchS] isis 1
[SwitchS-isis-1] fast-reroute route-policy frr
[SwitchS-isis-1] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] bfd echo-source-ip 4.4.4.4
[SwitchD] ip ip-prefix abc index 10 permit 1.1.1.1 32
[SwitchD] route-policy frr permit node 10
[SwitchD-route-policy] if-match ip-prefix abc
[SwitchD-route-policy] apply fast-reroute backup-interface vlan-interface 101 backup-nexthop 24.24.24.2
[SwitchD-route-policy] quit
[SwitchD] isis 1
[SwitchD-isis-1] fast-reroute route-policy frr
[SwitchD-isis-1] quit
(3) 检验配置效果
# 在Switch S上查看4.4.4.4/32路由,可以看到备份下一跳信息。
[SwitchS] display ip routing-table 4.4.4.4 verbose
Routing Table : Public
Summary Count : 1
Destination: 4.4.4.4/32
Protocol: ISIS Process ID: 1
Preference: 10 Cost: 10
IpPrecedence: QosLcId:
NextHop: 13.13.13.2 Interface: Vlan-interface200
BkNextHop: 12.12.12.2 BkInterface: Vlan-interface100
RelyNextHop: 0.0.0.0 Neighbor : 0.0.0.0
Tunnel ID: 0x0 Label: NULL
BKTunnel ID: 0x0 BKLabel: NULL
State: Active Adv Age: 00h01m27s
Tag: 0
# 在Switch D上查看1.1.1.1/32路由,可以看到备份下一跳信息。
[SwitchD] display ip routing-table 1.1.1.1 verbose
Routing Table : Public
Summary Count : 1
Destination: 1.1.1.1/32
Protocol: ISIS Process ID: 1
Preference: 10 Cost: 10
IpPrecedence: QosLcId:
NextHop: 13.13.13.1 Interface: Vlan-interface200
BkNextHop: 24.24.24.2 BkInterface: Vlan-interface101
RelyNextHop: 0.0.0.0 Neighbor : 0.0.0.0
Tunnel ID: 0x0 Label: NULL
BKTunnel ID: 0x0 BKLabel: NULL
State: Active Adv Age: 00h01m27s
Tag: 0
如图1-21所示,Switch A、Switch B、Switch C和Switch D属于同一路由域,要求它们之间通过IS-IS协议达到IP网络互连的目的。
其中,Switch A、Switch B和Switch C属于同一个区域,区域号为10,Switch D属于另外一个区域,区域号为20。
在区域10内配置区域验证,防止不可信任的路由信息加入到区域10的LSDB中;在Switch C和Switch D上配置路由域验证,防止将不可信的路由信息注入当前路由域;分别在Switch A、Switch B、Switch C和Switch D上配置邻居关系验证。
图1-21 IS-IS验证配置举例图
(1) 配置各接口的IP地址(略)
(2) 配置IS-IS基本功能
# 配置Switch A。
<SwitchA> system-view
[SwitchA] isis 1
[SwitchA-isis-1] network-entity 10.0000.0000.0001.00
[SwitchA-isis-1] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] isis enable 1
[SwitchA-Vlan-interface100] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] isis 1
[SwitchB-isis-1] network-entity 10.0000.0000.0002.00
[SwitchB-isis-1] quit
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] isis enable 1
[RouterB--Vlan-interface200] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] isis 1
[SwitchC-isis-1] network-entity 10.0000.0000.0003.00
[SwitchC-isis-1] quit
[SwitchC] interface vlan-interface 200
[SwitchC-Vlan-interface200] isis enable 1
[SwitchC-Vlan-interface200] quit
[SwitchC] interface vlan-interface 300
[SwitchC-Vlan-interface300] isis enable 1
[SwitchC-Vlan-interface300] quit
[SwitchC] interface vlan-interface 300
[SwitchC-Vlan-interface300] isis enable 1
[SwitchC-Vlan-interface300] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] isis 1
[SwitchD-isis-1] network-entity 20.0000.0000.0001.00
[SwitchD-isis-1] quit
[SwitchD] interface vlan-interface 300
[SwitchD-Vlan-interface300] isis enable 1
[SwitchD-Vlan-interface300] quit
(3) 在Switch A、Switch B、Switch C和Switch D之间建立邻居关系验证
# 分别在Switch A的Vlan-interface100、Switch C的Vlan-interface100配置邻居关系验证,验证方式为MD5密文,验证密码为“eRg”。
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] isis authentication-mode md5 eRg
[SwitchA-Vlan-interface100] quit
[SwitchC] interface vlan-interface 100
[SwitchC-Vlan-interface100] isis authentication-mode md5 eRg
[SwitchC-Vlan-interface100] quit
# 分别在Switch B的Vlan-interface200、Switch C的Vlan-interface200上配置邻居关系验证,验证方式为MD5密文,验证密码为“t5Hr”。
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] isis authentication-mode md5 t5Hr
[SwitchB-Vlan-interface200] quit
[SwitchC] interface vlan-interface 200
[SwitchC-Vlan-interface200] isis authentication-mode md5 t5Hr
[SwitchC-Vlan-interface200] quit
# 分别在Switch C的Vlan-interface300、Switch D的Vlan-interface300配置邻居关系验证,验证方式为MD5密文,验证密码为“hSec”。
[SwitchC] interface vlan-interface 300
[SwitchC-Vlan-interface300] isis authentication-mode md5 hSec
[SwitchC-Vlan-interface300] quit
[SwitchD] interface vlan-interface 300
[SwitchD-Vlan-interface300] isis authentication-mode md5 hSec
[SwitchD-Vlan-interface300] quit
(4) 在Switch A、Switch B和Switch C上配置区域验证,验证方式为MD5密文验证,验证密码为“10Sec”。
[SwitchA] isis 1
[SwitchA-isis-1] area-authentication-mode md5 10Sec
[SwitchA-isis-1] quit
[SwitchB] isis 1
[SwitchB-isis-1] area-authentication-mode md5 10Sec
[SwitchB-isis-1] quit
[SwitchC] isis 1
[SwitchC-isis-1] area-authentication-mode md5 10Sec
[SwitchC-isis-1] quit
(5) 在Switch C和Switch D上配置路由域验证,验证方式为MD5密文验证,验证密码为“1020Sec”。
[SwitchC] isis 1
[SwitchC-isis-1] domain-authentication-mode md5 1020Sec
[SwitchC-isis-1] quit
[SwitchD] isis 1
[SwitchD-isis-1] domain-authentication-mode md5 1020Sec
· Switch A、Switch B和Switch C上运行IS-IS,网络层相互可达。
· 当Switch A和Switch B通过L2 Switch通信的链路出现故障时BFD能够快速感知通告IS-IS协议,并且切换到Switch C进行通信。
图1-22 IS-IS与BFD联动配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Switch A |
Vlan-int10 |
10.1.0.102/24 |
Switch B |
Vlan-int10 |
10.1.0.100/24 |
|
Vlan-int11 |
11.1.1.1/24 |
|
Vlan-int13 |
13.1.1.1/24 |
Switch C |
Vlan-int11 |
11.1.1.2/24 |
|
|
|
|
Vlan-int13 |
13.1.1.2/24 |
|
|
|
(1) 配置各接口的IP地址(略)
(2) 配置IS-IS基本功能
# 配置Switch A。
<SwitchA> system-view
[SwitchA] isis
[SwitchA-isis-1] network-entity 10.0000.0000.0001.00
[SwitchA-isis-1] quit
[SwitchA] interface vlan-interface 10
[SwitchA-Vlan-interface10] isis enable
[SwitchA-Vlan-interface10] quit
[SwitchA] interface vlan-interface 11
[SwitchA-Vlan-interface11] isis enable
[SwitchA-Vlan-interface11] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] isis
[SwitchB-isis-1] network-entity 10.0000.0000.0002.00
[SwitchB-isis-1] quit
[SwitchB] interface vlan-interface 10
[SwitchB-Vlan-interface10] isis enable
[SwitchB-Vlan-interface10] quit
[SwitchB] interface vlan-interface 13
[SwitchB-Vlan-interface13] isis enable
[SwitchB-Vlan-interface13] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] isis
[SwitchC-isis-1] network-entity 10.0000.0000.0003.00
[SwitchC-isis-1] quit
[SwitchC] interface vlan-interface 11
[SwitchC-Vlan-interface11] isis enable
[SwitchC-Vlan-interface11] quit
[SwitchC] interface vlan-interface 13
[SwitchC-Vlan-interface13] isis enable
[SwitchC-Vlan-interface13] quit
(3) 配置BFD功能
# 在Switch A上使能BFD检测功能,并配置BFD参数。
[SwitchA] bfd session init-mode active
[SwitchA] interface vlan-interface 10
[SwitchA-Vlan-interface10] isis bfd enable
[SwitchA-Vlan-interface10] bfd min-receive-interval 500
[SwitchA-Vlan-interface10] bfd min-transmit-interval 500
[SwitchA-Vlan-interface10] bfd detect-multiplier 7
# 在Switch B上使能BFD检测功能,并配置BFD参数。
[SwitchB] bfd session init-mode active
[SwitchB] interface vlan-interface 10
[SwitchB-Vlan-interface10] isis bfd enable
[SwitchB-Vlan-interface10] bfd min-receive-interval 500
[SwitchB-Vlan-interface10] bfd min-transmit-interval 500
[SwitchB-Vlan-interface10] bfd detect-multiplier 8
[SwitchB-Vlan-interface10] return
(4) 检查配置结果
下面以Switch A为例,Switch B和Switch A类似,不再赘述。
# 显示Switch A的BFD信息。
<SwitchA> display bfd session
Total Session Num: 1 Init Mode: Active
Session Working Under Ctrl Mode:
LD/RD SourceAddr DestAddr State Holdtime Interface
3/1 10.1.0.102 10.1.0.100 Up 1700ms vlan10
# 在Switch A上查看120.1.1.0/24的路由信息,可以看出Switch A和Switch B是通过L2 Swtich进行通信的。
<SwitchA> display ip routing-table 120.1.1.0 verbose
Routing Table : Public
Summary Count : 2
Destination: 120.1.1.0/24
Protocol: ISIS Process ID: 0
Preference: 0 Cost: 2
IpPrecedence: QosLcId:
NextHop: 192.168.0.100 Interface: Vlan-interface10
BkNextHop: 0.0.0.0 BkInterface:
RelyNextHop: 0.0.0.0 Neighbor : 0.0.0.0
Tunnel ID: 0x0 Label: NULL
BKTunnel ID: 0x0 BKLabel: NULL
State: Active Adv Age: 00h58m10s
Tag: 0
Destination: 120.1.1.0/24
Protocol: ISIS Process ID: 1
Preference: 10 Cost: 4
IpPrecedence: QosLcId:
NextHop: 10.1.1.100 Interface: Vlan-interface11
BkNextHop: 0.0.0.0 BkInterface:
RelyNextHop: 0.0.0.0 Neighbor : 0.0.0.0
Tunnel ID: 0x0 Label: NULL
BKTunnel ID: 0x0 BKLabel: NULL
State: Invalid Adv Age: 00h58m05s
Tag: 0
# 打开Switch A的调试开关。
<SwitchA> debugging isis bfd-event
<SwitchA> terminal debugging
# Switch B和二层交换机之间的链路发生故障后。可以看到Switch A能够快速检测Switch B的变化。
#Aug 8 14:54:05:362 2008 SwitchA IFNET/4/INTERFACE UPDOWN:
Trap 1.3.6.1.6.3.1.1.5.3<linkDown>: Interface 983041 is Down, ifAdminStatus is 1, ifOperStatus is 2
#Aug 8 14:54:05:363 2008 SwitchA ISIS/4/ADJ_CHANGE:TrapID(1.3.6.1.2.1.138.0.17<isisAdjacencyChange>), ISIS Level-2 Adjencency IN Circuit-983041 State Change.
#Aug 8 14:54:05:364 2008 SwitchA ISIS/4/ADJ_CHANGE:TrapID(1.3.6.1.2.1.138.0.17<isisAdjacencyChange>), ISIS Level-1 Adjencency IN Circuit-983041 State Change.
%Aug 8 14:54:05:365 2008 SwitchA IFNET/4/LINK UPDOWN: Vlan-interface10 link status is DOWN
%Aug 8 14:54:05:366 2008 SwitchA IFNET/4/UPDOWN: Line protocol on the interface Vlan-interface10 is DOWN
%Aug 8 14:54:05:367 2008 SwitchA ISIS/4/ADJLOG:ISIS-1-ADJCHANGE: Adjacency To 0000.0000.0002 (vlan10) DOWN, Level-2 Circuit Down.
%Aug 8 14:54:05:367 2008 SwitchA ISIS/4/ADJLOG:ISIS-1-ADJCHANGE: Adjacency To 0000.0000.0002 (vlan10) DOWN, Level-2 Adjacency clear.
%Aug 8 14:54:05:368 2008 SwitchA ISIS/4/ADJLOG:ISIS-1-ADJCHANGE: Adjacency To 0000.0000.0002 (vlan10) DOWN, Level-1 Circuit Down.
%Aug 8 14:54:05:369 2008 SwitchA ISIS/4/ADJLOG:ISIS-1-ADJCHANGE: Adjacency To 0000.0000.0002 (vlan10) DOWN, Level-1 Adjacency clear.
*Aug 8 14:54:05:370 2008 SwitchA ISIS/6/ISIS:
ISIS-1-BFD: Success to send msg. Msg type 1 delete session. IfPhyIndex: 5 ,DstIPAddr: 10.1.0.100 , SrcIPAddr:10.1.0.102. NeighborType:Level-2.
*Aug 8 14:54:05:370 2008 SwitchA ISIS/6/ISIS:
ISIS-1-BFD: Success to send msg. Msg type 1 delete session. IfPhyIndex: 5 ,DstIPAddr: 10.1.0.100 , SrcIPAddr:10.1.0.102. NeighborType:Level-1.
# 显示Switch A的BFD信息。
查看Switch A的BFD信息,Switch A已取消与Switch B的邻居关系,没有任何输出信息。
<SwitchA> display bfd session
# 在Switch A上查看120.1.1.0/24的路由信息,可以看出Switch A和Switch B已经切换到Switch C进行通信。
<SwitchA> display ip routing-table 120.1.1.0 verbose
Routing Table : Public
Summary Count : 2
Destination: 120.1.1.0/24
Protocol: ISIS Process ID: 1
Preference: 10 Cost: 4
IpPrecedence: QosLcId:
NextHop: 10.1.1.100 Interface: Vlan-interface11
BkNextHop: 0.0.0.0 BkInterface:
RelyNextHop: 0.0.0.0 Neighbor : 0.0.0.0
Tunnel ID: 0x0 Label: NULL
BKTunnel ID: 0x0 BKLabel: NULL
State: Active Adv Age: 00h58m10s
Tag: 0
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!