Port (logiciel) - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs est disponible ici.

Correspondant à la couche de transport 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.

Explication basique

Si vous digérez mal l'informatique, considérez les ports comme des portes donnant accès à votre système d'exploitation (Microsoft Windows, Mac OS, Linux, Solaris…). Pour fonctionner, un programme doit avoir accès à votre système d'exploitation (par exemple pour les jeux à accélération 3D/2D, des logiciels de retouche photo, etc.), et doit donc ouvrir des portes pour pouvoir entrer dans votre système d'exploitation. Quand vous quittez le programme, la porte n'a plus besoin d'être ouverte.

Les problèmes de sécurité surviennent lorsque certains programmes oublient de refermer ces dites portes (les "  ports "), ou même tout simplement lorsque la configuration mal maîtrisée de l'ordinateur ouvre des ports sans aucune utilité. Cela donne lieu à des failles de sécurité informatiques, car si une porte n'est pas refermée, n'importe qui peut l'emprunter…

Utilité

Grâce à cette abstraction, on peut exécuter plusieurs logiciels serveurs sur une même machine, et même simultanément des logiciels clients et des serveurs, ce qui est fréquent sur les systèmes d'exploitation multitâches et multiutilisateurs.

Attribution des ports

Pour chaque port, un numéro lui est attribué, qui est codé sur 16 bits, ce qui implique qu'il existe un maximum de 65 536 ports (216) par ordinateur.

L'attribution des ports est faite par le système d'exploitation, sur demande d'une application. Cette dernière peut demander à ce que le système d'exploitation lui attribue n'importe quel port, à condition qu'il ne soit pas déjà attribué. L'application peut ensuite l'utiliser comme bon lui semble.

Lorsqu'un logiciel client veut dialoguer avec un logiciel serveur, aussi appelé service, il a besoin de connaître le port écouté par ce dernier. Les ports utilisés par les services devant être connus par les clients, les principaux types de services utilisent des ports qui sont dits réservés. Par convention, ce sont tous ceux compris entre 0 et 1 023 inclus et leur utilisation par un logiciel serveur nécessite souvent que celui ci s'exécute avec des droits d'accès particulier. Les services utilisant ces ports sont appelés les Well-Known Services (les services les plus connus).

Sur une machine de type UNIX, le fichier /etc/services rappelle la liste de ces services célèbres, dont les plus connus et les plus utiles sont notamment les ports :

  • 21, pour l'échange de fichiers via FTP
  • 22, pour l'accès à un shell sécurisé Secure SHell
  • 23, pour le port telnet
  • 25, pour l'envoi d'un courrier électronique via un serveur dédié SMTP
  • 80, pour la consultation d'un serveur HTTP par le biais d'un Navigateur web
  • 110, pour la récupération de son courrier électronique via POP
  • 143, pour la récupération de son courrier électronique via IMAP

(IMAP est doté de fonctionnalités plus avancées que POP, voir les articles respectifs pour plus de détails)

  • 443, pour les serveurs web sécurisés HTTPS

Il faut toutefois noter que les conventions ci-dessus peuvent ne pas être respectées pourvu que le client et le serveur soient cohérents entre eux et que le nouveau numéro choisi ne soit pas déjà utilisé par ailleurs. La plupart des logiciels de communication permettent d'accéder à ce réglage ce qui est utile dans certains cas.

Page générée en 0.085 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise