ISIS动态路由协议配置与案例

IT海睿 343 0

ISIS和OSPF一样都是动态路由协议的一种。

NSAP:

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

image.png

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

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

NET:

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

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

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

image.png

IS-IS和OSPF区域划分的区别

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

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

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

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

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

image.png

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.png

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级别的路由器必须是物理连续的,以保证骨干网的连续性。

Level-1-2路由器

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

Level-1-2路由器维护两个LSDB,Level-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的邻接关系。

ISIS的开销Cost

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有三种方式来确定接口的开销,按照优先级由高到低分别是:

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

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

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

IS-IS报文格式

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

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

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

image.png

ISIS报文类型

IS-IS的PDU有4种类型:IIH(IS-IS Hello),LSP( Link State PDU,链路状态报文),CSNP(Complete  Sequence Number PDU,全序列号报文),PSNP(Partial  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.png

ISIS邻接关系建立原则

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中的DIS与OSPF中的DR

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

DIS的选举规则如下:

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

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

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

IS-IS中DIS与OSPF协议中DR(Designated Router)的区别:

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

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

配置命令:
1,创建并进入ISIS进程

[Huawei] isis 进程号 ## 如果不指定进程号,默认为1

2,配置网络实体名称(NET)

[Huawei-isis-1] network-entity 实体名称 ## 在ISIS视图下指定实体名称,例如49.0040.0400.4004.00

通常情况下,一个IS-IS进程下配置一个NET即可。

当区域需要重新划分时,例如将多个区域合并,或者将一个区域划分为多个区域,这种情况下配置多个NET可以在重新配置时仍然能够保证路由的正确性。

由于一个IS-IS进程中区域地址最多可配置3个,所以NET最多也只能配3个。在配置多个NET时,必须保证它们的System ID都相同。

3,配置全局Level级别

[Huawei-isis-1] is-level { level-1 | level-1-2 | level-2 } ## 指定level级别,默认为level-1-2 ## 缺省情况下,设备的Level级别为level-1-2。

在网络运行过程中,改变IS-IS设备的级别可能会导致IS-IS进程重启并可能会造成IS-IS邻居断连,建议用户在配置IS-IS时即完成设备级别的配置。

4,在接口上启用ISIS协议

[Huawei-GigabitEthernet0/0/1] isis enable 进程号 ## IS-IS将通过该接口建立邻居、扩散LSP报文。

5,配置接口Level级别

[Huawei-GigabitEthernet0/0/1] isis circuit-level [ level-1 | level-1-2 | level-2 ] ## 缺省情况下,接口的Level级别为level-1-2。

两台Level-1-2设备建立邻居关系时,缺省情况下,会分别建立Level-1和Level-2邻居关系。如果只希望建立Level-1或者Level-2的邻居关系,可以通过修改接口的Level级别实现。

6,配置接口网络类型(可选)

[Huawei-GigabitEthernet0/0/1]isis circuit-type p2p ## ISIS只支持两种网络类型,一种广播类型,一种点到点p2p,所以这里要么配置为p2p要么默认即为广播
[Huawei-GigabitEthernet0/0/1] undo isis circuit-type ## 默认为广播

7,修改接口DIS优先级(可选)

[Huawei-GigabitEthernet0/0/1] isis dis-priority priority [ level-1 | level-2 ] ## 缺省为64,越小越优先

8,ISIS区域认证配置(可选配置)

[Huawei-isis-1]area-authentication-mode simple plain 密码 all-send-only [ip,osi,snp-packet] ## 以简单的密文,明文存储密码 ,仅封装认证[IP认证,OSI模型认证,SNP报文认证]
[Huawei-isis-1]area-authentication-mode simple cipher 密码 all-send-only [ip,osi,snp-packet] ## 以简单的密文,密文存储密码 ,仅封装认证[IP认证,OSI模型认证,SNP报文认证]
[Huawei-isis-1]area-authentication-mode md5 plain 密码 all-send-only [ip,osi,snp-packet] ## 以md5加密的密文,明文存储密码 ,仅封装认证[IP认证,OSI模型认证,SNP报文认证]
[Huawei-isis-1]area-authentication-mode md5 cipher 密码 all-send-only [ip,osi,snp-packet] ## 以md5加密的密文,密文存储密码 ,仅封装认证[IP认证,OSI模型认证,SNP报文认证]
[Huawei-isis-1]area-authentication-mode keychain 密钥链名称 all-send-only [snp-packet] ## 以密钥链形式,仅封装认证[SNP报文认证]

9,ISIS路由域认证(可选配置)

方式和8条类似,参考配置即可
[Huawei-isis-1] domain-authentication-mode { { simple | md5 } { plain plain-text | [ cipher ] plain-cipher-text } keychain keychain-name | hmac-sha256 key-id key-id } [ snp-packet { authentication-avoid | send-only } | all-send-only ]

10,接口认证(可选配置)

[Huawei-GigabitEthernet0/0/0] isis authentication-mode [keychain | md5 | simple ] [ level-1 | level-2 ] [ ip | osi ] [ send-only ] 
level-1 指定设置Level-1级别的认证;level-2 指定设置Level-2级别的认证;send-only 指定只对发送的Hello报文加载认证信息,不对接收的Hello报文进行认证。
[R1-GigabitEthernet0/0/0] isis authentication-mode simple cipher  huawei ## 示例

ISIS配置案例1:

组网需求

如图所示,现网中有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路由器互联。

image.png

R1的配置如下:

[R1] isis 1
[R1-isis-1] is-level level-1
[R1-isis-1] network-entity 49.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的配置如下:R3配置类似,参考配置即可

[R2] isis 1
[R2-isis-1] is-level level-1-2
[R2-isis-1] network-entity 49.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

R4的配置如下:R5的配置类似,参考即可

[R4] isis 1
[R4-isis-1] is-level level-2
[R4-isis-1] network-entity 49.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

  • 评论列表

留言评论