“192.168.15.0/24”中的 24 是多少?

ohh*_*hho 41 networking routing

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

    route add -net 192.168.15.0/24 192.168.8.10
Run Code Online (Sandbox Code Playgroud)

DMA*_*361 47

它是表示子网掩码的简短方式。

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

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

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

Binary:   11111111 11111111 11111111 00000000
Decimal:    255      255      255       0
Run Code Online (Sandbox Code Playgroud)

短值不必是 8 的倍数(即它不必结束八位字节边界),例如你可以/20这样得到255.255.240.0

Binary:   11111111 11111111 11110000 00000000
Decimal:    255      255      240       0
Run Code Online (Sandbox Code Playgroud)

使用 IPv6

同样的符号也可以应用于 IPv6。由于 IPv6 使用 128 位而不是 32 位,因此地址大得多。我不会在这里讨论完整的语义,因为它与问题无关,但会提供一个简单的例子:

问题中给出的子网表示192.168.15.0/24并包括从192.168.15.0到的所有 IPv4 地址192.168.15.255

IPv6 子网可以用相同的方式表示,例如2001:DB8::/48包含范围2001:DB8:0:0:0:0:0:0到 的所有 IPv6 地址2001:DB8:0:FFFF:FFFF:FFFF:FFFF:FFFF

注意:IPv6 示例是从维基百科 CIDR 文章中无耻地撕下来的。


有关子网掩码本身、它们的含义以及如何使用的更多信息,我建议您查看问题子网掩码的基本要素是什么?
或者查看子网如何工作广泛答案在服务器故障。

  • 那么这是否意味着 /16 是 255.255.0.0 而 /8 是 255.0.0.0? (3认同)
  • @Corey 是的。并且 - 根据 Joe 的二进制文件 - 只需坚持正确数量的 1,添加足够的 0 以达到 32,分成四个字节并转换为十进制。它也不必是 8 的倍数 - 例如,`/20` 是 `255.255.240.0`。 (3认同)
  • 每个八位字节为 8 位:11111111.11111111.11111111.00000000 (2认同)

Ste*_*pel 16

DMA57361s 对此表示子网掩码的回答是正确且足够的 (+1) - 我仍然想提供一种不同的方法来解释这一点,以提供有关此符号的历史/动机的一些背景:

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

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

引用的简短维基百科文章已经很好地解释了手头的主题;对于许多相关方面的更详尽的解释建议你可以去相应的父主题无类别域间路由-尤其是,你会发现有关于历史信息的背景变化,从子网掩码前缀长度/大小

最后,当您在实践中遇到这些符号时,为了更好和直观地表示如何解释它们,您也可以查看IPv4 子网划分参考中的表格。


归档时间:

查看次数:

8300 次

最近记录:

14 年,8 月 前