数通003---交换机的转发、丢弃、泛洪,以及MAC地址表学习机制

交换机根据以太网帧的目的MAC地址和交换机的MAC地址表(也称为转发表)来决定是否转发、丢弃或泛洪帧。以下是交换机在不同情况下的行为:

1. 转发
什么时候转发?
• 已知目的MAC地址:当交换机收到一个数据帧并且在其MAC地址表中找到该帧的目的MAC地址对应的端口时,交换机会将该帧转发到相应的端口。
举例:
• 单播帧:例如,数据帧的目的MAC地址是00:1A:2B:3C:4D:5E,交换机的MAC地址表中有一条记录,显示该MAC地址对应的端口是Port 2,交换机会将该帧转发到Port 2。

2. 丢弃
什么时候丢弃?
• 无效的或损坏的帧:如果交换机收到一个包含错误的帧,例如帧校验序列(FCS)校验失败,交换机会丢弃该帧。
• MAC地址学习限制:如果交换机的MAC地址表已满,且收到一个新的源MAC地址的帧,交换机可能会丢弃该帧或某些老旧的记录,以腾出空间。
• 网络安全策略:如果交换机配置了访问控制列表(ACL)或其他安全策略,某些数据帧可能会被丢弃。
• 源MAC地址与目的MAC地址相同:如果交换机收到一个数据帧,其源MAC地址和目的MAC地址相同,交换机会丢弃该帧。
举例:
• 损坏的帧:例如,数据帧的FCS校验失败,交换机会丢弃该帧。

3. 泛洪
什么时候泛洪?
• 未知目的MAC地址:当交换机收到一个数据帧,但在其MAC地址表中没有找到该帧的目的MAC地址时,交换机会将该帧泛洪到除了源端口之外的所有端口。
• 广播帧:如果数据帧是广播帧(目的MAC地址为FF:FF:FF:FF:FF),交换机会将该帧泛洪到所有端口。
• 组播帧:默认情况下,许多交换机会将组播帧泛洪到所有端口,除非配置了组播优化协议(如IGMP Snooping)。
举例:
• 未知目的MAC地址:例如,数据帧的目的MAC地址是00:1B:2C:3D:4E:5F,但交换机的MAC地址表中没有记录该MAC地址,交换机会将该帧泛洪到所有端口。
• 广播帧:例如,ARP请求帧,目的MAC地址是FF:FF:FF:FF:FF,交换机会将该帧泛洪到所有端口。
交换机的MAC地址表学习机制
交换机通过学习机制建立和维护其MAC地址表:
1. 学习源MAC地址:
○ 当交换机收到一个数据帧时,它会检查该帧的源MAC地址和接收端口。
○ 如果源MAC地址未在MAC地址表中,交换机会将源MAC地址和接收端口记录到MAC地址表中。
○ 如果源MAC地址已存在但端口不同,交换机会更新该记录,指向新的端口。
2. 老化机制:
○ 为了防止MAC地址表过度增长,交换机会定期删除老旧的MAC地址记录。这个过程称为“老化”,通常有一个默认的老化时间(如300秒)。
总结
• 转发:当交换机知道目的MAC地址并且知道对应的端口时。
• 丢弃:当帧无效、损坏、违反安全策略或在某些异常情况下(如MAC地址表已满或源MAC地址与目的MAC地址相同)。
• 泛洪:当交换机不知道目的MAC地址(未知单播),或者帧是广播帧或组播帧。

 

Ps:
1、交换机的端口默认通常属于VLAN1, 因为VLAN1是IEEE 802.1Q协议规定的默认本征VLAN(Native VLAN), 用于初始配置和未划分VLAN时的通信。
2、不同VLAN之间通信要通过路由器或三层交换机。
3、普通二层转发:查看MAC地址表
VLAN二层转发:MAC地址表项+VLAN标签 (还要监测端口上的VLAN标签是否匹配)
4、VLAN标签由交换机端口在数据进入交换机时添加,这样好处是VLAN对终端主机透明,终端主机
不需要知道网络中VLAN是如何划分的。为保持VLAN对主机透明,交换机负责剥离出端口的VLAN
标签。
5、VLAN跨越交换机时,需要交换机之间传递的数据帧带有VLAN标签(trunk口);
6、PVID:Port VLAN ID 端口默认VLAN ID, 可以通过命令修改;
7、交换机3种接口类型
Access类型接口:只允许缺省VLAN通过,仅接收和发送一种类型VLAN数据帧(缺省VLAN);
一般连接终端设备,如主机或路由器;
默认情况下交换机端口属于Access类型;
命令:[Switch]vlan vlan-id
[Switch]-vlan10]port interfase-list

Trunk类型接口:允许多个VLAN通过,且在接收和发送过程中不对帧中的标签进行任何操作;
如果接收到的帧不带标签,则打上默认VLAN标签;
一般用于交换机之间连接;
命令: [Switch-端口1]port link-type trunk
[Switch-端口1]port trunk permit vlan vlan-id-list
[Switch-端口1]port trunk pvid vlan vlan-id
Hybrid类型接口:Hybrid端口和Trunk端口在接收数据时,处理思路方法是一样的,唯一区别之处
在于发送数据时,Hybrid端口具有解除多VLAN标签的功能,Hybrid端口可以允
许多个VLAN的报文发送时不打标签,从而增加了网络的灵活性。
命令:[Switch-端口1]port link-type hybrid
[Switch-端口1]port hybrid permit vlan vlan-id-list {tagged | untagged}
[Switch-端口1]port hybrid pvid vlan vlan-id

 

 

posted @ 2025-06-23 10:50  Jeason001  阅读(297)  评论(0)    收藏  举报