交换机是实现数据帧在数据链路层传输的主要设备。 MAC地址:唯一标识一个网络接口,每一网络接口都存在一个MAC地址。MAC地址具有全球唯一性。 MAC地址长度为48bit,6字节。 MAC地址表示方式是十六进制加分隔符。
一个十六进制数由4个二进制数转换得到。 每一个十六进制数,只能有一位数字或字母表示。 十六进制的取值范围(0-F)。
MAC地址的构成: 1.OUI分配:24bit,由IEEE固定给厂商分配。 2.厂商流水编号:24bit,按顺序分配。
MAC地址的分类:
- 单播MAC地址:MAC地址的第8bit为0,则为单播MAC。实现了一对一的访问通信。
- 组播MAC地址:MAC地址的第8bit为1,其他bit不全为1则为组播MAC。实现了一对多的访问通信。
- 广播MAC地址:MAC地址的所有bit都为1,则为广播MAC。实现了一对所有的访问通信。
交换机的工作原理: 根据生成的MAC地址表项执行数据的转发。 MAC地址表项如何生成?
- 手工配置:管理员通过配置命令手工添加静态表项
- 静态MAC:
1.存在一些固定的设备,如果设备为哑终端,可以设置静态MAC进行绑定 。
[S1]mac-address static 5489-9833-3333 GigabitEthernet 0/0/3 vlan 1
::: tip 静态表项不存在老化时间、接口复位、设备重启,静态表项不受影响。 :::
- 2.黑洞MAC:
存在一部分MAC地址攻击问题,可以设置黑洞MAC丢弃指定的MAC地址访问。
[S1]mac-address blackhole 5489-9822-2222 vlan 1
::: tip 黑洞MAC匹配的是流量的SMAC或DMAC,只有一个匹配,则匹配黑洞MAC丢弃。 黑洞MAC不存在老化时间、接口复位、设备重启,黑洞MAC表项不受影响。 :::
- 自动生成:交换机根据收到的流量,将流量的源MAC地址和接收流量的接口进行对应生成 动态表项。 一个接口可以同时存在静态MAC表项和动态MAC表项。
交换机的处理机制: 1.转发:将数据(已知单播数据帧)按照对应的接口进行发送。 2.丢弃:交换机接收的数据对应了黑洞MAC或错误的静态MAC,会丢弃。 3.泛洪:交换机收到数据(未知单播数据帧、广播帧、组播帧)后,将数据从其他所有接口(不包含接收数据的接口)发送。
[S1]display mac-address 查看设备的MAC地址表
[S1]mac-address aging-time 10 设置MAC地址动态表项的老化时间,默认为500s
以太网帧有两个标准:Ethernet_II格式和IEEE 802.3格式: Ethernet Ⅱ以太帧: DMAC:6字节,目的MAC地址,6字节,该字段标识帧的接收者。 SMAC:6字节,源MAC地址,6字节,该字段标识帧的发送者。 Type:2字节,协议类型。常见值:0x0800(IPv4)、0x0806(ARP) 。 FCS:4字节,校验。
IEEE 802.3 以太帧: Length:用户数据(上层数据)长度。 逻辑链路控制LLC由目的服务访问点DSAP、源服务访问点SSAP和Control字段组成:
- DSAP:1字节,目的服务访问点,若后面类型为IP值设为0x06。服务访问点的功能类似于Ethernet II帧中的Type字段或TCP/UDP传输协议中的端口号。
- SSAP:1字节,源服务访问点,若后面类型为IP值设为0x06。
- Ctrl:1字节,该字段值通常设为0x03,表示无连接服务的IEEE 802.2无编号数据格式。 ::: tip 综上,LLC可认为是固定字段060603。 :::
- 不是以太网格式(没有源目的MAC)时会用到LLC内的信息。* SNAP由机构代码和类型字段组成:
- Org Code三个字节都为0。
- Type字段的含义与Ethernet_II帧中的Type字段相同,表示上层应用数据。