我创建了一个地址空间为10.1.0.0/16且子网为10.0.1.0/24的VN。我收到地址空间错误。我尝试了VN 10.0.0.0/24,它起作用了。我想知道为什么吗?为什么第一个子网失败而第二个通过?如何定义此地址空间?
Azure虚拟网络和子网使用CIDR表示法。这使您可以表示网络路由所需的有效位部分。
例如,IPv4地址192.168.1.0/24
的网络掩码为255.255.255.0
,这表明前24位被视为有效。这意味着我们不能混合使用192.168.0.0
和192.168.1.0
这两个地址,因为前24位不匹配。
我们可以查看二进制表示形式以确保:
192.168.0.0 => 11000000 10101000 00000000 00000000
192.168.1.0 => 11000000 10101000 00000001 00000000
这表明两个IPv4地址之间的第24位不匹配。但是,我们可以将地址空间更改为192.168.0.0/23
,并且两个地址将匹配,因为前23位相同,这也意味着网络掩码为255.255.254.0
。
综上所述,CIDR使我们可以更好地控制如何将连续IP地址块重叠在一起。
您的10.1.0.0/16
的第一个虚拟网络地址空间需要与子网掩码为255.255.0.0
的子网共享相同的前16位。子网地址空间,例如10.1.1.0/16
或10.1.0.0/16
,将在这里工作。 10.0.1.0/24
在这里不起作用,因为它与虚拟网络地址空间不重叠。
您的10.0.0.0/24
的第二个虚拟网络地址空间需要与子网掩码255.255.255.0
共享相同的前24位的子网。子网地址空间,例如10.0.0.1/24
或10.0.0.2/24
,将在这里工作。 10.0.1.0/24
在这里不起作用,因为它与虚拟网络地址空间不重叠。
当子网地址空间与虚拟网络地址空间不匹配时,我们可以在Azure门户中验证子网错误。我在下面提供了屏幕截图。