反掩碼和通配符,傻傻分不清?

大家好,我是小弗。上次寫 OSPF 時,沒把通配符講透,現在專門來講講相關內容。

網絡掩碼

網絡掩碼,大家很熟悉。格式跟 IP 地址一樣,是 32 位的二進制數,網絡部分用 1 表示,主機部分用 0 表示,和 IP 地址同時使用纔有意義。

我們可以發現,網絡掩碼是由 1 和 0 組成,而且 1 和 0 都是連續的。左邊的 1 表示網絡位,右邊的 0 表示主機位。

如果 1 和 0 不是連續的,就是錯誤的網絡掩碼,無法正確識別網絡子網。比如 255.0.255.0255.170.0.0

反掩碼

上篇 OSPF 實驗文章說過,接口激活 OSPF 的方法之一,是在區域視圖下,使用 network 命令,再加上 IP 地址和通配符掩碼。關於通配符掩碼,解釋的比較粗略:比特位爲 0 的需要匹配,比特位爲 1 的不需要匹配。這裏,我們就來深挖一下,查看下產品手冊,network 命令說明如下:

再來看看設備命令行下的提示:

這裏就發現有意思的現象,產品手冊上的 wildcard mask ,而設備提示的 wild card bits ,既可以翻譯爲反掩碼,又可以翻譯爲通配符。但是,反掩碼和通配符,其實是兩個概念,產品手冊上的解釋:把 IP 地址的掩碼反轉( 0 變 1 ,1 變 0 ),其實就是反掩碼的意思。

那麼這裏是要填反掩碼還是填通配符呢?最有效的方法,就是上設備去敲命令,分別輸入反掩碼和通配符,看下命令能否配置成功。

破案了!反掩碼,配置成功。通配符,配置失敗,錯誤提示:網絡掩碼無效,網絡掩碼必須要是連續的。

結論:激活接口 OSPF ,是使用反掩碼,而非通配符。

通配符

那什麼是通配符呢?通配符,格式跟網絡掩碼一樣,要跟 IP 地址結合使用,也是由 0 和 1 組成,0 和 1 可以任意組合,不一定要連續的。0 是需要匹配,1 就不需要匹配。

上面的都是通配符,當然,我說的也不一定是對的。咱們來查找資料和動手實操,驗證一下即可。通配符,通常用於 ACL 。先來看看產品手冊上的使用說明:

這裏還特意對通配符進行了解釋,以及舉例說明。再看看設備命令行上的說明:

命令行提示說明,第一行表示源的通配符,第二行 0.0.0.0 表示主機地址,也就是 IP 地址全匹配。

對比名詞解釋,通配符的範圍是大於反掩碼的,也就是說,能使用通配符,那就一定能夠使用反掩碼。下面我們就來試試,在設備配置上面的四個通配符:

這時,我們發現配置命令全生效了,而且 ACL 的配置還產生了對應的變化。以 rule permit source 4.4.4.4 1.2.3.4 爲例,說明下配置變化的原因:

通配符原則:0 必須匹配,也就是值不能變,1 無需匹配,也就是值可以變化。所以 ACL 匹配的 IP 地址變爲 4.4.4.0 。也因爲 1 無需匹配,就有多種可能,所以也可以表示爲 5.4.4.0 或 5.6.7.4 等。

結論:配置 ACL ,使用通配符。

總結

對比掩碼、反掩碼、通配符:

常用的通配符:

看到這裏,又 GET 一個知識點,離大牛更近一步!

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/jvgf3mjYldJCdv_snZit_A