華爲網絡之ACL的基本原理

ACL的基本原理

ACL由一系列規則組成,通過將報文與ACL規則進行匹配,設備可以過濾出特定的報文。

ACL的組成

一條ACL的結構組成,如圖1所示。

華為網絡之ACL的基本原理

ACL編號:用於標識ACL,表明該ACL是數字型ACL。

根據ACL規則功能的不同,ACL被劃分為基本ACL、高級ACL、二層ACL和用戶ACL這幾種類型,每類ACL編號的取值範圍不同

除了可以通過ACL編號標識ACL,設備還支持通過名稱來標識ACL,就像用域名代替IP地址一樣,更加方便記憶。這種ACL,稱為命名型ACL。

命名型ACL實際上是“名字+數字”的形式,可以在定義命名型ACL時同時指定ACL編號。如果不指定編號,則由系統自動分配。例如,下面就是一個既有名字“deny-telnet-login”又有編號“3998”的ACL。

華為網絡之ACL的基本原理

規則:即描述報文匹配條件的判斷語句。

  • 規則編號:用於標識ACL規則。可以自行配置規則編號,也可以由系統自動分配。

ACL規則的編號範圍是0~4294967294,所有規則均按照規則編號從小到大進行排序。所以,圖5-2中的rule 5排在首位,而規則編號最大的rule 4294967294排在末位。系統按照規則編號從小到大的順序,將規則依次與報文匹配,一旦匹配上一條規則即停止匹配。

  • 動作:包括permit/deny兩種動作,表示允許/拒絕。
  • 匹配項:ACL定義了極其豐富的匹配項。除了圖1中的源地址和生效時間段,ACL還支持很多其他規則匹配項。例如,二層以太網幀頭信息(如源MAC、目的MAC、以太幀協議類型)、三層報文信息(如目的地址、協議類型)以及四層報文信息(如TCP/UDP端口號)等。

ACL的匹配機制

設備將報文與ACL規則進行匹配時,遵循“一旦命中即停止匹配”的機制,如圖2所示

華為網絡之ACL的基本原理

首先系統會查找設備上是否配置了ACL。

如果ACL不存在,則返回ACL匹配結果為:不匹配。

如果ACL存在,則查找設備是否配置了ACL規則。

  1. 如果規則不存在,則返回ACL匹配結果為:不匹配。
  2. 如果規則存在,則系統會從ACL中編號最小的規則開始查找。
  • 如果匹配上了permit規則,則停止查找規則,並返回ACL匹配結果為:匹配(允許)。
  • 如果匹配上了deny規則,則停止查找規則,並返回ACL匹配結果為:匹配(拒絕)。
  • 如果未匹配上規則,則繼續查找下一條規則,以此循環。如果一直查到最後一條規則,報文仍未匹配上,則返回ACL匹配結果為:不匹配。

從整個ACL匹配流程可以看出,報文與ACL規則匹配後,會產生兩種匹配結果:“匹配”和“不匹配”

  • 匹配(命中規則):指存在ACL,且在ACL中查找到了符合匹配條件的規則。

不論匹配的動作是“permit”還是“deny”,都稱為“匹配”,而不是隻是匹配上permit規則才算“匹配”。

  • 不匹配(未命中規則):指不存在ACL,或ACL中無規則,再或者在ACL中遍歷了所有規則都沒有找到符合匹配條件的規則。

以上三種情況,都叫做“不匹配”。


分享到:


相關文章: