III.5.1. Notion de port d'écoute
Lorsqu'un port est ouvert à l'écoute sur un
service serveur, c'est une porte ouverte par laquelle un intrus peut entrer.
Correspondant à la couche session du modèle OSI, la notion de
port logiciel permet, sur un ordinateur donné, de distinguer
différents interlocuteurs.
Ces interlocuteurs sont des programmes informatiques qui,
selon les cas, écoutent ou émettent des informations sur ces
ports. Un port est distingué par son numéro.
III.5.2. Adresse, port et socket
De nombreux programmes TCP/IP peuvent être
exécutés simultanément sur Internet (vous pouvez par
exemple ouvrir plusieurs navigateurs simultanément ou bien naviguer sur
des pages HTML tout en téléchargeant un fichier par FTP). Chacun
de ces programmes travaille avec un protocole, toutefois l'ordinateur doit
pouvoir distinguer les différentes sources de données.
Ainsi, pour faciliter ce processus, chacune de ces
applications se voit attribuer une adresse unique sur la machine, codée
sur 16 bits: un port ( la combinaison adresse IP +
port est alors une adresse unique au monde, elle est appelée socket
).
L'adresse IP sert donc à identifier de façon
unique un ordinateur sur le réseau tandis que le numéro de port
indique l'application à laquelle les données sont
destinées. De cette manière, lorsque l'ordinateur reçoit
des informations destinées à un port, les données sont
envoyées vers l'application correspondante. S'il s'agit d'une
requête à destination de l'application, l'application est
appelée application serveur. S'il s'agit d'une
réponse, on parle alors d'application cliente.
Par exemple, votre navigateur peut envoyer un message à un
serveur HTTP (un serveur Web):
fig13.Exemple transmission par port
III.5.3. La fonction de multiplexage
Le processus qui consiste à pouvoir faire transiter sur
une connexion des informations provenant de diverses applications s'appelle le
multiplexage. De la même façon le fait d'arriver à mettre
en parallèle (donc répartir sur les diverses applications) le
flux de données s'appelle le démultiplexage.
Fig. n* 14 : La fonction de multiplexage entre 2
machines
Ces opérations sont réalisées grâce
au port, c'est-à-dire un numéro associé à un type
d'application, qui, combiné à une adresse IP, permet de
déterminer de façon unique une application qui tourne sur une
machine donnée.
III.5.4. Liste des ports TCP et UDP
Il existe des milliers de ports (ceux-ci sont codés sur
16 bits, il y a donc 65536 possibilités avec la formule 216 =
65536, c'est pourquoi une assignation standard a été mise au
point par l'IANA (Internet Assigned Numbers
Authority), afin d'aider à la configuration des
réseaux.
Les numéros de port Tcp et Udp sont codé sur 16
bits délimitant ainsi leurs valeurs entre 0 et 65535. Les ports connus
ont la particularité d'être assignés par l'IANA.
La liste est divisée en trois parties nommées :
- Les port connues, compris entre 0 et 1023
- Les ports enregistrés, compris entre 1024 et 49151 -
Les ports dynamique ou privés, compris entre 49152 et 65535.
Sur un ordinateur, un certain nombre de services
réseaux tournent. La plupart du temps, chaque service utilise un ou deux
ports et s'occupe d'une tâche. On trouvera souvent Apache derrière
le port 80 par exemple. Les numéros de ports vont de 1 à 65535,
le port zéro étant réservé.
La liste des ports ci-dessous n'est donnée qu'à
titre indicatif. Il est tout à fait possible de lancer un serveur sur un
autre port (ex: Apache sur port 8080, ssh sur port 23, etc.)
Ainsi, un serveur (un ordinateur que l'on contacte et qui
propose des services tels que FTP, Tel net, ...) 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).
Du côté du client, 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.
|