Warum haben Computer 65.535 TCP-Ports?

Warum haben Computer 65.535 TCP-Ports?
  • Warum haben Computer 65.535 TCP-Ports?
  • Woher kommt diese Zahl?
  • Was stellt es dar?

Antwort1

  1. "Warum haben Computer 65535 TCP-Ports?"

Computer tunnichthaben Häfen. Das Konzept der "Häfen", auf das Sie sich beziehen, ist eng mit dem verbundenTCPUndUDPProtokolle derTCP/IP-Netzwerkstapel. Aus rein technischer Sicht sind sowohl TCP als auch UDP so strukturiert, dass sie mehrere Arten von Informationen transportieren (Quellport, Zielport, Sequenznummer, Daten usw.). Da sowohl „Quellport“ als auch „Zielport“ (innerhalb des TCP- und UDP-Pakets) mit einem 16-Bit-„Feld“ strukturiert sind, gelten folgende Einschränkungen: Quellports und Zielports können alle Werte annehmen, die mit 16 Bit dargestellt werden können (also von 0 bis 65535);

  1. "Woher kommt diese Zahl?"

Siehe oben: Quell-Ports und Ziel-Ports können Werte zwischen 0 und 65535 annehmen, da sie beide in den jeweiligen Paketen durch einen 16-Bit-Wert dargestellt werden.

  1. "Was stellt es eigentlich dar?"

Kurz gesagt, sowohl der Quell-Port als auch der Ziel-Port spielen eine sehr wichtige Rolle, da sie es einem einzelnen Host (einem einzelnen Client oder einem einzelnen Server) ermöglichen, verschiedeneDienstleistungengegenüber Netzwerkclients, obwohl sie nur eine IP-Adresse haben. Mit anderen Worten, ohne „Ports“ wäre es viel schwieriger, einen einzelnen „Server“ zu haben, der einen Webserver (auf TCP-Port 80 für einfaches HTTP; auf TCP-Port 443 für HTTPS), einen Mailserver (auf TCP-Port 25 für eingehendes SMTP; auf TCP-Port 110 für POP3-Zugriff; auf TCP-Port 143 für IMAP-Zugriff), einen DB-Server (auf TCP/Port 3306 für MySQL) usw. anbietet.

"Puristische" Leser mögen mit mir über die obige Vereinfachung nicht übereinstimmen und... sie werdenRechts: Tatsächlich spielen IP-Adressen und PORTS eine sehr wichtige Rolle, die, um vollständig verstanden zu werden, ein genaues Verständnis der "Verkapselung"-Konzept (mit Sicherheit das wichtigste Konzept unter den in dieser Antwort vorgestellten). Leider erfordert dies normalerweisevieleoft richtig „gemeistert“ werden muss und … deshalb meine obige Vereinfachung :-)

Antwort2

TCP, UDP und möglicherweise andere IP-Dienste verwenden Ports für die diskrete Kommunikation zwischen Client- und Serverprozessen zwischen Hosts, die ein IP-Netzwerk verwenden.

Nähere Informationen finden Siein diesem Wiki-Artikel.

Von oben nach unten betrachtet repräsentieren Ports unterschiedliche Konversationen zwischen zwei Hosts. Beispielsweise werden von einem Host mehrere DNS-Anfragen gleichzeitig an seinen zugewiesenen Server gestellt, wobei jede einen anderen Quellport als den Zielport 53 verwendet. Während der Server die Antworten abruft und die Anfragen bearbeitet, sendet er spezifische Antworten an denselben Port zurück, wo sie von dem jeweiligen Prozess empfangen werden, der eine Antwort erwartet.

Von unten nach oben betrachtet sind Ports eine Möglichkeit, eine IP-Kommunikationsleitung für separate Prozesse durch das Betriebssystem eines Hosts zu reservieren. Während mehrere Prozesse Anfragen an denselben Port eines Remote-Hosts stellen können, verwendet jeder Prozess für seine Anfragen einen anderen Quellport. Dadurch wird sichergestellt, dass die Antworten vom entsprechenden Prozess empfangen werden.

Für portierte Protokolle sind 32 Bits in den Paketheadern reserviert: 16 Bits für den Quellport und 16 Bits für den Zielport. Für TCP und UDP sind dies die ersten 32 Bits unmittelbar nach dem IP-Header; sie beginnen beim 192. Bit. Eine 16-Bit-Zahl hat Werte zwischen 0 und 65535.

Antwort3

65.536 ist eine sehr häufige Zahl in der Informatik, da sie 2 hoch 16 (2^16) ist. 2^8 ist 256 und 65.536 ist das Quadrat von 256.

Mit anderen Worten: Eine 16-Bit-Binärzahl kann 65.536 verschiedene Ganzzahlen darstellen. Daher kommt wahrscheinlich Ihr Bereich von 65.535.

Aber Moment, denken Sie, ich muss eine Ziffer danebenliegen, denn 65.535 ist 65.536 minus 1! Nun, nicht, wenn Sie bei Null anfangen zu zählen! Ein 8-Bit-Bild kodiert beispielsweise 256 Werte, aber normalerweise beginnen diese bei 0 und gehen bis 255. Deshalb sieht man in der Informatik oft Zahlen wie 255 oder 65.535.

Ich vermute, dass TCP-Ports ursprünglich als 16-Bit-Zahl gespeichert wurden, daher ihre Obergrenze. Ich bin mir nicht sicher, ob das immer noch der Fall ist. Ich hoffe, das hilft!

verwandte Informationen