前几天我遇到了这样的ip255.255.255.1/16
我认为/16
指的是IP可以生成的子网地址的数量。然而,我怀疑我可能大错特错,并认为这个论坛上的 Linux/Unix 专家可以提供帮助。
答案1
斜杠后面的值,即24
您的示例中的192.168.1.0/24
,使用CIDR 表示法指示可用于与主机寻址不同的网络寻址的位数。对于 IPv4,每个 IP 地址为 32 位,网络的网络地址/24
为 24 位,因此此类网络的主机寻址将为 32 - 24 = 8 位。
让我们更仔细地看看这个问题。
举个地址例子192.168.1.0/24
。这表示 32 位中的 24 位用于网络地址。每个八位字节都是 8 位,因此很容易看出这意味着这192.168.1
是网络地址,其余部分是主机地址。 8 位给出 2 8 个地址,即 256 个。最低的 ( 0
) 不可用,最高的 ( 255
) 保留用于本地网络广播,这样就为 254 个主机地址留下了空间,所有地址都以 开头192.168.1
。
现在再举一个例子地址192.168.0.0/16
。这里我们有 32 位中的 16 位用于网络寻址,剩下 16 位用于网络上的主机。我们有 2 16 = 65536 个主机地址,但和以前一样,有两个被保留(192.168.0.0
和192.168.255.255
),因此该网络上的主机有 65534 个可用地址,全部从 开始192.168
。
这一切都很容易;令人兴奋的是当子网字段不是八的倍数时。例如,您可以有一个网络192.168.1.128/26
。但同样的规则也适用; 26 位用于网络地址,6 位用于该网络上的主机。 2 6是 64,并且保留了两个,因此您可以在这样的网络上拥有 62 台主机。使用该ipcalc
工具,您可以看到该网络上的有效 IP 地址192.168.1.129
是192.168.1.190
:
ipcalc 192.168.1.128/26
Address: 192.168.1.128 11000000.10101000.00000001.10 000000
Netmask: 255.255.255.192 = 26 11111111.11111111.11111111.11 000000
Wildcard: 0.0.0.63 00000000.00000000.00000000.00 111111
=>
Network: 192.168.1.128/26 11000000.10101000.00000001.10 000000
HostMin: 192.168.1.129 11000000.10101000.00000001.10 000001
HostMax: 192.168.1.190 11000000.10101000.00000001.10 111110
Broadcast: 192.168.1.191 11000000.10101000.00000001.10 111111
Hosts/Net: 62 Class C, Private Internet
答案2
An /16
is usually used to indicate the number of bits that are fixed (would not change) in a range of addresses of a network. That is a simpler syntax to express the CIDR。
IP 号为 1.2.255.1/16 意味着从 1.2.0.0 到 1.2.255.255 的任何地址都是该地址范围或网络的一部分。
但是,以 255 开头的 IP 号码,相似的通常使用您写的 255.255.255.1/16仅有的为了网络掩码表示前 16 位是固定的,其余的可能会改变。
掩码 255.255.0.0 和 abcd/16 具有完全相同的掩码位(或使用的位)。
IP 255.255.255.255 是由 IANA 保留以供将来使用和还叫做“有限广播”目的地址对于 0.0.0.0 网络。或者,用外行的话来说广播地址。
完整的解释有点长,但这就是要点。
答案3
IP地址后面的减号是子网掩码的缩写。 ...子网掩码中的个数等于缩写的范围。例如,您询问的 /16 子网掩码将连续有十六个,数字的松弛为零。 11111111.11111111。 00000000.00000000。