@roudshep

В чём может быть причина потери пакетов?

Добрый день, имею проблему - суть следующая, раз в несколько минут буквально на несколько секунд пропадают пинги, при этом интернет работает нормально, судя по графикам трафик у клиентов не проседает. Проблема появляется в 9-10 утра и сохраняется до 23-01 ночи, ночью всё в полном порядке, мониторинг не орёт, пинги идут. При этом bgp сессия с провайдерами не пропадает и трафик продолжает идти, линки не гаснут, ошибок нет.

Из того что уже попробовал:
Проверил нагрузку на серверах и коммутаторах, всё ок
Перезапуск служб, сетевого оборудования проблему не решил
Оптика в полном порядке, ни заломов ничего нет, сигнал в порядке
В логах тоже никакой полезной информации нет.

Топология сети следующая:

Сами аплинки от провайдеров идут в DGS-3000-28SC с него подключен DGS-1210-28XS/ME далее с этого коммутатора подключен пограничный маршрутизатор на Ubuntu 20.04.5 LTS, версия ядра 5.4.0-128-generic, на нём поднято zebra,bgp,iptables.

На DGS-1210-28XS/ME идёт LACP с DGS-3120-24SC, далее с 3120 подключен DGS-3627G по 10gbase cx4
к 3627 подключен шлюз для клиентов на FreeBSD на нём локальная сеть поделена на VLAN'ы, сервак к коммутатору подключен двумя 10gbase cx4 далее с свича 3627 подключены DGS-3120-24SC,DGS-1210-28XS/ME(15 штук) с них уже идут des-3028,dgs-1210-28,des-3200(около 200).

Буду благодарен любой полезной информации.

UPDATE: проблема решена путём изменения параметров sysctl, параметр net.netfilter.nf_conntrack_max, у меня стоял по умолчанию - 262144, увеличил в 16 раз до 4194304. Второй день наблюдаю обстановку, полёт нормальный.

64c22adc38161148176769.jpeg
64c22af8a7bf6896463189.jpeg
64c22b0006fae563156237.png
  • Вопрос задан
  • 590 просмотров
Пригласить эксперта
Ответы на вопрос 3
karabanov
@karabanov
Системный администратор
ICMP обрабатываются на CPU (в conrol-plane), в отличии от пользовательского трафика который обрабатывает специализированная микросхема ASIC или FPGA (data-plane). CPU в сетевых устройствах не особо производительный, а ведь ему нужно ещё и делать Routing decision, за мультикастом присматривать, на SNMP отвечать, SSH или Telnet запускать, BGP сессию держать и чтобы защитить себя от обработки лишней информации часть мусорных задач, вроде обработки ICMP type 8, он просто периодически игнорирует, отсюда и "потери". Поэтому детектировать потери глядя на вывод mtr или traceroute занятие гиблое, надо смотреть на retrnsmint для tcp, например (но у него тоже может быть своя природа, например фаирвол с лимитами)...

Хороший способ смотреть за потерями это запускать iperf3 в UDP режиме и выгружать JSON отчёт в котором написано чего и сколько потерялось.
Ответ написан
@Gansterito
Попросите у провайдеров по +1 дополнительному стыковочному IP. Приведите VLANы на отдельный порт DGS-3000-28SC, туда ставьте сервер с пинговалкой. Ну и в зависимости от результата, определяйте куда двигаться.
Лучше поставить на ваш BGP и на "пинговалку" smokeping, там пинговать ресурсы с разных IP:
- со стыковочных адресов каждого провайдера.
- со своего адреса.
Ответ написан
Комментировать
@Wert_Ant
Может дело в нагрузке на Zabbix? Допустим, не хватает процессов icmp?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы