公共 Internet 中是否存在相同的 IP 地址?

Wik*_*itz 0 networking internet ip

所以我一直在阅读有关 CIDR 的内容。如果我没记错的话,可以将相同的两个 IP 地址分配给两台机器,前提是它们具有不同的前缀长度(不同的子网)。我想知道这样的分配是否(/曾经)在“公共”互联网(因此公共 IP 范围)中实现过。

Hen*_*nes 5

所以我一直在阅读有关 CIDR 的内容。

如果我没记错的话,可以将相同的两个 IP 地址分配给两台机器,前提是它们具有不同的前缀长度(不同的子网)。

这取决于您如何定义“IP 地址”以及如何定义“互联网”。

首先让我们假设 IP v4(几十年来也有 IP v6)。

接下来让 IP 地址为 32 位值,通常分为 4 部分并写为点分十进制。所以 IP 00000001000000100000001100000100 会写成 1.2.3.4

在 Internet(连接大量内部网的公共网络)上,这应该是独一无二的。它就像一个电话号码,每个电话都有自己的号码。其中一部分用于路由,一部分用于识别网络,但这种组合是唯一的。

现在有两个例外:

  1. 网络连接到 Internet。不可能与 Internet 上的网络发生冲突。分配任何你想要的。(虽然您会遇到问题,但您后来确实决定连接到 Internet)。为了避免这个问题,我们保留了一些网络(参见 RFC 1918),这些网络永远不会路由到真实的 Internet。
  2. 一种叫做 NAT 的混搭。这基本上将外部地址转换为一个或多个内部地址。结合不将内部 IP 路由到 Internet,如果您没有为所有计算机分配足够的 IP,您可以解决一些问题。请注意,这是一个丑陋的黑客,它确实破坏了几个协议(例如 FTP)。它真的应该只在紧急情况下使用。

我想知道这样的分配是否(/曾经)在“公共”互联网(因此公共 IP 范围)中实现过。

不可以。每个地址都是唯一的,处理 IP 范围时要小心。小心避免冲突。


编辑,我想再添加两件事。让我们从一张图片开始。

两个网络和一个主机

在这张图片中,我有两个具有不同长度前缀的不同网络。
在计算机(“右侧的某台计算机”)和目的地之间的某处有很多路由器。我把大部分留在了小云中,但我明确地画了一个。

现在假设这台计算机有一个目的地为 的数据包1.2.3.7。路由器应该怎么做?两个目的地都有效。无法到达其中之一?将数据发送到两个目的地(不必要地使用带宽和可能泄漏信息)?

其次,如果左上云中的计算机想要向左下云中的计算机发送一些东西怎么办?可能在两个网络中使用相同编号 (IP) 的计算机。

这两个都说明了为什么地址被设计为唯一的。您可能会错误地配置一些东西,但确实会遇到很多问题,并且可能会遇到一些愤怒的网络维护者。