Answers:
据我了解,问题是两种不同面罩的原因是什么,而不是面罩之间的区别是什么。这两个问题有些重叠,但是归结为二进制数学(随着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地址操作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
在网络上执行“或”操作会导致ACL或OSPF网络语句中可能允许或阻止的IP(192.168.248.96-103)范围(请记住,OSPF仅查找属于指定范围内的接口,即它与IP 和网络掩码不匹配,仅与IP 匹配)。检查IP是否在以下范围内非常容易:
IP 或 WC == NET 或 WC
这对路由器很有用,因为网络掩码无法轻松为您提供此信息(无需其他操作)。
对于通配符掩码,您可能会遇到一些奇特的情况,而子网掩码很难做到这一点-例如,您可以在通配符掩码中轻松完成1.2。*。4,而在子网掩码中很难做到。这如何实用取决于相关的操作员。
基本上,通配符掩码将每一位拆分为“匹配”或“无关”设置。如果您有255.255.255.33。例如,这将转换为“ 11111111.11111111.11111111.00100001”。如果原始IP为1.1.1.200,则转换为00000001.00000001.00000001.10001000。使用给出的示例,这开始使我的大脑因进行二进制数学运算而受伤,只有最后一个八位位组的第3位和第8位才必须与原始IP匹配才能通过(以及其他3个八位位组)。
通配符掩码还用于在访问控制列表中指定源/目标子网(或特定地址)。它们还用于指定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