一些高端路由器上均具有流量控制機制,本篇文檔主要介紹3個應用於高端路由器的流量控制機制:反壓機制、隊列機制、流量監管。緩存
2.1 反壓機制 報文通過上行接口板的處理以後,會送往交換網板進行交換。由於全部報文都要通過交換網的交換,因此交換網是決定路由器性能的最核心單元,交換網應該是「無阻塞」的,其轉發容量是全部接口板的轉發容量之和。然而,下行接口板性能可能沒那麼上行接口板那麼強,所以,路由器上有「反壓機制」,下行接口板來不及接收時,會發生反壓,這樣交換網板會通知上行接口板暫停發包,將報文進行緩存。其流程如圖 2.1 所示。 性能
圖 2.1 反壓機制
2.2 隊列機制code
配合反壓機制,在一些高端路由器的接口板上還有有一塊被稱爲TM(Traffic Management)的部件,裏面有高速緩存,在擁塞的狀況下,數據包以隊列的形式暫存在緩存裏,TM再按必定的規則把數據包調度出隊,送往交換網。若是裝不下,還會按必定規則作報文丟棄。 如圖 2.2 所示。 接口
圖 2.2 隊列機制
同理,報文通過交換網板送到下行接口板時,流量有可能超過出接口的發包能力,所以在下行接口板上也須要有TM芯片進行緩存和隊列管理。在擁塞的狀況下,數據包以隊列的形式暫存在緩存裏,下行TM再按必定的規則把數據包調度出隊,送往出接口發送。隊列
2.3 流量監管(CAR) 流量控制除了上述處理機制外,還有一種機制——流量監管,它能使流量不超過入/出接口容許的帶寬,對於超出限制的那部分數據包會被直接丟棄。目前流量監管使用的技術是CAR(Committed Access Rate)。CAR是由包轉發引擎PFE完成的,能夠在上行PFE上執行,限制流量不超過入口帶寬;也能夠在下行PFE上執行,限制流量不超過出口帶寬。如圖 2.3 所示。圖片
圖 2.3 流量監管
注意:上送CPU以及CPU下發的協議報文不通過CAR處理,這是爲了不當流量突發時協議報文被CAR丟棄(不過,爲了不對CPU的攻擊,上送CPU的協議報文會通過CP-CAR處理)。路由
另外,上文在隊列機制裏提到的丟棄策略,在高端路由器裏,爲了防止其協議報文被丟棄,這些報文通常都設置爲高服務等級,入高優先級隊列,從而被優先調度,這樣一般不會被丟棄。文檔