Networking

按 VLAN/子網劃分的 Cisco ASA 5505 上的 QoS

  • October 19, 2011

我的 ASA 5505 具有三個 VLAN。一個連接到網際網路稱為outside,一個用於我們的辦公室office(它連接到公司 VPN),一個用於可公開訪問的resource-centre. 每個 VLAN 位於單獨的子網上。

我想確保來自officevpn 或網際網路的流量優先於來自resource-centre. 換句話說,我不希望resource-centre流量壓倒office流量。

我可以為我的兩個內部vlan 創建 ACL:

access-list resource-centre-traffic extended permit ip 192.168.0.0 255.255.255.0 any
access-list resource-centre-traffic extended permit ip any 192.168.0.0 255.255.255.0
access-list office-traffic extended permit ip 172.16.0.0 255.255.255.0 any
access-list office-traffic extended permit ip any 172.16.0.0 255.255.255.0 

我認為我需要做的是為與辦公室流量匹配的流量設置優先級 - 這意味著進出辦公室的流量永遠不會被進出資源中心的流量中斷,對吧?

我很困惑,因為我也可以在資源中心流量上設置流量監管,但我認為這不是我想要做的,因為我實際上並不關心資源中心使用多少頻寬只要它不干擾辦公室交通。

雖然我是 ASA 平台的忠實擁護者,但我將首先承認 QoS 範式和功能在 ASA 上相當有限。標準 IOS ISR 的執行圍繞 ASA 在 QoS 方面的能力。

如果您尚未閱讀ASA QoS 配置指南IOS QoS 解決方案指南,請閱讀它們。要了解思科(和許多其他供應商)真正載入的“服務質量”術語的含義,需要閱讀它們。請注意,IOS 指南包含 ASA 不支持的許多功能,並提供了不適用於 ASA 的範例。但是,兩者都包含大量有用的概念、術語和有關各種 QoS 範例和概念的詳細資訊。

使用 IOS,您的情況將非常簡單——bandwidthoutside介面上配置適當的,使用模組化 QoS CLI 創建與ACLshape匹配的類和流量,其餘的。resource-centre-traffic``fair-queue

但是,對於 ASA,這是不可能的,因為流量整形是對ASA 上介面上的*所有流量執行的。*無法在 ASA 平台上的特定類上塑造流量。

由於整形在您的情況下不是非常有用,因此您只能進行監管和優先排隊,有時稱為低延遲排隊 (L​​LQ)。

您有以下選擇

  • resource-centre-traffic與ACL匹配的警務流量
  • office-traffic匹配ACL的優先級隊列流量
  • 同時執行這兩項操作,即警察和優先隊列流量匹配各自的 ACL。

在 QoS 方面,KISS 原則仍然適用。越簡單越好。正是出於這個原因,我建議從最低限度和微調開始。首先從警務開始。

警務

以下監管範例將匹配資源中心流量 ACL 的流量限制為 1 Mb/s。知道監管將丟棄超過限制的數據包,最終導致主機網路堆棧重新傳輸並在監管速率附近回退。整形通過引入延遲而不是丟棄來避免這種情況,但 ASA 的整形器不能基於類進行整形。

! create class-map

class-map resource-centre-traffic-class
match access-list resource-centre-traffic

! create policy-map, advise not using a global policy

policy-map outside-policy
class resource-centre-traffic-class
 police input 1000000   ! rate in bits per second, 1 Mb/s listed
 police output 1000000  ! rate in bits per second, 1 Mb/s listed

! assign policy to interface, in this case outside

service-policy outside-policy interface outside

優先隊列/LLQ

優先級隊列僅適用於介面的發送/輸出方向。在優先級隊列中的流量將要傳出的介面上配置隊列限制和 TX 環限制非常重要。我將假設傳輸速度為 3 Mb/s,並根據 256 字節的數據包大小創建大約 2 Mb/s 的優先級隊列。當涉及到 LLQ 時,用於優先級隊列的大小非常神奇。請注意,任何不適合優先級隊列的指定流量都會被尾部丟棄——也就是說,它被丟棄了——可能不是您想要的辦公室流量。

正是在這方面,優先級隊列/LLQ 通常不用於高吞吐量流量類別,而是用於低延遲。 但是,我在這裡包含優先級隊列範例是為了說明 ASA 可以做什麼——我不建議對任何高吞吐量流/流量類使用優先級隊列。

  • 通常建議保持 LLQ 盡可能小——不要丟棄尾部,因為如果太大,大的 LLQ 會使正常的介面隊列餓死。
  • 符合LLQ 但不適合(如果已滿)的數據包將從 LLQ 尾部丟棄。這與監管共享——但是對於 LLQ 流量總是“切到線路的前面”,因為 LLQ(一個軟體隊列,就像普通介面隊列一樣)總是由驅動程序服務並放置在物理介面的首先是硬體隊列(硬體環形緩衝區)。

用於queue-limittx-ring-limit使用配置指南中的工作表確定的數字,然後進行按摩。

priority-queue outside
queue-limit 500   ! based on factors listed earlier, very important number
tx-ring-limit 20  ! based on factors listed earlier

! create class-map

class-map office-traffic-class
match access-list office-traffic

! create policy-map, advise not using a global policy

policy-map outside-policy
class office-traffic-class
 priority

! assign policy to interface, in this case outside

service-policy outside-policy interface outside
  • 兩個類映射可以同時列在外部策略中,用於監管和優先級排隊。
  • 您仍然可以實現全域策略並將其設置為全域 - 只要在全域策略中列出的任何類上都沒有 QoS 操作 - 然後全域策略其他操作(檢查等)當外部策略(僅具有 QoS 操作)放置在外部介面上時,將在外部介面上保持有效。

TL; 博士

ASA 在 QoS 方面確實受到限制。試試治安。如果這不起作用,請添加或非常仔細地嘗試 LLQ。如果這不起作用,請尋找 IOS ISR

$$ G2 $$帶整形、CBWFQ等

引用自:https://serverfault.com/questions/322621