HCNP Routing&Switching之IS-IS路由滲透和開銷

  前文我們了解了IS-IS鄰居建立過程、LSDB同步、拓撲計算和路由的形成;回顧請參考//www.cnblogs.com/qiuhom-1874/p/15265698.html;今天我們來聊一聊IS-IS路由滲透和介面開銷相關話題;

  IS-IS路由滲透

  所謂路由滲透,其實就是路由注入的一種操作;默認情況下在IS-IS多區域環境中,L1區域的所有路由會被L1-2路由器掛載至L2區域,即骨幹區域的路由器有整個網路的明細路由;但對於L1區域來說,骨幹區域的路由不會被L1區域路由器學習到;那麼問題來了,L1區域想要出去它是怎麼出去的呢?對於L1的路由器來說,它們想要和骨幹區域網路通訊,依靠的是L1-2發送的一條ATT置為1的LSP,對應L1區域中的路由器收到該LSP以後,會自動產生一條預設路由,其下一跳指向L1-2路由器(對於和L1-2直連的路由器是這樣的,類似ospf里的5類LSA;但對於不是和L1-2路由器直連的路由器,它們收到L1 -2發送的ATT置為1的LSP會根據拓撲情況自動計算下一跳);即L1的路由器和骨幹區域網路通訊依靠預設路由進行;換句話說,L1想要和骨幹網路通訊,它的數據包會發送至L1區域最近的L1-2路由器上,然後由L1-2路由器根據目標地址進行轉發;IS-IS路由滲透是指將骨幹區域路由注入至非骨幹區域的操作;

  為什麼要路由滲透呢?

  IS-IS次優路由產生

  提示:如上圖所示,RTA想要訪問10.0.0.1/24,根據IS-IS路由的規則,在L1區域路由器想要和骨幹區域網路通訊,它會將數據包發送給最近的L1-2路由器;對於上圖來說,RTA找到最近,路由最優到達L1-2的路由器是RTB;但對於RTB到達骨幹RTD來講,開銷也是最大的;整體來說RTA訪問10.0.0.1/24網路整體開銷要大於RTA走RTA–>RTC–>RTD;這樣一來次優路由就產生了;怎麼解決次優路由呢?很顯然我們要把RTA訪問10.0.0.1/24網路的鏈路開銷告訴給RTA,這樣RTA根據明細路由來選路就可以避免次優路由;即把10.0.0.1/24網路的路由從骨幹區域注入至L1區域,讓L1區域路由器學習到達10.0.0.1/24網路的路由;如下所示

  提示:當RTA學習到達10.0.0.1/24網路的路由以後,對應整個鏈路的開銷就很明了,所以RTA和10.0.0.1/24網路通訊就會根據鏈路開銷進行選路,而不會再走默認路由,從而避免了次優路徑;

  實驗:如下拓撲,配置IS-IS

  R1的配置

sys
sys R1
int g0/0/0
ip add 12.0.0.1 24

isis 1
net 2000.0000.0000.0001.00
is-le level-1
int g0/0/0
isis en 1

View Code

  R2的配置

sys
sys R2
int g0/0/0
ip add 12.0.0.2 24
int g0/0/1
ip add 23.0.0.2 24

isis 1
net 2000.0000.0000.0002.00
is-le level-1
int g0/0/0
isis en 1
int g0/0/1
isis en 1

View Code

  R3的配置

sys
sys R3
int g0/0/0
ip add 23.0.0.3 24
int g0/0/1
ip add 34.0.0.3 24

isis 1
net 2000.0000.0000.0003.00
is-le level-1-2
int g0/0/0
isis en 1
int g0/0/1
isis en 1

View Code

  R4的配置

sys
sys R4
int g0/0/0
ip add 34.0.0.4 24
int lo 1
ip add 4.4.4.4 32

isis 1
net 1000.0000.0000.0004.00
is-le level-2
int g0/0/0
isis en 1
int lo 1
isis en 1

View Code

  驗證:查看R4的路由表,看看是否學習到12和23網路的路由呢?

  提示:可以看到R4能夠學習到12和23網段路由;

  驗證:在R1和R2上查看路由表資訊,看看R1和R2是否能夠學習到R4的lo介面路由呢?

  提示:可以看到在R1和R2上並沒有學習到達R4 lo介面的路由,但通過isis它們的路由表裡產生了一條預設路由;

  驗證:查看R3的LSDB,看看是否有自己產生的ATT置為1的LSP數據?

  提示:可以看到R3在L1區域LSDB中產生了一條ATT置為1的LSP;

  在L1-2路由器(R3上)將L2路由滲透至L1

  提示:上述命令表示把L2路由導入至L1區域;這裡需要主要在isis中,只有L1-2路由器擁有L1和L2的lsdb,所以路由滲透也只能在L1-2路由器上做;

  驗證:在R1或R2上查看路由表,看看對應R1或R2是否學習到L2的明細路由呢?

  提示:可以看到對應R1能夠學習到L2骨幹區域里所有路由,並且都自動計算出對應路由的開銷;通常情況下,我們不會將骨幹區域路由全部注入至非骨幹區域,如果我們需要注入部分路由到非骨幹區域,則還需要做路由策略;

  IS-IS開銷

  IS-IS開銷類型有三種,分別是介面開銷、全局開銷和自動計算開銷;其優先順序順序為介面開銷>全局開銷>自動計算開銷;所謂介面開銷是指為單個介面設置開銷,生效範圍是單個介面;全局開銷是為所有介面設置開銷,生效範圍是所有介面;自動計算開銷是是指根據介面頻寬自動計算開銷;對於IS-IS來講開銷取值類型主要分兩種,分別是narrow和wide;narrow取值範圍是1-63;wide取值為1-16777215;

  IS-IS開銷類型

  提示:上述圖片是描述開銷類型和接收、發送開銷類型;如開銷類型為narrow,即接收和發送的開銷取值範圍也都是narrow;如果開銷類型為wide,即接收和發送的開銷取值類型也是wide;如果開銷類型為compatible(兼容narrow和wide),則接收和發送的開銷取值類型即可以是narrow也可以是wide;如果開銷類型為narrow-compatible(兼容narrow),則接收可以兼容wide和narrow,發送的介面開銷類型只能是narrow;如果開銷類型為wide-compatible(兼容wide),則接收可以兼容wide和narrow,但發送開銷類型只能是wide;

  IS-IS介面頻寬區間開銷取值

  提示:只有當開銷類型為wide或wide-compatible時,使用命令bangdwith-reference配置的頻寬參考值才有效,此時各介面的開銷值=(bandwith-reference/介面頻寬值)×10;如果開銷類型為narrow/narrow-compatible或compatible時,各個介面的開銷至根據上面對表格確定;

  配置ISIS介面開銷

  提示:默認isis開銷為10,類型為narrow,所以取值範圍是1-63;

  驗證:查看R1的g0/0/0介面開銷

  提示:可以看到對應R1的g0/0/0介面開銷變為了20;

  配置ISIS全局開銷

  提示:全局開銷需要在isis進程下配置,配置全局開銷以後,對應所有介面都是全局開銷配置的值,除非介面下配置了介面開銷;

  更改開銷類型

  提示:更改開銷類型,可能引起鄰居關係震蕩;

  配置ISIS自動計算開銷

  提示:自動計算開銷通常配置頻寬參考值來計算,默認頻寬參考值為100M,自動開銷計算公式為介面開銷=(頻寬參考值/介面頻寬)×10;因為默認開銷類型為narrow,取值範圍是1-63,這個開銷取值範圍太小,不適合上述公式,所以上述公式只用於開銷類型為wide或wide-compatible類型上述公式才會生效;

  驗證:查看介面頻寬

  提示:可以看到現在介面開銷就變為了100;因為我們把頻寬參考值修改為1000M,除以介面頻寬1000M再乘以10,得到的開銷就是100;上述修改開銷都是修改的介面發送的開銷;其接收開銷計算和ospf一樣,接收方向介面開銷累加;