一台有两块网卡的电脑能有相同的IP地址吗

一台有两块网卡的电脑能有相同的IP地址吗

回答时问题我发现了一些我不知道但无法找到答案的事情。

在上述问题中,如果计算机/服务器的主板上有 2 个 LAN 端口(或 2 个独立的网卡),那么这两个卡是否应具有相同的 IP 地址(例如 10.0.0.1)或者它们是否应该具有不同的地址(例如
端口 1 10.0.0.1,
端口 2 10.0.0.2),假设用户只想使用交叉电缆将另外 2 台计算机连接到服务器的 2 个 LAN 端口。

我认为他们必须有 2 个不同的 IP 地址,但我想知道如果使用 DNS 会意味着什么。服务器在 DNS 中是否有 2 个单独的记录。可以通过其中任何一个联系它吗?哪个优先?

对于有关此主题的任何答案或更多信息都将不胜感激。

答案1

是也不是。

虽然 e40 认为 IP 地址在路由域内应该是唯一的这一观点是正确的(即,你的网络上应该只有一个 10.0.0.1 - 请参阅RFC 5889)您可以在一个 IP 地址下拥有多个硬件设备。这通常是通过链路聚合控制协议(LACP)。LACP 可以在 OSI 最低的三个层中的任何一个层上运行,当然也包括 IP。IP 地址“解析”(在第 3 层)到哪个特定 MAC 地址(在第 2 层)以进行帧传送的方法在很大程度上取决于实现(尽管通常是循环的)。

您可以在每个设备上配置 IP 地址别名,以便每个 NIC 都可以单独访问,或者通过代表绑定 NIC(两个设备)的“虚拟”IP 地址访问。

答案2

每个 NIC 必须具有单独的 IP 地址,这些 IP 地址通常应位于单独的子网中。

例外情况是当您使用诸如通道绑定或者一些热的故障转移額餘系統。

答案3

域名服务处理名称。您可以输入多个名称相同但 IP 地址不同的名称记录 (A 记录)。当 DNS 收到名称请求时,它会返回所有 A 记录。如果记录位于不同的子网上,客户端可以决定使用适当的地址。如果两个地址都位于同一子网上,客户端可能会感到困惑。

您可以(但不应该)为两个 LAN 端口指定相同的 IP 地址,并将它们放在物理上断开连接的网络上。由于网络在物理上是断开的,因此这些网络上的其他计算机不会混淆。您甚至可以只有一个名称和一个 IP 地址,物理上断开连接的网络上的计算机就不会混淆。

但是,具有两个 LAN 端口的计算机(或者说具有两个端口的计算机上的软件)会感到困惑。常用的 API“Berkeley Sockets”无法理解具有多个接口的计算机,并使用 IP 地址作为接口的别名。使用便携式套接字接口编写的任何软件都无法区分这两个 LAN 端口。在底层,操作系统不会感到困惑,但即使其所有部分都可以处理这种情况,它也可能会注意到错误。

请注意,如果将两个接口绑定在一起,操作系统和套接字 API 将只能看到一个接口。您不会“为两个端口赋予相同的 IP 地址”,因为只有一个可见的“端口”可以为其赋予 IP 地址。

答案4

为了补充已经给出的答案......

至少有 2 个情况
,你可以访问
针对同一 IP 的两个不同 NICS...

这些内容有点“技术性”,
我把它们留在这里只是为了完整性:

  1. 您在同一个 LAN 中定义了子网(MAC 是相关 ID)
  2. 您已桥接网卡...()

相关内容