UDP (User Datagram Protocol) - протокол обмена данными в локальных сетях или Internet, с минимальными задержками и минимальной стабильностью.
С помощью Astra можно анализировать любой поддерживаемый источник. Просто запустите в консоли следующую команду:
astra --analyze "udp://[email protected]:1234"
Для остановки анализатора Astra нажмите Ctrl+C. Подробнее о Astra MPEG-TS Analyzer
Tcpdump является распространенным инструментом для проверки сетевого трафика. Например, команда для проверки приема UDP-мультикаста в группу 239.255.1.1 на интерфейсе eth0:
tcpdump -pnni eth0 udp and host 239.255.1.1
Если вы не знаете фактического интерфейса, то можете найти его с помощью команды:
ip route get 239.255.1.1
Вывод tcpdump выглядит как множество строк с информацией об источнике пакетов, их назначении и длине. Например:
21:38:42.143839 IP 192.168.88.100.33610 > 239.255.1.1.1234: UDP, length 1316
21:38:42.143868 IP 192.168.88.100.33610 > 239.255.1.1.1234: UDP, length 1316
Для остановки tcpdump нажмите Ctrl+C
Не работает означает нулевой битрейт на выходе Astra MPEG-TS Analyzer. Например:
Jan 27 09:00:00: INFO: Bitrate: 0 Kbit/s
Jan 27 09:00:01: INFO: Bitrate: 0 Kbit/s
В первую очередь проверьте трафик на сетевом интерфейсе с помощью утилиты tcpdump. Если информация о входящих пакетах отсутствует, то необходимо проверить конфигурацию сети или конфигурацию источника.
Если tcpdump показывает информацию о UDP-пакетах, то возможны следующие проблемы:
Ошибки CC (Continuity Counter) указывают на нарушение целостности пакетов. Ошибка может быть вызвана потерей или избытком пакетов. Пример вывода с ошибками CC в анализаторе Astra MPEG-TS Analyzer:
Jan 27 09:00:00: INFO: Bitrate: 13259 Kbit/s
Jan 27 09:00:00: ERROR: CC: PID:18=3 PID:20=3 PID:256=24
Jan 27 09:00:01: INFO: Bitrate: 13261 Kbit/s
Jan 27 09:00:01: ERROR: CC: PID:18=5 PID:20=2
Существует две распространенные проблемы: потеря пакетов или их превышение.
Избыточные пакеты выглядят в выводе tcpdump как пакеты от разных источников к одному и тому же адресату:
21:38:42.143839 IP 192.168.88.100.33610 > 239.255.1.1.1234: UDP, length 1316
21:38:42.143868 IP 192.168.88.100.24081 > 239.255.1.1.1234: UDP, length 1316
Причин может быть две:
В обоих случаях необходимо проверить конфигурацию удаленного сервера. Если это невозможно, или в качестве временного решения можно пропускать пакеты от второго источника с помощью брандмауэра.
В первую очередь необходимо проверить потери и ошибки на сетевом интерфейсе:
ip -s link show eth0
Необходимо посмотреть на RX Errors. Некоторые сетевые карты предоставляют более подробную информацию о характере потерь:
ethtool -S eth1
Потери могут быть не только на сетевых картах вашего сервера. Они могут быть и в порту сетевого оборудования. Информацию о том, как это увидеть, можно найти в документации производителя сетевого оборудования. Где eth0 - имя интерфейса. После RX-ряда будет идти ряд с номерами. Третье число - это ошибки приема UDP.