华为数通笔记-ISIS基础

ISIS

英文全称:(Intermediate System to Intermediate System,中间系统到中间系统,一种动态路由协议)

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

IS-IS的基本概念

IS-IS概述

IS-ISISO定义的OSI协议栈中CLNSConnectionLess Network Service,无连接网络服务)的一部分。

CLNS由以下三个部分组成:

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

ES-IS:End System to Intermediate System,终端系统到中间系统。

  

NSAP

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

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

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

 

NET

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

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

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

 Area ID由IDPDSP中的High Order DSP组成,既能够标识路由域,也能够标识路由域中的区域。因此,它们一起被称为区域地址,相当于OSPF中的区域编号。

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

 

NET的配置举例

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

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

 

IS-ISOSPF区域划分的区别

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

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

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

 

isisospf区别(isis基于路由器划分区域)

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

IS-IS中,单个区域没有骨干与非骨干区域的概念(整个骨干区域不仅包括Area49.0002中的所有路由器,还包括其它区域的Level2Level-1-2路由器);而在OSPF中,Area0被定义为骨干区域。

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

IS-IS路由器的分类

Level-1路由器

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

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

Level-2路由器

Level-2路由器(例如图中的R4R5R6R7)是IS-IS骨干路由器,它可以与同一或者不同区域的Level-2路由器或者Level-1-2路由器形成邻接关系Level-2路由器维护一个Level-2LSDB,该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-1Level-2的路由器称为Level-1-2路由器(例如图中的R2R3),它可以与同一区域的Level-1Level-1-2路由器形成Level-1邻接关系,也可以与其他区域的Level-2Level-1-2路由器形成Level-2的邻接关系。

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

 

IS-IS支持的网络类型

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

 

IS-IS开销值

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

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

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

  • 接口开销:为单个接口设置开销。
  • 全局开销:为所有接口设置开销。
  • 自动计算开销:根据接口带宽自动计算开销。

在早期的ISO10589中,使能IS-IS的接口下最大只能配置值为63的开销值,此时IS-IS的开销类型narrow。但是在大型网络设计中,较小的度量范围不能满足实际需求。RFC3784中规定,使能IS-IS的接口开销值可以扩展到16777215,此时IS-IS的开销类型为wide

缺省时,华为路由器采用的开销类型是narrow

narrow类型下使用的TLV:

  • 128TLVIP Internal Reachability TLV):用来携带路由域内的IS-IS路由信息。
  • 130TLVIP External Reachability TLV):用来携带路由域外的IS-IS路由信息。
  • 2号TLV(IS Neighbors TLV):用来携带邻居信息。

wide类型下使用的TLV:

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

TLV(也称CLV  Code-Length-Value)的含义是:类型(TYPE),长度(LENGTH),值(VALUE)。实际上是一个数据结构,这个结构包含了这三个字段。

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

 

IS-IS报文格式

IS-IS通用头部详解

重要字段解释:

  • Intradomain Routing Protocol Discriminator:域内路由选择协议鉴别符,固定为0x83
  • Length IndicatorIS-IS头部的长度(包括通用头部和专用头部),以Byte为单位。
  • Version/Protocol ID Extension:版本/协议标识扩展,固定为0x01
  • System ID LengthNSAP地址或NETSystem ID区域的长度。值为0时,表示System ID区域的长度为6Byte
  • RReserved):保留,固定为0
  • Version:固定为0x01
  • Max.Areas:支持的最大区域个数。设置为1254的整数,表示该IS-IS进程实际所允许的最大区域地址数;设置为0,表示该IS-IS进程最大只支持3个区域地址数。

 

IS-IS报文类型概述

IIH

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 包括DISSystem ID和伪节点ID。该字段只在广播网中的Hello消息(LAN IIH消息)携带;点到点网络的Hello消息(P2P IIH消息)没有此字段。

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

 

LSP

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

两类LSP有相同的报文格式

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

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

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

Checksum : LSP的校验和。

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

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

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

CSNP

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

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

Start LSP:CSNP报文中第一个LSP的ID值。

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

PSNP

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

在点到的网络中,当收到LSP时,使用PSNP对收到的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地址

 

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

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

 

DIS与伪节点

IS-IS中的DISOSPF中的DR

Level-1Level-2DIS是分别选举的,用户可以为不同级别的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
  • IS-IS广播网中,同一网段上的同一级别的路由器之间都会形成邻接关系,包括所有的非DIS路由器之间也会形成邻接关系。而在OSPF中,路由器只与DRBDR建立邻接关系

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

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

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

2.链路状态数据库同步

IS-ISLSDB

 

查看非伪节点的LSP

查看伪节点LSP

非伪节点LSP有接口信息,路由信息,邻接信息。伪节点只有邻接信息而不包含路由信息

广播网络中LSP的同步过程

广播网络中新加入路由器与DIS同步LSDB数据库的过程:

  1. 新加入的路由器R3首先发送IIH报文,与该广播域中的路由器建立邻接关系。建立邻接关系之后,R3等待LSP刷新定时器超时,然后将自己的LSP发往组播地址(Level-101-80-C2-00-00-14Level-201-80-C2-00-00-15)。这样网络上所有的邻接都将收到该LSP
  2. 该网段中的DIS会把收到R3LSP加入到LSDB中,并等待CSNP报文定时器超时并发送CSNP报文。
  3. R3收到DIS发来的CSNP报文,对比自己的LSDB数据库,然后向DIS发送PSNP报文请求自己没有的LSP
  4. DIS收到该PSNP报文请求后向R3发送对应的LSP进行LSDB的同步。

 

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

LSP处理机制

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

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

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

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

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

  • 邻接UpDown
  • IS-IS相关接口UpDown
  • 引入的IP路由发生变化
  • 区域间的IP路由发生变化
  • 接口被赋了新的metric
  • 周期性更新(刷新间隔15min)

3.路由计算

Level-1路由器的路由计算

R1是Level-1路由器,只维护Level-1 LSDB,该LSDB中包含同属一个区域的R2及R3以及R1自己产生的Level-1 LSP。

R1根据LSDB中的Level-1 LSP计算出Area 49.0001内的拓扑,以及到达区域内各个网段的路由信息。

R2R3作为Area 49.0001内的Level-1-2路由器,会在它们向该区域下发的Level-1 LSP中设置ATT标志位,用于向区域内的Level-1路由器宣布可以通过自己到达其他区域R1作为Level-1路由器,会根据该ATT标志位,计算出指向R2R3的默认路

Level-1路由器的次优路径的问题(通过路由渗透可以解决)

Level-1Level-2DB是默认进入的

Level-2Level-1DB需要使用import命令

缺省时, R1只能通过指向R2或R3的默认路由到达区域外部,但是R1距离R2和R3路由器的Cost值相等,那么当R1发送数据包到192.168.20.0/24时,就有可能选择路径2,导致出现次优路径。

  • 缺省情况下,Level-1-2路由器不会将到达其他区域的路由通告本Level-1区域中。
  • 通过路由渗透,可以将区域间路由通过Leve-1-2路由器传递到Level-1区域,此时Leve-1路由器可以学习到其他区域的详细路由,从而计算出最优路径。

Level-1-2路由器的路由计算

Level-2路由器的路由计算

R4R5作为Level-2路由器,只会维护Level-2 LSDB,它们能够根据LSDB计算出到达全网各个网段的路由。

4.IS-IS认证

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

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

  • 接口认证:在接口视图下配置,对Level-1Level-2Hello报文进行认证。
  • 区域认证:IS-IS进程视图下配置,对Level-1CSNPPSNPLSP报文进行认证。
  • 路由域认证:IS-IS进程视图下配置,对Level-2/Level1-2CSNPPSNPLSP报文进行认证。

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

  • 简单认证:将配置的密码直接加入报文中,这种加密方式安全性较其他两种方式低。
  • MD5认证:通过将配置的密码进MD5算法加密之后再加入报文中,提高密码的安全性。
  • Keychian认证:通过配置随时间变化的密码链表来进一步提升网络的安全性。
  • HMAC-SHA256认证:通过将配置的密码进行HMAC-SHA256算法加密之后再加入报文中,提高密码的安全性。

接口认证

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

区域认证

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

路由域认证

IS-IS域内的每一台L2L1/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报文都不进行认证检查。

认证信息的携带形式

IS-IS通过TLV的形式携带认证信息,认证TLV的类型为10,具体格式如下:

Type:ISO定义认证报文的类型值为10,长度为1字节。

Length:指定认证TLV值的长度,长度1字节。

Value:指定认证的具体内容,其中包括了认证的类型和认证的密码,长度为1~254字节。
其中认证的类型为1字节,具体定义如下:

0:保留的类型

1:明文认证

54:MD5认证

255:路由域私有认证方式

 

 

ISIS实验配置实例

故障排除:R3不能与R1建立邻接关系,通过在R1display isis interface命令发现表项中不存在Ethernet 0/0/1的接口,在通过在接口上用display this 发现该接口没有启动isis功能.

  • 6
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
华为综合实验ISIS-BGP是指在华为设备上进行ISIS(Intermediate System to Intermediate System)和BGP(Border Gateway Protocol)的实验。ISIS是一个内部网关协议(IGP),用于在大型企业或互联网服务提供商网络中进行路由选择和转发。BGP是一个外部网关协议(EGP),主要用于互联网中的自治系统之间的路由选择。 在华为设备上进行ISIS-BGP实验可以帮助网络工程师熟悉和理解这两个协议的工作原理,以及如何在实际网络中配置和管理它们。这样可以提高网络的可靠性、灵活性和可扩展性,并优化数据包的传输效率。 通过ISIS-BGP实验,可以学习到以下内容: 1. ISIS的基本概念和原理,包括链路状态数据库(LSDB)、SPF(Shortest Path First)算法、区域划分等。 2. ISIS的配置和管理,包括邻居关系的建立、路由器ID的分配、路由器间的链路状态数据库同步等。 3. BGP的基本概念和原理,包括自治系统(AS)、路由器之间的对等关系、AS路径选择算法等。 4. BGP的配置和管理,包括自治系统号的分配、邻居关系的建立、路由策略的配置等。 5. ISIS和BGP之间的互操作性,包括ISIS和BGP之间的路由传播、路由策略的互操作等。 在实验中,可以使用华为设备的命令行界面(CLI)或网络管理软件来配置和管理ISIS和BGP协议。通过实验,可以深入了解ISIS和BGP协议的工作原理和实际应用,提高对大型网络的设计和运维能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值