前文我们了解了IS-IS动态路由协议基础相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15249328.html;今天我们来聊一聊IS-IS动态路由协议的报文结构和类型相关话题;

  IS-IS报文结构

  提示:IS-IS动态路由协议是封装在数据链路层之上,主要由IS-IS头部和IS-IS可变长字段CLVs组成;其中IS-IS头部里面又分为通用头部和专用头部;

  实验:如下拓扑,配置IS-IS

  R1的配置

sys
sys R1
int g0/0/0
ip add 172.16.10.1 24 isis 1
net 10.0000.0000.0001.00
is-le level-1
int g0/0/0
isis en 1

  提示:在R1上g0/0/0接口上启用isis以后,对应isis进程就正常运行了;

  在R1上抓包,看看ISIS数据包结构

  提示:可以看到在R1上能够正常抓到ISIS L1类型的hello包,其中hello包里有通用头部和专用头部,对应专用头部里又有可变长字段;

  R2的配置

sys
sys R2
int g0/0/0
ip add 172.16.10.2 24
int g0/0/1
ip add 192.168.11.2 24 isis 1
net 10.0000.0000.0002.00
is-le level-1-2
int g0/0/0
isis en 1
int g0/0/1
isis en 1

  验证:在R1或R2上查看ISIS邻居信息

  R3的配置

sys
sys R3
int g0/0/0
ip add 192.168.11.3 24 isis 1
net 11.0000.0000.0003.00
is-le level-2
int g0/0/0
isis en 1

  在R2上抓包看看对应报文结构

  提示:可以看到在R2的g0/0/0口可以抓到L1的hello包和L2的hello包,他们的专用hello包里都是leve1 and 2;

  专用包头字段解释

  提示:通用头部里每个字段都是1字节;Intra Domain Routing Protocol Discriminator字段用于描述动态路由协议的描述0x83表示ISIS协议,该字段的值固定不变;PDU Header Length字段用于描述PDU包头的长度(包含通用头部和专用头部),单位是字节;version/protocol id extension字段用于描述对应isis的版本或协议标识扩展,设置为1(0x01),一般这个字段都是1,固定不变;ID Length用于描述NSAP地址或NET地址中的system ID长度,值为0表示system ID的长度为6字节,值为255时,表示system ID为空(长度为0);R(Reserved)是保留字段,设置为0;PDU type 用于描述对应专用包头的类型;ISIS PDU共有9种类型;version 用于描述isis版本,设置为1,固定不变;Maximun area address字段用于描述支持的最大区域个数;设置为1-254的证书,表示该IS-IS进程实际所允许的最大区域地址数,设置为0,表示该IS-IS进程最大只支持3个区域地址数;

  更改R1的g0/0/0接口网络类型为P2P,再次抓包看看对应数据包结构

  提示:可以看到更改R1的g0/0/0接口网络类型为p2p以后,对应isis邻居就被情况了;其原因是R1和R2的所发送的hello包类型不同;

  在R1上抓包,看看对应hello包类型是否和R2一样?

  提示:现在R1的g0/0/0接口上抓包,可以看到对应R1发送的hello包类型为p2phello ;

  广播网络hello包和p2p网络hello包对比

  提示:通用包头基本没有变化,变化的是在专用包头里;对于广播网络中的hello包,里面主要比p2p网络中的hello包多了priority 字段和DIS ID两个字段;其主要原因是广播网络中,对应会选举DIS,所以会有优先级和dis id的信息;而p2p网络中不需要选举DIS,所以priority字段和dis id字段没有;其他字段两者几乎都有,没有太大的区别;

  专有包头字段解释

  Reserved/circuit:该字段占用1字节,其中高位的6比特保留,其值为0;低位的2比特用来表示路由器的类型;01表示L1,10表示L2,11表示L1/2;

  Source ID:用于描述发出该hello报文的路由器system ID;

  Holding Time:用于描述hello包的保持时间;在此时间内如果没有收到邻居发来的Hello报文,则终止已建立的邻居关系;

  PDU Length:用于描述PDU的总长度,单位是字节;PDU是ISO网络模型里对应数据包的称呼,我们可以理解为TCP/IP里的包,段,帧,比特等术语;

  Priority:用于描述选举DIS的优先级,取值范围为0-127;数值越大,优先级越高;

  LAN ID:用于描述包含DIS的system ID 和1字节的伪节点ID;

  Local Circuit ID:用于描述本地链路ID;

  IS-IS报文类型总结

  提示:ISIS报文总共就只有上述三种类型;其中IIH表示ISIS的hello PDU,主要作用是建立和维护邻居关系;LSP主要用来传输链路状态信息,类似OSPF里的LSU(LSA)包的作用;SNP主要用来描述数据库中的LSP,类似ospf中的DD包;

  hello报文类型

  提示:isis里hello报文类型有三种;L1 LAN IIH、L2 LAN IIH和p2p IIH这三种;其中p2p里部分L1和L2,它只有一种;L1主要是广播网络中的L1路由器发送;L2主要是广播网络中的L2路由器发送;

  SNP报文类型

  提示:SNP报文中分CSNP(完全SNP)和PSNP(部分SNP),完全SNP包主要作用是通告LSDB中所有摘要信息,类似OSPF里的DD包;部分SNP主要作用是请求和确认链路状态信息;类似ospf里的LSR和LSACK的作用;

  IS-IS报文中的可变长字段

  提示:IS-IS报文中的变长字段部分是多个TLV(Type-Length-Value)三元组;TLV也称为CLV(Code-Length-Value);以上只是部分CLV代码和对应字段、PDU类型;可变长字段的存在主要是对IS-IS的扩展,比如我们要让IS-IS支持IPV6,我们只需要在TLV/CLV里加上对ipv6的相应字段即可,不需要像ospf专门开发一个版本支持ipv6;这也是IS-IS扩展性强的原因;

  PDU类型对照表

  提示:对于不同PDU类型,其类型值各有不同;比如类型代码为15则表示是L1 hello包;类型代码为17则表示对应PDU类型为P2P网络的hello 包;

HCNP Routing&Switching之IS-IS报文结构和类型的更多相关文章

  1. HCNP Routing&Switching之BGP报文结构、类型和状态

    前文我们了解了BGP的邻居建立条件.优化以及BGP认证相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15395723.html:今天我们来聊一聊BGP ...

  2. HCNP Routing&Switching之IS-IS邻居建立、LSDB同步、拓扑计算和路由形成

    前文我们了解了IS-IS的报文结构和类型相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15260670.html:今天我们来聊一聊IS-IS建立邻居. ...

  3. HCNP Routing&Switching之BGP路由宣告

    前文我们了解了BGP报文结构.类型以及邻居状态相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15422924.html:今天我们来聊一聊BGP路由宣告 ...

  4. HCNP Routing&Switching之动态路由协议IS-IS基础

    前文我们了解了OSPF的特殊区域相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15236330.html:今天我们来聊一聊另一动态路由协议IS-IS相 ...

  5. HCNP Routing&Switching之组播技术-组播协议IGMP

    前文我们了解了组播地址相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15616740.html:今天我们来聊一聊组播协议中IGMP协议相关话题: 组播 ...

  6. HCNP Routing&Switching之OSPF LSA更新规则和路由汇总

    前文我们了解了OSPF外部路由类型以及forwarding address字段的作用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15225673.html: ...

  7. HCNP Routing&Switching之IS-IS路由聚合和认证

    前文我们了解了IS-IS路由渗透和开销相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15302382.html:今天我们来聊一聊IS-IS路由聚合和认 ...

  8. HCNP Routing&Switching之路由控制、路由策略和IP-Prefix List

    前文我们了解了IS-IS路由聚合和认证相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15306645.html:今天我们来聊一聊路由控制技术中的路由策 ...

  9. HCNP Routing&Switching之路由控制-策略路由

    前文我们了解了路由策略工具Route-Policy相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15322135.html:今天我们来聊一聊策略路由相 ...

随机推荐

  1. linux对拍

    转自 hzoi-fengwu :https://www.cnblogs.com/hzoi-fengwu/p/14872962.html 1 #include<bits/stdc++.h> ...

  2. YsoSerial 工具常用Payload分析之Common-Collections2、4(五)

    前言 Common-Collections <= 3.2.1 对应与YsoSerial为CC1.3.5.6.7 ,Commno-collections4.0对应与CC2.4. 这篇文章结束官方原 ...

  3. CF832D题解

    题目传送门 Description 给定一棵树上的三个点 \(a,b,c\),你要制定两条起点和终点都在这三个点中的路径,使得两条路径重叠的节点最多. Solution 感觉我的方法和大众不同,显然是 ...

  4. 获取浏览器中url的参数

    例如: 浏览器的地址是:http://localhost:8080/src/views/moneyDetail?id=10 vue 获取浏览器的参数 获取id的参数:this.$route.query ...

  5. Cell Reports | 上海瑞金医院糜坚青等揭示组蛋白酰化/乙酰化修饰比率调控BRD4基因组分布

    ​ 景杰生物 | 报道 组蛋白翻译后修饰,被认为构成一类超越基因序列的"组蛋白密码",控制着遗传信息的组织层次及其在染色质层面的解读.组蛋白赖氨酸乙酰化是研究最早的一类组蛋白修饰, ...

  6. CTF中的序列化与反序列化

    记一些CTF出现的序列化与反序列化的知识点和题目. 序列化和反序列化的概念 序列化就是将对象转换成字符串.字符串包括 属性名 属性值 属性类型和该对象对应的类名. 反序列化则相反将字符串重新恢复成对象 ...

  7. 常见的Web攻击手段,拿捏了!

    大家好,我是小菜. 一个希望能够成为 吹着牛X谈架构 的男人!如果你也想成为我想成为的人,不然点个关注做个伴,让小菜不再孤单! 本文主要介绍 互联网中常见的 Web 攻击手段 如有需要,可以参考 如有 ...

  8. Linux连接工具final配置

    Linux连接工具 putty .CRT.XShell 在terminal里面敲不太方便,所以需要一款连接工具 这是一款美观医用的网络服务管理软件 安装final shell Windows版下载地址 ...

  9. Linux应用程序安装方法

    一.linux应用程序基础 1.1.应用程序与系统命令的关系 1.2.典型应用程序的目录结构 1.3.常见的软件包封装类型 二.RPM包管理工具 2.1.RPM软件包管理器Red-Hat Packag ...

  10. Shell-08-文本处理sed

    文本处理sed sed:流编辑器,过滤和替换文本 工作原理:sed命令将当前处理的行读入模式空间进行处理,处理完把结果输出,并且清空模式空间. 然后再将下一行读入模式空间进行处理输出,以此类推,直到最 ...