You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 KiB

BGP边界网关协议

作者:行癫


第一节IS-IS原理与配置

IS-IS的基本概念

1.IS-IS概述

IS-IS是ISO定义的OSI协议栈中的CLNSConnectionLess Network Service无连接网络服务的一部分

image-20220211093601896

IS-IS是一种链路状态路由协议IS-IS与OSPF在许多方面非常相似例如运行IS-IS协议的直连设备之间通过发送Hello报文发现彼此然后建立邻接关系并交互链路状态信息

CLNS由以下三个部分组成

CLNP类似于TCP/IP中的IP协议 CLNP无连接网络协议

IS-IS类似于TCP/IP中的OSPF

ES-IS类似于TCP/IP中的ARPICMP等

ESEnd System终端系统类似于IP网络环境中的主机

ES-ISEnd System to Intermediate System终端系统到中间系统

2.NSAP

NSAPNetwork Service Access Point网络服务访问点是OSI协议栈中用于定位资源的地址主要用于提供网络层和上层应用之间的接口。NSAP包括IDP及DSP

image-20220211094233141

IDPInitial Domian Part相当于IP地址中的主网络号。它是由ISO规定并由AFIAuthority and Format Identifier与IDIInitial Domain Identifier两部分组成。AFI表示地址分配机构和地址格式IDI用来标识域

DSPDomian Specific Part相当于IP地址中的子网号和主机地址。它由High Order DSP、System ID和SEL三个部分组成。High Order DSP用来分割区域System ID用来区分主机SELNSAP Selector用来指示服务类型

3.NET

NETNetwork Entity Title网络实体名称是OSI协议栈中设备的网络层信息主要用于路由计算由区域地址Area ID和System ID组成可以看作是特殊的NSAPSEL为00的NSAP

NET的长度与NSAP的相同最长为20Byte最短为8Byte

在IP网络中运行IS-IS时只需配置NET根据NET地址设备可以获取到Area ID以及System ID

image-20220211094712423

Area ID由IDP和DSP中的High Order DSP组成既能够标识路由域也能够标识路由域中的区域。因此它们一起被称为区域地址相当于OSPF中的区域编号;一般情况下一个路由器只需要配置一个区域地址且同一区域中所有节点的区域地址都要相同。为了支持区域的平滑合并、分割及转换缺省情况下一个IS-IS进程下最多可配置3个区域地址

System ID用来在区域内唯一标识主机或路由器。在设备的实现中它的长度固定为6Byte

NET的配置举例

每台运行IS-IS的网络设备至少需拥有一个NET当然一台设备也可以同时配置多个NET但是这些NET的System ID必须相同

在华为的网络设备上System ID的长度总是固定的6Byte。在一个IS-IS路由域中设备的System ID必须唯一为了便于管理一般根据Router ID配置System ID

image-20220211094903545
4.IS-IS和OSPF区域划分的区别
image-20220211095208221

IS-IS在自治系统内采用骨干区域与非骨干区域两级的分层结构

Level-1路由器部署在非骨干区域

Level-2路由器和Level-1-2路由器部署在骨干区域

每一个非骨干区域都通过Level-1-2路由器与骨干区域相连

如图所示整个骨干区域不仅包括Area49.0002中的所有路由器还包括其它区域的Level2和Level-1-2路由器

注意:

在学习OSPF过程中我们已经体会到了多区域、层次化网络设计的好处。对于链路状态路由协议而言运行了该协议的设备会向网络中通告链路状态信息同时也收集网络中所泛洪的链路状态信息后加以存储并最终以这些信息为基础进行计算从而得到路由信息。如果不采用多区域部署的方式那么随着网络的规模逐渐增大网络中泛洪的链路状态信息势必会越来越多所有设备都将承受更重的负担路由计算机收敛将逐渐变得更加缓慢这也使得网络的扩展性变差

以上拓扑结构图可以体现IS-IS与OSPF的不同点

在IS-IS中每个路由器都只属于一个区域而在OSPF中一个路由器的不同接口可以属于不同的区域

在IS-IS中单个区域没有骨干与非骨干区域的概念而在OSPF中Area0被定义为骨干区域

在IS-IS中Level-1和Level-2级别的路由都采用SPF算法分别生成最短路径树SPTShortest Path Tree而在OSPF中只有在同一个区域内才使用SPF算法区域之间的路由需要通过骨干区域来转发

5.IS-IS路由器的分类

Level-1路由器

Level-1路由器例如图中的R1是一种IS-IS区域内部路由器它只与属于同一区域的Level-1和Level-1-2路由器形成邻接关系这种邻接关系称为Level-1邻接关系。Level-1路由器无法与Level-2路由器建立邻接关系

Level-1路由器只负责维护Level-1的链路状态数据库LSDB该LSDB只包含本区域的路由信息。值得一提的是Level-1路由器必须通过Level-1-2路由器接入IS-IS骨干区域从而访问其他区域

image-20220211095933096

Level-2路由器

Level-2路由器例如图中的R4、R5、R6、R7是IS-IS骨干路由器它可以与同一或者不同区域的Level-2路由器或者Level-1-2路由器形成邻接关系。Level-2路由器维护一个Level-2的LSDB该LSDB包含整个IS-IS域的所有路由信息

所有Level-2级别即形成Level-2邻接关系的路由器组成路由域的骨干网负责在不同区域间通信。路由域中Level-2级别的路由器必须是物理连续的以保证骨干网的连续性

image-20220211100042200

Level-1-2路由器

Level-1-2路由器与OSPF中的ABR非常相似它也是IS-IS骨干网络的组成部分

Level-1-2路由器维护两个LSDBLevel-1的LSDB用于区域内路由Level-2的LSDB用于区域间路由

同时属于Level-1和Level-2的路由器称为Level-1-2路由器例如图中的R2和R3它可以与同一区域的Level-1和Level-1-2路由器形成Level-1邻接关系也可以与其他区域的Level-2和Level-1-2路由器形成Level-2的邻接关系。

image-20220211100207249

注意:

在华为路由器上配置IS-IS时缺省时路由器全局Level为Level-1-2当然可以通过命令修改该设备的类型

6.IS-IS支持的网络类型

IS-IS会自动根据接口的数据链路层封装决定该接口的缺省网络类型 IS-IS支持两种类型的网络

广播Broadcast 如Ethernet

点到点P2P 如PPP、 HDLC等

image-20220211100443150
7.IS-IS开销值

IS-IS使用Cost开销作为路由度量值Cost值越小则路径越优。IS-IS链路的Cost与设备的接口有关与OSPF类似每一个激活了IS-IS的接口都会维护接口Cost。然而与OSPF不同的是IS-IS接口的Cost在缺省情况下并不与接口带宽相关在实际部署时IS-IS也支持根据带宽调整Cost值无论接口带宽多大缺省时Cost为10

一条IS-IS路径的Cost等于本路由器到达目标网段沿途的所有链路的Cost总和

IS-IS有三种方式来确定接口的开销按照优先级由高到低分别是

接口开销:为单个接口设置开销

全局开销:为所有接口设置开销

自动计算开销:根据接口带宽自动计算开销

image-20220211100625663

narrow类型下使用的TLV

128号TLVIP Internal Reachability TLV用来携带路由域内的IS-IS路由信息

130号TLVIP External Reachability TLV用来携带路由域外的IS-IS路由信息

2号TLV(IS Neighbors TLV):用来携带邻居信息

wide类型下使用的TLV

135号TLV(Extended IP Reachability TLV)用来替换原有的IP reachability TLV携带IS-IS路由信息它扩展了路由开销值的范围并可以携带sub TLV

22号TLVIS Extended Neighbors TLV用来携带邻居信息

8.IS-IS报文格式

IS-IS报文是直接封装在数据链路层的帧结构中的

PDUProtocol Data Unit协议数据单元可以分为两个部分报文头IS-IS Header和变长字段部分Variable Length Fields

其中IS-IS Header又可分为通用头部PDU Common Header和专用头部PDU Specific Header。对于所有PDU来说通用报头都是相同的但专用报头根据PDU类型不同而有所差别

image-20220211101005940

IS-IS通用头部详解

image-20220211101025171

Intradomain Routing Protocol Discriminator域内路由选择协议鉴别符固定为0x83

Length IndicatorIS-IS头部的长度包括通用头部和专用头部以Byte为单位

Version/Protocol ID Extension版本/协议标识扩展固定为0x01

System ID LengthNSAP地址或NET中System ID区域的长度。值为0时表示System ID区域的长度为6Byte

RReserved保留固定为0

Version固定为0x01

Max.Areas支持的最大区域个数。设置为1254的整数表示该IS-IS进程实际所允许的最大区域地址数设置为0表示该IS-IS进程最大只支持3个区域地址数

IS-IS报文类型概述

IS-IS的PDU有4种类型IIH(IS-IS Hello)LSP Link State PDU链路状态报文CSNPComplete Sequence Number PDU全序列号报文PSNPPartial Sequence Number PDU部分序列号报文

IIH用于建立和维持邻接关系 广播网络中的Level-1 IS-IS路由器使用Level-1 LAN IIH 广播网络中的Level-2 IS-IS路由器使用Level-2 LAN IIH 点到点网络中则使用P2P IIH

LSP用于交换链路状态信息。LSP分为两种Level-1 LSP、Level-2 LSP

SNP通过描述全部或部分链路数据库中的LSP来同步各LSDB从而维护LSDB的完整与同步。SNP包括CSNP和PSNP进一步又可分为Level-1 CSNP、 Level-2 CSNP、 Level-1 PSNP和Level-2 PSNP

image-20220211101321605
9.IS-IS常见的TLV

TLV的含义是类型TYPE长度LENGTHVALUE。实际上是一个数据结构这个结构包含了这三个字段

使用TLV结构构建报文的好处是灵活性和扩展性好。采用TLV使得报文的整体结构固定增加新特性只需要增加新TLV即可不需要改变整个报文的整体结构

TLV Type 名称 PDU类型
1 Area Addresses 区域地址 IIH、 LSP
2 IS NeighborsLSP 中间系统邻接 LSP
4 Partition Designated Level2 IS 区域分段指定L2中间系统 L2 LSP
6 IS NeighborsMAC Address 中间系统邻接 LAN IIH
7 IS NeighborsSNPA Address 中间系统邻接 LAN IIH
8 Padding 填充 IIH
9 LSP Entries LSP条目 SNP
10 Authentication Information 验证信息 IIH、 LSP、 SNP
128 IP Internal Reachability Information IP内部可达性信息 LSP
129 Protocols Supported 支持的协议 IIH、 LSP
130 IP External Reachability Information IP外部可达性信息 LSP
131 Inter-Domain Routing Protocol Information 域间路由选择协议信息 L2 LSP
132 IP Interface Address IP接口地址 IIH、 LSP

IS-IS工作原理

1.邻接关系建立

IS-IS按如下原则建立邻接关系

只有同一层次的相邻路由器才有可能成为邻接

对于Level-1路由器来说Area ID必须一致

链路两端IS-IS接口的网络类型必须一致

链路两端IS-IS接口的地址必须处于同一网段默认情况下

由于IS-IS是直接运行在数据链路层上的协议并且最早设计是给CLNP使用的IS-IS邻接关系的形成与IP地址无关。但在实际的部署中在IP网络上运行IS-IS时需要检查对方的IP地址的。如果接口配置了从IP那么只要双方有某个IP主IP或者从IP在同一网段就能建立邻接不一定要主IP相同

注意:

通过将以太网接口模拟成点到点接口,可以建立点到点链路邻接关系

当链路两端IS-IS接口的地址不在同一网段时如果配置接口对接收的Hello报文不作IP地址检查也可以建立邻接关系

一般情况下一个接口只需配置一个主IP地址但在有些特殊情况下需要配置从IP地址。比如一台路由器通过一个接口连接了一个物理网络但该物理网络的计算机分别属于2个不同的网络为了使路由器与物理网络中的所有计算机通信就需要在该接口上配置一个主IP地址和一个从IP地址。路由器的每个三层接口可以配置多个IP地址其中一个为主IP地址其余为从IP地址每个三层接口最多可配置31个从IP地址

IIH

IIH报文用于建立和维持邻接关系广播网络中的Level-1 IS-IS路由器使用Level-1 LAN IIH广播网络中的Level-2 IS-IS路由器使用Level-2 LAN IIH点到点网络中则使用P2P IIH

image-20220211101919913

Reserved/Circuit Type表示路由器的类型01表示L110表示L211表示L1/L2

Source ID 发出Hello报文的路由器的System ID

Holding Time 保持时间。在此时间内如果没有收到邻接发来的Hello报文则中止已建立的邻接关系

Priority 选举DIS的优先级取值范围为0127。数值越大优先级越高。该字段只在广播网中的Hello消息(LAN IIH消息)携带点到点网络的Hello消息(P2P IIH消息)没有此字段也没有此字段之前的R保留位

LAN ID 包括DIS的System ID和伪节点ID。该字段只在广播网中的Hello消息(LAN IIH消息)携带点到点网络的Hello消息(P2P IIH消息)没有此字段

Local Circuit ID 本地链路ID。该字段只在点到点网络的Hello消息(P2P IIH消息)携带广播网中的Hello消息(LAN IIH消息)没有此字段

广播网络中的邻接关系建立过程

两台运行IS-IS的路由器在交互协议报文实现路由功能之前必须首先建立邻接关系。在不同类型的网络上IS-IS的邻接建立方式并不相同。在广播网络中使用三次握手建立邻接关系

image-20220211102223215

R1及R2通过千兆以太接口互联这两台直连的Level-1路由器建立邻接关系的过程如下

在Down状态下R1组播发送Level-1 LAN IIH此报文中邻接列表为空

R2收到此报文后将邻接状态标识为Initial。然后R2再向R1回复Level-1 LAN IIH 此报文中标识R1为R2的邻接

R1收到此报文后将自己与R2的邻接状态标识为Up。然后R1再向R2发送一个标识R2为R1邻接的Level-1 LAN IIH

R2收到此报文后将自己与R1的邻接状态标识为Up。这样两个路由器成功建立了邻接关系

广播网络中需要选举DIS在邻接关系建立后路由器会等待两个Hello报文间隔再进行DIS的选举

注意:

Level-1 IIH和Level-2 IIH发送的组播地址分别为01-80-C2-00-00-14、01-80-C2-00-00-15

Down邻接关系的初始状态

Initial收到IIH但是报文中的邻接列表未包含路由器自身的System ID

UP收到IIS且邻接列表中包含路由器自身的System ID

DIS与伪节点

在广播网络中IS-IS需要在所有的路由器中选举一个路由器作为DISDesignated Intermediate System

DIS用来创建和更新伪节点Pseudonodes并负责生成伪节点的LSP用来描述这个网络上有哪些网络设备。伪节点是用来模拟广播网络的一个虚拟节点并非真实的路由器。在IS-IS中伪节点用DIS的System ID和Circuit ID非0值标识

image-20220211102549292

IS-IS中的DIS与OSPF中的DR

Level-1和Level-2的DIS是分别选举的用户可以为不同级别的DIS选举设置不同的优先级

DIS的选举规则如下

DIS优先级数值最大的被选为DIS

如果优先级数值最大的路由器有多台则其中MAC地址最大的路由器会成为DIS

DIS发送Hello PDU的时间间隔是普通路由器的1/3这样可以确保DIS出现故障时能够被更快速地被发现

IS-IS中DIS与OSPF协议中DRDesignated Router的区别

在IS-IS广播网中优先级为0的路由器也参与DIS的选举而在OSPF中优先级为0的路由器则不参与DR的选举

在IS-IS广播网中当有新的路由器加入并符合成为DIS的条件时这个路由器会被选中成为新的DIS原有的伪节点被删除。此更改会引起一组新的LSP泛洪。而在OSPF中当一台新路由器加入后即使它的DR优先级值最大也不会立即成为该网段中的DR

在IS-IS广播网中同一网段上的同一级别的路由器之间都会形成邻接关系包括所有的非DIS路由器之间也会形成邻接关系。而在OSPF中路由器只与DR和BDR建立邻接关系

点到点网络中的邻接关系建立过程

image-20220211103015551

点到点网络中邻接关系的建立使用两次握手方式只要路由器收到对端发来的Hello报文就单方面宣布邻接为Up状态建立邻接关系

两次握手机制存在明显的缺陷华为设备在点到点网络中使用IS-IS时默认使用三次握手建立邻接关系。此方式通过三次发送P2P IIH最终建立起邻接关系

2.链路状态数据库同步

LSP

IS-IS链路状态报文LSP用于交换链路状态信息。LSP分为两种Level1 LSP和Level2 LSP。Level1 LSP由Level-1路由器传送Level2 LSP由Level-2路由器传送Level-1-2路由器则可传送以上两种LSP

image-20220211103254063

Remaining Lifetime : LSP的生存时间以秒为单位

LSP ID:由三部分组成System ID、伪节点ID和LSP分片后的编号

Sequence Number: LSP的序列号。在路由器启动时所发送的第一个LSP报文中的序列号为1以后当需要生成新的LSP时新LSP的序列号在前一个LSP序列号的基础上加1。更高的序列号意味着更新的LS

Checksum LSP的校验和

ATTAttachment由Level-1-2路由器产生用来指明始发路由器是否与其它区域相连。虽然此标志位也存在于Level-1和Level-2的LSP中但实际上此字段只和Level-1-2路由器始发的L1 LSP有关

OLLSDB Overload1bit过载标志位。设置了过载标志位的LSP虽然还会在网络中扩散但是在计算通过超载路由器的路由时不会被采用。即对路由器设置过载位后其它路由器在进行SPF计算时不会考虑这台路由器。当路由器内存不足时系统自动在发送的LSP报文中设置过载标志位

IS Type(2bit)生成LSP的路由器的类型。用来指明是Level-1还是Level-2路由器01表示Level-111表示Level-2

IS-IS的LSDB

image-20220211103406493

伪节点ID当该参数不为零时表示该LSP为伪节点生成

分片号当IS-IS要发布的链路状态协议数据报文PDUProtocol Data Unit中的信息量太大时IS-IS路由器将会生成多个LSP分片用来携带更多的IS-IS信息。分片号用来区分不同的LSP分片

查看非伪节点的LSP

image-20220211103730395
<R1> display isis lsdb 0100.0000.1001.00-00 verbose
                                  Database information for ISIS(1)
Level-1 Link State Database
LSPID                             Seq Num         Checksum    Holdtime    Length    ATT/P/OL
--------------------------------------------------------------------------------------------------
0100.0000.1001.00-00*     0x0000000e    0x9a75         1072          113         0/0/0
SOURCE 		0100.0000.1001.00
NLPID 		IPV4
AREA ADDR 		49.0123
INTF ADDR 		10.1.12.1                                           //描述接口信息
INTF ADDR 		10.1.13.1
NBR ID 		0100.0000.1001.01 	COST: 10    //描述邻接关系
NBR ID 		0100.0000.3003.01 	COST: 10
IP-Internal 		10.1.12.0 255.255.255.0 	COST: 10
IP-Internal 		10.1.13.0 255.255.255.0 	COST: 10    //描述路由信息
IP-Internal 		1.1.1.0 255.255.255.0 	COST: 10
Total LSP(s): 1

AREA ADDR该LSP来源的区域号

INTF ADDR该LSP中描述的接口地址

NBR ID该LSP中描述的邻接信息

IP-Internal该LSP中描述的网段信息

查看伪节点LSP

image-20220211104152439
	Database information for ISIS(1)
	Level-1 Link State Database
LSPID                             Seq Num        Checksum    Holdtime    Length    ATT/P/OL
----------------------------------------------------------------------------------------------------
0100.0000.1001.01-00*    0x00000009    0xca36         431            55          0/0/0
SOURCE 		0100.0000.1001.01
NLPID 		IPV4
NBR ID 		0100.0000.1001.00 COST: 0   //描述该广播网络中所有IS-IS路由器
NBR ID 		0100.0000.2002.00 COST: 0  //伪节点到达其他路由器的Cost值为0
Total LSP(s): 1
    *(In TLV)-Leaking Route, *(By LSPID)-Self LSP, +-Self LSP(Extended),
          ATT-Attached, P-Partition, OL-Overload

注意:

在伪节点LSP中只包含邻接信息而不包含路由信息

CSNP

CSNP包含该设备LSDB中所有的LSP摘要路由器通过交互 CSNP来判断是否需要同步LSDB

在广播网络上CSNP由DIS定期发送缺省的发送周期为10秒

在点到点网络上CSNP只在第一次建立邻接关系时发送

image-20220211104912304

Source ID发出CSNP报文的路由器的System ID

Start LSPCSNP报文中第一个LSP的ID值

End LSP IDCSNP报文中最后一个LSP的ID值

PSNP

PSNP只包含部分LSP的摘要信息与CSNP不同

当发现LSDB不同步时PSNP来请求邻居发送新的LSP

在点到的网络中当收到LSP时使用PSNP对收到的LSP进行确认

image-20220211105617365

Source ID发出PSNP报文的路由器的System ID

广播网络中LSP的同步过程

image-20220211105731435

新加入的路由器R3首先发送IIH报文与该广播域中的路由器建立邻接关系。建立邻接关系之后R3等待LSP刷新定时器超时然后将自己的LSP发往组播地址Level-101-80-C2-00-00-14Level-201-80-C2-00-00-15。这样网络上所有的邻接都将收到该LSP

该网段中的DIS会把收到R3的LSP加入到LSDB中并等待CSNP报文定时器超时并发送CSNP报文

R3收到DIS发来的CSNP报文对比自己的LSDB数据库然后向DIS发送PSNP报文请求自己没有的LSP

DIS收到该PSNP报文请求后向R3发送对应的LSP进行LSDB的同步

点到点网络中LSP的同步过程

image-20220211113216373

R1先与R2建立邻接关系

建立邻接关系之后R1与R2会先发送CSNP给对端设备。如果对端的LSDB与CSNP没有同步则发送PSNP请求索取相应的LSP

假设R2向R1索取相应的LSP

R1发送R2请求的LSP的同时启动LSP重传定时器并等待R2发送的PSNP作为收到LSP的确认

如果在接口LSP重传定时器超时后R1没有收到R2发送的PSNP报文作为应答

则R1重新发送该LSP

R2收到LSP后发送PSNP进行确认

LSP的处理机制

image-20220211113408264

IS-IS通过交互LSP实现链路状态数据库同步路由器收到LSP后按照以下原则处理

若收到的LSP比本地LSP的更优或者本地没有收到的LSP

在广播网络中将其加入数据库并组播发送新的LSP

在点到点网络中将其加入数据库并发送PSNP报文来确认收到此LSP之后将这新的LSP发送给除了发送该LSP的邻居以外的邻居

若收到的LSP和本地LSP无法比较出优劣则不处理该LSP

LSP产生的原因IS-IS路由域内的所有路由器都会产生LSP以下事件会触发一个新的LSP

邻接Up或Down

IS-IS相关接口Up或Down

引入的IP路由发生变化

区域间的IP路由发生变化

接口被赋了新的metric值

周期性更新刷新间隔15min

IS-IS的基本配置

1.IS-IS协议的基本配置

image-20220211113919644

image-20220211113928679

image-20220211113937273

2.IS-IS配置

image-20220211115036282

组网需求

如图所示现网中有5台路由器。用户希望在这5台路由器实现网络互联并且因为R1性能相对较低所以还要使这台路由器处理相对较少的数据信息。同时用户希望R1可以选择最优路径访问192.168.10.0/24和192.168.20.0/24网段。

配置思路

在各路由器上配置IS-IS基本功能实现网络互联。其中配置R1为Level-1路由器可以使这台路由器维护相对少量的数据信息。同时配置R2和R3为Level-1/2路由器与R4和R5这两台Level-2路由器互联

R1R1的路由器等级需要设置为Level1

[R1] isis 1
[R1-isis-1] is-level level-1
[R1-isis-1] network-entity 49.0001.0010.0100.1001.00
[R1-isis-1] quit
[R1] interface gigabitethernet 0/0/0
[R1-GigabitEthernet0/0/0] isis enable 1
[R1-GigabitEthernet0/0/0] interface gigabitethernet 0/0/1
[R1-GigabitEthernet0/0/1] isis enable 1

R2和R3R2、R3的路由器等级需要设置为Level1/2

[R2] isis 1
[R2-isis-1] is-level level-1-2
[R2-isis-1] network-entity 49.0001.0020.0200.2002.00
[R2-isis-1] quit
[R2] interface gigabitethernet 0/0/0
[R2-GigabitEthernet0/0/0] isis enable 1
[R2-GigabitEthernet0/0/0] interface gigabitethernet 0/0/1
[R2-GigabitEthernet0/0/1] isis enable 1

[R3] isis 1
[R3-isis-1] is-level level-1-2
[R3-isis-1] network-entity 49.0001.0030.0300.3003.00
[R3-isis-1] quit
[R3] interface gigabitethernet 0/0/0
[R3-GigabitEthernet0/0/0] isis enable 1
[R3-GigabitEthernet0/0/0] interface gigabitethernet 0/0/1
[R3-GigabitEthernet0/0/1] isis enable 1

R4和R5R4、R5的路由器等级需要设置为Level2

[R4] isis 1
[R4-isis-1] is-level level-2
[R4-isis-1] network-entity 49.0002.0040.0400.4004.00
[R4-isis-1] quit
[R4] interface gigabitethernet 0/0/0
[R4-GigabitEthernet0/0/0] isis enable 1
[R4-GigabitEthernet0/0/0] interface gigabitethernet 0/0/1
[R4-GigabitEthernet0/0/1] isis enable 1
[R4-GigabitEthernet0/0/1] interface gigabitethernet 0/0/2
[R4-GigabitEthernet0/0/2] isis enable 1

[R5] isis 1
[R5-isis-1] is-level level-2
[R5-isis-1] network-entity 49.0002.0050.0500.5005.00
[R5-isis-1] quit
[R5] interface gigabitethernet 0/0/0
[R5-GigabitEthernet0/0/0] isis enable 1
[R5-GigabitEthernet0/0/0] interface gigabitethernet 0/0/1
[R5-GigabitEthernet0/0/1] isis enable 1
[R5-GigabitEthernet0/0/1] interface gigabitethernet 0/0/2
[R5-GigabitEthernet0/0/2] isis enable 1

配置验证 (查看设备的IS-IS邻接表)

R4路由器建立Level-2的邻接关系

<R4> display isis peer
			Peer information for ISIS(1)
System Id 	Interface 	Circuit Id 	State 	HoldTime 	Type 	PRI
0020.0200.2002 	GE0/0/0 	0040.0400.4004.01 	Up 	25s 	L2 	64
0050.0500.5005 	GE0/0/1 	0050.0500.5005.01 	Up 	13s 	L2 	64

R1路由器建立Level-1的邻接关系

<R1> display isis peer
			Peer information for ISIS(1)
System Id 	Interface 	Circuit Id 	State 	HoldTime 	Type 	PRI
0020.0200.2002 	GE0/0/0 	0010.0100.1001.01 	Up 	29s 	L1 	64
0030.0300.3003 	GE0/0/1 	0030.0300.3003.01 	Up 	9s 	L1 	64

System Id字段描述邻接的系统ID

Interface字段描述通过该路由器哪个端口与邻接建立邻接关系

Type描述与该邻接的邻接关系类型

PRI描述该邻接对应端口的DIS优先级

配置验证 (查看设备的IS-IS路由表)

<R1> display isis route
		Route information for ISIS(1)
	ISIS(1) Level-1 Forwarding Table
IPV4 Destination 	IntCost 	ExtCost 	ExitInterface 	NextHop 
0.0.0.0/0 	10	NULL 	GE0/0/0 	10.1.12.2 
			GE0/0/1 	10.1.13.3
10.1.24.0/24 	20	NULL 	GE0/0/0 	10.1.12.2 
10.1.13.0/24 	10	NULL 	GE0/0/1 	Direct 
10.1.12.0/24 	10	NULL 	GE0/0/0 	Direct 
10.1.35.0/24 	20	NULL 	GE0/0/1 	10.1.13.3 

R1路由表中存在区域内的明细路由以及两条等价的默认路由

**配置验证 (查看设备的IS-IS路由表) **

<R3>display isis route
	Route information for ISIS(1)
	-----------------------------
	ISIS(1) Level-1 Forwarding Table
	--------------------------------
IPV4 Destination   IntCost   ExtCost   ExitInterface    NextHop 	Flags
-------------------------------------------------------------------------------
0.0.0.0/0 	        20          NULL
10.1.24.0/24 	        30          NULL     GE0/0/0          10.1.13.1 	A/-/L/-
10.1.13.0/24 	        10          NULL     GE0/0/0          Direct 	D/-/L/-
10.1.12.0/24 	        20          NULL     GE0/0/0          10.1.13.1 	A/-/L/-
10.1.35.0/24 	        10          NULL     GE0/0/1          Direct 	D/-/L/-
Flags: D-Direct, A-Added to URT, L-Advertised in LSPs, S-IGP Shortcut,
U-Up/Down Bit Set
……
……
	ISIS(1) Level-2 Forwarding Table
	--------------------------------
IPV4 Destination  IntCost  ExtCost  ExitInterface  NextHop   Flags
-------------------------------------------------------------------------------
10.1.24.0/24        30         NULL
10.1.13.0/24        10         NULL     GE0/0/0        Direct        D/-/L/-
10.1.12.0/24        40         NULL
192.168.20.0/24   20         NULL    GE0/0/1         10.1.35.5   A/-/-/-
10.1.45.0/24        20         NULL     GE0/0/1        10.1.35.5   A/-/-/-
192.168.10.0/24   30         NULL     GE0/0/1        10.1.35.5   A/-/-/-
10.1.35.0/24        10         NULL     GE0/0/1        Direct       D/-/L/-
Flags: D-Direct, A-Added to URT, L-Advertised in LSPs, S-IGP Shortcut,
U-Up/Down Bit Set

R3作为Level-1-2路由器路由表中存在Level-1及Level-2路由

路由渗透配置

image-20220211141853150

R2

[R2] ip ip-prefix 1 permit 192.168.10.0 24
[R2] isis 1
[R2-isis-1] import-route isis level-2 into level-1 filter-policy ip-prefix 1

R3

[R3] ip ip-prefix 1 permit 192.168.20.0 24
[R3] isis 1
[R3-isis-1] import-route isis level-2 into level-1 filter-policy ip-prefix 1

路由渗透验证

通过查看R1的路由表我们可以看到新增了两条明细路由192.168.10.0/24以及192.168.20.0/24两条路由的开销值均为30当有数据包经由R1到达这两个网段时不会产生次优路径

image-20220211142104848
<R1> display ip routing-table protocol isis
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : ISIS
	Destinations : 5 Routes : 6
ISIS routing table status : <Active>
	Destinations : 5 Routes : 6
Destination/Mask  Proto 	Pre  Cost  Flags  NextHop 	Interface
0.0.0.0/0 	       ISIS-L1 	15   10     D 	    10.1.12.2 	GigabitEthernet0/0/0
	       ISIS-L1 	15   10     D 	    10.1.13.3 	GigabitEthernet0/0/1
192.168.10.0/2      ISIS-L1 	15   30     D 	    10.1.12.2 	GigabitEthernet0/0/0
192.168.20.0/2      ISIS-L1 	15   30     D 	    10.1.13.3 	GigabitEthernet0/0/1
10.1.24.0/24 	       ISIS-L1 	15   20     D 	    10.1.12.2 	GigabitEthernet0/0/0
10.1.35.0/24 	       ISIS-L1 	15   20     D 	    10.1.13.3 	GigabitEthernet0/0/1
3.IS-IS认证的分类

IS-IS认证是基于网络安全性的要求而实现的一种认证手段通过在IS-IS报文中增加认证字段对报文进行认证。当本地路由器接收到远端路由器发送过来的IS-IS报文如果发现认证密码不匹配则将收到的报文进行丢弃达到自我保护的目的

根据报文的种类,认证可以分为以下三类:

接口认证在接口视图下配置对Level-1和Level-2的Hello报文进行认证

区域认证在IS-IS进程视图下配置对Level-1的CSNP、PSNP和LSP报文进行认证

路由域认证在IS-IS进程视图下配置对Level-2的CSNP、PSNP和LSP报文进行认证

根据报文的认证方式,可以分为以下四类:

简单认证:将配置的密码直接加入报文中,这种加密方式安全性较其他两种方式低

MD5认证通过将配置的密码进行MD5算法加密之后再加入报文中提高密码的安全性

Keychian认证通过配置随时间变化的密码链表来进一步提升网络的安全性

HMAC-SHA256认证通过将配置的密码进行HMAC-SHA256算法加密之后再加入报文中提高密码的安全性

4.IS-IS认证详解

接口认证

Hello报文使用的认证密码保存在接口下发送带认证TLV的认证报文互相连接的路由器接口必须配置相同的口令

区域认证

区域内的每一台L1路由器都必须使用相同的认证模式和具有共同的钥匙串

路由域认证

IS-IS域内的每一台L2和L1/L2类型的路由器都必须使用相同模式的认证并使用共同的钥匙串

对于区域和路由域认证可以设置为SNP和LSP分开认证

本地发送的LSP报文和SNP报文都携带认证TLV对收到的LSP报文和SNP报文都进行认证检查

本地发送的LSP报文携带认证TLV对收到的LSP报文进行认证检查发送的SNP报文携带认证TLV但不对收到的SNP报文进行检查

本地发送的LSP报文携带认证TLV对收到的LSP报文进行认证检查发送的SNP报文不携带认证TLV也不对收到的SNP报文进行认证检查

本地发送的LSP报文和SNP报文都携带认证TLV对收到的LSP报文和SNP报文都不进行认证检查

5.IS-IS认证的配置

image-20220211144826405

image-20220211144835706