如果有些名词不清晰可以查看之前文章
L1访问其他区域使用缺省路由会引发次优路径问题,但次优路径leak路由又会引发路由环路问题,下面将会从去缺省路由到路由环路一一解决
Level 1的缺省路由
L1访问其他区域使用缺省路由 --> 引发次优路径 --> 引起环路
L1的数据库会自动引入到L2的数据库,但L2的路由并不会引入到L1中,因此L1需要利用缺省路由
在ISIS中L1的缺省路由并不像OSPF中是ABR下发的,而是L1设备自己产生的,当L1/2下发的LSP在满足条件时会默认将ATT位置1,当L1设备收到ATT置位的LSP时,则会产生一条指向L1/2的缺省路由,以便被路由到其他区域
ATT是attached-bit的缩写
attached-bit advertise never //不再发出ATT置位的LSP
能够形成ATT位置1的条件有3条,必须全部满足
- 必须是L1/2路由器
- 必须有L2邻居
- 能够接收到来自不同area的LSP
如果是图中下面这种情况,他没有产生att置位的LSP,L1该怎么访问L2呢?
如果出现这种情况,会被认为是一种设计缺陷,如果在同一区域中,不应该即用level1有用level2,所以这样设计是错误的,就不应该出现这种情况,要及时修改
真实报文,能够看到attached bit值位1
L1缺省路由引发次优路径
L1访问其他区域使用缺省路由 --> 引发次优路径 --> 引起环路
由于缺省路由只看眼前,也就是只看自己到L1/2的开销,不管L1/2到目标的开销,可能会引起次优路径问题
因此使用Leak(路由泄露 来解决次优路径问题,将L2的路由泄露到L1中,Leak是一种特殊的L1路由
在ISIS选路时的优先级:L1 > L2 > Leak
先比Level级别,相同再比开销
例如R2想访问R1路由器的右侧接口,由于R2没有明细
路由,只能通过缺省路由,而R2只能看到自己到L1/2的开销所以会选下面这条路走向R1,绕了一大圈
针对这种问题,我就能够使用路由泄露,就是将L2区域的路由引入到L1,这样他就能比对开销了
在L1/2路由器上执行
[] isis 1
[isis-1] import-route isis level-2 into level-1 //将全部的L2路由引入L1,可以加路由过滤
我们在路由器中查看一下真实的LSDB
我们进到详细LSP中
路由泄露引起环路
L1访问其他区域使用缺省路由 --> 引发次优路径 --> 路由泄露引起环路
当我们使用Leak路由解决次优路径问题时,同时带来了新的问题,那就是路由环路
当L1/2把L2路由泄露到L1中,很有可能绕一圈又传回来
针对这种问题我们在LSP上将up/down位置1,让其他L1/2路由器知道这条路由是从L2泄露过来的,从而不参与计算不回传到L2
up/down位在前缀中,仅表示这个前缀是不是泄露的