上一章我們介紹了ISIS的LSDB的形成以及相關實驗
這一章我們來介紹ISIS是怎樣來計算我們的路由的
1、LSDB數據庫
之前我們在ISIS概述里面已經提及到Level-1的路由器設備只會維護Level-1的LSDB
Level1-2會維護Level-1以及Level-2的LSDB,Level-2只會維護Level-2的LSDB
2、ATT置位
我們可以知道Level-1路由器會計算出本區域的拓撲信息以及各個網段的路由信息,那么到達其他區域的拓撲信息以及網段信息是如何進行計算的呢?
Level-1/2路由器在有活躍的Level-2的數據庫時會將發送給Level-1路由器的LSP中的ATT置位,Level-1路由器在收到ATT位置位的LSP時會自動生成一條指向Level-1/2的默認路由,用來訪問其他區域
ATT置位的條件
- 該設備是L1/2路由器
- 該設備有活躍(active)的L2的數據庫(通過SPF算法能夠連接到其他區域)
就算沒有L1的鄰居,L1/2路由器只要滿足以上兩點就會將ATT置位
注意:為了避免環路的問題,同一個區域的Level1/2路由器不會使用同一個區域的其他Level1/2路由器的Level-1的LSP的ATT置位來計算默認路由
如果有多臺L1/2路由器連接到了同一臺L1路由器上,并且ATT置位且開銷一致的情況下會進行負載分擔
但由于Level-1路由器訪問其他區域時沒有相對應的明細路由所以會出現次優路徑的可能例如以下這種情況:
在這張拓撲當中,AR1由于沒有L2區域的明細路由所以通過COST會優選AR2來到達AR4,這樣就會出現次優路徑的產生,當然我們可以通過路由泄漏或路由滲透來解決這一問題
3、P置位
?
這里的P置位有點類似于我們OSPF中的Vlink虛鏈路,也就是將區域分割開了,通過虛連接來將兩個區域連接到一起,但ISIS這里研發并沒有實現相應功能所以我們就不過多贅述
4、OL置位
OL 過載標志位有點類似于OSPF中的stub-router
如果OL置位了其他路由器將不會把本設備加入到SPF計算當中,也就是不能當作路徑使用,當然自身產生的LSP或引入的LSP還是可以正常學習和訪問的
OL置位有兩種情況:
- 手動置位(set-overload)
- 自動置位,設備的LSDB溢出時設備將自動置位,用來告訴其他設備我已經無法承載更多的LSP了
注意:ATT置位和OL置位是互斥的,如果ATT置位了OL就不可能置位,因為OL置位本身就是想告訴其他設備不要經過我
拓撲
(1)基礎配置
AR1
system
sysname AR1
interface g0/0/0
ip add 10.0.12.1 24AR2
system
sysname AR2
interface g0/0/0
ip add 10.0.12.2 24
interface g0/0/1
ip add 10.0.23.2 24AR3
system
sysname AR3
interface g0/0/0
ip add 10.0.23.3 24
?(2)ISIS配置
AR1
isis 1
is-level level-1
network-entity 49.0001.0000.0000.0001.00
q
interface g0/0/0
isis enable 1AR2
isis 1
network-entity 49.0001.0000.0000.0002.00
set-overload
y
q
interface g0/0/0
isis enable 1
interface g0/0/1
isis enable 1AR3
isis 1
network-entity 49.0002.0000.0000.0003.00
q
interface g0/0/0
isis enable 1
?
配置完后我們發現在AR1中查看LSDB時AR2的LSP中OL置位了
此時我們在AR3上創建一個Loopback接口在ISIS中啟動并在AR2上把L2的LSP滲透到L1中看看AR1能不能學到相關的路由信息
可以看到AR1是學習不到3.3.3.3的相關路由信息的
如果此時我們在AR2上修改命令為set-overload allow interlevel,看看AR1能不能學習到相關路由信息
我們可以看到雖然此時OL置位了但我們AR1仍然能學習到3.3.3.3的路由信息
一般這種手工OL置位我們會在網絡割接的時候臨時使用
5、路由滲透(路由泄漏)
?我們前面說到在L1/2設備中如果存在活躍的L2的LSDB的情況下就會將ATT置位,在L1路由器上生成一條默認路由,但我們說了這可能會導致次優路徑的產生,所以我們需要讓L1區域的路由器學習到其他區域的明細路由可不可以
當然可以,我們可以將L2的LSP信息滲透到L1當中,這一過程有點類似于引入,但并不是引入,什么意思?我們接下來可以進行實驗來進一步說明
拓撲
(1)基礎配置
AR1
system
sysname AR1
interface g0/0/0
ip add 10.0.12.1 24AR2
system
sysname AR2
interface g0/0/0
ip add 10.0.12.2 24
interface g0/0/1
ip add 10.0.23.2 24AR3
system
sysname AR3
interface g0/0/0
ip add 10.0.23.3 24
(2)ISIS配置
AR1
isis 1
is-level level-1
network-entity 49.0001.0000.0000.0001.00
q
interface g0/0/0
isis enable 1AR2
isis 1
network-entity 49.0001.0000.0000.0002.00
q
interface g0/0/0
isis enable 1
interface g0/0/1
isis enable 1AR3
isis 1
network-entity 49.0002.0000.0000.0003.00
q
interface g0/0/0
isis enable 1
配置完成之后我們會在AR1的LSDB中看到由L1/2路由器產生的ATT置位的LSP
此時我們查看路由表當中就會自動生成一條指向AR2的默認路由
此時我們在AR1上創建一個Loopback接口并將它啟動到ISIS當中AR3是可以學習到Loopback接口的明細路由的
我們發現AR3可以通過L2的數據庫學習到L1的明細路由,這是因為在ISIS中L1/2設備會自動將L1區域中的LSP引入到L2區域當中
我們可以看到這是一條默認配置,當然我們也可以將它Down掉這樣AR3也無法學習到AR1上的明細路由了
此時我們再在AR3上創建一個Loopback接口并將它啟動到ISIS當中
但在我們AR1上是無法直接學習到L2區域中的明細路由的,但我們可以手工將L2區域的LSP滲透到L1當中
import-route isis level-2 into level-1?
此時我們再去AR1上查看路由表時就會發現可以學習到L2區域中的路由信息了,并且我們在查看LSP信息時會發現多了一個*號
這個*號表示這條LSP是滲透進來的
為了避免環路問題,L1/2路由器收到一條UP/Down置位的LSP信息時會進行計算但不會將它回灌到L2區域(這里與OSPF不同,OSPF中ABR設備在收到一條3類LSA時并不會進行計算也不會往區域內傳遞此LSA)
(這里與OSPF不同,在OSPF中ABR收到一份3類LSA不會進行計算也不會將3類LSA向區域內進行傳遞)
為什么說L2引入到L1叫路由泄漏而L1引入到L2不叫路由泄漏呢?
因為在L1引入到L2時Distribution并不會置位,并且我們L1/2設備在引入其他路由時也不會置位
我們在AR2上創建一個Loopback接口,IP為2.2.2.2將它以直連的方式引入到L1當中
我們發現在引入過程中UP/Down字段并不會置位
到這里本章內容就到此結束了如果有疑問可以關注博主私聊,如果有問題歡迎私聊博主及時更改謝謝大家的觀看學習!!!?
?