通配符掩码和普通掩码有什么用

网络工程 ipv4
2021-07-25 16:20:06

我一直想知道通配符掩码的用途是什么。当我在大学了解它们时,我想知道它们的用途是什么,我们看到您可以通过例如偶数和非均匀 IP 来分隔子网。通配符掩码与普通子网掩码的实际用途是什么?

4个回答

您可以使用通配符掩码进行一些奇怪的极端情况,而使用子网掩码很难做到这一点 - 例如,您可以在通配符掩码中轻松完成 1.2.*.4 而在子网掩码中很难做到。这有多实用取决于相关操作员。

基本上,通配符掩码将每一位拆分为“匹配”或“无关”设置。如果您有 255.255.255.33。例如,这将转换为“11111111.11111111.11111111.00100001”。如果原始 IP 为 1.1.1.200,则转换为 00000001.00000001.00000001.10001000。使用给出的示例,它开始让我的大脑因进行二进制数学而受伤,只有最后一个八位字节的第 3 位和第 8 位必须与原始 IP 匹配才能通过(以及其他 3 个八位字节)。

据我了解,问题是两种不同面具的原因是什么,而不是面具之间的区别是什么。这两个问题有些重叠,但归结为二元数学(正如 YLearn 所说)。

首先,一个网络掩码:

IP:   1100 0000 . 1010 1000 . 1111 1000 . 0110 0100 = 192.168.248.100
Mask: 1111 1111 . 1111 1111 . 1111 1111 . 1111 1000 = 255.255.255.248
AND:  1100 0000 . 1010 1000 . 1111 1000 . 0110 0000 = 192.168.248.96

IP 地址与网络掩码AND运算结果为网络192.168.248.96/29

接下来是通配符:

NET:  1100 0000 . 1010 1000 . 1111 1000 . 0110 0000 = 192.168.248.96
WC:   0000 0000 . 0000 0000 . 0000 0000 . 0000 0111 = 0.0.0.7
OR:   1100 0000 . 1010 1000 . 1111 1000 . 0110 0111 = 192.168.248.103

在网络上执行 OR 操作会导致 IP 范围 (192.168.248.96-103) 可能在 ACL 或 OSPF 网络语句中被允许或阻止(请记住,OSPF 只查找落在指定范围内的接口——即它不匹配 IP网络掩码,仅匹配IP)。通过以下方式检查 IP 是否在范围内非常容易:

IPWC == NETWC

这对路由器很有用,因为网络掩码不会轻易为您提供此信息(无需额外操作)。

通配符掩码还用于在访问控制列表中指定源/目标子网(或特定地址)。它们还用于指定 OSPF 将在更“传统”版本的 IOS(尽管有 NX-OS 和 IOS-XR)中使用的协议接口。

编辑:子网掩码的工作是将主机位与网络位分开。子网掩码中 1 的数量必须是连续的

11111111.11111111.00000000.00000000 <-- valid subnet mask (/16)
11111111.11111111.11111000.00000000 <-- valid subnet mask (/21)
11111111.11111111.00111000.00000000 <-- whoops, invalid subnet mask

通配符掩码不受此规则的约束(因此称为“通配符”),因此您可以执行 Aaron 提到的操作,即:

access-list 1 permit 192.168.200.0 0.6.0.8

这将允许:

192.168.200.0
192.172.200.0
192.168.200.8
192.172.200.8

当比特很宝贵并且以某些方式(二进制 AND 或二进制 OR)处理数据不太费力的时候,它们有点受阻。

今天,它们在其他情况下仍然有用,正如 Aaron 已经提到的。