Connection Internet, Routeur et paquets IP [Résolu/Fermé]

Signaler
-
 seb -
Bonjour,

J'ai une question sur le concepte des transmissions de paquets IP et des routeurs. Je prends un exemple concret pour être claire.

Considérons 2 ordinateurs dans un réseau local(LAN) derrière un routeur ayant une connection internet, et d'autre pare, un serveur Web contenant une page HTML quelconque, par exemple "www.truc.com".

L'ordinateur 1 a pour IP sur le réseau local 192.0.0.10
L'ordinateur 2 a pour IP sur le réseau local 192.0.0.20
Le routeur faisant office de passerelle a pour IP sur le réseau local 192.0.0.1 et a comme IP pour la connection Internet 88.205.12.5

Ordinateur 1 _____
192.0.0.10        \   _________
(LAN)              \_|         |
                     |         |                    ______________
            192.0.0.1| Routeur |88.205.12.5        |              |
                    _|         |-----Internet------| www.truc.com | 
                   / |_________|                   |______________|
Ordinateur 2 _____/
192.0.0.20
(LAN)


Lorsque "Ordinateur 1" veut voir la page de www.truc.com, il envoie une requête HTTP à www.truc.com. Pour www.truc.com, la requête provient de 88.20.12.5.

www.truc.com renvoie alors la page d'acueil du site au routeur, et celui-ci se charge de transmettre cette page à "Ordinateur 1"

OK

Ma question c'est:
Si "Ordinateur1" ET "Ordinateur2" envoient EN MEME TEMPS une requête HTTP a www.truc.com, pas forcément la même page sur www.truc.com, comment le routeur va-t-il savoir a qui envoyer les réponses de aux requêtes provenant de www.truc.com ?

2 réponses

Messages postés
98592
Date d'inscription
lundi 16 juillet 2001
Statut
Modérateur
Dernière intervention
17 avril 2021
11 994
salut,
c'est tout le charme de la NAT dynamique ;-)
essayons d'explicationner:
il faut considérer aussi les ports tcp :
on va dire que .10 et .20 se connectent sur le serveur avec tcp source 1500 et tcp destination 80
la fonction nat (dynamique) du routeur va modifier les adresses ip source et ports tcp source:
192.0.0.10:1500 va devenir 88.205.12.5:4510 (exemple)
et
192.0.0.20: 1500 va devenir 88.205.12.5:4520 (exemple toujours)
le serveur va répondre sur la premiére connexion en inversant les sources et destinations:
dest=88.205.12.5:4510 source=www.truc.com:80
et sur la deuxieme connexion:
dest=88.205.12.5:4520 source=www.truc.com:80
la fonction nat du routeur va reprendre les datagrammes pour faire la conversion inverse (avec les adresses destination cette fois) à l'aide des informations qu'elle a enregistrées dans sa table:
88.205.12.5:4510 devient 192.0.0.10:1500
et
88.205.12.5:4520 devient 192.0.0.20:1500
il renvoie le tout sur son réseau local (inside) et tout le monde retrouve ses petits.
miraculeux non ?
mais il y a des limites à l'affaire, ça ne marche pas dans tous les cas :-<
ce n'est qu 'un artifice quand même.
http://www.commentcamarche.net/internet/nat.php3
Aaaaah! Merci beucoup de la réponse! ça me turlupinait depuis un moment! :-D
En fait oui, c'est très logique!
Je viens de faire une page en php qui donne le "port source":

http://loiseaudejade.free.fr/info.php

A chaque fois que je fait un "refresh", donc qu'on envoie une requête, je voit que le port change. Té, c'est cool NAT...