第 2 层的开关功能
先决条件 - 开关
交换机是基于设备的 MAC 地址(物理地址)工作的第 2 层设备。 Switch主要执行以下功能:
- 学习——交换机在它接收帧的交换机端口上学习设备的 MAC 地址。
- 转发 -交换机执行 2 种类型的消息转发:
(a)单播:交换机仅在其 MAC 地址表中有目的 MAC 地址条目时,才将帧单播到目的地。
(b)未知单播:当交换机接收到目的地的单播帧时,交换机在其 MAC 表中没有条目,则交换机简单地通过所有端口广播该帧。这被称为洪水。 - 过滤——该帧将仅通过交换机已经在其 MAC 表中获知 MAC 地址的交换机端口转发。
- 避免环路——为了冗余,两台交换机通过两条链路相互连接,这也可能导致第 2 层环路。通过使用 STP(生成树协议)协议进行切换可以避免这些循环。
注 –交换机 MAC 表中的条目,也称为 CAM(内容可寻址存储器),最多可以保留 300 秒。当接收到目标 MAC 地址的帧时,300 秒的时间限制将被重置。 MAC 表有 4 个条目:
- 端口号 -交换机端口连接到目标 MAC。
- MAC 地址 –连接到该交换机端口的主机的 MAC 地址。
- 类型——它告诉我们交换机如何获知主机的 MAC 地址,即静态或动态。如果条目是手动添加的,那么它将是静态的,否则它将是动态的。
- VLAN –它告诉连接到该交换机端口的主机属于哪个 Vlan。
Switch如何学习Mac地址?
只有当交换机从主机接收到任何帧时,它才会更新其 MAC 表。如果没有目标主机的条目,则交换机将首先获知源主机的 Mac 地址,然后将帧泛洪通过其所有端口,但接收帧的端口除外,但如果在其中有目标主机的条目交换机的Mac表然后它将是单播的。
让我们通过一个例子来看看。
示例 –这是一个小型拓扑,具有主机 A (192.168.1.1/24)、主机 B (192.168.1.2/24)、主机 C (192.168.1.3/24)、主机 D (192.168.1.4/24) 和 2之间切换。它将通过从主机 A 到主机 C ping 来了解交换机 MAC 地址学习过程。最初,两个交换机 MAC 表都有一个仅用于另一个交换机的条目。
当用户尝试 ping 主机 C 时,他看到生成了 2 个数据包:一个是 ICMP,另一个是 ARP。
首先解析ARP,即主机A在网络中广播ARP请求。
switch0 收到广播 ARP 请求,将更新其 MAC 表。
注 – switch0 已经有一个用于 Switch1 的条目。 switch0 广播该帧以返回给 switch1 和 PC。主机 B 将丢弃该帧,因为它不是发送给它的。
现在,switch1 将接收帧并首先更新其 MAC 表。
注 –此处,交换机 1 在同一端口 fa0/1 上获知了交换机 0 和主机 A 的不同 MAC 地址,因为主机 A 在 fa0/1 上连接到交换机 0,因此显示相同的端口 fa0/1。现在,switch1 会将 ARP 帧广播到主机 C 和主机 D,因为它们存在于同一个广播域中。
主机 C 将生成一个单播到交换机的 ARP 回复。交换机 1 将更新其 MAC 表,为主机 C 放置一个条目。
交换机(switch0 和 switch1)这次都将单播这个 ARP 回复给主机 A,因为这一次交换机已经学习了主机 A 的 MAC 地址。
帧成功传送到解析 ARP 的主机 A。
现在 ICMP 回显请求单播到主机 C。
ICMP 回显回复单播到主机 A。
记住 -
交换机什么时候播出?如果主机已经广播了一个帧,那么接收它的交换机无论如何都会通过它的端口进一步广播它。
什么时候交换机会做泛洪(未知单播)?如果主机具有单播帧并且交换机在其 Mac 表中没有目标 Mac 地址,则交换机将通过其所有端口进行泛洪,但接收帧的端口除外。
什么时候交换机会单播?如果交换机在其 Mac 表中具有目标主机的条目,则该帧将是单播的。