❶ 路由器原理和常用的路由協議及演算法的介紹
近十年來,隨著計算機網路規模的不斷擴大,大型互聯網路(如Internet)的迅猛發展,路由技術在網路技術中已逐漸成為關鍵部分,路由器也隨之成為最重要的網路設備。用戶的需求推動著路由技術的發展和路由器的普及,人們已經不滿足於僅在本地網路上共享信息,而希望最大限度地利用全球各個地區、各種類型的網路資源。而在目前的情況下,任何一個有一定規模的計算機網路(如企業網、校園網、智能大廈等),無論採用的是快速以大網技術、FDDI技術,還是ATM技術,都離不開路由器,否則就無法正常運作和管理。
1、網路互連
把自己的網路同其它的網路互連起來,從網路中獲取更多的信息和向網路發布自己的消息,是網路互連的最主要的動力。網路的互連有多種方式,其中使用最多的是網橋互連和路由器互連。
1.1 網橋互連的網路
網橋工作在OSI模型中的第二層,即鏈路層。完成數據幀(frame)的轉發,主要目的是在連接的網路間提供透明的通信。網橋的轉發是依據數據幀中的源地址和目的地址來判斷一個幀是否應轉發和轉發到哪個埠。幀中的地址稱為「MAC」地址或「硬體」地址,一般就是網卡所帶的地址。
網橋的作用是把兩個或多個網路互連起來,提供透明的通信。網路上的設備看不到網橋的存在,設備之間的通信就如同在一個網上一樣方便。由於網橋是在數據幀上進行轉發的,因此只能連接相同或相似的網路(相同或相似結構的數據幀),如乙太網之間、乙太網與令牌環(tokenring)之間的互連,對於不同類型的網路(數據幀結構不同),如乙太網與X.25之間,網橋就無能為力了。
網橋擴大了網路的規模,提高了網路的性能,給網路應用帶來了方便,在以前的網路中,網橋的應用較為廣泛。但網橋互連也帶來了不少問題:一個是廣播風暴,網橋不阻擋網路中廣播消息,當網路的規模較大時(幾個網橋,多個乙太網段),有可能引起廣播風暴(broadcastingstorm),導致整個網路全被廣播信息充滿,直至完全癱瘓。第二個問題是,當與外部網路互連時,網橋會把內部和外部網路合二為一,成為一個網,雙方都自動向對方完全開放自己的網路資源。這種互連方式在與外部網路互連時顯然是難以接受的。問題的主要根源是網橋只是最大限度地把網路溝通,而不管傳送的信息是什麼。
1.2 路由器互連網路
路由器互連與網路的協議有關,我們討論限於TCP/IP網路的情況。
路由器工作在OSI模型中的第三層,即網路層。路由器利用網路層定義的「邏輯」上的網路地址(即IP地址)來區別不同的網路,實現網路的互連和隔離,保持各個網路的獨立性。路由器不轉發廣播消息,而把廣播消息限制在各自的網路內部。發送到其他網路的數據茵先被送到路由器,再由路由器轉發出去。
IP路由器只轉發IP分組,把其餘的部分擋在網內(包括廣播),從而保持各個網路具有相對的獨立性,這樣可以組成具有許多網路(子網)互連的大型的網路。由於是在網路層的互連,路由器可方便地連接不同類型的網路,只要網路層運行的是IP協議,通過路由器就可互連起來。
網路中的設備用它們的網路地址(TCP/IP網路中為IP地址)互相通信。IP地址是與硬體地址無關的「邏輯」地址。路由器只根據IP地址來轉發數據。IP地址的結構有兩部分,一部分定義網路號,另一部分定義網路內的主機號。目前,在Internet網路中採用子網掩碼來確定IP地址中網路地址和主機地址。子網掩碼與IP地址一樣也是32bit,並且兩者是一一對應的,並規定,子網掩碼中數字為「1」所對應的IP地址中的部分為網路號,為「0」所對應的則為主機號。網路號和主機號合起來,才構成一個完整的IP地址。同一個網路中的主機IP地址,其網路號必須是相同的,這個網路稱為IP子網。
通信只能在具有相同網路號的IP地址之間進行,要與其它IP子網的主機進行通信,則必須經過同一網路上的某個路由器或網關(gateway)出去。不同網路號的IP地址不能直接通信,即使它們接在一起,也不能通信。
路由器有多個埠,用於連接多個IP子網。每個埠的IP地址的網路號要求與所連接的IP子網的網路號相同。不同的埠為不同的網路號,對應不同的IP子網,這樣才能使各子網中的主機通過自己子網的IP地址把要求出去的IP分組送到路由器上。
2、路由原理
當IP子網中的一台主機發送IP分組給同一IP子網的另一台主機時,它將直接把IP分組送到網路上,對方就能收到。而要送給不同IP於網上的主機時,它要選擇一個能到達目的子網上的路由器,把IP分組送給該路由器,由路由器負責把IP分組送到目的地。如果沒有找到這樣的路由器,主機就把IP分組送給一個稱為「預設網關(defaultgateway)」的路由器上。「預設網關」是每台主機上的一個配置參數,它是接在同一個網路上的某個路由器埠的IP地址。
路由器轉發IP分組時,只根據IP分組目的IP地址的網路號部分,選擇合適的埠,把IP分組送出去。同主機一樣,路由器也要判定埠所接的是否是目的子網,如果是,就直接把分組通過埠送到網路上,否則,也要選擇下一個路由器來傳送分組。路由器也有它的預設網關,用來傳送不知道往哪兒送的IP分組。這樣,通過路由器把知道如何傳送的IP分組正確轉發出去,不知道的IP分組送給「預設網關」路由器,這樣一級級地傳送,IP分組最終將送到目的地,送不到目的地的IP分組則被網路丟棄了。
目前TCP/IP網路,全部是通過路由器互連起來的,Internet就是成千上萬個IP子網通過路由器互連起來的國際性網路。這種網路稱為以路由器為基礎的網路(routerbasednetwork),形成了以路由器為節點的「網間網」。在「網間網」中,路由器不僅負責對IP分組的轉發,還要負責與別的路由器進行聯絡,共同確定「網間網」的路由選擇和維護路由表。
路由動作包括兩項基本內容:尋徑和轉發。尋徑即判定到達目的地的最佳路徑,由路由選擇演算法來實現。由於涉及到不同的路由選擇協議和路由選擇演算法,要相對復雜一些。為了判定最佳路徑,路由選擇演算法必須啟動並維護包含路由信息的路由表,其中路由信息依賴於所用的路由選擇演算法而不盡相同。路由選擇演算法將收集到的不同信息填入路由表中,根據路由表可將目的網路與下一站(nexthop)的關系告訴路由器。路由器間互通信息進行路由更新,更新維護路由表使之正確反映網路的拓撲變化,並由路由器根據量度來決定最佳路徑。這就是路由選擇協議(routingprotocol),例如路由信息協議(RIP)、開放式最短路徑優先協議(OSPF)和邊界網關協議(BGP)等。
轉發即沿尋徑好的最佳路徑傳送信息分組。路由器首先在路由表中查找,判明是否知道如何將分組發送到下一個站點(路由器或主機),如果路由器不知道如何發送分組,通常將該分組丟棄;否則就根據路由表的相應表項將分組發送到下一個站點,如果目的網路直接與路由器相連,路由器就把分組直接送到相應的埠上。這就是路由轉發協議(routedprotocol)。
路由轉發協議和路由選擇協議是相互配合又相互獨立的概念,前者使用後者維護的路由表,同時後者要利用前者提供的功能來發布路由協議數據分組。下文中提到的路由協議,除非特別說明,都是指路由選擇協議,這也是普遍的習慣。
3、路由協議
典型的路由選擇方式有兩種:靜態路由和動態路由。
靜態路由是在路由器中設置的固定的路由表。除非網路管理員干預,否則靜態路由不會發生變化。由於靜態路由不能對網路的改變作出反映,一般用於網路規模不大、拓撲結構固定的網路中。靜態路由的優點是簡單、高效、可靠。在所有的路由中,靜態路由優先順序最高。當動態路由與靜態路由發生沖突時,以靜態路由為准。
動態路由是網路中的路由器之間相互通信,傳遞路由信息,利用收到的路由信息更新路由器表的過程。它能實時地適應網路結構的變化。如果路由更新信息表明發生了網路變化,路由選擇軟體就會重新計算路由,並發出新的路由更新信息。這些信息通過各個網路,引起各路由器重新啟動其路由演算法,並更新各自的路由表以動態地反映網路拓撲變化。動態路由適用於網路規模大、網路拓撲復雜的網路。當然,各種動態路由協議會不同程度地佔用網路帶寬和CPU資源。
靜態路由和動態路由有各自的特點和適用范圍,因此在網路中動態路由通常作為靜態路由的補充。當一個分組在路由器中進行尋徑時,路由器首先查找靜態路由,如果查到則根據相應的靜態路由轉發分組;否則再查找動態路由。
根據是否在一個自治域內部使用,動態路由協議分為內部網關協議(IGP)和外部網關協議(EGP)。這里的自治域指一個具有統一管理機構、統一路由策略的網路。自治域內部採用的路由選擇協議稱為內部網關協議,常用的'有RIP、OSPF;外部網關協議主要用於多個自治域之間的路由選擇,常用的是BGP和BGP-4。下面分別進行簡要介紹。
3.1 RIP路由協議
RIP協議最初是為Xerox網路系統的Xeroxparc通用協議而設計的,是Internet中常用的路由協議。RIP採用距離向量演算法,即路由器根據距離選擇路由,所以也稱為距離向量協議。路由器收集所有可到達目的地的不同路徑,並且保存有關到達每個目的地的最少站點數的路徑信息,除到達目的地的最佳路徑外,任何其它信息均予以丟棄。同時路由器也把所收集的路由信息用RIP協議通知相鄰的其它路由器。這樣,正確的路由信息逐漸擴散到了全網。
RIP使用非常廣泛,它簡單、可靠,便於配置。但是RIP只適用於小型的同構網路,因為它允許的最大站點數為15,任何超過15個站點的目的地均被標記為不可達。而且RIP每隔30s一次的路由信息廣播也是造成網路的廣播風暴的重要原因之一。
3.2 OSPF路由協議
80年代中期,RIP已不能適應大規模異構網路的互連,0SPF隨之產生。它是網間工程任務組織(1ETF)的內部網關協議工作組為IP網路而開發的一種路由協議。
0SPF是一種基於鏈路狀態的路由協議,需要每個路由器向其同一管理域的所有其它路由器發送鏈路狀態廣播信息。在OSPF的鏈路狀態廣播中包括所有介面信息、所有的量度和其它一些變數。利用0SPF的路由器首先必須收集有關的鏈路狀態信息,並根據一定的演算法計算出到每個節點的最短路徑。而基於距離向量的路由協議僅向其鄰接路由器發送有關路由更新信息。
與RIP不同,OSPF將一個自治域再劃分為區,相應地即有兩種類型的路由選擇方式:當源和目的地在同一區時,採用區內路由選擇;當源和目的地在不同區時,則採用區間路由選擇。這就大大減少了網路開銷,並增加了網路的穩定性。當一個區內的路由器出了故障時並不影響自治域內其它區路由器的正常工作,這也給網路的管理、維護帶來方便。
3.3 BGP和BGP-4路由協議
BGP是為TCP/IP互聯網設計的外部網關協議,用於多個自治域之間。它既不是基於純粹的鏈路狀態演算法,也不是基於純粹的距離向量演算法。它的主要功能是與其它自治域的BGP交換網路可達信息。各個自治域可以運行不同的內部網關協議。BGP更新信息包括網路號/自治域路徑的成對信息。自治域路徑包括到達某個特定網路須經過的自治域串,這些更新信息通過TCP傳送出去,以保證傳輸的可靠性。
為了滿足Internet日益擴大的需要,BGP還在不斷地發展。在最新的BGp4中,還可以將相似路由合並為一條路由。
3.4 路由表項的優先問題
在一個路由器中,可同時配置靜態路由和一種或多種動態路由。它們各自維護的路由表都提供給轉發程序,但這些路由表的表項間可能會發生沖突。這種沖突可通過配置各路由表的優先順序來解決。通常靜態路由具有默認的最高優先順序,當其它路由表表項與它矛盾時,均按靜態路由轉發。
4、路由演算法
路由演算法在路由協議中起著至關重要的作用,採用何種演算法往往決定了最終的尋徑結果,因此選擇路由演算法一定要仔細。通常需要綜合考慮以下幾個設計目標:
——(1)最優化:指路由演算法選擇最佳路徑的能力。
——(2)簡潔性:演算法設計簡潔,利用最少的軟體和開銷,提供最有效的功能。
——(3)堅固性:路由演算法處於非正常或不可預料的環境時,如硬體故障、負載過高或操作失誤時,都能正確運行。由於路由器分布在網路聯接點上,所以在它們出故障時會產生嚴重後果。最好的路由器演算法通常能經受時間的考驗,並在各種網路環境下被證實是可靠的。
——(4)快速收斂:收斂是在最佳路徑的判斷上所有路由器達到一致的過程。當某個網路事件引起路由可用或不可用時,路由器就發出更新信息。路由更新信息遍及整個網路,引發重新計算最佳路徑,最終達到所有路由器一致公認的最佳路徑。收斂慢的路由演算法會造成路徑循環或網路中斷。
——(5)靈活性:路由演算法可以快速、准確地適應各種網路環境。例如,某個網段發生故障,路由演算法要能很快發現故障,並為使用該網段的所有路由選擇另一條最佳路徑。
路由演算法按照種類可分為以下幾種:靜態和動態、單路和多路、平等和分級、源路由和透明路由、域內和域間、鏈路狀態和距離向量。前面幾種的特點與字面意思基本一致,下面著重介紹鏈路狀態和距離向量演算法。
鏈路狀態演算法(也稱最短路徑演算法)發送路由信息到互聯網上所有的結點,然而對於每個路由器,僅發送它的路由表中描述了其自身鏈路狀態的那一部分。距離向量演算法(也稱為Bellman-Ford演算法)則要求每個路由器發送其路由表全部或部分信息,但僅發送到鄰近結點上。從本質上來說,鏈路狀態演算法將少量更新信息發送至網路各處,而距離向量演算法發送大量更新信息至鄰接路由器。
由於鏈路狀態演算法收斂更快,因此它在一定程度上比距離向量演算法更不易產生路由循環。但另一方面,鏈路狀態演算法要求比距離向量演算法有更強的CPU能力和更多的內存空間,因此鏈路狀態演算法將會在實現時顯得更昂貴一些。除了這些區別,兩種演算法在大多數環境下都能很好地運行。
最後需要指出的是,路由演算法使用了許多種不同的度量標准去決定最佳路徑。復雜的路由演算法可能採用多種度量來選擇路由,通過一定的加權運算,將它們合並為單個的復合度量、再填入路由表中,作為尋徑的標准。通常所使用的度量有:路徑長度、可靠性、時延、帶寬、負載、通信成本等。
5、新一代路由器
由於多媒體等應用在網路中的發展,以及ATM、快速乙太網等新技術的不斷採用,網路的帶寬與速率飛速提高,傳統的路由器已不能滿足人們對路由器的性能要求。因為傳統路由器的分組轉發的設計與實現均基於軟體,在轉發過程中對分組的處理要經過許多環節,轉發過程復雜,使得分組轉發的速率較慢。另外,由於路由器是網路互連的關鍵設備,是網路與其它網路進行通信的一個「關口」,對其安全性有很高的要求,因此路由器中各種附加的安全措施增加了CPU的負擔,這樣就使得路由器成為整個互聯網上的「瓶頸」。
傳統的路由器在轉發每一個分組時,都要進行一系列的復雜操作,包括路由查找、訪問控製表匹配、地址解析、優先順序管理以及其它的附加操作。這一系列的操作大大影響了路由器的性能與效率,降低了分組轉發速率和轉發的吞吐量,增加了CPU的負擔。而經過路由器的前後分組間的相關性很大,具有相同目的地址和源地址的分組往往連續到達,這為分組的快速轉發提供了實現的可能與依據。新一代路由器,如IPSwitch、TagSwitch等,就是採用這一設計思想用硬體來實現快速轉發,大大提高了路由器的性能與效率。
新一代路由器使用轉發緩存來簡化分組的轉發操作。在快速轉發過程中,只需對一組具有相同目的地址和源地址的分組的前幾個分組進行傳統的路由轉發處理,並把成功轉發的分組的目的地址、源地址和下一網關地址(下一路由器地址)放人轉發緩存中。當其後的分組要進行轉發時,茵先查看轉發緩存,如果該分組的目的地址和源地址與轉發緩存中的匹配,則直接根據轉發緩存中的下一網關地址進行轉發,而無須經過傳統的復雜操作,大大減輕了路由器的負擔,達到了提高路由器吞吐量的目標。
❷ 計算機網路-網路層-路由選擇協議
互聯網採用的 路由選擇協議主要是自適應的(即動態的)、分布式路由選擇協議 。由於以下兩個原因,互聯網採用分層次的路由選擇協議:
把整個互聯網劃分為許多較小的 自治系統 (autonomous system),一般都記為AS。自治系統AS是在單一技術管理下的一組路由器,而這些路由器使用一種自治系統內部的路由選擇協議和共同的度量。一個AS對其他AS表現出的是 一個單一的和一致的路由選擇策路 。
在目前的互聯網中,一個大的ISP就是一個自治系統。這樣,互聯網就把路由選擇協議劃分為兩大類,即:
(I) 內部網關協議IGP (Interior Gateway Protocol)即在一個自治系統內部使用的路由選擇協議,而這與在互聯網中的其他自治系統選用什麼路由選擇協議無關。目前這類路由選擇協議使用得最多,如RIP和OSPF協議。
(2) 外部網關協議EGP (External Gateway Protocol)若源主機和目的主機處在不同的自治系統中(這兩個自治系統可能使用不同的內部網關協議),當數據報傳到一個自治系統的邊界時,就需要使用一種協議將路由選擇信息傳遞到另一個自治系統中。這樣的協議就是外部網關協議EGP。目前使用最多的外部網關協議是BGP的版本4(BGP4)。
自治系統之間的路由選擇也叫做域間路由選擇(interdomain routing),而在自治系統內部路由選擇叫做域內路由選擇(intradomain routing)。
圖4-31是兩個自治系統互連在一起的示意圖。每個自治系統自己決定在本自治系統內部運行哪一個內部路由選擇協議(例如,可以是RIP,也可以是OSP℉)。但每個自治系統都有一個或多個路由器(圖中的路由器R1和R2)除運行本系統的內部路由選擇協議外,還要運行自治系統間的路由選擇協議(BGP4)。
❸ 計算機網路-4-6-互聯網的路由選擇協議
路由選擇協議的核心是 路由演算法 。即 需要一種演算法來獲取路表中的各項 ,一個比較好的路由選擇演算法應該有以下特點[BELL86]:
一個實際的路由選擇演算法,應該盡可能的接近於理想的演算法,在不同的應用條件下,可以對上面提出的六個方面有不同的側重。
倘若從路由演算法能否隨網路的通信量或拓撲自適應的進行調整變化來劃分,則只有兩大類: 靜態路由選擇策略 和 動態路由選擇策略 。靜態路由選擇策略也叫做 非自適應路由選擇 ,其特點是簡單和開銷較小,但不能即使適應網路狀態的變化。對於很簡單的小網路,完全可以採用靜態路由選擇,用人工配置每一條路由。動態路由選擇也叫做 自適應路由選擇 ,其特點是能夠較好的適應網路狀態的變化,但實現起來較為復雜,開銷也比較大,因此動態路由選擇適用於較復雜的大網路。
互聯網採用的路由選擇協議主要是自適應的(動態的),分布式路由選擇協議。由於以下兩種原因,互聯網採用分層次的路由選擇協議:
為此,可以把整個互聯網劃分為許多較小的 自治系統AS(autonomous system) ,自治系統AS是在單一技術管理下的一組路由器,而這些路由器使用一種自治系統內部的路由選擇協議和共同的度量,一個AS對其他AS表現的出是 一個單一的和一致的路由選擇策略 。
在目前的互聯網中,一個大的ISP就是一個自治系統。這樣,互聯網就把路由選擇協議劃分為兩大類:
自治系統之間的路由選擇協議也叫做 域間路由選擇(interdomain routing) ,而在自治系統內部的路由選擇叫做 域內路由選擇(intradomain routing) 。如圖4-31
RIP(routing information protocol)是內部網關協議IGP中最先得到廣泛使用的協議[RFC1058],也叫 路由信息協議 ,RIP是一種分布式的 基於距離向量的路由選擇協議 。最大的優點就是簡單。
RIP協議要求網路中的每一個路由器都要維護從它自己到其他每一個目的網路的距離記錄(因此這是一組距離,叫做距離向量),RIP將距離定義如下:
從一路由器到直接連接的網路的距離為1,從路由器到非之間的網路的距離定義為所經過的路由器數+1。
RIP協議的距離也稱之為 跳數 ,但是一條跳數最多隻能包含15個路由器,因此,當距離=16時,就相當於不可達。因此RIP只能適用於小型互聯網。
注意的是,到直接連接的網路也定義為0(採用這種定義的理由是:路由器在和直接連接在該網路上的主機進行通信並不需要經過另外的路由器,既然經過每一個路由器都要將距離增加1,那麼不經過路由器就不需要+1,就是0)。
RIP不能在兩個網路之間同時使用多條路由。RIP選擇一條具有最少路由器的路由(最短路由),哪怕還存在另一條高速低延時的但是路由器較多的路由。
路由器在剛開始工作的時候,其內部路由表是空的。然後路由器就可以和直接相連的幾個網路的距離(這些距離為1),接著,每個路由器和與自己相連的路由器不斷交換路由表信息,經過若干次更新後,所有的路由器最終就可以知道本自治系統中任何一個網路地址和最短下一跳路由器的地址。
路由器最主要的信息是:到某個網路的距離(最短距離),以及下一跳的地址,路由表更新的原則是找出到每個網路的 最短距離 ,這種演算法又稱之為 距離向量演算法 。
對 每一個相鄰的路由器 發送過來的RIP報文,進行以下步驟:
演算法描述:其實就是求一個路由器到另一個路由器的最短距離。
例題:
已知路由器R6有表4-9(a)所表示的路由表,現在收到相鄰路由器路由表R4發過來的路由更新信息,如圖4-9(b)所示。試更新路由器R6的路由表。
解:首先把R4發過來的路由表中的距離都+1:
把這個表和R6的路由表進行比較:
RIP協議讓每一個自治系統中的所有路由都和自己的相鄰路由器定期交換路由表信息,並不斷更新路由表,使得每從 每一個路由器到每一個目的網路的路由都是最短距離(也就是跳數最小)。
現在比較新的RIP協議報文格式是1998年提出的RIP2。
RIP協議使用運輸層的用戶數據報(UDP埠為520)進行傳輸。
RIP報文由首部和路由部分組成。
RIP首部佔4個位元組,其中的命令欄位指出報文的意義。
RIP2報文中的路由部分有若幹路由信息組成,每個路由信息需要用20位元組。 地址標識符(又稱地址列別) 欄位用來標識所用的地址協議。如果採用IP地址就為2。 路由標記填入自治系統號ASN(Autonomous System Number) ,這是考慮使用RIP有可能收到本自治系統以外的路由選擇信息,再後面指出某個 網路地址 , 下一跳路由器地址 以及 到此網路的距離 ,一個RIP報文最多可以包含25個路由,因而RIP報文的最大長度是4+20x25=504位元組。如果超過,則必然再使用以惡搞RIP報文來傳送。
RIP還具有簡單的鑒別功能,若使用鑒別功能,則將原來寫入第一個路由信息(20位元組)的位置用作鑒別,這時應該將地址標識符置為全1(0xFFFF),而路由標記寫入鑒別類別,剩下的16位元組作為鑒別數據,在鑒別數據之後才能寫入路由信息,但這時只能寫入24個路由信息。
RIP存在的一個問題是 當網路出現故障的時候,要經過比較長的時間才能將信息傳送到所有的路由器 ,RIP協議的這一特點是: 好消息傳播的很快,而壞消息傳播的很慢 ,網路出現故障的傳播時間往往需要經過較長時間,這是RIP協議的一個主要缺點。
為了使壞消息傳播的更快些,可以採用多種措施,例如,讓路由器記錄收到某特定路由信息的介面,而不是讓同一個路由信息再通過此介面反方向傳送。
總之,RIP協議最大的優點是 實現簡單,開銷較小 ,但RIP協議缺點也很明顯,首先 限制了網路規模,因為路由器最大的跳數是15跳,一般中大型網路規模RIP協議就不適用了 。其次就是 路由器之間交換的路由信息是路由器中完整的路由表,因而隨著網路規模變大,開銷也就增加 。最後就是 好消息傳播的很快,壞消息傳播的很慢 。
❹ 路由協議是什麼
路由協議又叫RIP協議。最初是為Xerox網路系統的Xerox parc通用協議而設計的,是Internet中常用的路由協議。
❺ 計算機網路試題:內部網關協議主要有 和 兩種。
我估計這個標准答案應該是你們教材上的,中國腦殘的出題者,就喜歡這么按部就班,這道題目的出題者,真是SB也!
1 內部網關協議有鏈路狀態路由協議,距離矢量路由協議兩種。這種回答一定也是正確的,但是和你們出題者的標准答案不一定一致啊,可能會導致錯誤的。
2 內部網關協議有OSPF與BGP兩種。這種回答不能算完全正確,但是你們腦殘出題者可能覺得正確啊,或者他覺得這個是目前應用較多的,RIP協議基本已經淘汰。OSPF,BGP,ISIS是目前現網中應用較多的。ISIS一般運用於大型網路,所以OSPF與BGP可能是你們要求的答案。
❻ 計算機網路方面OSPE是什麼意思
計算機網路方面OSPE 是計算機網路裡面的路由器的一個協議。OSPF英文全稱Open Shortest Path First,開放式最短路徑優先,是一個內部網關協議(Interior Gateway Protocol,簡稱IGP),用於在單一自治系統(autonomous system,AS)內決策路由。是對鏈路狀態路由協議的一種實現,隸屬內部網關協議(IGP),故運作於自治系統內部。OSPF分為OSPFv2和OSPFv3兩個版本,其中OSPFv2用在IPv4網路,OSPFv3用在IPv6網路。OSPFv2是由RFC 2328定義的,OSPFv3是由RFC 5340定義的。與RIP相比,OSPF是鏈路狀態協議,而RIP是距離矢量協議。
❼ 在Internet中是怎樣實現路由的採用哪些路由協議他們的作用是什麼
1,路由協議大概分為2種,IGP 和 BGP
2.,IGP(interior Gateway Protocols)內部網關協議
內部網關協議(IGP)是一種專用於一個自治網路系統(比如:某個當地社區范圍內的一個自治網路系統)中網關間交換數據流轉通道信息的協議。網路IP協議或者其他的網路協議常常通過這些通道信息來決斷怎樣傳送數據流。目前最常用的兩種內部網關協議分別是:路由信息協議(RIP)和最短路徑優先路由協議,目前的IGP有RIP、OSPF、IGRP、EIGRP、IS-IS等協議。(OSPF)。
3,BGP (Border Gateway Protocol,邊界網關協議)是用來連接Internet上的獨立系統的路由選擇協議。它是Internet工程任務組制定的一個加強的、完善的、可伸縮的協議,其中有可以分有IBGP 和 EBGP
4,路由協議交換信息的過程簡單的說,就是一個路由協議的度量 和 另外一個不同路由協議度量 一個換算的過程,通過重分發命令進行,打個比方,你用RIP,默認RIP按跳數計算路由,最大16條,現在,你要把RIP重新分配到OSPF中,OSPF的度量值是根據SPF演算法計算COST值,那麼本身OSPF 不理解RIP的跳數度量值,那麼要需要通過手工的方法讓RIP的度量跳數變成COST進入OSPF度量中
❽ 路由器內部工作使用哪幾種路由協議
——典型的路由選擇方式有兩種:靜態路由和動態路由。
——靜態路由是在路由器中設置的固定的路由表。除非網路管理員干預,否則靜態路由不會發生變化。由於靜態路由不能對網路的改變作出反映,一般用於網路規模不大、拓撲結構固定的網路中。靜態路由的優點是簡單、高效、可靠。在所有的路由中,靜態路由優先順序最高。當動態路由與靜態路由發生沖突時,以靜態路由為准。
——動態路由是網路中的路由器之間相互通信,傳遞路由信息,利用收到的路由信息更新路由器表的過程。它能實時地適應網路結構的變化。如果路由更新信息表明發生了網路變化,路由選擇軟體就會重新計算路由,並發出新的路由更新信息。這些信息通過各個網路,引起各路由器重新啟動其路由演算法,並更新各自的路由表以動態地反映網路拓撲變化。動態路由適用於網路規模大、網路拓撲復雜的網路。當然,各種動態路由協議會不同程度地佔用網路帶寬和CPU資源。
——靜態路由和動態路由有各自的特點和適用范圍,因此在網路中動態路由通常作為靜態路由的補充。當一個分組在路由器中進行尋徑時,路由器首先查找靜態路由,如果查到則根據相應的靜態路由轉發分組;否則再查找動態路由。
——根據是否在一個自治域內部使用,動態路由協議分為內部網關協議(IGP)和外部網關協議(EGP)。這里的自治域指一個具有統一管理機構、統一路由策略的網路。自治域內部採用的路由選擇協議稱為內部網關協議,常用的有RIP、OSPF;外部網關協議主要用於多個自治域之間的路由選擇,常用的是BGP和 BGP-4。下面分別進行簡要介紹。
RIP路由協議
——RIP協議最初是為Xerox網路系統的Xerox parc通用協議而設計的,是Internet中常用的路由協議。RIP採用距離向量演算法,即路由器根據距離選擇路由,所以也稱為距離向量協議。路由器收集所有可到達目的地的不同路徑,並且保存有關到達每個目的地的最少站點數的路徑信息,除到達目的地的最佳路徑外,任何其它信息均予以丟棄。同時路由器也把所收集的路由信息用RIP協議通知相鄰的其它路由器。這樣,正確的路由信息逐漸擴散到了全網。
——RIP使用非常廣泛,它簡單、可靠,便於配置。但是RIP只適用於小型的同構網路,因為它允許的最大站點數為15,任何超過15個站點的目的地均被標記為不可達。而且RIP每隔30s一次的路由信息廣播也是造成網路的廣播風暴的重要原因之一。
OSPF路由協議
——80年代中期,RIP已不能適應大規模異構網路的互連,0SPF隨之產生。它是網間工程任務組織(1ETF)的內部網關協議工作組為IP網路而開發的一種路由協議。
——0SPF是一種基於鏈路狀態的路由協議,需要每個路由器向其同一管理域的所有其它路由器發送鏈路狀態廣播信息。在OSPF的鏈路狀態廣播中包括所有介面信息、所有的量度和其它一些變數。利用0SPF的路由器首先必須收集有關的鏈路狀態信息,並根據一定的演算法計算出到每個節點的最短路徑。而基於距離向量的路由協議僅向其鄰接路由器發送有關路由更新信息。
——與RIP不同,OSPF將一個自治域再劃分為區,相應地即有兩種類型的路由選擇方式:當源和目的地在同一區時,採用區內路由選擇;當源和目的地在不同區時,則採用區間路由選擇。這就大大減少了網路開銷,並增加了網路的穩定性。當一個區內的路由器出了故障時並不影響自治域內其它區路由器的正常工作,這也給網路的管理、維護帶來方便。
BGP和BGP-4路由協議
——BGP是為TCP/IP互聯網設計的外部網關協議,用於多個自治域之間。它既不是基於純粹的鏈路狀態演算法,也不是基於純粹的距離向量演算法。它的主要功能是與其它自治域的BGP交換網路可達信息。各個自治域可以運行不同的內部網關協議。BGP更新信息包括網路號/自治域路徑的成對信息。自治域路徑包括到達某個特定網路須經過的自治域串,這些更新信息通過TCP傳送出去,以保證傳輸的可靠性。
——為了滿足Internet日益擴大的需要,BGP還在不斷地發展。在最新的BGp4中,還可以將相似路由合並為一條路由。
❾ 網路協議-- 底層網路知識詳解(從二層到三層)
網線
Hub 採取的是廣播的模式,如果每一台電腦發出的包,宿舍的每個電腦都能收到,那就麻煩了。這就需要解決幾個問題:
這幾個問題,都是第二層, 數據鏈路層 ,也即 MAC 層要解決的問題。 MAC 的全稱是 Medium Access Control ,即媒體訪問控制。控制什麼呢?其實就是控制在往媒體上發數據的時候,誰先發、誰後發的問題。防止發生混亂。這解決的是第二個問題。這個問題中的規則,學名叫 多路訪問 。
三種方式:
方式一:分多個車道。每個車一個車道,你走你的,我走我的。這在計算機網路里叫作 信道劃分 ;
方式二:今天單號出行,明天雙號出行,輪著來。這在計算機網路里叫作 輪流協議 ;
方式三:不管三七二十一,有事兒先出門,發現特堵,就回去。錯過高峰再出。我們叫作 隨機接入協議 。著名的乙太網,用的就是這個方式。
接下來要解決第一個問題:發給誰,誰接收?這里用到一個物理地址,叫作 鏈路層地址 。但是因為第二層主要解決媒體接入控制的問題,所以它常被稱為 MAC 地址 。
解決第一個問題就牽扯到第二層的網路包格式。
對於乙太網,第二層的最後面是 CRC,也就是循環冗餘檢測。通過 XOR 異或的演算法,來計算整個包是否在發送的過程中出現了錯誤,主要解決第三個問題。
這里還有一個沒有解決的問題,當源機器知道目標機器的時候,可以將目標地址放入包裡面,如果不知道呢?一個廣播的網路裡面接入了 N 台機器,我怎麼知道每個 MAC 地址是誰呢?這就是 ARP 協議 ,也就是已知 IP 地址,求 MAC 地址的協議。
ARP 是通過吼的方式(廣播)來尋找目標 MAC 地址的,吼完之後記住一段時間,這個叫作緩存。
誰能知道目標 MAC 地址是否就是連接某個口的電腦的 MAC 地址呢?這就需要一個能把 MAC 頭拿下來,檢查一下目標 MAC 地址,然後根據策略轉發的設備,這個設備顯然是個二層設備,我們稱為 交換機 。
交換機是有 MAC 地址學習能力的,學完了它就知道誰在哪兒了,不用廣播了。(剛開始不知道的時候,是需要廣播的)
當交換機的數目越來越多的時候,會遭遇環路問題,讓網路包迷路,這就需要使用 STP 協議,通過華山論劍比武的方式,將有環路的圖變成沒有環路的樹,從而解決環路問題。
在數據結構中,有一個方法叫做 最小生成樹 。有環的我們常稱為圖。將圖中的環破了,就生成了樹。在計算機網路中,生成樹的演算法叫作 STP ,全稱 Spanning Tree Protocol 。
STP 協議比較復雜,一開始很難看懂,但是其實這是一場血雨腥風的武林比武或者華山論劍,最終決出五嶽盟主的方式。
交換機數目多會面臨隔離問題,可以通過 VLAN 形成 虛擬區域網 ,從而解決廣播問題和安全問題。
對於支持 VLAN 的交換機,有一種口叫作 Trunk 口。它可以轉發屬於任何 VLAN 的口。交換機之間可以通過這種口相互連接。
ping 是基於 ICMP 協議工作的。
ICMP 全稱 Internet Control Message Protocol ,就是 互聯網控制報文協議 。
ICMP 報文是封裝在 IP 包裡面的。因為傳輸指令的時候,肯定需要源地址和目標地址。它本身非常簡單。因為作為偵查兵,要輕裝上陣,不能攜帶大量的包袱。
ICMP總結:
ICMP 相當於網路世界的偵察兵。我講了兩種類型的 ICMP 報文,一種是主動探查的查詢報文,一種異常報告的差錯報文;
ping 使用查詢報文,Traceroute 使用差錯報文。
在進行網卡配置的時候,除了 IP 地址,還需要配置一個Gateway 的東西,這個就是 網關 。
一旦配置了 IP 地址和網關,往往就能夠指定目標地址進行訪問了。由於在跨網關訪問的時候,牽扯到 MAC 地址和 IP 地址的變化,這里有必要詳細描述一下 MAC 頭和 IP 頭的細節。
路由器是一台設備,它有五個網口或者網卡,相當於有五隻手,分別連著五個區域網。每隻手的 IP 地址都和區域網的 IP 地址相同的網段,每隻手都是它握住的那個區域網的網關。
對於 IP 頭和 MAC 頭哪些變、哪些不變的問題,可以分兩種類型。我把它們稱為「歐洲十國游」型和「玄奘西行」型。
之前我說過, MAC 地址是一個區域網內才有效的地址。因而,MAC 地址只要過網關,就必定會改變,因為已經換了區域網 。
兩者主要的區別在於 IP 地址是否改變。不改變 IP 地址的網關,我們稱為 轉發網關 ;改變 IP 地址的網關,我們稱為 NAT 網關 。
網關總結:
路由分靜態路由和動態路由,靜態路由可以配置復雜的策略路由,控制轉發策略;
動態路由主流演算法有兩種, 距離矢量演算法 和 鏈路狀態演算法 。
距離矢量路由(distance vector routing)。它是基於 Bellman-Ford 演算法的。
這種演算法的基本思路是,每個路由器都保存一個路由表,包含多行,每行對應網路中的一個路由器,每一行包含兩部分信息,一個是要到目標路由器,從那條線出去,另一個是到目標路由器的距離。
由此可以看出,每個路由器都是知道全局信息的。那這個信息如何更新呢?每個路由器都知道自己和鄰居之間的距離,每過幾秒,每個路由器都將自己所知的到達所有的路由器的距離告知鄰居,每個路由器也能從鄰居那裡得到相似的信息。
每個路由器根據新收集的信息,計算和其他路由器的距離,比如自己的一個鄰居距離目標路由器的距離是 M,而自己距離鄰居是 x,則自己距離目標路由器是 x+M。
這種演算法存在的問題:
第一個問題:好消息傳得快,壞消息傳得慢。
第二個問題:每次發送的時候,要發送整個全局路由表。
所以上面的兩個問題,限制了距離矢量路由的網路規模。
鏈路狀態路由(link state routing),基於 Dijkstra 演算法。
這種演算法的基本思路是:當一個路由器啟動的時候,首先是發現鄰居,向鄰居 say hello,鄰居都回復。然後計算和鄰居的距離,發送一個 echo,要求馬上返回,除以二就是距離。然後將自己和鄰居之間的鏈路狀態包廣播出去,發送到整個網路的每個路由器。這樣每個路由器都能夠收到它和鄰居之間的關系的信息。因而,每個路由器都能在自己本地構建一個完整的圖,然後針對這個圖使用 Dijkstra 演算法,找到兩點之間的最短路徑。
不像距離距離矢量路由協議那樣,更新時發送整個路由表。鏈路狀態路由協議只廣播更新的或改變的網路拓撲,這使得更新信息更小,節省了帶寬和 CPU 利用率。而且一旦一個路由器掛了,它的鄰居都會廣播這個消息,可以使得壞消息迅速收斂。
基於兩種演算法產生兩種協議,BGP 協議和 OSPF 協議。
OSPF(Open Shortest Path First,開放式最短路徑優先) 就是這樣一個基於鏈路狀態路由協議,廣泛應用在數據中心中的協議。由於主要用在數據中心內部,用於路由決策,因而稱為 內部網關協議(Interior Gateway Protocol,簡稱 IGP) 。
內部網關協議的重點就是找到最短的路徑。在一個組織內部,路徑最短往往最優。當然有時候 OSPF 可以發現多個最短的路徑,可以在這多個路徑中進行負載均衡,這常常被稱為 等價路由 。
但是外網的路由協議,也即國家之間的,又有所不同。我們稱為 外網路由協議(Border Gateway Protocol,簡稱 BGP) 。
在網路世界,這一個個國家成為自治系統 AS(Autonomous System)。自治系統分幾種類型。
每個自治系統都有邊界路由器,通過它和外面的世界建立聯系。
BGP 又分為兩類, eBGP 和 iBGP 。自治系統間,邊界路由器之間使用 eBGP 廣播路由。內部網路也需要訪問其他的自治系統。邊界路由器如何將 BGP 學習到的路由導入到內部網路呢?就是通過運行 iBGP,使得內部的路由器能夠找到到達外網目的地的最好的邊界路由器。
BGP 協議使用的演算法是 路徑矢量路由協議 (path-vector protocol)。它是距離矢量路由協議的升級版。
前面說了距離矢量路由協議的缺點。其中一個是收斂慢。在 BGP 裡面,除了下一跳 hop 之外,還包括了自治系統 AS 的路徑,從而可以避免壞消息傳得慢的問題,也即上面所描述的,B 知道 C 原來能夠到達 A,是因為通過自己,一旦自己都到達不了 A 了,就不用假設 C 還能到達 A 了。
另外,在路徑中將一個自治系統看成一個整體,不區分自治系統內部的路由器,這樣自治系統的數目是非常有限的。就像大家都能記住出去玩,從中國出發先到韓國然後到日本,只要不計算細到具體哪一站,就算是發送全局信息,也是沒有問題的。
參考:
極客時間-趣談網路協議
極客時間-趣談網路協議
極客時間-趣談網路協議
極客時間-趣談網路協議-網關
❿ 計算機網路-網路層-內部網關協議RIP
RIP (Routing Information Protocol))是內部網關協議IGP中最先得到廣泛使用的協議,它的中文名稱叫做 路由信息協議 ,但很少被使用。RIP是一種分布式的基於距離向量的路由選擇協議,是互聯網的標准協議,其最大優點就是簡單。
RIP協議要求網路中的每一個路由器都要維護從它自己到其他每一個目的網路的距離記錄(因此,這是一組距離,即「距離向量」)。RIP協議將「 距離 」定義如下:從一路由器到直接連接的網路的距離定義為1。從一路由器到非直接連接的網路的距離定義為所經過的路由器數加1。「加1」是因為到達目的網路後就進行直接交付,而到直接連接的網路的距離已經定義為1。例如路由器R1到網1或網2的距離都是1(直接連接),而到網3的距離是2,到網4的距離是3。
RIP協議的「距離」也稱為「跳數」(hop count)吧,因為每經過一個路由器,跳數就加1。RP認為好的路由就是它通過的路由器的數目少,即「距離短」, RIP允許一條路徑最多隻能包含15個路由器 。因此「距離」等於16時即相當於不可達,可見RIP只適用於小型互聯網。
"需要注意的是,到直接連接的網路的距離也可定義為0(採用這種定義的理由是:路由器在和直接連接在該網路上的主機通信時,不需要經過另外的路由器。既然每經過一個路由器要將距高加1,那麼不再經過路由器的距離就應當為0)。但兩種不同的定義對實現RIP協議並無影響,因為重要的是要找出最短距離,將所有的距離都加1或都減1,對迭擇最佳路由其實是一樣的。"
RIP不能在兩個網格之間同時使用多條路由 ,RIP選擇一條具有最少路由器的路由(即最短路由),哪怕還存在另一條高速(低時廷)但路由器較多的路由。
RIP協議和OSPF協議,都是分布式路由選擇協議。 它們的共同特點就是每一個路由器都要不新地和其他一些路由器交換路由信息。我們一定要弄清以下三個要點,即和哪些路由器交換信息?交換什麼信息?在什麼時候交換信息?
RIP協議的特點是:
(1) 僅和相鄰路由器交換信息 。如果兩個路由器之間的通信不需要經過另一個路由器,那麼這兩個路由器就是相鄰的。RIP協議規定,不相鄰的路由器不交換信息。
(2) 路由器交換的信息是當前本路由器所知道的全部信息,即自己現在的路由表。 也就是說,交換的信息是:「我到本自治系統中所有網路的(最短)距離,以及到每個網路應經過的下一跳路由器」。
(3) 按因定的時間間隔交換路由信息 ,例如,母隔30秒。然後路由器根據收到的路由信息更新路由表。當網路拓撲發生變化時,路由器也及時向相鄰路由器通告拓撲變化後的路由信息。
路由器在剛剛開始工作時,它的路由表是空的,然後路由器就得出到直接相連的幾個網路的距離(這些距離定義為1)。接著,每一個路由器也只和數目非常有限的相鄰路由器交換並更新路由信息。但經過若干次的更新後,所有的路由器最終都會知道到達本自治系統中任何一個網路的最短距離和下一跳路由器的地址。
看起來RIP協議有些奇怪,因為「我的路由表中的信息要依賴於你的,而你的信息又依賴於我的。」然而事實證明,通過這樣的方式一「我告訴別人一些信息,而別人又告訴我一些信息。我再把我知道的更新後的信息告訴別人,別人也這樣把更新後的信息再告訴我」,最後在自治系統中所有的結點都得到了正確的路由選擇信息。在一般情況下,RIP協議可以收斂,並且過程也較快。 「收斂」就是在自治系統中所有的結點都得到正確的路由選信的過程。
路由表中最主要的信息就是: 到某個網鉻的距離(即最短距離),以及應經過的下一跳地址 。路由表更新的原則是找出到每個目的網路的最短距離。這種 更新演算法又稱為距離向量演算法 。
對每一個相鄰路由器發送過來的RIP報文,進行以下步驟:
現在較新的RIP版本是1998年1I月公布的RIP2RFC2453](已成為互聯網標准),新版本協議本身並無多大變化,但性能上有些改進。RIP2可以支持變長子網掩碼和無分類域間路由選擇CIDR。此外,RIP2還提供簡單的鑒別過程支特多播。圖4-32是RP2的報文格式,它和RIP1的首部相同,但後面的路由部分不一樣。
RIP報文由首部和路由部分組成。
RIP的首部佔4個位元組,其中的命令欄位指出報文的意義。例如,1 表示請求路由信息,2表示對請求路由信息的響應或未被請求而發出的路由更新報文,首部後而的「必為0」是為了4位元組字的對齊。
RIP2報文中的路由部分由若干個路由信息組成,每個路由信息需要用20個位元組。 地址族標識符(又稱為地址類別)欄位用來標志所使用的地址協議。 如採用IP地址就令這個欄位的值為2(原來考慮RIP也可用於其他非TCPP協議的情況), 路由標記填入自治系統號ASN (Autonomous System Number))( 自治系統號ASN原來規定為一個16位的號碼(最大的號碼是655),由1ANA分配.現在已經把ASN擴展到32位),這是考慮使RIP有可能收到本自治系統以外的路由選擇信息。再後面指出某個網路地址、該網路的子網掩碼、下一跳路由器地址以及到此網路的距離,一個RIP報文最多可包括25個路由,因而RIP報文的最大長度是4+20×25=504位元組。如超過,必須再用一個RIP報文來傳送。
RIP2還具有簡單的鑒別功能。若使用鑒別功能,則將原來寫入第一個路由信息(20位元組)的位置用作鑒別。這時應將地址族標識符置為全1(即0 xFFFF),而路由標記寫入鑒別類型,剩下的16位元組為鑒別數據。在鑒別數據之後才寫入路由信息,但這時最多隻能再放入24個路由信息。
優點: RIP協議最大的優點就是實現簡單,開銷較小;如果發現更短的路由,這種更新信息傳播的很快。
缺點: 限制了網路的規模,它能使用的最大距離為15(16表示不可達);路由器之間交換的路由信息是路由器中的完整路由表,因而隨著網路規模的擴大,開銷也就增加; 當出現網路故障時,要經過比較長的時間才能將此信息傳送到所有的路由器。
設三個網路通過兩個路由器互連起來,並且都已建立了各自的路由表。圖中路由器交換的信息只給出了我們感興趣的一行內容。路由器R1中的「 1,1,直接 」表示「到網1的距離是1,直接交付」。路由器R2中的「 1,2,R1 」表示「到網1的距離是2,下一跳經過R1」。
現在假定路由器R1到網1的鏈路出了故障,R1無法到達網1。於是路由器R1把到網1的距離改為16(表示到網1不可達),因而在R1的路由表中的相應項目變為「 1,16,直接 」。但是,很可能要經過30秒鍾後R1才把更新信息發送給R2。然而R2可能已經先把自己的路由表發送給了R1,其中有「1,2,R1」這一項。