Cisco Syslog %CDP-4-DUPLEX_MISMATCH: Full/half duplex mismatch — решение
- Коммутатор генерирует регулярные syslog-сообщения:
%CDP-4-DUPLEX_MISMATCH: duplex mismatch discovered on GigabitEthernet0/1 (not full duplex), with Switch2 FastEthernet0/1 (full duplex). - Высокий уровень потерь пакетов, низкая скорость передачи данных и деградация трафика на порту.
- Рост счетчиков
Late Collisions,CRC ErrorsиInput Errorsв выводе командыshow interface.
1. Причина возникновения ошибки
Сообщение генерируется протоколом CDP (Cisco Discovery Protocol), когда локальный интерфейс и интерфейс соседнего устройства согласованы на разные режимы дуплекса (одна сторона в Half Duplex, вторая — в Full Duplex). Чаще всего это происходит из-за жесткой (hardcoded) фиксации параметров на одном конце и включенного Auto-negotiation на другом.
2. Диагностика состояния интерфейса и счетчиков ошибок
# Проверка параметров дуплекса и коллизий на интерфейсе
Switch# show interfaces GigabitEthernet0/1
Half-duplex, 100Mb/s, media type is 10/100/1000BaseTX
...
145234 input errors, 12904 CRC, 0 frame, 0 overrun, 0 ignored
84210 late collision, 194302 collisions, 0 interface resets3. Проверка данных протокола CDP от соседа
Switch# show cdp neighbors GigabitEthernet0/1 detail
Device ID: Switch2
Entry address(es):
IP address: 192.168.1.2
Platform: cisco WS-C2960X-24TD-L, Capabilities: Switch IGMP
Interface: GigabitEthernet0/1, Port ID (outgoing port): FastEthernet0/1
Duplex: full4. Пошаговое исправление конфигурации
В соответствии со стандартом IEEE 802.3u, лучшей практикой является включение автосогласования (Auto-Negotiation) с обеих сторон линка:
Switch# configure terminal
Switch(config)# interface GigabitEthernet0/1
Switch(config-if)# speed auto
Switch(config-if)# duplex auto
Switch(config-if)# end
Switch# write memoryЕсли подключаемое устройство является устаревшим и требует жестких параметров, настройте скорость и дуплекс вручную на обоих концах линка:
# На обоих коммутаторах синхронно:
Switch(config-if)# speed 100
Switch(config-if)# duplex full Частые вопросы (FAQ)
Почему при жесткой установке 'speed 100 duplex full' на одной стороне, вторая сторона встает в half duplex?
Если на одной стороне отключен автосогласователь, вторая сторона в режиме 'auto' не может получить параметры по протоколу Fast Link Pulse (FLP) и по правилам стандарта IEEE откатывается в базовый безопасный режим: правильную скорость определяет по несущей частоте, а дуплекс принудительно выставляет в Half-Duplex.
Что такое Late Collisions и почему они возникают при Duplex Mismatch?
Late Collision (поздняя коллизия) возникает, когда устройство в режиме Half-Duplex пытается передать кадр, а сторона в Full-Duplex передает встречные данные в тот же момент после передачи первых 64 байт преамбулы/заголовка, что приводит к разрушению пакета.
Можно ли отключить только появление этих сообщений в логе?
Сообщение генерируется CDP. Его можно скрыть командой 'no cdp enable' на интерфейсе, однако это замаскирует проблему, не устранив потерю пакетов и коллизии на физическом уровне.
Влияет ли Duplex Mismatch на Gigabit Ethernet линки?
Спецификация 1000BASE-T (Gigabit) требует обязательной работы автосогласования (Auto-negotiation) для установки параметров синхронизации master/slave тактовой частоты по всем 4 витым парам. Жесткое отключение автосогласования на гигабитных медных портах запрещено стандартом.