ISIS报文类型

ISIS的报文类型

IS-IS报文有以下几种类型:HELLO PDU(Protocol Data Unit)、LSP和SNP。

  • Hello PDU

    Hello报文用于建立和维持邻居关系,也称为IIH(IS-to-IS Hello PDUs)。其中,广播网中的Level-1 IS-IS使用Level-1 LAN IIH;广播网中的Level-2 IS-IS使用Level-2 LAN IIH;非广播网络中则使用P2P IIH。它们的报文格式有所不同。P2P IIH中相对于LAN IIH来说,多了一个表示本地链路ID的Local Circuit ID字段,缺少了表示广播网中DIS的优先级的Priority字段以及表示DIS和伪节点System ID的LAN ID字段。

  • LSP

    链路状态报文LSP(Link State PDUs)用于交换链路状态信息。LSP分为两种:Level-1 LSP和Level-2 LSP。Level-1 LSP由Level-1 IS-IS传送,Level-2 LSP由Level-2 IS-IS传送,Level-1-2 IS-IS则可传送以上两种LSP。

    LSP报文中主要字段的解释如下:

    • ATT字段:当Level-1-2 IS-IS在Level-1区域内传送Level-1 LSP时,如果Level-1 LSP中设置了ATT位,则表示该区域中的Level-1 IS-IS可以通过此Level-1-2 IS-IS通往外部区域。

    • OL(LSDB Overload)字段:过载标志位。

      设置了过载标志位的LSP虽然还会在网络中扩散,但是在计算通过过载路由器的路由时不会被采用。即对路由器设置过载位后,其它路由器在进行SPF计算时不会使用这台路由器做转发,只计算该节点上的直连路由。

    • IS Type字段:用来指明生成此LSP的IS-IS类型是Level-1还是Level-2 IS-IS(01表示Level-1,11表示Level-2)。

  • SNP

    序列号报文SNP(Sequence Number PDUs)通过描述全部或部分数据库中的LSP来同步各LSDB(Link-State DataBase),从而维护LSDB的完整与同步。

    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只在第一次建立邻接关系时发送。

    PSNP只列举最近收到的一个或多个LSP的序号,它能够一次对多个LSP进行确认,当发现LSDB不同步时,也用PSNP来请求邻居发送新的LSP。

IS-IS报文中的变长字段部分是多个TLV(Type-Length-Value)三元组。TLV也称为CLV(Code-Length-Value)。

常见的TLV:

TLV Type名称所应用的PDU类型
1Area AddressesIIH、LSP
2IS Neighbors(LSP)LSP
4Partition Designated Level2 ISL2 LSP
6IS Neighbors(MAC Address)LAN IIH
7IS Neighbors(SNPA Address)LAN IIH
8PaddingIIH
9LSP EntriesSNP
10Authentication InformationIIH、LSP、SNP
128IP Internal Reachability InformationLSP
129Protocols SupportedIIH、LSP
130IP External Reachability InformationL2 LSP
131Inter-Domain Routing Protocol InformationL2 LSP
132IP Interface AddressIIH、LSP

IS-IS报文通用格式

##ISIS报文通用格式:

IS-IS报文是直接封装在数据链路层的帧结构中的。PDU可以分为两个部分,报文头和变长字段部分。其中头部又可分为通用头部和专用头部。对于所有PDU来说,通用报头都是相同的,但专用报头根据PDU类型不同而有所差别。

IS-IS的PDU有4种类型:Hello报文,LSP,CSNP,PSNP。

这里写图片描述

图:IS-IS通用报文格式
  • Intradomain Routing Protocol Discriminator:域内路由选择协议鉴别符,设置为0x83。
  • Length Indicator:PDU头部的长度(包括通用头部和专用头部),以字节为单位。
  • Version/Protocol ID Extension:版本/协议标识扩展,设置为1(0x01)。
  • ID Length:NSAP地址或NET中System ID区域的长度。值为0时,表示System ID区域的长度为6字节。值为255时,表示System ID区域为空(即长度为0)。
  • R(Reserved):保留,设置为0。
  • PDU Type:PDU的类型。IS-IS PDU共有9种类型,详细信息请参考下表。
  • Version:设置为1(0x01)。
  • Maximum Area Address:支持的最大区域个数。设置为1~254的整数,表示该IS-IS进程实际所允许的最大区域地址数;设置为0,表示该IS-IS进程最大只支持3个区域地址数。

PDU类型对应关系:

类型值PDU类型简称
15Level-1 LAN IS-IS Hello PDUL1 LAN IIH
16Level-2 LAN IS-IS Hello PDUL2 LAN IIH
17Point-to-Point IS-IS Hello PDUP2P IIH
18Level-1 Link State PDUL1 LSP
20Level-2 Link State PDUL2 LSP
24Level-1 Complete Sequence Numbers PDUL1 CSNP
25Level-2 Complete Sequence Numbers PDUL2 CSNP
26Level-1 Partial Sequence Numbers PDUL1 PSNP
27Level-2 Partial Sequence Numbers PDUL2 PSNP

抓包示例:

这里写图片描述

图:IS-IS通用报文抓包示例

IS-IS Hello报文

Hello报文用于建立和维持邻居关系,也称为IIH(IS-to-IS Hello PDUs)。其中,广播网中的Level-1路由器使用Level-1
LAN IIH;广播网中的Level-2路由器使用Level-2 LAN IIH;非广播网络中则使用P2P IIH。它们的报文格式有所不同。

Hello报文格式:

这里写图片描述

图:广播网中 IIH报文格式

主要字段的解释如下:

  • Reserved/Circuit Type:高位的6比特保留,值为0。低位的2比特表示路由器的类型(01表示L1,10表示L2,11表示L1/L2)。
  • Source ID:发出Hello报文的路由器的System ID。
  • Holding Time:保持时间。在此时间内如果没有收到邻居发来的Hello报文,则中止已建立的邻居关系。
  • PDU Length:PDU的总长度,单位是字节。
  • Priority:选举DIS的优先级,取值范围为0~127。数值越大,优先级越高。
  • LAN ID:包括DIS的System ID和一字节的伪节点ID。

这里写图片描述

图:P2P中IIH报文格式

从图中可以看出,P2P IIH中的多数字段与LAN IIH相同。不同的是没有Priority和LAN ID字段,而多了一个Local Circuit
ID字段,表示本地链路ID。

IIH 抓包示例:

这里写图片描述

图:LAN网中IIH报文抓包示例

这里写图片描述

图:P2P中IIH报文抓包示例

IS-IS LSP报文格式

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

两类LSP有相同的报文格式。

LSP报文格式:

这里写图片描述

图:ISIS LSP报文格式

主要字段的解释如下:

  • PDU Length:PDU的总长度,以字节为单位。

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

  • LSP ID:由三部分组成,System ID、伪节点ID(一字节)和LSP分片后的编号(一字节)。

  • Sequency Number:LSP的序列号。

  • Checksum:LSP的校验和。

  • P(Partition Repair):仅与L2 LSP有关,表示路由器是否支持自动修复区域分割。

  • ATT(Attachment):由Level-1-2路由器产生,用来指明始发路由器是否与其它区域相连。虽然此标志位也存在于Level-1和Level-2的LSP中,但实际上此字段只和Level-1-2路由器始发的L1 LSP有关。此字段有4bit,用来表明相连的区域所使用的度量方式。

    从右至左这4位依次表示如下所示:

    • 第4位:缺省度量;
    • 第5位:时延度量;
    • 第6位:代价度量;
    • 第7位:差错度量。
  • OL(LSDB Overload):过载标志位。设置了过载标志位的LSP虽然还会在网络中扩散,但是在计算通过超载路由器的路由时不会被采用。即,对路由器设置过载位后,其它路由器在进行SPF计算时不会考虑这台路由器。当路由器内存不足时,系统自动在发送的LSP报文中设置过载标志位。

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

LSP报文抓包示例:

LSA报文抓包

图:LSP报文抓包示例

IS-IS SNP报文格式

时序报文SNP(Sequence Number PDUs)通过描述全部或部分数据库中的LSP来同步各LSDB(Link-State DataBase),从而维护LSDB。

SNP包括CSNP(Complete SNP,全时序报文)和PSNP(Partial SNP,部分时序报文),进一步又可分为L1 CSNP、L2 CSNP、L1 PSNP和L2 PSNP。

CSNP包括LSDB中所有LSP的摘要信息,从而可以在相邻路由器间保持LSDB的同步。在广播网络上,CSNP由DIS定期发送(缺省的发送周期为10秒);在点到点链路上,CSNP只在第一次建立邻接关系时发送。

SNP报文格式:

这里写图片描述

图:CSNP报文类型

主要字段的解释如下:

  • Source ID:发出SNP报文的路由器的System ID。
  • Start LSP ID:CSNP报文中第一个LSP的ID值。
  • End LSP ID:CSNP报文中最后一个LSP的ID值。

PSNP只列举最近收到的一个或多个LSP的序号,它能够一次对多个LSP进行确认,当发现LSDB不同步时,也用PSNP来请求邻居发送新的LSP。

这里写图片描述

图:PSNP报文格式

SNP报文抓包示例:

这里写图片描述

图:CSNP报文抓包示例

这里写图片描述

图:PSNP报文抓包示例


参考文档:华为HedEx文档


已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页