第一次发送数据包时,其他节点如何处理交换机的数据包?

第一次发送数据包时,其他节点如何处理交换机的数据包?

说到交换机,我了解到,第一次将数据包从一个节点发送到另一个节点时,数据包会被发送到该网络的所有节点。然后,交换机会记住计算机 A 试图将数据包发送到的位置(例如计算机 D),当它了解到这一点时,它将只将数据包发送到计算机 D,而忽略所有其他计算机,从而减少流量并节省带宽。

问题 1:我的理解正确吗?还是我遗漏了什么?

问题 2:其他计算机如何处理第一次发送的数据包?它们会被忽略吗?

答案1

我的观点正确吗?或者我遗漏了什么?

是的,您说对了。一旦数据包被发送,交换机就会记住发送计算机的位置。此条目将保留,直到出现以下任一情况:

  • 计算机在一段时间内(由交换机定义)不再发送数据包。
  • 计算机被移动到不同的交换机端口,然后交换机将会看到从该端口到达的数据包。
  • 交换机耗尽了用于记忆 MAC 地址的内存并删除了一些 MAC 地址。

交换机需要以极快的速度访问这些信息,因此无法将其存储在普通的 RAM 芯片中。而是使用 CAM。CAM 即内容寻址内存,对于交换机或路由器需要执行的操作来说,它速度很快,但容量非常小。通常,低端交换机最多可以记住几千台计算机。

其他计算机如何处理第一次发送出去的数据包?

通常,操作系统会告诉网络接口只移交发往其自身 MAC 地址的数据包。因此,硬件将忽略这些数据包,操作系统永远不会看到它们。在特殊情况下,这可能还不够,因此操作系统可以告诉网络接口移交所有数据包,然后操作系统必须决定忽略哪些数据包。例如,如果您运行的虚拟机具有连接到同一网段的不同 MAC 地址,则可以使用这种方法。

答案2

我的观点正确吗?或者我遗漏了什么?

是的。交换机会了解计算机可通过哪些端口访问,然后存储该信息以供将来使用。

第一次发送数据包时,其他计算机如何处理它们收到的数据包?它们被忽略了吗?

是的,其他主机忽略ARP请求。

相关内容