IS-IS路由协议详解(三)
作者:互联网
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 都相等,则不转发该报文
作者:Joker
标签:剩余时间,协议,checksum,发送,详解,LSP,序列号,路由,DIS 来源: https://www.cnblogs.com/Joker-BLOG/p/16125511.html