网络交换机问题

7 networking

如果我们在同一台交换机上有两个具有相同 IP 的主机,并且一个数据包来自该 IP,那么交换机如何知道将数据包发送到哪里。它会发送给两台主机还是只发送给其中一台,如果是一台,那么为什么?

joe*_*joe 7

bdonian 关于 MAC 地址的回答是正确的,但现实世界的答案是

“除非您进行某种形式的链路聚合,否则网络配置不正确 - 修复它。”

同一网络上多台具有相同IP的主机,如果没有正确的交换机配置,则是不正确的网络配置,结果不一致。许多事情会影响“将会发生什么”。通常,预期会出现从不一致行为到无流量点的问题。

如果您希望多台主机共享一个 IP 以进行故障转移或负载平衡,而这有很多名称;绑定、中继、链路聚合等,并且通常需要支持这些方法中的一种或多种的交换机。http://en.wikipedia.org/wiki/Link_aggregation


bdo*_*lan 6

网络交换机不检查数据包的 IP;他们检查目标 MAC 地址。事情会是这样的:

  1. 发送主机 A 要向 IP X 发送数据包。
  2. 主机 A 向 IP X 发送广播 ARP 请求。
  3. 交换机会记录主机 A 的 MAC 地址和交换机端口。
  4. 主机 B 和 C 都使用包含其 MAC 地址的单播 ARP 回复来响应广播 ARP 请求。
  5. 交换机会记录主机 B 和 C 的(不同的)MAC 地址和交换机端口(但不会记录它们的 IP!)
  6. 两个回复之一首先到达 - 假设主机 B。
  7. 主机 A 注意到 IP X = 主机 B 的 MAC。
  8. 主机 A 向主机 B 的 MAC 和 IP X 发送数据包
  9. 来自主机 C 的 ARP 回复到达。主机 A 可能会也可能不会覆盖 IP X 的条目。
  10. 交换机匹配主机 B 的 MAC 地址并将数据包转发到主机 B 的端口。
  11. 主机 B 接收数据包。