IS-IS:通常不會見到,惟一見到過一次是在BAT中某家的骨幹網redis
|->CLNP (相似IP,IPX)
|->CLNS->|->IS-IS (Routing,IGP)
ISO->OSI->Network->| |->ES-IS (ARP/ICMP/IGMP)用於終端系統到中間系統
|->CONS->CONP
CLNS(ConnectionLess Network Service)無鏈接的服務
CLNP(ConnectionLess Network Protocol)無鏈接的網絡協議(三層)
CONS(Connection Oriented Network Service)面向鏈接的服務
CONP(Connection Oriented Network Protocol)數據庫
·理論上OSPF只支持1萬條路由條目,IS-IS支持2萬條路由條目。網絡
·IS-IS工做在3層,協議報文直接封裝在數據鏈路層的幀結構中。
·L1路由器獲悉域內路由
L2路由器獲悉域間路由
L1/2路由器獲悉域內/間路由(至關於OSPF中的ABR)。dom
·屬於不一樣區域的L1路由器不能造成鄰接關係。
L2路由器是否造成鄰接關係與區域無關。
ISIS的BackBone區域是由全部相連的L二、L1/2路由器組成。oop
·默認採用Narrow Metric:
Max Interface Metric=63 (6bit) / Max Path Metric=1023 (10bit)優化
Cisco全部ISIS接口默認Metric=10ui
·OSI規範定義了4種類型的路由選擇操做:(0-3)
IS-IS L0路由選擇:
·在ES和IS之間創建鄰接關係
·建立數據鏈路層地址和網絡地址的映射。spa
IS-IS L1路由選擇:
·域內路由選擇。orm
IS-IS L2路由選擇:
·域間路由選擇。router
IS-IS L3路由選擇:
·不一樣自治系統之間的路由選擇,IDRP(InterDomain Routing Protocol)
·IDRP功能相似於BGP,Cisco不支持IDRP。
ISIS和OSPF的比較:
----------------------------------------------------------------------------------------
CLNS地址規劃:
·與IP地址不一樣,CLNS地址用於整個節點而不是接口。
路由器使用的CLNS地址被稱爲NSAP(Network Service Access Point)。
NSAP=Area + System ID + NSEL (8-20Bytes)
(1-13) (6) (1)
IDP(Initial Domain Part)
·AFI(Authority and Format ID 機構和格式標識符) 指定該地址的格式以及分配給該地址的機構
47:國際代碼指示符。
49:本地管理(私有地址)
·IDI(Initial Domain ID)
AFI下的子域。
e.g :47.0005分配給美國非軍事部門 / 47.0006分配給美國國防部
[IDP至關於一個IP的主類]
DSP(Domain-Specific Part)
·HODSP(High Order DSP)
將一個AS劃分紅多個Area。
[HODSP至關於IP子網]
·System ID
惟一標識某臺設備。
[System ID至關於Router-ID]
·NSEL(NSAP Selector)
標識設備中的進程。
[至關於端口號]
在路由選擇中,NSEL=00
·當NSEL=00時,被稱爲NET(Network Entity Title)
·與OSPF不一樣,ISIS路由器只能是一個Area的成員,
其NET地址有以下限制:
1)同一Area的全部路由器必須使用相同的區域地址。
2)ES只能識別同一子網具備相同區域地址的IS/ES。
3)L1路由器域內路由選擇基於Sys ID。所以,同一Area每一個ES/IS必須有惟一的Sys ID。
4)所在骨幹區域的L二、L1/L2路由器也必須有惟一的Sys ID。
5)NET地址的起始和結束都必須爲1Byte.(49.xxxxxxxxx.00)
·SNPA(SubNetwork Point of Attachment)
就是3層NET地址對應的2層地址。一般爲MAC/HDLC/DLCI
·Circuit ID
爲每一個接口分配一個Circuit ID (1Byte),用於區分不一樣接口。本地有效。
P2P: 0x00 / LAN: 1921.6800.0001.01 (R1.01 CISCO路由器上使用主機名錶示,而不是system ID來表示)
·域間路由選擇使用Area ID
域內路由選擇使用System ID
·L1路由器不知道L2的數據庫,它只知道如何到達最近的L1/L2路由器。
在L1/L2路由器上算出最短路徑。
·PDU(Protocol Data Unit)
從一個節點的OSI層到另外一個節點對等的OSI層的數據單元稱爲PDU。
IS-IS的四種報文
這四種報文都是直接封裝在二層中的:
·Hello(ESH/ISH/IIH):用於創建和維護鄰接關係。
·LSP(Link-State PDU):用於分發鏈路狀態信息。是詳細信息(相似LSA)
·PSNP(Partial Sequence Number PDU):用於請求和確認LSP,包含LSDB中的部分LSP的摘要信息。 (相似LSR/ACK)在點到點鏈路中,充當了ACK
·CSNP(Complete Sequence Number PDU):用於LSDB的同步,包含LSDB中的全部LSP的摘要信息。 (相似DBD)
以上每種報文都分爲L1/L2,IIH多加一種P2P IIH.
在以太網中,LSP和hello報文是發向組播地址
在點到點鏈路上,是發向單播地址
·aging times---LSP每隔15分鐘發送一次,老化時間從20分鐘倒計時到0。
·TLV(Type Length Value)
CLV(Code Length Value)
ISIS的協議報文:通用的LSP頭部+TLV
TLV可靈活的將數據添加到LSP中,從而增長了擴展性,支持多種其餘協議。(IPV6/MPLS)
·ISIS支持2種鏈路狀態:Broadcast/P2P
·在Broadcast模式下,全部路由器彼此都造成鄰接關係。
但每臺路由器只通告它與僞節點的鄰接關係。
由DIS表明整個LAN發送LSP信息。
·選舉DIS順序:
1)接口優先級(默認64)
2)最大MAC地址
·對於L1&L2分別選舉DIS。
不存在Back DIS。
DIS具備搶佔權。
DIS是接口概念。
·P2P:Unicast 使用單播發送hello
Broadcast:Multicast MAC組播地址 使用二層MAC組播地址發送hello
·L1 IIH發向:0180.C200.0014
·L2 IIH發向:0180.C200.0015
Hello=10S Hold=3*Hello=30S
DIS's Hello : 3.3S (10/3)
CSNP PSNP
Broadcast 由DIS每隔10S發送一次 請求缺乏的LSP/確認已收到的LSP
P2P 只在鄰居創建的時候發送一次 請求缺乏的LSP/確認已收到的LSP
以後只發送描述拓撲變化的LSP
-----------------------------------------------------------------------------------------
<IS-IS>
R2(config)#router isis
R2(config-router)#net 49.0001.0000.0000.0002.00
R2(config-router)#int s0
R2(config-if)#ip router isis (接口啓用ISIS)
R1#show clns neighbors 顯示IS或ES鄰居
R1#show clns is-neighbors 和第一條命令的顯示內容不同,互相之間互補,
R1#show isis hostname 看systemID和主機名的映射關係
R1#show ip protocols
R1#show clns protocol 顯示路由器中特定IS-IS進程信息
R1#show isis topology 顯示L1或L2的拓撲表
R1#show isis database 顯示LSP信息
R1#show clns interface s0 顯示接口的CLNS信息,能夠顯示hello時間,metric,優先級
R1#show clns is-neighbors 若是是在LAN鏈路上,能夠看到僞節點的電路號,它不屬於任何一個真實的路由器
默認都是L1/L2路由器
R2(config)#router isis
R2(config-router)#log-adjacency-changes all(顯示鄰居變化信息)須要手工作,其它路由協議默認就有這一命令
R1#clear clns neighbors
R1#clear isis * 清除數據庫中全部鄰居的LSP
<改Hello/Hold>
R2(config)#int s0
R2(config-if)#isis hello-interval 1
R2(config-if)#isis hello-multiplier 10 修改乘數值
·不會影響鄰居創建。
優化
R2(config)#router isis
R2(config-router)#is-type level-1 (設置爲L1路由器)
L1/L2路由器會自動下發默認路由給域內的L1路由器。
條件:一、L1/L2必須和其餘區域路由器造成鄰接關係。
二、此L1/L2路由器將LSP的ATT=1,通告給區域內的L1,也即和本區域內的路由器造成L1關係
三、代表此L1/L2有到達其餘區域的路徑。
默認路由Seed Metric=0
R2(config)#int s0
R2(config-if)#isis metric 8 (接口改Metric,可單獨針對L1或L2來改)
仍是遵循:路由流向入口改Metric。
R2(config)#int s0
R2(config-if)#isis circuit-type level-1(接口設置Level)
R4(config)#int e0
R4(config-if)#isis priority 65(設置接口優先級)
<被動接口>
R4(config-router)#passive-interface loopback 3
(宣告Loopback3,並且不計算Loopback3的Metric)
R4(config-router)#passive-interface ethernet 0
(不發Hello包,鄰居關係Down)
<路由彙總>
在本區域的邊界路由上作彙總。(相似於OSPF的域間彙總)
R3(config)#router isis
R3(config-router)#summary-address 3.0.0.0 255.0.0.0 (默認L2)
本地產生 i su 3.0.0.0/8 [115/10] via 0.0.0.0, Null0
只發送彙總路由出去。
路由泄露Route-Leaking
router isis
redistribute isis ip level-2 into level-1 distribute-list 100
access-list 100 permit ip 100.1.1.0 0.0.0.0 any 只能用擴展訪問列表
泄露的路由前面會打上ia
漏給L1的路由默認COST值是148
在frame-delay下運行ISIS,要按下面來作
router(config-if)#frame-delay map clns * broadcast
<認證>僅支持明文
1)Link Authentication:
R2(config)#int s0
R2(config-if)#isis password wolf (默認L1)
L1和L2類型的鄰接關係須要配置各自的認證。
2)Area Authentication:
R1(config)#router isis
R1(config-router)#area-password ccie
若是區域認證失敗,仍然能夠起鄰居,但會致使L1 LSP交換失敗,
最終將會有某些路由器路由不完整。
由於area-password是在L1 LSP/CSNP/PSNP中傳遞的。
因此只能用來驗證L1層的信息交換。
3)ISIS Domain Authentication:
R1(config)#router isis
R1(config-router)#domain-password ccnp
若是ISIS域認證失敗,仍然能夠起鄰居,但會致使L2 LSP交換失敗,
最終將會有某些路由器路由不完整。
由於domain-password是在L2 LSP/CSNP/PSNP中傳遞的。
因此只能用來驗證L2層的信息交換。
<區域遷移>
·一臺ISIS路由器默認最多屬於3個區域。
R3(config-router)#max-area-addresses (3-254)
配置多個NET地址,將原來NET地址刪除。
CLNP:NSAP地址 Network Service Access Point
ISIS的骨幹鏈路由連續的L2以及L1/L2路由器互聯而成。
IDP:Initial Domain Part
AFI:Authority Format ID:組織格式標示符 45
IDI:0005 0006
45.0005 45.0006
49
DSP:Domain Specific Part
HODSP:高位域指定部分 用來描述設備所屬的區域。 0001 0002
System ID:系統ID用來標識一個區域內的某臺設備自己。6Byte
NSEL:NSAP選擇位
49.0001.0000.0000.0001.00
ATT位(下放默認路由)
1:當一臺路由器是Level1-Level2路由器的時候,該路由器能夠發送ATT置位的LSP
2:當該路由器收到了其Level-2鄰居通告的Level-2 LSP的時候纔會發送ATT置位的Level-1 LSP
只有Level-1的路由器收到ATT置位的Level-1 LSP的時候,會指該路由器缺省路由。