二层交换与MAC地址

        

        根据国际标准化组织(ISO)提出的开放系统互连参考模型(OSI-RM),依据链路层(二层)进行数据帧转发的称为二层交换。相应地,仅支持二层交换的交换机称为二层交换机。

        二层交换机工作在数据链路层,它对数据包的转发是建立在MAC地址的基础上的。二层交换机内部通常使用称为ASIC的芯片来实现对数据包的转发,由于是硬件转发,性能非常高。

        MAC地址是二层交换机转发数据包的依据。先来看一下MAC地址。MAC地址有48位(6字节)。在常用的以太网帧结构中,帧头有一个目的MAC地址(6字节),一个源MAC地址(6字节),分别标志帧的目的节点和源节点的物理地址。

目的MAC
(6字节)
源MAC
(6字节)
类型
(2字节)
数据


        MAC地址一般可以分为单播地址、组播地址和广播地址。
        (1)单播地址:第一个字节的最低位为0,如:00-12-34-56-78-90。向单一设备或端口转发数据包。
        (2)组播地址:第一个字节的最低位为1,如:01-00-5e-00-00-01。向一组设备或端口转发数据包。
        (3)广播地址:全1。即:FF-FF-FF-FF-FF-FF。将向所有设备或端口转发数据包。

        二层交换基本流程:1.交换机接收到以太网帧后,会将以太网帧中的源MAC地址与接收端口的对应关系写入MAC地址表中,作为以后转发的依据。如果MAC地址表中已经有相同的表项,那么就刷新该表项的老化时间。2.交换机根据接收到的以太网帧的目的MAC地址查找MAC地址表,如果在MAC地址表中找到该MAC目的地址,那么就向对应的端口转发(如果对应的端口与接收端口相同,那么将丢弃该以太网帧)。如果没有找到匹配表项,那么将向除接收端口之外的所有端口转发。

        可以看出,二层交换通过记录源MAC与接收端口的对应关系来维护MAC地址表,同时通过目的MAC查找MAC地址表来向相应的端口转发数据包。

        动态MAC地址表的表项采取一定的老化更新机制来维护MAC地址表,一定时间内未被刷新的表项将被删除掉。
        二层交换机的老化和刷新通常直接由硬件ASIC芯片完成。关于这个机制,查找到一些资料如下:
        1.在芯片中储存的每一个动态添加的MAC地址表项都有一个 1 bit 长度的老化标志,同时芯片有一个老化定时器用于控制地址老化。
        2.对于新学习到的MAC地址表项,其老化标志位置1;对于已经学习到MAC表项,如果后续有报文的源MAC与表项相同,那么将其老化标志位刷新为1。
        3.每当芯片的老化定时器超时后,将MAC地址表中老化标志位等于1的项目,修改其老化标志位等于0;对于MAC地址表中老化标志位等于0的项目,直接删除。

在这样的老化机制下,老化时间是不确定的,为1~2倍的老化定时器时间。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值