Problemas comuns com a entrada UDP
UDP (User Datagram Protocol) - protocolo de comunicação em redes locais ou na Internet, com atrasos mínimos e estabilidade mínima.
Ajuste do sistema
Seção intitulada “Ajuste do sistema”Antes de começar a solução de problemas, recomendamos usar o nosso script System Tune para otimizar as configurações do Linux.
Softwares para analisar o seu problema
Seção intitulada “Softwares para analisar o seu problema”Analisar UDP com o Astra MPEG-TS Analyzer
Seção intitulada “Analisar UDP com o Astra MPEG-TS Analyzer”Com o Astra você pode analisar qualquer fonte compatível. Basta executar no console o seguinte comando:
astra --analyze "udp://eth0@239.255.1.1:1234"Para parar o analisador do Astra, pressione Ctrl+C. Leia mais sobre o Astra MPEG-TS Analyzer
Analisar UDP com o Tcpdump
Seção intitulada “Analisar UDP com o Tcpdump”O Tcpdump é uma ferramenta comum para verificar o tráfego de rede. Por exemplo, o comando para verificar a recepção de multicast UDP no grupo 239.255.1.1 pela interface eth0:
tcpdump -pnni eth0 udp and host 239.255.1.1Se você não sabe qual é a interface, pode encontrá-la com o comando:
ip route get 239.255.1.1A saída do tcpdump aparece como várias linhas com informações sobre a origem, o destino e o tamanho dos pacotes. Por exemplo:
21:38:42.143839 IP 192.168.88.100.33610 > 239.255.1.1.1234: UDP, length 131621:38:42.143868 IP 192.168.88.100.33610 > 239.255.1.1.1234: UDP, length 1316Para parar o tcpdump, pressione Ctrl+C
UDP não funciona de jeito nenhum
Seção intitulada “UDP não funciona de jeito nenhum”Não funcionar significa bitrate zero na saída do Astra MPEG-TS Analyzer. Por exemplo:
Jan 27 09:00:00: INFO: Bitrate: 0 Kbit/sJan 27 09:00:01: INFO: Bitrate: 0 Kbit/sNenhum pacote UDP na interface
Seção intitulada “Nenhum pacote UDP na interface”Primeiro verifique o tráfego na interface de rede com a ferramenta tcpdump. Se não houver informação sobre pacotes recebidos, você precisa verificar a configuração da rede ou a configuração da fonte.
- Configuração de rotas inválida. Se você tem várias interfaces, verifique se a rota para o grupo multicast está configurada corretamente ou defina o nome da interface no endereço udp
- Problemas de conectividade. Verifique se o seu servidor está conectado à ethernet ou se a interface vlan foi criada
- Versão do IGMP incompatível. Por exemplo, o seu servidor usa IGMPv3, mas o equipamento de rede suporta apenas IGMPv2: Configurar a versão do IGMP
O software não consegue receber pacotes UDP
Seção intitulada “O software não consegue receber pacotes UDP”Se o tcpdump mostra informações sobre os pacotes UDP, os problemas podem ser os seguintes:
- UDP bloqueado pelas regras do firewall. Verifique a configuração do seu firewall
- Se o seu servidor tem várias interfaces, adicione uma rota para o grupo multicast ou configure o RP Filter: RP Filter e recepção de multicast no Linux
Erros CC ao receber UDP
Seção intitulada “Erros CC ao receber UDP”Os erros de CC (Continuity Counter) indicam que a continuidade dos pacotes está corrompida. O erro pode ser causado pela perda ou pelo excesso de pacotes:
Jan 27 09:00:00: INFO: Bitrate: 13259 Kbit/sJan 27 09:00:00: ERROR: CC: PID:18=3 PID:20=3 PID:256=24Jan 27 09:00:01: INFO: Bitrate: 13261 Kbit/sJan 27 09:00:01: ERROR: CC: PID:18=5 PID:20=2Perda de pacotes
Seção intitulada “Perda de pacotes”Primeiro é preciso verificar as perdas e os erros na interface de rede:
ip -s link show eth0Observe os erros RX. Algumas placas de rede fornecem informações mais detalhadas sobre a natureza da perda:
ethtool -S eth0As perdas podem não estar apenas nas placas de rede do seu servidor. Elas também podem estar na porta do equipamento de rede. Você encontra como ver isso na documentação do fabricante do equipamento de rede. Onde eth0 é o nome da interface. Depois da linha RX vem uma linha com números. O terceiro número são os erros de recepção UDP.
Configuração de QoS
Seção intitulada “Configuração de QoS”As configurações de Qualidade de Serviço (QoS) no seu equipamento de rede podem afetar o tráfego UDP. Confirme que as suas configurações de QoS priorizam o tráfego UDP e não limitam a sua banda.
Excesso de pacotes
Seção intitulada “Excesso de pacotes”O excesso de pacotes aparece como um bitrate dobrado no Astra MPEG-TS Analyzer. Pode ser verificado com o tcpdump, quando pacotes com o mesmo destino têm origens diferentes:
21:38:42.143839 IP 192.168.88.100.33610 > 239.255.1.1.1234: UDP, length 131621:38:42.143868 IP 192.168.88.100.24081 > 239.255.1.1.1234: UDP, length 1316Pode haver duas causas:
- Se o endereço de origem é o mesmo, mas as portas são diferentes (no exemplo, 33610 e 24081), o servidor de origem envia o mesmo canal duas vezes
- Se os endereços de origem são diferentes, mais de um servidor está enviando pacotes para o mesmo grupo
Nos dois casos é preciso verificar a configuração do servidor remoto. Se isso não for possível, ou como solução temporária, você pode descartar os pacotes da segunda fonte com o firewall.