網路層:轉送與 IP
轉送表(forwarding table)
轉送表是路由器處理每一個封包時都要查閱的對照表:它把目的位址前綴對應到輸出埠(與下一跳)。想像櫃台人員的快速參考卡,上面寫著「要去四樓辦公室的,搭左邊電梯;要去地下室的,走樓梯」。路由器瞄一眼卡片、決定出口、就繼續處理——不思考,只是一次快速查表。
每一列把一個 CIDR 前綴和「符合它的封包該送往何處」配成一對:例如 203.0.113.0/24 → 輸出第 3 埠、下一跳 10.0.0.2。當封包抵達時,路由器拿它的目的位址、找出所有符合的前綴、用最長前綴匹配挑出最明確的那筆、再從選定的埠轉送出去。通常會有一條預設路由 0.0.0.0/0,作為任何沒有特定前綴涵蓋之物的萬用出口。這張表是資料平面的具體化身:它讓轉送成為一次快速、機械式的查表,而非一場計算。
有兩個常被混為一談的概念值得分開。路由表(RIB,路由資訊庫)是控制平面建立並推理的完整圖像;轉送表(FIB,轉送資訊庫)則是精簡、最佳化後、被推進快速路徑硬體、以線速查閱的版本。路由演算法把表填好——那是路由領域的工作——但「用這張表來移動封包」是轉送,而那正是本領域所談的。
一台小路由器的表:192.168.1.0/24 → 第 1 埠;10.0.0.0/8 → 第 2 埠;0.0.0.0/0 → 第 3 埠(預設)。送往 192.168.1.50 的封包從第 1 埠離開;送往 8.8.8.8 的封包沒有符合任何特定項目,落到預設路由,從第 3 埠離開。
「前綴對應到埠」的各列,加上一條接住其餘一切的預設路由。
路由建立這張表;轉送使用它。FIB(用於快速轉送的副本)有別於 RIB(控制平面的完整路由視圖)——兩者在大小與形式上常常不同。
又称
另见