本檔案將說明中間系統到中間系統(IS-IS)型別長度值(TLV)及其用途。
本文件沒有特定需求。
本文件所述內容不限於特定軟體和硬體版本。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
IS-IS最初設計用於開放系統互聯(OSI)路由,使用TLV引數在鏈路狀態資料包(LSP)中傳送資訊。 TLV使IS-IS可擴展。因此,IS-IS可以在LSP中攜帶不同種類的資訊。根據ISO 10589的定義,IS-IS僅支援無連線網路協定(CLNP)。 但是,IS-IS在RFC 1195 (註冊TLV 128)中擴展為IP路由,TLV 128包含一組用於傳輸IP資訊的12個八位元欄位。
在IS-IS協定資料單元(PDU)中,報頭有一個固定的可變部分。報頭的固定部分包含始終存在的欄位,而報頭的變數部分包含允許在鏈路狀態記錄中對引數進行靈活編碼的TLV。這些欄位由一個八位元型別(T)、一個八位元長度(L)和一個「L」八位元值(V)來識別。 「型別」欄位指示「值」欄位中的項型別。Length欄位指示Value欄位的長度。值欄位是資料包的資料部分。並非所有路由器實現都支援所有TLV,但它們需要忽略和重新傳輸被忽略的型別。
如RFC 1195 所述,TLV 128除了在無連線網路服務(CLNS)之外,還將IS-IS擴展為承載同一資料包中的路由資訊。DEC還使用TLV 42對IS-IS進行了擴展。此擴展允許IS-IS儲存有關DECnet第IV階段網路的資訊。將來,可能會實施新的TLV,允許CLNS攜帶IPv6路由資訊。
一些路由協定使用TLV來承載各種屬性。Cisco Discovery Protocol(CDP)、Label Discovery Protocol(LDP)和Border Gateway Protocol(BGP)是使用TLV的協定的示例。BGP使用TLV來承載屬性,例如網路層連線能力資訊(NLRI)、多出口鑑別器(MED)和本機偏好設定。
可變長度欄位的編碼方式如下:
欄位 | 八位元數 |
---|---|
類型 | 1 |
長度 | 1 |
價值 | 長度 |
RFC 1142 Section 9(ISO 10589的修訂版)詳細介紹了每種型別的IS-IS PDU的資料包佈局以及每種型別支援的TLV。所有IS-IS PDU的前八個八位元都是所有PDU型別通用的報頭欄位。TLV資訊儲存在PDU的最末端。不同型別的PDU有一組當前定義的代碼。任何無法識別的代碼都應被忽略,並且以不變的方式傳遞。
已建立IS-IS PDU型別和有效代碼值的定義。ISO 10589定義型別代碼1至10。RFC 1195 定義型別代碼128至133。
注意:TLV代碼133(身份驗證資訊)在RFC 1195 中指定,但思科改用ISO代碼10。此外,TLV代碼4用於分割槽修復,Cisco不支援。
思科實施大部分TLV。然而,在某些情況下,未執行草案或低需求的TLV。以下是思科實施的常用TLV的解釋。
TLV | 名稱 | 說明 |
---|---|---|
1 | 區域地址 | 包括中間系統連線的區域地址。 |
2 | IIS鄰居 | 包括路由器所連線的所有IS-IS運行介面。 |
8 | 填充 | 主要用於IS-IS Hello(IIH)資料包,以檢測最大傳輸單元(MTU)不一致。預設情況下,IIH資料包會被填充到介面的最滿MTU中。 |
10 | 驗證 | 用於驗證PDU的資訊。 |
22 | IIS鄰居 | 將最大度量增加到三個位元組(24位)。 稱為擴展IS可達性TLV,此TLV解決了TLV 2度量限制問題。TLV 2的最大度量為63,但只使用了八位中的六位。 |
128 | IP介面可達性 | 提供給定路由器通過一個或多個內部生成的介面知道的所有已知IP地址。此資訊可能顯示多次。 |
129 | 支援的通訊協定 | 為IS(中間系統)所支援的網路層協定攜帶網路層協定識別符號(NLPID)。它是指受支援的資料協定。例如,此NLPID TLV中會通告IPv4 NLPID值0xCC、CLNS NLPID值0x81和/或IPv6 NLPID值0x8E。 |
130 | IP擴展地址 | 提供給定路由器通過一個或多個外部源介面知道的所有已知IP地址。此資訊可能顯示多次。 |
132 | IP介面地址 | 用於到達下一跳地址的IP介面地址。 |
134 | 路由器ID | 這是多重協定標籤交換(MPLS)流量工程路由器ID。 |
135 | IP可達性 | 提供32位度量,並為由於L2->L1的路由洩漏而導致的「up/down」新增位。此TLV稱為擴展IP可達性TLV,可解決TLV 128和TLV 130的問題。 |
137 | 動態主機名 | 標識發起鏈路狀態資料包(LSP)的路由器的符號名稱。 |
10和133 | TLV 10應用於身份驗證;不是TLV 133。如果接收到TLV 133,則與任何其它未知的TLV一樣,接收時將忽略它。TLV 10應僅接受身份驗證。 |
名稱 | TLV | IIH | SNP | L1 LSP | L2 LSP | 原始來源 |
---|---|---|---|---|---|---|
區域地址 | 1 | 是 | 否 | 是 | 是 | ISO 10589 |
IIS鄰居 | 2 | 否 | 否 | 是 | 是 | ISO 10589 |
ES鄰居 | 3 | 否 | 否 | 是 | 否 | ISO 10589 |
部分。DIS | 4 | 否 | 否 | 是 | ISO 10589 | |
字首鄰居 | 5 | 否 | 否 | 是 | ISO 10589 | |
IIS鄰居 | 6 | 是 | 否 | 是 | ISO 10589 | |
填充 | 8 | 是 | 否 | 否 | 否 | ISO 10589 |
LSP條目 | 9 | 否 | 是 | 否 | 否 | ISO 10589 |
驗證 | 10 | 是 | 是 | 是 | 是 | ISO 10589 |
選擇校驗和 | 12 | 是 | 是 | 是 | 是 | draft-ietf-isis-wg-snp-checksu |
LSPBufferSize | 14 | 是 | 否 | SIF草稿 | ||
IIS鄰居 | 22 | 否 | 否 | draft-ietf-isis-traffic-04.txt | ||
HMAC-MD5 Authentic | 54 | draft-ietf-isis-hmac-03.txt | ||||
IP介面Reach | 128 | 否 | 否 | 是 | 是 | RFC 1195 |
埠支援 | 129 | 是 | 否 | 是 | 是 | RFC 1195 |
IP擴展地址 | 130 | 否 | 否 | 是 | 是 | RFC 1195 |
IDRPI | 131 | 否 | 是 | 否 | 是 | RFC 1195 |
IP介面地址 | 132 | 是 | 否 | 是 | 是 | RFC 1195 |
驗證 | *133 | 否 | 否 | 否 | 否 | RFC 1195(非法) |
TE路由器ID | 134 | 否 | 否 | 是 | 是 | draft-ietf-isis-traffic-04.txt |
IP。Reach | 135 | 否 | 否 | draft-ietf-isis-traffic-04.txt | ||
動態名稱 | 137 | 否 | 否 | RFC 2763 | ||
共用風險連結組 | 138 | draft-ietf-isis-gmpls-extensions-12.txt | ||||
MT-ISN | 222 | 否 | 否 | draft-ietf-isis-wg-multi-topol | ||
M拓撲 | 229 | 是 | 否 | draft-ietf-isis-wg-multi-topol | ||
IPv6介面地址 | 232 | 是 | 否 | draft-ietf-isis-ipv6-02.txt | ||
MT IP。Reach | 235 | 否 | 否 | draft-ietf-isis-wg-multi-topol | ||
3路hello | 240 | 是 | 否 | draft-ietf-isis-3way-01.txt | ||
重新啟動TLV | 211 | 是 | 否 | 否 | 否 | draft-shand-isis-restart-01.txt |
IPv6可達性 | 236 | 否 | 否 | 是 | 是 | draft-ietf-isis-ipv6-02.txt |
MT IPv6 IP覆蓋範圍 | 237 | 否 | 否 | 是 | 是 | draft-ietf-isis-wg-multi-topol |
p2p 3路調整 | 240 | 是 | 否 | draft-ietf-isis-3way-06.txt |
子TLV使用與TLV相同的概念。不同之處在於,TLV存在於IS-IS資料包中,而子TLV存在於TLV中。TLV用於向IS-IS資料包新增額外資訊。子TLV用於向特定TLV新增額外資訊。每個子TLV由三個欄位組成。一個二進位制八位數的「型別」欄位、一個二進位制八位數的「長度」欄位,以及零個或多個二進位制八位數的「值」。「型別」欄位指示「值」欄位中的項型別。Length欄位指示Value欄位的長度(以八位元為單位)。每個子TLV可能包含多個專案。當每個項的長度已知時,可以從整個子TLV的長度計運算元TLV中的項數。接收時將忽略並跳過未知子TLV。
大多數Sub-TLV在draft-ietf-isis-traffic-04.txt和draft-ietf-isis-gmpls-extensions-12.txt中定義。
此外,這些子TLV是擴展IS可達性TLV 22的一部分,但子TLV 1是擴展IP可達性TLV 135的一部分。子TLV 1在draft-martin-neal-policy-isis-admin-tags-01.txt中定義
以下是子TLV的簡要說明:
Sub-TLV | 名稱 | 說明 |
---|---|---|
1 | 管理組 | 此子TLV將標籤與IP字首相關聯。此「標籤」的一些示例包括控制級別和區域之間的重分發、不同的路由協定或介面上的重分發。 |
3 | 管理組 | 如果鏈路或介面已著色(從流量工程的角度來看),則該資訊由此TLV傳輸。 |
6 | IPv4介面位址 | 用於流量工程目的的介面IP地址。 |
8 | IPv4鄰居地址 | 用於流量工程目的的鄰居介面IP地址。 |
9 | 最大鏈路頻寬 | 相關介面的最大鏈路頻寬(用於流量工程目的)。 |
10 | 最大可保留鏈路頻寬 | 可以在相關介面上保留的最大頻寬量。 |
11 | 未保留的頻寬 | 介面上尚未保留的頻寬量。 |
18 | 流量工程預設度量 | 為流量工程目的管理分配的度量。 |
Sub-TLV | TLV | 定義 | 位元組 |
---|---|---|---|
管理標籤 | 1 | ISIS_ROUTE_ADMIN_TAG | |
管理組(顏色) | 3 | ISIS_ADMIN_GROUP | 4 |
傳出Int。識別碼 | 4 | 4 | |
傳入Int。識別碼 | 5 | 4 | |
IPv4介面地址 | 6 | ISIS_INTERFACE_IP_ADDRESS | 4 |
介面MTU | 7 | 2 | |
IPv4近地址 | 8 | ISIS_NEIGHBOR_IP_ADDRESS | 4 |
最大鏈路頻寬 | 9 | ISIS_MAXIMUM_LINK_BW | 4 |
最大保留連結頻寬 | 10 | ISIS_MAXIMUM_LINK_RES | 4 |
未保留的頻寬 | 11 | ISIS_CURRENT_BW_UNRESERVED | 32 |
TE預設度量 | 18 | ISIS_TRAFFIC_ENGINEERING_METRIC | 3 |
鏈路保護型別 | 20 | 2 | |
Int。交換器.功能說明 | 21 | 變數 | |
MT可訪問IPv4字首 | 117 | ||
最大連結。雷瑟。子池 | *250 | ISIS_MAXIMUM_LINK_RES_SUB | |
當前的BW取消重置。子池 | *251 | ISIS_CURRENT_BW_UNRESERVED_SUB |
*子TLV 250和251是支援MPLS-TE的思科特定擴展的一部分,該擴展記錄在draft-ietf-isis-traffic-04.txt中。這些子TLV在MPLS-TE下的保障頻寬應用期間使用。
注意:請始終參考最新的Internet工程任務組(IETF)草稿。本文檔中提到的IETF草案可能會更改。它可能會被更新的版本或RFC取代,也可能過期。