反掩碼詳解
正掩碼和反掩碼的區別:正掩碼必須是連續的,而反掩碼可以不連續,例如:C類地址子網掩碼中不可以出現255.253.255.0(二進制爲11111111 11111101 11111111 00000000)這樣的掩碼;而反掩碼可以出現0.0.0.2(二進制爲00000000 00000000 00000000 00000010)。正掩碼錶示的路由條目,而反掩碼錶示的範圍。
反掩碼就是通配符掩碼 , 通過標記0和1告訴設備應該匹配到哪位。 在反掩碼中,相應位爲1的地址在比較中忽略,爲0的必須被檢查。IP地址與反掩碼都是32位的數 由於跟子網掩碼剛好相反,所以也叫反掩碼 。
例如掩碼是255.255.255.0 , wildcard-mask(通配符掩碼) 就是0.0.0.255 , 255.255.255.248 , 反掩就是0.0.0.7。
通配符掩碼(wildcard-mask)
路由器使用的通配符掩碼(或反掩碼)與源或目標地址一起來分辨匹配的地址範圍,它跟子網掩碼剛好相反。它像子網掩碼告訴路由器IP地址的哪一位屬於網絡位一樣,通配符掩碼告訴路由器爲了判斷出匹配,它需要檢查IP地址中的多少位。這個地址掩碼使我們可以只使用兩個32位的號碼來確定IP地址的範圍。這是十分方便的,因爲如果沒有掩碼的話,你不得不對每個匹配的IP客戶地址加入一個單獨的訪問列表語句。這將造成很多額外的輸入和路由器大量額外的處理過程。所以地址掩碼對相當有用。
在子網掩碼中,將掩碼的一位設成1表示IP地址對應的位屬於網絡地址部分。相反,在訪問列表中將通配符掩碼中的一位設成1表示I P地址中對應的位既可以是1又可以是0。有時,可將其稱作“無關”位,因爲路由器在判斷是否匹配時並不關心它們。掩碼位設成0則表示IP地址中相對應的位必須精確匹配。
在通配符掩碼中,值爲0 的八位位組表示網絡地址中相應的八位位組必須嚴格匹配。另一方面,職位255則表示不必關心網絡地址中相應的八位位組的匹配情況。網絡和通配符掩碼1.1.1.1 0.0.0.0的組合將只指定1.1.1.1,而不包含其它地址。
如果你堅持要匹配網絡中的某個範圍,則網絡和通配符掩碼1.1.0.0 0.0.255.255的組合將指定一個範圍1.1.0.0 ~ 1.1.255.255。
重點方法:當配置通配符時它們的取值總是塊尺寸減去1。例如:/28的塊尺寸爲16,因此在子網號和一個在需配置的八位位組中添加值爲15的統配符(0.0.0.15)。
通配符掩碼錶
CIDR 子網掩碼 反掩碼
/30 255.255.255.252 0.0.0.3
/29 255.255.255.248 0.0.0.7
/28 255.255.255.240 0.0.0.15
/27 255.255.255.224 0.0.0.31
/26 255.255.255.192 0.0.0.63
/25 255.255.255.128 0.0.0.127
/24 255.255.255.0 0.0.0.255
/23 255.255.254.0 0.0.1.255
/22 255.255.252.0 0.0.3.255
/21 255.255.248.0 0.0.7.255
/20 255.255.240.0 0.0.15.255
/19 255.255.224.0 0.0.31.255
/18 255.255.192.0 0.0.63.255
/17 255.255.128.0 0.0.127.255
/16 255.255.0.0 0.0.255.255
/15 255.254.0.0 0.1.255.255
/14 255.252.0.0 0.3.255.255
/13 255.248.0.0 0.7.255.255
/12 255.240.0.0 0.15.255.255
/11 255.224.0.0 0.31.255.255
/10 255.192.0.0 0.63.255.255
/9 255.128.0.0 0.127.255.255
/8 255.0.0.0 0.255.255.255
十進制通配符掩碼 計算方法
用二進制來表示子網掩碼值,再用廣播地址求其差值,然後再算回十進制。
即,推出公式:通配符掩碼=(255-掩碼). (255-掩碼). (255-掩碼). (255-掩碼)
舉例一
求子網掩碼255.255.255.248通配符掩碼(反掩碼)
(1) 把子網掩碼255.255.255.248轉換成二進制爲:
11111111.11111111.11111111.11111000
通配符掩碼值爲:廣播全1(二進制)地址 減去 子網掩碼二制制值,即:
11111111.11111111.11111111.11111111 - 11111111.11111111.11111111.11111000
得到結果爲:
00000000.00000000.00000000.00000111
轉換爲十進制:
0.0.0.7
(2) 通配符掩碼=(255-掩碼). (255-掩碼). (255-掩碼). (255-掩碼),即:
(255-255).(255-255).(255-255).(255-248)=0.0.0.7
舉例二
求子網掩碼255.255.128.0通配符掩碼(反掩碼)
(1) 把子網掩碼255.255.128.0轉換成二進制爲:
11111111.11111111.10000000.0000000
通配符掩碼值爲:廣播全1(二進制)地址 減去 子網掩碼二制制值,即:
11111111.11111111.11111111.11111111 - 11111111.11111111.10000000.0000000
得到結果爲:
00000000.00000000.01111111.11111111
轉換爲十進制:
0.0.127.255
(2) 通配符掩碼=(255-掩碼). (255-掩碼). (255-掩碼). (255-掩碼),即:
(255-255).(255-255).(255-128).(255-0)=0.0.127.255