天天看點

學習回顧—IS-IS路由協定(0x38)-控制ISIPv6的路由資訊的互動功能

作者:角落裡的渣渣

在網絡中同時部署了IS-IS和其他路由協定時,需要配置IS-IS與其他路由協定的路由互動,才能使運作不同協定的網絡正常通信。另外,還可以控制IS-IS預設路由的釋出,控制IS-IS路由下發到IPv6路由表等,具體包括以下配置任務如下(它們是并列關系,根據實際需要選擇一項或多項進行配置)。

① 配置IS-IS釋出預設路由。

② 配置IS-IS釋出外部路由。

③ 配置IS-IS釋出部分外部路由到IS-IS路由域。

④ 配置将部分IS-IS路由下發到IPv6路由表。

⑤ 配置IS-IS路由聚合(IPv6)。

以上這些配置任務的具體配置方法其實與前面介紹的IS-IS IPv4對應配置任務的方法是一樣的,隻不過在一些指令中添加了ipv6關鍵字,下面分别具體介紹。

1) 配置IS-IS釋出預設路由

在具有外部路由的邊界裝置上配置IS-IS釋出預設路由可以使該裝置在IS-IS路由域内釋出一條::/0的預設路由,這樣IS-IS域内的其他裝置在轉發到達該外部網絡流量時,将所有去往外部路由域的流量首先轉發到該裝置,然後通過該裝置去往外部路由域。

【說明】配置靜态預設路由雖然也可以實作該功能,但是當現網中有大量的裝置時,配置工作量巨大且不利于管理。此外,采用IS-IS釋出預設路由的方式更加靈活。例如,如果存在多個邊界裝置,那麼可以通過配置路由政策,使某台邊界裝置在滿足條件時才釋出預設路由,進而避免造成路由和黑洞。

在IS-IS IPv6重配置釋出預設IPv6路由的方法時在IS-IS程序視圖下通過ipv6 default-route-advertise [always|match default |route-policy route-policy-name] [cost cost|tag tag | [level-1|level-1-2|level-2]]* [avoid-learning]指令進行。本命中的參數和選項說明如下。

l Always:多選一選項,指定裝置無條件地釋出預設路由,且釋出的預設路由總将自己作為下一跳。

l Match default:多選一選項,指定如果在路由表中存在其他路由協定或其他IS-IS程序生成的預設路由,則在LSP中釋出該預設路由。如果不選擇此選項,則會強制産生該預設路由。

l Route-policy route-policy-name:多選一參數,指定當該邊界裝置的路由表中存在滿足指定名稱(1-40個字元,區分大小寫,不支援空格)路由政策的外部路由時,才向IS-IS域釋出預設路由,避免由于鍊路故障等原因造成該裝置已經不存在某些重要的外部路由時,仍然釋出預設路由,進而造成路由黑洞。但此處的路由政策不影響IS-IS引入外部路由。如果不選擇此可選參數,則不會基于邊間裝置路由表中的路由進行過濾,知己诶根據其他條件産生預設路由。

l Cost cost:可多選參數,指定預設路由的開銷值,取值範圍要根據cost-style而定。當csot-style為narrow、narrow-compatible或compatible時,取值範圍為0-63的整數;當cost-style為wide或wide-compatible時,取值範圍為0-4261412864的整數。

l Tag tag:可多選參數,指定釋出的預設路由的标記值。隻有當IS-IS的開銷類型為wide、wide-compatible或compatible時,釋出的LSP中才會攜帶tag值。

l Level-1|level-1-2|level-2:可多選選項,分别指定釋出的預設路由級别為L1、L1/2、L2.如果不指定級别,缺預設為L2級别的預設路由。如果在L1裝置上配置了該指令,那麼該裝置隻會向L1區域釋出預設路由,不會将預設路由釋出到L2區域;如果在L2裝置上配置了該指令,那麼該裝置隻會向L2區域釋出預設路由,不會講預設路由釋出到L1區域。預設同時釋出到L1、L2區域中。

l Avoid-learning:可選項,指定避免IS-IS程序學到其他路由協定或其他IS-IS程序生成的預設路由,并添加到IS-IS路由表。如果路由表中已經存在學習到的預設路由為活躍狀态,則将此路由置為不活躍狀态。

預設情況下,運作IS-IS協定的裝置不生成預設路由,可用undo default-route-advertise指令取消運作IS-IS協定的裝置生成預設路由。

2) 配置IS-IS引入外部路由

通過上文介紹的方法在IS-IS路由域邊界裝置上配置IS-IS釋出預設路由,可以将去往IS-IS路由域外部的流量吸收到該裝置來處理。但是由于IS-IS域内的其他裝置上沒有去往外部的路由,是以大量的流量都會被轉發到該邊界裝置,造成該裝置負擔過重。以外,在有多個邊界裝置時,會存在去往其他路由域的最優路由的選擇問題。

此時,通過讓IS-IS域内的其他裝置獲悉全部或部分外部路由的方法就可以解決以上兩個問題,這就是本節要介紹的IS-IS外部路由引入功能。引入的外部路由包括其他程序IS-IS IPv6路由、IPv6靜态路由、直連路由、RIPng路由、OSPFv3路由和BGP路由等。配置引入外部路由後,IS-IS裝置将把引入的外部路由全部釋出到IS-IS路由域。在這裡有兩種不同的配置方式。

l 當需要引入路由的開銷進行設定時,可在對應的IS-IS程序下通過{static|direct |unr|{ospfv3|ripng|isis}[process-id]|bgp [permit-ibgp]}[cost cost |tag tag|route-policy route-policy-name]| [level-1|level-2|level-2-1]]*指令配置IS-IS引入外部路由。

l 當需要保留引入路由的原有開銷時,可在對應IS-IS程序下通過IPv6 import-route {direct|unr|{ospfv3|ripng|isis}[process-id]|bgp [permit-ibgp]} inherit-cost [tag tag|route-policyroute-policy-name| [leve-1|level-2|level-1-2]]*指令配置IS-IS引入外部路由。但此時引入的源路由協定不能時static(靜态路由)。

以上這兩條IS-IS IPv6外部路由引入指令中的參數或說明如下。

l Rip:多選一選項,引入RIP路由。

l Isis:多選一選項,引入其他程序IS-IS路由。

l Ospf:多選一選項,引入OSPF路由。

l Process-id:可選參數,指定引入的RIP,或者IS-IS、或者OSPF路由的程序号,取值範圍為1-65535的整數。指定此參數時,預設值是1。

l Static:多選一選項,指定引入靜态路由。

l Direct:多選一選項,指定引入直連路由。

l Unr:多選一選項,指定引入使用者網絡路由。

l Bgp:多選一選項,指定引入BGP路由。

l Permit-igbp:可選項,指定在引入iBPG路由時,若不指定此可選項,則引入的為eBPG路由。

l Cost cost:可多選參數,指定引入後的路由開銷值,當路由器的csot-style為wide或wide-compatible時,引入路由的開銷值取值範圍是0-4261412864,否則取值範圍是0-63,預設值是0.

l Inherit-cost:表示引入外部路由時保留路由的原有開銷值,這時将不能配置引入路由的開銷類型和開銷值。

l Tag tag:可多選參數,這個頂引入後逇逇路由标記,取值範圍為1-4294967295的整數,主要用于在路由測錄總進行路由分類。

l Route-policy route-policy-name:可多選參數,指定用于限制外部路由引入的路由政策名稱,命名規則包括1-40個字元,區分大小寫,不支援空格。

l Level-1:多選一選項,表示引入路由到L1的路由表中,如果不指定等級,預設為引入路由到L2路由表中。

l Level-2:多選一選項,表示引入路由到L2的路由表中,如果不指定等級,預設為引入路由到L2路由表中。

l Level-1-2:多選一選項,表示引入路由同時到L1和L2的路由表中,如果不指定等級,預設為引入路由到L2路由表中。

盡管以上桉樹和選項非常多,但其中絕大多數是可以選參數和可選項,都有預設值,是以一般情況下,在配置路由引入時,僅需要指定必需的少數幾個參數和選項。

3) 配置IS-IS釋出部分外部路由到IS-IS路由域

上節介紹的IS-IS IPv6外部路由引入功能,在配置引入外部路由後,IS-IS裝置将把引入的外部路由全部釋出到IS-IS路由域。但在本地IS-IS裝置将引入的外部路由釋出給其他的IS-IS裝置時,如果其他IS-IS裝置需要擁有全部的外表路由,則可以通過配置基本的IPv6 ACL或IPv6位址字首清單或路由政策來控制隻釋出部分外部路由給其他IS-IS裝置,具體配置方法時在對應的IS-IS程序視圖下通過ipv6 filter-policy { acl6-number|acl6-name acl6-name |ipv6-prefix ipv6-prefix-name | route-policy route-policy-name} export [protocol [process-id]]指令配置僅允許向外釋出符合條件的外部路由。如果指定了protocol參數,則隻對特定協定引入的路由進行過濾。指令中的IPv6 ACL、IPv6位址字首清單、路由政策将在本書第15章介紹。

4) 配置将部分IS-IS路由下發到IPv6路由表

IPv6封包是根據IPv6路由表來進行轉發的。IS-IS路由表中的路由條目需要被成功下發到IPv6路由表中,該路由條目才生效。是以,可以通過配置IPv6位址字首清單、路由政策等方式,隻允許比對的IS-IS路由下發到IPv6路由表中,不比對的IS-IS路由将會被阻止進入IPv6路由表(但不影響在IS-IS路由表中存在),更不會被優選。

配置方法時在IS-IS程序視圖下通過ipv6 filter-policy {acl6-number |acl6-name acl6-name | ipv6-prefix ipv6-prefix-name | route-policy route-policy-name} import指令将部分IS-IS路由下發到IPv6路由表。

5) 配置IS-IS IPv6路由聚合

可以将有相同IP字首的路由聚合為一條路由,這樣,一方面可以減小路由表規模,另外可以減少路由器生成的LSP封包大小和LSDB的規模。IS-IS的路由聚合時在任意IS-IS路由器上進行配置,被聚合的路由可以是IS-IS協定發現的路由,也可以是被引入的IPv6路由。另外,聚合後路由的開銷值取所有被聚合路由中學到IPv6路由的最小開銷值。

可在IS-IS程序視圖下通過ipv6 酥麻麻 ipv6-address prefix-length [avoid-feedback | generate_null0_route | tag tag | [level-1 | level-1-2 | level-2]]*指令設定IS-IS生成IPv6聚合路由。參數ipv6-address prefix-length用來指定生成的聚合IPv6路由的網絡位址和字首長度,其他參數和選項的說明如下。

l Ip-address mask:指定聚合路由的網絡IP位址和子網路遮罩。IS-IS聚合路由的子網路遮罩的字首長度也必須小于所有被聚合路由的子網路遮罩長度,可以是對應的自然網段路由,甚至超網路由。

l Avoid-feedback:可多選選項,避免本地路由器通過路由SPF計算再次學習到這條聚合路由。因為聚合路由是用來向外釋出的,不需要再本地路由表中存在。

l Generate_null0_route:可多選選項,為防止路由環路,在本地路由器上為配置的聚合路由生成一條以聚合路由為目的位址,下一秒為null0的黑洞路由。這樣在本地路由器上所有倒帶指定聚合路由網段的封包将直接丢棄,使聚合路由在本地路由器上不起封包轉發的作用。

l Tag tag:可多選選項,表示為釋出的聚合路由配置設定管理标記,取值範圍為1-4294967295的整數,主要用于路由政策中進行路由分類。

l Level-1:多選一選項,表示隻對釋出到本地路由器L1區域的路由進行聚合。如果沒有指定Level級别,預設為L2。如果路由器是L2類型的,則不能選擇此選項,但因為L1路由預設是滲透到L2區域的,是以在L2區域中的路由器中也會見到這條聚合路由,而沒有具體的明細路由。

l Level-1-2:多選一可選項表示釋出到本地路由的L1區域和L2區域的路由都進行聚合。如果沒有指定Level級别,預設我了2。如果路由器是L1或L2類型,則不能選擇此選項。

l Level-2:多選一可選項,表示隻對釋出到本地路由器的L2區域的路由進行聚合。如果沒有指定Level級别,預設為L2。如果路由器是L1類型的,則不能選擇此選項。

配置了IS-IS路由聚合後,本地IS-IS裝置的路由表保持不變。但是其他IS-IS裝置的路由表中将隻有一條聚合路由,沒有具體路由。直到網絡中被聚合的路由都出現故障而消失時,該聚合路由才回消失。

以上功能配置好後,可以在任意視圖下執行以display指令檢視相關配置,驗證配置結果。

l Display isis lsdb [{level-1|level-2} |verbose | {local|lsp-id | is-name symbolic-name}]*[porecss-id | vpn-instance vpn-instance-name]:檢視IS-ISde鍊路狀體資料庫資訊。

l Display ipv6 routing-table:檢視IPv6路由表資訊。

繼續閱讀