Page créée le 08 février 2008

Aide -mémoire, guide.


Port :
Voir :
- http://lifc.univ-fcomte.fr/~philippe/site/enseignement/docSocket/docSocket.html
- http://books.google.com
- http://fplanque.net/Blog/devblog/1995/03/01/protocoles_reseau_tcp_ip
- sockets.pdf
- sockets_2.pdf
- sockets_3.pdf
- cours.pdf

Sur une machine, de nombreux programmes TCP/IP peuvent être exécutés simultanément sur Internet utilisant des protocoles différents ou plusieurs fois le même protocole en même temps (http pour les navigateurs Internet, ftp pour le téléchargement de fichiers, etc.). Pour ce faire, l'ordinateur doit pouvoir distinguer les différentes sources de données. Cela se fait grâce aux ports.
Chaque application se voit attribuer une adresse unique sur la machine (point de connexion entre machine et Internet). Cette adresse, appelée port, est un entier codé sur deux octets ce qui fait 65536 possibilités.
La combinaison adresse IP + port forme une adresse unique au monde, appelée socket (en français : interface de connexion). Les sockets sont ce que l'on appelle une API (Application Program Interface), c'est à dire une interface entre les programmes d'application et la couche transport (TCP ou UDP).
Le numéro de port est attribué au niveau application par le programme ou le système d'exploitation.

Ports 0 à 1023ports reconnus ou réservésréservés aux processus système
Ports 1024 à 49151ports enregistrés 
Ports 49152 à 65535ports dynamiques et/ou privés 

Quelques ports couramment utilisés :

PortService ou Application
21FTP
23Telnet
25SMTP
80HTTP
110POP3

Le serveur et le client
Un serveur (un ordinateur que l'on contacte et qui propose des services tels que FTP, Telnet, ...) possède des numéros de port fixes auxquels l'administrateur réseau a associé des services. Ainsi, les ports d'un serveur sont généralement compris entre 0 et 1023 (fourchette de valeurs associées à des services connus).
Côté client (ainsi appelé, car c'est lui qui émet la requête), le port est choisi aléatoirement parmi ceux disponibles par le système d'exploitation. Ainsi, les ports du client ne seront jamais compris entre 0 et 1023 car cet intervalle de valeurs représente les ports connus.

Principe de l'architecture client/serveur

Caractéristiques d'un client :
- il est actif (ou maître) ;
- il envoie des requêtes au serveur ;
- il attend et reçoit les réponses du serveur.
  Caractéristiques d'un serveur :
- il est passif (ou esclave) ;
- il est à l'écoute, prêt à répondre aux requêtes envoyées par des clients ;
- dès qu'une requête lui parvient, il la traite et envoie une réponse.

client/serveur

Le rôle du serveur est de répondre immédiatement au client. Pour celà, des programmes appelés démon (daemon en anglais) tournent en permanence en tâche de fond pour écouter sur un numéro de port donné. Par convention, des nuéros de port sont attribués à des services connus (80 pour HTTP, 21 pour FTP, etc.).

Le client qui émet la requête ne dispose pas de port d'écoute attribué. Ce n'est pas un serveur, il n'a rien d'autre à écouter que les réponses à ses questions. Quand il envoie sa requête, il spécifie sur quel port il va é la réponse, de manière à ce que le serveur puisse construire un socket efficace pour ladite réponse.
Si on ouvre deux fois son navigateur pour afficher deux pages différentes sur le mˆme serveur, les informations ne se mélangent pas, parce que les deux sessions du navigateur indiquent des ports de réponse différents. C'est le NOS du client qui choisit les ports de réponse en fonction de ceux qui sont disponibles sur la machine.
Un port d'écoute est une porte ouverte. Attention sécurité.

client/serveur

Note
socket :Dans le contexte des logiciels, on peut le traduire par « connecteur réseau ».en français signifie prise)