理解萬用字元掩碼

2022-10-09 11:21:06 字數 1571 閱讀 6188

一、什麼是 萬用字元 掩碼 萬用字元 掩碼是乙個32位位元數,以點分十進位制表示,告訴路由器資料報ip位址的哪些位元需要和access-list命令中給定的ip位址相匹配。 二、 萬用字元 掩碼的作用 一條典型的acl僅能指定乙個要允許或拒絕ip的規則,如果要阻止多個位址或一

一、什麼是萬用字元掩碼

萬用字元掩碼是乙個32位位元數,以點分十進位制表示,告訴路由器資料報ip位址的哪些位元需要和access-list命令中給定的ip位址相匹配。

二、萬用字元掩碼的作用

一條典型的acl僅能指定乙個要允許或拒絕ip的規則,如果要阻止多個位址或一段範圍的位址,那麼如使用典型的acl規則,則需要新增多條才能滿足。這樣導致工作量增多,易出錯且acl執行效率降低等不足。而萬用字元掩碼就是解決批量範圍的acl應用。簡單來說,萬用字元掩碼定義了資料報位址的哪部分需要匹配acl中已列出的位址,哪些部分不需要匹配。

對於只有0和255位元組的萬用字元掩碼,0位元組表示需要匹配,255位元組表示不需要匹配。

三、簡單型萬用字元掩碼

對於標準的ip位址,使用觀察就可以確定資料報的哪些位會被acl分析,具體參見下例:

允許單台主機的萬用字元掩碼

172.16.33.134 0.0.0.0

允許某個/24網路所有主機的萬用字元掩碼

192.168.0.0 0.0.0.255

允許某個/16網路所有主機的萬用字元掩碼

172.16.0.0 0.0.255.255

允許某個/8網路所有主機的萬用字元掩碼

10.0.0.0 0.255.255.255

四、複雜型萬用字元掩碼求法

從上面可以看出萬用字元掩碼能實現針對一段位址範圍的過濾,如上面例子,也就是分別針對單個位址,c類位址,b類位址以及a類標準位址的網路位址進行精準匹配。那麼除了標準的網路位址匹配外,對於有劃分子網,或沒有劃分子網但希望實現對某段位址範圍進行acl控制,萬用字元掩碼能不能實現呢?答案是可以的,參見下面的例子:

問題:有192.168.22.0/26的網路,如何實現萬用字元掩碼進行acl控制

方法一:根據塊大小求得萬用字元掩碼:塊大小-1

已知/26,可知塊大小=64,那麼實現上述網路細分為四個子網:

192.168.22.0

192.168.22.64

192.168.22.128

192.168.22.192

(塊大小-1)即是萬用字元掩碼中不必進行精準匹配的部分,所以萬用字元掩碼=0.0.0.63

方法二、根據子網掩碼求萬用字元掩碼:(255.255.255.255-子網掩碼)

已知/26,所以子網掩碼是:255.255.255.192

萬用字元掩碼=255.255.255.255-子網掩碼-0.0.0.63

四、萬用字元掩碼與any/host關鍵字

某兩個特殊的萬用字元掩碼與any/host關鍵字含義相同,且ios更傾向使用特殊關鍵字。

其中:host=0.0.0.0,表示所有的位元位都必須匹配

any=255.255.255.255,表示所有的位元位都不需要匹配

我兒子真帥!

了解ACL 萬用字元掩碼

學習acl,搞懂acl就不能不搞定wildcard mask,萬用字元掩碼。說簡單點,萬用字元掩碼就是0為絕對匹配,必須嚴格匹配才行,而1為任意,從某種意義上講,如果乙個8位上有乙個1字元,那也只有兩種方式,0或者1,但是如果進行組合,那麼方式就多了。舉例說明吧。一般我們在應用上都是進行位址塊的匹配...

opencv mask 掩碼 的理解

在opencv中我們經常會遇到乙個名字 mask 掩膜 很多函式都使用到它,那麼這個mask到底什麼呢?一開始我接觸到mask這個東西時,我還真是一頭霧水啊,也對無法理解mask到底有什麼用。經過查閱大量資料後,也對mask有一點自己的理解了,下面就說說我的理解。比如我要對一幅圖進行摳圖操作,這就要...

子網掩碼怎麼理解

地主老了,需要把256間房子分給4個兒子,平均分配,每個兒子可以分64間。請來一位先生主持公道,先生這麼來操作 192.168.1.0 192.168.1.63 分給大兒子 192.168.1.64 192.168.1.127 分給二兒子 192.168.1.128 192.168.1.191 分給...