Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >网络工程师入门系列 | 通配符掩码计算

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

作者头像
网络技术联盟站
发布于 2020-01-13 09:57:10
发布于 2020-01-13 09:57:10
4K04
代码可运行
举报
运行总次数:4
代码可运行

一、通配符掩码

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
代码运行次数:0
运行
AI代码解释
复制
11111111.11111111.11111111.11111000

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
11111111.11111111.11111111.11111111 - 11111111.11111111.11111111.11111000

得到结果为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
00000000.00000000.00000000.00000111

转换为十进制:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
0.0.0.7
(2)、通配符掩码=255-掩码.255-掩码.255-掩码.255-掩码,即:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
255-255.255-255.255-255.255-248=0.0.0.7

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

(1)、把子网掩码255.255.128.0转换成二进制为:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
11111111.11111111.10000000.0000000

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
11111111.11111111.11111111.11111111 - 11111111.11111111.10000000.0000000

得到结果为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
00000000.00000000.01111111.11111111

转换为十进制:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
0.0.127.255
(2)、通配符掩码=255-掩码.255-掩码.255-掩码.255-掩码,即:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
255-255.255-255.255-128.255-0=0.0.127.255

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
00000000.0000000.00000000.111111110.0.0.255)
取反 
11111111.11111111.11111111.00000000

得出的范围是:192.168.0.0/24

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
00000000.00000000.00000011.111111110.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
代码运行次数:0
运行
AI代码解释
复制
11000000.10101000.00000000.00000001192.168.0.100000000.00000000.00000010.111111110.0.2.255

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
11000000.10101000.00000000.1111111111000000.10101000.00000010.11111111

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
通配符掩码的计算
我不太清楚通配符掩码具体是怎么定义的,但是在大多数初学者的印象中通配符掩码就是子网掩码取反,在网上搜索了一下也没有什么具体解释,下面是摘自百度百科的解释:
全栈程序员站长
2022/09/15
6980
通配符和通配符掩码
  在路由器的配置中,经常出现通配符。和子网掩码一样,都是以“0”或“1”表示,不过与子网掩码所表示的意思却不一样。
全栈程序员站长
2022/09/15
1.8K0
什么是通配符掩码
通配符掩码(Wildcard Mask) — 通配符掩码(Wildcard Mask)是一个32位的数量,用在与一个IP地址的联合上来决定在一个IP地址的那个位应该不忽略,在将那个地址与另一个IP地址相比时。一个通配符掩码在设置接入列表时被指定。
全栈程序员站长
2022/09/15
1.6K0
如何理解掩码、反掩码、通配符「建议收藏」
一、掩码 在掩码中,1表示精确匹配,0表示随机 1和0,永远不交叉; 1永远在左边,0永远在右边; 在配置IP地址以及路由的时候,会使用掩码; 二、反掩码 在反掩码中,1表示随机,0表示精确匹配 0和1,永远不交叉; 0永远在左边,1永远在右边; 在路由协议的配置中,通过network命令进行网段宣告时,会使用 三、通配符 在统配符中,1表示随机,0表示精确匹配 0和1的位置,没有任何的固定限制 可以连续,可以交叉 在ACL中,使用的通配符 通配符掩码表
全栈程序员站长
2022/09/09
3.2K0
子网掩码,反掩码与通配符之间的区别
1:子网掩码与反掩码的区别: 反掩码就是通配符掩码 通过标记0和1告诉设备应该匹配到哪位copy。 由于跟子网掩码刚好相zd反,所以也叫反掩码 例如掩码是255.255.255.0 wildcard-mask 就是0.0.0.255 255.255.255.248 反掩就是0.0.0.7 2:通配符掩码,ospf和Acl这儿用通配符掩码也不是每家的交换机都这么做,像cisco 3550就是用的子网掩码,所以不是一定的。
全栈程序员站长
2022/09/09
1.2K0
子网掩码和通配符掩码的区别
说白了子网掩码的工作原理就是,它拥有和主机IP地址一样的位数,每一位与对应的ip地址位进行“与”操作,得出的结果就是主机所在的子网,打个比方,192.168.1.1 255.255.255.0这是一个标准的C类网络,子网掩码/24,所以它的网络位也就是所在的子网就是192.168.1.0,计算过程如下:
全栈程序员站长
2022/09/15
1.3K0
这份CIDR子网掩码备忘单,请所有网络工程师收藏!
CIDR(无类域间路由)是一种用于划分和管理IP地址的方法。在CIDR中,IP地址被表示为CIDR前缀和子网掩码的组合。子网掩码用于确定一个IP地址的网络部分和主机部分。了解CIDR子网掩码对于网络工程师和系统管理员来说是至关重要的。本文将详细介绍CIDR子网掩码备忘单,以便快速参考和配置网络。
网络技术联盟站
2023/06/25
5980
这份CIDR子网掩码备忘单,请所有网络工程师收藏!
网络工程师入门系列 | IP子网划分
这其中除了段0和段127之外,还有一些IP地址因为有其他的用途,是不可以用作普通IP的。还有一部分被用作私有IP地址。
网络技术联盟站
2019/12/30
1.1K0
网络工程师入门系列 | IP子网划分
网络号 IP地址 子网掩码如何计算
1.Internet上每一台计算机都有唯一的地址来标识它的身份,即IP地址,使用域名其实也是要转化为IP地址的。
双面人
2019/06/02
4.4K0
网络协议(二):MAC地址、IP地址、子网掩码、子网和超网
计算工具:https://www.sojson.com/convert/subnetmask.html
Java微观世界
2025/01/21
4740
网络协议(二):MAC地址、IP地址、子网掩码、子网和超网
理解通配符掩码
通配符掩码是一个32位比特数,以点分十进制表示,告诉路由器数据包IP地址的哪些比特需要和access-list命令中给定的IP地址相匹配。
全栈程序员站长
2022/09/15
1.2K0
通配符掩码的应用 ACL 访问控制列表
ACL(Access Control List) 访问控制列表在作为数据包的过滤器以及在对指定的某种类型的数据包的优先级,起到了对某些数据包的优先级起到了限制流量的作用,减少了网络的拥塞。通配符掩码作为ACL中重要的一部分,是路由器在进行访问控制时必不可少的重要部件,那么什么是通配符掩码呢?
全栈程序员站长
2022/09/09
9580
计算机网络 | 思科网络 | ACL通配符掩码「建议收藏」
通配符掩码是由 32 个二进制数字组成的字符串,路由器使用它来确定检查地址的哪些位以确定匹配项。和子网掩码一样,通配符掩码中的数字 1 和 0 用于标识如何处理相应的 IPv4 地址位。但是,在通配符掩码中,这些位的用途不同,所遵循的规则也不同。子网掩码使用二进制 1 和 0 标识 IPv4 地址的网络、子网和主机部分。通配符掩码使用二进制 1 和 0 过滤单个 IPv4 地址或一组 IPv4 地址,以便允许或拒绝对资源的访问。
全栈程序员站长
2022/09/15
3.6K0
计算机网络 | 思科网络 | ACL通配符掩码「建议收藏」
子网划分和计算方法(附习题详解)
把十进制数的IP地址换算成二进制数,把子网掩码也由十进制数换算成二进制数,两对二进制数对齐做“与”运算,即可得出网络号。
全栈程序员站长
2022/09/14
10.1K0
子网划分和计算方法(附习题详解)
作为网络工程师必须要掌握这些子网划分技巧
在IP网络中,数据包的寻址是基于IP地址来进行的,因此IP地址就像是现实生活中的地址一样。
网络技术联盟站
2023/03/05
7140
作为网络工程师必须要掌握这些子网划分技巧
IP地址(分类)、子网掩码、网络号、主机号、子网号
IP地址被用来给Internet上的电脑一个编号。大家日常见到的情况是每台联网的PC上都需要有IP地址,才能正常通信。我们可以把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”,而Internet中的路由器,就相当于电信局的“程控式交换机”。 IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。例:点分十进IP地址(100.4.5.6),实际上是32位二进制数(01100100.00000100.00000101.00000110)
全栈程序员站长
2022/09/12
10.4K0
IP地址(分类)、子网掩码、网络号、主机号、子网号
IP地址分类以及网络地址的计算(子网划分、超网划分)[通俗易懂]
本次我将从以下5个方面介绍IP地址(由于篇幅的问题,本篇我只介绍分类编址,无分类编址将在下一篇介绍)
全栈程序员站长
2022/08/10
5.8K0
IP地址分类以及网络地址的计算(子网划分、超网划分)[通俗易懂]
面向程序员的网络基本知识 - IP地址
本系列文章旨在向程序员分享一些网络基本知识,让程序员具备基本的网络常识,以便与网络工程师沟通。本系列文章不会涉及如何组建网络、如何配置交换机/路由器等硬件相关的内容,所以不适合想考CCNA/HCNA证书的人士。
颇忒脱
2018/10/19
6440
根据IP地址和子网掩码求网络号、主机号
一、理论阐述 目前,IP地址主要使用32位的二进制来表示,即IPv4地址。由于32位二进制不容易记忆和书写,故采用点分十进制形式来表示IP地址。IP地址由两部分组成{<网络号>,<主机号>},网络号表示计算机所在的网络,供路由器在进行路由选择时使用;主机号是计算机在该网络中的唯一标识。 IP地址分为A、B、C、D、E五类,其中: A类IP地址第一个字节的范围是:1~126 B类IP地址第一个字节的范围是:128~191 C类IP地址第一个字节的范围是:192~223 D类IP地址第一个字节的范围是:224~239 E类IP地址第一个字节的范围是:240~255 子网掩码用来指明一个IP地址的网络位和主机位,它不能单独存在,必须结合IP地址一起使用。子网掩码也采用点分十进制来表示。 A类网络默认的子网掩码为:255.0.0.0 B类网络默认的子网掩码为:255.255.0.0 C类网络默认的子网掩码为:255.255.255.0 那么,在未进行子网划分的情况下,如何根据IP地址和子网掩码求出指定计算机的网络号和主机号呢? 求网络号: (1)将点分十进制表示的IP地址、子网掩码分别转换为二进制表示; (2)将以上得到的两个二进制做“与”(AND)运算,也可直接保留子网掩码中“1”所对应的IP地址的部分,主机位用“0”来填充; (3)将第(2)步得到的运算结果转换为点分十进制表示,即可得到网络号。 求主机号: (1)将点分十进制表示的IP地址、子网掩码分别转换为二进制表示; (2)将上面得到的二进制表示的子网掩码取反,再与二进制表示的IP地址做“与”(AND)运算,也可直接保留子网掩码中“0”所对应的部分; (3)将第(2)步得到的运算结果转换为点分十进制表示,即可得到主机号。 二、举例说明 已知:IP地址为192.168.0.143,子网掩码为255.255.255.0,求网络号、主机号。 解: (1)将IP地址转换为对应的二进制: 11000000.10101000.00000000.10001111 (2)将子网掩码转换为对应的二进制: 11111111.11111111.11111111.00000000 (3)以上两结果进行“与”运算: 11000000.10101000.00000000.00000000 (4)将上述二进制结果转换为点分十进制表示,则网络号为: 192.168.0.0 (5)将子网掩码的二进制表示取反: 00000000.00000000.00000000.11111111 (6)将(1)和(5)的结果做“与”运算: 00000000.00000000.00000000.10001111 (7)将上述二进制结果转换为点分十进制表示,则主机号为143。
全栈程序员站长
2022/09/12
4.5K0
了解ACL—通配符掩码「建议收藏」
学习ACL,搞懂ACL就不能不搞定wildcard mask,通配符掩码。说简单点,通配符掩码就是0为绝对匹配,必须严格匹配才行,而1为任意,从某种意义上讲,如果一个8位上有一个1字符,那也只有两种方式,0或者1,但是如果进行组合,那么方式就多了。 举例说明吧。 一般我们在应用上都是进行地址块的匹配,怎么讲呢?就是说: 1)对某个A B C类网进行匹配或者教通配符屏蔽 2)对某个子网应用ACL。 3)对特定主机应用ACL 4)对任意主机或者网络应用ACL 5)特殊情况的匹配 差不多就是以上五种情况,下面一一说明。 1)对某个有类网络进行ACL的通配符屏蔽。 这种情况很好解释。 例如:A类:10.0.0.0 0.255.255.255 先写成二进制形式: 00001010.00000000.00000000.00000000 00000000.11111111.111111111.11111111 可以看出,第一个字节需要严格匹配,也就是说必须为10.,后面的任意匹配。 得到的网络为10...* 如果我把这个改一下呢?10.0.0.0 0.0.3.255 同样写成二进制形式:00001010.00000000.00000000.00000000 00000000.00000000.00000011.111111111 前两个字节严格匹配为10.0,后面的同上题一个思路,0就严格匹配,1就任意。 在这里,后10个比特可以任意匹配,我们通过计算可以得到合适的结果: 10.0.0.* 10.0.1.* 10.0.2.* 10.0.3.* 这四个子网
全栈程序员站长
2022/09/09
2.2K2
相关推荐
通配符掩码的计算
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档