劉海濤
(邢臺學(xué)院,河北 邢臺 054001)
?
淺析內(nèi)部網(wǎng)關(guān)協(xié)議IS-IS
劉海濤
(邢臺學(xué)院,河北邢臺054001)
隨著Internet技術(shù)的日益發(fā)展,網(wǎng)絡(luò)已經(jīng)在我們的生活中變得必不可少,那我們平時又是如何上網(wǎng)的呢?這就需要一項(xiàng)非常重要的技術(shù)——路由[1]。路由承載著聯(lián)通互聯(lián)網(wǎng)的功能,在全世界范圍內(nèi)形成一張巨大的網(wǎng),而這張網(wǎng)就叫做路由表。這張表的形成就是路由技術(shù)。作為因特網(wǎng)的樞紐,路由技術(shù)也正在不斷地發(fā)展,從路由的產(chǎn)生、發(fā)展到現(xiàn)在為止已經(jīng)從當(dāng)初的不成熟慢慢發(fā)展成為一個有體系的、成熟的體系結(jié)構(gòu)。而連接兩個路由器是靠的路由協(xié)議,比如IS-IS,本文將重點(diǎn)介紹IS-IS。
路由器;路由協(xié)議;IS-IS
(一)外部網(wǎng)關(guān)協(xié)議
外部網(wǎng)關(guān)是用于一個或多個自治系統(tǒng)之間的路由協(xié)議,它主要在各個自治系統(tǒng)之間實(shí)現(xiàn)路由信息的交互[2],實(shí)現(xiàn)網(wǎng)絡(luò)的互達(dá)。這些信息包括了各個自治系統(tǒng)中的全部路由信息,這樣他們可以建立一個連接狀態(tài)圖。因?yàn)橛袌D表的存在,優(yōu)化了選路機(jī)制,這樣很容易地就解決了路由環(huán)路問題。
外部網(wǎng)關(guān)路由協(xié)議選擇路由刷新消息是由網(wǎng)絡(luò)號和自治系統(tǒng)路徑組成的,自治系統(tǒng)路徑是由一系列自治系統(tǒng)的名字字符串組成,它記錄了到達(dá)最終目標(biāo)所經(jīng)過的所有網(wǎng)絡(luò),外部網(wǎng)關(guān)的數(shù)據(jù)包格式[3],如圖1。
圖1 外部網(wǎng)關(guān)數(shù)據(jù)包格式
(二)內(nèi)部網(wǎng)關(guān)協(xié)議
1.距離矢量路由協(xié)議
距離矢量路由協(xié)議基于距離矢量算法,此算法又稱為貝爾曼福特算法,以路由跳數(shù)為開銷,每個路由器周期性地向直連路由器發(fā)送自己的路由表,每個路由器檢查其他路由器發(fā)來的路由表,如果未收到路由條目則學(xué)習(xí),如果有則對比開銷,開銷小則替換開銷大的。具有代表性的協(xié)議有RIPv1,RIPv2,其主要特征就是選擇跳數(shù)作為度量值,其允許的最大跳數(shù)為15跳,在默認(rèn)情況下每隔30秒發(fā)送一次更新,即使沒有發(fā)生變化也會發(fā)送更新。RIP最多可以在6條等成本路徑之間均衡負(fù)載,并且不支持身份驗(yàn)證,它是一種分類的距離矢量路由協(xié)議,其更新中不攜帶子網(wǎng)掩碼,因此也不支持VLSM,與RIPv1相比,RIPv2采用組播地址224.0.0.9來將更新發(fā)送給其他路由器,相對來說使其效率有所提高,并且RIPv2支持身份驗(yàn)證,也增加了RIP路由協(xié)議的安全性,RIPv2雖然支持手動匯總,但是手動匯總也只是在接口上配置,只能將路由匯總為分類網(wǎng)絡(luò)邊界,不能支持無類域間匯總,即不能匯總分類網(wǎng)絡(luò)。總體來說RIP因其有最大跳數(shù),收斂速度慢,周期性更新浪費(fèi)資源等缺點(diǎn),一般來說只是會較少地應(yīng)用在小型邊界網(wǎng)絡(luò)當(dāng)中。
2.鏈路狀態(tài)路由協(xié)議
鏈路狀態(tài)協(xié)議的最終目標(biāo)是每臺路由器都收到域內(nèi)所有路由器的鏈路狀態(tài)信息,每臺路由器都可以自行創(chuàng)建網(wǎng)絡(luò)拓?fù)鋱D并獨(dú)立計(jì)算通向每個網(wǎng)絡(luò)的最短路徑。鏈路指的是路由器上的一個接口,鏈路狀態(tài)是有關(guān)各條鏈路狀態(tài)的信息。鏈路狀態(tài)協(xié)議又稱為最短路徑優(yōu)先協(xié)議,基于Edsger Dijkstra的SPF算法,業(yè)內(nèi)還有一些鏈路狀態(tài)路由協(xié)議用于非IP網(wǎng)絡(luò)。每臺路由器都會自行地確定通向拓?fù)渲忻總€目的地的開銷,它的開銷不像距離矢量那樣以條數(shù)為開銷,而是以鏈路的帶寬等計(jì)算開銷。建立路由的過程大致分為五步:第一步,每臺路由首先要了解自身的鏈路,即與它直連的網(wǎng)絡(luò),要了解自身連著哪些網(wǎng)絡(luò),并學(xué)習(xí)。第二步,了解直連網(wǎng)絡(luò)后再與直連網(wǎng)絡(luò)中的相鄰路由器互相發(fā)送Hello包“打招呼”,路由器使用Hello協(xié)議來發(fā)現(xiàn)鏈路上的所有鄰居,形成一種相鄰關(guān)系,這些小型Hello數(shù)據(jù)包持續(xù)在兩個相鄰的鄰居之間互換,以此實(shí)現(xiàn)“保持生存”功能來監(jiān)聽鄰居的狀態(tài)。第三步,路由器一旦建立相鄰關(guān)系,每臺路由器要創(chuàng)建一個鏈路狀態(tài)數(shù)據(jù)包(LSP),鏈路狀態(tài)數(shù)據(jù)包包含與該路由器直連的每條鏈路的狀態(tài),路由器一旦接收到來自相鄰路由器的 LSP,立即從其他接口泛洪出去。LSP并不是定期發(fā)送,僅在需要的情況下發(fā)送。第四步,每臺路由器將LSP泛洪到所有的鄰居,然后鄰居將收到的所有LSP存儲到數(shù)據(jù)庫中。第五步,每條路由器使用數(shù)據(jù)庫構(gòu)建一個完整的拓?fù)鋱D并計(jì)算通向每個目的網(wǎng)絡(luò)的最佳路徑。至此形成一張路由表。
(一)IS-IS原理概述
IS-IS的英文全稱是Intermediate System to Intermediate System,IS-IS也是一種基于SPF算法的鏈路狀態(tài)協(xié)議,同時也是一種內(nèi)部網(wǎng)關(guān)協(xié)議,ISIS使用在不同的子網(wǎng)上,包括廣播型的LAN、WAN和點(diǎn)到點(diǎn)網(wǎng)絡(luò)。實(shí)際上與OSPF又非常相似,也使用Hello包尋找相鄰的節(jié)點(diǎn)[4]。ISIS消息也使用順序號,但它的順序號只是一個加法計(jì)數(shù)器。當(dāng)計(jì)數(shù)器計(jì)到達(dá)最大值時,一個ISIS路由器沒有別的選擇,只能偽造一個錯誤的觸發(fā)信息對所有舊信息進(jìn)行刷新。然而,因?yàn)樾蛄刑栍?2比特長度,所以使用空間又是一個不得不考慮的問題,但是這樣的比特位數(shù)在到達(dá)最大值之前還是有很大的序列號剩余空間,所以這個不算什么問題。但是,目前至少仍存在有兩個技術(shù)問題:1.ISIS的度量值是6比特,相對比較小,這樣嚴(yán)重地制約了可以和它進(jìn)行轉(zhuǎn)換的信息;2.平切狀態(tài)時的鏈接只有8比特長,導(dǎo)致路由器能通告的記錄最大只能有256個。
一個非技術(shù)方面的問題是ISIS的發(fā)展受OSI限制較多,使得與OSPF相比較,它的發(fā)展比較遲緩。這主要是因?yàn)镮S-IS使用的是SPF的算法,這是SPF本身的原因。針對這個問題,新產(chǎn)生的Wide-metric使這個范圍變成24位比特,因此這個問題也得到了解決。
(二)IS-IS與OSPF區(qū)別
1.基本特點(diǎn)比較
都是應(yīng)用域內(nèi)的鏈路狀態(tài)協(xié)議,支持IP環(huán)境,采用分層設(shè)計(jì)和分區(qū)域設(shè)計(jì)。而ISIS支持點(diǎn)到點(diǎn)和廣播子網(wǎng),OSPF支持虛連接,報文封裝格式不同,OSPF基于接口劃分區(qū)域,ISIS基于路由劃分區(qū)域[5]。
2.鄰接關(guān)系比較
相同點(diǎn):通過Hello包發(fā)現(xiàn)鄰居,形成鄰接關(guān)系,要選舉出DR/非DR。
不同點(diǎn):建立鄰接關(guān)系條件不同,ISIS采用的Hello協(xié)議比較簡單,鄰居之間的Hello時間和Dead時間不必相同。而OSPF的hello時間和dead時間必須是一樣的,就點(diǎn)到點(diǎn)鏈路上的鄰接關(guān)系而言O(shè)SP形成的鄰接關(guān)系比IS-IS更靠譜。IS-IS形成鄰接關(guān)系原來只有兩次握手機(jī)制,后期也存在3次握手。IS-IS鄰接關(guān)系被稱為L1和L2鄰接關(guān)系,OSPF中要DR才能形成鄰接關(guān)系。IS-IS協(xié)議中選舉DIS是搶占式的可預(yù)見的,優(yōu)先級最高或是零都可以稱為DIS,OSPF則復(fù)雜不可預(yù)見,為了保證網(wǎng)絡(luò)的穩(wěn)定性,要選出DR和BDR,這是有嚴(yán)格要求的,DR的優(yōu)先級一定是最高的,優(yōu)先級是零的直接被排除,不能參與DR的選舉。還需要選舉出BDR,BDR的職責(zé)就是當(dāng)DR失效后,BDR要立即稱為DR,并承擔(dān)起DR的所有職責(zé)。IS-IS卻沒有這個機(jī)制,只有一個DIS,沒有備份,一旦DIS失敗,必須要重新選舉DIS,這就導(dǎo)致網(wǎng)絡(luò)可能會出現(xiàn)中斷。
3.鏈路狀態(tài)數(shù)據(jù)庫同步過程比較
相同點(diǎn):同步鏈路狀態(tài)數(shù)據(jù)庫的方法都一樣。
不同點(diǎn):OSPF有7種常見的LSA,數(shù)據(jù)庫的結(jié)構(gòu)相當(dāng)復(fù)雜,出現(xiàn)問題后定位比較困難。而IS-IS只有兩種,路由器LSP和為節(jié)點(diǎn)LSP,數(shù)據(jù)庫也很簡單,定位問題比較簡單。
4.路由計(jì)算過程比較
相同點(diǎn):都使用SPF算法計(jì)算路由。
不同點(diǎn):IS-IS也使用SPF算法,但相對而言比較簡單,IS-IS樹的葉子就是IS-IS的前綴,因此葉子發(fā)生變化時只計(jì)算部分路由就可以了。IS-IS的接口開銷值是0-63,鏈路層的區(qū)分不是太明顯,當(dāng)它的開銷達(dá)到1024后就認(rèn)為此網(wǎng)絡(luò)不可達(dá)(IEFT在RFC3784中擴(kuò)大了const的取值范圍和最大metric)。OSPF則不同,接口開銷值是0-1024,一個網(wǎng)絡(luò)的理論開銷值要超過65535才認(rèn)為不可達(dá)。
ISIS開銷類型比OSPF復(fù)雜。
ISIS開銷分為:narrow、narrow-compatible、wide、wide-compatible、compatible[6]。
IS-IS是在單個自治系統(tǒng)內(nèi)運(yùn)行的鏈路狀態(tài)協(xié)議。運(yùn)行鏈路狀態(tài)協(xié)議的路由器主要向鄰居描述自己連接的鏈路狀態(tài)信息,并通過泛洪機(jī)制使得整個區(qū)域內(nèi)所有的路由器形成一致鏈路狀態(tài)數(shù)據(jù)庫來描述本區(qū)域的網(wǎng)絡(luò)拓?fù)洌總€路由器再根據(jù)這個數(shù)據(jù)庫用最短路徑算法計(jì)算出到達(dá)目的地的最優(yōu)路徑。這種協(xié)議機(jī)制避免了路由環(huán)路的問題,具有收斂時間快,擴(kuò)展性好的特點(diǎn),目前在大型的ISP網(wǎng)絡(luò)中廣泛使用。
IS-IS協(xié)議直接運(yùn)行在數(shù)據(jù)鏈路層之上,協(xié)議類型是OxFEFE。這樣在鄰接關(guān)系之前完全同步他們的鏈路狀態(tài)數(shù)據(jù)庫,避免了IS-IS路由器產(chǎn)生的瞬時路由選擇問題。在廣播鏈路上,具有較高優(yōu)先級的路由器將成為DIS,由于DIS通告Hello報文的速度遠(yuǎn)比其他節(jié)點(diǎn)要快,所以能夠較快檢測當(dāng)前DIS是否正常運(yùn)行,從而降低了網(wǎng)絡(luò)中斷的可能性。
在點(diǎn)到點(diǎn)鏈路中對每一個LSP需要收到確認(rèn)信息來實(shí)現(xiàn)可靠的同步。在廣播鏈路上,IS-IS節(jié)點(diǎn)向所有與之相連的路由器廣播其LSP。接著,DIS就周期性地組播包含鏈路狀態(tài)數(shù)據(jù)庫中的每個一直LSP摘要信息的完全序列號數(shù)據(jù)包來實(shí)現(xiàn)廣播鏈路上所有路由器數(shù)據(jù)庫同步。這是一種盡力而為的行為,并且周期性地廣播需要昂貴的帶寬開銷。
IS-IS和OSPF都采用了最短路徑優(yōu)先算法計(jì)算路由,但是IS-IS是一個基于節(jié)點(diǎn)尋址方案的IP路由協(xié)議,所以路由器是最短路徑樹的頂點(diǎn),IP前綴就成為樹的葉子。這樣的話網(wǎng)絡(luò)環(huán)境中僅僅與IP前綴相關(guān)的網(wǎng)絡(luò)改變,而不是注入鄰接的拓?fù)渥兓⒉恍枰疃搪窂綐渲匦掠?jì)算,這在IS-IS協(xié)議中被稱為部分路由計(jì)算,這就為IS-IS協(xié)議在沒有涉及基本網(wǎng)絡(luò)拓?fù)渥兓那闆r下消耗較少的CPU資源。在安全方面,ISO10589與RFC1195位IS-IS協(xié)議報文認(rèn)證定義了明文文本密碼。最新的RFC3567定義了MD5認(rèn)證方案。
IS-IS通過增加兩種新的TLV來支持IPV6協(xié)議,IS-IS協(xié)議最大的優(yōu)勢就是在一個雙棧的網(wǎng)絡(luò)中路由器不像OSPF那樣消耗大量的CPU和內(nèi)存資源來支持兩個完全獨(dú)立的協(xié)議。IS-IS和OSPF都要建立一個雙層的分級結(jié)構(gòu)拓?fù)洌煌氖荗SPF的區(qū)域(area)劃分是在連接中劃分的,而IS-IS是在兩臺路由器之間劃分的。如圖2。
圖2 IS-IS路由器劃分area
圖3 OSPF劃分area
畫豎線的地方就是IS-IS劃分區(qū)域的地方,由此可以看出,IS-IS的區(qū)域是在兩個路由器之間劃分的。OSPF卻不一樣了,OSPF是按接口劃分的,也就是說一個路由器可以屬于多個接口,這樣的路由器此時所扮演的角色叫ABR。如圖3。
本文介紹的IS-IS是中間系統(tǒng)到中間系統(tǒng)的鏈路狀態(tài)協(xié)議,如今互聯(lián)網(wǎng)越來越發(fā)達(dá),我們的生活也越來越離不開互聯(lián)網(wǎng),而且IPv6的網(wǎng)絡(luò)正在搭建,所以如何將IS-IS更好地應(yīng)用在IPv6互聯(lián)網(wǎng)中,是一個富有挑戰(zhàn)性的課題,值得我們?nèi)W(xué)習(xí)。
[1]JeffDoyle.TCP/IP路由協(xié)議.[M].北京:人民郵電出版社,2003.
[2][美]W.Richard Stevens.TCP/IP詳解[M].北京:機(jī)械工業(yè)出版社,2007.
[3]謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,2008.
[4]雷震甲.網(wǎng)絡(luò)工程師教程[M].北京:清華大學(xué)出版社,2009.
[5]王文壽,王珂.網(wǎng)管員必備寶典——WindowsServer2003網(wǎng)絡(luò)管理[M].北京:清華大學(xué)出版社,2006.
[6][美]W.Richard Stevens.TCP/IP詳解[M].北京:機(jī)械工業(yè)出版,2007.
(責(zé)任編輯 李建武)
Analysis of the Internal Gateway Protocol IS-IS
LIU Hai-tao
(Xingtai College, Xingtai, Hebei 054001, China)
With the rapid development of Internet technology,it has become indispensable in our life,but how do we access the Internet?This requires a very important technology,routing,which carries the Unicom network routing functions,forming a vast network in the world,and this network is called routing table.The formation of this form is routing technology.As the internet hub,routing technology is constantly developing,from routing generation,development up to now has been from the original immature system gradually developed into a mature structure system.The connection between the two router is the routing protocol,i.e.IS-IS,this paper will focus on the introduction of IS-IS.
the router;routing protocol;IS-IS
TP393.04
A
1008—6129(2016)01—0076—05
2016—12—01
2011年邢臺市科技計(jì)劃項(xiàng)目——“高??蒲薪y(tǒng)計(jì)管理系統(tǒng)研究”,項(xiàng)目編號:2011ZC013。
劉海濤(1978—),河北臨西人,邢臺學(xué)院,講師。