業務流進入DiffServ域時,可以有多種方法對它進行分類,例如根據報文所攜帶的QoS優先級位,識別出不同優先級特征的流量,或根據源地址、目的地址、MAC地址、IP協議或應用程序的端口號等信息對流進行分類。也可以根據業務等級協議SLA規定的一些策略給每個數據包加上標記,從而對數據包進行分類。因此,實現流分類的技術被分成“簡單流分類(Behavior Aggregate Classifier)”與“復雜流分類(Multi-Field Classifier)”。
將流分類方法和對應可實施的流動作關聯,形成流策略,並將流策略與接口綁定,可實現豐富的QoS策略,這就是基於復雜流分類的QoS策略(通常被稱為“基於類的QoS”)基於復雜流分類的QoS策略是對QoS策略配置的抽象,是“模板化”的QoS配置方式。“模板化”的最大優點是可以節省配置,支持批量修改。
“模板”分為三部分:
- 流分類(Classifier)模板:定義流量類型。用if-match語句設定流分類的匹配規則。
- 流動作(Behavior)模板:定義針對該類流量可實施的流動作。
- 流策略(Policy)模板:將流分類Classifier和流動作Behavior關聯,成為一個Classifier & Behavior對。當Policy模板設置完畢之后,需要將Policy模板應用到接口上。
1.流分類
流分類是對進入DiffServ域的業務進行分類,以便在網絡中得到相應的適當處理。流分類主要目的是讓其他處理此報文的應用系統或設備知道該報文的類別,並根據這種類別對報文進行一些事先約定了的處理。
配置流分類可以將符合一定規則的報文分為一類,區分出用戶流量,是實現差分服務的前提和基礎。流分類各規則之間屬於並列關系,只要匹配規則不沖突,都可以在同一流 分類中配置。用戶使用時,可以根據需要進行配置。
如果流分類有多個匹配規則,則這些規則之間有And 和 Or 兩種邏輯關系:
-
Or 邏輯:數據包只要匹配該流分類下的任何一條 if-match 子句定義的規則就屬於該 類。
-
And 邏輯:當流分類中有ACL規則時,數據包必須匹配其中一條ACL規則以及所 有非ACL規則才屬於該類;當流分類中沒有ACL規則時,則報文必須匹配所有非 ACL規則才屬於該類。
當前華為交換機設備可以選擇一條或多條如下規則進行匹配以實現流分類,缺省的邏輯 關系為 Or。
2.流動作
進行流分類是為了有區別地提供服務,它必須與某種流量控制或資源分配動作關聯起來才有意義。流量控制或資源分配動作被稱為流動作。
在NE40E上,目前針對流分類可實施的流動作包括以下幾類(這些流動作可以組合使用):
接口、流策略、流動作、流分類、ACL之間的關系如下圖。

1)不同的接口可以應用相同的Policy模板。
2)一個Policy模板中可以配置一個或多個Classifier & Behavior對。不同的Policy模板可以應用相同的Classifier & Behavior對。
3)一個Classifier模板中可以配置一條或多條if-match語句,if-match語句中可以引用ACL規則。不同的Classifier模板可以應用相同的ACL規則。一個ACL規則可以配置一個或多個Rule語句。
4)一個Behavior模板中可以配置一個或多個流動作。
3.流策略
流策略的執行過程
如上圖,當收到一個報文,要做復雜流分類處理時,會按照policy模板中Classifier的配置順序進行匹配。如果命中,則停止匹配;如果不命中,則匹配后面的Classifier;如果是最后一個Classifier,且還不命中,則報文走正常的轉發處理,類似於沒有應用流分類策略。
由於Classifier中配置的是一個或多個if-match語句,按照if-match語句配置順序進行匹配;如果if-match語句指定的是ACL或UCL,需要在ACL或UCL的多個Rule語句中進行匹配:首先查找用戶是否配置了該ACL或UCL(因為流分類允許引用不存在的ACL和UCL),命中的第一條則停止匹配,不再繼續查找后續的規則。
當Rule中的動作為Deny時,如果behavior是鏡像或采樣,即使對於丟棄的報文,也會執行behavior。
ACL中可以指定permit或deny動作,它與ACL所在Classifier所對應的Behavior中的動作的關系是:
- ACL為deny,則不關心Behavior,報文最終動作是deny;
- ACL為permit,則執行Behavior,報文最終動作是Behavior。
重點內容
-
復雜流分類是指采用復雜的規則,如由報文的源 MAC、目的 MAC、內外層 Tag、源 IP 地址、源端口號、目的 IP 地址、目的端口號等對報文進行精細的分類。復雜流分類主要部署在網絡的邊緣節點;
-
復雜流分類根據規則匹配的方式實現流分類,多個規則之間有And和Or(缺省邏輯)兩種邏輯關系;
相關知識點
ACL,是Access Control List的簡稱,中文名稱叫“訪問控制列表”,它由一系列規則(即描述報文匹配條件的判斷語句)組成。這些條件,可以是報文的源地址、目的地址、端口號等。這樣解釋ACL,大家是不是覺得太抽象了!打個比方,ACL其實是一種報文過濾器,ACL規則就是過濾器的濾芯。安裝什么樣的濾芯(即根據報文特征配置相應的ACL規則),ACL就能過濾出什么樣的報文了。 基於過濾出的報文,我們能夠做到阻塞攻擊報文、為不同類報文流提供差分服務、對Telnet登錄/FTP文件下載進行控制等等,從而提高網絡環境的安全性和網絡傳輸的可靠性。