Bien que cette question ait déjà été marquée comme ayant reçu une réponse, je voulais répondre à certaines des questions supplémentaires posées dans l'OP.
Ces ports sont-ils des objets physiques ?
Non les ports ne sont pas des objets physiques.
Un numéro de port est un nombre entier non signé de 16 bits, ce qui signifie que la gamme des ports disponibles est comprise entre 1 et 65535 (le numéro de port 0 est réservé et ne peut pas être utilisé). Un processus associe ses canaux d'entrée ou de sortie via des sockets Internet, un type de descripteur de fichier, à un protocole de transport, un numéro de port et une adresse IP. Ce processus est appelé binding, et permet d'envoyer et de recevoir des données via le réseau.
Sont-ils intégrés dans une partie de mon ordinateur ? Sont-ils même quelque chose de physique ? Ou écrites dans un code ? Où se trouve ce code ? Le système d'exploitation ? Qu'est-ce qu'un port ?
Le logiciel de mise en réseau du système d'exploitation a pour tâche de transmettre les données sortantes de tous les ports d'application sur le réseau, et de transférer les paquets réseau entrants à un processus en faisant correspondre l'adresse IP et le numéro de port du paquet.
Un seul processus peut se lier à une combinaison spécifique d'adresse IP et de port en utilisant le même protocole de transport. Les défaillances courantes des applications, parfois appelées conflits de port, se produisent lorsque plusieurs programmes tentent de se lier aux mêmes numéros de port sur la même adresse IP en utilisant le même protocole.
Le paragraphe ci-dessus est essentiel pour comprendre pourquoi les ports/protocoles sont utilisés dans les réseaux. Si nous ne disposions pas d'un moyen de spécifier le protocole, qui transmet les données sur un numéro de port convenu, vous ne seriez pas en mesure de faire plus d'une chose à la fois (consulter votre courrier électronique et utiliser le Web), car votre ordinateur n'aurait aucun moyen de faire la différence entre les données destinées à votre client de messagerie et celles destinées au site Web que vous consultez.
Combien de ports y a-t-il ?
Les numéros de port sont attribués de différentes manières, en fonction de trois plages :
-
Ports connus/système (0-1023) - Cette gamme de ports est utilisée par les processus système qui fournissent des types de services réseau largement utilisés (HTTP/80, HTTPS/443, Telnet/21, SSH/22).
-
Ports enregistrés/utilisateurs (1024-49151) - La gamme de numéros de port de 1024 à 49151 sont les ports enregistrés. Ils sont attribués par l'IANA pour un service spécifique sur demande d'une entité requérante. (Webmin/10000, HTTP Proxy/8080, Remote Desktop Protocol/3389, etc.)
-
Ports éphémères/dynamiques/privés (49152-65535) - La plage 49152-65535 contient des ports dynamiques ou privés qui no puede être enregistré auprès de l'IANA. Cette plage est utilisée à des fins personnalisées ou temporaires et pour l'attribution automatique de ports éphémères.
Puis-je augmenter ou diminuer le nombre de ports ?
En ce qui concerne la possibilité d'augmenter le nombre de ports disponibles, vous ne pouvez pas attribuer un port supérieur à 65535 en raison des mathématiques qui permettent aux réseaux de fonctionner (binaire) - la réponse à cette question est donc non, vous ne pouvez pas augmenter le nombre total de ports disponibles au-delà de 65535.
Que sont les protocoles ?
En informatique, un protocole de communication est un système de règles numériques pour l'échange de messages au sein d'un ordinateur ou entre ordinateurs. Lorsque des messages sont échangés via un réseau informatique, le système de règles est appelé protocole de réseau. Un protocole est essentiellement un ensemble convenu d'instructions, de commandes et d'appels sur lesquels deux dispositifs en réseau peuvent communiquer. Imaginez que nous n'ayons pas de protocoles convenus et que les serveurs Web envoient au hasard aux navigateurs Web des données dont ces derniers ne savent que faire ? Heureusement, nous disposons du protocole HTTP, que tous les navigateurs Web ont intégré dans leur logiciel afin de pouvoir communiquer avec n'importe quel serveur Web parlant le même langage (HTTP).
J'imagine qu'il s'agit d'une sorte de code..... Pouvez-vous créer votre propre protocole ? Quel langage utilisez-vous pour créer un protocole ?
Oui, vous pouvez créer vos propres protocoles. Les protocoles sont écrits dans une grande variété de langages. Je ne suis pas un développeur de logiciels, mais je suis à peu près sûr que tant que le langage que vous utilisez possède des bibliothèques qui vous permettent d'écrire des logiciels capables de communiquer via TCP/IP (il existe d'autres suites de protocoles, mais TCP/IP est le plus largement utilisé), vous pouvez utiliser ce langage pour écrire un protocole. Le langage de programmation "C" semble être le plus couramment utilisé pour écrire des protocoles. Cela s'explique par le fait qu'un grand nombre des premiers protocoles de réseau ont été développés sur UNIX dans les années 1970 et que le C est le langage dans lequel UNIX lui-même est écrit.
Comment faire pour qu'un port spécifique exécute un protocole spécifique ?
Cela diffère beaucoup d'un système d'exploitation à l'autre. Par exemple, pour modifier le numéro du port sur lequel s'exécute le protocole Remote Desktop sous Windows, vous devez modifier le registre. Sous Linux, la plupart des services réseau peuvent être configurés directement à partir d'un fichier .conf pour un service réseau particulier.
Comment définir ou inventer un nouveau protocole ?
Voir https://journal.paul.querna.org/articles/2012/02/22/designing-network-protocols/ pour un billet de blog de quelqu'un qui a récemment développé un nouveau protocole de mise en réseau et le genre de choses qu'il a dû faire en cours de route.