Физические ошибки (неисправные кабели, оптические модули и разъёмы) Bit errors: bad cable, optics, dirty fiber
ID причины rt-physical · Основной ответственный Команда инфраструктуры · Сетевая инфраструктура · Совместно Команда инфраструктуры · Серверная инфраструктура, Внешние стороны · Внешние стороны
Повреждённый кабель, запылённый оптический разъём или выработавший ресурс оптический модуль дают битовые ошибки, и оборудование молча выбрасывает испорченные пакеты.
Почему Из-за неисправного кабеля, оптического модуля или разъёма переворачиваются биты → Следствие Оборудование отбрасывает пакеты с неверной контрольной суммой (CRC) → На экране Только у тех, чей трафик идёт по этому пути, постоянно бывают короткие фризы с перемоткой, время суток не влияет
Основной ответственный Команда инфраструктуры · Сетевая инфраструктура · Совместно Команда инфраструктуры · Серверная инфраструктура, Внешние стороны · Внешние стороны
Команда инфраструктуры: задачи
Ошибки CRC копятся на принимающей стороне того направления, где повреждаются пакеты, поэтому проверять оба конца. Сеть: проверить счётчики CRC и ошибок приёма на портах оборудования, уровень оптического сигнала (информация об оптических модулях на коммутаторе), почистить оптические разъёмы, заменить кабель или оптический модуль. Серверы и ОС: проверить rx_crc_errors в ethtool -S на сервере (название у разных драйверов немного отличается) и уровень оптического сигнала (ethtool -m), заменить кабель или NIC на стороне сервера.
Внешние стороны: задачи
Если проблема на участке в доме игрока, посоветовать заменить сетевой кабель или роутер, если на линии провайдера, попросить провайдера проверить линию.
Цифры для ориентира
Даже 0,1% потерь означает один пакет из 1 000 игровых. Если по этому пути идёт трафик десятков игроков, кто-то ловит короткий фриз каждые несколько секунд. Битовые ошибки чаще задевают большие пакеты.
На графике
Высоко только у некоторых · число ошибок CRC по портам, доля повторных передач по серверам и портам
Где смотреть
Посмотреть счётчики CRC на обоих концах линка. На сервере rx_crc_errors в ethtool -S или crc в ip -s -s link, на коммутаторе ошибки FCS порта (dot3StatsFCSErrors) и ошибки приёма (ifInErrors). Для оптического линка посмотреть уровень принимаемого оптического сигнала через ethtool -m и в информации об оптических модулях на коммутаторе
Подтверждает
Ошибки CRC на одном порту стабильно растут независимо от времени суток, и высокая доля повторных передач только у серверов и соединений, идущих через этот порт. Уровень принимаемого оптического сигнала ниже, чем на других линках того же типа
Опровергает
Если CRC не меняются, а растут только выходные отбрасывания, это переполнение очереди («Переполнение неглубоких буферов всплесками отправки», «Переполнение очереди в узком месте (потери от перегрузки)»). Если поздние коллизии на одной стороне растут вместе с CRC на другой, это «Несовпадение дуплекса»
Чем проверить
Инструменты инфраструктуры (игровой код не нужен)
Источники
Interface statisticsLinux kernel rx_crc_errors: число пакетов, которые принимающий интерфейс засчитал как ошибки CRC, смотрят через ip -s -s link и ethtool -S
ethtool(8) — Linux manual pageethtool -S показывает статистику NIC и драйвера, -m показывает EEPROM оптического модуля (SFP+, QSFP) и данные оптической диагностики