三層交換機
三層交換機要執行三層信息的硬體交換,路由處理器(三層引擎)必須將有關路由選擇等的三層信息下載到硬體中。以便對數據包進行過處理。為完成在硬體中處理數據包的高層信息,會使用傳統的MLS和基於CEF的MLS。
傳統的MLS
使用傳統的MLS時,交換機將流中第一個數據包轉發給第三層引擎,後者以軟體交換的方式對數據包進行過處理,對數據流中的第一個包進行路由處理後,第三層引擎對硬體交換組織進行編程,使之為後續的數據包選擇路由。這個過程被稱為“一次路由多次交換”,也就是說交換機的三層引擎只需要處理數據流中的第一個數據包,而後續的數據全部由硬體來執行轉發。這樣實現了三層交換的線速轉發。
基於CEF的MLS
與傳統MLS不同的是,CEF預先根據路由表學習路由信息後,直接儲存在FIB(轉發信息庫)。REF預先根據ARP表生成鄰接表,直接由硬體進行轉發。 傳統MLS至少需要軟體查詢一次路由表後,建立轉發條目,才能使用硬體進行轉發。
工作原理:
① 主機A給B傳送單播數據包
②交換機查找FIB表,找到下一跳地址
③查找下一跳地址對應的鄰接關係的2層封裝信息
④轉發