http://blog.sina.com.cn/s/blog_673c5f4f0100tv8j.html
二层交换机通过解析和学习以太网帧的源MAC来维护MAC地址与端口的对应关系(保存MAC
与端口对应关系的表称为MAC表),通过其目的MAC来查找MAC表决定向哪个端口转发,基本流
程如下:
v 二层交换机收到以太网帧,将其源MAC与接收端口的对应关系写入MAC表,作为以后的二
层转发依据。如果MAC表中已有相同表项,那么就刷新该表项的老化时间。MAC表表项
采取一定的老化更新机制,老化时间内未得到刷新的表项将被删除掉;
v 根据以太网帧的目的MAC去查找MAC表,如果没有找到匹配表项,那么向所有端口转发
(接收端口除外);如果目的MAC是广播地址,那么向所有端口转发(接收端口除外);
如果能够找到匹配表项,则向表项所示的对应端口转发,但是如果表项所示端口与收到以
太网帧的端口相同,则丢弃该帧。
从上述流程可以看出,二层交换通过维护MAC表以及根据目的MAC查表转发,有效的利用了网
络带宽,改善了网络性能。图4是一个二层交换的示例。
二层交换机的MAC地址老化和刷新通常直接由硬件ASIC芯片来完成,这里顺便介绍一下其通常
采用的机制:
v 在芯片中储存的每一个动态添加的MAC地址表项都有一个 1 bit 长度的老化标志,同时芯片
有一个老化定时器用于控制地址老化;
v 对于新学习到的MAC地址表项,其老化标志位置1;对于已经学习到的MAC表项,如果后
续有报文的源MAC与表项相同,那么将其老化标志位刷新为1;
v 每当芯片的老化定时器超时后,将MAC地址表中老化标志位等于1的项目,修改其老化标志
位等于0;对于MAC地址表中老化标志位等于0的项目,直接删除。
在这样的老化更新机制下,MAC地址的实际老化时间并不是精确的,而是一个范围:1~2倍的
老化定时器时间。
二层交换机虽然能够隔离冲突域,但是它并不能有效的划分广播域。因为从前面介绍的二层交
换机转发流程可以看出,广播报文以及目的MAC查找失败的报文会向所有端口转发,当网络中的主
机数量增多时,这种情况会消耗大量的网络带宽,并且在安全性方面也带来一系列问题。当然,通
过路由器来隔离广播域是一个办法,但是由于路由器的高成本以及转发性能低的特点使得这一方法
应用有限。基于这些情况,二层交换中出现了VLAN技术。
|