2 votes

UDP et NATs - le délai d'attente est-il bidirectionnel ?

Le délai d'attente pour une connexion UDP à travers un NAT est-il réinitialisé chaque fois qu'un paquet est envoyé ou reçu par le client, ou existe-t-il des implémentations (courantes) qui exigent que le client envoie activement quelque chose pour maintenir la connexion en vie ?

Je développe une application de streaming UDP, et je me demande si je dois faire en sorte que les clients envoient un heartbeat périodique en plus de celui que le serveur envoie déjà s'il n'y a pas de données payantes.

7voto

Joey deVilla Points 4487

NAT nécessite un tableau des états c'est-à-dire un mappage de l'original (src_ip, src_port) au tuple réécrit. Dans certaines implémentations, ce tableau comprendra également (dst_ip, dst_port) .

En théorie, le délai après lequel les entrées sont supprimées de cette table d'état est de réinitialiser chaque fois qu'un nouveau paquet est envoyé de l'intérieur de la NAT vers l'extérieur. Il s'agit d'une peut est également réinitialisé à chaque fois qu'un nouveau paquet est envoyé. reçu dans la direction opposée, mais RFC 3022 n'est pas spécifique sur ce point. Elle indique seulement que l'état sera supprimé une fois la session terminée, mais elle ne définit pas ce qu'est une session.

Par conséquent, tant que vous continuez à envoyer du trafic vers l'extérieur, celui-ci devrait continuer à circuler.

Toutefois, si le flux de trafic principal est entrant il peut Il peut être nécessaire d'envoyer occasionnellement un paquet de battements de cœur sortant du client vers le serveur.

0voto

Stephane Points 6344

UDP est un protocole sans connexion : il n'y a pas de délai d'attente ni de message d'initiation/terminaison. En règle générale, il n'est pas non plus très favorable à la NAT, notamment parce qu'il n'y a aucun moyen de savoir quand une connexion est terminée et quand l'appareil NAT peut abandonner la règle de transfert.

Donc oui, si vous utilisez UDP à travers NAT, vous devrez envoyer des battements de cœur afin de faire savoir à l'appareil NAT que le mappage est toujours en cours d'utilisation. La fréquence d'envoi du message Heartbeat sera toutefois différente pour chaque appareil et chaque configuration.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X