簡單的講,路由器主要有以下幾種功能:
第一,網絡互連,路由器支持各種局域網和廣域網接口,主要用于互連局域網和廣域網,實現不同網絡互相通信;
第二,數據處理,提供包括分組過濾、分組轉發、優先級、復用、加密、壓縮和防火墻等功能;
第三,網絡管理,路由器提供包括配置管理、性能管理、容錯管理和流量控制等功能。
路由器(Router)是一種負責尋徑的網絡設備,它在互連網絡中從多條路徑中尋找通訊量最少的一條網絡路徑提供給用戶通信。路由器用于連接多個邏輯上分開的網絡。對用戶提供最佳的通信路徑,路由器利用路由表為數據傳輸選擇路徑,路由表包含網絡地址以及各地址之間距離的清單,路由器利用路由表查找數據包從當前位置到目的地址的正確路徑。路由器使用最少時間算法或最優路徑算法來調整信息傳遞的路徑,如果某一網絡路徑發生故障或堵塞,路由器可選擇另一條路徑,以保證信息的正常傳輸。路由器可進行數據格式的轉換,成為不同協議之間網絡互連的必要設備。
路由器使用尋徑協議來獲得網絡信息,采用基于“尋徑矩陣”的尋徑算法和準則來選擇最優路徑。按照OSI參考模型,路由器是一個網絡層系統。路由器分為單協議路由器和多協議路由器。
為了完成“路由”的工作,在路由器中保存著各種傳輸路徑的相關數據--路由表(Routing Table),供路由選擇時使用。路由表中保存著子網的標志信息、網上路由器的個數和下一個路由器的名字等內容。路由表可以是由系統管理員固定設置好的,也可以由系統動態修改,可以由路由器自動調整,也可以由主機控制。在路由器中涉及到兩個有關地址的名字概念,那就是:靜態路由表和動態路由表。由系統管理員事先設置好固定的路由表稱之為靜態(static)路由表,一般是在系統安裝時就根據網絡的配置情況預先設定的,它不會隨未來網絡結構的改變而改變。動態(Dynamic)路由表是路由器根據網絡系統的運行情況而自動調整的路由表。路由器根據路由選擇協議(Routing Protocol)提供的功能,自動學習和記憶網絡運行情況,在需要時自動計算數據傳輸的最佳路徑。
為了簡單地說明路由器的工作原理,現在我們假設有這樣一個簡單的網絡。如圖所示,A、B、C、D四個網絡通過路由器連接在一起。
現在我們來看一下在如圖所示網絡環境下路由器又是如何發揮其路由、數據轉發作用的。現假設網絡A中一個用戶A1要向C網絡中的C3用戶發送一個請求信號時,信號傳遞的步驟如下:
第1步:用戶A1將目的用戶C3的地址C3,連同數據信息以數據幀的形式通過集線器或交換機以廣播的形式發送給同一網絡中的所有節點,當路由器A5端口偵聽到這個地址后,分析得知所發目的節點不是本網段的,需要路由轉發,就把數據幀接收下來。
第2步:路由器A5端口接收到用戶A1的數據幀后,先從報頭中取出目的用戶C3的IP地址,并根據路由表計算出發往用戶C3的最佳路徑。因為從分析得知到C3的網絡ID號與路由器的C5網絡ID號相同,所以由路由器的A5端口直接發向路由器的C5端口應是信號傳遞的最佳途經。
第3步:路由器的C5端口再次取出目的用戶C3的IP地址,找出C3的IP地址中的主機ID號,如果在網絡中有交換機則可先發給交換機,由交換機根據MAC地址表找出具體的網絡節點位置;如果沒有交換機設備則根據其IP地址中的主機ID直接把數據幀發送給用戶C3,這樣一個完整的數據通信轉發過程也完成了。
從上面可以看出,不管網絡有多么復雜,路由器其實所做的工作就是這么幾步,所以整個路由器的工作原理基本都差不多。當然在實際的網絡中還遠比上圖所示的要復雜許多,實際的步驟也不會像上述那么簡單,但總的過程是這樣的。