Les numéros de port sont compris entre 0 et 65535. Les numéros 1 à 1023 sont attribués aux services. Les numéros 1024 à 65535 sont des ports éphémères utilisés pour identifier une source. Le port 0 est « réservé » par l' Internet Assigned Numbers Authority (IANA).
Que sont les ports et comment fonctionnent-ils ?
Dans la présentation précédente, nous avons examiné les adresses IP et la façon dont les routeurs prennent des décisions en fonction du préfixe de l'adresse pour acheminer les paquets des hôtes source aux hôtes de destination. Nous avons utilisé l'analogie des services postaux pour constater que le préfixe est comparable à un code postal et que le reste de l'adresse IP est comparable au nom et au numéro de la rue.
Poursuivons cette analogie. Qu'en est-il du nom du destinataire ? Lorsque nous adressons une lettre, nous incluons le nom du destinataire, par exemple, Lucille Ball. Bien sûr, les services postaux n'ont pas à regarder le nom du destinataire, mais une fois que la lettre arrive à l'adresse de destination, quelqu'un doit regarder le nom du destinataire et remettre la lettre à cette personne. Après tout, plusieurs personnes peuvent habiter à la même adresse.
Il en va de même pour les hôtes Internet. Les hôtes exécutent plusieurs processus ou applications. Par exemple, un serveur peut exécuter plusieurs services tels que le Web et la messagerie électronique. De plus, les terminaux des utilisateurs, tels que les ordinateurs portables, peuvent exécuter plusieurs clients tels que des navigateurs Web et des services de messagerie. Ainsi, lorsqu'un paquet arrive au niveau d'un hôte, comment déterminer le processus de distribution ? C'est le travail des protocoles TCP et de UDP.
Le protocole TCP (Transmission Control Protocol) et le protocole UDP (User Datagram Protocol) :
- Font partie de la suite IP (Internet Protocol), parfois appelée TCP/IP.
- Forment ce que l'on appelle la couche de transport et définissent la communication de processus à processus.
- Identifient les points de terminaison de communication avec des numéros de port. Un numéro de port est l'équivalent du nom du destinataire sur une lettre.
Examinons le protocole TCP plus en détail. TCP est utilisé pour envoyer un flux d'octets de l'expéditeur au destinataire. Il garantit une distribution fiable, dans l'ordre du flux d'octets. Notez que IP seul ne garantit pas l'ordre ni même la distribution. Des paquets IP peuvent être, et sont dans les faits, abandonnés. TCP garantit une distribution dans l'ordre en divisant le flux en segments, puis en livrant chaque segment dans un paquet IP avec un numéro d'ordre. Le destinataire renvoie un accusé de réception des segments reçus à l'émetteur, qui retransmet ensuite les segments qui n'ont pas été confirmés après un délai d'expiration.
Parlons à présent d'UDP. UDP est utilisé pour envoyer un datagramme de l'expéditeur au destinataire. Un datagramme est livré dans un paquet IP. Les datagrammes UDP ne fournissent pas de garantie de distribution. La seule différence majeure entre un datagramme UDP et un paquet IP réside dans les numéros de port.
Les processus communiquent sur des ports identifiés par des numéros (16 bits). Les numéros de port source et de destination sont ajoutés à chaque paquet IP. Les numéros de port sont souvent écrits en ajoutant un <numéro de port> à l'adresse IP.
Chaque hôte dispose d'une table de correspondance qui attribue les numéros de port aux processus. Ainsi, lorsqu'un paquet arrive au niveau d'un hôte, l'hôte peut utiliser cette table pour acheminer le paquet au processus correspondant. Dans cet exemple, le port de destination 443 correspond à la deuxième ligne, de sorte que le paquet sera livré au serveur Web.
Alors, comment les numéros de port sont-ils déterminés ? Pour les serveurs, la réponse est que les services écoutent sur des numéros de port bien connus (entre 1 et 1023). Par exemple :
- Web (HTTP) correspond au port 80,
- Secure Web (HTTPS) correspond au port 443, et
- DNS correspond au port 43.
Le client choisit le numéro de port de destination correspondant au service demandé. Dans notre exemple, nous communiquons avec un service HTTPS, donc le numéro de port de destination est 443.
En ce qui concerne le numéro de port source, le client initie la communication à partir de ce qu'on appelle un port éphémère (entre 1024 et 65535). Il choisit dans cette plage n'importe quel numéro de port qui n'est pas utilisé actuellement. Dans cet exemple, le client a choisi le numéro de port 12627, qui correspond donc au numéro de port source.
Lorsque le serveur répond, il retourne simplement la source et la destination.
Mais comment déterminons-nous ces adresses IP ? Grâce à un service de nommage, et c'est ce que nous allons voir dans la prochaine présentation.
Mais avant de conclure sur les adresses, résumons en reprenant l'analogie du service postal. Le numéro de port équivaut au nom du destinataire. Tout comme seuls les résidents sont censés regarder le nom du destinataire, seul l'hôte lui-même doit regarder le numéro de port. Nous divisons l'adresse IP en un préfixe, comparable au code postal. Le reste de l'adresse IP équivaut au nom et au numéro de rue. Dans notre exemple, tout comme seul le bureau de poste 90210 doit regarder le nom et le numéro de rue, seuls les routeurs du réseau du MIT doivent regarder l'adresse IP complète. Et tout comme en dehors du centre de tri 90210, seul le code postal est nécessaire pour acheminer la lettre, en dehors du MIT, seul le préfixe est nécessaire pour acheminer le paquet.
En résumé : Les messages d'application, par exemple les requêtes et réponses Web, sont placés dans des paquets IP. Ils sont souvent chiffrés. Les paquets IP sont associés à une adresse IP source et de destination, ainsi qu'à des numéros de port.
Une adresse de protocole Internet ou adresse IP sert à transmettre des données sur les connexions réseau. Cette adresse se compose d'une chaîne de nombres qui agissent comme un identifiant unique. Les numéros de port sont un nombre entier non signé de 16 bits ajouté à cette chaîne, séparé par deux points (ex. : 17.253.207.54: 443). Ce numéro ajouté est ce que l'on appelle un « numéro de port », et sert à orienter le trafic Internet lorsqu'il arrive sur un serveur. Les protocoles TCP (Transmission Control Protocol) et UDP (User Datagram Protocol) sont utilisés pour acheminer un paquet de données au processus correspondant. Il existe de nombreux numéros de port, et ils sont essentiels au fonctionnement d'Internet.
Comment fonctionnent les ports ?
Les ports informatiques existent depuis l'aube de l'informatique. Le réseau ARPANET (Advanced Research Projects Agency Network) est à l'origine du concept de numéros de port.
Les ports servent à identifier un point de terminaison de connexion et à orienter les données vers un service. Il existe des ports virtuels et physiques : Un port USB est un exemple de port physique. C'est souvent le premier qui nous vient à l'esprit lorsque l'on pense aux ports d'ordinateur. Cependant, les ports virtuels sont bien plus courants, et sont essentiels au fonctionnement d'Internet. Les ports font partie de la couche 4, la couche de transport, du modèle OSI d'Internet.
Pour expliquer le fonctionnement des ports, reprenons l'analogie d'une lettre adressée à « Lucille Ball, 1000 Roxbury Drive, Beverly Hills, CA 90210 ». Dans la section concernant les adresses IP, cette analogie explique comment une adresse virtuelle équivalente à celle de la lettre, une adresse IP, permet d'acheminer la lettre vers sa destination. Lorsque la lettre atteint l'adresse finale, le nom inscrit sur l'enveloppe permet d'identifier spécifiquement son destinataire. Dans le même ordre d'idée, le port est l'équivalent du nom du destinataire, Lucille Ball.
Il existe de nombreux ports virtuels, avec des numéros de port allant de 0 à 65535. Les protocoles Internet TCP et UDP déterminent le processus auquel le paquet de données est envoyé, selon un schéma serveur-client, comme vu dans les sections HTTP (Hypertext Transfer Protocol) et HTTPS.
Qu'est-ce qu'un hôte ?
Un hôte, tel qu'un serveur, exécute souvent plusieurs processus ou applications tels que le Web et la messagerie électronique. Chaque hôte dispose d'une table de correspondance qui attribue les numéros de port aux processus. Ainsi, lorsqu'un paquet de données arrive au niveau d'un hôte, l'hôte utilise cette table pour acheminer le paquet au processus ou au service correspondant. Les points de terminaison, tels que les ordinateurs portables, exécutent généralement plusieurs clients, tels que des navigateurs Web et des services de messagerie. TCP et UDP sont les protocoles qui décident où envoyer un paquet de données une fois arrivé à son adresse de destination. Cependant, bien que le trafic soit direct dans le deux cas, leurs caractéristiques diffèrent.
Qu'est-ce que TCP ?
Le protocole TCP, ou Transmission Control Protocol, utilise un flux d'octets pour envoyer des données de l'expéditeur au destinataire. La caractéristique principale de TCP est sa capacité à garantir une livraison fiable et dans l'ordre du flux d'octets. Ceci est nécessaire, car les paquets IP peuvent être abandonnés en route. TCP garantit une distribution dans l'ordre en divisant le flux en segments, puis en livrant chaque segment dans un paquet IP avec un numéro d'ordre. Le destinataire accuse réception d'une séquence de paquets IP. Si la réception d'une séquence de paquets IP n'est pas confirmée, l'expéditeur retransmet les segments non reçus après un délai d'expiration.
Qu'est-ce que UDP ?
La principale différence entre UDP et TCP est que la livraison n'est pas garantie. UDP est utilisé pour envoyer un datagramme de l'expéditeur au destinataire. Un datagramme est livré dans un paquet IP. Les numéros de port sont la seule différence significative entre un datagramme UDP et un paquet IP. Cependant, en raison de cette livraison non garantie, les ports TCP sont choisis pour les services nécessitant une transmission de données sécurisée et fiable, tels que les e-mails et les sites Web.
Exemples de numéros de port pour les services
Il existe 65 535 numéros de port possibles. Les services écoutent sur des numéros de port connus, compris entre 1 et 1023. Les numéros de port de service les plus utilisés sont les suivants :
- Port 80 : Web (HTTP)
- Port 443 : Web sécurisé (HTTPS)
- Port 43 : DNS (système de noms de domaine).
- Port 3389 : Remote Desktop Protocol (RDP)
- Port 21 : FTP (File Transfer Protocol)
- Port 22 : Secure Shell (SSH), protocole de tunnelisation utilisé pour créer des connexions réseau sécurisées
Dans notre exemple d'adresse IP, 17.253.207.54 : 443, la communication se fait via HTTPS, c'est-à-dire le port 443.
Numéros de port source
Les numéros de port source utilisent un « port éphémère » compris entre 1024 et 65535. Vous pouvez choisir n'importe quel numéro de port de cette plage actuellement non utilisé.
L' Internet Assigned Numbers Authority (IANA) tient à jour une liste de numéros de port. Le port 0 est considéré comme réservé par l'IANA et n'est pas disponible.
Akamai, les ports et la prévention des attaques en ligne
Les cyberattaques dans le cloud sont omniprésentes. Akamai s'est donné pour mission d'éradiquer les exploitations de failles Web sur Internet utilisées par les pirates informatiques et les cybercriminels. La perte de paquets IP peut être causée par des attaques par déni de service distribué (DDoS) contre un serveur Web. Les ports non protégés ou qui permettent l'exploitation de vulnérabilités sont des vecteurs d'attaque bien connus. Notre infrastructure dédiée est conçue pour bloquer les attaques DDoS dans le cloud avant qu'elles n'atteignent les applications, les centres de données et les infrastructures Internet (publiques ou privées). L'architecture unique d'Akamai segmente les ressources DNS sur des clouds dédiés qui ne se chevauchent pas. Plus de 225 intervenants SOCC de première ligne soutiennent Akamai. Notre solution entièrement gérée filtre le trafic d'attaque et stoppe même les attaques les plus importantes, ce qui vous permet de libérer vos responsables de systèmes de défense afin qu'ils se consacrent à des programmes de sécurité hautement prioritaires. Akamai protège l'entreprise d'aujourd'hui contre les vulnérabilités liées au cloud et aux effectifs dispersés.
Akamai et la cybersécurité
L'autorité d'Akamai en matière de cybersécurité repose sur une compréhension approfondie du fonctionnement des protocoles IP, HTTP, HTTPS et des ports. Outre la sécurité, Akamai optimise le Cloud Computing grâce à sa suite de solutions de Cloud Computing et assure une sécurité, une évolutivité et une visibilité parfaites, quel que soit le fournisseur de services cloud. Notre suite de produits de cloud computing comprend la gamme de produits Download Delivery qui optimise les téléchargements de fichiers HTTP volumineux, à chaque fois, à l'échelle mondiale.
Foire aux questions (FAQ)
Les ports sont virtuels ou physiques et sont utilisés pour identifier le début et la fin d'un réseau. Un numéro unique de 16 bits est attribué à un port virtuel afin d'identifier un point de terminaison de connexion et d'acheminer les données vers un service ou un processus spécifique. Un port est utilisé pour orienter différents types de trafic destinés à un terminal, par exemple, les e-mails et les pages Web.
Les ports utilisent deux types de protocoles, TCP (Transmission Control Protocol) et UDP (User Datagram Protocol). TCP offre un service plus fiable, car il distribue les données dans l'ordre du flux d'octets, divisant les paquets en flux. Tous les flux non confirmés sont renvoyés.
Les attaquants peuvent analyser les ports à la recherche de ports ouverts susceptibles d'être exploités. Les pare-feu bloquent ou autorisent le trafic conformément aux règles de sécurité définies. Les pirates informatiques tentent d'exploiter les ports ouverts pour diffuser un trafic malveillant. Les pare-feu bloquent le trafic vers tous les ports, à l'exception de certains services essentiels, tels que le port 25 pour la messagerie électronique, le port 80 pour le trafic Web HTTP et le port 443 pour le trafic Web HTTPS sécurisé. Le port 3389 pour le trafic RDP est un vecteur d'attaque bien connu. Les pirates y recherchent des vulnérabilités et les utilisent pour lancer des attaques par ransomware et exploiter d'autres failles.
Un hôte, tel qu'un serveur, exécute souvent plusieurs processus ou applications tels que le Web et la messagerie électronique. Chaque hôte dispose d'une table de correspondance qui attribue les numéros de port aux processus. Ainsi, lorsqu'un paquet de données arrive au niveau d'un hôte, l'hôte utilise cette table pour acheminer le paquet au processus ou au service correspondant. Les points de terminaison, tels que les ordinateurs portables, exécutent généralement plusieurs clients, tels que des navigateurs Web et des services de messagerie. TCP et UDP sont les protocoles qui décident où envoyer un paquet de données une fois arrivé à son adresse de destination. Cependant, bien que le trafic soit direct dans le deux cas, leurs caractéristiques diffèrent.
Le protocole TCP, ou Transmission Control Protocol, utilise un flux d'octets pour envoyer des données de l'expéditeur au destinataire. La caractéristique principale de TCP est sa capacité à garantir une livraison fiable et dans l'ordre du flux d'octets. Ceci est nécessaire, car les paquets IP peuvent être abandonnés en route. TCP garantit une distribution dans l'ordre en divisant le flux en segments, puis en livrant chaque segment dans un paquet IP avec un numéro d'ordre. Le destinataire accuse réception d'une séquence de paquets IP. Si la réception d'une séquence de paquets IP n'est pas confirmée, l'expéditeur retransmet les segments non reçus après un délai d'expiration.
La principale différence entre UDP et TCP est que la livraison n'est pas garantie. UDP est utilisé pour envoyer un datagramme de l'expéditeur au destinataire. Un datagramme est livré dans un paquet IP. Les numéros de port sont la seule différence significative entre un datagramme UDP et un paquet IP. Cependant, en raison de cette livraison non garantie, les ports TCP sont choisis pour les services nécessitant une transmission de données sécurisée et fiable, tels que les e-mails et les sites Web.
Pourquoi les clients choisissent-ils Akamai ?
Akamai soutient et protège la vie en ligne. Les entreprises leaders du monde entier choisissent Akamai pour concevoir, diffuser et sécuriser leurs expériences digitales, et aident des milliards de personnes à vivre, travailler et jouer chaque jour. Akamai Connected Cloud, plateforme cloud massivement distribuée en bordure de l'Internet, rapproche vos applications et expériences des utilisateurs, tout en tenant les menaces à distance.