Javascript 通过c验证vnet地址范围下的子网地址范围#

Javascript 通过c验证vnet地址范围下的子网地址范围#,javascript,c#,Javascript,C#,我有一个场景,我在azure上创建了一个虚拟网络,地址范围在CIDR块中,例如10.0.0.0/24,然后需要创建一个默认子网,地址范围在类似的CIDR块中,例如10.1.0.0/16。我需要验证子网地址范围是否应位于虚拟网络地址范围内意味着我需要验证10.1.0.0/16是否在10.0.0.0/24范围内 我在互联网上搜索它,但我只得到CIDR块下的IP地址验证,但我想要的是验证CIDR块是否在其他CIDR块下的范围内,就像创建虚拟网络和子网时在azure portal上进行的验证一样。任何帮

我有一个场景,我在azure上创建了一个虚拟网络,地址范围在CIDR块中,例如10.0.0.0/24,然后需要创建一个默认子网,地址范围在类似的CIDR块中,例如10.1.0.0/16。我需要验证子网地址范围是否应位于虚拟网络地址范围内意味着我需要验证10.1.0.0/16是否在10.0.0.0/24范围内

我在互联网上搜索它,但我只得到CIDR块下的IP地址验证,但我想要的是验证CIDR块是否在其他CIDR块下的范围内,就像创建虚拟网络和子网时在azure portal上进行的验证一样。任何帮助都将不胜感激。谢谢

但我想要的是验证CIDR块是否在其他CIDR块的范围内,就像在创建虚拟网络和子网时在azure portal上进行的验证一样

对于CIDR范围比较,我假设您可以利用
IPNetwork.Contains
方法,如下所示:

IPNetwork addressSpaceRange = IPNetwork.Parse("172.20.0.0/24");
IPNetwork subnetAddressRange = IPNetwork.Parse("172.20.0.0/25");

Console.WriteLine($"Address space [{addressSpaceRange.ToString()}]:");
Console.WriteLine($"FirstUsable address:{addressSpaceRange.FirstUsable}");
Console.WriteLine($"LastUsable address:{addressSpaceRange.LastUsable}\r\n");

Console.WriteLine($"Subnet address range [{subnetAddressRange.ToString()}]:");
Console.WriteLine($"FirstUsable address:{subnetAddressRange.FirstUsable}");
Console.WriteLine($"LastUsable address:{subnetAddressRange.LastUsable}\r\n");

Console.WriteLine("addressSpaceRange contains subnetAddressRange:" + IPNetwork.Contains(addressSpaceRange, subnetAddressRange));
输出


此外,根据我的测试,此方法仅检查子网地址范围是否包含在地址空间中,我假设子网地址和地址的验证检查将在Azure端进行。

到目前为止,您尝试了什么?在你的代码的哪一部分是错误的?事实上,我没有找到任何代码验证cidr范围下的cidr范围。我发现的代码只验证CIDR范围下的IP,而不验证CIDR范围下的CIDR范围。