前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >理解通配符掩码

理解通配符掩码

作者头像
全栈程序员站长
发布2022-09-15 15:30:51
1.1K0
发布2022-09-15 15:30:51
举报
文章被收录于专栏:全栈程序员必看

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

一、什么是通配符掩码

通配符掩码是一个32位比特数,以点分十进制表示,告诉路由器数据包IP地址的哪些比特需要和access-list命令中给定的IP地址相匹配。

二、通配符掩码的作用

一条典型的ACL仅能指定一个要允许或拒绝IP的规则,如果要阻止多个地址或一段范围的地址,那么如使用典型的ACL规则,则需要添加多条才能满足。这样导致工作量增多,易出错且ACL执行效率降低等不足。而通配符掩码就是解决批量范围的ACL应用。简单来说,通配符掩码定义了数据包地址的哪部分需要匹配ACL中已列出的地址,哪些部分不需要匹配。

对于只有0和255字节的通配符掩码,0字节表示需要匹配,255字节表示不需要匹配。

三、简单型通配符掩码

对于标准的IP地址,使用观察就可以确定数据包的哪些位会被ACL分析,具体参见下例:

允许单台主机的通配符掩码 172.16.33.134 0.0.0.0 允许某个/24网络所有主机的通配符掩码 192.168.0.0 0.0.0.255 允许某个/16网络所有主机的通配符掩码 172.16.0.0 0.0.255.255 允许某个/8网络所有主机的通配符掩码 10.0.0.0 0.255.255.255

四、复杂型通配符掩码求法

从上面可以看出通配符掩码能实现针对一段地址范围的过滤,如上面例子,也就是分别针对单个地址,C类地址,B类地址以及A类标准地址的网络地址进行精准匹配。那么除了标准的网络地址匹配外,对于有划分子网,或没有划分子网但希望实现对某段地址范围进行ACL控制,通配符掩码能不能实现呢?答案是可以的,参见下面的例子:

问题:有192.168.22.0/26的网络,如何实现通配符掩码进行ACL控制

方法一:根据块大小求得通配符掩码:块大小-1

已知/26,可知块大小=64,那么实现上述网络细分为四个子网:

192.168.22.0 192.168.22.64 192.168.22.128 192.168.22.192 (块大小-1)即是通配符掩码中不必进行精准匹配的部分,所以通配符掩码=0.0.0.63

方法二、根据子网掩码求通配符掩码:(255.255.255.255-子网掩码) 已知/26,所以子网掩码是:255.255.255.192 通配符掩码=255.255.255.255-子网掩码-0.0.0.63

四、通配符掩码与any/host关键字

某两个特殊的通配符掩码与any/host关键字含义相同,且IOS更倾向使用特殊关键字。

其中:host=0.0.0.0,表示所有的比特位都必须匹配

any=255.255.255.255,表示所有的比特位都不需要匹配

转载于:https://blog.51cto.com/alligator/1211056

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/161527.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档