一、引言
由于网络的高速发展,数据的传输效率及网络的安全性是考量网络的关键指标。MAC地址表在提高数据包转发性能、减少网络冲突以及网络安全性方面发挥着至关重要的作用。
二、MAC地址表的基本概念
MAC地址表记录了到达设备的数据包或由管理员手动指定MAC地址、接口号以及所属VLAN ID之间的对应关系,是VLAN内决定数据包转发的决策表,它是决定交换机转发行为的标准。
1. MAC地址表作用
在早期的以太网网络中,整个网络属于一块广播域。由于进行局域网互联时无法限制广播的问题,于是出现了VLAN (Virtual Local Area Network,虚拟局域网)的技术,这种技术把一块广播域划分为多个广播域,VLAN内的主机设备可以正常通信。
由于VLAN内的主机设备仍然是以广播的形式进行通信,一个主机发送数据,会在同一VLAN里面进行广播,即同一个VLAN内的主机均会接收到该数据包,但一些没有必要接收该数据包的主机将会产生带宽浪费,故MAC地址表应运而生。在同一个VLAN里面转发数据时,查找MAC地址表项,数据包由一对多变为一对一的转发形式,进而提高数据包的转发性能、提高接口的吞吐量、维护网络的安全。
2. MAC地址表类型
1)动态MAC地址:由接口通过接收到数据包的源MAC地址学习得到,表项可以被老化,默认老化时间为300s,可以通过网络浏览器或命令行界面 (CLI)修改老化时间。
动态MAC地址老化机制:若从收到最后一个该数据包开始,到老化时间结束的时间段内,未收到该数据包,会清除学习到在动态MAC地址中该数据包的表项;若从收到最后一个该数据包开始,到老化时间结束的时间段内,再次接收到该数据包,该条MAC地址表项会重新计算老化时间。
图一(MAC地址老化过程图)
2)静态MAC地址:由管理员手动配置,该地址不会被老化。默认情况下,接口和MAC地址静态绑定后,其他接口收到源MAC是该MAC地址的报文将会被丢弃。
图二(基于MAC地址表转发)
如图二,PC1访问PC3,经过switch查找地址表,查找到VLAN 10 MAC 3的接口为Port3,那么该数据包就往Port3进行转发,而不会往Port2进行转发。即对于该数据包而言,PC3可以收到PC1发送的数据包,而PC2收不到PC1发送的数据包。
3. MAC地址学习限制
由于MAC地址表的容量是有限的,当一个接口接收大量源MAC地址不同的报文(可能为攻击报文),将会导致设备上的MAC地址表项可能会被耗尽。MAC地址表一旦被耗尽,设备上接口即使接收到报文,也无法学习报文中的源MAC地址,将会导致报文泛洪,浪费接口带宽。
故而为了解决上述问题,设备提供以下五种方式对MAC地址学习进行控制:
1)基于VLAN或接口关闭MAC学习能力,目的:禁止指定的VLAN/接口进行MAC地址学习的能力,防止其占用大部分MAC地址表条目。
2)基于VLAN或接口限制MAC地址学习的数量,目的:防止指定的VLAN/接口学习过多的MAC地址,从而占用大量的MAC地址表容量。
3)基于VLAN或接口清除已学习的MAC地址条目,目的:防止未老化的MAC地址,在老化完成之前一直占用MAC地址表。
4)对于MAC表项已满,且报文的目的MAC在MAC表项中查找不到该条MAC表项时,丢弃该报文,目的:防止报文泛洪,造成带宽浪费。
5)对于MAC表项已满,且报文源MAC地址在MAC表项中查找不到该条MAC表项时,丢弃该报文,目的:防止攻击报文的转发,从而节省接口带宽。
4. MAC地址表项漂移
MAC地址表项漂移是指不同的端口接收到相同的MAC地址,后学习到的MAC地址表项覆盖原MAC地址表项的一种现象。
三、MAC地址表大小的意义
1)控制网络访问:MAC地址可以限制网络攻击,管理员可以配置特定的MAC地址进行访问,其他MAC地址不允许访问,可以有效防止未经授权的设备或潜在的攻击者访问交换机。通过对交换机的访问做限制,极大的增加了网络的安全性。
2)提高转发性能、网络可靠性:通过数据包的目的MAC查找交换机MAC地址表进行转发,这种方式能够确保数据包准确的转发到目标设备,有效的避免了数据包的丢失和错误传输,达到提高数据包转发性能,且提高网络的可靠性。
3)提高吞吐量:通过修改数据包的转发方式,由广播泛洪变更为指定端口转发,减少接口出方向的泛洪数据包,达到提高网络吞吐量的性能。
四、如何选择合适的MAC地址表大小
对于选择合适的MAC地址表大小,需要考虑以下因素
1)根据交换机所处网络的位置,处于核心网络还是边缘网络。
2)交换机所有端口上下游交互主机网络的数量和。
3)预留一部分MAC表项,针对一些特殊情况使用,如防止多种MAC访问(黑名单)。
4)若选择MAC地址表过大:增大CPU的处理负荷。
5)若选择MAC地址表过小:降低数据报文转发性能,浪费接口网络带宽,增大网络冲突的可能性。
五、迈威通信不同工业交换机MAC地址表大小
平台 |
设备型号 |
MAC地址表(K=1024) |
MBN3000(L2&单片机) |
ISM515-V3-2D-2C |
2K |
MBN6000(L2&方案一) |
ISM518-V2 |
2K |
ISM7100-V2 |
8K |
|
MBN6000(L2&方案二) |
MISCOM7028G-V2-4GF-8GC-16GT |
8K |
MBN7000(L3&PTP&TSN) |
MISCOM8036TSN-4XGF-24GF-8GT |
32K |
MISCOM7028TSN-2GF-6GT |
8K |
|
MBN8000(L3) |
ISM7112G |
8K |
MISCO8028G-4XGF |
16K |
六、结语
MAC地址表使数据包由泛洪转发转变为点到点转发,节省大量带宽的浪费,提高数据包转发性能,从而提高吞吐量,可以较为明显的改善对带宽有一定要求的网络环境。MAC地址在提高工业通信网络的效率、性能及安全方面发挥着至关重要的作用。在交换机所处网络位置的不同,选择合适的MAC地址表,极大程度提高交换机性能。
顶部