ACL和前綴列表的比對

一、 相同點:都可以用於過濾(ACL既可過濾數據包,也可過濾路由;前綴列表只能過濾路由)

二、不同點:

1. ACL在過濾時,除了網絡前綴外,有一個通配符掩碼,這個通配符掩碼類似於一個反向的子網掩碼,但不等於子網掩碼,這通配符掩碼中,爲0的位表示要進行檢查,即被過濾的內容要和ACL的網絡前綴對應的位相同;爲1的位表示不需要檢查,無關緊要,則表示這個位不需要和ACL中的網絡前綴相同。 通過這個功能,在一條ACL的一個條目中,可以匹配多個網段/路由。

使用ACL過濾時,不能匹配網絡前綴的子網掩碼。它並不是一個反向的掩碼。

例: 路由器有1.1.0.0/24 1.1.1.0/24 1.1.2.0/24和1.1.3.0/24這麼這條路由,需要使用一個ACL的一條語句來匹配1.1.1.0和1.1.2.0,則可以使用 1.1.0.0 0.0.1.0來表示

我們來分析一下,這兩條路由只有第3段是不相同的,把它們展開成2進制,得出

0(10進制)= 0000 0000(二進制)

1(10進制)= 0000 0001(二進制)

通配符掩碼使用0000 0001表示

那麼,這兩條路由只有第三段的最後一位,即第24位是不同的,其餘的段都相同。就可以寫成:

acl number 2000

rule 10 permit source 1.1.0.0 0.0.1.0

其次:ACL可以分爲基本的和高級的ACL還有二層ACL等各類,除了可以匹配網絡前綴外,還可以匹配端口號,協議之類。

2. 使用前綴列表的時候,它的使用格式是:

[R2]ip ip-prefix test index 10 permit 172.16.0.0 16 greater-equal 24 less-equal 32

172.16.0表示的是網絡前綴;

16表示mask-lenth,這個參數有兩個作用,單獨使用,不帶後面的greater或less的時候,它就表示前多少位要與網絡前綴匹配並且表示掩碼的長度是多少;如果後面帶了greater或less,則mask-lenth的意義是表示被匹配的內容的前多少位要與網絡前綴相同,後面的greater表示被匹配的內容的子網掩碼長應該大於(等於),小於(等於)多少位。

示例:

ip ip-prefix test index 10 permit 172.16.0.0 16

# 表示只有172.16.0.0/16這條路由被匹配

ip ip-prefix test index 10 permit 172.16.0.0 16 greater-equal 24 less-equal 32

#表示匹配以172.16開頭的路由,子網掩碼爲24-32位的都被匹配。比如172.16.0.0/24 172.16.1.0/26 172.16.100.0/30都可以被匹配到。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章