“ 192.168.15.0/24”中的24是什么?


41

/24以下命令的含义是什么?

    route add -net 192.168.15.0/24 192.168.8.10

我可能是错的(我已经有route一段时间没有使用Windows 了),但是该网关来自另一个子网。还是这只是一个虚构的例子?
Azz 2011年

Answers:


47

这是表示子网掩码的简短方法。

正如Steffen Opel在他的答案中指出的那样,这称为CIDR表示法,该数字仅表示用于构造子网掩码的前缀大小。

因此,/n意味着前n几位(对于IPv4为32)设置为1,其余设置为0。要将其转换为十进制子网掩码,请将其写入四个八位字节并转换为十进制。

所以/24产生255.255.255.0,因为你有24 1位和第八位,然后0位:

Binary:   11111111 11111111 11111111 00000000
Decimal:    255      255      255       0

短期价值并不一定是8(即,它没有结束八位字节边界),例如,你可以采取多/20得到255.255.240.0像这样:

Binary:   11111111 11111111 11110000 00000000
Decimal:    255      255      240       0

IPv6的用法

相同的表示法也可以应用于IPv6。由于IPv6使用128位而不是32位,因此地址大得多。我不会在这里介绍完整的语义,因为它与问题无关,但将提供一个简单的示例:

问题中给定的子网由表示,192.168.15.0/24并包含从192.168.15.0到的所有IPv4地址192.168.15.255

的IPv6子网可以以同样的方式来表示,例如2001:DB8::/48包含在范围内的所有IPv6地址2001:DB8:0:0:0:0:0:02001:DB8:0:FFFF:FFFF:FFFF:FFFF:FFFF

注意:Wikipedia CIDR文章毫不客气地剥夺了IPv6示例。


有关子网掩码本身,含义以及使用方法的更多信息,我建议您看到以下问题:子网掩码的本质是什么?
或查看有关子网划分如何工作广泛答案服务器故障结束。


2
每个八位位组为8位:11111111.11111111.11111111.00000000
乔·菲利普斯

3
那么这是否意味着/ 16是255.255.0.0而/ 8是255.0.0.0?
科里

3
@Corey是的。并且-根据Joe那里的二进制文件-只需插入正确的数字,添加足够的0即可达到32,分成四个字节,然后转换为十进制。它不必是8的倍数无论- /20255.255.240.0的例子。
DMA57361 2010年

很好,教授DMA57361
kokbira 2011年

16

DMA57361代表子网掩码的正确答案是正确的,并且已经足够(+1)-我仍然想提供一种不同的方法来说明这一点,以提供有关此符号的历史/动机的一些背景信息:

“ 192.168.15.0/24”是IP地址及其关联的路由前缀的紧凑规范,以CIDR表示法表示

CIDR表示法是根据IP地址和前缀大小构建的,后者是路由前缀的前1位的数目。[强调我的]

所引用的Wikipedia短篇文章已经很好地说明了本主题。有关许多相关方面的更全面说明,请查阅各自的父主题“ 无类域间路由” -特别是,您会在此找到有关从子网掩码前缀长度/大小更改的历史背景的信息。

最后,为了在实践中很好地直观地表示这些符号,您也可以查看IPv4子网参考中的表。


1
为主题增添了一些深度。+1
DMA57361 2010年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.