Como o UDP é um protocolo sem conexão, estou confuso com a configuração no meu firewall da Sonicwall para "Tempo limite da conexão UDP". É definido como um padrão de 30 segundos - mas o que exatamente expira após 30 segundos?
Aqui está minha situação real: eu tenho um servidor NTP no pool ntp.org que atende cerca de 3000 consultas por minuto. Isso coloca um pouco de pressão no meu grau SOHO TZ-200 - não em termos de largura de banda; mas em termos de número de conexões que passa por ele. Gostaria de saber se as conexões UDP de alguma forma são 'mantidas vivas' no SonicWall; mesmo estando (por definição) sem conexão.
O que estou perdendo aqui? O que o SonicWall significa quando se trata de um "Tempo limite de conexão UDP"?
Respostas:
Embora não exista uma "conexão" formal com o UDP, ainda existe uma convenção de que os clientes enviam solicitações e esperam obter respostas de volta com o IP e a porta de origem trocados com o IP e a porta do Destinato.
Os firewalls stateful e NATs, portanto, assumem que os pacotes com uma determinada combinação de IP de origem / porta de origem / IP de destino / porta de destino e a combinação correspondente com a origem e o destino trocados fazem parte de uma "conexão". Isso permite que regras como "somente conexões de saída" sejam aplicadas ao UDP e permite que traduções reversas sejam aplicadas aos pacotes de resposta.
Infelizmente, o firewall ou o NAT não têm como saber quando o cliente terminou de conversar com o servidor. Portanto, é necessário aguardar um tempo limite antes de remover a entrada de suas tabelas de rastreamento de estado. Esse é o tempo limite que você está definindo.
Em princípio, seria possível criar uma caixa NAT que usasse uma abordagem sem estado para encaminhamento de porta, mantendo uma abordagem com estado para conexões de saída, mas é mais simples usar apenas a NAT com estado para tudo e parece que é isso que seu fornecedor está fazendo.
Infelizmente, como você descobriu, isso é péssimo para servidores UDP sem estado que atendem a um grande número de solicitações pequenas. Você acaba em uma situação em que o firewall consome muito mais recursos do que o próprio servidor.
fonte
Seu firewall está mantendo uma tabela de conexões para conexões UDP. Por exemplo, quando você envia uma consulta DNS, o firewall cria uma entrada para esse fluxo, para que a resposta DNS seja permitida de volta à sua rede. As entradas na tabela atingem o tempo limite após 30 segundos sem atividade.
fonte
Seu servidor NTP está atrás do seu NAT (firewall). O UDP é sem conexão do ponto de vista do aplicativo e do SO e para a maioria dos dispositivos de rede ao longo do caminho.
No entanto, para o firewall NAT, ele grava sempre que um pacote UDP sai, de forma que uma resposta do outro lado acaba sendo redirecionada para o mesmo computador dentro da sua rede. Eles são chamados de "conexões" pelo firewall.
Agora, em teoria, o NAT sabe que a porta externa será a porta conhecida do NTP, mas parece que seu firewall não suporta isso. Se esse é o seu único uso para UDP por meio desse firewall, você pode definir o tempo limite da conexão para um número menor. Como alternativa, se permitir definir por porta de aplicativo, você poderá configurá-lo para um tempo menor (1 segundo, digamos) para essa porta específica.
fonte
O IPv6 não precisa de NAT, mas ainda parece que os firewalls são compatíveis com o UDP.
fonte