网络 192.168.176.0/23(子网 23)的第一个和最后一个 IP 地址

网络 192.168.176.0/23(子网 23)的第一个和最后一个 IP 地址

假设网络地址为:192.168.176.0/23。该网络的第一个和最后一个 IP 地址是什么?

按照这个答案https://serverfault.com/a/327782/288201我假设:

/23 表示子网为 23 位。按每字节 8 位计算,前两个字节为 16 位,第三个字节为 7 位 => 1111 1111. 1111 1111. 1111 1110. 0000 0000,对吗?

这意味着我们的最后两个字节将采用以下形式(nnnn nnnH. HHHH HHHH),其中 n 是子网位,H 是主机位。

因此网络地址是 (nnnn nnn|0 0000 0000) -> .0,广播是 (nnnn nnn|1 1111 1111) -> 2^9 是广播?不可能。这里我漏掉了一些东西,很简单。那么第一个和最后一个 IP 是什么?这是我按照上面链接中提到的答案(作者 b0fh)没有得到的。

第一个 192.168.176.1,最后一个 192.168。177.254 ?

答案1

令您感到困惑的是,您试图将主机部分转换为十进制值,并将其加总为网络地址,而主机部分被分成两个八位字节。

您的网络是:

11000000.10101000.10110000.00000000

您的网络掩码是:

11111111.11111111.11111110.00000000

您的通配符掩码(将会改变的部分):

00000000.00000000.00000001.11111111

通常,当您说2^9 = 512是广播时,您只是忘记了主机部分的一位位于第三个八位字节的最后一位。因此,当它发生变化时,您将获得以下结果:

11000000.10101000.10110000.<something>

或这个 :

11000000.10101000.10110001.<something>

因此,此处您的“ 512”十进制形式实际上是0.0.1.255(应始终为点分十进制形式,以免犯此错误)。非网络部分将从 到192.168.176.0192.168.176.0 + 0.0.1.255最后一个地址是广播地址,您会发现这是192.168.177.255

您还可以通过将通配符掩码添加到您的网络地址来获取它:

  11000000.10101000.10110000.00000000

+ 00000000.00000000.00000001.11111111

= 11000000.10101000.10110001.11111111

也就是192.168.177.255

答案2

我将尝试阐明我所认为的您的困惑之根:

IPv4 地址是一个 32 位整数,但是我们写出地址时通常不会这样格式化。

我相信您已经意识到,规范是将地址写成,[first eight bits in decimal].[next eight bits in decimal].[next eight bits in decimal].[last eight bits in decimal]但重要的是要认识到,这实际上只是格式化单个可能非常大的数字的不同方式。

当您指定跨域路由netmask(/n)表示 32 位地址中有多少位构成网络标识符,其余位构成主机标识符。


在您的示例中192.168.176.0/23,前 23 位是网络前缀,剩下 9 位是主机标识符,这意味着主机标识符跨越了最后一个八位字节边界。主机标识符将影响 - 格式地址的最后两段a.b.c.d

为了说明这一点,我将包括sipcalc显示地址作为原始位(实际上与理解数学更相关)以及a.b.c.d格式化地址的输出。

$ sipcalc -b 192.168.176.0/23                                                                                             
-[ipv4 : 192.168.176.0/23] - 0

[CIDR bitmaps]
Host address            - 11000000.10101000.10110000.00000000
Network address         - 11000000.10101000.10110000.00000000
Network mask            - 11111111.11111111.11111110.00000000
Broadcast address       - 11000000.10101000.10110001.11111111
Cisco wildcard          - 00000000.00000000.00000001.11111111
Network range           - 11000000.10101000.10110000.00000000 -
                          11000000.10101000.10110001.11111111
Usable range            - 11000000.10101000.10110000.00000001 -
                          11000000.10101000.10110001.11111110

-
$


$ sipcalc  192.168.176.0/23                                                                                               
-[ipv4 : 192.168.176.0/23] - 0

[CIDR]
Host address            - 192.168.176.0
Host address (decimal)  - 3232280576
Host address (hex)      - C0A8B000
Network address         - 192.168.176.0
Network mask            - 255.255.254.0
Network mask (bits)     - 23
Network mask (hex)      - FFFFFE00
Broadcast address       - 192.168.177.255
Cisco wildcard          - 0.0.1.255
Addresses in network    - 512
Network range           - 192.168.176.0 - 192.168.177.255
Usable range            - 192.168.176.1 - 192.168.177.254

-
$ 

相关内容