天天看點

流分類、流行為和流政策——MQC配置流程

作者:阿豪的筆記

子產品化QoS指令行接口MQC(Modular QoS Command-Line Interface)将具有某類共同特征的封包劃分為一類,并為同一類封包提供相同的服務,也可以對不同類的封包提供不同的服務。MQC包含三個要素:流分類、流行為和流政策。

流分類(traffic classifier):用來定義一組流量比對規則,用于對封包進行分類。

流行為(traffic behavior):用來定義針對某類封包所做的動作。

裝置支援封包過濾、重标記優先級、重标記流ID、重定向、流量監管、流量統計等動作。如配置多個動作時需保證各動作互不沖突,配置成功後這些動作同時生效。

流政策(traffic policy):流政策用來将指定的流分類和流行為綁定,對分類後的封包執行對應流行為中定義的動作。

如圖1所示,一個流政策可以綁定多個流分類和流行為。

圖1 流政策綁定多個流分類和流行為

流分類、流行為和流政策——MQC配置流程

配置流政策和應用流政策時,需要确定如下三點:

  • 流分類和流行為的對應關系,即需要對比對指定流分類的封包執行的動作。
  • 應用流政策的視圖。如接口視圖、VLAN視圖或系統視圖。
  • 應用流政策的方向。可以應用于裝置接收的封包(inbound),也可以應用于裝置發送的封包(outbound)。

MQC配置流程

MQC配置流程如圖2所示。

圖2 MQC配置流程

流分類、流行為和流政策——MQC配置流程

1. 配置流分類:按照一定規則對封包進行分類,是提供差分服務的基礎。

1. 執行指令system-view,進入系統視圖。

2. 執行指令traffic classifier classifier-name [ operator { and | or } ] [ precedence precedence-value],建立一個流分類并進入流分類視圖,或進入已存在的流分類視圖。

說明:

and表示流分類中各規則之間關系為邏輯“與”,指定該邏輯關系後:

  • 當流分類中有ACL規則時,封包必須比對其中一條ACL規則以及所有非ACL規則才屬于該類;
  • 當流分類中沒有ACL規則時,則封包必須比對所有非ACL規則才屬于該類。

or表示流分類各規則之間是邏輯“或”,即封包隻需比對流分類中的一個或多個規則即屬于該類。

預設情況下,流分類中各規則之間的關系為邏輯“或”。

3. 根據實際情況定義流分類中的比對規則。

if-match xxx

4. 執行指令quit,退出流分類視圖。

2. 配置流行為:為符合流分類規則的封包指定流量控制或資源配置設定動作。

  1. 執行指令traffic behavior behavior-name,建立一個流行為并進入流行為視圖,或進入已存在的流行為視圖。
  2. 根據實際情況定義流行為中的動作,隻要各動作不沖突,都可以在同一流行為中配置。
  3. 執行指令quit,退出流行為視圖。

3. 配置流政策:将指定的流分類和指定的流行為綁定,形成完整的政策。

1. 執行指令traffic policy policy-name [ match-order { auto | config } ],建立一個流政策并進入流政策視圖,或進入已存在的流政策視圖。建立流政策時,如果未指定規則比對順序,預設規則比對順序為config。

說明:

應用流政策後,不能再使用該指令來修改政策中流分類的比對順序。必須先清除該政策的應用,再重新建立并指定所需的比對順序。

裝置支援在建立流政策時指定流政策中多個規則的比對順序,比對順序包括自動順序(auto)和配置順序(config)兩種:

  • 如果選擇自動順序,比對順序由系統預先指定的流分類類型的優先級決定,該優先級由高到低依次為:基于二層和IPv4三層資訊流分類 > 基于進階ACL6規則流分類 > 基于基本ACL6規則流分類 > 基于二層資訊流分類 > 基于IPv4三層資訊流分類 > 基于使用者自定義ACL規則流分類。規則優先比對優先級高的流分類。
  • 如果選擇配置順序,比對順序由流分類規則的優先級決定,先比對優先級較高的流分類規則。

2. 執行指令classifier classifier-name behavior behavior-name,在流政策中為指定的流分類配置所需流行為,即綁定流分類和流行為。

3. 執行指令quit,退出流政策視圖。

4. 應用流政策:将流政策應用到全局、單闆、接口或VLAN。

  • 在接口上應用流政策
  1. 執行指令system-view,進入系統視圖。
  2. 執行指令interface interface-type interface-number[.subinterface-number ],進入接口視圖或子接口視圖。
  3. 執行指令traffic-policy policy-name { inbound | outbound },在接口或子接口視圖上應用流政策。
  • 在VLAN上應用流政策
  1. 執行指令system-view,進入系統視圖。
  2. 執行指令vlan vlan-id,進入VLAN視圖。
  3. 執行指令traffic-policy policy-name { inbound | outbound},在VLAN上應用流政策。
  • 在VLANIF接口上應用流政策
  1. 執行指令system-view,進入系統視圖。
  2. 執行指令interfacevlanif vlan-id,進入VLANIF接口視圖。
  3. 執行指令traffic-policy policy-name { inbound | outbound}
  4. 在VLANIF接口上應用流政策。
  • 在全局或單闆上應用流政策
  1. 執行指令system-view,進入系統視圖。
  2. 執行指令traffic-policy policy-name global { inbound| outbound } [ slot slot-id],在全局或單闆上應用流政策。

說明:

在實體接口、VLAN、全局或單闆上應用流政策,可以控制通過實體接口、VLAN、全局或單闆的二層流量和三層流量;在VLANIF接口上應用流政策,僅可以控制通過該VLANIF接口的三層轉發流量。

ACL與traffic policy組合後流行為關系

ACL裡面的permit/deny與traffic policy中的behavior的permit/deny組合有如下四種情況:

ACL規則中的動作 Traffic policy中的behavior 比對封包的最終處理結果
Permit permit permit
Permit deny deny
Deny permit deny
Deny deny deny

在流政策子產品中,裝置預設封包都是permit的,如果隻是要求網段之間不能通路,則隻需在ACL裡配置想要deny的封包的規則即可。如果最後多添加一條rule permit規則,則未命中該規則之前規則的所有封包都會命中此條規則,并且如果流行為behavior被配置為deny,則裝置将拒絕所有命中該規則的封包通過,導緻全部業務中斷。

MQC配置示例

業務需求

丢棄接口GE0/0/1接收的VLAN ID為2的封包。

操作步驟

1. 配置流分類

# 建立流分類c1,比對VLAN ID為2的封包。

<UAWEI>system-view

[HUAWEI]traffic classifier c1

[HUAWEI-classifier-c1] if-match vlan-id 2

[HUAWEI-classifier-c1] quit

2. 配置流行為

# 建立流行為b1,動作為deny,即丢棄比對指定規則的封包。

[HUAWEI] traffic behavior b1

[HUAWEI-behavior-b1] deny

[HUAWEI-behavior-b1] quit

3. 配置流政策

# 建立流政策p1,綁定流分類c1和流行為b1。

[HUAWEI] traffic policy p1

[HUAWEI-trafficpolicy-p1] classifier c1 behavior b1

[HUAWEI-trafficpolicy-p1] quit

4. 應用流政策

# 在接口GE0/0/1的入方向應用流政策p1。

[HUAWEI] interface gigabitethernet0/0/1

[HUAWEI-GigabitEthernet0/0/1] traffic-policy p1 inbound

[HUAWEI-GigabitEthernet0/0/1] quit

繼續閱讀