ISIS知識點
ISIS基本配置,ISIS 9種報文,2種網絡類型,3種路由器類型,hello報文中的padding的開啟域關閉,P2P 鏈路 3-way,接口認證,修改路由器級別,接口級別,路由過載,DIS選舉,DIS域DR的區別,接口優先級的修改,接口開銷值,接口開銷類型(narrow,wide),修改網絡類型(p2p,broadcast),ISIS路由聚合,ISIS缺省路由,路由引入,引入外部路由的類型(internal,External),路由過濾filter-policy,IS-IS路由滲透
ISIS也是一種基于鏈路狀態并使用最短路徑優先算法進行路由計算的一種IGP協議(用于ISP)
一個OSPF鏈路狀態數據庫是若干條LSA的集合。與此相似,一個IS-IS鏈路狀態數據庫是若干條LSP的集合。與OSPF鏈路狀態數據庫不同,IS-IS鏈路狀態數據庫有level-1和level-2之分
理解IS-IS的基本原理
熟悉IS-IS與OSPF的區別
掌握IS-IS的常用配置(level1 level2 level1-2)
路由器少,交換機多,分層 —— OSPF
OSPF特點:目前只支持IP網絡,工作在IP層
集成IS-IS特點:支持CLNP網絡和IP網絡,工作在數據鏈路層(MAC地址),沒有組播地址
IS-IS 9種報文
P2P Hello
Broadcast L1-Hello 0014
Broadcast L2-Hello 0015
LSP(鏈路狀態PDU)CSNP(完全序列號數據包)PSNP(部分序列號數據包)(都分為level 1 2)
CSNP類似于OSPF的DD報文 傳遞的是LSDB里所有鏈路信息摘要
PSNP類似于OSPF的LSRequest或LSAck報文 用于請求和確認部分鏈路信息
LSP類似于OSPF的LSU
2種網絡類型
IS-IS 只支持 P2P和Broadcast 網絡類型
點到點網絡不選舉DIS
修改網絡類型:網絡只支持由廣播類型改為P2P
int g0/0/0
isis circuit-type p2p
IS-IS 基本結構
協議優先級:15 metric : cost
運行 IS-IS 協議的路由器必須有一個必須有一個被稱為 NET (Network Entity Title)的網絡地址,NET 也稱為網絡實體名,長度為 8 至 20 字節,其格式可以多種多樣。
通常,在 IP 環境下 NET 格式為:區域 ID (1 字節)+系統 ID(6 個字節)+SEL (1 個字節),NET 中的 SEL 總是為 00。
配置路由器的網絡實體名,同一臺路由,可以配置 3 個網絡實體名,但它們的system ID 要相同
49.0001.0000.0000.0001.00
10.0000.0000.0001.00
字節數是 8~20,因此是可變長的。 從后面開始看
用IS-IS協議物理接口的MTU為1497,有3個字節給LLC使用了
System ID length 默認為6,是系統ID號長度
max area 默認為3,代表最大支持3個network-entity。isis進程最多支持三個區域
每臺設備最多可以配置三個NET,系統ID必須是相同,區域ID可以不同
3種路由器類型
Level-1的鄰接關系的建立,區域ID必須一致
不同區域的,要Level-1和Level-1-2配合
IS-IS路由器的三種類型
· Level-1路由器(只能創建level-1的LSDB) 同一區域
· Level-2路由器(只能創建level-2的LSDB) 不同區域
· Level-1-2路由器(路由器默認的類型,能同時創建level-1和level-2的LSDB) 跨區域
接口上改 [R1]int g0/0/1 [ ]isis circuit-level level-1
路由器上改 [R1-isis-1]is-level level-1
L1-2 L2 L1-2 這樣搭建路由才能通。
IS-IS的骨干區域:是由所有的L2路由器(含L1/L2)組成的 (連續)
鄰居關系建立
P2P 鏈路 3-way 3次握手
點到點網絡才有 選擇兩次或三次。 MA網絡就是三次
int g0/0/0
isis ppp-negotiation 3-way only 只采用三次握手
hello報文中的padding的開啟與關閉 作用是填充MTU
isis padding-hello 開啟填充字段,先undo才能small,不填充
isis small-hello 關閉填充字段
填充字段的作用:
需求:ISIS不同網段建立鄰居。使地址不在同一個網段 也能建立起鄰居關系。
int s0/0/0
isis peer-ip-ignore (兩端都得改)
解析:因為ISIS本質是基于二層建立起來的
需求:修改System ID ,讓它更短一點
isis
is-name R2R1 (兩端都得改)
IS-IS 認證
接口認證:對Level-1和Level-2的Hello 報文進行認證
區域認證:對Level-1的SNP和LSP報文進行認證
路由域認證:對Level-2的SNP和LSP報文進行認證
認證方式:NULL、明文、MD5
int g0/0/0
isis authentication-mode md5 huawei (isis沒有md5的kid號,ospf有)
IS-IS 形成鄰居關系的條件
①同一層次
②同一區域
③同一網段
④相同網絡類型 P2P broadcast
⑤相同的mtu值
⑥認證相同
⑦在P2P網絡中,system-id長度要一致,最大區域地址數要相同
·IS-IS接口開銷類型兩端類型不一致,鄰居可以建立,但路由不能學習
·不同的進程ID號,可以建立鄰居關系
R1是1類 區域1,R2是2類 區域2,這種是沒問題的
IS-IS鄰居建立不起來的原因:
①級別不同、②區域號不在區域內、③認證不同、④MTU、⑤網絡類型不同、⑥cost-style…
·對于OSPF 一個路由器不同接口屬于不同區域
·對于ISIS來講,屬于某個區域,所有路由器接口都屬于某個區域
DIS與DR的區別
CSNP類似OSPF的DD報文,LSP類似OSPF的LSU,PSNP類似OSPF的LSR、LSAck
OSPF協議中的DR與ISIS協議的DIS的區別
①DR 選舉先看優先級,再比較 router-id ,DIS 先看優先級,再比較 mac 地址
②DR 默認為 1,取值范圍為 0-255,DIS 默認為 64,取值范圍為 0-127,
③DR 的值為 0 ,代表放棄 DR 選取,DIS 的值為 0 ,只是值小,并不放棄 DIS 選舉
④DR 主要為了減少 LSA 泛洪,DIS 是為周期發送 CSNP,同步LSDB
⑤DR 有備份的設備 BDR ,DIS 沒有備份的 DIS
⑥DR 的選舉是在鏈路上選舉的,DIS 的選舉分為 Level-1和 Level-2,在路由器上選舉
⑦DR 默認不開啟搶占, DIS 默認搶占
⑧OSPF 選舉 DR/BDR 需要 waiting time 達 40秒,過程也較為復雜,而ISIS選舉DIS 等待兩個 Hello 報文間隔就可以,簡單快捷
⑨選舉完成后,ISIS 網絡鏈路內所有的路由器之間都建立的是鄰接關系。OSPF中DRothers 只與 DR/BDR 形成 full 鄰接關系, DRothers 之間只有 2-way 的關系
ISIS和OSPF的區別
ISIS:工作在數據鏈路層,優先級15,選舉DIS,9個報文,2個網絡類型
OSPF:工作在網絡層,優先級10和150,選舉DR,5個報文,4個網絡類型
網絡類型和開銷方式:
IS-IS 協議只支持兩種網絡類型,且所有帶寬默認開銷值都是一樣的,OSPF 協議支持四種網絡類型,且會根據不同的帶寬設定相應的開銷值,對幀中繼,按需鏈路等網絡類型有很好的支持。
區域類型:
IS-IS 協議分 L1/L2 區域,L2 區域是骨干區域有全部明細路由。L1 去往 L2 只有默認路由。OSPF 協議分骨干區域,普通區域,特殊區域。普通區域和特殊區域跨區域訪問需要經過骨干區域。
報文類型:
IS-IS 協議路由承載報文類型只有 LSP 報文且里面路由信息是不區分內部與外部的,簡單高效,無需遞歸計算。OSPF 協議路由承載報文 LSA 類型多樣,有1/2/3/4/5/7 類等。路由級別等級森嚴,且需要遞歸計算,適合精細化調度計算。
存活時間: OSPF叫dead time,ISIS叫holding time
了解部分
了解:剩余生存時間——holdtime 是Hello時間的三倍 10*3。 OSPF是4倍,其他都是3倍
了解:分片 ISIS 的 LSPID dis isis lsdb
了解:dis isis lsdb 的 ATT/P/OL
ATT:可以理解為OSPF的ABR它會告訴本區域的L1路由器,有去往其他區域的路由。
OverLoad:[]isis []set-overload 表示過載
P:區域修復,相當于OSPF的虛鏈路
DIS選舉規則
DIS默認是64,取值范圍0~127。 MA網絡才會選DIS。點到點不選DIS
比較DIS優先級,優先級大的為DIS。 優先級相同,比較MAC,MAC地址大的為DIS
DIS分為:1類DIS和2類DIS
查看:dis isis int [verbose]
修改DIS:
int g0/0/0
isis dis-priority 120 這種沒有指明改1類DIS還是2類DIS,默認都改
isis dis-priority 120 level-1 指明改1類DIS。 如果之前默認都配置,要先undo isis dis-priority,再配指定1類。
DIS的選舉周期:2倍的Hello時間(默認10秒), Hello時間可 dis isis in verbose 查看到
IS-IS 鏈路狀態數據庫
· P2P網絡CSNP報文只發送一次,鄰居建立后立即發送
· MA網絡CSNP報文只由DIS組播發送,時間默認為10秒
IS-IS 路由算法
接口cost值都是默認為10,默認類型為Narrow
注意劃分區域的邊界。
區域間的路由
IS-IS 開銷值
IS-IS 有三種方式來確定接口的開銷,按照優先級由高到底分別如下:
①接口開銷:為單個接口設置開銷,優先級最高。
int g0/0/0
isis cost 50
②全局開銷:為所有接口設置開銷,優先級中等。
isis
circuit-cost 30
③自動計算開銷:根據接口帶寬自動計算開銷,優先級最低。
isis
bandwidth-reference 1000
auto-cost enable
isis
cost-style narrow
auto-cost enable 自動計算開銷,接口開銷為20。 如果是wide,接口開銷為1
IS-IS接口的默認開銷為10,開銷類型默認為narrow,開銷范圍:1-63,但是在大型網絡設計中,較小的度量范圍不能滿足實際需求。IS-IS開銷類型wide,開銷范圍:1-16777215
查看ISIS 協議的默認參數:dis default-parameter isis
IS-IS 路由配置需求
最優路徑。 修改cost值,讓RTA到達RTB的cost值更小。
配置1:啟用IS-IS,進程號100,RTA為DIS
配置2:RTD與RTE之間采用P2P網絡類型
配置3:引入路由 + 路由滲透
IS-IS 匯總默認路由
OSPF只能在ABR和ASBR路由器上進行路由聚合,而IS-IS路由器能否進行路由聚合以及對什么樣的路由才能進行聚合取決于路由器的類型及路由的類型。
在IS-IS網絡中,level-1路由器只維護level-1鏈路狀態數據庫,只能對相應的level-1的直連路由進行聚合,并將聚合后的路由以level-1 LSP的形式發送給其他路由。level-2路由器只維護level-2鏈路狀態數據庫,只能對相應的level-2的直連路由進行聚合,并將聚合后的路由以level-2 LSP的形式發送給其他路由。 (level-1-2則都可以)
[R1]isis
[R1-isis-1]network-entity 10.0000.0000.0001.00
[R1-isis-1]is-name R1
[R1-isis-1]is-level level-1
[R1-isis-1]int g0/0/0 對Loopback012 也是這樣配
[ ]isis enable 1
[R2]isis
[R2-isis-1]network-entity 10.0000.0000.0002.00
[R2-isis-1]is-name R2
[R2-isis-1]int g0/0/0
[ ]isis enable 1
[ ]isis circuit-level level-1
[ ]int g0/0/1
[ ]isis circuit-level level-2
[R3]isis
[R3-isis-1]network-entity 20.0000.0000.0003.00
[R3-isis-1]is-name R3
[R3-isis-1]is-level level-2
[R3-isis-1]int g0/0/1 對Loopback012 也是這樣配
[ ]isis enable 1
路由聚合(默認以L2類型發送)
[R1-isis-1]summary 10.0.1.0 255.255.255.252 level-1
[R3-isis-1]summary 10.0.3.0 255.255.255.252
dis isis route
①D:表示直連路由
②A:表示此路由被加入單播路由表中
③L:表示此路由通過LSP發布出去
IS-IS 缺省路由
第一種缺省路由是 由 level-1 路由器在特定條件下自動產生的,它的下一跳是離它最近的 (cost 最小)level-1-2 路由器。
第二種缺省路由是 IS-IS 路由器上使用 default-route-advertise 命令產生并
發布的。
isis
default-route-advertise match default level-1-2
第一種缺省路由:它是自動產生的,如果R2的G0/0/1口down掉了,那么R1就認為失去了和骨干網的聯絡,從而不會自動產生第一種缺省路由,無法自動產生,ping不通R4
第二種缺省路由:手工產生:(默認以L2類型發送)
R2有缺省路由的情況下,可不配always,R1也有默認路由
[R2-isis-1]default-route-advertise level-1
如果R2指向R4沒有缺省路由,就一定要有always 。 R1才會有默認路由。
[R2-isis-1]default-route-advertise always level-1
但這種即使R2到R4的接口down掉了,R1路由也會在,這種比較不科學,應該 不能連接外部就不下放,能連接的時候再下放。
R2到R4的接口down掉了就沒,up就有。這種適用性最好,建議配置缺省路由就這樣配
[R2-isis-1]default-route-advertise match default level-1-2 這種滿足了R1和R3
IS-IS 路由引入
IS-IS 網絡能夠引入其他路由協議的路由和其他 IS-IS 協議進程的路由。默認情況下,IS-IS 總是以 level-2 路由類型引入外部路由。但是,通過手動配置,也可以以 level-1 路由類型引入外部路由。
isis
import-route ospf 1 level-1 cost-type internal cost 30
?
?
[R1]isis [R1-isis-1]network-entity?10.0000.0000.0001.00 [R1-isis-1]is-name?R1 [R1-isis-1]is-level?level-1 [R1-isis-1]int?g0/0/0 [R1-GigabitEthernet0/0/0]isis?enable [R2]isis [R2-isis-1]network-entity?10.0000.0000.0002.00 [R2-isis-1]is-name?R2 [R2-isis-1]int?g0/0/0 [R2-GigabitEthernet0/0/0]isis?enable [R2-GigabitEthernet0/0/0]isis?circuit-level?level-1 [R2-GigabitEthernet0/0/0]int?g0/0/1 [R2-GigabitEthernet0/0/1]isis?enable [R2-GigabitEthernet0/0/1]isis?circuit-level?level-2 [R3]isis [R3-isis-1]network-entity?20.0000.0000.0003.00 [R3-isis-1]is-name?R3 [R3-isis-1]is-level?level-2 [R3-isis-1]int?g0/0/0 [?]isis?enable [?]int?loo0 [?]isis?en OSPF: [R1]ospf?router-id?1.1.1.1 [R1-ospf-1]area?0 [?]net?192.168.14.1?0.0.0.0 [R4]ospf?router-id?4.4.4.4 [R4-ospf-1]area?0 [?]net?192.168.14.4?0.0.0.0 [?]net?4.4.4.4?0.0.0.0 [?]net?44.44.44.44?0.0.0.0 R3?引入,讓R2通過引入方式學習到3.3.3.3 [R3]isis [R3-isis-1]import-route?direct?? ·對于External類型的cost,在IP路由表中的cost值的計算方法為,64+IS-IS路由表中的Incost+IS-IS路由表的Extcost [R3-isis-1]import-route?direct?cost-type?internal?????內部路由默認開銷是10 [R3-isis-1]import-route?direct?cost-type?internal?cost?50?在R2查看路由表會發現是60??10+50 精確引入,只希望引入?4.4.4.4,讓R2只能學習到4.4.4.4 [R1]acl?2000 [R1-acl-basic-2000]rule?permit?source?4.4.4.4?0 [R1]route-policy?10?permit?node?1 [R1-route-policy]if-match?acl?2000 [R1-isis-1]import-route?ospf?1?level-1?route-policy?10 [R1-isis-1]import-route?ospf?1?level-1?route-policy?10?cost-type?internal?cost?60
?
?
IS-IS 路由過濾
在IS-IS網絡中,有時需要使用filter-policy工具對IS-IS路由進行過濾。這里所說的過濾,是指路由器在將自己IS-IS路由表中的某些IS-IS路由納入進自己的IP路由表的過程,一些滿足了過濾條件的IS-IS路由將被限制納入IP路由表中。
· filter-policy 它的過濾 只能針對自己的路由表
需要注意的是,filter-policy進行過濾的并非是生成那些IS-IS路由的LSP,所以filter-policy進行路由過濾之后,路由器中的IS-IS鏈路狀態數據庫和IS-IS路由表都不會受到任何影響。
使用 filter-policy 工具對 IS-IS 路由進行過濾
route-policy 10 deny node 2
if-match ip next-hop acl 2014
if-match acl 2001
route-policy 10 permit node 3
isis
filter-policy route-policy 10 import
?
?
基礎配置: R1 [R1]isis [R1-isis-1]network-entity?10.0000.0000.0001.00 [R1-isis-1]is-name?R1 [R1-isis-1]is-level?level-2 [R1-isis-1]int?g0/0/0 [R1-GigabitEthernet0/0/0]isis?en [R1-GigabitEthernet0/0/0]int?g0/0/1 [R1-GigabitEthernet0/0/1]isis?en [R1-GigabitEthernet0/0/1]int?loo0 [R1-LoopBack0]isis?en R2 [R2]isis [R2-isis-1]network-entity?10.0000.0000.0002.00 [R2-isis-1]is-name?R2 [R2-isis-1]is-level?level-2 [R2-isis-1]int?g0/0/0 [R2-GigabitEthernet0/0/0]isis?en [R2-GigabitEthernet0/0/0]int?g0/0/1 [R2-GigabitEthernet0/0/2]isis?en R3 [R3]isis [R3-isis-1]network-entity?20.0000.0000.0003.00 [R3-isis-1]is-name?R3 [R3-isis-1]is-level?level-2 [R3-isis-1]int?g0/0/1 [R3-GigabitEthernet0/0/1]isis?en [R3-GigabitEthernet0/0/1]int?g0/0/2 [R3-GigabitEthernet0/0/2]isis?en [R3-GigabitEthernet0/0/2]int?loo1 [R3-LoopBack0]isis?en [R3-LoopBack0]int?loo2 [R3-LoopBack2]isis?en R4 [R4]isis [R4-isis-1]network-entity?10.0000.0000.0004.00 [R4-isis-1]is-name?R4 [R4-isis-1]is-level?level-2 [R4-isis-1]int?g0/0/1 [R4-GigabitEthernet0/0/1]isis?en [R4-GigabitEthernet0/0/1]int?g0/0/2 [R4-GigabitEthernet0/0/2]isis?en 需求: (1)R1只能經R2訪問R3的loopback?1 (2)R2只能經R4訪問R3的loopback?2 ——————————————?看看有問題嗎?———————————————— 在R2上過濾掉R3的loopback?2 R2: acl?2000 rule?deny?source?172.16.2.0?0.0.0.255 rule?permit?source?any isis filter-policy?2000?import R1還是有兩個下一跳。 在R4上過濾掉R3的loopback?1 R4: acl?2000 rule?deny?source?172.16.1.0?0.0.0.255 rule?permit?source?any isis filter-policy?2000?import 只針對路由表起作用,對路由傳遞不起作用,?OSPF亦是如此 ———————————?R1路由表還是有兩個下一跳?————————————— 綜合運用:filter-policy和router-policy??才能過濾 [R1]acl?2001 [R1-acl-basic-2001]rule?permit?source ?172.16.1.0?0.0.0.255 [R1]acl?2002 [R1-acl-basic-2002]rule?permit?source ?172.16.2.0?0.0.0.255 [R1]acl?2012 [R1-acl-basic-2012]rule?permit?source ?192.168.12.2?0.0.0.0 [R1]acl?2014 [R1-acl-basic-2014]rule?permit?source ?192.168.14.2?0.0.0.0 [R1]route-policy?10?deny?node?1 [R1-route-policy]if-match?ip?next-hop?acl?2012 [R1-route-policy]if-match?acl?2002 拒絕?下一跳是?acl2012的,并且是去往acl2002網段的 [R1]route-policy?10?deny?node?2 [R1-route-policy]if-match?ip?next-hop?acl?2014 [R1-route-policy]if-match?acl?2001 [R1]route-policy?10?permit?node?3 調用 isis filter-policy?route-policy?10?import
?
?
IS-IS 路由滲透
Level-1區域必須只能與骨干區域相連,不同level-1區域之間不能直接相連。level-1區域內的路由信息會通過level-1-2路由器通報給level-2區域,即level-1-2路由器會將學習到的level-1路由信息封裝進level-2 LSP,并將這些level-2 LSP傳遞給其他level-2和level-1-2路由器。因此,level-1-2和level-2路由器是指定整個IS-IS路由域的路由信息的。
另一方面,為了減小路由表的規模,在缺省情況下,level-1-2和level-2路由器并不會將自己知道的路由域中其他level-1區域以及骨干區域的路由信息通報給level-1區域。這樣一來,level-1路由器只能通過缺省路由來訪問 區域以外的任何目的地
通常情況下,level-1路由器只能通過缺省路由來訪問本區域以外的目的地,但是如果需求特殊,則這種方式或許不能被接收,例如,如果要求一個level-1路由器必須經由最優路徑(也就是總的開銷值最小)訪問其他某個區域的目的地時,使用缺省路由就無法滿足需求。在這種情況下,level-1路由器需要知道并使用其他區域的目的地明細路由,而不是盲目地使用缺省路由。
IS-IS 路由滲透指的是 Level 1-2 和 Level-2 路由將自己知道的其他 Level-1 區域以及 Level-2 區域的路由信息通報給指定的 Level-1 區域的過程。
isis
import-route isis level-2 into level-1
IS-IS沒有全局的概念,Level-1 只認自己最近的Level-1-2的cost值,這樣會產生次優路徑。
審核編輯:黃飛
?
評論
查看更多