Wild Card反遮罩

作   者:陳照昌 精誠資訊 恆逸教育訓練中心 資深講師
技術分類:網路管理與通訊應用

Wild Card在網路上有著不可或缺的重要性,但一般人對它並不太了解,今天來簡單的說明一下,希望對網路有興趣的同學有幫助。

Wild Card的目的:
它是用來表示一個網段的IP Address。但有人會說,表示一個網段的IP Address使用遮罩值(Mask, Submask)就可以了啊。是的,使用遮罩值一樣可以表示一個網段的IP Address,但如果您使用到路由器(Router)的操作,您就會發現,有些地方的設定非得使用Wild Card來表示,所以網路管理者必須會使用Wild Card!!

Wild Card的定義:
它使用32個bits,跟遮罩一樣長。定義是”前面不變的位元保持0,後面可以改變的位元保持1”。遮罩的定義則是"前面不變位元保持1(Network ID),後面可以改變的位元保持0(Host ID)”,換句話說,Wild Card的定義正好和遮罩相反(筆者一直認為應該是巧合吧!)所以Wild Card又稱之為”反遮罩”!!

讓我們用實際範例來說明會比較清楚,假設我們有一個網段,使用了Class C的IP Address,網路ID為192.168.1.0遮罩值為255.255.255.0,那麼如果使用Wild Card來表示,Wild Card應該寫成多少呢?

解法1:使用反遮罩特性
既然知道遮罩值為255.255.255.0寫成二進位就是 11111111.11111111.11111111.00000000 那麼相對的Wild Card(反遮罩)就是將1的部分變成0,將0的部分變成1,就是 00000000.00000000.00000000.11111111 寫成十進位則是0.0.0.255

解法2:利用Wild Card定義思考
此網段的IP Address範圍為192.168.1.0~192.168.1.255
化成二進位去觀察的話,會知道前面24個位元大家都是一樣的(192.168.1)如下表所示:

192.168.1.011000000.10101000.00000001.00000000
192.168.1.111000000.10101000.00000001.00000001
192.168.1.211000000.10101000.00000001.00000010

192.168.1.25411000000.10101000.00000001.11111110
192.168.1.25511000000.10101000.00000001.11111111

這些IP Address的前面24個bits都一樣,所以使用Wild Card就是前面的24個bits成0,而這些IP Address後面的8個bits有可能是1或0,所以Wild Card就寫成1,得出Wild Card應為 00000000.00000000.00000000.11111111寫成十進位則變成0.0.0.255

再舉一個例子,假設是一個子網段,IP Address是從192.168.1.32~192.168.1.63共有32個IP Address,那使用Wild Card應如何來表示呢?

解法1:使用反遮罩特性
當然可以,您可以先把此段IP Address的遮罩算出來,再反過來即可!這樣的方式雖然簡單通俗但需要算兩次,請同學自行練習。

解法2:利用Wild Card定義思考
筆者比較建議您必須熟悉這樣的方式,因為熟了之後會比較清楚Wild Card的定義。將IP Address都化成二進位(如下表),再觀察IP Address哪些位元是一樣的,哪些位元是不同的。

192.168.1.3211000000.10101000.00000001.00100000
192.168.1.3311000000.10101000.00000001.00100001
192.168.1.3411000000.10101000.00000001.00100010

192.168.1.6211000000.10101000.00000001.00111110
192.168.1.6311000000.10101000.00000001.00111111

因此我們就找到前面27個字元是一樣的,Wild Card就是前面27個0,後面剩下5個bits則為1,就是寫成00000000.00000000.00000000.00011111寫成十進位則是0.0.0.31,很容易吧。

解法3:Wild Card 速算法
怎會有解法3呢?因為要快速的計算與使用Wild Card,像解法2那樣一個個IP Address化成二進位,再來觀察尋找太浪費時間了,所以就有懶人解法3出現了。方法就是,將最後一個IP Address減第一個IP Address就是Wild Card了。例如192.168.1.63減192.168.1.32就等於0.0.0.31 !!

192.168.1.63 – 192.168.1.32 = 0.0.0.31

神奇吧,雖說是速算法,但我還是希望同學先懂解法2的正常方式比較好!!使用此速算法,必須IP Address在正確的網段範圍,不是任何連續IP Address都可以這樣表示喔。

Wild Card使用時機
例如:我們在Router上操作時,建立ACL(Access Control List),以下為範例

正確的寫法:
Router1(config)# access-list 102 permit udp 192.168.5.0   0.0.0.255
host 192.168.6.1 eq 69

上面ACL的範例,在描述讓那些IP Address可以通過時,使用的方式就一定要寫Wild Card而不可以寫遮罩(如下)。

錯誤的寫法:
Router1(config)# access-list 102 permit udp 192.168.5.0   255.255.255.0
host 192.168.6.1 eq 69

結語
Wild Card是用來描述一段連續的IP Address,筆者透過這一篇文章,讓大家知道Wild Card的定義及用途,希望對大家有幫助。

Share |
您可在下列課程中了解更多技術...
相關學習資源︰

【CCNAX】CCNA Routing and Switching認證-Cisco網路建置實務
【DESGN】CCDA認證-Cisco企業網路規劃實務
【IINS】CCNA Security認證-建置Cisco IOS網路安全
【IUWNE】CCNA Wireless認證-建置Cisco整合式無線網路