ISISI路由協議:
ISIS概述
-
中間系統到中間系統路由協議,基於鏈路狀態算法,屬於IGP協議的一種
-
適用於骨干網、運營商AS內。
-
運行在數據鏈路層,使用組播MAC地址進行發送報文,
-
組播MAC地址:Level-1:01-80-C2-00-00-14,Level-2:01-80-C2-00-00-15
- MAC第8個比特為0是組播mac,為1是單播mac。
ISIS 網絡類型:
- 廣播
- 點到點
ISIS PDU:
-
ISIS 通用報文(類似OSPF 頭部報文):
報文重要字段 作用 lenght indicator 報文頭長度 id length System ID區域的長度。為0時,表示長度為6字節。為255時,表示為空。 PDU type 報文類型 max…… 所支持最大區域數(默認為3) -
PDU 類型:
PDU type 值 名稱 15 L1 LAN IIH 16 L2 LAN IIH 17 P2P IIH 18 L1 LSP 20 L2 LSP 24 L1 CSNP 25 L2 CSNP 26 L1 PSNP 27 L2 PSNP -
L1/L2 LAN IIH:
-
報文重要字段 作用 circuit type 路由器類型 Source id 發送該hello報文的system-id Holding time 鄰居關系保持時間 pdu lenght 報文總長度 priority Dis 優先級 LAN ID dis設備的system-id和偽結點id(1bit)
-
-
P2P IIH:
報文重要字段 | 作用 |
---|---|
local circuit id | 本地鏈路狀態id(本地物理接口號) |
因為在P2P鏈路中,沒有dis的存在,所以在hello字段中,自然就不存在dis優先級和dis的system-id
- LSP報文:
報文重要字段 | 作用 |
---|---|
Remaining lifetime | LSP的生存時間.默認1200s,1200遞減 |
LSP ID | 唯一標識一條LSP |
seq | 序列號 |
checksum | 校驗和 |
P | 僅與l2 lsp有關,表示路由器是否支持修復被分割的區域 |
ATT | 由level-1-2路由器產生,當L1-2路由器存在L2的鄰居關系時,收到level-2 lsp后,會在將L1 LSP ATT置位1 ,並向lever-1路由器發送,當level-1路由器收到之后,會生成一條指向level-1-2的默認路由。 |
IS type | LSP類型,判斷是level-1類型、還是level-2類型 |
- ATT置位
ISIS 報文類型:
報文類型 | 作用 |
---|---|
Heelo | 建立維護鄰居關系(10s/一次) |
CSNP | 描述LSDB里所有LSP的摘要信息 |
PSNP | 用於請求LSP,和確認LSP |
LSP | 用來包含鏈路狀態詳細信息 |
- hello分為三種:
- level-1鄰居使用的 level-1 LAN IIH,
- level-2 鄰居使用的是level-2 LAN IIH
- P2P網絡使用P2P IIH
ISIS鄰居關系的建立
- 廣播網絡(三次握手建立):
- 跟OSPF鄰居關系建立差不多
- 點到點網絡(三次握手建立):
- 兩端發送IIH,不包含對方的system-id,但是會有一個TLV的變長字段,里面包含自己的電路id,對方收到之后,單向的鄰居關系就已經建立完成,對方向我發送的iih機會攜帶對方的sys-id,還有自己的sys-id,此時,雙向鄰居關系建立完成。
DIS與DR區別
類別點 | DIS | DR |
---|---|---|
優先級 | 默認為64,為0頁參與選舉 | 默認為1,為0 不參與選舉 |
選舉時間 | 20s | 40s |
備份 | 無/具有搶占性 | BDR/無搶占性 |
鄰居關系建立 | 與所有路由器建立鄰居關系 | 只與BDR建立鄰接關系 |
作用 | 減少LSA泛洪 | |
hello時間3/10s
dead時間10s.
優先級+mac地址
- 偽接節點,cir-id為0說明是dis產生的,
ISIS地址結構:
AFI
IDI
High Order DSP
- AREA -ID
sys-id
SEL
spf
ISIS路由器類型
路由器type | 作用 |
---|---|
Level-1 | 與同區域同類型的路由器建立level-1鄰居關系,維護level-1類型的LSDB. |
Level-1-2 | 與不同區域不同類型的路由器建立level-1/level-2的鄰居關系,維護level-1/level-2類型的LSDB. |
Level-2 | 與同區域同類型的路由器建立level-2鄰居關系,維護level-2類型的LSDB. |
System-id | 唯一標識一台路由器 |
---|---|
Local Circuit ID | 鏈路狀態ID(本地接口端口號) |
System-id{dis} | 標識DIS路由器(最后兩位非0,就為DIS) |
點到點字段添加tlv字段,實現三次握手。
電路id:本地接口端口號
level-1設備會選擇離他最近的level1-2
LSDB 同步更新過程:
-
廣播網絡:
-
新加入的設備產生有一個LSP后,會跟所有運行ISIS的接口擴散,網絡范圍內的所有人都可以收到,發送LSP沒有確認機制,但是他可以通過DIS設備周期性的發送CSNP來進行確認,通過查看DIS發送的CSNP報文中是否存在自己的LSP,來確認DIS是否收到,若沒有的話,就進行重新發送。
-
DIS設備會每10s周期的發送CSNP報文,里面攜帶的是LSP的摘要信息,其他路由器通過收到的CSNP報文,與自己本地LSDB做比較,檢查不存在的LSP,然后通過發送PSNP請求該LSP
-
DIS設備收到PSNP請求后,會發送所請求的LSP,在發送之前,會在接口上設置一個SRM的標志,待LSP發送完成之后,就會清除該標志。因為MA網絡中不需要PSNP確認,
-
-
P2P網絡:
- 當鄰居關系建立之后,設備產生新的LSP之后,A/B兩端直接互相發送LSP報文,然后會在發送接口設置一個SRM的標志,只有收到PSNP確認報文后,才會清除該標志
- A/B兩端收到LSP后,會在接收端口設置一個SSN的標志,而會回復一個PSNP確認報文,只有發出PSNP確認報文后,才會清楚該標志
- 收到PSNP確認后,才會認為對單已經收到了LSP,否則會5S重新發一次,LSP的發送時間間隔是5s
- 之后A/B雙方會發送CSNP報文。
ISIS 泛洪機制:
-
路由器產生一條LSP后,會跟所有運行ISIS的接口進行擴散,路由器收到LSP后,會將這份LSP跟運行了ISIS接口的所有接口繼續擴散,
-
路由器收到一條LSP后處理流程如下:
- ISIS路由器接收到一條LSP后,在本地LSDB中進行查找,看該LSP是否存在,若不存在,就將該LSP接受,並加入LSDB中,若存在,則進行比較:
- 比較seq,越大越新
- 比較剩余生存時間,
- 比較校驗和,
- ISIS路由器接收到一條LSP后,在本地LSDB中進行查找,看該LSP是否存在,若不存在,就將該LSP接受,並加入LSDB中,若存在,則進行比較:
-
isis所有鏈路開銷默認為10,
-
組播LSP,目的01-80-C1-00-00-14
NET 地址組成:
- 區域id-sysid-sel(1字節)
- 全16進制數。
- OL置為
- L1>L2>L1 ud置位。
- 接口認證:hello
- 區域認證:l1的報文
- 路由域認證l2的報文