萬盛學電腦網

 萬盛學電腦網 >> 路由器知識 >> 路由器簡介 >> 路由器工作原理是怎樣的

路由器工作原理是怎樣的

  本文通過闡述TCP/IP網絡中路由器的基本工作原理,介紹了IP路由器的幾大功能,給出了靜態路由協議和動態路由協議,以及內部網關協議和外部網關協議的概念,同時簡要介紹了目前最常見的RIP、OSPF、BGP和BGP-4這幾種路由協議,然後描述了路由算法的設計目標和種類,著重介紹了鏈路狀態法和距離向量法。在文章的最後,扼要講述了新一代路由器的特征。

  近十年來,隨著計算機網絡規模的不斷擴大,大型互聯網絡(如Internet)的迅猛發展,路由技術在網絡技術中已逐漸成為關鍵部分,路由器也隨之成為最重要的網絡設備。用戶的需求推動著路由技術的發展和路由器的普及,人們已經不滿足於僅在本地網絡上共享信息,而希望最大限度地利用全球各個地區、各種類型的網絡資源。而在目前的情況下,任何一個有一定規模的計算機網絡(如企業網、校園網、智能大廈等),無論采用的是快速以大網技術、FDDI技術,還是ATM技術,都離不開路由器,否則就無法正常運作和管理。

  1 網絡互連

  把自己的網絡同其它的網絡互連起來,從網絡中獲取更多的信息和向網絡發布自己的消息,是網絡互連的最主要的動力。網絡的互連有多種方式,其中使用最多的是網橋互連和路由器互連。

  1.1 網橋互連的網絡

  網橋工作在OSI模型中的第二層,即鏈路層。完成數據幀(frame)的轉發,主要目的是在連接的網絡間提供透明的通信。網橋的轉發是依據數據幀中的源地址和目的地址來判斷一個幀是否應轉發和轉發到哪個端口。幀中的地址稱為“MAC”地址或“硬件”地址,一般就是網卡所帶的地址。

  網橋的作用是把兩個或多個網絡互連起來,提供透明的通信。網絡上的設備看不到網橋的存在,設備之間的通信就如同在一個網上一樣方便。由於網橋是在數據幀上進行轉發的,因此只能連接相同或相似的網絡(相同或相似結構的數據幀),如以太網之間、以太網與令牌環(token ring)之間的互連,對於不同類型的網絡(數據幀結構不同),如以太網與X.25之間,網橋就無能為力了。

  網橋擴大了網絡的規模,提高了網絡的性能,給網絡應用帶來了方便,在以前的網絡中,網橋的應用較為廣泛。但網橋互連也帶來了不少問題:一個是廣播風暴,網橋不阻擋網絡中廣播消息,當網絡的規模較大時(幾個網橋,多個以太網段),有可能引起廣播風暴(broadcasting storm),導致整個網絡全被廣播信息充滿,直至完全癱瘓。第二個問題是,當與外部網絡互連時,網橋會把內部和外部網絡合二為一,成為一個網,雙方都自動向對方完全開放自己的網絡資源。這種互連方式在與外部網絡互連時顯然是難以接受的。問題的主要根源是網橋只是最大限度地把網絡溝通,而不管傳送的信息是什麼。

  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分組送給一個稱為“缺省網關(default gateway)”的路由器上。“缺省網關”是每台主機上的一個配置參數,它是接在同一個網絡上的某個路由器端口的IP地址。

  路由器轉發IP分組時,只根據IP分組目的IP地址的網絡號部分,選擇合適的端口,把IP分組送出去。同主機一樣,路由器也要判定端口所接的是否是目的子網,如果是,就直接把分組通過端口送到網絡上,否則,也要選擇下一個路由器來傳送分組。路由器也有它的缺省網關,用來傳送不知道往哪兒送的IP分組。這樣,通過路由器把知道如何傳送的IP分組正確轉發出去,不知道的IP分組送給“缺省網關”路由器,這樣一級級地傳送,IP分組最終將送到目的地,送不到目的地的IP分組則被網絡丟棄了。

  目前TCP/IP網絡,全部是通過路由器互連起來的,Internet就是成千上萬個IP子網通過路由器互連起來的國際性網絡。這種網絡稱為以路由器為基礎的網絡(router based network),形成了以路由器為節點的“網間網”。在“網間網”中,路由器不僅負責對IP分組的轉發,還要負責與別的路由器進行聯絡,共同確定“網間網”的路由選擇和維護路由表。

  路由動作包括兩項基本內容:尋徑和轉發。尋徑即判定到達目的地的最佳路徑,由路由選擇算法來實現。由於涉及到不同的路由選擇協議和路由選擇算法,要相對復雜一些。為了判定最佳路徑,路由選擇算法必須啟動並維護包含路由信息的路由表,其中路由信息依賴於所用的路由選擇算法而不盡相同。路由選擇算法將收集到的不同信息填入路由表中,根據路由表可將目的網絡與下一站(nexthop)的關系告訴路由器。路由器間互通信息進行路由更新,更新維護路由表使之正確反映網絡的拓撲變化,並由路由器根據量度來決定最佳路徑。這就是路由選擇協議(routing Protocol),例如路由信息協議(RIP)、開放式最短路徑優先協議(OSPF)和邊界網關協議(BGP)等。

  轉發即沿尋徑好的最佳路徑傳送信息分組。路由器首先在路由表中查找,判明是否知道如何將分組發送到下一個站點(路由器或主機),如果路由器不知道如何發送分組,通常將該分組丟棄;否則就根據路由表的相應表項將分組發送到下一個站點,如果目的網絡直接與路由器相連,路由器就把分組直接送到相應的端口上。這就是路由轉發協議(routed protocol)。

  路由轉發協議和路由選擇協議是相互配合又相互獨立的概念,前者使用後者維護的路由表,同時後者要利用前者提供的功能來發布路由協議數據分組。下文中提到的路由協議,除非特別說明,都是指路由選擇協議,這也是普遍的習慣。

  3 路由協議

  典型的路由選擇方式有兩種:靜態路由和動態路由。

  靜態路由是在路由器中設置的固定的路由表。除非網絡管理員干預,否則靜態路由不會發生變化。由於靜態路由不能對網絡的改變作出反映,一般用於網絡規模不大、拓撲結構固定的網絡中。靜態路由的優點是簡單、高效、可靠。在所有的路由中,靜態路由優先級最高。當動態路由與靜態路由發生沖突時,以靜態路由為准。

  動態路由是網絡中的路由器之間相互通信,傳遞路由信息,利用收到的路由信息更新路由器表的過程。它能實時地適應網絡結構的變化。如果路由更新信息表明發生了網絡變化,路由選擇軟件就會重新計算路由,並發出新的路由更新信息。這些信息通過各個網絡,引起各路由器重新啟動其路由算法,並更新各自的路由表以動態地反映網絡拓撲變化。動態路由適用於網絡規模大、網絡拓撲復雜的網絡。當然,各種動態路由協議會不同程度地占用網絡帶寬和CPU資源。

  靜態路由和動態路由有各自的特點和適用范圍,因此在網絡中動態路由通常作為靜態路由的補充。當一個分組在路由器中進行尋徑時,路由器首先查找靜態路由,如果查到則根據相應的靜態路由轉發分組;否則再查找動

copyright © 萬盛學電腦網 all rights reserved