ISIS——基本概念1(邻居建立、路由计算、报文封装)
目录
IS-IS基本信息
IS-IS指的是什么
OSI模型与TCP/IP模型的网络层协议
IS-IS与OSPF
IS-IS工作过程
第一步 建立邻居关系
第二步 同步LSDB数据库
第三步 进行SPF路由计算
邻居状态
二次握手
三次握手
ISIS封装
ISIS静默接口
IS-IS基本信息
IS-IS指的是什么
IS 指的是中间系统(路由器、运行了IS-IS协议的设备)
ES 指的是终端系统(PC、平板、打印机等)
IS-IS指的就是中间系统与中间系统进行路由信息的交换方式
OSI模型与TCP/IP模型的网络层协议
网络层作用:用于网络罗设备的编址以及寻址
OSI模型: 网络层是CLNP协议(无连接网络协议)
TCP/IP模型: 网络层是IP协议
IS-IS最初就是为CLNP协议设计的一种基于链路状态的使用最短路径算的动态路由协议
- 即IS-IS最先是为OSI模型服务的,不过由于IS-IS扩展性强的原因,通过扩展,能够支持IP协议。
- 现在IS-IS成为集成IS-IS,是多栈路由协议,它支持CLNP,IPv4、Pv6
- IS-IS由于节省设备资源、扩展性强,学习难度低,很快再ISP市场得到了很多应用
IS-IS与OSPF
路由计算算法
IS-IS与OSPF都使用SPF算法
为谁工作
IS-IS最初是为CLNP协议工作,现在也可以为IP协议工作
OSPF只是为IP协议工作
所属层次
IS-IS是工作在链路层之上的网络层协议(即IS-IS相对于网络层是独立的一个协议)
OSPF是工作在网络层之上的路由协议(即OSPF是基于网路层封装的,不过不能说是传输层协议,只能说和传输层一个层次。)
应用场景
IS-IS工作过程
第一步 建立邻居关系
IS-IS——图解9种报文_多谢思考的博客-CSDN博客https://blog.csdn.net/m0_49864110/article/details/126069383?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22126069383%22%2C%22source%22%3A%22m0_49864110%22%7D&ctrtid=PgrMN
IS-IS如何标识网络设备
OSPF协议是通过 area id+router id对设备进行标识的
IS-IS协议则通过NET地址(area id+system id+00)来对设备进行标识
NET地址(网络实体标识符)
IP协议是通过IP地址进行网络服务访问的,NSAP协议是通过NSAP地址进行网络访问的
而NET地址就是一类特殊的NASP(即SEL=00的NSAP地址就代表NET地址,用来标识IS-IS设备)
注意:在配置IS-IS过程中,NET最多配置3个,并且它们的System ID都要相同
路由器的分类/角色
IS-IS中路由器分为三类(作用类似于OSPF中的骨干区域和非骨干区域)
L1路由器 相当于OSPF的非骨干区域的IR(所有接口都运行在同一区域)路由器
只维护L1的LSDB(相当于非骨干区域的LSA)
L2路由器 相当于OSPF的骨干区域的IR路由器
只维护L2的LSDB(相当非骨干区域的LSA)
L12路由器 相当于OSPF的ABR路由器
维护L1的LSDB,也维护L2的LSDB
注意:
- 华为设备默认路由器为L12
- L1的邻居建立前提,区域ID必须一致
- L2的邻居对区域ID不做要求(一致、不一致都可以)
IS-IS网络类型
IS-IS只支持2中网路类型,P2P,广播
PPP,HDLC链路默认是P2P链路
发送的所有报文的目的地址都是组播地址09:00:2B:00:00:05
以太网、FDDI链路默认是广播链路
发送的所有报文的目的地址都是组播地址
L1路由器发送的地址为01:80:C2:00:00:14
L2路由器发送的地址为01:80:C2:00:00:15。
邻居建立——Hello报文
Hello报文细分为三种类型
P2P Hello报文 在P2P链路上建立L1/L2邻居关系
L1 Hello报文 在广播链路上建立L1的邻居关系
L2 Hello报文 在广播链路上建立L2的邻居关系
Hello间隔
- 10s发送一次,邻居失效时间为3倍的发送间隔(30s)
- 但是当选举DIS后,DIS路由器回10/3s周期性发送Hello报文,非DIS路由器还是10s发送一次
- 当非DIS路由器在10s没有收到DIS发的Hello报文,则认为DIS失效
- 当DIS路由器/非DIS路由器在30s没有收到非DIS路由器发送的Hello报文,则认为邻居失效
邻居建立过程——IS-IS状态
P2P建立邻居由2种方式:2次握手和三次握手(默认使用3次握手,兼容两次握手)
2次握手只要收到对端的Hello报文,就单方面宣布自己为up状态,容易造成单项邻居,出现路由单通
P2P的三次握手在收到对端Hello包后,需要Hello包中的TLV240字段有自己的接口ID,设备才从Initialized状态进入到up状态
P2P的二次握手不需要TLV240,直接进入up状态
广播链路仅使用3次握手(同P2P的三次握手)
3次握手,当邻居发送的Hello报文中没有自己的System ID,状态进入initialized
当邻居发送的Hello报文中有自己的System ID,状态进入up
MA网络在收到对端Hello包时,如果Hello包的TLV 6字段有自己的MAC,设备才会从Initialized状态进入到up状态
影响邻居建立的因素
ISIS——基本概念2(域间路由、认证、影响邻居建立条件)_静下心来敲木鱼的博客-CSDN博客_域间路由https://blog.csdn.net/m0_49864110/article/details/126069526?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22126069526%22%2C%22source%22%3A%22m0_49864110%22%7D
第二步 同步LSDB数据库
当邻居状态UP后,开始进行LSDB同步,发送以下报文
LSDB同步报文1——CSNP报文(类似OSPF的DD报文)
分为L1 CSNP、L2 CSNP两种类型
主要用于通告链路状态数据库(LSDB)摘要
CSNP发送间隔
在广播网络中,CSNP由DIS周期发送,每10s发送一次
在P2P网络中,CSNP只发送一次,邻居状态UP后发送一次
LSDB同步报文2——PSNP报文(类似OSPF的LSR或者LSACK)
分为L1 PSNP、L2 PSNP两种类型
用于请求和确认链路状态信息
LSDB同步报文3——LSP报文(类似OSPF的LSU)
分为L1 LSP(L1 邻居之间发送)、L2 LSP(L2 邻居之间发送)两种类型
用于邻居之间交换链路状态信息(携带完整信息)
IS-IS同步——DIS(类似于OSPF的DR,不过作用不同)
IS-IS在广播型链路上会进行DIS选举(DIS在邻居建立之后进行)
DIS类似于OSPF的DR,没有BDIS
DIS分类
DIS分为L1 DIS 和 L2 DIS(L1路由器之间选举L1 DIS,L2路由器之间选举L2 DIS)
DIS如何选举
- DIS优先级的取值范围为0~127,默认是64,越大越优先为DIS(0可以参与选举)
- DIS相同,比较接口的MAC地址,MAC地址大的成为DIS
P2P链路LSDB同步过程
- 两台邻居UP后,会互相发送CSNP报文携带自身LSDB的全部LSP摘要给对方
- R2收到CSNP后,检查自身LSDB中LSP新旧判断,发送PSNP携带自己想要的LSP摘要以及需要更新的LSP摘要
- R1收到PSNP后,根据摘要通过LSP报文发送完整的链路状态信息
- 如果RT2没有发送PSNP对LSP做确认
- 5s后RT1会对LSP会重新传送
- RT2收到后再回复PSNP做确认
为什么华为的流程和标准协议RFC定义的不一样
P2P网路中CSNP只会发送一次,当CSNP丢包,就无法建立邻居了
华为设备上先发送LSP,当LSP丢包后,5s重传,可靠性更高
PSNP的请求和回应消息是怎么区分的
通过LSP ID序列号来判断是请求报文还是确认报文
0表示请求 非0表示确认报文
广播链路LSDB同步过程
在DIS稳定的情况下,新增R3与DIS建立邻居进行LSDB同步的过程(此时RT2已经与RT1建立邻居,LSDB完成同步) 以下讲解的是R3发送LSP的过程
- 新增非DIS设备与DIS建立邻居后,互相发送LSP,收到LSP后加入自身数据库(不回复RSNP做确认)
- DIS设备周期性10s发一次CSNP,描述自身LSP摘要信息
- 非DIS设备收到此CSNP,会了解到自己缺少哪些LSP以及DIS有无自己的LSP等信息,如果当发现自身缺少LSP时,发送RSNP请求(如果发现DIS没有自身的LSP,则发送LSP)
- DIS收到RSNP请求后,发送LSP信息
- 非DIS收到LSP信息后,不回复RSNP做确认,当收到下一次的CSNP报文时,如果自己还缺少LSP,就再次请求,如果不缺少LSP,就无反应
注意:
- 新增路由器和DIS一旦建立邻居,会互相发送自身LSDB的LSP
- 非DIS路由器会和新增路由器建立邻居关系,但不会向新增的路由器发自身LSDB中的LSP,避免重复发送LSP
- 广播网络中的RSNP只有请求作用,无确认作用
广播网络中对LSP的确认是通过CSNP隐式确认的
第三步 进行SPF路由计算
路由开销计算
ISIS的接口开销分为窄带和宽带
窄带:开销取值范围为 1~63 默认为窄带类型,开销为10 环回口为0
宽带:开销取值范围为 1~2^24 当改为宽带后,开销默认也为10 环回口为0
Isisi视图下:cost-type-wide 将开销类型改为宽带
ISIS可以配置自动计算接口开销
Isis视图下:
bandwidth-reference [100Mbt/s] 配置参考带宽
Auto-cost enable 使能自动计算接口的开销值
计算所需TLV
TLV 132 携带携带接口的IPv4地址,用于计算下一跳
窄带
TLV 2 携带拓扑信息
TLV 128 携带内部路由信息
TLV 130 携带外部路由信息
宽带
TLV 22 携带拓扑信息
TLV 135 携带路由信息
SPF计算过程
- 单区域LSDB同步完成
- 生成全网拓扑结构图
- 以本节点为根生成最短路径树
邻居状态
二次握手
Down——初始状态
UP—— 收到对方发来的Hello包(无论邻居列表是否有自己的System id)
三次握手
Down——初始状态
Init —— 收到Hello包,但邻居列表无自己的System id
Up —— 收到Hello包,邻居列表有自己的System id
ISIS封装
ISIS封装在数据链路层
广播——被封装在802.3帧中
P2P——被封装在PPP链路中(PPP链路无MAC地址)
数据链路层两种封装格式
以太网II帧(常见的)
IEEE 802.3帧(BPDU、ISIS就封装在802.3帧中)
ISIS静默接口
作用同OSPF的静默接口
ISIS接口配置为静默接口后,此接口会禁止发送和接收协议报文
当用户希望本地ISIS的路由信息不被其他网络中的设备获得,并且本地设备不接受其他设备发布的路由信息时,可以禁止ISIS接口发送与接收协议报文
注意事项
接口静默之后,接口的直连路由可以发布出去
但是Hello报文被阻塞,无法建立邻居关系
配置命令
int g1/0/0 配置静默接口的前提是此接口加入到ISIS中
isis enable 1
isis silent
ISIS——基本概念2(域间路由、认证、影响邻居建立条件)_静下心来敲木鱼的博客-CSDN博客_isis 跨域https://blog.csdn.net/m0_49864110/article/details/126069526?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166651963016782388039939%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=166651963016782388039939&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-3-126069526-null-null.nonecase&utm_term=ISIS&spm=1018.2226.3001.4450ISIS——LSP讲解_静下心来敲木鱼的博客-CSDN博客_isis 伪节点https://blog.csdn.net/m0_49864110/article/details/126069486?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166651963016782388039939%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=166651963016782388039939&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-126069486-null-null.nonecase&utm_term=ISIS&spm=1018.2226.3001.4450ISIS——图解9种报文_静下心来敲木鱼的博客-CSDN博客_isis几种报文https://blog.csdn.net/m0_49864110/article/details/126069383?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166651963016782388039939%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=166651963016782388039939&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-5-126069383-null-null.nonecase&utm_term=ISIS&spm=1018.2226.3001.4450
ISIS——基本概念1(邻居建立、路由计算、报文封装)相关推荐
- bgp 建立邻居发送的报文_bgp邻居建立过程及报文详解.doc
bgp邻居建立过程及报文详解.doc 还剩 4页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 前缀长度和网络号8.当路由失效时,也发送 update ...
- BGP邻居建立及特点
BGP邻居建立及特点 BGP特点: 有认证和GTSM机制,保障安全 有丰富的路由属性,更加灵活的选路 通过路由聚合,路由衰减防止震荡 增量式,触发式更新,路由条目太多了 基于TCP协议,179号端口, ...
- 深入理解IGP-ISIS——ISIS邻居建立过程,影响ISIS邻居建立因素,ISIS报文
一.邻居关系建立过程(2-way,3-way) 一.邻居关系建立过程(2-way,3-way) (1)p2p网络 (TLV240,对端的system-id) 当收到对方发来的HELLO包中有自己的sy ...
- BGP——基本概念1(自治系统、邻居建立)
目录 基本概念 自治系统 BGP对等体概述 名词解释 基本概念 对等体类型 建立对等体关系的条件 对等体信息参数讲解 BGP邻居建立过程 基本概念 1.BGP 是路径矢量协议,是自治系统间的路由协议 ...
- ISIS的邻居建立详解
ISIS邻居建立详细 建立邻居的条件:同一区域:L1等级要求,L2不要求 同一等级 同一网段:同一网段不要求主IP地址在同一网段 ...
- OSPF域内LSA与路由计算
LSA头部 上部分OSPF基础中学习完OSPF如何建立邻居与邻接关系,OSPF在建立邻接关系后已经搭建完成自己的LSDB数据库了,这时候就该进行路由计算来选出最优的路径. 在学习OSPF路由计算之前, ...
- eigrp ospf 邻居建立过程比较
EIGRP邻居建立过程 1.路由器A启动,然后在链路上发送hello包 2.路由器B接收到A发来的hello包,然后做出应答,发回update包给A,告诉A它自己的路由表的信息.但是这个时候 邻居关系 ...
- 【LAB4-Cisco】OSPF邻居建立过程与LSDB分析
实验需求 1.根据拓扑提示,对各路由启用OSPF路由协议并划分相应区域,并验证邻居关系以及数据库信息,从而保证内网全网互通.其中,要求R7上的回环口条目作为外部条目引进来. 2.新加入公司网络的Are ...
- OSPF协议之邻居建立
OSPF协议之邻居建立 OSPF的工作过程 1.建立邻居关系 2.同步链路状态数据库 3.计算最优路由 OSPF路由器之间在交换链路状态信息之前,首先需要彼此建立邻居关系,通过Hello报文实现. 1 ...
最新文章
- Linux系统mongdb还原数据库,linux下mongodb数据库备份与还原
- 清华首批7门标杆课程,到底有多牛?
- LInux初始学习篇:基本命令使用
- 根据IP地址,子网掩码计算主机所在网络的网络地址和广播地址
- maven排除依赖冲突问题
- 【C/C++】与const有关的指针类型赋值
- linux memcache端口占用,Linux: memcache的安装和启动、停止、重启, 检查memcache server是否开启...
- 拓端tecdat|R语言基于树的方法:决策树,随机森林,Bagging,增强树
- 无约而来WIN8 PRO WMC X64 201306
- 达梦数据库SQL语法
- FEC介绍(二)-详解RS编码
- 高等数学(同济大学)
- 在TCGA中查找mutation突变
- 多种语言画玫瑰,总有一款适合你表白
- 寄语十周年:“我与CCF BDCI”大赛十周年寄语火热征集中
- ss3ex集成Beet记录日志
- 别人学到失眠,而你看书就犯困?这样提神让你赶走疲惫!
- UnityShader---光照(衰减和阴影))(内置渲染管线)---10
- 铁甲雄心机器人冠军_机器人格斗元老亮相《铁甲雄心》虽败犹荣
- gmail邮箱中显示的名字如何修改?
热门文章
- android开发中磁场传感器,Android开发获取传感器数据的方法示例【加速度传感器,磁场传感器,光线传感器,方向传感器】...
- 面向过程与面向对象的区别
- 【方法】如何在PPT文稿中插入Word表格?
- 只做了delete操作,为啥 ORACLE-01466表定义已更改
- python绘制一个圆当按下键盘的上下边缘会变大和变小_元贝驾考 模拟考
- 分析app(课堂练习)
- MFC真的过时了吗?C++是否真的适合做GUI界面?
- 计蒜客--蒜头君的新游戏
- Java Annotation 应用 -- 导出Excel表格
- 在网页地图图片上加注企业和“圳品”数量信息