Posts

Showing posts from July 15, 2007

不同Switching Mode的比較

Switching是一種將Layer 2對應至Layer 3位址並且轉送至目的地介面的一種程序。 Switching Mode有很多種,每種模式都有其特別的對應方式,了解它們的不同對我們合理的應用上有著非常重要的意義。另外還有一些QoS和Security技巧都需要特定的Switching Mode。 我們來看看以下幾種Switching Mode: 1、Process Switching 這是一種最基本的交換模式,在這種模式下,某資料流中的第一個封包將會被放置於系統緩衝區(system buffer)。其目的地位址將會被拿到路由表中去查詢比對,路由器的中央處理器(CPU)同時將進行CRC check,檢查封包是否正確。然後Frame中的Layer 2 MAC Address將會被重寫,被置換成next-hop interface的MAC Address。這樣的程序將會持續進行,針對此資料流的第二個、第三個封包…進行相同的運作,包括查詢路由表、重寫MAC Address、CRC check等。 這種方式無疑是延遲時間最長的,因為它要使用到系統緩衝(system buffer)以及中央處理器(CPU)去處理每個接收到的封包。但是我們仍然有機會使用這種交換方式,比如在進行以封包為處理單位的負載平衡時( ip load-sharing per-packet )時,或是 debug ip packet 時。 在預設情況之下,Cisco路由器會啟用Fast Switching或是Optimum Switching又或是CEF Switching,而不是Process Switching,所以我們只能透過以下指令: no ip route-cache 來關閉Fast Switching,另一方面來說,這個指令則是啟動了Process Switching。 2、Fast Switching Fast Switching優於Process Switching,它採用了路由快取(route cache)功能,來儲存關於某資料流的特定資訊,包括像是目的地MAC Address、目的地interface等內容。這時我們只需要對某個資料流中的第一個封包進行Process Switching,並把結果訊息存入cache中,所有後續的封包,可以不必再打斷系統中央處理器去執行查詢等動作,直接從ca