UDP e NATs - o tempo limite é bidirecional?

2

O tempo limite para uma conexão UDP por meio de uma reconfiguração de NAT sempre que um pacote é enviado OU recebido pelo cliente ou há implementações (comuns) que exigem que o cliente envie algo ativamente para manter a conexão ativa?

Estou desenvolvendo um aplicativo de streaming UDP e estou pensando se preciso fazer com que os clientes enviem uma pulsação periódica além da que o servidor já está enviando se não houver dados de carga útil.

    
por lxgr 14.11.2011 / 16:33

2 respostas

7

O NAT requer uma tabela de estados , ou seja, um mapeamento do original (src_ip, src_port) tuple para a tupla reescrita. Em algumas implementações, essa tabela também incluirá (dst_ip, dst_port) .

Em teoria, o tempo limite após o qual as entradas são removidas daquela tabela de estado será reset cada vez que um novo pacote é enviado de dentro do NAT para o exterior. Ele pode também ser redefinido a cada vez que um novo pacote é recebido na direção oposta, mas RFC 3022 não é específico neste ponto. Diz apenas que o estado será removido assim que a sessão terminar, mas não define o que constitui uma sessão.

Portanto, contanto que você continue enviando o tráfego de saída, ele continuará fluindo.

No entanto, se o fluxo de tráfego primário for de entrada , poderá ser necessário para enviar um pacote de heartbeat de saída ocasional do cliente para o servidor.

    
por 14.11.2011 / 16:54
0

O UDP é um protocolo sem conexão: não há tempo limite e nenhuma mensagem de início / término. Normalmente, também é bastante hostil com o NAT, especialmente porque não há como saber quando uma conexão foi finalizada e quando o dispositivo NAT pode descartar a regra de encaminhamento.

Então, sim, se você usar o UDP por meio do NAT, será necessário enviar heartbeats para permitir que o dispositivo NAT saiba que o mapeamento ainda está em uso. A frequência com que você precisa enviar a mensagem de pulsação, no entanto, será diferente em cada dispositivo e configuração.

    
por 14.11.2011 / 16:42

Tags