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 коммутатора выделено определенное количество записей для таблицы хостов, где сохраняются данные для ARP в сетях /32 бит, и имеется конкретное количество всех остальных записей.
Например, при 1024 значениях индекса, указывающих на массивы из 8 ячеек памяти, каждое значение индекса может удерживать восемь значений. Все 8 значений в массиве могут быть ARP, но общее число записей ARP не может превышать часть, выделенную для этой функции. Различные коммутаторы имеют разные значения.
Когда в таблицу CAM коммутатора добавляется запись ARP для IP-адреса, микросхема коммутации рассчитывает значение индекса (0–1023), используя IP-адрес, и запись ARP сохраняется в месте, указанном этим хэш-алгоритмом.
В некоторых случаях хэш-алгоритм пытается сохранить индекс в месте, где используются все ячейки памяти, и возникает хэш-конфликт.
Если происходит хэш-конфликт, в таблицу CAM не добавляется запись ARP для такого IP-адреса. Вместо этого запись должен загрузить ЦП в свою программную таблицу. Когда требуется переадресация трафика на такой IP-адрес, переадресацию невозможно осуществить аппаратными средствами коммутатора. Такой трафик направляется на ЦП, и осуществляется программная переадресация. Это создает дополнительную нагрузку на ЦП. Скорее всего, для указанного пути возникает задержка. В некоторых случаях объем программной переадресации может превысить возможности обработки ЦП, что ведет к потере пакетов.
Временные решения для сбоев хэша
Выполните модернизацию до программного обеспечения, поддерживающего ДВОЙНОЕ ХЭШИРОВАНИЕ. Отдельные платформы начиная с версии 9.3 могут выполнять двойное хеширование. Доступна поддержка двойного хеширования для таблиц L2 и L3. Эта функция включена по умолчанию на всех платформах, работающих под управлением версии 9.3. Если возникает хэш-конфликт, коммутатор пытается пересчитать хэш и переупорядочить таблицы для размещения новых записей.
Добавьте уровень маршрутизации. Для сбоев хэша центрального коммутатора. Лучший способ преодолеть это ограничение состоит в том, чтобы использовать TOR-коммутаторы и обеспечить маршрутизацию между TOR-коммутаторами и центральными коммутаторами. Таким образом можно уменьшить размер таблицы ARP на центральном коммутаторе. Добавление этого уровня маршрутизации между отдельными хостами и центральным коммутатором освобождает центральный коммутатор от необходимости знать все записи ARP для отдельных хостов.
Сократите тайм-аут для ARP. Значение по умолчанию: 4 часа. Сократив время хранения ARP, можно чаще вводить новые записи ARP. Это также ускорит прохождение всех записей и увеличит трафик ARP для подключенных сетей.
Распределите IP-адреса в подключенной сети L3. Хотя можно сопоставить ВСЕ возможные IP-адреса в важных подсетях с соответствующими значениями хэша, в результате получится слишком громоздкая структура. Поэтому IP-адреса можно перераспределять, чтобы избежать сбоев хэша. Это наименее эффективное средство для краткосрочного решения проблемы.
C7008/C300 Aggregation Core chassis Switch, PowerSwitch S4810P, Force10 S60-44T
21 Feb 2021
3
Solution