浅释交换机的MAC地址学习的过程及应用

时间:2022-10-25 06:54:55

浅释交换机的MAC地址学习的过程及应用

摘要:MAC地址学习能力是交换机实现数据交换的重要前提。本文将从MAC地址的基本概念、交换机MAC地址学习的基本过程、MAC地址学习错误导致的网络问题及应对策略三个方面来介绍交换机的MAC地址学习功能。

关键词:MAC VLAN(虚拟局域网) IVL(独享式的MAC地址学习模式) SVL(共享式MAC地址学习模式)

中图分类号:TP393 文献标识码:A 文章编号:1007-9416(2012)07-0218-01

交换机是局域网中应用最普遍的网络设备,而MAC地址的学习能力则是交换机实现局域网内通讯能力的重要保障。充分理解并掌握交换机的MAC地址学习过程对于管理局域网及处理局域网通讯故障非常有帮助。

1、基本概念

1.1 MAC地址

MAC(Media Access Control, 介质访问控制)地址是识别LAN节点的标识。MAC对设备(通常是网卡)接口是全球唯一的。MAC地址为48位,用12个16进制数表示。前6个16进制数字由IEEE管理,用来识别生产者或者厂商,构成OUI(ORGANIZATIONAL UNIQUE IDENTIFIER,组织唯一识别符)。后6个包括网卡序列号,或者特定硬件厂商的设定值。对于一个网卡来说,MAC地址是它的一个物理地址,是不可变的;而IP地址是它对应的一个逻辑地址,是可以更改的。

1.2 VLAN(Virtual Local Area Network,虚拟局域网)

VLAN(Virtual Local Area Network)即虚拟局域网,是一种通过将局域网内的设备逻辑地而不是物理地划分成一个个网络从而实现虚拟工作组的技术。这种技术可以把一个LAN划分成多个逻辑的LAN——VLAN,每个VLAN是一个广播域,VLAN内的主机间通信就和在一个LAN内一样,而VLAN间则不能直接互通,这样,广播报文被限制在一个VLAN内。

2、交换机的MAC地址学习过程及数据转发

2.1 交换机MAC地址学习的过程

(1)如上图所示,首先当4台pc机连接到交换机相互通信时,交换机会取出每个数据包的源MAC地址,通过算法找到相应的位置,如果是新地址,则创建地址表项,填写相应的端口信息、生命周期时间等;(2)如果此地址已经存在,并且对应端口号也相同,则刷新生命周期时间;(3)如果此地址已经存在,但对应端口号不同,一般会改写端口号,刷新生命周期时间;(4)如果某个地址项在生命周期时间内没有被刷新,则将被老化删除。

2.2 基于mac地址表的数据转发

当交换机建立起完整的MAC地址表之后,对数据帧的转发是通过查找MAC地址表得到对应的端口,从而将数据帧通过特定的端口发送出去的。但是,对于从一个端口进入的广播数据及在地址表中找不到地址条目的数据,交换机会把该数据帧从除了进入端口之外的所有端口转发出去。从这个角度来说,交换机互连的设备处于同一个广播域内,但它们处于不同的冲突域内。

2.3 支持划分VLAN的交换机的MAC地址学习及数据转发过程

(1)支持VLAN划分的交换机的MAC地址学习的两种模式:IVL模式是独享式的MAC地址学习模式,各个VLAN内学习到的MAC地址为各个VLAN所有,不会共享给其他VLAN。SVL模式是共享式MAC地址学习模式,某一个VLAN学习到的MAC会被其他所有VLAN共享使用。

(2)支持VLAN划分的交换机的数据转发过程:对于支持IVL的交换机,转发流程分以下几步:首先根据帧内Tag Header的VLAN ID查找L2FDB表,确定查找的范围;然后根据目的MAC查找出端口,如果在L2FDB表中查找不到该目的MAC,则该报文将通过广播的方式在该VLAN内所有端口转发;同时该以太网帧的源MAC将被学习到接收到报文的端口上。

3、几种常见的交换机MAC地址学习错误造成的问题及应对策略

3.1 针对单个用户的MAC地址欺骗

如文中图上所示,正常情况下交换机上关于PC-A的MAC地址应该和E0进行绑定,如果某种病毒将PC-A的MAC地址与E1进行了关联,就会导致PC-A在局域网内的通讯错误。

解决方案我们可以将相应端口的MAC地址学习功能关闭然后进行静态MAC地址绑定的方式来实现。

3.2 MAC攻击

交换机的MAC地址表的大小是有限的,如果MAC地址表过于庞大,可能会导致交换机的转发性能下降甚至瘫痪。MAC攻击利用工具产生欺骗的MAC地址,快速填满交换机的MAC表,MAC表被填满后,交换机会以广播方式处理通过交换机的报文,流量以洪泛方式发送到所有接口,这时攻击者可以利用各种嗅探工具获取网络信息。TRUNK接口上的流量也会发给所有接口和邻接交换机,会造成交换机负载过大,网络缓慢和丢包,甚至瘫痪。

解决可以通过设置端口上最大可以通过的MAC地址数量、MAC地址老化时间,来抑制MAC攻击。

3.3 交换机环路

交换机环路会造成交换机MAC地址表的不稳定以及交换机内的网络风暴,这种情况下会导致交换机的网络拥塞直至瘫痪,可以说环路的存在对于局域网的影响是致命的。解决方案就是启用交换机的环路检测功能,一旦交换机发现某个端口下可能存在环路就会将该端口down掉,从而消除环路对整个局域网的影响。对于交换机的TRUNK端口可以设置受控和不受控两种情况:交换机检测到该TRUNK端口下存在环路时受控的情况下会down掉该端口;不受控的情况下,交换机会上报trap消息,但不会down掉该端口,实际应用中可以灵活选择。

4、结语

交换机对于MAC的学习是一次学习多次转发,交换机的mac地址表是整个局域网通讯的一个基础,因此了解和掌握交换机的MAC地址学习的机制对于局域网维护和故障处理非常有帮助。

上一篇:机械加工数字化制造的技术探析 下一篇:勘探开发云中心关键技术之云管理平台建设