Questions sur le NAT et redirection de ports

Résolu/Fermé
Adrael Messages postés 19 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 18 septembre 2007 - 6 août 2007 à 14:38
 pharelle - 20 déc. 2010 à 16:56
Bonjour,

Voilà, je me pose les questions suivantes :

Mon ordinateur fait partie d'un réseau domestique centré sur une livebox, qui fait office de routeur NAT et de modem. Ainsi, si un ordinateur A ou un ordinateur B de mon réseau surfe sur internet, seule l'adresse ip de la livebox est visible. Mais :

- Comment se fait-il alors que si sur un poste A je consulte une page web toto.com, puis que sur un ordinateur B de ce même réseau je consulte ensuite la même page toto.com, celle-ci apparaisse dans le navigateur de B comme jamais visitée auparavant. (genre le lien reste bleu au lieu de pourpre) ?
La livebox doit bien marquer dans les paquets qui sortent des trucs pour qu'en retour elle sache à qui envoyer (A ou B) ?


- Mais si elle sait le faire toute seule pour internet (http port 80), pourquoi par exemple pour accéder à un serveur ftp depuis mon ordinateur A dois-je installer une règle de port forwarding dans la livebox (genre rediriger tout le traffic entrant du port 21 sur le port 21 de l'ordi A)? La livebox ne sait pas rediriger les paquets comme elle le faisait pour internet ?

7 réponses

Spearhead Messages postés 355 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 29 décembre 2007 116
6 août 2007 à 14:56
Y'a deux choses a bien distinguer et tout se joue au niveau des ports et des adresses IP :

_ quand c'est toi qui effectu une requete, donc tu t'adresse a un serveur externe quel qu'il soit :
exemple : ta machine locale (192.168.0.1) effectue une requete vers le serveur ftp de free.fr et pour cela elle utilise un port source (en tcp) dynamique assigné au hasard par ta machine(par exemple 32112) et un port destination égal a 21 (ftp)
le paquet passe par le routeur NAT, celui ci va associer l'adresse locale 192.168.0.1 au port source 32112, ainsi quand le serveur ftp de free va répondre a te requete, il indiquera l'adresse IP de ta livebox mais avec un port destination égal a 32112, et la livebox saura que le port 32112 correspond a la précedente requete de 192.168.0.1 ainsi il transmettra a la bonne machine

_ quand quelqu'un de l'exterieur initie la requete, alors tu es un véritable serveur ! tes clients s'adresseront a toi depuis Internet en utilisant les ports destination qu'on utilise habituellement ( http: 80, ftp : 21, etc)
C'est donc a toi t'indiquer quel service (quel port bien connu) est associé a quelle serveur (adresse de tes machines)...
3
nakos Messages postés 19 Date d'inscription lundi 1 janvier 2007 Statut Membre Dernière intervention 6 août 2007
6 août 2007 à 15:06
Spearhead, je doute un peu que le port source (généré par la machine A) soit utilisé comme port source par le routeur... Dans ce cas, on arriverait vite au problème où la machine A et B utiliserait le même port source...
0
Spearhead Messages postés 355 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 29 décembre 2007 116 > nakos Messages postés 19 Date d'inscription lundi 1 janvier 2007 Statut Membre Dernière intervention 6 août 2007
6 août 2007 à 15:17
Oui autant pour moi je me suis mal expliqué...

Le port source qu'utilise le routeur pour relayer la requete n'est pas spécialement identique a celui utilisé par l'hote de départ, mais cela importe peut car le routeur lui, fait la correspondance entre le port qu'a utilisé l'hote source et celui que lui meme a utilisé dans la requete vers le serveur. Ainsi il arrive a associer la réponse du serveur a un couple (ip,port) a qui il transmettra les données.
0
nakos Messages postés 19 Date d'inscription lundi 1 janvier 2007 Statut Membre Dernière intervention 6 août 2007 > Spearhead Messages postés 355 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 29 décembre 2007
6 août 2007 à 15:20
Spearhead, effectivement. J'avais ajouté une courte réponse en dessous :-)

Très bien. J'espère que Adrael en sait beaucoup plus maintenant.
0
svp aidez oi je cherche comment afficher les port source et port destination sur un routeur dans Packet tracer (pour montrer la difference qui fait la technologie pat ) merccii
0
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 327
6 août 2007 à 14:42
Bonjour,
La gestion des liens visités est interne au navigateur, elle n'a strictement rien à voir avec le modem. Si tu as deux navigateurs sur la même machine, tu constateras qu'en visitant toto.com avec le premier navigateur, le lien vers toto.com n'apparaitra même pas pourpre pour le second navigateur.

La seconde question jesépa :)
0
Adrael Messages postés 19 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 18 septembre 2007 3
6 août 2007 à 14:46
Ok merci de ta réponse rapide ! En effet j'ai testé et ça concerne seulement le navigateur !

Mais si deux ordis A et B surfent en même temps, comment la livebox sait-elle à quelle machine redistribuer les paquets ?
0
nakos Messages postés 19 Date d'inscription lundi 1 janvier 2007 Statut Membre Dernière intervention 6 août 2007
6 août 2007 à 14:51
Bonjour,

Le routeur doit vraisemblablement avoir une sorte de table de correspondance avec comme entrées : les port et adresse source et en destination un autre port source (celui utilisé par le routeur) et l'adresse de destination finale.
0
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 327
6 août 2007 à 14:55
Ne mélange pas transition de paquets avec surf sur Internet. Une simple réseau sans Internet et ... des paquets transiteront également entre les machines :)

D'autre part, la Livebox, comme tout routeur normalement constitué, travaille sur les couches 1 2 et 3 du modèle OSI. La couche 3 étant l'adressage des paquets, c'est ce qui permet d'envoyer un paquet à telle ou telle machine. Mais si on envoie un même paquet à toutes les machines, même celles qui ne sont pas concernées, ça marche aussi, c'est ce que font les hubs qui travaillent sur la première couche uniquement.
Ca touche à la fin de ma connaissance dans ce domaine, j'espère que je me goure pas ;-)
0
nakos Messages postés 19 Date d'inscription lundi 1 janvier 2007 Statut Membre Dernière intervention 6 août 2007
6 août 2007 à 14:52
Pour le point 2, tu ne sais pas accéder à un serveur FTP ?...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Adrael Messages postés 19 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 18 septembre 2007 3
6 août 2007 à 15:06
Ahhhhh c'est donc ça !

Donc quel que soit le service (ftp, http, ...), la machine extérieure à laquelle on s'adresse émettra des paquets du type : ip dest : routeur, port dest : port source de la machine du réseau. Ca c'est pour le cas Réponse à une requête émise par l'ordi A ?

Dans le cas où c'est l'extérieur qui initie une requête c'est là qu'on utilise le port forwarding parce que le port dest est le port conventionnel ?

Je confondais en fait les deux cas ....

EDIT : oui même remarque que Nakos, que ce passe-t-il si le port source est le même pour deux postes différents ?
0
Spearhead Messages postés 355 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 29 décembre 2007 116
6 août 2007 à 15:24
Je me suis trompé:

Le routeur utilise ses propres ports sources pour transmettre les requetes... comme ca meme si deux machines utilise le meme port source (ce qui est rare tout de meme), aucun probleme pour le routeur qui utilisera deux ports bien distincts associé chacun au couple (ip,port) de l'emeteur.
0
nakos Messages postés 19 Date d'inscription lundi 1 janvier 2007 Statut Membre Dernière intervention 6 août 2007
6 août 2007 à 15:18
C'est relativement simple, le routeur initie une connexion vers le site distant (toto.fr par exemple) et remplit donc sa table avec un nouveau port source et l'adresse destination.
0
Adrael Messages postés 19 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 18 septembre 2007 3
6 août 2007 à 15:56
Ok, ok merci pour vos réponses :)

Donc quand on dit http port 80, c'est uniquement le port de destination. Le port source est aléatoire. Le routeur change le port source et envoie la requête. Il faut donc qu'il ait une table de correspondance entre ces deux ports sources pour pouvoir ensuite restituer les paquets à l'ordi.
0
nakos Messages postés 19 Date d'inscription lundi 1 janvier 2007 Statut Membre Dernière intervention 6 août 2007
6 août 2007 à 16:28
Effectivement. C'est d'ailleurs le principe des connexions à un serveur. Tu connais le port destination mais jamais le port source. Alors évidemment si tu programmes ton application toi même, tu peux déterminer et "mettre en dur" le port source.

@+
0