路由協議的後宮寵妃 - 大話IS-IS

誰說世界盃期間就不update知識了?

當你點開這篇文章,我不得不說,你前途無量。

路由協議的後宮寵妃 - 大話IS-IS

爲什麼?

想想世界盃期間,還有誰去學習、精進?

而你與衆不同,他們看球,你讀知識博客,你要是沒前途了,還有誰有?

既然進來了,就品鑑品鑑這篇白話文,讀完順便點個贊,要是能再關注我一下,那就更好了~

好了,廢話不說,上菜。

故事背景

OSPF路由協議,相信你配置的熟練,聽得耳爛,看的厭煩。

毫無疑問,OSPF在業界是出了名的成功,無論是同一個廠家的設備,還是異廠家對接,OSPF都是一個非常不錯的選擇。

穩定的輸出,簡單的配置,豐富的功能。

可是,還有一個OSPF的孿生姐妹,功能與OSPF類似,而且輸出極其穩定,它就是今天我們要說的主角:IS-IS,這位路由界的深宮妃子。

之所以想起聊聊這位後宮美人,是因爲大家對她都比較陌生,只聞其名,不見其人。剛好在我的《老司機網絡運維乾貨集錦 》專欄裏面,有朋友問道IS-IS協議的諸多細節,我覺得有必要通過一個簡單易懂的文章,同大家聊聊IS-IS的特點。

如何聊?

逐個盤點知識細節?這不是我的風格,我們就追求簡單易懂,上手即用。

所以最好的方法,就是通過一個熟悉的東西作爲參照對象,從而讓你能夠快速上手。

這個對象,不用說,非OSPF莫屬。

IS-IS協議簡介

IS-IS全名並不是中東某某集團、讓你出國玩的時候很不爽的那一幫人。他們的名字中間少了一個橫槓(-)。

此處說的IS-IS,名爲中間系統-中間系統。

英文名:Intermediate System to Intermediate System (IS-IS)

名字很奇怪,之所以叫做“中間系統”,則是ISO這幫人對於網絡設備的一個稱呼,因爲網絡設備是介於終端之間。所以稱之爲中間設備,這就好像寫什麼文書,本來大白話可以說清的,非得一副文縐縐的樣子。

而終端,例如服務器,主機等,則稱作終端系統“End System”。

選手介紹完畢。

總覽

下圖爲OSPF 和IS-IS的各項區別和相似之處:

路由協議的後宮寵妃 - 大話IS-IS

由於篇幅有限,也不想把文章當做說教之處,本文僅僅從裏面挑出幾個比較有意思的點和你一起分享。

還是那句話,掌握思路比學到具體的知識更重要。

而且說到知識儲備,有誰拼得過百度和google呢?能搜就行了。

接下來,開始進入PK環節:

底層協議PK

OSPF:

OSPF是基於IP的路由協議,利用IPv4包頭承載OSPF的數據包。如下圖所示:

路由協議的後宮寵妃 - 大話IS-IS

IS-IS:

IS-IS就不一樣了,IS-IS是基於ISO的OSI協議模型的。

不知道大家是否還記得常說的OSI 7層協議模型,什麼物理層,數據鏈路層,網絡層等等。

其實這就是OSI 7層模型,而這7層模型中,還存在很多各種各樣的協議,見過的沒見過的。

如下圖所示:

路由協議的後宮寵妃 - 大話IS-IS

你可能很奇怪,比如網絡層,協議不應該是IP麼?傳輸層不應該有TCP,UDP麼?怎麼都看不到了。

其實TCP也好,IP也罷,都是基於TCP/IP協議模型,而非傳統的OSI模型。

只是隨着時間的推移,人們喜歡OSI的模型來描述網絡層級,因爲它更精確。

但是同時用現今流行的網絡協議來對應到OSI層級上,所以就出現了,網絡層IP,傳輸層TCP、UDP等協議的說法。

回到正題,你會發現,IS-IS就在上圖中Network網絡層的層級裏面。

剛開始IPv4還沒佔領全宇宙的時候,OSI的這些古怪協議都還有人用,自然而然,就需要一個路由協議來學習各個奇葩協議的網段,IS-IS就應運而生了。

相比OSPF使用IP地址來互相建立鄰居,IS-IS也需要一個OSI界的地址族,這就是NET(Network Entity Title:網絡實體名稱)。

一個典型的IS-IS NET的地址結構是這樣的:

路由協議的後宮寵妃 - 大話IS-IS

最左邊的49.0001是區域號碼,中間的192xxxx8001是系統號,右邊的NSEL號碼配置爲00,代表路IS-IS路由器自身的地址。

NET地址小竅門:

有沒有發現上面的1922.5112.8001很熟悉。

其實他是這樣的:192.251.128.001。這不就是一個 傳統的IPv4地址麼。

完全正確。

由於IS-IS的NET地址一臺路由器只需要配置一個,通常都配置在lo0接口上。

所以最方便的就是把Lo0的IPv4地址轉換一下變爲NET地址。

例如192.168.1.1 可以轉換爲:49.0001.1920.1680.1000.1000.00

最後,讓我們一起看看IS-IS的數據包結構:

路由協議的後宮寵妃 - 大話IS-IS

區域劃分

多區域的OSPF

OSPF爲了獲取網絡部署的靈活性,和各項路由功能,特定把整個OSPF域做了如下劃分:

  1. Area 0 骨幹區域,骨幹區域用於連接其他OSPF區域。
  2. Area xxx 非骨幹區域,連接到骨幹區域。非骨幹區域可以實現各種功能,以及在非骨幹和骨幹區域之間實施路由策略。

一般情況下,OSPF的多區域網絡劃分是這樣的:

路由協議的後宮寵妃 - 大話IS-IS

上述拓撲相信大家已經司空見慣。

但是請再次注意一點,那就是兩個區域之間的連接,是通過一臺路由器相連,此路由器我們稱之爲ABR。

換句話來說,一臺路由器跨越了兩個區域。

同時,OSPF可以有很多區域,你可以基於你的需求來定義區域的數量。

回過頭來看看IS-IS。

雙區域的IS-IS

傳統模式

IS-IS也有區域的概念,但是相對於OSPF,它的區域則是簡單的多。

IS-IS僅僅存在兩個區域層級:

Level 2:骨幹區域,類似於OSPF的Area 0。

Level 1:非骨幹區域,類似於OSPF的非Area 0的區域。

兩者之間的關係,如下圖所示:

路由協議的後宮寵妃 - 大話IS-IS

上述拓撲中,level 2作爲主幹,左右兩側作爲分支。

但是請注意,左右兩邊沒有Area號碼這一說,都是同屬於Level 1。

同時,OSPF的ABR部分,則稱作L1/L2路由器,即把L1和L2互聯起來的路由器。

衆人大呼上當,這不是和OSPF一模一樣麼,換湯不換藥,就是把Area改爲Level而已,ABR換一個名字?

真是如此嗎?

獨立模式

讓我們在看另外一個拓撲:

路由協議的後宮寵妃 - 大話IS-IS

上圖有兩臺路由器,他們建立了IS-IS鄰居關係,而且同時在Level1和Level2層級上建立鄰居關係。

這就神奇了,你見過哪一個OSPF路由器可以同時把Area 0和Area 1重疊起來建立麼?

OSPF不可以,但是IS-IS可以。

IS-IS的Level 1和Level 2的鄰居狀態數據庫等一切信息都是互相獨立的,兩者之間不產生交集,也不共享路由信息。

除非像上述傳統模式拓撲內,存在一個L1/L2路由器,同時把兩邊銜接起來,此時L1和L2才存在互相通告路由的可能性。

IS-IS有趣的網絡結構就此結束了麼?

肯定不會,下一個。

多域模式

在看圖之前,先問個問題,你見過OSPF存在不同的域麼?

沒有吧,OSPF沒有類似於EIGRP或者BGP那樣,存在一個自治系統號。

所以你不會看到下面這樣的OSPF拓撲圖:

路由協議的後宮寵妃 - 大話IS-IS

但是,IS-IS卻可以。

回到本文上半部分講述IS-IS NET地址時,存在一個Area id區域號碼。上述的例子是49.0001。

換句話說,IS-IS就可以存在多個域。

而域和域之間肯定存在互聯關係,自然而然就引入下面的拓撲:

路由協議的後宮寵妃 - 大話IS-IS

上述拓撲中,存在三個IS-IS域。

他們之間必須通過L2骨幹鏈路互聯,而且互聯的方式是兩兩互聯,兩兩之間分別處於不同的域內。

這個再次和OSPF區別開來,OSPF的Area之間通過一臺ABR互聯。

DR/BDR vs DIS

既然說到域,就順帶提提DR、BDR 指定路由器,備份指定路由器。。

DR和BDR是在OSPF廣播型鏈路中,爲了減少大量路由器兩兩之間交換的鏈路狀態信息,遂選舉出一個“村官”來管大家,所有同一個LAN裏面的OSPF路由器都要和村長DR聯繫,同時還有一個副村長BDR,免得村長掛了。

那IS-IS裏面是否也有類似的設計呢?

答案是有的。

IS-IS裏面不叫DR,BDR。而是叫做DIS:Designated Intermediate System。

DIS是何須人也?其實非常容易理解:OSI模型裏面Router路由器 = Intermediate System中間系統。

兩邊同時加上一個Designate指定一詞,得到DR=DIS。

這就好理解了吧。

但是注意,IS-IS內沒有BDR,即BDIS一說,IS-IS不喜歡副村長。

協議特性:LSA vs TLV

LSA:OSPF的生命源泉

相信大家都知道OSPF都有哪一些常見的LSA類型,而每一個LSA都代表什麼意思。

例如一類LSA,二類LSA,3類,5類。7類等。

這些LSA彙總在一起,定義了OSPF的各種功能特性

毫不誇張的說,LSA賦予了OSPF蓬勃的生命力。

同時,正因爲有了LSA,隨着時代的發展,當OSPF需要更多的功能時。

就可以通過開發新的LSA類型來滿足其功能上的需求,例如LSA9-11,負載MPLS相關的功能等。

同樣的,IS-IS也得有它的一套絕活,否則怎麼能在江湖上立足呢?

TLV:IS-IS的立命之本

TLV,全稱:Type,Length,Value,翻譯過來就是類型,長度,值。

它作爲一個典型的編碼,被極其廣泛的應用在IS-IS協議內部。

通過定義不同的TLV,IS-IS也獲得了不同的功能。

常見的TLV如下所示:

路由協議的後宮寵妃 - 大話IS-IS

Juniper 路由器 IS-IS輸出結果下的TLV對應圖:

路由協議的後宮寵妃 - 大話IS-IS

IPv6怎麼搞定?

OSPF和IS-IS相安無事很多年,大家各司其職。

OSPF風靡全世界的企業網,而IS-IS則穩坐運營商骨幹網IGP協議的鰲頭。

可是,突然有一天,一個不速之客來了。

那就是IPv6。

就在大家都嚷嚷說要上IPv6的時候,兩個協議也需要繼續跟進。

OSPF 的困獸之鬥

先說說OSPF。

剛纔說過,OSPF若需要新的協議特性和功能,就通過開發LSA類型來解決。

可是這次這方法不靈光了。

爲什麼?

因爲OSPF的根是在IPv4上,鄰居關係,hello包的組播地址,一切的一切都是以IPv4爲基礎。

所以OSPF若要新增IPv6的功能,不是簡簡單單一個LSA就能搞定的問題了。

所有一切都得推倒重來。

於是乎,無奈之下-OSPFv3誕生了。

OSPFv3同時兼容了IPv4和IPv6,雖然很好。

但是它意味着你需要單獨在跑一個路由協議,OSPF和OSPFv3是兩個獨立的協議。

我知道,很疼。

IS-IS第二春

IS-IS,就很有意思了。

當IS-IS看到OSPF這般難受時,不禁大笑。

爲何?

因爲IS-IS特殊的身世。

還記得,IS-IS可是誕生於ISO的OSI模型之下,它和後來的IP一點瓜葛都沒有。

所以,這是IS-IS的根:OSI網絡模型。

後來1990年,IS-IS通過新增一個TLV的方式,把IPv4加進來了。

對他來說,新增IPv4就是一個TLV而已。

同理,新增IPv6也就是另外一個TLV而已。

就因爲這樣,當你運行IS-IS的時候,你不需要開啓任何特殊功能,IS-IS同時兼容IPv4和IPv6。

運營商的同學們也沒有任何心理負擔,只需要配置IPv6地址在接口上,馬上就有了一張原生的IPv6網。

怎麼一個爽字了得。

這就印證了一句話:風水輪流轉,今年到我家

想當年OSPF就因爲選擇了IPv4作爲其基礎,從此走向了康莊大道。

可是,有時候你覺得,某些東西是你的絕對優勢的時候。

某一天,峯迴路轉,它反而讓你寸步難行。

路由協議都是這樣。

何況人生呢?

結束語

經過一番胡侃瞎聊,相信你就算從來沒碰過IS-IS這個協議,現在也有一個大致的瞭解了。

我也沒打算花大篇幅一個個的給你講IS-IS的諸多細節,內容繁多不說,你看了看可能就半路撤退了,內容沒有獲取到,反而浪費你寶貴的時間。

授人以魚不如授人以漁~

好了,輪到你給小夥伴們吹噓了。。。

內容不夠你看,瞅瞅這個:

我還有個專欄~

此專欄通過“網絡路由篇”,“網絡交換篇”,“網絡安全篇”,“QoS篇”四大典型技術模塊,分別給各位講述運維中的網絡設計思路和一些運維的技術難題。

知識夠廣 - 還全是乾貨。

要不,來一份?

傳送門如下:

老司機網絡運維乾貨集錦,點我進行傳送>>>

路由協議的後宮寵妃 - 大話IS-IS

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章