Pourquoi les ordinateurs ont-ils 65 535 ports TCP? [fermé]

-1
  • Pourquoi les ordinateurs ont-ils 65 535 ports TCP?
  • D'où vient ce numéro?
  • Qu'est-ce que cela représente?
tjt263
la source
1
Cette question est assez large, je pense qu’elle sera close dans très peu de temps. Est-ce que tout doit représenter quelque chose ?, Parfois, un nombre est juste un nombre, et il n'y a aucune autre raison. Dans ce cas, 65535 est la valeur maximale pour un short non signé. Pourquoi est-ce un short non signé, c’est tout simplement le cas, c’est ce que les spécifications TCP et UDP appellent. Il ne m'a fallu que 2 minutes de recherche pour déterminer la raison de la connexion aux spécifications de paquets TCP et UDP.
Ramhound,
2
Voir tools.ietf.org/html/rfc793#page-15 : "Port de destination: 16 bits". Le plus grand nombre pouvant être exprimé en 16 bits est 2 ^ 16-1
RedGrittyBrick
1
car un champ de 16 bits a été établi pour les en-têtes TCP dans la RFC 793 en 1981. Voir la section 3.1: faqs.org/rfcs/rfc793.html Il n’est généralement pas possible de dire de manière canonique "pourquoi" une chose donnée a été normalisée d’une manière ou d’une autre, une autre que "cela avait le plus de sens à l'époque". La meilleure réponse à mon avis est que Jon Postel (mon héros et père des standards du réseau) l'a dit.
Frank Thomas
@ tjt263 - Je ne suis pas d'accord avec votre évaluation. J'ai expliqué les problèmes avec la question, il pourrait facilement être transformé en une question appropriée, mais cela nécessite que vous
mettiez
1
@ tjt263, bien que je ne sois pas toujours d'accord avec les positions radicales de Ramhound sur tout ce qu'il rencontre, il est fondamentalement vrai que les questions du type "Pourquoi" ont rarement une réponse canonique et sont généralement basées sur une opinion. Il n’ya presque jamais d’information publique disponible sur les raisons pour lesquelles une organisation de normalisation fait un choix donné. Autant vous demander pourquoi le mot "bonjour" est orthographié ainsi.
Frank Thomas

Réponses:

5
  1. " Pourquoi les ordinateurs ont-ils 65535 ports TCP? "

Les ordinateurs n'ont pas de ports. Le concept de "ports" auquel vous faites référence est strictement lié aux protocoles TCP et UDP de la pile réseau TCP / IP . D'un point de vue strictement technique, TCP et UDP sont structurés de manière à transporter plusieurs types d'informations (port source, port de destination, numéro de séquence, données, etc.). Comme "Port source" et "Port de destination" sont tous deux structurés (dans les paquets TCP et UDP) avec un "champ" de 16 bits, voici les limites: les ports source et les ports de destination peuvent prendre toutes les valeurs pouvant être représentées avec 16 bits (alias: de 0 à 65535);

  1. " D'où vient ce numéro? "

Voir ci-dessus: les ports source et les ports de destination peuvent prendre des valeurs allant de 0 à 65535 ', car ils sont tous deux représentés avec une valeur de 16 bits dans des paquets respectifs.

  1. " Qu'est-ce que cela représente réellement? "

En bref, "port source" et "port de destination" jouent tous deux un rôle très important, car ils permettent à un seul "hôte" (un seul "client" ou un seul "serveur") "d'offrir" différents services aux clients du réseau, malgré avoir une seule adresse IP. En d’autres termes, sans "ports", il serait beaucoup plus difficile d’avoir un seul "serveur" offrant un serveur Web (sur le port TCP 80 pour HTTP simple; sur le port TCP 443 pour HTTPS), un serveur de messagerie (sur le port TCP 25 pour SMTP entrant; sur le port TCP 110 pour l’accès POP3; sur le port TCP 143 pour l’accès IMAP), un serveur de base de données (sur TCP / port 3306 pour MySQL)), etc.

Les lecteurs "puristes" peuvent être en désaccord avec moi au sujet de la simplification excessive susmentionnée et ... ils auront raison : en réalité, les adresses IP et les PORTS jouent un rôle très important qui, pour être parfaitement compris, nécessite une bonne compréhension du " encapsulation " concept (bien sûr, le concept le plus important parmi ceux présentés dans cette réponse). Malheureusement, cela nécessite généralement beaucoup de temps pour être correctement "maîtrisé" et ... c'est pourquoi, ma simplification à outrance :-)

Damiano Verzulli
la source
1
Votre déni de responsabilité n'est pas vraiment requis. Si vous ne déclarez que des faits, il est difficile de dire, en tant que lecteur, que vos déclarations sont "simplifiées". Les faits sont les faits. Il n'y a rien de mal à faire une simple déclaration. La meilleure chose que j'apprenne dans un cours d'écriture à l'université, destiné aux ingénieurs, est que, sauf si vous êtes un auteur pour la FDA qui rédige un rapport sur un nouveau médicament, vous devez simplement garder votre écriture. Si le chien peut être décrit comme un "chien noir et blanc", vous n’aurez pas à le mentionner, il possède également une "queue pourpre".
Ramhound,
La section " " offres "de différents services envers les clients du réseau " nécessite certains travaux, car elle implique que les ports permettent d'offrir des services, plutôt qu'un système permettant d'identifier l'objectif d'une demande.
Trisped
1

TCP, UDP et peut-être d'autres services IP utilisent des ports pour une communication discrète entre les processus client et serveur entre les hôtes utilisant un réseau IP.

Des informations plus détaillées peuvent être trouvées dans cet article du wiki.

Dans une perspective descendante, les ports représentent des conversations distinctes entre deux hôtes. Par exemple, plusieurs hôtes font plusieurs requêtes DNS simultanément à leur serveur désigné, chacune utilisant un port source différent sur le port de destination 53. Lorsque le serveur extrait les réponses et répond aux demandes, il renvoie des réponses spécifiques au même port. , où il sera reçu par le processus distinct qui attend une réponse.

Dans une perspective ascendante, les ports constituent un moyen de réserver une ligne de communication IP de processus distincts par le système d'exploitation d'un hôte. Bien que plusieurs processus puissent adresser des demandes au même port d’un hôte distant, chaque processus utilise un port source différent pour ses demandes. Cela garantit que les réponses seront reçues par le processus approprié.

Pour les protocoles portés, 32 bits sont réservés dans les en-têtes de paquet: 16 bits pour le port source et 16 bits pour le port de destination. Pour TCP et UDP, ce sont les 32 premiers bits qui suivent immédiatement l'en-tête IP. ils commencent au 192ème bit. Un nombre de 16 bits a des valeurs comprises entre 0 et 65535.

Nevin Williams
la source
-1

65 536 est un nombre très courant en informatique, car il est 2 à la puissance de 16 (2 ^ 16). 2 ^ 8 est 256, et 65 536 est le carré de 256.

En d'autres termes, un nombre binaire de 16 bits peut représenter 65 536 nombres entiers différents. C'est donc probablement de là que provient votre gamme de 65 535 personnes.

Mais attendez, vous pensez, je dois avoir un chiffre, car 65 535, c'est 65 536 moins 1! Eh bien, pas si vous commencez à compter à zéro! Par exemple, une image 8 bits code 256 valeurs, mais celles-ci commencent normalement à 0 et vont jusqu'à 255. C'est pourquoi vous voyez souvent des nombres tels que 255 ou 65 535 en informatique.

Je suppose que les ports TCP étaient initialement stockés sous forme de nombre 16 bits, d'où leur limite supérieure. Je ne sais pas si c'est toujours le cas. J'espère que ça aide!

JT_Edin
la source
Où sont passés mes commentaires? Qui les a supprimés et pourquoi?
JT_Edin
1
C'est encore le modérateur pathétique.
tjt263