当前位置:网站首页>2022-06-17 网工进阶(十)IS-IS-通用报头、邻接关系的建立、IIH报文、DIS与伪节点
2022-06-17 网工进阶(十)IS-IS-通用报头、邻接关系的建立、IIH报文、DIS与伪节点
2022-06-25 16:06:00 【鹅一只】
报文格式
IS-IS报文是直接封装在数据链路层的帧结构中的。
一个IS-IS PDU(协议数据单元)分为IS-IS报头和可变字节长度部分。
IS-IS报头可分为IS-IS通用报头和专用报头。

通用头部详解

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

1 域内路由协议:ISIS(0x83)
2 IS-IS PDU长度:27字节
3 版本/协议标识扩展:0x01
4 系统ID长度:6字节
5 保留位:0
6 携带的专用报文类型:等级2的hello(类型值16)
7 版本:0x01
8 保留位:0
9 支持最大区域数量:3
报文类型
ISIS有9种报文类型值

可分为4种类型
IS-IS HELLO 报文:相当于OSPF中的HELLO报文,用于建立和维持邻接关系,包括L1 LAN IIH(15)、L2 LAN IIH(16)、P2P IIH(17)
链路状态(LSP --- Link State PDU)报文:相当于OSPF中的LSU报文,用于交换链路状态信息,包括L1 LSP(18)、L2 LSP(20)
全序列号(CSNP ---- Complete Sequence Number PDU)报文:相当于OSPF中的DD报文,通过描述全部链路数据库中的LSP来同步各LSDB,包括 L1 CSNP(24)、L2 CSNP(25)
部分序列号(PSNP ---- Partial Sequence Number PDU)报文:相当于OSPF中的LSR报文和LSACK报文,通过描述部分链路数据库中的LSP来同步各LSDB,包括 L1 PSNP(26)、L2 PSNP(27)
常见的TLV
TLV用于在报文中描述属性参数,含义是:类型(TYPE),长度(LENGTH),值(VALUE)。实际上是一个数据结构,这个结构包含了这三个字段。
使用TLV结构构建报文的好处是灵活性和扩展性好。采用TLV使得报文的整体结构固定,增加新特性只需要增加新TLV即可,不需要改变整个报文的整体结构。

邻接关系建立原则
只有同一层次的相邻路由器才有可能成为邻接。
对于Level-1路由器来说,Area ID必须一致。
链路两端IS-IS接口的网络类型必须一致。
链路两端IS-IS接口的地址必须处于同一网段(默认情况下),如果配置接口对接收的Hello报文不作IP地址检查,也可以建立邻接关系。
邻接关系建立过程
IS-IS中建立邻接关系的过程和OSPF类似。在状态称呼上OSPF的2-way改成了UP。

过程描述
1.在Down状态下,R1组播发送Level-1 LAN IIH,此报文中邻接列表为空。
2.R2收到此报文后,将邻接状态标识为Initial。然后,R2再向R1回复Level-1 LAN IIH ,此报文中标识R1为R2的邻接。
3. R1收到此报文后,将自己与R2的邻接状态标识为Up。然后R1再向R2发送一个标识R2为R1邻接的Level-1 LAN IIH 。
4.R2收到此报文后,将自己与R1的邻接状态标识为Up。这样,两个路由器成功建立了邻接关系。
5.广播网络中需要选举DIS,在邻接关系建立后,路由器会等待两个Hello报文间隔,再进行DIS的选举。
PS: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。
二次握手
在缺省情况下,IS-IS的邻接过程被称为三次握手,既交换三次报文后建立邻接关系。在网络类型为P2P的情况下还可以支持二次握手的方式来建立邻接关系。只要路由器收到对端发来的Hello报文,就单方面宣布邻居为Up状态,建立邻接关系。
二次握手存在明显的缺陷。当路由器间存在两条及以上的链路时,如果某条链路上到达对端的单向状态为Down,而另一条链路同方向的状态为Up,路由器之间还是能建立起邻接关系。
相关命令
修改邻接方式为二次握手
[R1-GigabitEthernet0/0/0]isis ppp-negotiation 2-way 这条命令后还可以加上only参数 代表本接口只接收2-way或者3-way的邻接方式,例如
[R1-GigabitEthernet0/0/0]isis ppp-negotiation 3-way onlyIIH报文

Reserved/Circuit Type:表示路由器的类型(01表示L1,10表示L2,11表示L1/L2)。
Source ID :发出Hello报文的路由器的System ID。
Holding Time : 保持时间。在此时间内如果没有收到邻接发来的Hello报文,则中止已建立的邻接关系。相当于OSPF中的死亡时间。
Priority :选举DIS的优先级,取值范围为0~127。数值越大,优先级越高。该字段只在广播网中的Hello消息(LAN IIH消息)携带;点到点网络的Hello消息(P2P IIH消息)没有此字段,也没有此字段之前的R保留位。 默认值64。
LAN ID : 包括DIS的System ID和伪节点ID。该字段只在广播网中的Hello消息(LAN IIH消息)携带;点到点网络的Hello消息(P2P IIH消息)没有此字段。
Local Circuit ID :本地链路ID。该字段只在点到点网络的Hello消息(P2P IIH消息)携带;广播网中的Hello消息(LAN IIH消息)没有此字段。
抓包观察

1.路由器类型:level 2
2.保留位:0
3.系统ID:0000.0000.0003
4.保持时间:9秒
5.PUD长度:1497
6.DIS优先级:64
7.保留位:0
8.系统ID(包括SEL):0000.0000.00003.01
9.区域地址信息
10.邻居信息
11.IP接口地址信息
12.支持的协议信息
13.重启标志位信息
14.多拓扑信息
15.填充用字段
DIS与伪节点
在广播网络中,IS-IS需要在所有的路由器中选举一个路由器作为DIS(Designated Intermediate System)。DIS用来创建和更新伪节点(Pseudonodes),并负责生成伪节点的LSP,用来描述这个网络上有哪些网络设备,记录该广播网络内所有IS-IS路由器,保证广播网络中链路状态数据库的同步。伪节点是用来模拟广播网络的一个虚拟节点,并非真实的路由器。
选举规则
1.DIS优先级数值最大的被选为DIS。
2.如果优先级数值最大的路由器有多台,则其中MAC地址最大的路由器会成为DIS(PPP网络中比较system-id)。
HELLO报文时间
DIS发送Hello PDU的时间间隔是普通路由器的1/3,这样可以确保DIS出现故障时能够被更快速地被发现。缺省情况下,普通路由器是10秒,因此DIS发送Hello PDU的时间间隔是3秒。
DIS与DR的区别
1 优先级为0的路由器也参与DIS的选举,优先级为0的路由器不参与DR的选举。
2 DIS的HELLO时间缺省情况下是3秒。DR的HELLO时间缺省情况是10秒。
3 DIS的选举时间为发送时间的2倍,缺省值6秒。DR的选举时间为死亡时间,缺省值40秒。
4 DIS没有备份路由器。OSPF中有有BDR。
5DIS的选举是抢占式的,当有新的路由器加入,并符合成为DIS的条件时,这个路由器会被选中成为新的DIS,原有的伪节点被删除。此更改会引起一组新的LSP泛洪。在OSPF中,当一台新路由器加入后,即使它的DR优先级值最大,也不会立即成为该网段中的DR。
6 同一网段上的同一级别的路由器之间都会形成邻接关系,包括所有的非DIS路由器之间也会形成邻接关系。而在OSPF中,路由器只与DR和BDR建立邻接关系。
相关命令
修改DIS优先级
[R1-GigabitEthernet0/0/0]isis dis-priority 127 level-1边栏推荐
- Android修行手册之Kotlin - 自定义View的几种写法
- Simple dialogue system -- implement transformer by yourself
- 2021, committed to better development
- Day_ ten
- Helsinki traffic safety improvement project deploys velodyne lidar Intelligent Infrastructure Solution
- 1-8file sharing in VMWare
- Div element
- error Parsing error: Unexpected reserved word ‘await‘.
- Prototype chain analysis
- Alvaria announces Jeff cotten, a veteran of the customer experience industry, as its new CEO
猜你喜欢

Unity技术手册 - 生命周期旋转RotationOverLifetime-速度旋转RotationBySpeed-外力ExternalForces

炮打司令部,别让一个UI框架把你毁了

数字经济时代文化消费新特征

绕过技术聊'跨端'......

Go language - lock operation

Day_ seventeen

Read mysql45 the next day

Nsurlsession learning notes (III) download task

Overall MySQL architecture and statement execution process

A TDD example
随机推荐
解析数仓lazyagg查询重写优化
Learning notes of rxjs takeuntil operator
论文笔记:Generalized Random Forests
error Parsing error: Unexpected reserved word ‘await‘.
The textfield is encapsulated by the flutter itself, which causes the data display to be disordered when the data in the list is updated.
Read mysql45 the next day
Deadlock, thread communication, singleton mode
File operation, serialization, recursive copy
1-8Vmware中的文件共享
Android修行手册之Kotlin - 自定义View的几种写法
从TiDB上线阿里云的背后,如何看待云数据库的变革趋势
Final, override, polymorphic, abstract, interface
Day_ 16 set
About the use of Aidl, complex data transmission
Kettle表输入组件精度丢失的问题
Go language - lock operation
完美洗牌问题
WPF开发随笔收录-心电图曲线绘制
Activation and value transfer of activity
解析数仓lazyagg查询重写优化