Article Number: 000140418
示例日志条目:
May 20 19:12:20: %EX8PB:2 %MACAGT-2-HASH_COLLISION_LOG: Mac:00:02:e8:d6:58:20/Vlan:203 could not be added to L2 CAM on portpipe 2 linecard 2 due to hash collision.Total number of hash collisions: 30211
May 20 19:12:20: %EX8PB:2 %MACAGT-2-HASH_COLLISION_LOG: Mac:00:02:e8:d6:58:20/Vlan:203 could not be added to L2 CAM on portpipe 3 linecard 2 due to hash collision.Total number of hash collisions: 31979
其工作原理是什么:
在交换机CAM表中,有特定数量的条目已分配给“主机表”,此主机表包含的一部分适用于/32网络上的ARP,此外还有特定的数量,适用于所有其他条目。
例如,如果有1024个索引值指向8个内存位置的数组,那么每个索引值可以容纳8个值。数组中所有的这8个都可以是ARP的,但总的来说,在所有位置上,ARP条目不能超出专用于此功能的部分。不同的交换机具有不同的值。
在将IP地址的ARP条目添加到交换机的CAM时,交换芯片会使用IP地址计算索引值(0-1023),并将ARP条目保存到此哈希算法所指向的位置。
在某些情况下,哈希算法希望将索引存储在某个位置,在此情况下使用所有内存位置时,将会遇到哈希冲突。
当IP地址遇到哈希冲突时,其ARP条目不会添加到CAM中。 相反,CPU必须将它加载到其软件表中。当需要转发流往该IP的流量时,交换机无法在硬件中进行该操作。 然后,该流量会被转发到CPU,并进行软转发。 这会给CPU带来额外的负载。 这将导致指定路径的延迟。在某些情况下,软转发的数量可能会超过CPU所能处理的数量,并导致数据包丢失。
哈希故障的解决办法:
升级到允许双重哈希的软件。9.3版之后的特定平台能够执行双重哈希。L2和L3表都提供了双重哈希支持。默认情况下,在所有运行9.3版的平台上启用此功能。交换机尝试对表重新进行哈希和排序,以便在发生哈希冲突时容纳新条目。
添加路由层。 适用于核心交换机哈希故障。 克服此限制的最佳方法是使用机架顶部(TOR)设计,并启用TOR交换机和核心交换机之间的路由。 这样我们就可以缩小核心上的ARP表大小。 在单个主机和核心之间添加此路由层将减轻核心压力,使其不必了解所有单个主机的ARP条目。
减少ARP超时。默认值为4小时。通过缩短ARP的保留时间,可以更频繁地引入新的ARP条目。当然,这也将迫使所有条目更快地完成循环,并增加所连接网络的ARP流量。
在已连接的L3网络中分配IP地址。 可以创建重要子网中所有可能的IP地址与其对应的哈希值之间的映射,但此操作非常麻烦。然后,可以重新分配IP以避免哈希故障。这是效果最差的短期解决方法。
C7008/C300 Aggregation Core chassis Switch, PowerSwitch S4810P, Force10 S60-44T
21 Feb 2021
3
Solution