在对交换机配置进一步讲解之前,我们先来了解一下什么是mac地址、mac地址表、他在交换机中有什么作用。
一、mac地址
1. MAC地址的组成
Mac地址也称为物理地址、硬件地址或链路地址。
MAC地址由48位(6字节)二进制数构成,通常以十六进制表示,并以冒号、连字符或点分隔成6个部分,例如 00:1A:2B:3C:4D:5E
或 00-1A-2B-3C-4D-5E
。每个部分由两个十六进制数(8位二进制数)组成。
2. MAC地址的分配
MAC地址通常在设备制造时由设备的制造商分配,并写入网络接口控制器(NIC)中,属于设备的硬件地址。
地址前24位通常称为组织唯一标识符(OUI, Organizationally Unique Identifier),通俗一点来说它就是网络硬件制造商的编号,用于标识设备的制造商。
地址后24位由制造商分配,通常是设备的唯一序列号。
3. MAC地址的分类
MAC地址分为两种类型:
- 单播地址(Unicast Address): 标识网络中的单个设备。大多数MAC地址属于单播地址,设备通过单播地址直接与目标设备通信。
- 多播地址(Multicast Address): 用于在网络中同时传送数据给多个设备。以太网多播地址的最低有效位是1。
- 广播地址(Broadcast Address): 特定的MAC地址,通常为
FF:FF:FF:FF:FF:FF
,用于向网络中所有设备广播消息。
4. MAC地址的作用
MAC地址主要用于数据链路层,尤其是在局域网(LAN)中:
- 数据传输: 当一个设备向另一个设备发送数据包时,数据包中包含了源MAC地址和目的MAC地址。交换机和网桥使用这些地址来转发数据包到正确的目的地。
- 网络安全: MAC地址过滤器可以用于限制网络中的设备接入,仅允许特定MAC地址的设备连接网络。
5. MAC地址与IP地址的区别
- MAC地址:硬件地址,用于本地网络通信,通常不会改变。
- IP地址:逻辑地址,用于设备在不同网络之间通信,可以动态分配或手动配置。
6. MAC地址的修改
MAC地址可以通过软件进行修改,称为“MAC地址欺骗”或“MAC地址伪造”。
二、Mac地址表
MAC地址表(也称为地址解析表或转发表)是网络设备(如交换机)内部维护的一张记录表,用于跟踪网络中设备的MAC地址及其对应的物理端口。它是交换机在局域网(LAN)中实现高效数据包转发的关键组件。
1. MAC地址表的作用
MAC地址表的主要功能是帮助交换机决定将收到的数据包转发到哪个端口,从而实现网络内的数据包准确且高效地传输。这种表记录了每个MAC地址与交换机的哪个端口相连,从而在数据传输过程中避免了数据包的广播风暴。
2. MAC地址表的工作原理
MAC地址表的运作过程可以分为以下几个步骤:
1) 学习(Learning)
当交换机接收到某个设备发送的数据帧时,首先会检查数据帧的源MAC地址。交换机会将这个源MAC地址和对应的接收端口记录到MAC地址表中。如果这个源MAC地址已经存在于表中,交换机会更新其对应的端口信息。
2) 查找(Looking Up)
当交换机需要转发数据帧时,会查找数据帧中的目的MAC地址。在MAC地址表中,交换机查找这个目的MAC地址所对应的端口。如果找到了对应的端口,交换机会将数据帧只转发到这个端口,实现单播传输。
3) 转发或泛洪(Forwarding or Flooding)
- 转发:如果在MAC地址表中找到了目的MAC地址对应的端口,交换机会将数据帧定向转发到该端口。
- 泛洪:如果目的MAC地址没有记录在MAC地址表中,交换机会将数据帧泛洪到除源端口以外的所有端口。这样做的目的是确保数据帧能到达目的设备,并在接收到回复后更新MAC地址表。
4) MAC地址表老化(Aging)
MAC地址表不是永久性的。每个MAC地址记录都有一个老化时间(通常为几分钟),如果在这段时间内交换机没有再次看到该MAC地址的通信,记录会被删除。这是为了防止MAC地址表因长期不活动的地址占用而变得冗长,影响交换机的性能。
3. MAC地址表的结构
一个典型的MAC地址表的每一行可能包括以下几项内容:
- MAC地址:设备的唯一硬件地址。
- 端口号:MAC地址对应的物理端口号,指向该设备连接的端口。
- VLAN ID:如果交换机支持虚拟局域网(VLAN),MAC地址可能还与特定的VLAN相关联。
- 老化时间:显示MAC地址在表中的剩余有效时间。
4. MAC地址表的优势
- 高效转发:MAC地址表使得交换机能够快速查找和转发数据包,而不必进行广播,从而减少网络负载。
- 网络分割:通过记录端口和MAC地址的对应关系,交换机可以有效地将不同设备的流量隔离在各自的网络段中。
- 动态学习:交换机会自动学习并更新MAC地址表,无需手动配置,简化了网络管理。
5. MAC地址表的管理与配置
网络管理员可以通过交换机的管理界面查看、清除或手动配置MAC地址表。例如,在网络调试中,管理员可能需要清除MAC地址表以排除设备连接问题。此外,有些交换机允许手动绑定特定MAC地址到特定端口,以增强网络的安全性。
6. 常见问题
- MAC地址表溢出:如果网络中有大量设备,或遭受MAC洪泛攻击,MAC地址表可能会溢出,导致交换机的转发效率下降,甚至全部端口进入泛洪模式。
- MAC地址漂移:如果网络设备的MAC地址经常更改或多个设备共享一个MAC地址,会导致MAC地址表频繁更新,影响网络性能。
三、补充:泛洪、广播风暴以及它们之间的区别
1. 泛洪(Flooding)
泛洪是网络设备(如交换机)在某些情况下有意触发的一种行为,其目的是确保数据包能够到达未知目的地。
泛洪的触发条件:
- 未知的目的MAC地址: 当交换机接收到一个数据帧,但在其MAC地址表中找不到数据帧的目的MAC地址时,交换机会将数据帧泛洪到除源端口以外的所有端口。
- 广播或多播帧: 当交换机接收到广播帧(如
FF:FF:FF:FF:FF:FF
)或多播帧(目的MAC地址以01
开头),它也会将数据帧泛洪到所有端口。
泛洪的后果:
- 网络流量增加: 泛洪会导致数据包发送到所有连接的设备,这会增加网络上的流量。
- 设备负载增加: 所有接收到泛洪数据包的设备必须处理这些数据包,即使它们不是目标设备,从而增加了设备的处理负担。
泛洪本身是交换机正常工作的一部分,用于确保数据包在未知目标的情况下仍能传递成功。
2. 广播风暴(Broadcast Storm)
广播风暴是一种不正常的、严重的网络问题,通常是由网络配置错误或网络设备故障引发的。
广播风暴的触发条件:
- 网络环路(Loop): 如果网络中存在未管理的环路(如没有启用生成树协议的情况下),广播帧可以无限循环,导致广播帧的数量在网络中迅速增加。
- 大量广播流量: 某个设备异常发送大量广播帧,也会触发广播风暴。
广播风暴的后果:
- 网络拥堵: 广播风暴会导致网络上出现大量的广播流量,严重影响网络带宽,导致合法的数据包无法正常传输。
- 网络设备崩溃: 交换机和路由器可能会因处理大量广播帧而超载,甚至崩溃,导致整个网络瘫痪。
- 网络延迟增加或掉线: 用户可能会感受到网络的显著延迟,甚至完全无法连接到网络。
广播风暴是一种非常危险的网络问题,通常需要立即采取措施来解决,例如通过启用生成树协议(STP)来消除环路,或者调整网络配置以减少广播流量。
3. 泛洪与广播风暴的区别
- 性质: 泛洪是交换机为处理未知或广播流量时的正常行为;广播风暴则是网络异常问题,通常需要立即解决。
- 触发原因: 泛洪通常由未知的目的MAC地址或广播、多播流量触发;广播风暴通常由网络环路或设备异常引发。
- 后果: 泛洪会增加网络流量但不会导致网络瘫痪;广播风暴会导致网络拥堵、设备超载甚至整个网络瘫痪。