Networking
為什麼 Cisco 訪問列表綁定到特定介面?
這似乎是一個簡單/愚蠢的問題,但對我來說並非如此。請記住,我不是網路管理員,所以這對我來說並不明顯。無論如何,直截了當:
為什麼我需要將 ACL 綁定到特定介面?換句話說,為什麼我必須這樣做:
interface ethernet0 ip access-group 1 in
而不是告訴路由器/交換機對所有傳入流量使用 ACL(在我的範例 #1 中)?就個人而言,我只能想到兩個原因(如下),但我有一種奇怪的感覺,可能還有其他原因:
a) 優化。例如,如果硬體為每個網路介面使用一些 ASIC,允許在傳入流量“進入”控制平面之前過濾掉它。
b) 按照慣例。這是不太可能的。
謝謝。
路由器作業系統試圖將 CPU 負載保持在盡可能低的水平。因此,即使介面處理器模組沒有自己的 ASIC,它們也使用單獨的數據包處理 CPU 循環/執行緒。
當 ACL 過濾掉不感興趣的數據包時,它們只是默默地跳過,釋放數據包隊列記憶體並且不影響 CPU。
事實上,單個 64K 串列鏈路的數據包處理可能會壓倒一個好的 RISC 處理器。我在 Cisco 3662 被 CodeRed 蠕蟲攻擊時看到過這種情況,它使用精心設計的 TCP 選項欄位繞過介面快速數據包交換路徑並到達要路由的 CPU,從而導致持續 100% 的負載。