我很困惑。
从RFC 1918:
10.0.0.0 - 10.255.255.255 (10/8 prefix)
172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
对于-172.16/12
的范围,前缀对我来说似乎很奇怪。面具是16
31
应该使用连续的二进制 1。
/12
连续 1的前缀应表示:
11111111.11110000
只有172.16
( 10101100.00010000
) 被该范围屏蔽。16
八位字节的所有非17
-位31
均不受该掩码保护。
但是,要覆盖的二进制掩码172.16
是172.31
11111111.00011111
列表172.16
- 172.31
:
10101100.00010000
10101100.00011111
10101100.00011110
10101100.00011101
10101100.00011100
10101100.00011011
10101100.00011010
10101100.00011001
10101100.00011000
10101100.00010111
10101100.00010110
10101100.00010101
10101100.00010100
10101100.00010011
10101100.00010010
10101100.00010001
172.16/16
因此,用( )前缀11111111.11111111
来掩盖所有这些对我来说更有意义。
这个 RFC 1918 范围是否172.16.0.0
不172.31.255.255
连续?
或者/12
前缀实际上表示:
11111111.00001111
但是,该数字范围仅到15
,在这种情况下我们需要:
11111111.00011111
172.16/13
并且,如果它不连续,那应该是。
答案1
只有
172.16
(10101100.00010000
) 被该范围屏蔽。所有 oclet 17-31 均不受该屏蔽保护。
不,事实并非如此。从 16 到 31 的所有八位字节都被掩码平等覆盖,因为它们都具有 的形式0001xxxx
。
网络掩码的目的是指示静止的地址的一部分,如果您查看帖子中的列表,前 12 个连续位是静态的,而其余的是可变的。这就是为什么掩码的第一个八位字节11111111
毕竟是 而不是00000000
- 它表示所有八位(的172
)都是固定的,同样,第二个八位字节是11110000
表示前 4 位是固定的。
但即使网络掩码指示变量部分,它仍然是连续的,因为第二个八位字节的最后 4 位和第3至第4个八位字节的所有位都是可变的,没有间隙。