问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

IS-IS 路由协议详解-3

创作时间:
作者:
@小白创作中心

IS-IS 路由协议详解-3

引用
CSDN
1.
https://blog.csdn.net/Jerry_BLOG/article/details/109588685

DIS 和 DR 的区别

下面表格讲述的是 IS-IS 协议的 DIS 和 OSPF 协议的 DR 的区别

类型
DIS
DR
参与选举
DIS所有的优先级都参与选举
优先级为 0 不参与选举
选举等待时间
两个 Hello 包时间
40S
备份
无备份
备份设备有 BDR
邻接关系
所有设备都是邻接关系
只有DR 和 BDR 与其他设备建立邻接关系
抢占性
会抢占
不会抢占
作用
周期性发送 CSNP 报文,保证数据库同步
主要为了减少 LSA 泛洪

IS-IS 的网络类型

IS-IS 的网络类型分为两种:点到点链路广播链路

点到点链路

点到点链路的邻接关系建立分为两次握手三次握手

两次握手:对端路由器发送 Hello 单方向的 UP 建立邻居,容易存在单通道的风险

三次握手:类似于广播邻居的建立,唯一不同的是广播网络邻居里面携带的是 MAC 而点到带你里面携带的是 SYS ID

修改握手类型

类型
命令
备注
2-way
isis ppp-negotiation 2-way
3-way 可以兼容 2-way
3-way
isis ppp-negotiation 3-way(默认)
后面加上 Only 就不会兼容 2-way 了

广播链路

IS-IS 的广播链路邻居建立和 OSPF 的邻居建立基本相似,只不过 OSPF 邻居建立收到的是对端的 RID ,IS-IS 的邻居建立收到的是邻居的 MAC

因为是广播网络,需要创建 DIS 所以在邻居建立完成,路由器会等待两个 Hello 报文间隔再进行 DIS 的选举

  • 只有在广播网络中才会有 DIS (伪节点)
  • DIS 支持抢占,因为 DIS 和所有的设备之间都是建立邻接关系,谁当 DIS 都可以
  • 如果没有 DIS IS-IS 的数据库有可能同步,只是 LSDB 数据库的同步需要 DIS 的保证
  • DIS 的 Hello 报文是三分之一秒发送一次(确认 DIS 的)
  • DIS 十秒钟发送 CSNP 报文,对该网段的 LSDB 表进行更新(保证数据库的同步)
  • 在广播网络中 IS-IS 需要在路由器中选举一个路由器作为 DIS
  • level-1 / level-2 的 DIS 是分别选举的
  • DIS 负责生成伪节点的链路状态协议单元 LSP,用来描述网络存在的哪些设备
  • 在 IS-IS 的 LSDB 数据库中 DIS 会生成两条 LSP
  • LSDB 表项中的 LSP 有 01-00 就是 DIS 产生的
  • 01 为 IS-IS 的链路信息,相当于 OSPF 的二类 LSA
  • 00 为 IS-IS 的链路信息,相当于 OSPF 的一类 LSA

DIS 的作用

  • 在广播网络中作为一种确认机制
  • 保证数据库的同步

DIS 的选举规则

  • 首先比较优先级越大越优,默认为 64(范围是 0~127)
  • 如果优先级相同比较 MAC 地址
  • 优先级为 0 的设备也具有选择权

IS-IS 的 LSDB 更新过程

广播网络

广播网络 DIS 的 LSDB 更新

序列号

  • 没有收到过序列号:DIS 收到 LSP ,会在数据库中对应相应的记录 ,如果没有则加入 数据库 ,并组播新的数据库内容
  • 收到过序列号:若收到的 LSP 的序列号大于本地的序列号 ,就替换为新报文 ,并组播 发送数据库内容
  • 若收到的 LSP 的序列号小于本地的序列号 ,就从入端口发送本地的 LSP

剩余时间

  • 若序列号相同则比较剩余时间,若收到的 LSP 的剩余时间小于本地的 LSP 的剩余时间 ,就替换为新报文 ,并广播数据库内容
  • 若收到的 LSP 的剩余时间大于本地的 LSP 的剩余时间 ,就从入端口发送本地的 LSP

checksum(校验值)

  • 若两个序列号和剩余时间都相等,则比较 checksum 若收到的 LSP 的 checksum 大于本地的 LSP 的 checksum ,则替换为新报文 ,并组播发生数据库内容
  • 若收到的 LSP 的 checksum 小于本地的 LSP 的 checksum ,就从入端口发送本地的 LSP
  • 若两个序列号、剩余时间、checksum 都相等,则不转发该报文

点到点网络

点到点网络的 LSDB 更新

序列号

  • 若收到 LSP 的序列号比自己本地的 LSP 序列号大 ,则将这个新的 LSP 放进自己的 LSDB 数据库 ,在通过一个 PSNP 确认自己收到此条 LSP --------最后会将此条 LSP 发送给除发送该 LSP 的其他邻居
  • 若收到 LSP 的序列号比自己本地的 LSP 序列号小 ,则直接给对端发送本地的 LSP ,并等待一个对方给自己发送 PSNP 报文确认

剩余时间

  • 若收到的 LSP 的序列号与本地的 LSP 的序列号相同 ,则比较剩余时间 ,若收到的 LSP 的剩余时间小于本地的 LSP 的剩余时间 ,则将该 LSP 存入到 LSDB 并发送PSNP 确认收到过 LSP--------然后会将此条 LSP 发送给除发送该 LSP 的其他邻居
  • 若收到的 LSP 的剩余时间大于本地的 LSP 的剩余时间 ,则直接给对方发送本地的 LSP ,然后等待对端发送一个 PSNP 确认

checksum(校验值)

  • 若两个序列号和剩余时间都相等,则比较 checksum 若收到的 LSP 的 checksum 大于本地的 LSP 的 checksum ,则将该 LSP 存入到 LSDB 并发送 PSNP 确认收到此报文--------然后会将此条 LSP 发送给除发送该 LSP 的其他邻居
  • 若收到的 LSP 的 checksum 小于本地的 LSP 的 checksum ,则直接给对端发送本地的 LSP ,然后等待对端发送一个 PSNP 确认
  • 若两个序列号、剩余时间、checksum 都相等,则不转发该报文
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号