Frage

Warum funktioniert das Client-Ende einer Verbindung verwenden hohe Portnummer (ephemeren Ports), während die Anwendungen hört auf typischerweise kleine Portnummern?

Thx in Advans, Karthik Balaguru

War es hilfreich?

Lösung

Ports Nummern unter 1024 sind „registriert“ genannt, während die oben (Grenze von 65.535) „unregistrierte“ bezeichnet werden. All diese beiden Begriffe bedeuten, dass Ports unter 1024 mit ihnen verbundenen Standard-Dienstleistungen haben. IE: 53 für DNS, 80 für HTTP, 25 für SMTP, usw. Beachten Sie sie zugeordnet sind - es gibt nichts, Sie von der Einstellung Ihrer Anwendung zu stoppen zu verwenden Port 53, 25, usw., aber es wird nicht empfohlen, da andere Dienste zu verbinden versucht, und oder arbeiten auf diesen Ports, so dass es zu Problemen führen könnte.

Die unregistrierte Hafenregion wird von Client-Anwendungen dynamisch verwendet. IE:. Du diese Antwort zu lesen, während auf Port Anschluss 80 der StackOverflow.com Webserver (s), aber Ihr Browser einen nicht registrierten Port verwendet diese Anforderung zu initiieren

Andere Tipps

Server hören auf einer festen Portnummer, so dass Kunden wissen, wo zu verbinden. Kunden brauchen keine feste Portnummer zu verwenden, da niemand eine Verbindung zu ihnen initiiert, und in der Tat können sie keine feste Portnummer verwenden, wenn es mehr als einen Client auf derselben Maschine sein kann laufen (zB einen Web-Browser) eine Verbindung zu dem gleichen Server. IANA hat Ports im Bereich 0..49151 als feste Portnummern für bestimmte Dienste bezeichnet, und Ports im Bereich 49152..65535 als dynamische (ephemeren) Ports, die zu jedem Dienst zugeordnet sind, und kann verwendet werden, wenn eine feste Portnummer nicht erforderlich ist.

Der Portbereich 0..49151 wird weiter die unterteilt in gut bekannt 0..1023 reichen, die nur ein privilegierter Prozess (zumindest auf Unix / Linux) binden kann, und die < em> registriert reichen 1024..49151. Ports im Bereich 1024..49151 kann durch Server-Prozesse verwendet werden, die als unprivlieged Benutzer ausgeführt werden können, und es ist auch möglich, für Kunden Ports in diesem Bereich zu verwenden, wenn sie nicht von einem Server (zB dynamische Ports unter Linux verwendet werden, sind und Solaris auf 32768 standardmäßig starten, statt 49152).

Da Server-Ports sind in der Regel well known ports . Auf einer Unix-Box finden Sie die Zuordnung in /etc/services Datei. Die Client-Ports, auf der anderen Seite, sind in der Regel von TCP / IP-Stack von dem spezifischen hohen Bereich gerichtet. So Server wissen, welche Ports hören auf, wissen Kunden, was Port, und niemand Sorgen zu verbinden, was Port die Verbindung hergestellt ist von .

Lower Portnummern (<1024) sind privilegierte Prozesse vorbehalten. Darüber hinaus sind viele dieser Ports auf bestimmte Dienste zugewiesen Internet Assigned Number Authority . Kunden schaffen Verbindungen zu Servern auf diesem bekannten Ports hören, aber nach den Häfen in den höheren Bereichen dynamisch zugewiesenen Port-Nummern verwenden, die sie zur Verfügung stehen.

Lower Portnummern sind für gängige Anwendungen typischerweise reserviert. Kürzere = leichter zu merken.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top