目录
MAC地址介绍
MAC地址的组成
MAC地址分类
MAC地址的作用
二层交换机介绍
MAC地址表的定义
MAC地址表项类型
二层交换机对数据帧的处理动作
MAC地址介绍
MAC地址(Media Access Control Address),直译为媒体存取控制位地址
MAC地址的组成
MAC地址(物理地址、硬件地址、网卡地址)是48bit二进制的地址,不过一般用12个十六进制来标识,全球唯一;比如54-89-98-A1-19-93就是一个MAC地址
第7bit标识MAC地址范围:0标识广域地址 1标识区域地址
第8bit标识MAC地址为组播还是单播:0标识单播 1标识组播
前24bit是厂商识别码(只有单播MAC的前24bit是厂商识别码),用来标识是哪个厂商生产的网卡;每个网卡的前24bit都是唯一的
后24bit是由厂商给每个网卡进行分配;该厂商内每个网卡的MAC地址后24bit是唯一的,不同厂商网卡的MAC地址后24bit可以一致
MAC地址分类
单播MAC
第8bit为0的MAC地址为单播MAC(目的MAC为单播MAC,表示发往广播域内的某个主机)
xxxxxxx0 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
例如:54-89-98-A1-19-93
组播MAC
第8bit为1的MAC地址为组播MAC(目的MAC为组播MAC,表示发往广播域内的某部分主机)
xxxxxxx1 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
例如:55-89-98-A1-19-93
广播MAC
所有bit都为1的MAC地址为广播MAC地址(目的MAC为广播MAC,表示发往广播域内所有主机)
11111111 11111111 11111111 11111111 11111111 11111111
例如:FF-FF-FF-FF-FF-FF
MAC地址的作用
1、用来确认网络设备的位置,在网络中唯一标识一个网卡
一台设备如果有多个网卡,则每个网卡都会有一个唯一的MAC地址
2、用于网络节点之间的二层转发,即同网段到同网段互访是通过MAC地址实现的(以下举例说明)
各个接口(网卡)的MAC地址
12.0.0.1去访问12.0.0.2,数据包的封装格式如下
12.0.0.2回复12.0.0.1,数据包的封装格式如下,以此完成网络互访
3、当网络节点进行三层互访时,每跳与每跳之间都是通过MAC地址来进行转发的(以下举例说明)
查询路由表,找到对应目的地址的下一跳和出接口,然后将下一跳IP地址对应的的MAC地址封装为目的MAC地址,源MAC地址封装为自己出接口对应的MAC地址;
所以在三层转发时源目MAC会一直改变,但是源目IP不会改变
AR1的G0/0/0口、AR2的G0/0/0口MAC地址同上
AR2的G0/0/1口MAC地址
AR3的G0/0/1口MAC地址
AR1去访问AR3时,根据路由表将数据包通过G0/0/0口转给AR2,AR2再根据路由表将数据包通过G0/0/1口转给AR3
AR3回复AR1时,根据路由表将数据包通过G0/0/1口转给AR2,AR2再根据路由表将数据包通过G0/0/0口转给AR1
二层交换机介绍
二层交换机一般用于终端接入,通过MAC地址表来实现二层数据转发
MAC地址表的定义
MAC地址表记录了交换机学习到的其他设备的MAC地址与接口的对应关系,以及接口所属Vlan等信息设备在转发报文时,根据报文的目的MAC地址查询MAC地址表中此目标MAC的对应关系,从对应的接口转发(如果没有此目的MAC,则对此报文进行泛洪处理)
MAC地址表项类型
动态表项:通过识别端口接收到的报文中的源MAC地址学习获得,老化时间300s
静态表项:手工配置MAC地址与接口等的对应关系,不老化
黑洞表项:手工配置,丢弃特定源MAC或目标MAC,不老化
静态表项和动态表项可以覆盖动态表项(反过来不会覆盖)
二层交换机对数据帧的处理动作
二层交换机对数据帧主要有三种处理方式,分别为转发、泛洪、丢弃
转发(Forwarding)
目的MAC为单播MAC的数据帧从某个端口进入到交换机,如果MAC地址表有此目的MAC,则从对应的端口转发
泛洪(Flooding)
目的MAC为单播MAC的数据帧从某个端口进入到交换机,如果MAC地址表有无目的MAC(也就是未知单播帧),则将此数据帧发送到交换机的所有接口,也就是泛洪
目的MAC为广播MAC的数据帧从某个端口进入到交换机,直接将此数据帧泛洪
丢弃(Discarding)
目的MAC为单播MAC的数据帧从某个端口进入到交换机,如果MAC地址表中有此目的MAC,并且此目的MAC对应的端口为此单播帧进入的端口,则将此单播帧丢弃