IS-IS協定
一:IS-IS基本知識
全稱:中間系統-中間系統協定
屬于鍊路狀态路由協定、IGP路由協定、無類路由協定。
IS-IS協定與OSPF協定不同點?
ospf協定主要應用于企業網絡
ISIS協定主要應用于ISP網絡(營運商網絡)
IS-IS特點:
1.注重路由的發現與計算,存在周期性更新,也存在觸發式更新
2. 通過收集全網的鍊路狀态資訊,執行SPF計算後得到最優路徑;
3.收斂速度極快
4.無環路,防環機制豐富
IS-IS缺點:
1.在預設情況下,isis的開銷預設均為10,可以實作根據帶寬進行計算,但是需要人為的設定
2.在區域設計上,以路由器為界;無區域修複的解決方案
ISIS的路由器存在三種類型:
L2:骨幹區域内的裝置
L1:非骨幹區域内的裝置
L1-2:可以同時建立起L1和L2的鄰居關系;(華為預設)
L1>L2,ISIS協定路由協定優先級為15,但是ISIS協定的内部協定優先級,L1為15,L2為18;
區域設計規則:
1.骨幹區域不可分割
2.非骨幹區域必須圍繞骨幹區域而建
3.必須存在一個骨幹區域
二:IS-IS協定的NET位址
NET是一類特殊的NSAP(SEL=00),在路由器上配置IS-IS時,隻需要考慮NET即可。如:
49.0001. 0000.0000.0001 .00
Area ID System ID N-SEL
結構組成: area id+system id+SEL
作用:用于補全ISIS的配置資訊;
area id:1-13位元組的字段,作用是用于分割非骨幹區域
分割非骨幹區域目的:為了保護L1的裝置性能。
當裝置與裝置之間建立L2的鄰居關系時,area id可以相同也可以不同
當裝置與裝置之間建立L1的鄰居關系時,area id必須一緻(數值一緻與長度一緻)。
system id:系統ID(6個位元組),類似于ospf的router id,隻能手工設定,要求全網唯一。
SEL:協定辨別位,固定為1個位元組,內建化的ISIS協定SEL固定為00.
ISIS的實驗配置
1,建立ISIS程序
2,設定isis的level級别
3,設定NET位址
4,将相應接口宣告進isis的程序。
二:ISIS的網絡類型
P2P網絡:當底層鍊路協定為PPP、HDLC、FR等協定時,接口被自動設定為P2P網絡
注意:如果底層鍊路協定為FR時,需要在中心節點裝置上建立子接口;
broadcast網絡:當底層鍊路協定為以太網、IEEE 802.3等協定時,接口被自動設定為broadcast網絡;
注意:1.手工修改網絡類型時,隻允許broadcast網絡修改為P2P;
2.P2P與broadcast之間無法建立鄰居關系;
三:ISIS協定的封包
hello(IIH)封包:用于發現、建立、維護isis的鄰居關系
LSP封包:用于攜帶ISIS的詳細的鍊路狀态資訊(類似于LSU封包)
CSNP封包:用于攜帶LSP的摘要資訊,用于對比與确認;(類似于DD封包)
PSNP封包:用于請求或者确認LSP的詳細資訊;(類似于LSR和LS ACK封包)
ISIS封包承載于IEEE 802.3之上。賦予的優點如下
(1)協定擴充性較強,不需要依賴于IP協定
(2)依賴于mac位址進行通信
(3)安全性較高,實施攻擊時需要接入同一個區域網路
(4)無确認機制,不可靠
ISIS的頭部資訊
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPn5UeZRlT0kFROBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL5gTNxQTO1ATMzIzMwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
主要字段的解釋如下:
- Reserved/Circuit Type:高位的6比特保留,值為0。低位的2比特表示路由器的類型(01表示L1,10表示L2,11表示L1/L2)。
- Source ID:發出Hello封包的路由器的System ID。
- Holding Time:保持時間。在此時間内如果沒有收到鄰居發來的Hello封包,則中止已建立的鄰居關系。
- PDU Length:PDU的總長度,機關是位元組。
- Priority:選舉DIS的優先級,取值範圍為0~127。數值越大,優先級越高。
- LAN ID:包括DIS的System ID和一位元組的僞節點ID。
- max areas:表示本端裝置可支援配置的area id的個數,預設為3。配置時需要保證system id保持一緻 3個area id作用:用于實作平滑過渡。
IS-IS協定封包詳解
hello封包:用于發現、建立、維護isis的鄰居關系;
發現:isis的裝置基于特殊多點傳播mac位址去發現鄰居:
01-80-c2-00-00-14 level 1
01-80-c2-00-00-15 level 2
建立:通過協商參數建立鄰居關系
維護:周期性每10s發送hello封包,老化時間為30s;
Hello封包特殊之處:如果ISIS雙方的hello時間不一緻,不影響鄰居關系建立同時不會進行協商。
分析:
0000.0000.0001.01
當最後一個位元組為00時,表示該hello封包為實節點發送的封包(實節點1類LSA)
當最後一個位元組不為00時,表示該hello封包為僞節點發送的封包(僞節點2類LSA)
IIH封包中影響鄰居關系建立的因素:
(1)相同level(依賴多點傳播位址展現)的路由器才可以建立鄰居關系;
(2)system id需要保證不一緻;
(3)雙方裝置的MTU值需要保持一緻,通過填充封包的大小進行比較,P2P網絡隻需填充第一份Hello封包,如果是broadcast網絡,每一份hello封包都會進行填充;(MTU值隻能修改大于1500位元組)
(4)L1的鄰居關系建立時需要保證area id一緻;
(5)broadcast網絡中要求接口處于同一網段,P2P網絡無此要求
ISIS封包為什麼擴充性強,因為ISIS封包都是基于TLV結構進行承載:
T type
L length
V value
IS-IS固定封包頭:Ox83
IS-IS變長字段:TLV表示
TLV(type-length-value)編碼方式:
1、 編碼方式高效率、擴充性好的封包編碼方式;也稱CLV(code-length-value)
T—type:采用不同的值定義不同類型;
L-length:整個TLV三元組的長度
V-value:本TLV的實際内容,最重要的部分
2、 TLV編碼的優點:
可擴充性好,如果想增加對于新特性的支援,隻需增加新的TLV類型。
影響isis鄰居關系的因素有哪些?
1.路由器類型一緻
2.area id在L1鄰居關系時需要保持一緻
3.sys id保持不一緻
4.接口MTU值需要保持一緻
5.MA網絡的接口的網段需要保持一緻。
四:isis的鄰居建立過程
P2P網絡預設以3-way的方式建立isis的鄰居關系,可以修改為2-way建立鄰居關系
判斷因素是:收到本身的system id。
broadcast網絡預設隻能以3-way的方式建立isis的鄰居關系。
判斷因素是:收到本地接口的mac位址
注意:ISIS路由器隻會接收來自鄰居的LSP/CSNP/PSNP封包
五:同步LSDB的過程
LSP:詳細的鍊路狀态資訊
CSNP:CSNP(complete sequence number packets)包括LSDB中所有LSP摘要資訊,進而保持相鄰路由器之間的LSDB的同步;類似于OSPF中的DD;廣播網絡中每10s發送一次,p-2-p網絡中在剛開始建立鄰居的時候發送。
PSNP封包: PSNP(partial sequence number packets)列舉最近收到的一個或多個LSP序号,可以一次對多個LSP進行确認,發現LSDB不同步時,通過psnp請求鄰居發送新的LSP,作用類似OSPF中的LSR和Lsack。
鍊路狀态資訊的固定字段?
用來表示一條特定的LSP資訊:0000.0000.0001.00-00
system id+僞/實結點的辨別位+分片辨別位
用來比較LSP封包的新舊程度有哪些?
1.先比較seq序列号:從0x00000001開始,最大值為0xFFFFFFFF,數值越大越新
2.比較校驗和,數值越大越新越優先
3.lifetime:從1200s倒計時,當lifetime=0s時表示該路由會被老化,
當lifetime=300s,重新生成LSP封包進行泛洪
注意:ISIS的LSP封包中的資訊更加簡潔,封包大小減小,可以承載更多的拓撲資訊與路由資訊,能更好支援路由條目多的大型網絡場景
同步LSDB的過程詳解
1.P2P網絡
标準機制:
(1)彼此互動本身的CSNP封包進行确認;
(2)如果發現缺失,則發送PSNP封包進行請求;
(3)對方裝置回應特定LSP封包;
(4)收到後再回複PSNP封包。
華為機制:
(1)直接向外泛洪本身所有的LSP封包;
(2)彼此互動本身的CSNP封包進行确認;
(3)如果發現缺失,則發送PSNP封包進行請求;
(4)對方裝置回應特定LSP封包;
(5)收到後再回複PSNP封包。
華為也有重傳計時器:5s
在P2P網絡中,隻會發送一份CSNP封包,作用是攜帶LSP的摘要資訊,存在間接确認的作用
2.broadcast網絡
DIS:隻有在broadcast網絡中才會選舉,DIS指定路由器
DIS作用:
1,在拓撲描述充當僞節點
2,加速LSDB的同步過程
DIS特點:
1.無備份,支援搶占;
2.被選為DIS的接口的hello時間為字段縮短為3.3s,hold time為10s,周期性每10s發送CSNP封包;
DIS選舉規則:
1.依賴于hello封包進行選舉,先比較DIS優先級,預設為64,範圍是0-127,數值越大越優先(DIS優先級為0無特殊含義)
2.則比較mac位址的大小,越大越優先。
wait time:
當鄰居關系up之後,wait time開始計時,為hello時間的2倍,20s。
在wait time時間内,不搶占DIS,一旦到達wait time,如果本接口優先級高,則進行搶占。
标準機制:
(1)選舉DIS
(2)當DIS周期性泛洪CSNP封包
(3)當路由器發現收到CSNP封包中包含本身缺失的LSP封包時,會泛洪PSNP封包進行請求,隻有DIS會響應PSNP封包泛洪LSP封包出去;
當路由器發現收到的CSNP封包中缺失本身的LSP封包,則路由器會直接泛洪本身的LSP封包出去;
注意:在broadcast網絡,是不會發送确認的PSNP封包;
華為機制:
(1)直接泛洪所有的LSP封包
(2)選舉DIS
(3)當DIS周期性泛洪CSNP封包
(4)當路由器發現收到CSNP封包中包含本身缺失的LSP封包時,會泛洪PSNP封包進行請求,隻有DIS會響應PSNP封包泛洪LSP封包出去
當路由器發現收到的CSNP封包中缺失本身的LSP封包,則路由器會直接泛洪本身的LSP封包出去
問:為何ISIS協定的CSNP封包在MA網絡環境中是以周期更新然而在P2P網絡環境中隻更新一次?
我們知道ISIS的CSNP封包類似OSPF中的DBD封包,作用就是用來确認彼此(鄰居)之間的的LSDB是否同步的,當鄰居路由器通過CSNP封包(OSPF-DBD)獲悉到該本地的LSDB中缺少哪些LSP後,此時該路由器就會向我本地發送一個PSNP的請求封包,此時我本地路由器就通過PSNP封包獲悉了鄰居缺少哪些LSP然後我就會給鄰居更新缺少的LSP,但是我本地路由器更新了LSP後鄰居是不會給我做确認的,并沒有什麼确認機制。我們回顧一下在OSPF中并不是這樣,當鄰居路由向我發送了LSR請求後,我就會通過LSR請求裡的資訊給予鄰居缺少的LSU,同時鄰居收到我的LSU後就會給我傳回一個LSACK封包這時候我本地就能确定鄰居收到了 我的LSU封包,但是在ISIS協定的MA網絡環境裡面并不是這樣,我們可以了解為ISIS中更新LSP是不可靠的,為了增加可靠性在ISIS協定中是通過CSNP的周期更新來實作的。
CSNP的作用就是可以或知道彼此的LSDN中LSP是否同步,通過第一次的互動CSNP封包然後我本地路由器給你更新了LSP這時候正常情況下彼此的LSDB應該是同步了,如果周期更新CSNP的過程中我發現我們仍然沒有達到同步狀态,便認為剛才我給你的LSP你并沒有成功接收這時我就會給你重新發送。
在P2P的網絡環境裡面就不是這樣,當你發送了LSP後鄰居成功接收後就會通過PSNP進行一個确認。是以就沒有 了CSNP的周期更新
六:DIS及DIS與DR的類比
- DIS與僞節點:
- DIS是指指定中間系統(Designated IS)。
- 僞節點是指在廣播網絡中由DIS建立的虛拟路由器。
- DIS的特點:
- 在廣播網絡,需要選舉DIS,是以在鄰居關系建立後,路由器會等待兩個Hello封包間隔再進行DIS的選舉。Hello封包中包含Priority 字段,Priority值最大的将被選舉為該廣播網的DIS。若優先級相同,接口MAC位址較大的被選舉為DIS。IS-IS中DIS發送Hello時間間隔預設為10/3秒,而其他非DIS路由器發送Hello間隔為10秒。
- DIS與DR的類比:
- 選舉時優選級的比較,DIS的優先級為0也可以參與選舉。OSPF中優先級為0不參與選舉DR。
- 選舉的過程需要一定的時間,OSPF選舉DR/BDR需要waiting time達40秒,過程也較為複雜,而ISIS選舉DIS等待兩個Hello封包間隔就可以,簡單快捷。
- 選舉結果ISIS隻有一個DIS,但是OSPF除了有DR,還有一個BDR用做備份。
- 選舉結束後,後期有新的Router加入到鍊路進來,如果優先級比DIS高是可搶占的,但是DR是不可搶占的。
- 選舉完成後,ISIS網絡鍊路内所有的路由器之間都建立的是鄰接關系。OSPF中DRothers隻與DR/BDR形成full鄰接關系, DRothers之間隻有2-way的關系。
- 關于DIS和DR的作用:
- 進行SPF計算時,都把它當成虛節點,簡化MA網絡的邏輯拓撲(相同點)。
- 都是為了減少LSP/LSA的泛洪(相同點)。
- 在ISIS中還可以由DIS發送CSNP來同步鍊路的LSDB(ISIS擴充作用)。
六:ISIS的路由計算
ISIS的路由計算,預設開銷均為10,開銷方式不科學,可能存在次優路徑
解決方案:
1.在接口下修改開銷,在接口下使用isis cost X(1-63)
2.啟用auto cost計算
(1):需要在所有的路由器上将開銷方式設定為寬度量
(2):需要在所有的路由器上使用指令auto-cost enable
路由傳遞的規則?
1.骨幹區域内擁有所有的路由資訊
2.非骨幹區域不會接收來自骨幹區域和其他非骨幹區域的明細路由,由L1-2路由産生預設路由實作通路,但是在非骨幹區域中可以引入外部路由,傳遞給骨幹區域。(最類似ospf的totally nssa區域)
如何産生預設路由?
必須滿足ATT置位的條件:
1,必須由L1-2的路由器生成;
2,必須同時擁有L1和L2的鄰居關系;
3,L1-2的路由器和L2路由器在建立L2的鄰居關系時,area id必須不一緻。
産生預設路由的影響?
提供通路的路徑
增加L1-2路由的開銷
容易産生次優路徑
路由滲透(為了解決次優路徑):在L1-2的路由器上,将L2的部分路由有選擇性地引入到L1的區域内,避免次優路徑産生。
總結: 1. IS-IS路由計算
a) 鍊路狀态協定路由算法
通過可靠的擴散算法各路由器将其它路由器擴散來的拓撲資訊收集起來,組成一張一緻的、完整的拓撲圖,依靠SPF算法來計算出自己的路由表。
2. 路由滲透:Route Leaking
a) 路由滲透
1. Level-1區域隻能和level-2區域相連
2. 不同的level-1區域之間并沒有相連
3. Level-1區域的路由資訊通過L1/L2路由器通告給level-2,是以L1/L2和L2路由器知道整個路由域的路由資訊。但是在預設情況下,L2路由器并不将自己知道的其他LEVEL-1區域以及骨幹路由的資訊通告給level-1區域,這樣level-1區域将不了解本區域以外的資訊,可能導緻對本區域以外的位址選擇最佳的路由;為解決上述問題,IS-IS提供了路由滲透功能,使L2路由器可将移植的其他L1區域以及L2區域的路由資訊通告給指定的L1區域。
七:ospf與ISIS的對比
ospf isis
網絡類型: 4(優) 2
區域類型: 4(優) 2
開銷方式: 帶寬(優) 預設均為10
擴充性: 一般 強
路由承載能力: 強 更強
收斂速度: 快 極快
區域修複: vlink 無
安全性: 一般 強
1. IS-IS和OSPF協定比較總結(一)
比較點 IS-IS OSPF
最早為IP設計的 否 是
鍊路狀态IGP 是 是
直接運作在鍊路上 是 否
有區域概念 是 是
适合大型網絡 是 是
有指定路由器 是 是
DR選舉時可确定的 是 否
搶占式的 非搶占式
優先級0 優先級0
可以參加選舉 不參加選舉
産生LSP描述網絡結構 是 是
支援IP協定 是 是
支援非IP協定 是 否
劃分區域方式 Level劃分 接口劃分
2. IS-IS和OSPF協定比較總結(二)
比較點 IS-IS OSPF
使用範圍 大型ISP中 在企業網和isp中普遍使用
複雜度 産生更少的LSPs 産生更多的LSAs
一般使用一個區域 一般配置多個區域
可擴充性 可以支援相當大的單個區域 比較大的網絡一般劃分為多個區域
對流量工作的支援 擴充支援 擴充支援
可調節性 非常好 好
ospf更加适用于企業網絡,企業網絡裝置數量多,結構複雜,對網絡的收斂以及擴充性要求不高,但是對區域修複與故障響應速度要求較高
isis更加适用于營運商網絡,營運商的網絡裝置數量少,性能強并且差異性不大,裝置之間距離較長,承載路由條目數量多,收斂速度極快