Petite explication sur le reseau

Résolu/Fermé
CyRux Messages postés 164 Date d'inscription dimanche 4 janvier 2015 Statut Membre Dernière intervention 8 septembre 2016 - 18 juil. 2015 à 00:11
brupala Messages postés 109404 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 17 avril 2024 - 28 juil. 2015 à 10:58
Bonsoir a tous ^^,
voila j'ai une petite question :
en me baladant sur www.mon-ip.com j'ai remarqué que chaque ordinateur de mon réseau local avait un port attribué pour aller sur internet.
Et je voulais savoir comment les serveur externe répondais a un ordinateur du réseau local en particulier.
ex :
L'ordinateur du réseau local 192.168.0.15 envoie une requête sur www.google.fr, donc voila la box relai la requette que 192.168.0.15 sur google mais comment fait google pour repondre a 192.168.0.15 ?
Je me suis donc dis que la box pouvait faire une redirection de port pour chaque pc ... mais sa me parrais bizarre.
Merci de m'eclairer ^^


4 réponses

phenetas Messages postés 1096 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 31 août 2017 224
18 juil. 2015 à 02:09
Sur ton réseau, chaque ordinateur a une adresse IP unique (unique a un moment donné seulement). Donc chaque ordinateur peut être reconnu par ton routeur.

Ensuite, chaque ordi a 65000 ports et des brouettes qui peuvent être utilisés pour communiquer avec l'extérieur. Lorsqu'un programme veut parler avec le monde, l'ordinateur lui attribue un certain port pour envoyer et recevoir ses données.

Donc si on va dans l'ordre, lorsque tu demande une page web, il se passe :
- ton explorateur internet demande un port au système d'exploitation
- le système d'exploitation lui attribue un port X
- l'ordinateur transmet la demande au routeur et demande une réponse sur le port X
- le routeur reçoit la demande de l'ordinateur dont l'IP est y.y.y.y et qui veut une réponse sur X
- le routeur transmet la demande de la part de y.y.y.y qui veut une reponse sur X
- le serveur sur internet reçoit la demande, cherche la page et transmet pour y.y.y.y sur le port X
- le routeur reçoit la réponse d'internet, et la transmet a y.y.y.y sur le port X.
- l'ordinateur reçoit les données, voit que c'est pour le port X
- l'OS sait que le port X correspond a ton explorateur internet, donc il transmet les données a ton explorateur web.
- ta page s'affiche sur ton écran
2
CyRux Messages postés 164 Date d'inscription dimanche 4 janvier 2015 Statut Membre Dernière intervention 8 septembre 2016 3
18 juil. 2015 à 02:31
Merci beaucoup Phenetas ^^ j'ai bien compris ^^
par contre tu as ecris :
le serveur sur internet reçoit la demande, cherche la page et transmet pour y.y.y.y sur le port X
mais si j'ai bien compris c'est plutot l'ip de la box a la place de y.y.y.y car là c'est une ip du reseau local non ?
Et je ne vois pas a quel moment les port comme par exemple 80 pour le http interviennent ...
0
phenetas Messages postés 1096 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 31 août 2017 224
18 juil. 2015 à 02:45
Effectivement, j'ai oublié de preciser qu'a cette étape, le serveur internet revoit la demande vers le routeur en précisant que l'information est pour y.y.y.y sur le port X.

Les ports interviennent, au moment ou les programmes ont besoin de communiquer avec l'extérieur. Il y a certains ports (parmi les 65000 et quelques) qui sont défini selon une norme, entre autre : si tu veux accéder a un service http c'est le port 80, si tu veux faire une transmission FTP ce sera port 21, ou envoyer un mail avec SMTP port 25 etc...
0
CyRux Messages postés 164 Date d'inscription dimanche 4 janvier 2015 Statut Membre Dernière intervention 8 septembre 2016 3 > phenetas Messages postés 1096 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 31 août 2017
18 juil. 2015 à 02:53
Donc si j'ai bien compris les ports ne servent pas a dire sur quel ordinateur du reseau local va la requête.
La redirection de la réponse sur bon ordinateur du réseau local se font avec l'ip locale écrite dans les paquets? enfin quand le serveur repond il met l'ip local de l'ordinateur pour que le routeur puisse le redonner au bon ordi ?
0
phenetas Messages postés 1096 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 31 août 2017 224 > phenetas Messages postés 1096 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 31 août 2017
18 juil. 2015 à 02:57
Ma réponse ci dessus n'est pas claire je m'en rend compte.
Je rajouterais une chose a propos des sockets, tu as probablement entendu ce nom.
un socket est une sorte de tunnel qui permet la communication, donc avec 2 extrémités (comme tout bon tunnel !).
Ces extrémités sont définies par la combinaison de : une adresse IP et un port.

Donc un socket fait le lien entre deux ordinateurs ayant chacun une IP et un port.
Un socket est unique et il ne peut y avoir qu'un seul socket avec la meme combinaison de ces 4 paramètres (IP-port/IP-port).

Lorsque tu ouvre une page internet (disons que c'est http), de ton coté tu aura la combinaison "y.y.y.y:X", du coté serveur il y aura "q.q.q.q:80".
(y.y.y.y étant ton IP, et q.q.q.q étant celle du serveur)
Ceci défini un socket, un tunnel ou tu peux communiquer entre toi et le serveur. De ton coté les ports sont pris au hasard (sauf les quelques port dont je parlais qui sont réservés), du coté serveur ce sera le port 80 car tu veux communiquer avec lui en http, donc tu dois t'addresser au port qui gère le http.

Ainsi, si sur ton navigateur tu as plusieurs onglets ouverts, ou meme si tu as plusieurs navigateurs ouverts en meme temps, chaque onglet aura attribué un port prit au hasard (sauf les quelques port dont je parlais qui sont réservés).
0
CyRux Messages postés 164 Date d'inscription dimanche 4 janvier 2015 Statut Membre Dernière intervention 8 septembre 2016 3 > phenetas Messages postés 1096 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 31 août 2017
18 juil. 2015 à 03:04
Ah ok là je comprend mieux ^^
Je vient de tester en changeant d'onglet et sa change bien le port ^^
J'aurais du préciser dans ma question que je n'ai que des bases (enfin si on peut appeler sa des bases ^^)
ps : pour moi un socket c'était l'endroit ou on posais le processeur lol
Merci beaucoup pour ton aide
0
mr_demonicon Messages postés 828 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 9 avril 2016 126
18 juil. 2015 à 00:58
en realité il existe deux systeme d'adresse ip les externes (publiques) et les internes (privés) et deux normes (ipv4 et ipv6)
ta box a une adresse ip ressemblant a cela 88:123:345:56 c'est a partir de cette ip que communique ta box avec les server exterieur. Une requete via un protocole (http,https...) est envoyé par la box demandant la ressource de la page web (html,xml,xhtml,htm,css,js,video,audio...) apres a box en interne redistribue ces ressources a celui qui en a fait la demande ainsi elle va communiquer sur le 192.168.0.x et distribuer ce qu'elle a téléchargé. (bien sur dans a requete au serveur l'adresse ip de ta machine est aussi transmise ainsi que son adresse mac)
0
CyRux Messages postés 164 Date d'inscription dimanche 4 janvier 2015 Statut Membre Dernière intervention 8 septembre 2016 3
18 juil. 2015 à 01:28
Merci pour ta reponce rapide ^^
donc si j'ai bien compris dans la requête il y a l'adresse ip locale de l'ordinateur qui a envoyé la requête.
alors a quoi sert le port que l'on vois sur www.mon-ip.com ?
0
mr_demonicon Messages postés 828 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 9 avril 2016 126
18 juil. 2015 à 01:37
tu as vu que j'ai parlé de protocoles en realité j'ai pas eté complet ces protocoles on lzurs propres ports attribués comme le 443 pour le https ou le 8080 pour le http mais il en existe plein d'autre celui que tu dois voir est le 40783 qui est celui du tcp/udp en gros du protocole de transmission de données sans cela les serveurs enverrait des données ayant des erreurs (corrompus) en effet chaque octet est vérifié par une somme et si celle ci est differente du md5, sha-1,crc... donné par le serveur ta box retelecharge l'octet/fichier en question (je ne rentre pas dans les details mais c'zst l'idée qu tu dois avoir dans la tete.
0
Judge_DT Messages postés 29395 Date d'inscription vendredi 5 février 2010 Statut Modérateur Dernière intervention 23 octobre 2021 9 617 > mr_demonicon Messages postés 828 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 9 avril 2016
Modifié par Judge_DT le 18/07/2015 à 01:40
ou le 8080 pour le http

HTTP c'est surtout 80 par convention, le "8080" c'est le port de substitution si 80 n'est pas disponible.
0
CyRux Messages postés 164 Date d'inscription dimanche 4 janvier 2015 Statut Membre Dernière intervention 8 septembre 2016 3 > mr_demonicon Messages postés 828 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 9 avril 2016
18 juil. 2015 à 01:40
D'accord, merci beaucoup ^^
mais du coup pourquoi pour le même site ,chaque ordinateur de réseau local utilise un port différent ?
0
mr_demonicon Messages postés 828 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 9 avril 2016 126
18 juil. 2015 à 01:46
car si les ordis d'un reseau local se trouvait sur le meme port alors les données serait recu par l'un et non par l'autres (il faut comprendre que ta box peut grouper l'acces a un site dessus son "serveur" et ensuite le distribuer a chaque ordinateur de maniere sequentielle et identique) par exmple si ton ordinateur A est plus loin que B de la box B, A aura la priorité car plus faible en signal et ralentira B donc A recevra le debut jusqu'a ce qu'il n'arrive plus a recevoir donc B recevra ce qu'il reste -->ca c'est ce qui arrive si tout le monde etait su le meme port mais comme tout est séparé alors A et B recevront la meme chose mais en exemplaire unique destiné a eux seuls afin que les deux aient la bonne somme de données.
0
mr_demonicon Messages postés 828 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 9 avril 2016 126
18 juil. 2015 à 02:02
le protocole http est un protcole de plain text (en gros il permet de transmettre des caracteres) ensuite le port udp/tcp sert a creer la connection et a eviter les erreurs enfin le port local serta identifier un ordinateur sur un reseau.

ta box demande a l'adresse web (ou l'ip) via le portocole de securité choisis (http/https/chiffrement ssl...) si elle peut acceder a la ressource. si oui. alors elle l'achemine via le portocole udp/tcp puis enfin le redirige a ton ordinateur en se servant de son adresse local et du port local associé a ton ordinateur.

--
0
CyRux Messages postés 164 Date d'inscription dimanche 4 janvier 2015 Statut Membre Dernière intervention 8 septembre 2016 3
18 juil. 2015 à 02:32
Eh là je suis un peu perdu ^^ il dois me manquer des bases lol
0
CyRux Messages postés 164 Date d'inscription dimanche 4 janvier 2015 Statut Membre Dernière intervention 8 septembre 2016 3
18 juil. 2015 à 02:33
perso j'ai deja fais des serveur http mais on m'as dis que en gros ma box recevait une requette sur le port 80, que je la redirigeais sur l'ordi avec le serveur http et que le serveur repondait a l'IP de la box de destination ...
C'est bien sa ?
0
brupala Messages postés 109404 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 17 avril 2024 13 615
28 juil. 2015 à 10:58
Salut,
ce que tu oublies, c'est que dans un paquet udp/tcp, il y a un port source et un port destination (ils peuvent être identiques).
une communication moyenne occupera donc deux ports et deux adresses IP.
Ce que tu vois sur monip c'est le port source tcp fourni par ton navigateur (ou plutôt par la box, car ils est probablement modifié en passant dans la fonction nat/pat)
Le port destination est celui sur lequel le serveur écoute, c'est généralement un well known port de 0 à 1023, mais ça peut être n'importe lequel, c'est configuré dans le paramétrage du serveur.
Quand le serveur répond il met en source le port où il écoute et en destination celui affecté par la box à la communication, il inverse aussi les adresses IP, bien entendu.
0