====== Théorie : les ports réseau ====== * Objet : Comprendre ce que représentent les ports réseau * Niveau requis : {{tag>débutant avisé}} * Commentaires : //Que signifie « HTTP passe par le port 80 », ou « les mails s'envoient sur le port 587 » ? Z'allez voir, c'est fastoche !// * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) * Suivi : {{tag>à-corriger à-compléter}} * Création par [[user>smolski]] le 25/10/2010 * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?pid=113504#p113504|ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) ===== Introduction ===== En fait le numéro de port est simplement un //identifiant// de la connexion. C'est un numéro destiné à filtrer et rassembler les paquets relevant d'un même fichier dans la même machine. La machine, identifiée par son adresse, indique : - telle connexion - qui a envoyé telle demande - porte tel numéro de port chez moi. Plusieurs requêtes (demandes) de cette machine //client// porteront chacune un numéro de port différent, qu'elles s'adressent à la même machine //serveur// ou à plusieurs simultanément. Ce numéro de port n'a pas de continuité hors cette connexion. - Il est tout à fait indifférent. - Il ne peut pas être identique aux numéro de port pré-établis destinés à des échanges standardisés. ===== Une requête web ===== Exemple d'une requête web Si nous tapons cette url que nous cherchons : [[http://www.fdn.fr/minitel.avi]] Voilà ce que cela donne sur le réseau : (A - notre machine) 5038 ---> (D - comme dns le serveur) 53 : où habite www.fdn.fr ? Ce qui veut dire : - Ma machine (A ) émet depuis le port numéro (//par exemple//) : 5038 (quand on émet on utilise toujours un port au hasard) - à destination du serveur (D) - sur le port 53, (port 53 tcp,udp DNS DNS (Domain Name Service) utilisé pour la résolution des noms de domaine.) - une requête qui dit : //où habite %%http://www.fdn.fr%% ?// Si le serveur ne connaît pas le port où il faut renvoyer la réponse, il va retourner la réponse sur la bonne machine, mais pas nécessairement pour la bonne question. Le serveur répond : (D) 53 ---> (A) 5038 : il est en 80.67.169.12 (que l'on notera W pour web). Soit : - port du serveur : 53 - port de la requête de ma machine : 5038 - IP de l'AS du destinataire : 80.67.169.12 cette AS se chargeant de communiquer la requête à l'adresse finale dont elle possède la gérance. La machine envoie alors par un autre port, le port 80 : A.5039 ---> W.80 : donne-moi le fichier /minitel.avi Retour : W.80 ---> A.5039 : (tiens, gaffe, c'est long ! Prévoir plusieurs paquets, environ 600.000 !) ===== Les ports standardisés des serveurs. ===== * Port 53 = DNS : l'annuaire (Si vous enlevez le DNS, vous êtes obligé de taper les adresses des machines.) :-( * Port 80 = HTTP : le web * Port 443= HTTPS : le web chiffré * Port 587 = SMTP/sumbission : l'envoie du mail * Port 110 = POP3 : sert à relever une boîte au lettre * Port 179 = BGP (routage) C'est le port utilisé par les routeurs pour se raconter leur vie. * etc... Il y a en tout quelques centaines de //ports réservés//. * Autant le numéro de port du **client** n'a pas d'importance au-delà de la connexion établie, sinon pour permettre l'acheminement de la bonne réponse à la bonne question, pas plus. \\ Il peut donc être indifférent. * Autant le numéro de port du **serveur** est vital. **Par exemple :** Si les serveurs **Web** et **DNS** sont //la même machine//, * sur le port **53** c'est le port DNS des noms de domaine, * sur le port **80**, c'est bien le port du serveur Web que j'interroge.