IS-IS 报文结构

IS-IS 报文结构

    IS-IS 报文是直接基于数据链路层协议封装的,每个报文由报头和 TLV 字段组成,其中报头又分为通用报文
和专用报头,每种报文的通用报头(前 8Byte)是一样的,但是专用报头根据报文的不同而不同,并且每种报文所
支持的 TLV 不同。

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

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

IS-IS 的 PDU 格式
    
    |---PDU Common Header---|---PDU Specific Header---|---Variable Length Fields(CLV)---|

        通用报头                专用报头                    变长字段部分
    
    所有的 PDU 都有相同的通用头格式:

IS-IS 通用报头格式

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


CLV 报文格式

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

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 报文格式如下图所示(蓝色部分是通用报文头)。

    L1/L2 LAN IIH 格式
    
            Reserved/Circuit Type            1
                Source ID                    ID Length
              Holding Time                    2
              PDU Length                    2
        |R|        Priority                    1
                  LAN ID                    ID Length+1
            Variable Length Fields            


主要字段的解释如下:
    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 格式
    
            Reserved/Circuit Type            1
                Source ID                    ID Length
              Holding Time                    2
              PDU Length                    2
            Local Circuit  ID                 1
            Variable Length Fields
            
    从图中可以看出,P2P IIH 中的多数字段与 LAN IIH 相同。不同的是没有 Priority 和 LAN ID 字段,而多了一个
Local Circuit ID 字段,表示本地链路 ID。


----------------------------------------------------------------------------------------------------------------------------------------------------------------------

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 有相同的报文格式。
    
                PDU Length                    2
            Remaining Lifetime                2
                LSP ID                        ID Length+2
            Sequency Number                    4
                Checksum                    2
    | P |    ATT        | OL | IS Type |        1
            Variable Length Fields
    
主要字段的解释如下:

    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)。

    
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

L1/L2 CSNP 消息格式

                    PDU Length                    2
                    Source ID                    ID Length+1
                    Start LSP ID                ID Length+2
                    End LSP ID                    ID Length+2
                Variable Length Fields        

主要字段的解释如下:
    
    Source ID:发出 SNP 报文的路由器的 System ID。
    Start LSP ID:CSNP 报文中的第一个 LSP 的 ID 值。
    Een LSP ID:CSNP 报文中最后一个 LSP 的 ID 值。
    
    PSNP 只列举最近收到的一个或多个 LSP 的序号,它能够一次对多个 LSP 进行确认,当发现 LSDB 不同步时,也用
PSNP 来请求邻居发送新的 LSP。


L1/L2 PSNP 格式

                    PDU Length                    2
                    Source ID                    ID Length+1
                Variable Length Fields
                

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值