整個IP網絡由許多子網絡構成,各子網絡又由許多主機組成。子網內部的主機通信,由鏈路協議直接進行;子網之間的主機通信,要通過路由器來完成。路由器是多個子網的成員,在它的內部有一張表示Net ID與下一跳端口對應關系的路由表。通信起點主機發出IP包被路由器接收後,路由器查路由表,確定下一跳輸出端口,發給下一台路由器,這台路由器又轉發給另外一台路由器,用這樣一跳接著一跳的方式,直到通信終點另一台主機收到這個IP包。
IP協議把網絡劃分為物理層(L1)、鏈路層(L2)、網絡層(L3)、傳輸層(L4)及應用層(L7)五個層次。處理物理層的設備為集線器,處理鏈路層的設備為L2以太交換機,路由器是在網絡層轉發數據的設備。L3以太網交換機是IP網絡路由器的特例,通常只有以太線路接口,工作在純以太網絡環境中。
路由器工作原理
路由表是工作在IP協議網絡層實現子網之間轉發數據的設備。路由器內部可以劃分為控制平面和數據通道。在控制平面上,路由協議可以有不同的類型。路由器通過路由協議交換網絡的拓撲結構信息,依照拓撲結構動態生成路由表。在數據通道上,轉發引擎從輸入線路接收IP包後,分析與修改包頭,使用轉發表查找輸出端口,把數據交換到輸出線路上。轉發表是根據路由表生成的,其表項和路由表項有直接對應關系,但轉發表的格式和路由表的格式不同,它更適合實現快速查找。轉發的主要流程包括線路輸入、包頭分析、數據存儲、包頭修改和線路輸出。
路由協議根據網絡拓撲結構動態生成路由表。IP協議把整個網絡劃分為管理區域,這些管理區域稱為自治域,自治域區號實行全網統一管理。這樣,路由協議就有域內協議和域間協議之分。域內路由協議,如OSPF、IS-IS,在路由器間交換管理域內代表網絡拓撲結構的鏈路狀態,根據鏈路狀態推導出路由表。域間路由協議相鄰節點交換數據,不能使用多播方式,只能采用指定的點到點連接。
路由器結構體系
路由器的控制平面,運行在通用CPU系統中,多年來一直沒有多少變化。在高可用性設計中,可以采用雙主控進行主從式備份,來保證控制平面的可靠性。路由器的數據通道,為適應不同的線路速度,不同的系統容量,采用了不同的實現技術。 路由器的結構體系正是根據數據通道轉發引擎的實現機理來區分。簡單而言,可以分為軟件轉發路由器和硬件轉發路由器。軟件轉發路由器使用CPU軟件技術實現數據轉發,根據使用CPU的數目,進一步區分為單CPU的集中式和多CPU的分布式。硬件轉發路由器使用網絡處理器硬件技術實現數據轉發,根據使用網絡處理器的數目及網絡處理器在設備中的位置,進一步細分為單網絡處理器的集中式、多網絡處理器的負荷分擔並行式和中心交換分布式。
路由器性能分析
路由器控制平面部分和數據通道部分對路由器的使用有著不同的影響。在數據通道上,IP報文處理能力主要受交換部件的有效帶寬和轉發部分的處理速度影響。交換帶寬,用技術指標bps(比特/秒)來衡量,一般在純大包的條件下測定。轉發速度,用技術指標pps(包/秒)來衡量,一般在純小包的條件下測定。軟件轉發單CPU路由器,交換帶寬和轉發能力為系統共享,線路卡個數不同,各線路卡會有不同的性能表現。軟件轉發多CPU路由器,轉發能力有明顯優勢,交換帶寬沒有明顯提高。硬件轉發路由器,一般要針對線速進行設計,系統交換帶寬大於各線路接口的總和,轉發處理能力在純小包的情形下也能勝任,區別的只是容量和價格。線速路由器,保證線路接口在各種情況下能夠達到滿速,這時候,是線路而非設備是網絡的瓶頸。另外,IP業務,如ACL,NAT、IPSec等,是否造成性能下降,也是設計和使用路由器要考慮的問題。
在控制平面上,小型網絡問題不大,只要支持選用的路由協議就可以了。對於大型網絡,特別是有獨立自治域號的運營商網絡,在路由協議類型滿足要求的情況下,應該考察路由表項大小是否滿足、域間路由協議相鄰節點的連接數目是否滿足、路由表項更新速度如何、路由更新時對數據通道上的處理有無影響等等。