反掩码与通配符掩码[通俗易懂]

反掩码与通配符掩码[通俗易懂]掩码我们学数通的应该都很熟悉,我们刚刚学习IP的时候肯定都学过,这里就不在叙述。今天我们要说的是反掩码和通配符掩码,反掩码相信大家也都不陌生,我们配置OSPF的时候都能用的到但是很多网工也就知道配置OSPF就要那么配置,用255.255.255.255减去正掩码就是反掩码,但是反掩码是啥却说不出来。反掩码掩码顾名思义就是正掩码反过来,正掩码是连续的1和0构成,用来…

大家好,又见面了,我是你们的朋友全栈君。

   掩码我们学数通的应该都很熟悉,我们刚刚学习IP的时候肯定都学过,这里就不在叙述。

   今天我们要说的是反掩码和通配符掩码,反掩码相信大家也都不陌生,我们配置OSPF的时候都能用的到但是很多网工也就知道配置OSPF就要那么配置,用255.255.255.255减去正掩码就是反掩码,但是反掩码是啥却说不出来。


 

 反掩码

 掩码顾名思义就是正掩码反过来,正掩码是连续的1和0构成,用来区分网络部分和主机部分,1对应网络位,0代表主机位。

反掩码与通配符掩码[通俗易懂]

而反掩码正好相反,由连续的0和1组成,0必须匹配,1无需匹配一般用在路由协议中,比如我们最熟悉的OSPF宣告网段时

反掩码与通配符掩码[通俗易懂]‘’

这就表示宣告了一个掩码前缀为24的网段,用我们的计算公式255.255.255.255-255.255.255.0=0.0.0.255,一般来说大家都是这么配置的,也没什么问题,但是一旦别人问你,特别是你的客户问你什么是反掩码,你总不能说,“不用知道什么是反掩码,只要会用就行了。”这句话的吧,所以我们在会用的同时也要知道它是什么。

反掩码与通配符掩码[通俗易懂]

如上面我们在OSPF中宣告的这个网段,按照0必须匹配,1无需匹配的规则,我们可以知道红线左边都是0也就是说192.168.1被0匹配不能改变,而红线右边全为1,意思就是把IP地址写成二进制后,后8位可以为任意的0和1,因为通配符1无需匹配的,它并不关心你对应的IP地址到底是1还是0。也就是说你IP地址是192.168.1.15也行,是192.168.1.200也行都能被0.0.0.255匹配上。

 


通配符

在说通配符之前我们先看几张图

反掩码与通配符掩码[通俗易懂]

反掩码与通配符掩码[通俗易懂]

很显然我们在配IP地址的时候,红圈里提示我们的是“IP ADDRESS MASK”IP地址的掩码

而我们在配ACL的时候,红圈里显示的是WILDCARD,就是通配符的意思。

通配符是由任意的0和1组成,一般用于ACL中,和反掩码一样也是按照0必需匹配,1无需匹配的原则来进行匹配的。

这个任意的0和1组成是什么意思?我们来通过几条ACL语句来感受一下:

通配符我可以这样写:

反掩码与通配符掩码[通俗易懂]

也可以这样写

反掩码与通配符掩码[通俗易懂]

还能这么写

反掩码与通配符掩码[通俗易懂]

如果说前面的你都能理解的话,那还有更花里胡哨的,我还能这么写:

反掩码与通配符掩码[通俗易懂]

这下就不好理解了吧,通配符难就难在这个地方。

我们来看下ACL 2001里的配置

反掩码与通配符掩码[通俗易懂]

大家此时会发现我们写的ACL语句到了ACL配置里就变了,怎么回事呢,我们把它们化成2进制就能看清楚了。

拿rule permit source 2.2.2.2 1.2.3.4这条语句为例;

反掩码与通配符掩码[通俗易懂]

由0必须匹配,1无需匹配的原则,我们可以看出把2.2.2.2化成二进制后首尾8位有个1被匹配了也就是说这个值不能改变,所以这条ACL匹配的对应IP地址可以为2.0.0.2也可以为3.0.0.2,也可以是3.2.3.6。

 

如何匹配192.168.10.0/24这个网段里所有的奇数主机?

根据上面所叙述的,0必须匹配1无须匹配的原则,我们只要保证把地址化成八位二进制后最后一位固定为1就行了

反掩码与通配符掩码[通俗易懂]

写成ACL的话就是 rule per so 192.168.0.1 0.0.0.254


总结

反掩码与通配符掩码[通俗易懂]

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/161516.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 最详细AMD Ryzen CPU,VMware 15安装macOS 10.15.x Catalina 记录(第一篇)[通俗易懂]

    最详细AMD Ryzen CPU,VMware 15安装macOS 10.15.x Catalina 记录(第一篇)[通俗易懂]如何在非macOS电脑上体验macOS,目前我所知道的有两种方式:真机安装(难度大,本文介绍,感兴趣的童鞋可以自行搜索);虚拟机安装。不管是真机安装还是虚拟机安装,Intel的cpu在安装过程中遇到的坑相比AMD的cpu要少很多。所以本文不介绍如何在Intelcpu的pc上安装macOS,网上教程很多,读者可自行搜索。很多AMDcpu的朋友,在用虚拟机安装macOS的过程中,肯定遇到过一些问题,并且有些问题很棘手,会被困扰几天,那么本文将介绍如何在AMDcpu的电脑上安装mac

  • Mybatisplus 相关操作之 IService BaseMapper ServiceImpl 简单应用

    本篇主要介绍mybatisplus的简单应用这里对mybatisplus中配置遇到的问题及extent、implement所导入的包也为大家方便引入依赖1引入相关依赖依赖只是参考,每人的仓库不同,代码块内容仅作参考<dependencies><dependency><groupId>org.springframework.boot</groupId><artifac

  • python灰度图生成g代码_tcam2009利用灰度图生成雕刻机所需的G代码

    python灰度图生成g代码_tcam2009利用灰度图生成雕刻机所需的G代码双击桌面的artcam快捷方式图标打开软件首先看到如下的界面。点击“通过图像产生模型”利用ARTCAM软件制作浮雕刀路的方法Artcam2009利用灰度图生成雕刻机所需的G代码1、打开Artcam2009(其它版本的也可以),选择文件菜单下新的通过图像文件载入一个灰度图。2、找到你要编辑的灰度图,选择打开。3、设置工件原点(这里选择的是中心,你也可以选择其它的位置),单位选择…

  • ELK日志原理与介绍

    ELK日志原理与介绍ELK日志原理与介绍

  • no jump_jump out

    no jump_jump outCprovidesaformofuser-levelexceptionalcontrolflow,calledanonlocaljump,thattransferscontroldirectlyfromonefunctiontoanothercurrentlyexecutingfunctionwithouthavingtogothroug

  • protostuff序列化map_为什么要实现序列化

    protostuff序列化map_为什么要实现序列化这几天在看rpc框架的东西,一哥们写的轻量级rpc框架(http://my.oschina.net/huangyong/blog/361751?fromerr=NpC3phqY)实现,写的rpc很不错,就跟着撸了遍代码,里面用到的序列化工具是protostuff,之前我们项目供应商接口用的xml,没用过protostuff,拿过来研究下,写个demo示例,以后再需要的话,也可以拿过来用。常用的

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号