什么是通配符掩码?如何计算通配符掩码

什么是通配符掩码?

通配符掩码是一系列数字,用于简化专有网络子网内的分组路由。它也被称为反向掩码。其主要原因是,与子网掩码中二进制1表示匹配,二进制0表示不匹配不同。然而,在通配符掩码中,情况正好相反。

通配符掩码长32位。它起反向作用,但在通配符掩码中,零位表示应与IP地址中相同位置的位匹配。一位表示对应的位位置不必与IP地址的位位置匹配。

通配符掩码使用以下规则来匹配二进制1和0

  • 如果通配符掩码位为0,则它匹配地址中的位值。
  • 如果通配符掩码位为1,则应忽略地址中的相应位值。

主机的通配符掩码始终为0.0.0.0

通配符掩码如何工作?

以下示例可帮助您理解通配符掩码的概念

Wildcard Mask Work

在上图的上方,您可以看到一个包含三个主机和一个路由器的网络。这里,路由器直接连接到三个子网。

假设我们只想通告 10.0.1.0/24 子网。您可以在以下网络命令中使用 0.0.0.255 的通配符掩码来执行此操作。

R1(config-router)#network 10.0.1.0 0.0.0.255

为什么是通配符掩码 0.0.0.255?

为此,您首先应将 CISCO 通配符掩码和 IP 地址转换为二进制。

10.0.1.0 = 00001010.00000000.00000001.00000000
0.0.0.255 = 00000000.0000000.00000000.11111111

通配符掩码的零位必须与网络中的 IP 地址 的相同位置匹配,该 IP 地址应包含在网络命令中。

00001010.00000000.00000001.00000000
00000000.00000000.00000000.11111111

您可以看到,在上例中,由于通配符掩码位全为1,因此最后一个八位组不需要匹配。由于通配符掩码位全为零,因此前24位需要匹配。

在这里,通配符掩码将匹配所有以 10.0.1.x(10.0.1.0–10.0.1.255)开头的 IP 地址。在这种情况下,只有一个网络会被匹配——10.0.1.0/24。

如果想同时包含 10.0.0.0/24 和 10.0.1.0/24 子网怎么办?

您需要在以下命令中使用 0.0.1.255 的通配符掩码。

10.0.0.0 = 00001010.00000000.00000000.00000000
10.0.1.0 = 00001010.00000000.00000001.00000000
0.0.1.255 = 00000000.00000000.00000001.11111111

从上面的输出中可以看到,使用 0.0.1.255 的通配符掩码。这里,只有23位需要匹配。这意味着需要匹配 10.0.0.0–10.0.1.255 范围内的所有地址。因此,在这种情况下,两个 IP 地址都已匹配。

如何计算通配符掩码?

计算通配符掩码是一项艰巨的任务。一个简单的快捷方法是从 255.255.255.255 中减去 子网掩码。得出的结果就是通配符掩码。

例如

 
1) 255.255.255.255 - 255.255.255.255 = 0.0.0.0 (wildcard mask)
2) 255.255.255.255 - 255.255.255.128 = 0.0.0.127 (wildcard mask)
3) 255.255.255.255 - 192.0.0.0 = 63.255.255.255 (wildcard mask)

在哪里可以使用通配符掩码?

通配符掩码方法用于访问控制列表。当您拥有一个大型网络并且需要允许多个路由器之间的自由流量时,它会很有用。因此,当您拥有一个包含多个路由器和 LAN 段的大型网络时,您很可能会遇到 CISCO 通配符掩码。

您需要确保正确设置通配符掩码,以确保只有允许的流量才能通过路由器。

摘要

  • 通配符掩码是一系列数字,用于简化专有网络子网内的分组路由。
  • 通配符掩码的两个规则是:1) 如果通配符掩码位为0,则它匹配地址中的位值。2) 如果通配符掩码位为1,则应忽略地址中的相应位值。
  • 通配符掩码方法用于访问控制列表。当您拥有一个大型网络并且需要允许多个路由器之间的自由流量时,它会很有用。