Stevv's Blog

Do not go gentle into that good night

MAC地址表的形成过程

MAC地址表的作用

交换机之所以能够直接对目的节点发送数据包,而不是像集线器一样以广播方式对所有节点发送数据包,最关键的技术就是交换机可以识别连在网络上的节点的网卡MAC地址,并把它们放到一个叫做MAC地址表的地方。

这个MAC地址表存放于交换机的缓存中,并记住这些地址,这样一来当需要向目的地址发送数据时,交换机就可在MAC地址表中查找这个MAC地址的节点位置,然后直接向这个位置的节点发送。

MAC地址表的形成过程

  1. 设备连接与数据包发送
    • 当设备连接到交换机并发送数据时,数据包会包含发送设备的源 MAC 地址和目标 MAC 地址。
  2. 学习阶段
    • 当交换机收到数据包时,会读取该数据包的源 MAC 地址和接收数据的端口。
    • 交换机将源 MAC 地址与接收端口的对应关系记录到 MAC 地址表中。这个过程被称为 MAC 地址学习。
  3. 转发与过滤
    • 交换机会根据 MAC 地址表来决定如何处理接收到的数据包。
    • 如果表中已经有目标 MAC 地址对应的端口信息,交换机会直接将数据包转发到该端口。
    • 如果表中没有目标 MAC 地址,交换机会将数据包广播到除接收端口外的所有端口,直到目标设备响应,并将响应的 MAC 地址学习到表中。
  4. MAC 地址表老化
    • MAC 地址表中的记录不是永久的,它们会有一个老化时间(通常是几分钟)。
    • 如果在老化时间内没有再次看到某个 MAC 地址的数据包,交换机会将该 MAC 地址从表中删除,以防止表变得过大和失效。

通过这种方式,交换机能够有效地管理网络流量,减少不必要的广播,提升网络性能。