IS-IS讀書筆記

IS-IS的由來
ISO開發了IS-IS,文檔號10589,最早由美國政府和軍方使用,現過波到了運營商。

IS-IS中的術語
SystemOSI的術語)= node(節點)(TCP/IP中的術語)
末端系統ESOSI的術語)=主機節點(TCP/IP中的術語)PC、服務器、打印機等等
中間系統ISOSI的術語)=網絡節點(TCP/IP中的術語)路由器、接入服務器等等

CLNS:無連接的網絡服務
CONS:面向連接的網絡服務
CLNS取代了CONS

CLNSOSI開發的一個第三層協議族同,包括如下組件:
1CLNS無連接的網絡協議,相當於IP協議:對應者CLNS地址和IP地址
2IS-IS中間系統到中間系統,相當於OSPFEIGRP,此爲學習重點。OSI模型下廣域網的解決
3ES-IS末端系統到中間系統OSI模型下局域網的解決方案

CLNP地址也可叫做CLNS地址、IS-IS地址、OSI地址
IS-IS使用以上地址標識路由器和建鏈路狀態數據庫。
即便是用在一個純IP的環境中,IS-IS仍然使用上述地址來構建鏈路狀態數據庫

IS-IS基本概念
IS-ISLSDB中只有兩種LSP:指的是路由級別或者層次
1、level 1,放在L1的鏈路狀態數據庫中
2、level 2,放在L2的鏈路狀態數據庫中

路由條目也相應的分爲兩種:
Level 1主內,負責存儲本區域內的拓撲信息。
Level 2主外,負責存儲區域間的拓撲信息。

IS-IS的路由器默認爲L1-2類型的路由器(相當於OSPFABR,既能對外也能對內),還可以有L1路由器、L2路由器。IS-IS中沒有常規區域與骨幹區域的劃分,但通常情況下是把L2當成骨幹鏈路,L1當成接入鏈路。

IS-ISAD115metric有如下4種標準(EIGRP只有1種標準5個元素),其中後3種都沒有實用化:
  1. defaul
  2. error
  3. expense
  4. delay
現在只有第一種在用,後三種都不可用。default標準又分爲如下兩種:
不論接口帶寬就是供這個接口的真實帶寬
1、narrow style(狹義的):每個接口不論接口帶寬爲多少,開銷都爲定值10,可改動的範圍是0-63,總路徑開銷(接口開銷之)不超過1024 ;
2、wide style(廣義的):每個接口不論接口帶寬爲多少,開銷都爲定值10,可改動的範圍是0-224-1,總路徑開銷不超過232。

ES-IS的介紹:
負責工作站與中間系統之間建立連接的協議,無需配置,自動激活。

Hello包的分類:
  1. IIH 在路由器之間工作
  2. ESH/ISH 在主機與路由器之間工作
如果IS要去找ES的話,路由器發送的是IS hello包;
如果是ES要去找IS的話,主機發送的是ES hello包;
如果IS要去找IS的話,路由器發送的是IS-IS hello包。

NSAP地址:
OSI中使用的地址叫做NSAP可以對系統進行標識,並說明其所屬區域一NSAP地址表明了一個系統,而一個IP地址僅表明一個節點上的一個接口TCP/IP下路由器不同接口的IP地址是不同的,OSI下路由器所有接口用一個NSAP地址表示。NSAP地址是變長的,最長只能爲20個字節,高位表示區域,低位表示系統
IDP
DSP
AFI
IDI
High-Order DSP
System ID
NSEL
Variable-Length
Area Address(高位)
6
Bytes
1
Byte
區域ID:最短1個字節,最長13個字節
系統ID:定長6個字節
NSEL:定長1個字節,NSAP的服務標識符,指明上層服務應用
NSAP:最短8個字節,最長20個字節
49.0001.1111.1111.1111.00
49AFI,表示這是一個本地的、內網的地址;4849就是私網地址
00012個字節的區域,要求是本地唯一,但通常都規劃爲全局唯一;
1111.1111.11116個字節的系統ID,通常用路由器的以太接口的MAC表示;
00NSEL,通常都設爲00,因爲對於一個路由器來說它是個三層設備,不需要上層應用;
做實驗時可將上面地址簡化爲0001.1111.1111.1111.00
NSEL00,就可以把NSAP地址稱之爲NET-Network Entity Title:(網絡實體名)

兩個術語:
  1. SNPA/子網接入點,等同於TCP/IP環境中的二層編址概念;
  2. Circuit ID/電路IDNSAP表示路由器的所有接口,所以要用電路ID來對路由器的接口進行唯一的標識
TCP/IP環境下的二層編址如下:
局域網:以太網、鄰牌環、802.2802.3
以太網:ATMFRHDLCPPPX.25
SNPA=Layer 2 address
    Virtual circuit ID(DLCI on Frame Relay)
    MAC address on LAN interfaces
Interfaces uniquely identifled by circuit ID:
     On point-to-point interfaces,SNPA is used.
     On LANs,circuit ID=system ID+1個字節的隨機字符to from seven-octer LAN IDfor example,1921.6800.0001.01is used.
Cisco routers use host name instead of system IDfor example,R1.01”)
R1.01    R1的第一個接口
R1.02    R1的第二個接口
區域ID是用在不同的區域間的,而系統ID是用同一個區域內的。

OSI PDUs
IS-IS
Data-link header
OSI family 0xFEFE
IS-IS header
first byte is 0x83
IS-IS TLVs
ES-IS
Data-link header
OSI family 0xFEFE
ES-IS header
first byte is 0x82
ES-IS TLVs

Data-link header
OSI family 0xFEFE
IS-IS header
first byte is 0x81
CLNS
IS-IS PDUs:與OSPF進行對比
OSPFhellow/DBD/LSR/LSU/LSAck
IS-IShellowL1L2hellow/LSRL1L2的)/SNP基於序列號的PDUPSNP部分基於序列號的PDUCNSP完全或完整基於序列號的PDU
SNP=DBD/LSR/LSAck
LSP=LSU
Hellow=hellow

172548683.png

IS-IS的網絡類型:
IS-IS沒有NBMA網絡的概念
  1. Broadcast有類似於OSPFDR概念的設備,叫做DIS,指定的中間系統,DIS的選舉和DR相似,先比接口優先級,再比MAC地址、越大越優先,但沒有備份DIS,當DIS設備DOWN後會立刻進行新DIS的選舉,DIS是分LEVEL的,level 1有自己的DISlevel 2也有自己的DIS
  2. Point-to-point沒有類似於OSPFDR概念的設備
OSPFDR/BDR的作用是爲了減少鄰接會話數量,從而減少LSA洪泛的量,進而減少網絡帶寬的佔用且Drother間是無法建立鄰接關係的;DIS設備除了要與DIS建立鄰居關係外,它彼此之間也要建立鄰接關係,如此一來,DIS存在的目的就不是爲了減少鄰接會話數量了。

通過DIS創建一個僞節點,或者叫做仿真節點,目的是代表整個局域網,這種理論比OSPFDR/BDR更爲先進和超前,如下圖:

172747239.png

172715232.png
將中間那臺路由器作爲DIS,它將局域網上的所有設備進行一個概括,形成一個仿真節點,簡稱PSN,對於這個局域網以外的廣域網而言,PSN實際上就是一個節點,但PSN的本質是一個局域網。這就產生了一個結果,當廣域網上洪泛LSP時,只複製一份給DISDIS將它加入自己的SDB,然後週期性的廣播自己的LSDB,也就是每隔10秒發送自己的目錄信息,這個目錄信息就是CSNPCNSP類似於OSPFDBD,當其它路由器收到此CSNP後,檢查其中的目錄信息,發現自己有所缺少時,就以PSNP作爲請求向DIS發送LSP的請求;如果沒有DIS,那麼就會洪泛五份進入這個局域網,從上圖來看,存在DIS時,帶寬佔用就減少了80%
綜上所述,PSNP=LSAck/LSRCSNP=DBD
172821655.png

IS-IS相關特性:

Broadcast

Point-to-point

Usage

LAN

Full-mesh WAN

PPP,HDLC,

Partial-mesh WAN

Hello timer

3.3 sec for DIS

Else 10 sec

10sec

Adjacencies

N(n-1)/2

n-1

Uses DIS

Yes

No

IIH type

Level 1 IIH

Level 2 IIH

Point-to-Point IIH

點對點網絡上沒有DIS3.3秒保證了DIS快速收斂,進而保證了整個網絡的快速收斂,另一方面,當DISDOWN了後其它非DIS設備能更快的檢測到並進行重新選舉。
LSP的本質就是一個包並沒有,也就是一個火車頭,每個TLV就是一節車廂。第一節車廂是區域ID,第二節車廂是鄰居,第三節車廂是內部路由前綴,第四節車廂是重分發進來的前綴,這些都是一個LSP最基本要攜帶的內容,不會有不帶車廂的火車頭在運行。雖然ISIS只有兩類網絡,但也避免不在NBMA網絡上運行,比如下層是FRATM,此時對FRATM就要進行配置,要麼按Broadcast式運行,要麼劃分子接口,按點對點模式運行。如果要按Broadcast模式運行,OSPF做了FRIP的映射,但在IS-IS下,一方面要做FRIP的映射,另一方面還要做FRCLNS的映射。

OSPF與IS-IS的比較:
1、都是鏈路狀態路由選擇協議
2、對區域的認知不同,劃分方式也不同:
隨着規模越大,IS-IS比OSPF的擴展性更強,這個擴展性重點不是體現在能容納的路由器更多,資源帶寬佔用更少,而是體現在IS-IS的TLV上:如果現在網絡中出現一種新的應用,這中新應用要求與IGP進行交流和通信,如果這種IGP是OSPF的話,那麼需要爲此開發一種新的LSA,用來讓OSPF支持這種新應用,但這樣做所付出的代價巨大,且老的OSPF路由器無法識別而丟棄(就像思科路由器不支持LSA6,也就是MOSPF),也就是向後兼容性很差;但如果這種IGP是IS-IS的話,情況就簡單了,它支持任何新的應用都無需開發新的LSP,因爲它有TLV-T代表type(新特性的名字)、L代表length(新特性字段長度)、V代表value(新特性的具體屬性),TLV相當於一節車廂,而LSP相當於一列車,當出現新應用後只需要加掛一節車廂即可,當出現和OSPF裏類似的無法識別的情況時,不是作丟棄操作,而是跳過不讀取而已。OSPF爲了支持IPV6而專門開發了一個V3的版本,而對於IS-IS來說,無需再專門開發一個針對IPV6的版本,只要增加一個新的支持IPV6的TLV就可以了。IS-IS超強擴展性就在於此。


IS-IS和OSPF的區別
1、企業網只可能採用OSPF,運營商大多采用IS-IS。
2、 IETF開發了OSPF,只支持IP。
3、IS-IS是雙棧協議DUAL,既支持TCP/IP,又能支持OSI七層模型;OSPF只支持TCP/IP。
4、OSPF的鏈路狀態數據庫當中所有承載的是否LSA1-11(有些在用,而有些還在草案階段);IS-IS的鏈路狀態數據庫當中所承載的是LSP(鏈路狀態包),已經是獨立的第三層PDU了,而不像OSPFLSA那樣還需要加上一個IP包頭,可以直接向下封裝成第二層的幀。
5、OSPF使用的算法是SPF;IS-IS使用的算法是SPF+PRC(部分路由計算)。
6、IS-IS中不再有區域0、常規區域、骨幹區域的概念,更沒有虛鏈路的存在,相比OSPF,它更符合同鏈路狀態路由選擇協議的定位。

IS-IS的優點
優點是先天無環路,收斂快速,不足是內存和CPU佔用較多,但對網絡資源鏈路帶寬的使用率很高,因爲使用的是觸發更新方式,它比OSPF收斂還要快。

IS-IS的缺點
一、不靈活,大多要手動的分配接口開銷,不適合企業使用(IS-IS好是好,但沒有必要去用,因爲OSPF已經能夠完成勝任在企業網中的工作),但對運營商來說不是太大的問題,因爲運營商考慮更多的是路由策略的實施控制,所以相對於OSPF的自動metric生成,他們更傾向於手工配置,運營商的核心網通常都使用IS-IS。運營商的核心網的接口帶寬種類很少:2.5G10G40G,所以分配起來也方便,比如對應分爲:1551就可以了。
二、IS-IS的一條運行規則-----如果將某個路由器的L2數據庫刪除掉、或者說將某個路由器配置成L1路由器,那麼高它最近的L1-2路由器會自動的向它宣告一條默認路由,用於引導該L1路由器去往外部區域,這會一口咬定來一個比較嚴重的問題:路由次優化(走的不是最佳路徑)和非對稱路由(去程回程路徑不一致)。上圖所示,Y不是站在全局的高度而是站在本區域的高度考慮如何去X的問題。
解決方案:route leaking路由泄露IS-IS內置的一個技術)
使用TLV中的“上、下”位,原理是Y把關於XL2的路由信息引入自己的L1的鏈路狀態數據庫中,這樣Y就能以全局的高度考慮如何去往X了。

IS-IS基本配置
172904833.png
R1(config)#clns routing既要路由IP流量,又要路由CLNS流量就要配置此命令,純IP環境中不用
R1(config)#router isis啓動IS-IS路由進程,如有多個進程就要加上進程號,只有一個進程可省略該進程字段

R2(config)#clns routing
R2(config)#router isis
R2(config-router)#net 49.0002.2222.2222.2222.00
R2(config-router)#exit
R2(config)#int s0/1
R2(config-if)#ip router isis
R2(config-if)#int lo0
R2(config-if)#ip router isis
R2(config-if)#exit
R1(config)#clns routin
R1(config)#clns routing
R1(config)#router isis
R1(config-router)#net 49.0001.1111.1111.1111.00
R1(config-router)#exit
R1(config)#int s0/1
R1(config-if)#ip router isis
R1(config-if)#int lo0
R1(config-if)#ip router isis
R1(config-if)#exit
R1(config)#end
查看鄰居關係:
R1#sh isis neighbors

System Id      Type Interface IP Address      State Holdtime Circuit Id
R2             L2   Se0/0     12.1.1.2        UP    22       01
R1#
查看isis的數據庫
R1#sh isis database

IS-IS Level-1 Link State Database:
LSPID                 LSP Seq Num  LSP Checksum  LSP Holdtime      ATT/P/OL
R1.00-00            * 0x00000005   0x90F6        1157              1/0/0
IS-IS Level-2 Link State Database:
LSPID                 LSP Seq Num  LSP Checksum  LSP Holdtime      ATT/P/OL
R1.00-00            * 0x00000004   0xBE6E        1150              0/0/0
R2.00-00              0x00000005   0x60C1        1149              0/0/0
R1#
*號的是自己直連的。
查看路由表:
R1#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
      D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
      N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
      E1 - OSPF external type 1, E2 - OSPF external type 2
      i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
      ia - IS-IS inter area, * - candidate default, U - per-user static route
      o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

    1.0.0.0/32 is subnetted, 1 subnets
C       1.1.1.1 is directly connected, Loopback0
    2.0.0.0/32 is subnetted, 1 subnets
i L2    2.2.2.2 [115/20] via 12.1.1.2, Serial0/0
    12.0.0.0/24 is subnetted, 1 subnets
C       12.1.1.0 is directly connected, Serial0/0
R1#
修改路由level:
方法一:在路由進程下修改,且全局生效,也就是該路由器的所有接口上生效。
R1(config)#router isis
R1(config-router)#is-type level-2-only
方法二:在接口下修改,只對該接口生效,但接口配置超越全局配置
R2(config)#int s0/0
R2(config-if)#isis circuit-type level-2-only
METRIC的修改
方法一:在路由進程下修改,且全局生效,也就是該路由器的所有接口上生效。
R1(config)#router isis
R1(config-router)#metric 20 level-2
方法二:在接口下修改,只對該接口生效,但接口配置超越全局配置
R2(config)#int s0/0
R2(config-if)#isis metric 30

路由彙總:R2就爲S1/0,且R2上還有一個IP14172.16.3.1/24
IS-IS LAB
兩個區域
172920394.png
R2上配置迴環口的IP地址:
R2(config)#int lo11
R2(config-if)#ip add 172.16.0.1 255.255.255.0
R2(config-if)#ip router isis
R2(config-if)#int lo12
R2(config-if)#ip add 172.16.1.1 255.255.255.0
R2(config-if)#ip router isis
R2(config-if)#int lo13
R2(config-if)#ip add 172.16.2.1 255.255.255.0
R2(config-if)#ip router isis
R2(config-if)#int lo14
R2(config-if)#ip add 172.16.3.1 255.255.255.0
R2(config-if)#ip router isis
R2(config-if)#exit
R2(config)#
R1上面驗證:
R1#sh ip rout
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
      D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
      N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
      E1 - OSPF external type 1, E2 - OSPF external type 2
      i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
      ia - IS-IS inter area, * - candidate default, U - per-user static route
      o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

    1.0.0.0/24 is subnetted, 1 subnets
C       1.1.1.0 is directly connected, Loopback0
    2.0.0.0/24 is subnetted, 1 subnets
i L2    2.2.2.0 [115/30] via 12.1.1.2, Serial0/0
    172.16.0.0/24 is subnetted, 4 subnets
i L2    172.16.0.0 [115/30] via 12.1.1.2, Serial0/0
i L2    172.16.1.0 [115/30] via 12.1.1.2, Serial0/0
i L2    172.16.2.0 [115/30] via 12.1.1.2, Serial0/0
i L2    172.16.3.0 [115/30] via 12.1.1.2, Serial0/0
    12.0.0.0/24 is subnetted, 1 subnets
C       12.1.1.0 is directly connected, Serial0/0
R1#

R2上面做彙總:
R2(config)#router isis
R2(config-router)#summary-address 172.16.0.0 255.255.252.0 level-2
R1上面驗證:
R1#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
      D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
      N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
      E1 - OSPF external type 1, E2 - OSPF external type 2
      i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
      ia - IS-IS inter area, * - candidate default, U - per-user static route
      o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

    1.0.0.0/24 is subnetted, 1 subnets
C       1.1.1.0 is directly connected, Loopback0
    2.0.0.0/24 is subnetted, 1 subnets
i L2    2.2.2.0 [115/30] via 12.1.1.2, Serial0/0
    172.16.0.0/22 is subnetted, 1 subnets
i L2    172.16.0.0 [115/30] via 12.1.1.2, Serial0/0
    12.0.0.0/24 is subnetted, 1 subnets
C       12.1.1.0 is directly connected, Serial0/0
R1#
上面就將172.16.0.0給彙總了。
R2#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
      D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
      N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
      E1 - OSPF external type 1, E2 - OSPF external type 2
      i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
      ia - IS-IS inter area, * - candidate default, U - per-user static route
      o - ODR, P - periodic downloaded static route
Gateway of last resort is not set

    1.0.0.0/24 is subnetted, 1 subnets
i L2    1.1.1.0 [115/50] via 12.1.1.1, Serial0/0
    2.0.0.0/24 is subnetted, 1 subnets
C       2.2.2.0 is directly connected, Loopback0
    172.16.0.0/16 is variably subnetted, 5 subnets, 2 masks
C       172.16.0.0/24 is directly connected, Loopback11
i su    172.16.0.0/22 [115/10] via 0.0.0.0, Null0
C       172.16.1.0/24 is directly connected, Loopback12
C       172.16.2.0/24 is directly connected, Loopback13
C       172.16.3.0/24 is directly connected, Loopback14
    12.0.0.0/24 is subnetted, 1 subnets
C       12.1.1.0 is directly connected, Serial0/0
R2#
R2的路由表上面會生成一條彙總出來的路由指向空鏈接。 i su
查關命令:
Clear isis *清楚isis的進程
Sh clns
Sh clns protocol
Sh clns interface
Sh isis database
Sh clns neighborssh isis neighbors結果一樣



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章