Qu'est-ce qu'un port d'écoute ?
Un port est une adresse pour un programme lorsque les données voyagent d'un ordinateur à un autre sur un réseau. Tout comme les ordinateurs ont des adresses, les programmes aussi. Le numéro de port est un moyen rapide d'indiquer au programme réseau qui reçoit les données quelle application doit les recevoir. Ces applications s'exécutent en permanence et attendent des données pour déclencher une action. Cet état d'attente est appelé écoute.
Communications réseau
Le concept de port concerne spécifiquement les données transférées sur les réseaux par la suite de protocoles TCP/IP. TCP/IP signifie Transmission Control Protocol/Internet Protocol. Une série de normes expliquent comment les données doivent être conditionnées et adressées pour atteindre leur destination. Cela implique de diviser les données en segments, puis de placer chaque segment de données dans une structure appelée paquet. Le paquet a un en-tête où les protocoles réseau stockent des informations pour leur homologue de réception. Le dernier en-tête à intégrer au paquet est l'en-tête IP, qui contient l'adresse de l'ordinateur de destination. Cet en-tête passe devant l'en-tête de transport, où est écrit le numéro de port de l'application réceptrice.
Protocoles de transport
Les deux protocoles de transport alternatifs dans TCP/IP sont le protocole de contrôle de transmission et le protocole de datagramme utilisateur. Ces deux protocoles traitent des numéros de port. Ils conditionnent les données et placent le numéro de port dans l'en-tête. TCP établit une connexion avec son homologue et maintient cette connexion tout au long de la session. Le protocole définit la manière dont les paquets de données sont séquencés afin que le programme de réception puisse connaître l'ordre dans lequel réassembler les données. UDP est une alternative légère qui est généralement utilisée par les applications multimédias. Les ports sont connus par un numéro mais aussi par le protocole de transport, il existe donc un port appelé TCP 25 et un autre appelé UDP 25. Ce ne sont pas le même port.
Ports bien connus
Un certain nombre d'applications ont un numéro de port qui leur est réservé. Ces allocations sont appelées « ports bien connus » et la liste est maintenue et distribuée par l'Internet Assigned Numbers Authority, mieux connue sous le nom d'IANA. Les programmeurs qui envoient des données à un port particulier ne peuvent pas s'attendre à ce qu'un autre programme sélectionne ces données. Par exemple, il ne sert à rien d'envoyer des données au port 21, qui est enregistré pour le protocole de transfert de fichiers, en espérant que Kerberos les récupère, car Kerberos écoute sur le port 88.
Procédures de réception
Le logiciel de mise en réseau de l'ordinateur récepteur supprime les en-têtes et réassemble les données, avant de les transmettre à l'application associée au numéro de port inscrit dans les en-têtes des paquets. Cette application doit être en cours d'exécution pour recevoir les données. Avec de nombreuses applications, la réception des données est un processus interactif, les applications correspondantes sur chaque ordinateur échangeant des messages pendant toute la durée de la session.