當你點開這篇文章,我不得不說,你前途無量。數據庫
爲何?安全
想一想世界盃期間,還有誰去學習、精進?服務器
而你不同凡響,他們看球,你讀知識博客,你要是沒前途了,還有誰有?網絡
既然進來了,就品鑑品鑑這篇白話文,讀完順便點個贊,要是能再關注我一下,那就更好了~運維
好了,廢話不說,上菜。ide
OSPF路由協議,相信你配置的熟練,聽得耳爛,看的厭煩。學習
毫無疑問,OSPF在業界是出了名的成功,不管是同一個廠家的設備,仍是異廠家對接,OSPF都是一個很是不錯的選擇。google
穩定的輸出,簡單的配置,豐富的功能。編碼
但是,還有一個OSPF的孿生姐妹,功能與OSPF相似,並且輸出極其穩定,它就是今天咱們要說的主角:IS-IS,這位路由界的深宮妃子。翻譯
之因此想起聊聊這位後宮美人,是由於你們對她都比較陌生,只聞其名,不見其人。恰好在個人《老司機網絡運維乾貨集錦 》專欄裏面,有朋友問道IS-IS協議的諸多細節,我以爲有必要經過一個簡單易懂的文章,同你們聊聊IS-IS的特色。
如何聊?
逐個盤點知識細節?這不是個人風格,咱們就追求簡單易懂,上手即用。
因此最好的方法,就是經過一個熟悉的東西做爲參照對象,從而讓你可以快速上手。
這個對象,不用說,非OSPF莫屬。
IS-IS全名並非中東某某集團、讓你出國玩的時候很不爽的那一幫人。他們的名字中間少了一個橫槓(-)。
此處說的IS-IS,名爲中間系統-中間系統。
英文名:Intermediate System to Intermediate System (IS-IS)
名字很奇怪,之因此叫作「中間系統」,則是ISO這幫人對於網絡設備的一個稱呼,由於網絡設備是介於終端之間。因此稱之爲中間設備,這就好像寫什麼文書,原本大白話能夠說清的,非得一副文縐縐的樣子。
而終端,例如服務器,主機等,則稱做終端系統「End System」。
選手介紹完畢。
下圖爲OSPF 和IS-IS的各項區別和類似之處:
因爲篇幅有限,也不想把文章當作說教之處,本文僅僅從裏面挑出幾個比較有意思的點和你一塊兒分享。
仍是那句話,掌握思路比學到具體的知識更重要。
並且說到知識儲備,有誰拼得過百度和google呢?能搜就好了。
接下來,開始進入PK環節:
OSPF是基於IP的路由協議,利用IPv4包頭承載OSPF的數據包。以下圖所示:
IS-IS就不同了,IS-IS是基於ISO的OSI協議模型的。
不知道你們是否還記得常說的OSI 7層協議模型,什麼物理層,數據鏈路層,網絡層等等。
其實這就是OSI 7層模型,而這7層模型中,還存在不少各類各樣的協議,見過的沒見過的。
以下圖所示:
你可能很奇怪,好比網絡層,協議不該該是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的地址結構是這樣的:
最左邊的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的數據包結構:
OSPF爲了獲取網絡部署的靈活性,和各項路由功能,特定把整個OSPF域作了以下劃分:
通常狀況下,OSPF的多區域網絡劃分是這樣的:
上述拓撲相信你們已經司空見慣。
可是請再次注意一點,那就是兩個區域之間的鏈接,是經過一臺路由器相連,此路由器咱們稱之爲ABR。
換句話來講,一臺路由器跨越了兩個區域。
同時,OSPF能夠有不少區域,你能夠基於你的需求來定義區域的數量。
回過頭來看看IS-IS。
傳統模式
IS-IS也有區域的概念,可是相對於OSPF,它的區域則是簡單的多。
IS-IS僅僅存在兩個區域層級:
Level 2:骨幹區域,相似於OSPF的Area 0。
Level 1:非骨幹區域,相似於OSPF的非Area 0的區域。
二者之間的關係,以下圖所示:
上述拓撲中,level 2做爲主幹,左右兩側做爲分支。
可是請注意,左右兩邊沒有Area號碼這一說,都是同屬於Level 1。
同時,OSPF的ABR部分,則稱做L1/L2路由器,即把L1和L2互聯起來的路由器。
衆人大呼上當,這不是和OSPF如出一轍麼,換湯不換藥,就是把Area改成Level而已,ABR換一個名字?
真是如此嗎?
獨立模式
讓咱們在看另一個拓撲:
上圖有兩臺路由器,他們創建了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 NET地址時,存在一個Area id區域號碼。上述的例子是49.0001。
換句話說,IS-IS就能夠存在多個域。
而域和域之間確定存在互聯關係,天然而然就引入下面的拓撲:
上述拓撲中,存在三個IS-IS域。
他們之間必須經過L2骨幹鏈路互聯,並且互聯的方式是兩兩互聯,兩兩之間分別處於不一樣的域內。
這個再次和OSPF區別開來,OSPF的Area之間經過一臺ABR互聯。
既然說到域,就順帶提提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不喜歡副村長。
相信你們都知道OSPF都有哪一些常見的LSA類型,而每個LSA都表明什麼意思。
例如一類LSA,二類LSA,3類,5類。7類等。
這些LSA彙總在一塊兒,定義了OSPF的各類功能特性
絕不誇張的說,LSA賦予了OSPF蓬勃的生命力。
同時,正由於有了LSA,隨着時代的發展,當OSPF須要更多的功能時。
就能夠經過開發新的LSA類型來知足其功能上的需求,例如LSA9-11,負載MPLS相關的功能等。
一樣的,IS-IS也得有它的一套絕活,不然怎麼能在江湖上立足呢?
TLV,全稱:Type,Length,Value,翻譯過來就是類型,長度,值。
它做爲一個典型的編碼,被極其普遍的應用在IS-IS協議內部。
經過定義不一樣的TLV,IS-IS也得到了不一樣的功能。
常見的TLV以下所示:
Juniper 路由器 IS-IS輸出結果下的TLV對應圖:
OSPF和IS-IS相安無事不少年,你們各司其職。
OSPF風靡全世界的企業網,而IS-IS則穩坐運營商骨幹網IGP協議的鰲頭。
但是,忽然有一天,一個不速之客來了。
那就是IPv6。
就在你們都嚷嚷說要上IPv6的時候,兩個協議也須要繼續跟進。
先說說OSPF。
剛纔說過,OSPF若須要新的協議特性和功能,就經過開發LSA類型來解決。
但是此次這方法不靈光了。
爲何?
由於OSPF的根是在IPv4上,鄰居關係,hello包的組播地址,一切的一切都是以IPv4爲基礎。
因此OSPF若要新增IPv6的功能,不是簡簡單單一個LSA就能搞定的問題了。
全部一切都得推倒重來。
因而乎,無奈之下-OSPFv3誕生了。
OSPFv3同時兼容了IPv4和IPv6,雖然很好。
可是它意味着你須要單獨在跑一個路由協議,OSPF和OSPFv3是兩個獨立的協議。
我知道,很疼。
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篇」四大典型技術模塊,分別給各位講述運維中的網絡設計思路和一些運維的技術難題。
知識夠廣 - 還全是乾貨。
要不,來一份?
傳送門以下: