从今天开始,给大家介绍IS-IS协议相关内容。本文主要内容是IS-IS Hello报文的相关结构和作用。
推荐阅读:
IS-IS详解(一)——IS-IS基础
IS-IS详解(二)——IS-IS邻居建立
IS-IS详解(三)——IS-IS 报文结构与功能

一、Hello包发送原则

可以通过在IS-IS视图中修改IS-IS的级别来控制IS-IS路由器发送的Hello包类型,同时,在运行IS-IS协议的接口上,也可以修改IS-IS的级别,而这也会对Hello包的发送造成影响,实际上,Hello包的发送有一个较为复杂的原则,具体如下:
L1和L2路由器在广播型链路上,只发相应级别的Hello包,此时发送的Hello级别只与IS-IS视图下配置的路由器级别有关,而与接口上配置的IS-IS链路级别无关。
默认情况下,L1/2路由器在广播型链路上既发送L1的Hello包,也发送L2的Hello包。但是L1/2路由器发送Hello包的类型收到链路上配置的IS-IS级别的影响,当链路上配置IS-IS级别为L1时,则该路由器在该链路上只发L1的Hello包,当链路上配置IS-IS级别为L2时,则该路由器在该链路上只发L2的Hello包。

二、Hello报文结构

(一)广播型链路上Hello包头

(二)P2P链路上Hello包头

三、Hello报文各字段功能

(一)Hello包头字段详解

Hello包头字段功能如下:
1、Reserved/Circuit Type。 表示路由器级别,0x01表示L1级别,0x02表示L2级别,0x03表示L1/2级别(注:此字段与链路上IS-IS级别也有关系,当必须路由器级别和接口级别均为L1/2,此时此字段才为L1/2,具体规则如本文第一章介绍相同)。
2、Source ID。 发送报文的IS-IS路由器SID,占6Byte。
3、Holding Time。 保持计时器,单位为秒,占用2Byte,默认为Hello-Interval的三倍。本字段的含义是告诉邻居本端失效的时间。这里IS-IS协议与OSPF不同,IS-IS允许建立邻居的相邻路由器之间Hello-Interval和Holding Time不一致。可以在路由器IS-IS视图下修改本字段时间,但是有一定的限制。
4、PDU Length。 本字段表示整个IS-IS报文的长度,包括头部、Hello报文以及后面的TLV字段的长度,占用2Byte。
5、Priority。 表示优先级,占用1Byte,但是该字段值使用了7个bit,因此该字段取值范围是0-127。该字段主要用于DIS的选举,且该字段越大越优先。当该字段值相等时,则比较MAC地址,越大越优先。
6、R。 预留字段,用0填充。
7、LAN ID。 用于描述链路上的伪节点DIS。
8、Local Circuit ID。 表示本地链路ID。
实际上,在Hello报文头字段,广播型链路上的Hello包和P2P链路上Hello包的区别在于广播型有独有的LAN ID和Priority字段,而P2P链路上有独有的Local Circuit ID字段。

(二)Hello包常见TLV字段功能

TLV机制即Type(类型)、Length(长度)和Value(值)的意思。
TLV机制允许路由协议只携带需要的属性,不需要的属性可以不携带,扩展性强,如果协议需要支持新的特性,则只需要开发新的TVL属性即可支持。在使用wireshark抓包时,如果字段的前面有一个“>”符号,则代表该字段为一个TLV字段。
Hello包常见的TLV字段如下:
1、Area Address。 区域地址,考虑到IS-IS协议中可配置3个以内的区域地址,因此该字段长度并不固定,因此该字段放在了TLV字段中。
2、IS Neighbor。 中间系统邻居,在广播型链路上,该字段使用邻居的MAC地址表示,但是在P2P链路上该字段使用路由器的System ID表示。
3、IP Interface Address。 接口IP地址。如果一个接口配置了多个IP地址,IS-IS协议默认携带所有的IP地址。
4、Protocol Supported。 表示本路由器支持的协议。
5、Restart Signaling。 主要用于重启动时使用。
6、Muti Topology。 主要用于多拓扑时使用。
7、Padding 。 填充字段,该字段全为0。

四、Hello抓包展示

(一)广播链路上IS-IS Hello包

(二)P2P链路上Hello包


原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200/article/details/119974828

IS-IS详解(四)——IS-IS Hello报文详解相关推荐

  1. Docker详解---四、数据卷应用详解(将容器内部的应用配置文件挂在到宿主机)

    1 痛点 每个容器在需要查看或修改配置信息时,都需要进入容器内部进行查阅.修改 配置信息和容器本身是绑定的,无法持久化,容器如果出现问题或被删除,配置信息.日志.历史存储的数据无法持久化,容器没了与该 ...

  2. 树和二叉树(四种遍历,建树)详解+二叉排序树(包含图像和相关习题)

    目录 树和二叉树 一.树 2.有序树和无序树 3.森林 4.树的基本性质 二.二叉树的概念 (1)二叉树的编号 1.二叉树和度为2的有序树的区别: 2.满二叉树 3.完全二叉树: 4.平衡二叉树: 5 ...

  3. python可变参数_Python 的四种共享传参详解

    点击上方"Python数据之道",选择"星标公众号" 精品文章,第一时间送达 作者 | 杨仁聪 编辑 | Lemon 出品 | Python数据之道 本文来自公 ...

  4. linux 进程间通信 dbus-glib【实例】详解四(上) C库 dbus-glib 使用(附代码)(编写接口描述文件.xml,dbus-binding-tool工具生成绑定文件)(列集散集函数)

    linux 进程间通信 dbus-glib[实例]详解一(附代码)(d-feet工具使用) linux 进程间通信 dbus-glib[实例]详解二(上) 消息和消息总线(附代码) linux 进程间 ...

  5. Android Studio 插件开发详解四:填坑

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78265540 本文出自[赵彦军的博客] 系列目录 Android Gradle使用 ...

  6. springboot 详解 (四)redis filter

    ---------------------------------------------------------------------------------------------------- ...

  7. 数据结构--图(Graph)详解(四)

    数据结构–图(Graph)详解(四) 文章目录 数据结构--图(Graph)详解(四) 一.图中几个NB的算法 1.普里姆算法(Prim算法)求最小生成树 2.克鲁斯卡尔算法(Kruskal算法)求最 ...

  8. [python opencv 计算机视觉零基础到实战] 四、了解色彩空间及其详解

    一.学习目标 了解什么是色彩空间 了解opencv中色彩空间的转换 目录 [python opencv 计算机视觉零基础到实战] 一.opencv的helloworld [[python opencv ...

  9. .NET DLL 保护措施详解(四)各操作系统运行情况

    我准备了WEB应用程序及WinForm应用程序,分别在WIN SERVER 2012/2008/2003.Win7/10上实测,以下为实测结果截图: 2012 2008 2003 WIN7 WIN10 ...

  10. mybatis 鉴别其_MyBatis之Mapper XML 文件详解(四)-JDBC 类型和嵌套查询

    MyBatis之Mapper XML 文件详解(四)-JDBC 类型和嵌套查询 白玉 IT哈哈 支持的 JDBC 类型 为了未来的参考,MyBatis 通过包含的 jdbcType 枚举型,支持下面的 ...

最新文章

  1. BZOJ 1176: [Balkan2007]Mokia( CDQ分治 + 树状数组 )
  2. usb-key登录windows+远程桌面
  3. 从大数据技术参考模型角度梳理大数据标准
  4. Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart
  5. 搞定系统设计 03:系统设计面试的答题框架
  6. SQL对Xml字段的操作
  7. main函数的类型定义
  8. linux下最好的ftp服务器,用Linux系统构建高效FTP服务器
  9. MySQL group_concat函数使用详解
  10. iOS 9 Spotlight搜索 OC版
  11. 如何删除搜索框的搜索记录(谷歌浏览器)
  12. MySQL 按照天数查询数据
  13. 如何让图片变成全景图,vr全景图怎么拍摄和制作
  14. 虚拟机Linux - HTTP request sent, awaiting response... 404 Not Found
  15. 批量清理VS编译产生的文件
  16. cad拖动有残影_LCD 残影问题分析及常见解决办法
  17. vue 多层子组件调用父组件的方法(传参方式bind方法 或 注入 provide() {}方法)
  18. Hackthebox:Arctic Walkthrough
  19. 2018年吉林大学软件学院软件工程专硕复试题目回忆
  20. 先电iaaS云计算基础服务平台部署

热门文章

  1. anaconda安装——添加镜像源
  2. 入门佳作《例解Python》来了!案例丰富尽显风度ƪ(´▽`ƪ)
  3. 《变革中的思索》连载二:依旧有效的四律
  4. 3.1. 一元、多元逻辑回归、tensorflow2实现——python实战
  5. python axis 1_Python之NumPy(axis=0 与axis=1)区分
  6. php mysql 容器_docker下搭建MySQL+php-fpm+nginx容器环境
  7. mysql 输入密码后闪退_iPhone抹除还原后需要输入账号密码怎么办?
  8. oracle+口令+加密算法,Oracle Password Hash
  9. 《报错与问题解决方案》总结v1.0版本
  10. L1-023 输出GPLT (20 分) — 团体程序设计天梯赛