1. 程式人生 > >很少人知道的華為ISIS中這個技術點

很少人知道的華為ISIS中這個技術點

是什麽 attribute 怎麽 tps 區域 caf 分享圖片 產生 ESS

HCIE實驗——聊聊ISIS中的Attach-bit

關於ISIS的區域和OSPF區域的對比:其中ISIS的一個區域,默認的操作方式與OSPF的totally stubby區域的操作是一樣的,也就是說默認情況下,不僅外部路由無法進入區域,區間路由(OSPF是LSA-3,ISIS是level-2的LSP)也無法進入一個普通的區域。

那麽OSPF中totally stubby區域內部的路由器如果要訪問其他區域的設備,需要有默認路由,這個LSA-3的默認路由是由totally stubby區域的ABR產生並發往區域內部的,當然在雙ABR的時候,是可能出現次優路徑的。

ISIS一個區域內部的level-1的路由器要訪問其他區域的時候,也需要默認路由,但是這個默認路由並不是由level-1-2路由器產生並發往區域內部的,而是由區域內部的level-1路由器,根據連接其他區域的level-1-2路由器產生的level-1的非偽節點LSP中攜帶的Attach-bit計算出來的。

下面我們用實驗來了解一下Attach-bit產生及控制。
技術分享圖片
實驗拓撲:R1、R2、R4屬於49區域,其中AR2和AR4是level-1-2設備,AR1是level-1的設備;R3屬於48區域是level-1-2設備。
R1的配置:

技術分享圖片
R2的配置:

技術分享圖片
R4的配置:
技術分享圖片
R3的配置:
技術分享圖片
這時查看R1的路由表中,並沒有AR3的lo0(3.3.3.3/32)的路由,只有兩條默認路由指向R2、R4。
技術分享圖片
但是按照OSPF的經驗,這個默認路由應該由ABR(也就是ISIS區域的level-1-2路由器)產生並發送到區域內部的,這時查看LSDB中R2、R4的level-1的非偽節點LSP的詳細信息,發現並沒有這個默認路由。
技術分享圖片
所以這個默認路由實際上是由R1通過R2、R4產生的level-1的非偽節點LSP所攜帶的Attach-bit自己計算出來的。

技術分享圖片
那麽什麽時候Attach-bit會置位呢,並且它的值除了0和1以外還有其他的值嗎?這個我們要了解下ISIS LSP的報文結構。
技術分享圖片
ISIS的LSP報文的頭部結構中Attribute-bit一共有8bits,其中高3-6位是Attach-bit。
技術分享圖片

Attach-bit的意思為一臺路由器以哪種metric-type連接其他區域。ISIS最初設計的時候有4種metric-type:error、expense、delay、default。

其中前三種是為了讓ISIS支持QOS所設計出來的,後來幾乎沒有使用,所以現在ISIS基本上都是使用default的metric-type,默認每個接口的metric值都等於10。

由於default在高3-6位的最後一位(XXXX),所以當不連接其他區域的時候,這位置0;當連接其他區域的時候,這位置1,所以要麽是0000=0x0,要麽是0001=0x1。

所以我們看到的Attach-bit只有0和1兩個值,因為其他三種metric-type我們現在是不使用的。

那麽什麽時候Attach-bit位會置位呢?是至少有一條隱含的路徑連接其他區域的時候,level-1-2路由器產生的level-1的非偽節點LSP中Attach-bit會置位。這是什麽意思呢?
技術分享圖片
情況一:在我們這個拓撲中AR2、AR4(屬於49區域的level-1-2路由器)與AR3(屬於48區域的level-1-2路由器)建立level-2的鄰居關系,表明這兩臺設備都直接連接了其他區域。
技術分享圖片
所以AR2和AR4產生的level-1的非偽節點LSP中Attach-bit會置位。
技術分享圖片

情況二:將AR2、AR3之間鏈路down掉。
技術分享圖片
這時R2、R3之間的鄰居關系將消失,但是AR2與AR4之間建立的level-1-2鄰居關系,而AR4直接連接區域48,所以AR2可以通過level-2“隱含”的連接到區域48(所謂的其他區域),所以這時AR2和AR4產生的level-1的非偽節點LSP中Attach-bit也會置位。
技術分享圖片

當然現在也可以在R2上使用命令attached-bit advertise never,使level-1-2路由器即使可以連接到其他區域,也不會將Attach-bit置位(有興趣可以自己測試下)。
技術分享圖片
情況三:將AR4與AR3之間的鏈路也down掉。
技術分享圖片
這時AR2、AR4與AR3之間的鄰居關系全部down掉,但是AR2和AR4之間還是有level-1-2的鄰居關系,這時AR2和AR4產生的level-1的非偽節點LSP中Attach-bit會置位嗎?
答案是:不會的。

技術分享圖片技術分享圖片技術分享圖片

所以說Attach-bit默認只有在當level-1-2路由器至少有一條“隱含”的路徑可以連接到其他區域的時候才會置位,並不是說有level-2鄰居關系就能置位。

當然現在這種情況下,我們也可以在level-1-2路由器上,通過命令attached-bit advertise always,讓路由器即使沒有連接其他區域,也會將Attach-bit置位(當然一定要慎用,否則可能會出現黑洞)。

技術分享圖片技術分享圖片技術分享圖片

現在我們已經知道什麽時候Attach-bit會置位了,那麽區域內部的level-1的路由器收到這樣的LSP後,會怎麽操作呢?

對,默認情況下,它們會根據這個Attach-bit自己計算出到達最近的本區域的出口的默認路由(連接其他區域的level-1-2路由器,就是本區域的出口)。

創作:http://www.ie-lab.cn/

很少人知道的華為ISIS中這個技術點