前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网络工程师入门系列 | 通配符掩码计算

网络工程师入门系列 | 通配符掩码计算

作者头像
网络技术联盟站
发布2020-01-13 17:57:10
3.7K0
发布2020-01-13 17:57:10
举报
文章被收录于专栏:网络技术联盟站

一、通配符掩码

1.通配符掩码的用途和结构
①用途

通配符掩码(wildcard-mask)路由器使用的通配符掩码与源或目标地址一起来分辨匹配的地址范围,它与子网掩码不同。它不像子网掩码告诉路由器IP地址的哪一位属于网络号一样,通配符掩码告诉路由器为了判断出匹配,它需要检查IP地址中的多少位。

②结构

通配符掩码中,0表示要检查的位,1表示不需要检查的位

通配符掩码中,可以用255.255.255.255表示所有IP地址,因为全为1说明32位中所有位都不需检查,此时可用any替代。而0.0.0.0的通配符则表示所有32位都必须要进行匹配,它只表示一个IP地址,可以用host表示。

二、求子网掩码255.255.255.248通配符掩码(反掩码)

(1)、把子网掩码255.255.255.248转换成二进制为:
代码语言:javascript
复制
11111111.11111111.11111111.11111000

通配符掩码值为:广播全1(二进制)地址 减去 子网掩码二制制值,即:

代码语言:javascript
复制
11111111.11111111.11111111.11111111 - 11111111.11111111.11111111.11111000

得到结果为:

代码语言:javascript
复制
00000000.00000000.00000000.00000111

转换为十进制:

代码语言:javascript
复制
0.0.0.7
(2)、通配符掩码=255-掩码.255-掩码.255-掩码.255-掩码,即:
代码语言:javascript
复制
255-255.255-255.255-255.255-248=0.0.0.7

三、求子网掩码255.255.128.0通配符掩码(反掩码)

(1)、把子网掩码255.255.128.0转换成二进制为:
代码语言:javascript
复制
11111111.11111111.10000000.0000000

通配符掩码值为:广播全1(二进制)地址 减去 子网掩码二制制值,即:

代码语言:javascript
复制
11111111.11111111.11111111.11111111 - 11111111.11111111.10000000.0000000

得到结果为:

代码语言:javascript
复制
00000000.00000000.01111111.11111111

转换为十进制:

代码语言:javascript
复制
0.0.127.255
(2)、通配符掩码=255-掩码.255-掩码.255-掩码.255-掩码,即:
代码语言:javascript
复制
255-255.255-255.255-128.255-0=0.0.127.255

如 ip地址为 192.168.0.1 通配符掩码为 0.0.0.255

遇到这样的题目大家肯定会直接把通配符掩码取反,

代码语言:javascript
复制
00000000.0000000.00000000.11111111 (0.0.0.255)
取反 
11111111.11111111.11111111.00000000

得出的范围是:192.168.0.0/24

例: ip地址为 192.168.0.1 通配符掩码为0.0.3.255

代码语言:javascript
复制
00000000.00000000.00000011.11111111 (0.0.3.255)
取反
11111111.11111111.11111100.00000000

得出的范围是:192.168.0.0/22

以上2个例子都是连续的,也就是通配符转换二进制后1和0都是连续的,通配符和反掩码区别在于,转换二进制后,通配符可以不连续,而反掩码需要连续,那么不连续的通配符该如何计算呢?

ip地址为 192.168.0.1 通配符掩码为 0.0.2.255 表示的范围是 192.168.0.0/24192.168.2.0/24

这题并不能用上面的方法计算,那该如何计算呢?其实我们都存在着一个误区,认为通配符掩码就是子网掩码取反.

我们看百度百科解释中这样的一句话:相反,在访问列表中将通配符掩码中的一位设成1表示I P地址中对应的位既可以是1又可以是0。有时,可将其称作“无关”位,因为路由器在判断是否匹配时并不关心它们。

也就是说通配符掩码1相对应的位,是无关紧要的,可以是0也可以是1.那么我们的计算方法就出来了。

首先转换成二进制

代码语言:javascript
复制
11000000.10101000.00000000.00000001 (192.168.0.1)
00000000.00000000.00000010.11111111 (0.0.2.255)

通配符掩码0位必须检查,1位无需检查,也就是说通配符掩码第三段第7位那个1所对应的IP位,可以是0也可以是1. 结果就产生了2种情况.

代码语言:javascript
复制
11000000.10101000.00000000.11111111
和
11000000.10101000.00000010.11111111

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络技术联盟站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、通配符掩码
    • 1.通配符掩码的用途和结构
    • 二、求子网掩码255.255.255.248通配符掩码(反掩码)
    • 三、求子网掩码255.255.128.0通配符掩码(反掩码)
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档