舉例說明
假設你的名字叫小不點(很小),你住在一個大院子裡,你的鄰居有很多小夥伴,父母是你的網關。當你想跟院子裡的某個小夥伴玩,隻要你在院子裡大喊一聲他的名字,他聽到了就會回應你,并且跑出來跟你玩。
但是你家長不允許你走出大門,你想與外界發生的一切聯系,都必須由父母(網關)用電話幫助你聯系。假如你想找你的同學小明聊天,小明家住在很遠的另外一個院子裡,他家裡也有父母(小明的網關)。但是你不知道小明家的電話号碼,不過你的班主任老師有一份你們班全體同學的名單和電話号碼對照表,你的老師就是你的DNS服務器。于是你在家裡和父母有了下面的對話:
小不點:媽媽(或爸爸),我想找班主任查一下小明的電話号碼行嗎?家長:好,你等着。(接着你家長給你的班主任挂了一個電話,問清楚了小明的電話)問到了,他家的号碼是211.99.99.99
小不點:太好了!媽(或爸),我想找小明,你再幫我聯系一下小明吧。
家長:沒問題。(接着家長向電話局發出了請求接通小明家電話的請求,最後一關當然是被轉接到了小明家家長那裡,然後他家長把電話給轉到小明).
就這樣你和小明取得了聯系。
如果搞清了什麼是網關,默認網關也就好理解了。就好像一個房間可以有多扇門一樣,一台主機可以有多個網關。默認網關的意思是一台主機如果找不到可用的網關,就把數據包發給默認指定的網關,由這個網關來處理數據包。默認網關。默認網關一般填寫192.168.x.1
基本術語
傳輸網關
傳輸網關用于在2個網絡間建立傳輸連接。利用傳輸網關,不同網絡上的主機間可以建立起跨越多個網絡的、級聯的、點對點的傳輸連接。例如通常使用的路由器就是傳輸網關,“網關”的作用體現在連接兩個不同的網段,或者是兩個不同的路由協議之間的連接,如RIP,EIGRP,OSPF,BGP等。
應用網關
應用網關在應用層上進行協議轉換。例如,一個主機執行的是ISO電子郵件标準,另一個主機執行的是Internet電子郵件标準,如果這兩個主機需要交換電子郵件,那麼必須經過一個電子郵件網關進行協議轉換,這個電子郵件網關是一個應用網關。再例如,在和Novell NetWare網絡交互操作的上下文中,網關在 Windows 網絡中使用的服務器信息塊(SMB)協議以及 NetWare 網絡使用的NetWare核心協議(NCP)之間起着橋梁的作用。NCP是工作在OSI第七層的協議,用以控制客戶站和服務器間的交互作用,主要完成不同方式下文件的打開、關閉、讀取功能。
現在的網關産品分類越來越細了,有信令網關,中繼網關,還有接入網關:
信令網關SG,主要完成7号信令網與IP網之間信令消息的中繼,在3G初期,對于完成接入側到核心網交換之間的消息的轉接(3G之間的RANAP消息,3G與2G之間的BSSAP消息),另外還能完成2G的MSC/GMSC與軟交換機之間ISUP消息的轉接。
中繼網關又叫IP網關,同時滿足電信運營商和企業需求的VoIP設備。中繼網關(IP網關)由基于中繼闆和媒體網關闆建構,單闆最多可以提供128路媒體轉換,兩個以太網口,機框采用業界領先的CPCI标準,擴容方便具有高穩定性、高可靠性、高密度、容量大等特點.
接入網關是基于IP的語音/傳真業務的媒體接入網關,提供高效、高質量的話音服務,為運營商、企業、小區、住宅用戶等提供VoIP解決方案。
除此之外,網關還可以分為:協議網關、應用網關和安全網關
協議網關
協議網關通常在使用不同協議的網絡區域間做協議轉換。這一轉換過程可以發生在OSI參考模型的第2層、第3層或2、3層之間。但是有兩種協議網關不提供轉換的功能:安全網關和管道。由于兩個互連的網絡區域的邏輯差異,安全網關是兩個技術上相似的網絡區域間的必要中介。如私有廣域網和公有的因特網。
應用網關
應用網關是在使用不同數據格式間翻譯數據的系統。典型的應用網關接收一種格式的輸入,将之翻譯,然後以新的格式發送。輸入和輸出接口可以是分立的也可以使用同一網絡連接。
應用網關也可以用于将局域網客戶機與外部數據源相連,這種網關為本地主機提供了與遠程交互式應用的連接。将應用的邏輯和執行代碼置于局域網中客戶端避免了低帶寬、高延遲的廣域網的缺點,這就使得客戶端的響應時間更短。應用網關将請求發送給相應的計算機,獲取數據,如果需要就把數據格式轉換成客戶機所要求的格式。
安全網關
安全網關是各種技術有趣的融合,具有重要且獨特的保護作用,其範圍從協議級過濾到十分複雜的應用級過濾。
網關(Gateway)又稱網間連接器、協議轉換器。網關在傳輸層上以實現網絡互連,是最複雜的網絡互連設備,僅用于兩個高層協議不同的網絡互連。網關的結構也和路由器類似,不同的是互連層。網關既可以用于廣域網互連,也可以用于局域網互連。可以說,網關是一種充當轉換重任的計算機系統或設備。在使用不同的通信協議、數據格式或語言,甚至體系結構完全不同的兩種系統之間,網關是一個翻譯器。與網橋隻是簡單地傳達信息不同,網關對收到的信息要重新打包,以适應目的系統的需求。同時,網關也可以提供過濾和安全功能。大多數網關運行在OSI 7層協議的頂層——應用層。
RIP協議
RIP協議的全稱,是路由信息協議,它是一種内部網關協議(IGP),用于一個自治系統(AS)内的路由信息的傳遞。RIP協議,是基于距離矢量算法的,它使用“跳數”,即METRIC來衡量到達目标地址的路由距離。RIP協議中規定,一條有效的路由信息的度量(METRIC)不能超過15,這就使得該協議不能應用于很大型的網絡,應該說,正是由于設計者考慮到該協議隻适合于小型網絡,所以才進行了這一限制。對于METRIC為16的目标網絡來說,即認為其不可到達。
局限性
該路由協議應用到實際中時,很容易出現“計數到無窮大”的現象,這使得路由收斂很慢,在網絡拓撲結構變化以後,需要很長時間,路由信息才能穩定下來。該協議以跳數,即報文經過的路由器個數為衡量标準,并以此來選擇路由,這一措施欠合理性,因為沒有考慮網絡延時,可靠性,線路負荷等因素對傳輸質量與速度的影響。
實現
RIP根據V-D算法的特點,将協議的參加者分為主動機和被動機兩種。主動機主動向外廣播路由刷新報文,被動機被動地接收路由刷新報文。一般情況下,主機作為被動機,路由器則既是主動機又是被動機,即在向外廣播路由刷新報文的同時,接受來自其它主動機的V-D報文,并進行路由刷新。
RIP規定,路由器每30秒向外廣播一個V-D報文,報文信息來自本地路由表。
RIP的V-D報文中,其距離以驿站計:與信宿網絡直接相連的路由器規定為一個驿站,相隔一個路由器則為兩個驿站……,以此類推,一條路由的距離為該路由(從信源機到信宿機)上的路由器數。
為防止尋徑環長期存在,RIP規定,長度為16的路由為無限長路由,即不存在的路由。所以一條有效的路由長度不得超過15。正是這一規定限制了RIP的使用範圍,使RIP局限于中小型的網絡網點中。
為了保證路由的及時有效性,RIP采用觸發刷新技術和水平分割法。當本地路由表發生修改時,觸發廣播路由,刷新報文,以迅速達到最新路由的廣播和全局路由的有效。水平分割法,是指當路由器從某個網絡接口發送RIP路由刷新報文時,其中不包含從該接口獲取的路由信息。這是由于從某網絡接口獲取的路由信息對于該接口來說是無用信息,同時也解決了兩路由器間的慢收斂問題。
對于局域網的路由,RIP規定了路由的超時處理。主要是考慮到這樣一個情況,如果完全根據V-D算法,一條路由被刷新,是因為出現一條路由開銷更小的路由,否則,路由會在路由表中一直保存下去,即使該路由崩潰。這勢必造成一定的錯誤路由信息。為此,RIP規定,所有機器對其尋徑表中的每一條路由都設置一個時鐘,每增加一條新路由,相應設置一個新時鐘。在收到的V-D報文中假如有關于此路由的表目,則将時鐘清零,重新計時。假如在120秒内一直未收到該路由的刷新信息,則認為該路由崩潰,将其距離設為16,廣播該路由信息。如果再過60後仍未收到該路由的刷新信息,則将它從路由表中删除。如果某路由在距離被設為16後,在被删除前路由被刷新,亦将時鐘清零,重新計時,同時廣播被刷新的路由信息。至于路由被删除後是否有新的路由來代替被删除路由,取決于去往原路由所指信宿有無其它路由。假如有,相應路由器會廣播之。機器一旦收到其它路由的信息,自然會利用V-D算法建立一條新路由。否則,去往原信宿的路由不再存在。
RIP啟動和運行的整個過程如下所描述:某路由器剛啟動RIP時,以廣播的形式向相鄰路由器發送請求報文,相鄰路由器的RIP收到請求報文後,響應請求,回發包含本地路由表信息的響應報文。RIP收到響應報文後,修改本地路由表的信息,同時以觸發修改的形式向相鄰路由器廣播本地路由修改信息。相鄰路由器收到觸發修改報文後,又向其各自的相鄰路由器發送觸發修改報文。在一連串的觸發修改廣播後,各路由器的路由都得到修改并保持最新信息。同時,RIP每30秒向相鄰路由器廣播本地路由表,各相鄰路由器的RIP在收到路由報文後,對本地路由進行的維護,在衆多路由中選擇一條最佳路由,并向各自的相鄰網廣播路由修改信息,使路由達到全局的有效。同時RIP采取一種超時機制對過時的路由進行超時處理,以保證路由的實時性和有效性。RIP作為内部路由器協議,正是通過這種報文交換的方式,提供路由器了解本自治系統内部個網絡路由信息的機制。
RIP-2支持版本1和版本2兩種版本的報文格式。在版本2中,RIP還提供了對子網的支持和提供認證報文形式。版本2的報文提供子網掩碼域,來提供對子網的支持;另外,當報文中的路由項地址域值為0xFFFF時,默認該路由項的剩餘部分為認證。RIP2對撥号網的支持則是參考需求RIP和觸發RIP的形式經修改而加入的新功能。這時,我們隻是要求在撥号網撥通之後對路由進行30秒一次的廣播,而在沒撥通時并不作如是要求,這是根據具體情況變通的結果。
RIP的限制
雖然RIP有很長的曆史,但它還是有自身的限制。它非常适合于為早期的網絡互聯計算路由;然而,技術進步已極大地改變了互聯網絡。建造和使用的方式。因此,RIP會很快被今天的互聯網絡所淘汰。RIP的一些最大限制是:
·不能支持長于15跳的路徑。
·依賴于固定的度量來計算路由。
·對路由更新反應強烈。
·相對慢的收斂。
·缺乏動态負均衡支持。
配置
RIP(RoutinginformationProtocol)是應用較早、使用較普遍的内部網關協議(InteriorGatewayProtocol,簡稱IGP),适用于小型同類網絡,是典型的距離向量(distance-vector)協議。文檔見RFC1058、RFC1723。
RIP通過廣播UDP報文來交換路由信息,每30秒發送一次路由信息更新。RIP提供跳躍計數(hopcount)作為尺度來衡量路由距離,跳躍計數是一個包到達目标所必須經過的路由器的數目。如果到相同目标有二個不等速或不同帶寬的路由器,但跳躍計數相同,則RIP認為兩個路由是等距離的。
RIP最多支持的跳數為15,即在源和目的網間所要經過的最多路由器的數目為15,跳數16表示不可達。
1、有關命令
任務命令
指定使用RIP協議routerrip
指定RIP版本version{1|2}1
指定與該路由器相連的網絡networknetwork
注:
1、Cisco的RIP版本2支持驗證、密鑰管理、路由彙總、無類域間路由(CIDR)和變長子網掩碼(VLSMs)
2、舉例
Router1:routerrip version2 network 192.200.10.0 network192.20.10.0!
相關調試命令:showipprotocol
showiproute
在全局設置模式下:
1.啟動RIP路由 routerrip
2.設置參與RIP路由的子網network子網地址
3.允許在非廣播型網絡中進行RIP路由廣播neighbor相鄰路由器相鄰端口的IP地址
4.設置RIP的版本
RIP路由協議有2個版本,在與其它廠商路由器相連時,注意版本要一緻,缺省狀态下,Cisco路由器接收RIP版本1和2的路由信息,但隻發送版本1的路由信息,設置RIP的版本vesion1或2。
另外,還可以控制特定端口發送或接收特定版本的路由信息。
1.隻在特定端口發版本1或2的信息,在端口設置模式下ripsendversion1或2
2.同時發送版本1和2的信息ipripsendreceive1or2
3.在特定端口接受版本1或2的路由信息ipripreceive1or2
4.同時接受版本1和2的路由信息ipripreceive1or2
選擇路由協議幾點建議:
1.在大型網絡中,建議使用ospf、eigrp。
2.如果網絡中含有變長了網掩碼(VISM)不能使用igrp,rip版本1,可以使用rip版本2,ospf,eigrp或靜态路由。
3.如果使用路由安全設置,可以使用RIP版本1或OSPF。
4.選用ospf,eigrp在系統穩定後所占帶寬比RIP,IGRP少得多,IGRP比RIP所占帶寬也少。
5.綜合使用動态路由,靜态路由,缺省路由,以保證路由的冗餘。
6.在撥号線路上盡量使用靜态路由,以節省費用。
7.在小型網絡上數據量不大的情況下,且不需要高可性,廣域網線路為X.25SVC時,建議用靜态路由。
RIP配置實例
1、在下面的網絡裡,有三台路由器,所有的路由器都運行RIP協議,僅要實現三台路由器互通
配置
2、在下面的網絡裡,有三台路由器,所有的路由器都運行RIP協議,要實現:
(1)Ros的E0端口接收Hata和Bito發來的路由更新報文。
(2)Ros在E0發送的更新報文僅發送給Bito。
配置:
Ros的配置如下:
Bito的配置如下:
Hata的配置如下:
3、有三台路由器,Melu和Haha正常運行,現要添加一台名稱為Toba的HOS路由器使Toba和Haha互相聯通,并且不能破壞Melu和Haha的運行狀态。如下圖所示:
已知Melu和Haha運行的協議為:
(1)Haha上運行的是RIPv1,無認證配置。
(2)Melu上運行的是RIPv2,無認證配置。
分析
HOS默認值是,RIP發送版本1,接收版本1和版本2的update報文。這樣我們隻要在Toba上運行起RIP,并且指定192.168.0.1/24為RIP活動網絡範圍,Toba就可以和Haha建立聯通了。由于Melu運行的版本為RIPv2,隻要讓Toba發送RIPv2報文就可以了。
因而,Toba可以配置為:
Toba(config)#routerrip
Toba(config-router-rip)#network192.168.0.0/24
Toba(config-router-rip)#network10.8.11.0/24
Toba(config-router-rip)#exit
Toba(config)#interfaceeth0/0
Toba(config-if-eth0/0)#ipripsendversion2
4、如下圖所示:有兩台HOS路由器,要求實現Wed和Hax聯通并且要有MD5認證。
分析:
有認證的情況下實現兩台路由器的互聯,這兩台路由器必須配置相同的認證方式和密鑰才能進行雙方的路由的交換,值得注意的是雙方必須發送版本2
Hax(config)#keychainwan
Hax(config-keychain)#key1
Hax(config-keychain-key)#key-stringwan
Hax(config-keychain-key)#exit
Hax(config-keychain)#exit
Hax(config)#interfaceeth0/0
Hax(config-if-eth0/0)#ipripauthenticationkey-chainwan
Hax(config-if-eth0/0)#ipripauthenticationmodemd5
Hax(config-if-eth0/0)#ipripsendversion2
Hax(config-if-eth0/0)#ipripreceiveversion2
5、監視和維護RIP
說明
上面的列表顯示了RIP路由表的詳細信息。
第一列顯示的是每條路由來自哪種方式。如:RIP表示是本路由從其它路由器學習到的路由,Connect表示該路由是直連路由。
第二列的Network指定了該路由目标地址範圍。
第三列NextHop是本路由的下一條地址。
第四列Metric是本路由的度量值。
第五列From标明本路由來自何處。
第六列Time用來顯示當前定時器的已經定時時間長度,當路由沒有過期的時候,顯示的是無效定時時間長度,當路由過期時,顯示的是删除定時器的時間長度。
内部OSPF
OSPF(OpenShortestPathFirst)是一個内部網關協議(InteriorGatewayProtocol、簡稱IGP),用于在單一自治系統(autonomoussystem、AS)内決策路由。與RIP相對,OSPF是鍊路狀态路由協議,而RIP是距離向量路由協議。鍊路是路由器接口的另一種說法,因此OSPF也稱為接口狀态路由協議。OSPF通過路由器之間通告網絡接口的狀态來建立鍊路狀态數據庫,生成最短路徑樹,每個OSPF路由器使用這些最短路徑構造路由。内部網關協議(InteriorGatewayProtocols,IGP)用在一個域中交換路由選擇信息,如路由選擇信息協議(RIP)和優先開放最短路徑協議(OSPF)。OSPF是與OSI的IS-IS協議十分相似的内部路由選擇協議。
OSPF是功能最強大、特點最豐富的開放式路由協議之一。它的複雜性也是其弱點來源,因為,設計、建造和操
作一個OSPF互聯網絡,需要比使用幾乎每一種其他路由協議更多的專業知識和精力。采用路由耗費的缺省值,可以極大地簡化OSPF網絡設計。随着關于OSPF及網絡操作特點知識的增加,用戶能夠慢慢地通過控制OSPF變量來優化網絡性能。必須小心地設計區和網絡拓撲。做得好,OSPF會使網絡用戶得到優異的性能和快速的收斂速度。BGP用于特大型網絡,如INTERNET的核心。
OSPF是一種典型的鍊路狀态路由協議。采用OSPF的路由器彼此交換并保存整個網絡的鍊路信息,從而掌握全網的拓撲結構,獨立計算路由。因為RIP路由協議不能服務于大型網絡,所以,IETF的IGP工作組特别開發出鍊路狀态協議——OSPF。廣為使用的是OSPF第二版,最新标準為RFC2328。OSPF作為一種内部網關協議(InteriorGatewayProtocol,IGP),用于在同一個自治域(AS)中的路由器之間發布路由信息。區别于距離矢量協議(RIP),OSPF具有支持大型網絡、路由收斂快、占用網絡資源少等優點,地位。
鍊路狀态
OSPF路由器收集其所在網絡區域上各路由器的連接狀态信息,即鍊路狀态信息(Link-State),生成鍊路狀态數據庫(Link-StateDatabase)。路由器掌握了該區域上所有路由器的鍊路狀态信息,也就等于了解了整個網絡的拓撲狀況。OSPF路由器利用“最短路徑優先算法(ShortestPathFirst,SPF)”,獨立地計算出到達任意目的地的路由。
區域
OSPF協議引入“分層路由”的概念,将網絡分割成一個“主幹”連接的一組相互獨立的部分,這些相互獨立的部分被稱為“區域”(Area),“主幹”的部分稱為“主幹區域”。每個區域就如同一個獨立的網絡,該區域的OSPF路由器隻保存該區域的鍊路狀态。每個路由器的鍊路狀态數據庫都可以保持合理的大小,路由計算的時間、報文數量都不會過大。
OSPF網絡分類
根據路由器所連接的物理網絡不同,OSPF将網絡劃分為四種類型:廣播多路訪問型(BroadcastmultiAccess)、非廣播多路訪問型(NoneBroadcastMultiAccess,NBMA)、點到點型(Point-to-Point)、點到多點型(Point-to-MultiPoint)。廣播多路訪問型網絡如:Ethernet、TokenRing、FDDI。NBMA型網絡如:FrameRelay、X.25、SMDS。Point-to-Point型網絡如:PPP、HDLC。
DR和BDR
在多路訪問網絡上,可能存在多個路由器,為了避免路由器之間建立完全相鄰關系而引起的大量開銷,OSPF要求在區域中選舉一個DR。每個路由器都與之建立完全相鄰關系。DR負責收集所有的鍊路狀态信息,并發布給其他路由器。選舉DR的同時也選舉出一個BDR,在DR失效的時候,BDR擔負起DR的職責。點對點型網絡不需要DR,因為隻存在兩個節點,彼此間完全相鄰。
協議組成
OSPF協議由Hello協議、交換協議、擴散協議組成。本文僅介紹Hello協議,其他兩個協議可參考RFC2328中的具體描述。
當路由器開啟一個端口的OSPF路由時,将會從這個端口發出一個Hello報文,以後它也将以一定的間隔
周期性地發送Hello報文。OSPF路由器用Hello報文來初始化新的相鄰關系以及确認相鄰的路由器鄰居之間的通信狀态。
對廣播型網絡和非廣播型多路訪問網絡,路由器使用Hello協議選舉出一個DR。在廣播型網絡裡,Hello報文使用多播地址224.0.0.5周期性廣播,并通過這個過程自動發現路由器鄰居。
在NBMA網絡中,DR負責向其他路由器逐一發送Hello報文。
第一步:建立路由器的鄰接關系:
所謂“鄰接關系”(Adjacency)是指OSPF路由器以交換路由信息為目的,在所選擇的相鄰路由器之間建立的一種關系。路由器首先發送擁有自身ID信息(Loopback端口或最大的IP地址)的Hello報文。與之相鄰的路由器如果收到這個Hello報文,就将這個報文内的ID信息加入到自己的Hello報文内。如果路由器的某端口收到從其他路由器發送的含有自身ID信息的Hello報文,則它根據該端口所在網絡類型确定是否可以建立鄰接關系。在點對點網絡中,路由器将直接和對端路由器建立起鄰接關系,并且該路由器将直接進入到第三步操作:發現其他路由器。若為MultiAccess網絡,該路由器将進入選舉步驟。
第二步:選舉DR/BDR:
不同類型的網絡選舉DR和BDR的方式不同。MultiAccess網絡支持多個路由器,在這種狀況下,OSPF需要建立起作為鍊路狀态和LSA更新的中心節點。選舉利用Hello報文内的ID和優先權(Priority)字段值來确定。優先權字段值大小從0到255,優先權值最高的路由器成為DR。如果優先權值大小一樣,則ID值最高的路由器選舉為DR,優先權值次高的路由器選舉為BDR。優先權值和ID值都可以直接設置。
第三步:發現路由器:
在這個步驟中,路由器與路由器之間首先利用Hello報文的ID信息确認主從關系,然後主從路由器相互交換部分鍊路狀态信息。每個路由器對信息進行分析比較,如果收到的信息有新的内容,路由器将要求對方發送完整的鍊路狀态信息。這個狀态完成後,路由器之間建立完全相鄰(FullAdjacency)關系,同時鄰接路由器擁有自己獨立的、完整的鍊路狀态數據庫。在MultiAccess網絡内,DR與BDR互換信息,并同時與本子網内其他路由器交換鍊路狀态信息。Point-to-Point或Point-to-MultiPoint網絡中,相鄰路由器之間信息。
第四步:選擇适當的路由器:
當一個路由器擁有完整獨立的鍊路狀态數據庫後,它将采用SPF算法計算并創建路由表。OSPF路由器依據鍊路狀态數據庫的内容,獨立地用SPF算法計算出到每一個目的網絡的路徑,并将路徑存入路由表中。OSPF利用量度(Cost)計算目的路徑,Cost最小者即為最短路徑。在配置OSPF路由器時可根據實際情況,如鍊路帶寬、時延或經濟上的費用設置鍊路Cost大小。Cost越小,則該鍊路被選為路由的可能性越大。
第五步:維護路由信息:
當鍊路狀态發生變化時,OSPF通過Flooding過程通告網絡上其他路由器。OSPF路由器接收到包含有新信息的鍊路狀态更新報文,将更新自己的鍊路狀态數據庫,然後用SPF算法重新計算路由表。在重新計算過程中,路由器繼續使用舊路由表,直到SPF完成新的路由表計算。新的鍊路狀态信息将發送給其他路由器。值得注意的是,即使鍊路狀态沒有發生改變,OSPF路由信息也會自動更新,默認時間為30分鐘。OSPF路由器之間使用鍊路狀态通告(LSA)來交換各自的鍊路狀态信息,并把獲得的信息存儲在鍊路狀态數據庫中。各OSPF路由器獨立使用SPF算法計算到各個目的地址的路由。OSPF協議支持分層路由方式,這使得它的擴展能力遠遠超過RIP協議。當OSPF網絡擴展到100、500甚至上千個路由器時,路由器的鍊路狀态數據庫将記錄成千上萬條鍊路信息。為了使路由器的運行更快速、更經濟、占用的資源更少,網絡工程師們通常按功能、結構和需要,把OSPF網絡分割成若幹個區域,并将這些區域和主幹區域根據功能和需要相互連接,從而達到分層的目的。
OSPF思想
OSPF把一個大型網絡分割成多個小型網絡的能力被稱為分層路由,這些被分割出來的小型網絡就稱為“區域”(Area)。由于區域内部路由器僅與同區域的路由器交換LSA信息,這樣LSA報文數量及鍊路狀态信息庫表項都會極大減少,SPF計算速度因此得到提高。多區域的OSPF必須存在一個主幹區域,主幹區域負責收集非主幹區域發出的彙總路由信息,并将這些信息返還給到各區域。OSPF區域不能随意劃分,應該合理地選擇區域邊界,使不同區域之間的通信量最小。但在實際應用中區域的劃分往往并不是根據通信模式而是根據地理或政治因素來完成的。
四種路由器
在OSPF多區域網絡中,路由器可以按不同的需要,同時成為以下四種路由器中的幾種:
1、内部路由器:所有端口在同一區域的路由器,維護一個鍊路狀态數據庫。
2、主幹路由器:具有連接主幹區域端口的路由器。
3、區域邊界路由器(ABR):具有連接多區域端口的路由器,一般作為一個區域的出口。ABR為每一個所連接的區域建立鍊路狀态數據庫,負責将所連接區域的路由摘要信息發送到主幹區域,而主幹區域上的ABR則負責将這些信息發送到各個區域。
4、自治域系統邊界路由器(ASBR):至少擁有一個連接外部自治域網絡(如非OSPF的網絡)端口的路由器,負責将非OSPF網絡信息傳入OSPF網絡。OSPF路由器之間交換鍊路狀态公告(LSA)信息。OSPF的LSA中包含連接的接口、使用的Metric及其他變量信息。OSPF路由器收集鍊接狀态信息并使用SPF算法來計算到各節點的最短路徑。
LSA也有幾種不同功能的報文,在這裡簡單地介紹一下:
LSATYPE1:由每台路由器為所屬的區域産生的LSA,描述本區域路由器鍊路到該區域的狀态和代價。一個邊界路由器可能産生多個LSATYPE1。
LSATYPE2:由DR産生,含有連接某個區域路由器的所有鍊路狀态和代價信息。隻有DR可以監測該信息。
LSATYPE3:由ABR産生,含有ABR與本地内部路由器連接信息,可以描述本區域到主幹區域的鍊路信息。它通常彙總缺省路由而不是傳送彙總的OSPF信息給其他網絡。
LSATYPE4:由ABR産生,由主幹區域發送到其他ABR,含有ASBR的鍊路信息,與LSATYPE3的區别在于TYPE4描述到OSPF網絡的外部路由,而TYPE3則描述區域内路由。
LSATYPE5:由ASBR産生,含有關于自治域外的鍊路信息。除了存根區域和完全存根區域,LSATYPE5在整個網絡中發送。
LSATYPE6:多播OSPF(MOSF),MOSF可以讓路由器利用鍊路狀态數據庫的信息構造用于多播報文的多播發布樹。
LSATYPE7:由ASBR産生的關于NSSA的信息。LSATYPE7可以轉換為LSATYPE5。
外部EGP
兩個交換選路信息的路由器,若分屬兩個自治系統,則被稱為外部鄰站(exteriorneighbors),但它們若同屬一個自治系統,則稱為内部鄰站(interiorneighbors)。外部鄰站使用的向其他自治系統通告可達信息的協議被稱為外部網關協議EGP(ExteriorGatewayProtocol),使用該協議的路由器被稱為外部路由器(exteriorrouter)。在Internet網中,EGP顯得尤為重要,因為與之相連的自治系統使用它向核心系統通告可達信息。
三大功能
第一,是它支持鄰居獲取(neighboracquisition)機制,即允許一個路由器請求另一個路由器同意交換可達信息。我們可以說,一個路由器獲得了(acquire)一個EGP對等路由器(EGPpeer)或一個EGP鄰站(EGPneighbor)。EGP對等路由器僅在交換選路信息的意義上來說是鄰站,而不論其地理位置是否鄰近。
第二,路由器持續地測試其EGP鄰站是否能夠響應。
第三,EGP鄰站周期性地傳送選路更新報文(routing update message)來交換網絡可達信息。
和GGP一樣,EGP使用一個查詢過程來讓網關清楚它的相鄰網關,并不斷地與其相鄰者交換路由和狀态信息。EGP是狀态驅動的協議,意思是說它依靠于一個反映網關情況的狀态表和一組當狀态表項變化時必須執行的一組操作。
九種報文類型
EGP報文首部:為了實現上述三個基本功能,EGP定義了下表所列的九種報文類型:
AcquisitionRequest(獲取請求)請求路由器成為鄰站(對等路由器)
AcquisitionConfirm(獲取證實)對獲取請求的肯定響應
AcquisitionRefuse(獲取拒絕)對獲取請求的否定響應
CeaseRequest(中止請求)請求中止鄰站關系
CeaseConfirm(中止證實)對中止請求的證實響應
Hello(你好)請求鄰站回答是否活躍
IHeardYou(我聽見你)對Hello報文的回答
PollRequest(輪詢請求)請求更新網絡的選路
RoutingUpdate(選路更新)網絡可達信息
Error(差錯)對不正确報文的響應
所有的EGP報文,都有固定的首部用于說明報文類型。首部中的版本(VERSION)字段取整數值,指出該報文使用的EGP的版本号。接收方檢測版本号,以确認雙方使用相同版本的協議。類型(TYPE)字段指出報文的類型,而代碼(CODE)字段給出了子類型。狀态(STATUS)字段包含了與本報文有關的狀态信息。EGP使用校驗和字段來确認報文的正确到達。其算法與IP的校驗和算法相同。它把整個EGP報文當做16比特整數的序列,使用各個整數的二進制反碼和的二進制反碼作為校驗和。計算校驗和之前,把校驗和(CHECKSUM)字段初始化為零,通過填充0,來把報文長度變為16比特的整數倍。自治系統号(AUTONOMOUSSYSTEMNUM)字段,給出了表示發送該報文的路由器所在的自治系統的編号,而序号(SEQUENCENUMBER)用于收發雙方進行聯系。路由器請求鄰站時賦一個初始序号,以後每次發送報文時将序号增加。鄰站回送收到的序号值,發送方便用這個回送值與發送時的值作一比較來确保報文的正确性。



















