Port (logiciel)
Dans la suite des protocoles Internet et 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.

Le terme port est aussi parfois utilisé pour désigner les sockets (interfaces de connexion), un concept sensiblement différent. Là où un socket sert d'identifiant unique dans un réseau donné résultant de la concaténation de l'adresse internet et du numéro de port, un port sert localement à identifier un processus.

Origine du mot
Port, en informatique, est un emprunt intégral du terme anglais port . En anglais, ce terme informatique provient du latin porta (> porte), qui peut se traduire alors en français par sabord, et non pas du latin portus (> port).

Explication métaphorique 
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, mais lorsque l'on quitte le programme, la porte n'a plus besoin d'être ouverte.

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 

Un numéro de port est codé sur , ce qui fait qu'il existe un maximum de , soit  ports distincts par machine. Ces ports sont classés en 3 catégories en fonction de leur numéro:
 les numéros de port de 0 à  correspondent aux ports "bien-connus" (well-known ports), utilisés pour les services réseaux les plus courants.
 les numéros de ports de  à  correspondent aux ports enregistrés (registered ports), assignés par l'IANA 
 les numéros de ports de  à  correspondent aux ports dynamiques, utilisables pour tout type de requêtes TCP ou UDP autres que celle citées précédemment.

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  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 :
 9, pour le WoL, Wake-on-LAN, c'est-à-dire le démarrage à distance par un câble réseau ethernet. Wake-on-LAN
 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
69, pour le TFTP
 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
 554, port utilisé pour accepter les connexions client RTSP entrantes et pour fournir des paquets de données aux clients qui diffusent en utilisant RTSPT.
 636, pour l'utilisation d'une connexion à un LDAP sécurisé par une couche SSL/TLS
 1352, pour le protocole Lotus Notes Domino
 1433, serveur de base de données MS SQL
 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
7777, port souvent utilisé pour des serveurs de jeux-vidéo tels que Terraria ou Unreal Tournament 
 25565, port par défaut des serveurs Minecraft

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

Voir aussi

Articles connexes 
 Liste de ports logiciels TCP et UDP
 Port matériel

Liens externes 
  Service Name and Transport Protocol Port Number Registry, sur le site iana.org
 Une base de données pour trouver la description d'un port TCP et UDP, sur le site frameip.com

Réseau informatique