1. 程式人生 > >ip cef 快速交換和程序交換

ip cef 快速交換和程序交換

當路由器對第一個packet進行發往目標地址的處理的時候,先檢視路由表和選擇出口介面,然後獲取組成frame的資訊(比如ARP表的查詢)並進行封裝,然後傳輸.之前獲取的這些路由和資料鏈路資訊將被儲存在快速交換的cache中.接下來,

當有要到達和第一個包相同的目標地址的包的時候,就可以不進行路由表和ARP表的查詢,直接對packet進行交換。快速交換降低了CPU的佔用和處理時間,並意味著去往某個目標地址的packet都從相同的路由器介面被路由出去.

當有到達同一網路不同主機的packet,路由器可能會把這些packet通過另外一條鏈路進行路由.因此,路由器能做的最好的就是給予目標地址的均衡負載

所謂基於基於packet的均衡負載,是說假如有2條到達目標地址的路徑,那麼第一個packet將通過第一條鏈路到達目標裝置,第二個packet將通過第二條鏈路到達目標裝置,第三個packet又將通過第一條鏈路到達目標裝置等等,以次類推.(這裡考慮的是等價的均衡負載)
Cisco路由器工作在Process Switching(程序交換)模式的時候就採用基於packet的均衡負載程序交換,是指每次對packet的交換,都要查詢路由表,選擇出口介面和查詢資料鏈路資訊,因為每次的路由決策都是獨立的.

要在某個介面開啟 程序交換模式 ,使用 no ip route-cache 命令

介面預設是快速轉發模式   ip route-cache  ,不顯示。

路由器最原始的轉發方式,我們形象的稱為一次路由,一次轉發。就是說,每個資料包在到達路由器的時候,都會檢視路由表。這樣無疑是很慢的。所以就有了一次路由,多次轉發的技術,就是基於快取的轉發技術。由於多層交換技術的出現,在多層交換機上使用的思科快速轉發技術,就是CEF,被運用到了路由器上,原理我就不說了,自己去看書。由於你要做負載均衡的實驗,如果不把思科快速轉發模式關掉,不把基於快取的路由模式關閉(預設是開啟的),那麼,到達同一目的地的資料包在經過一次路由以後,就會從同一介面轉發掉(只有第一個資料包會檢視路由表)

測試負載均衡的時候,不要在有帶有快速交換介面的路由器上執行ping,也不要ping這樣的路由器。因為做負載均衡的時候,路由器生成的分組將以程序交換(更具體一些,就是一次路由,一次轉發)而不是快速交換的方式被轉發,如果你在帶有快速交換介面的路由器上執行ping,或者ping這樣的路由器,這可能導致你的資料被使用快速轉發的形式而轉發的結果。