大家好,又见面了,我是你们的朋友全栈君。
目录
一.什么是通配符掩码
通配符掩码是由 32 个二进制数字组成的字符串,路由器使用它来确定检查地址的哪些位以确定匹配项。和子网掩码一样,通配符掩码中的数字 1 和 0 用于标识如何处理相应的 IPv4 地址位。但是,在通配符掩码中,这些位的用途不同,所遵循的规则也不同。子网掩码使用二进制 1 和 0 标识 IPv4 地址的网络、子网和主机部分。通配符掩码使用二进制 1 和 0 过滤单个 IPv4 地址或一组 IPv4 地址,以便允许或拒绝对资源的访问。
通配符掩码和子网掩码之间的差异在于它们匹配二进制 1 和 0 的方式。通配符掩码使用以下规则匹配二进制 1 和 0:
- 通配符掩码位 0 – 匹配地址中对应位的值。
- 通配符掩码位 1 – 忽略地址中对应位的值。
上图显示不同通配符掩码过滤 IPv4 地址的方式。在本示例中,请记住,二进制 0 表示必须匹配的位,而二进制 1 表示可以忽略的位。通配符掩码通常也称为反码。原因在于,子网掩码采用二进制 1 表示匹配,二进制 0 表示不匹配;而在通配符掩码中则正好相反。
二.使用通配符掩码
下图中的表格显示了将 0.0.255.255 通配符掩码应用到 32 位 IPv4 地址中的结果。请记住二进制 0 表示应匹配的值。
三. 通配符掩码示例
1.使用通配符掩码匹配 IPv4 子网
通配符掩码的计算需要进行一些练习。下图提供了三个通配符掩码示例。
在第一个示例中,通配符掩码规定 IPv4 192.168.1.1 中的每一位都必须精确匹配。
在第二个示例中,通配符掩码规定任意地址都可匹配。
在第三个示例中,通配符掩码规定,其与 192.168.1.0/24 网络中的任意主机匹配。
2.使用通配符掩码匹配网络范围
下图中的两个示例更加复杂。在示例 1 中,前两组二进制八位数和第三组二进制八位数的前四位必须精确匹配。第三组二进制八位数的后四位和最后一组二进制八位数可以是任何有效的数字。结果是掩码会检查 192.168.16.0 到 192.168.31.0 之间的网络范围。
示例 2 显示的通配符掩码匹配前两组二进制八位数和第三组二进制八位数中的最低位。最后一组二进制八位数和第三组二进制八位数中的前七位可以是任何有效的数字。结果是该掩码会允许或拒绝所有来自 192.168.0.0 主网的奇数子网的所有主机。
四.计算通配符掩码
计算通配符掩码颇具挑战性。一个简便方法是从 255.255.255.255 中减去子网掩码。
1.通配符掩码计算:示例 1
在该图的第一个示例中,假设您希望允许 192.168.3.0 网络中的所有用户进行访问。因为其子网掩码是 255.255.255.0,所以您可以从 255.255.255.255 中减去子网掩码 255.255.255.0。得到的通配符掩码为 0.0.0.255。
2.通配符掩码计算:示例 2
第二个示例中,假设您希望允许子网 192.168.3.32/28 中的 14 位用户访问网络。IPv4 子网的子网掩码是 255.255.255.240,因此从 255.255.255.255 中减去子网掩码 255.255.255.240。得到的通配符掩码为 0.0.0.15。
3.通配符掩码计算:示例 3
第三个示例中,假设您希望只匹配网络 192.168.10.0 和 192.168.11.0。同样,您可以从 255.255.255.255 中减去对应的子网掩码(本例中为 255.255.254.0)。结果是 0.0.1.255。
五.通配符掩码关键字
host 关键字可替代 0.0.0.0 掩码。此掩码表明,所有 IPv4 地址位均必须匹配,才能过滤出一个主机地址。
any 选项可替代 IPv4 地址和 255.255.255.255 掩码。该掩码表示忽略整个 IPv4 地址,这意味着接受任何地址。
1.示例 1:匹配单个 IPv4 地址的通配符掩码过程
在该图的示例 1 中,我们可以不输入 192.168.10.10 0.0.0.0,而是使用 host 192.168.10.10。
2.示例 2:匹配所有 IPv4 地址的通配符掩码过程
在该图的示例 2 中,我们可以不输入 0.0.0.0 255.255.255.255,而是使用关键字 any。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/161510.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...