【问题标题】:Number of IP-addresses in practice when paired with subnet masks: Should IP-addresses paired with different subnet masks be seen as distinct?与子网掩码配对时的实际 IP 地址数量:与不同子网掩码配对的 IP 地址是否应该被视为不同?
【发布时间】:2016-01-08 15:06:16
【问题描述】:

与子网掩码配对时的实际 IP 地址数量: 与不同子网掩码配对的 IP 地址是否应被视为不同?

我知道 IP 地址表示为 4 个八位字节,即使用 32 位。总共有 2^32 个不同的 IP 地址。

但这些 IP 地址与子网掩码配对。这是否意味着 192.168.0.1/24 和 192.168.0.1/16 实际上是两个不同的 IP 地址? 如果是这样,为什么不引入更多“层”(更多掩码)来进一步扩展 32 位寻址方案?

有多少个 IP 地址?

【问题讨论】:

  • 关于您的第一个问题,对于 192.168.0.1,我们不能使用 /24,因为这不是一个网络,这是一个 IP 地址,所以我们应该使用 /32。考虑到 192.168.0.0/24 和 192.168.0.0/16,这些是重叠的子网。例如,如果使用直接跳线将 192.168.100.100 掩码 255.255.0.0 分配给机器 A,将 192.168.0.100 掩码 255.255.255.0 分配给机器 B,则机器 A 可以与机器 B 通信,但不能将机器 B 与机器 A 通信。因为机器 B位于 192.168.0.0/24 子网,如果它想与 192.168.100.0/16 通信,它需要一个网关 IP,该网关 IP 应该在 192.168.0.0/24 子网中。
  • 我们有一个名为 IPv6 的 128 位寻址方案,即 2^128。

标签: networking ip subnet


【解决方案1】:

与不同子网掩码配对的 IP 地址是否应被视为不同?

没有。子网掩码不是 IP 地址的限定符或命名空间。网络掩码不参与将 IP 地址与机器关联起来。相反,它们与 (IPv4) 网络的物理和逻辑拓扑相关联,主机需要它们才能适当地参与网络。使用不同的网络掩码不会改变 IP 地址的含义,因此网络掩码不提供扩展地址空间的机制。

这是否意味着 192.168.0.1/24 和 192.168.0.1/16 实际上是两个不同的 IP 地址?

没有。事实上,它们根本不是 IP 地址——它们是(地址、网络掩码)pairs,它们都具有相同的地址部分。在任何给定的网络上,它们指的是同一台机器(如果它们指的是任何机器)。然而,所涉及的 IP 地址在不可路由范围之一中。这些通常用于内部网络,通常在执行网络地址转换 (NAT) 的路由器后面,以便多台机器可以访问网络而无需具有全局唯一地址。然而,这与网络掩码无关。

有多少个 IP 地址?

恰好有 232(略少于 50 亿个)不同的 IPv4 地址。并非所有这些都可用作主机地址。使用经过 NAT 访问 Internet 的专用网络会增加可连接的机器总数,但这不会改变不同地址的数量,而且它无论如何都与网络掩码无关。

【讨论】:

  • 这应该是评论,而不是答案。
  • @manjesh23,我不敢苟同。主要问题,如标题和引文/亮点所示,是“IP 地址与不同的子网掩码配对是否应该被视为不同的?”正如最初发布的那样,这个答案直接回答了这个问题。尽管如此,我还是通过直接回答两个辅助问题来扩展它。
  • 优秀的答案!但是,为什么我们要使用子网掩码呢?我知道他们将网络“划分”为子网,但这为什么很重要?为什么路由器不能仅根据 IP 地址本身进行路由?
  • John Bollinger,你能推荐一个关于这个主题的好书源吗?
  • @NicolasLykkeIversen,对于 Stack Overflow 的参考书和教程的请求是题外话。虽然我没有具体的推荐参考,但在谷歌上搜索“ip 网络”会发现一些看起来很有前景的资源在热门搜索中。
猜你喜欢
  • 1970-01-01
  • 2015-10-18
  • 2021-12-30
  • 1970-01-01
  • 1970-01-01
  • 2014-12-31
  • 2013-11-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多