Port (logiciel)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Port (homonymie).

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.

Origine du mot[modifier | modifier le code]

Port, en informatique, est une traduction erronée de l'anglais port (en) ; l'étymologie du mot au sens informatique est le latin porta (→ porte), et non pas portus (→ port)[1].

Explication métaphorique[modifier | modifier le code]

Pour simplifier, on peut considérer les ports comme des portes donnant accès au système d'exploitation (Microsoft Windows, Mac OS, GNU/Linux, Solaris…). Pour fonctionner, un programme (par exemple un jeu à accélération 3D/2D, ou un logiciel de retouche photo) ouvre des portes pour entrer dans le système d'exploitation. Lorsque l'on quitte le programme, la porte n'a plus besoin d'être ouverte.

Utilité[modifier | modifier le code]

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[modifier | modifier le code]

Article détaillé : Liste des ports logiciels.

Un port est identifié par un numéro exprimé sur 16 bits. Il existe donc un maximum de 65 535 ports (2^{16}-1) par ordinateur.

L'attribution des ports est faite par le système d'exploitation, sur demande d'une application. Cette dernière peut demander que le système d'exploitation lui attribue n'importe quel port disponible. 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[2] inclus et leur utilisation par un logiciel serveur nécessite souvent que celui-ci s'exécute avec des droits d'accès particuliers. Les services utilisant ces ports sont appelés les services bien connus ("Well-Known Services").

Le fichier services indique la liste de ces services dits well-known. Sous UNIX, ce fichier est directement dans /etc ; sous Windows, ce fichier est par défaut dans C:\Windows\System32\drivers\etc. Les services les plus utilisés sont :

  • 20/21, pour l'échange de fichiers via FTP
  • 22, pour l'accès à un shell sécurisé Secure SHell, également utilisé pour l'échange de fichiers sécurisés SFTP
  • 23, pour le port telnet
  • 25, pour l'envoi d'un courrier électronique via un serveur dédié SMTP
  • 53, pour la résolution de noms de domaine en adresses IP : DNS
  • 67/68, pour DHCP et bootpc
  • 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
  • 123 pour la synchronisation de l'horloge : Network Time Protocol (NTP)
  • 143, pour la récupération de son courrier électronique via IMAP
  • 389, pour la connexion à un LDAP
  • 443, pour les connexions HTTP utilisant une surcouche de sécurité de type SSL : HTTPS
  • 465, pour l'envoi d'un courrier électronique via un serveur dédié utilisant une surcouche de sécurité de type SSL : SMTPS
  • 500, port utilisé pour le canal d'échange de clés IPsec
  • 636, pour l'utilisation d'une connexion à un LDAP sécurisé par une couche SSL/TLS
  • 1521, serveur de base de données Oracle Database
  • 1723, pour l'utilisation du protocole de VPN PPTP
  • 3306, serveur de base de données MySQL
  • 3389, pour la prise de contrôle à distance RDP
  • 5432, serveur de base de données PostgreSQL
  • 6667, pour la connexion aux serveurs IRC

Toutefois, 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 (on peut ainsi activer différentes versions d'un même service sur des numéros de ports différents, pour des tests). La plupart des logiciels de communication permettent d'effectuer ce réglage.

Notes et références[modifier | modifier le code]

  1. L'anglais port peut se traduire alors en français par sabord : avant l'invention des porte-conteneurs, les flancs des cargos étaient percés de portes donnant accès à des cales, chacune d'elle affectée à un type de marchandise distinct ; la charge et la décharge des cales offre une analogie pertinente avec les émissions-réceptions logicielles.
  2. http://www.frameip.com/liste-des-ports-tcp-udp/

Voir aussi[modifier | modifier le code]

http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml

Lien externe[modifier | modifier le code]