[NAT et jeux en ligne] Un truc m'échappe.

Un truc m'échappe. [NAT et jeux en ligne] - Windows & Software

Marsh Posté le 03-02-2005 à 16:44:17    

Salut,
 
je me suis lancé au jeu en ligne (Counter Strike pour les connaisseurs) et je suis derriere un routeur.
 
Pour que le jeu fonctionne, il faut que le routeur laisse passer des paquets UDP entrants (port 37015 il me semble) provenant du serveur de jeu, soit.
 
J'ai donc configuré le firewall de mon routeur pour qu'il accepte de tels paquets.
 
Ce qui m'étonne, c'est que je n'ai pas besoin de rediriger le port UDP 37015 sur le NAT du routeur vers l'IP de mon PC qui utilise CounterStrike !
Comment le routeur peut il passer le paquet UDP, si aucune règle NAT n'est définie ??

Reply

Marsh Posté le 03-02-2005 à 16:44:17   

Reply

Marsh Posté le 03-02-2005 à 16:51:59    

Car tu es client, lorsque tu envois des informations au serveur, tu donne lui le chemin routeur>PC dont lorsqu'il te repond, ton routeur peut te renvoyer l'info sur ton poste.

Reply

Marsh Posté le 03-02-2005 à 16:55:56    

La redirection n'est utile qu'à partir du moment où tu héberge => ceux qui se connecteront sur ton serveur enverront les requetes au port 37015, mais de base lui ne sait pas sur quelle machine renvoyer ca.
 
Alors que quand tu est client, tu demande à ton routeur la connection sur telle IP sur le port 37015, il établi la connexion, et ce qu'il recoit en retour, il le transmet à ton PC puisque c'est lui qui lui a fait la demande...

Reply

Marsh Posté le 03-02-2005 à 17:06:59    

mais le protocole UDP, ce n'est pas un mode non connecté justement, contrairement à TCP ?

Reply

Marsh Posté le 03-02-2005 à 17:09:56    

A ma connaissance (surement limitée), la pricipale différence entre TCP et UDP, c'est que TCP vérifie les paquets recus (cad qu'il n'en manque pas et redemande les manquants au besoin) alors qu'UDP ne vérifie pas. Donc UDP plus rapide mais moins fiable...

Reply

Marsh Posté le 03-02-2005 à 17:14:55    

Ok merci.
 
Pour ma culture perso, le routage du paquet UDP entrant, est géré par le routeur (cad c'est le routeur qui reconnait un paquet port 37015 et qui se souvient que 192.168.1.5 en a fait la demande), ou bien est ce que le paquet UDP arrivant possède l'adresse IP WAN + 192.168.1.5 et le routeur le distribue à 192.168.1.5 ?


Message édité par barthoose le 03-02-2005 à 17:17:37
Reply

Marsh Posté le 03-02-2005 à 17:29:54    

c le routeur qui route
 
sinon, l'UDP, c'est un protocole où un ordi envoie bêtement des données vers un autre, sans savoir ce qui se passe (adapté aux flux temps-réel donc, genre streaming video, ...)
 
alors que le TCP est un protocole où une connexion avec sens doit d'abord s'établir avec le consentement des 2 parties
 
à mon avis ton CS fonctionne sans ta règle UDP. tu as probablement une connexion TCP sortante que ton routeur laisse passer (conportement par défauit d'un routeur NAT)


---------------
le progrès ne vaut que s'il est partagé par tous
Reply

Marsh Posté le 03-02-2005 à 17:37:22    

barthoose a écrit :

Ok merci.
 
Pour ma culture perso, le routage du paquet UDP entrant, est géré par le routeur (cad c'est le routeur qui reconnait un paquet port 37015 et qui se souvient que 192.168.1.5 en a fait la demande), ou bien est ce que le paquet UDP arrivant possède l'adresse IP WAN + 192.168.1.5 et le routeur le distribue à 192.168.1.5 ?


 
C'est le routeur qui se souvient de ta demande. Le serveur en face ne voit que l'IP externe de ton routeur...

Reply

Marsh Posté le 03-02-2005 à 17:58:39    

je posais la question car un pote m'avait déjà dit que certaines trames étaient composées de l'adresse IP WAN + adresse IP LAN, ce qui m'a un peu laissé dubitatif...

Reply

Marsh Posté le 03-02-2005 à 18:03:05    

jotunheim a écrit :

C'est le routeur qui se souvient de ta demande. Le serveur en face ne voit que l'IP externe de ton routeur...


 
ce qui veut dire que deux pc sur un lan ne peuvent pas jouer en ligne sur le meme serveur distant... ?

Reply

Marsh Posté le 03-02-2005 à 18:03:05   

Reply

Marsh Posté le 03-02-2005 à 18:45:12    

barthoose a écrit :

mais le protocole UDP, ce n'est pas un mode non connecté justement, contrairement à TCP ?


 
Normalement, dans le paquet UDP tu as seulement le port source et le le port destination, (avec le length, le checksum,et le data). Le serveur renvoi l'info si une appli est en écoute sur ce port, sinon il renverra un  ICMP d'erreur sur ce port.
C'est le paquet IP (encapsulant) qui contiendra l'IP source et destination..mais comme l'ont dit les autres, c'est le routeur qui s'occupe de transferer du Wan vers LAN..

Reply

Marsh Posté le 03-02-2005 à 18:47:57    

barthoose a écrit :

ce qui veut dire que deux pc sur un lan ne peuvent pas jouer en ligne sur le meme serveur distant... ?


 
si , car c'est le routeur qui réattribue sur chacun des postes clients en fonction des pacquets IP envoyés par chacun d'eux (puisque les pacquets différeront sur le LAN par leur adresse source..)

Reply

Marsh Posté le 04-02-2005 à 00:23:22    

serveur a écrit :

si , car c'est le routeur qui réattribue sur chacun des postes clients en fonction des pacquets IP envoyés par chacun d'eux (puisque les pacquets différeront sur le LAN par leur adresse source..)


 
peux tu me donner un exemple car j'ai un peu de mal .... !

Reply

Marsh Posté le 04-02-2005 à 14:12:26    

J'ai dû attendre la pause midi avnt de répondre, désolé
 
Prenons un exemple:
Tu es en réseau LAN avec deux PC dont chacun est sur un protocole TCP/IP avec deux adresses (fixe ici pour simplifier) - 192.168.1.4 et 192.168.1.5
Tu envoies à travers ton jeu une requête UDP (je connais pas le jeu, mais on prends l'exemple d4UN pacquet UDP) à destination du serveur de jeu. L'autre ordinateur aussi. C'est le Routeur qui fait la translation NAT en sachant à qui appartient les pacquets envoyésn et renvoie ensuite au serveur avec une IP WAN source dans le paquet IP.
 
D'après ton appli, le serveur qui était en écoute sur un port UDP spécifique pour ce jeu renvoie des pacquets UDP à destination du routeur en réponse... et ce pour les deux ordinateurs et c'est là où ça semble te gêner.. en fait lorsque le serveur renvoie le paquet UDP (contenant l'info du port,le data), celui-ci est encapsulé dans un paquet IP qui lui possède l'adresse du destinataire (ton routeur) avec d'autres infos, comme le TTL, la fragmentation, etc..et bien sûr ton paquet UDP.
Lorsque le routeur reçoit les paquets IP  c'est lui qui est en mesure de  redispatcher les bons paquets UDP vers 192.168.1.4 et 192.168.1.5 en fonction de sa table.. et d'un sytème qui lui est propre.
 
j'espère que ç'était plus clair en exemple  :sweat:


Message édité par serveur le 07-02-2005 à 20:05:23
Reply

Marsh Posté le 05-02-2005 à 17:28:37    


 
merci !
tout celà est très clair, mais ce que je cherche juste à comprendre, c'est le comment de ca...
 

serveur a écrit :


Lorsque le routeur reçoit les paquets IP  c'est lui qui est en mesure de  redispatcher les bons paquets UDP vers 192.168.1.4 et 192.168.1.5 en fonction de sa table.. et d'un sytème qui lui est propre.


 
:jap:

Reply

Marsh Posté le 07-02-2005 à 19:58:50    

J'ai regardé aujourd'hui dans mes docs mais je n'ai pas retrouvé le document où de mémoire je me souvenais que mon routeur utilisait trois méthodes pour redispatcher ces pacquets UDP suivant le cas de : - différentes machines,  
-la même machine mais pour des applis différentes
- ou bien que les paquets soient fragmentés en-dessous d'un certain MTU.. mais en regardant sur internet je t'ai trouvé cette doc bien faite:  
 
http://tc-net.insa-lyon.fr:8080/lu [...] OUTAGE.pdf


Message édité par serveur le 07-02-2005 à 20:03:55
Reply

Marsh Posté le 07-02-2005 à 22:40:19    

merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed