目錄

簡介

必要條件

需求

採用元件

慣例

什麼是路由洩漏？

如何利用路由洩漏？

如何配置路由洩漏？

相關資訊

簡介

本文檔概述了中間系統到中間系統(IS-IS)路由洩漏。

必要條件

需求

本文件沒有特定需求。

採用元件

本文件所述內容不限於特定軟體和硬體版本。

慣例

如需文件慣例的詳細資訊，請參閱思科技術提示慣例。

什麼是路由洩漏？

IS-IS路由協定允許路由資訊的兩級層次結構。連續的第2級主幹可以互連多個第1級區域。路由器可以屬於第1級、第2級或同時屬於這兩者。1級鏈路狀態資料庫只包含有關該區域的資訊。2級鏈路狀態資料庫包含有關該級別以及1級中每個區域的資訊。L1/L2路由器同時包含第1級和第2級資料庫。它通告它屬於L2的L1區域的資訊。每個L1區域實質上是末節區域。目的地為位於L1區域以外的地址的資料包將路由到最近的L1/L2路由器，然後轉發到目的地區域。當到達目的地的最短路徑是經由另一個L1/L2路由器時，到最接近的L1/L2路由器的路由可能會產生次優路由。路由洩漏通過提供將L2資訊洩漏或重新分發到L1區域的機制來幫助減少次優路由。通過瞭解有關區域間路由的更多詳細資訊，L1路由器可以更好地選擇哪台L1/L2路由器來轉發資料包。

RFC 2966 (用於窄度量型別、長度和值(TLV)型別128和130)定義了路由洩漏。Traffic Engineering （用於流量工程）的IS-IS擴展定義了用於寬度量TLV型別135的路由洩漏。這兩個草案都定義了一個上/下位，以指示TLV中定義的路由是否已洩漏。如果上/下位設定為0，則路由源自該L1區域。如果未設定上/下位（為0），則路由已經從L2重新分發到區域中。上/下位用於防止路由資訊和轉發環路。L1/L2路由器不會將任何已設定up/down位的L1路由重新通告到L2。

如何利用路由洩漏？

通常，L1路由器將發往本地區域以外地址的資料包轉發到最近的L1/L2路由器，這可能導致次優路由決策。在下面的網路圖中，路由器C通過路由器X和Y轉發所有發往區域2和3的流量。如果我們假設所有鏈路的開銷為1，所有鏈路的開銷為2，這意味著到達路由器X的開銷為2，到達路由器Y的開銷為5。同樣，路由器D通過路由器B同時路由路由器X和Y的流量。

使用路由洩漏時，路由器A和B可以將有關區域2和3的資訊重新分發到區域1。這樣，路由器C和路由器D就可以選擇到達區域2和區域3的最佳路徑。路由器C現在通過路由器A將流量傳送到區域3;這樣可將開銷降低到3，同時仍然通過路由器A轉發到區域2。同樣，路由器D通過路由器C轉發到區域2，同時仍然通過路由器B路由到區域3。

通過在路由器A和路由器B上啟用路由洩漏，路由器C和D能夠確定到達區域2和區域3的真實成本。路由洩漏使IS-IS能夠對發往其他區域的資料包執行「最短路徑退出」操作。

在MPLS-VPN環境中，每個提供商邊緣(PE)路由器的環回地址都需要可達性資訊。PE環回的洩漏路由允許在此類實施中使用多區域分層結構。

路由洩漏也可用於實施一種粗略形式的流量工程。通過從特定的L1/L2路由器洩漏個別電腦或服務的路由，您可以控制用於到達這些地址的L1區域的出口點。

如何配置路由洩漏？

Cisco IOS®軟體版本12.0S、12.0T和12.1實作並支援路由洩漏。12.0T和12.1版本使用相同的設定命令。12.0S版本的命令語法不同，但這兩個命令均在路由器IS-IS配置中輸入。您必須建立一個IP擴展訪問清單，以定義哪些路由將從第2級洩漏到第1級。 IOS 12.0S僅支援使用型別135 TLV的路由洩漏。如果配置路由洩漏時未配置泛型度量，則不會發生路由洩漏。IOS 12.0T和12.1支援使用窄型或寬型度量進行路由洩漏，但我們建議使用寬型度量。

下表顯示了每個IOS版本的配置命令：

IOS軟體版本

指令

12.0秒

通告ip l2-into-l1 <100-199>度量式寬
註：需要第二句話。

12.0T和12.1

將isis ip level-2重新分發到level-1 distribute-list <100-199> metric-style wide
注意：第二個語句是可選的，但建議使用。

洩漏的路由在路由表和IS-IS資料庫中稱為區域間路由。檢視路由表時，洩漏的路由會使用ia標識進行標籤。

RtrB# show ip route

Codes: C - connected, S - static, I - IGRP, 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, E - EGP

i - IS-IS, 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 55.55.55.1 to network 0.0.0.0

i ia 1.0.0.0/8 [115/30] via 55.55.55.1, Serial1/0

i ia 2.0.0.0/8 [115/30] via 55.55.55.1, Serial1/0

i ia 3.0.0.0/8 [115/30] via 55.55.55.1, Serial1/0

i ia 4.0.0.0/8 [115/30] via 55.55.55.1, Serial1/0

55.0.0.0/24 is subnetted, 1 subnets

C       55.55.55.0 is directly connected, Serial1/0

i ia 5.0.0.0/8 [115/30] via 55.55.55.1, Serial1/0

7.0.0.0/24 is subnetted, 1 subnets

C       7.7.7.0 is directly connected, FastEthernet0/0

44.0.0.0/24 is subnetted, 1 subnets

i L1    44.44.44.0 [115/20] via 55.55.55.1, Serial1/0

i*L1 0.0.0.0/0 [115/10] via 55.55.55.1, Serial1/0

在IS-IS資料庫中，洩漏的路由標有IP-Interarea標識。

RtrB# show isis database detail

IS-IS Level-1 Link State Database:

LSPID                 LSP Seq Num  LSP Checksum  LSP Holdtime      ATT/P/OL

rpd-7206g.00-00       0x00000008   0x0855        898               1/0/0

Area Address: 49.0002

NLPID:        0xCC

Hostname: rpd-7206g

IP Address:   44.44.44.2

Metric: 10         IP 55.55.55.0/24

Metric: 10         IP 44.44.44.0/24

Metric: 10         IS-Extended rpd-7206a.00

Metric: 20         IP-Interarea 1.0.0.0/8

Metric: 20         IP-Interarea 2.0.0.0/8

Metric: 20         IP-Interarea 3.0.0.0/8

Metric: 20         IP-Interarea 4.0.0.0/8

Metric: 20         IP-Interarea 5.0.0.0/8

在引入路由洩漏型別128和130 TLV的上/下位之前，預設度量的第8位保留用於以下用途：在傳輸時應該設定為0，並在收到時忽略。第7位（I/E位）用於區分TLV 130中重分發路由的內部和外部度量型別。在IOS版本12.0S及更早版本中，第8位被用作I/E位，而不是第7位。這會在使用窄型度量時，在12.0S和12.0T/12.1版本之間引入一些互操作性差異。

運行IOS 12.0T或12.1的路由器會識別開啟/關閉位，並相應地處理路由，無論該路由器上是否配置了路由洩漏。如果運行IOS 12.0T或12.1代碼的L1或L1/L2路由器使用度量型別外部重新分發路由，則會將預設度量的第8位設定為1。運行12.0T或12.12.1的L1/L2路由器將看到第8位（上/下位），並將其解釋為已洩漏的路由。因此，不會在該路由器的L2 LSP中重新通告路由。這可能會導致路由資訊不在整個網路中傳播所造成的意外後果。

相反，如果運行IOS 12.0T或12.1的路由器將路由洩漏到L1，則會將第8位設定為1。運行IOS 12.0S或更早版本的L1區域中的路由器會看到已設定第8位並將路由視為具有度量型別外部。運行IOS版本12.0S或更低版本的L1/L2路由器在其L2 LSP中重新通告路由，因為它不能將第8位識別為開啟/關閉位。這可能導致形成路由環路。

這些不規則在下例中得到了證明。RtrA正在運行IOS版本12.1，並且使用窄型度量洩漏多個路由。RtrB正在運行IOS 12.0S，並且正在使用metric-type external重分佈多個路由。

在RtrA上，來自RtrB的重新分發路由被錯誤地視為區域間路由：

RtrA# show ip route

Codes: C - connected, S - static, I - IGRP, 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, E - EGP

i - IS-IS, 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

i L2 1.0.0.0/8 [115/20] via 44.44.44.1, ATM3/0

i L2 2.0.0.0/8 [115/20] via 44.44.44.1, ATM3/0

i L2 3.0.0.0/8 [115/20] via 44.44.44.1, ATM3/0

i L2 4.0.0.0/8 [115/20] via 44.44.44.1, ATM3/0

55.0.0.0/24 is subnetted, 1 subnets

C       55.55.55.0 is directly connected, Serial1/0

i L2 5.0.0.0/8 [115/20] via 44.44.44.1, ATM3/0

7.0.0.0/24 is subnetted, 1 subnets

C       7.7.7.0 is directly connected, FastEthernet0/0

i ia 110.0.0.0/8 [115/138] via 55.55.55.2, Serial1/0

44.0.0.0/24 is subnetted, 1 subnets

C       44.44.44.0 is directly connected, ATM3/0

i ia 120.0.0.0/8 [115/138] via 55.55.55.2, Serial1/0

i ia 140.0.0.0/8 [115/138] via 55.55.55.2, Serial1/0

i ia 130.0.0.0/8 [115/138] via 55.55.55.2, Serial1/0

i ia 150.0.0.0/8 [115/138] via 55.55.55.2, Serial1/0

在RtrB上，RtrA洩漏的路由錯誤地被視為外部路由：

RtrB# show ip route

Codes: C - connected, S - static, I - IGRP, 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, E - EGP

i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter

area

* - candidate default, U - per-user static route, o - ODR

Gateway of last resort is 55.55.55.1 to network 0.0.0.0

i L1 1.0.0.0/8 [115/158] via 55.55.55.1, Serial1/0

i L1 2.0.0.0/8 [115/158] via 55.55.55.1, Serial1/0

i L1 3.0.0.0/8 [115/158] via 55.55.55.1, Serial1/0

i L1 4.0.0.0/8 [115/158] via 55.55.55.1, Serial1/0

55.0.0.0/24 is subnetted, 1 subnets

C       55.55.55.0 is directly connected, Serial1/0

i L1 5.0.0.0/8 [115/158] via 55.55.55.1, Serial1/0

7.0.0.0/24 is subnetted, 1 subnets

C       7.7.7.0 is directly connected, FastEthernet0/0

S    110.0.0.0/8 is directly connected, Null0

44.0.0.0/24 is subnetted, 1 subnets

i L1    44.44.44.0 [115/20] via 55.55.55.1, Serial1/0

S    120.0.0.0/8 is directly connected, Null0

i*L1 0.0.0.0/0 [115/10] via 55.55.55.1, Serial1/0

S    140.0.0.0/8 is directly connected, Null0

S    130.0.0.0/8 is directly connected, Null0

S    150.0.0.0/8 is directly connected, Null0

如果不對度量型別外部使用重分發，則不會設定第8位。此解決方法可防止運行IOS 12.1的L1/L2路由器在其L2 LSP中不重新通告重分發路由的問題。如果您使用的是寬型度量，則運行IOS 12.0S的路由器能夠識別上/下位。此解決方法可防止無法識別型別128和130 TLV中的上/下位的12.0S路由器引入路由環路。

此外，窄型度量只有6位，而寬型度量使用32位。當使用窄型度量時，許多區域間路由可能被洩漏，最大內部度量為63，而與真正的度量無關。出於這些原因，我們建議避免使用度量型別外部的重新分配，而使用寬樣式度量。

相關資訊

- RFC 1142 - OSI IS-IS域內路由協定

- RFC 1195 — 在TCP/IP和雙重環境中使用OSI IS-IS進行路由

- IS-IS支援頁面

- 技術支援 - Cisco Systems