交换机转发行为有哪些?交换机的基本作用就是用来转发数据帧,交换机收到数据帧后的转发方式共有3种:泛洪(Flooding)、转发(Forwarding)、过滤(Filter)。
1.泛洪
泛洪是指交换机把从某一个端口接收到的数据帧向除接收端口以外的其他端口转发出去。泛洪是一种点到多点的转发行为,交换机在以下几种情况下会泛洪数据帧:
●收到广播数据帧;
●收到组播数据帧;
●收到未知的单播数据帧(未知的单播帧是指数据帧的目的 MAC地址在 MAC地址表中不存在的数据帧)。
2.转发
转发是指交换机把从某一个端口收到数据帧从另外一个端口转发出去,转发是一种点到点的转发行为。
交换机转发数据帧流程是:交换机收到数据帧以后根据数据帧的目的MAC地址查看本地MAC地址表,如果MAC地址表中存在目的MAC地址,则将数据帧从目的MAC地址绑定的端口转发出去;如果MAC地址表中不存在MAC地址,则执行泛洪转发。
3.过滤
交换机在以下两种场景中会对数据进行过滤:
●交换机收到数据帧后根据 MAC地址表进行转发,不从其他端口泛洪数据帧;
●交换机接收数据帧的端口和转发数据帧的端口是同一个端口,则丢弃数据帧不转发。过滤数据帧如图所示,该图展示了第二种过滤场景。
过滤数据帧
根据上图,笔者对第二种过滤场景说明如下。
① 主机A访问主机B,数据帧的目的MAC地址是主机B的MAC地址,源MAC地址是主机A的MAC地址,数据帧经过Hub,Hub将数据帧泛洪转发给主机B和交换机。
② 交换机收到数据帧后,学习源MAC地址,将源MAC地址绑定到E0端口,并根据目的MAC地址查MAC地址然后进行转发。由于当前交换机的MAC地址为空,交换机执行泛洪转发,将数据帧从除接收端口以外的其他端口转发出去。
③ 主机B收到数据帧后回复数据帧给主机A,数据帧目的MAC地址是主机A的MAC地址,源MAC地址是主机B的MAC地址,数据帧再次经过Hub,Hub将数据帧转发给主机A和交换机。
④ 交换机收到数据帧后学习源MAC地址,并将源MAC地址绑定到E0端口,然后根据数据帧目的MAC地址查MAC地址表然后进行转发。由于交换机发现数据帧的出端口和接收数据帧的端口是同一个,说明存在环路,于是丢弃数据帧不转发,过滤数据帧。