一、基本概念
1.mac地址
mac地址是一台设备的唯一的物理标识符。设备的mac地址全球独一无二,在二层转发中是依靠于mac地址进行转发的。
mac地址是由48位的二进制数组成,通常被表示为12位的点分十六进制数。例如,48Bit的MAC地址000000001110000011111100001110011000000000110100,表示为12位点分十六进制就是00e0.fc39.8034。
每个MAC地址的前6位(点分十六进制)代表OUI(由IEEE分配给厂商的组织标识),后6位由厂商自己分配。例如,地址00e0.fc39.8034,前面的00e0.fc是IEEE分配给华为公司的OUI,后面的39.8034是由华为公司自己分配的地址编号。
MAC地址可分为下面几种类别:
• 物理MAC地址
这种类型的MAC地址唯一的标识了以太网上的一个终端,这样的地址是固化在硬件(如网卡)里面的。
• 广播MAC地址
这是一个通用的MAC地址,用来表示网络上的所有终端设备。
广播MAC地址48Bit全是1,即ffff.ffff.ffff。
• 组播MAC地址
这是一个逻辑的MAC地址,用于代表网络上的一组终端。
组播MAC地址第8Bit是1,例如000000011011101100111010101110101011111010101000。
2.mac地址表
MAC 地址表记录了与该设备相连的设备的 MAC 地址、接口号以及所属的 VLAN ID。
例如:
3.交换三大功能
①MAC地址学习。
②数据帧转发。
③避免回路。
4.三种数据帧
①已知单播帧:发送的数据帧有具体的源和目的MAC及IP、MAC地址表有具体的条目,可直接转发。
②未知单播帧:发送的数据帧无源和目的MAC及IP,交换机收到此帧会泛洪。
③广播帧:发送的数据帧有具体的源MAC,目的MAC是广播。
④交换机MAC地址表老化时间500s,电脑MAC地址表老化时间600s。
二、二层转发原理
二层交换设备通过解析和学习相连的设备的mac将其写入mac地址表,通过收到帧的目的mac查找MAC表决定向哪个接口转发,基本流程如下:
1. 二层交换设备收到以太网帧,将其源MAC与接收接口的对应关系写入MAC表,作为以后的二层转发依据。如果MAC表中已有相同表项,那么就刷新该表项的老化时间(默认300s)。MAC表表项采取一定的老化更新机制,老化时间内未得到刷新的表项将被删除掉。
2. 根据以太网帧的目的MAC去查找MAC表,如果没有找到匹配表项,那么向除入接口外的所有接口转发(泛洪);如果目的MAC是广播地址,那么向所有接口转发(报文的入接口除外);如果能够找到匹配表项,则向表项所示的对应接口转发。
从上述流程可以看出,二层交换通过维护MAC表以及根据目的MAC查表转发,有效的利用了网络带宽,改善了网络性能。
二层交换示例
二层交换设备虽然能够隔离冲突域,但是它并不能有效的划分广播域。因为从前面介绍的二层交换设备转发流程可以看出,广播报文以及目的MAC查找失败的报文会向除报文的入接口之外的其它所有接口转发,当网络中的主机数量增多时,这种情况会消耗大量的网络带宽,并且在安全性方面也带来一系列问题。当然,通过路由器来隔离广播域是一个办法,但是由于路由器的高成本以及转发性能低的特点使得这一方法应用有限。基于这些情况,二层交换中出现了VLAN技术。