路由器的結構結構可划分為兩大部分:路由選擇部分和分組轉發部分
路由選擇部分也叫做控制部分,其核心構件是路由選擇處理機。路由選擇處理機的任務是根據所選定的路由協議構造出路由表,同時經常或定期地和相鄰的路由器交換路由信息而不斷地更新和維護路由表。
分組轉發部分由三部分組成:交換結構、輸入端口和輸出端口。
交換結構的作用就是根據轉發表(forwarding table)對分組進行處理,將某個輸入端口進入的分組從一個合適的輸入端口轉發出去。
請注意“轉發”和“路由選擇”是有區別的。
“轉發”即使路由器根據轉發表把收到的IP數據報從路由器合適的端口轉發出去。“轉發”僅僅涉及到一個路由器。
“路由選擇”涉及到很多路由器,路由表是許多路由器協同工作的結果。這些路由器按照復雜的路由算法,得出整個網絡的拓撲變化情況,因而能夠動態改變所選擇的路由,並由此構造出整個的路由表。
路由表一般僅包含從目的網絡到下一跳的映射
轉發表是從路由表得出的。轉發表必須包含完成轉發功能所必需的信息。也就是說,在轉發表的每一行必須包含從要到達的目的網絡到輸出端口和某些MAC地址信息(如下一跳的以太網地址)的映射。
將轉發表和路由表用不同的數據結構實現會實現會帶來一些好處,這是因為在轉發分組時,轉發表的結構應當是查找過程最優化,但路由表則需要對網絡拓撲變化的計算最優化。
路由表總是用軟件實現的,但轉發表則可以用特殊的硬件實現。