帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
欲成大器 先懂路由器
 

【作者: 林宜宏】   2000年12月01日 星期五

瀏覽人次:【7298】

前言

:路由器(Router)是重要的網際網路連接設備,它將散佈在世界上的區域網路連接起來,形成現在擁有許多虛擬社群的網際網路。筆者在十月號「乙太網路入門」一文中,曾簡簡要地敘述路由器的功能,為了讓各位能更瞭解這個連接網際網路的重要設備,筆者擬利用本文進一步地介紹路由器的構造、功能與其運作原理。


認識路由器

路由器是一種智慧型的設備,有人稱它為選徑器。其工作原理跟橋接器與第二層交換器有些類似,可是橋接器與第二層交換器都屬於OSI網路七層模型中之第二層的設備,而路由器則屬於第三層的設備。它會逐一檢視通過它的封包中的網路層位址,再依據終點位址與路徑表(Routing Table),為該封包選擇最佳的傳送路徑。路由器常被用來連接兩個或多個相同或異質網路,進行通訊協定轉換(Protocol Translation)。路由器可以過濾廣播封包,將一個網路區隔成數個子網路(Subnets),這些子網路擁有獨立的廣播區域(請參考8月號「淺談交換器」一文),使用路由器可以減少廣播風暴,增加網路的傳輸效率。


路由器的架構

現在各位在巿面上所看到的路由器,其實它也是一台電腦,不同的是它是一台專門用來執行選擇路由的功能的專屬電腦。就硬體架構而言,路由器擁有電腦的所有組成單元,如中央處理器(CPU)、記憶體(Memory)與輸出入介面(I/O)等。(圖一)為路由器之架構示意圖,所有的資料封包從網路介面輸入,然後送到中央處理器進行處理,處理完畢後,再送至網路介面輸出。



《圖一 路由器架構示意圖》
《圖一 路由器架構示意圖》

以前沒有路由器這種設備時,所有封包過濾、轉送與選擇最佳路徑的工作,全部是由主機或檔案伺服器來執行。在檔案伺服器上插上多片網路卡,再灌上路由軟體,這台檔案伺服器除了它原有的功能外,馬上可以執行路由器的工作。在目前常見的作業系統中,如Unix、Novell與Windows,您還是可以啟動這個功能。話雖如此,除非有特殊原因,一般的公司行號都不會使用這樣做,大家都會購買路由器,因為使用路由器可以增加網路的效能、穩定性、彈性與減少故障率。伺服器也可以專心做它該做的事,發揮它最大的效能。


或許您聽到別人在討論路由器時,他們會提到路由器的作業系統或韌體的版本等問題,它們所說的就是指路由器內部所使用的軟體,它是路由器的智能所在。一般而言,路由器的軟體都會儲存在機器內的快閃記憶體(Flash Memory)裏面或是PCMCIA快閃記憶卡中,而不像家中的個人電腦一樣,儲存在硬碟機或軟碟機內。在開啟路由器的電源時,儲存在快閃記憶體中的程式會被載入至隨機存取記憶體(DRAM)中,然後才開始執行路由器的工作。


當路由器電源被關掉時,所有儲存在隨機存取記憶體中的程式與資料會全部消失,可是快閃記憶體中的程式與設定值卻完好無缺,所以重新開機後,路由器又會恢復正常。快閃記憶體是一種可被重複讀寫,在電力消失後記憶的內容依舊存在的一種記憶體。所以當路由器廠商發行新版的路由器作業系統軟體後,使用者即可依特定的程序,將新版軟體載入到快閃記憶體中。在路由器重新啟動後,它就可以馬上執行新的功能。


功能及其作業原理

路由軟體的功能與作業原理,雖然很多樣化而且複雜,可是它的主要功用卻很簡單,就是在找到一條抵達終點的最佳路徑。我們在進一步介紹路由軟體的選徑作業原理前,請各位先看一下(圖二)中的黑線,代表兩個城巿間唯一的公路,紅色的英文字母代表公路的名稱。假如您想從台中開車到花蓮,您會走那一條路?我想大家都會選K。因為那是一條最快、而且是最近的的路。如果您出發前,知道K公路因為坍方,道路不通,您會選那一條?此時可能性就很多了,如果您只知道K公路,那您只有等K公路修好後才能抵達花蓮;如果您知道其他的路,那您可以走B-A-J-I到花蓮;也可以選C-E-L-H到花蓮,當然也可以走C-E-F-G-H到花蓮。



《》
《》

路由軟體的選徑功能就好像上例中駕駛在決定路徑一樣,路由軟體在檢視過進入路由器的封包,並解讀了該封包的終點位址後,參考一些資料,依據某些原則,就會決定該由那一條路徑抵達目的地端那台電腦所在的網段。路由器將根據隨機存取記憶體中的路徑表(Routing Table),告訴資料封包該經由那一介面進入下一個路由器。路徑表的作用類似於圖二的公路圖,一旦我們選定起點與終點後,比對著公路圖,就可以決定該走那一條路。


轉送封包的方式

路由器轉送封包的方式有兩種,第一種是利用預先設定好的路徑來轉送封包,另外一種是使用動態路由協定自動計算出最佳之傳送路徑。


固定路由

預先設定的路徑,又稱為固定路由(Static Route)。它是由網路管理者在設定路由器時,手動輸入的路徑,它的好處有兩點:


1.安全:因為所有路由全部是網路管理者設定的,吨括封包移動的方向,均在網路管理者的掌握中;


2.有效率地使用有限資源:因為路徑已經儲存於路由器內,路由器不必浪費中央處理器的時間去計算路由,使用的記憶體也比較少。


而缺點是固定路由不能發現新的路徑,當網路線路中斷或拓樸改變時,封包無法繞道而行,如果想要保持網路暢通,就必須重新手動設定路由。因此固定路由只適用在只有一條連外線路的網路、小型網路或強調安全控管的網路。固定路由最常被用在連接網際網路服務供應商(ISP)的路由器上,因為大部份的公司只會使用一條線路連接ISP。有些大型網路為了安全的理由,也會使用固定路由,網路管理者會將全部的資料封包傳送到安全控管主機,經過嚴密檢查後才能進出網路。


動態路由協定

動態路由協定(Dynamic Routing Protocol)是一種讓路由器可以自動交換路由資訊的技術。它包含了發現新路徑、更新路徑表與網路拓樸資訊的收斂等工作。如果駕駛人使用動態路由的觀點來做為決定開車路徑的判斷原則,在知道台中到花蓮的K公路因坍方而中斷時,他會再搜集資訊(例如看地圖),尋求另外一條道路,而不會等K公路修好後再去花蓮。


動態路由協定依其演算法的不同,可以分為距離向量(Distance Vector)與連結狀態(Link State)這兩大類,它們的區別在於發現與計算新路由的方法的不同。


距離向量

距離向量(Distance Vector)式的動態路由協定,採用Bellman-Ford 演算法,使用這類協定的路由器會定期將路徑表傳送給跟它們直接連接的鄰近路由器,每個接收者收到路徑表後會在距離向量欄內加1後,再傳送給下一個路由器。藉由不斷地傳遞,網路中的每一部路由器都會學到其他路由器中的資訊,依據這些資訊,所有路由器都會利用一個數字來標示網路中所有網段的相對距離,然後依據這個數字決定抵達終點最「短」的距離。


以圖二為例,從台北到恆春古城,我們可以走A-B-C-E-F或J-I-H-G兩條路,若使用距離向量路由協定的方式來選擇路徑,最後我們會選擇J-I-H-G這條路,原因是選擇J-I-H-G這條路只會經過3個城巿,也就是說距離向量路由協定是依據經過路由器的數目,來決定距離的「遠近」。這個方法的缺點是完全沒有考慮到路況,假如A-B-C-E-F是八線道的高速公路,速限為150公里,而J-I-H-G只有兩線道,速限為60公里,雖然它經過的點比較少,可是卻要開比較久才會到。


再看(圖三)例子,如果我們由台中的10.0.3.x的網段傳送一個5Mbytes的檔案到花蓮的10.0.7.x網段,雖然台中-台南-花蓮間的線路的傳輸速是T1(1544Kbps),可是經過距離向量判斷的結果,路由器會選擇經過一個路由器的路徑傳送,也就是由低速的14.4Kbps線路傳送至花蓮,而不會選擇經過兩個路由器的T1線路傳送。雖然距離向量動態路由協定比固定路由(Static Route)有彈性,在線路故障時,距離向量協定會自動尋找新的路徑,無需網路管理者重新設定,因為它是根據經過的路由器數目,來決定傳送封包的最「佳」路徑,完全沒有考慮到線路速度,雖然它比固定路由好,可是還是有這樣的缺點。



《圖三 距離向量判斷示意圖》
《圖三 距離向量判斷示意圖》

距離向量動態路由協定的優點是容易設定、維護與使用。除了對「遠近」的判斷會發生上例的問題外,它還會有收斂時間太長與收斂時可能導致無窮迴圈(Infinite Loop)、浪費頻寬等問題。所以這類的路由協定適用於有多重路徑(Redundant Path)的小型網路、區域網路與對傳輸效能要求較不嚴格的網路。RIP(Routing Information Protocol)與IGRP(Interior Gateway Routing Protocol)就是最常被使用的距離向量動態路由協定。


連結狀態路由協定

使用連結狀態動態路由協定,可以避免距離向量動態路由協定所產生的問題,讓路由器更精確地自動計算傳送封包的最佳路徑。使用此類路由器必須建立一個相當複雜的網路拓樸資料庫,完全記錄網路上所有路由器與其連接介面的狀態,在網路發生變化時,立即交換各介面最新的連結狀態。在路由器收到這些發自於其他路由器的連結狀態通知(LSA: Link-State Advertisement)資訊後,會使用最短路徑為先演算法(Shortest Path First Algorithm)更新路徑表。這個演算法的好處是,有事就說,沒事閉嘴。只有在網路狀態發生變化時,才會進行連結狀態通知,因此每個路由器在收到鄰近路由器傳來的通知後,可以馬上計算出新的路徑,所以它的收斂時間比較短,所佔用的網路頻寬也比較少。它根據沿路經過的路由器數目、各介面的狀態、線路的速度與是否壅塞等參數來計算最佳傳送路徑。


連結狀態路由協定也不是沒有缺點,它的缺點是剛開始啟動時,因為網路上的所有路由器都要瞭解其他路由器的狀態,所以他們會傳送大量的資料,導致網路的速度會明顯地變慢。其次是需要用到許多記憶體與中央處理器的時間,如果網路比較複雜,路由器的購置成本就會相對提高。所以,連結狀態路由協定適用於大型、需要具備高度可擴充性與複雜的網路,OSPF(Open Shortest Path First)就屬於這類的動態路由協定。


採購路由器須知

:在瞭解路由器的功能與作業原理後,各位一定會想到一個問題,如果想要幫公司採購路由器,應該注意那些重點?筆者建議如下:


1.管理性:為了易於管理並與網管程式整合,路由器最好支援SNMP(Simple Network Management Protocol),接受Telnet遠端登入,也可利用撥接數據機登入,如此一來在遠端就可設定這台路由器。


2.處理效能:路由器的型錄上,代表路由器處理效能的數據是每秒轉送64 Bytes長度的封包數目(PPS: Packet Per Second),您必須依據您的效能需求進行採購,否則將會造成傳輸瓶頸。舉例而言,若您需要一台具有兩個10Base-T 連接埠的路由器,因為乙太網路的理論傳輸封包數目為14880 PPS,所以您選擇的路由器最好是每秒可以轉送14880個長度為64Bytes的封包。


3.介面模組的種類:路由器製造廠常會針對模組化路由器,設計多樣化的介面選項,如此可以增加設備未來運用的彈性。路由器的介面模組可以分為區域網路介面模組與廣域網路介面模組這兩大類,前者提供區域網路介面,常見區域網路介面有Ethernet、Token Ring、FDDI、ATM等。後者提供廣域網路介面,常見的廣域網路介面有V.35、V.24、RS-449、ISDN等。透過這些廣域網路介面,可以連接CSU/DSU、數據機與ISDN線路,廣域網路介面常使用的協定,請參考(表一)。


《表一 Framing Protocol》
《表一 Framing Protocol》

4.模組化:可以依據需求,針對某部份進行升級,例如增加記憶體。對於故障的模組,可以在不關閉電源的情況下,就可以進行模組更換。


5.記憶體的大小:快取記憶體與隨機存取記憶體的容量,會影響到路由器的效能。當您連接的路由器數目很多時,路徑表會變很大,此時隨機存取記憶體的容量就很重要。


6.支援的協定:該路由器的軟體支援的協定是否符合您需求?最好是該製造公司提供許多不同的組合,以後要增加某些協定時,只需進行軟體或部份硬體升級就可以了,無需重新購置硬體。


7.支援RIP與OSPF:由於這兩個動態路由協定最常見,為了增加未來應用的彈性,在選購路由器時,最好選擇同時具備這兩種協定的設備。


8.供應商的技術支援能力:由於路由器是一個複雜的網路設備,它的設定不是一件容易的事,如果您選擇的廠商的支援能力不佳,未來將對您造成諸多困擾。支援能力好的廠商,可以在初期提供您建置規劃與採購建議,在發生故障時,可以迅速將您的網路恢復原狀。


結語

路由器是一個相當複雜的網路設備,不像集線器、橋接器與第二層交換器一樣,隨插即用。隨著路由器製造商的研發能力與巿場定位的不同,每個廠牌的路由器常會有許多不同的功能,例如有些路由器有封包過濾的功能,可以針對封包中來源或終點位址進行過濾,決定是否讓封包通過;也有些路由器具備語音介面,可以將類比式的語音轉換成IP封包在網路上傳送;另有路由器有網路位址轉譯(NAT)的功能。


雖然如此,路由器最重要的工作還是為封包找出一條最佳的傳送路徑,為了讓剛接觸網路的朋友,能對路由器有一個最基本的瞭解,所以本文只針對最基本的部份進行簡單的介紹,至於其他功能不在本文中贅述。


(作者任職於精業公司電信業務處,電子郵件:[email protected],本專欄隔月刊載)


相關文章
晶片/軟體/製程保障物聯網
微軟為零售與餐旅業開創新商機
讓Windows和Linux一起跳森巴舞
Utility Computing在賣什麼藥?
The Network is Computer 期待網路再起
comments powered by Disqus
相關討論
  相關新聞
» NETGEAR引進Wi-Fi 7無線路由器 發揮AI平台最大效益
» 【COMPUTEX】經濟部攜手明泰、光寶、聯發科 推出「O-RAN基站」三頻全產品線
» 宏正AI創新連結浸體驗 COMPUTEX 2024展示賦能應用方案
» 歐盟6G計畫主席來台 與經濟部簽約合作跨國研發
» 經部領軍台廠重回MWC 秀5G電信與系統商最佳夥伴實力


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.172.71.191.125
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: [email protected]