Was sind Netzwerkports intern?

407
Darshan L

Ich weiß, dass es für jeden der Dienste, die ich im Netzwerk hoste, mehrere Ports in der Host- / Computermaschine gibt.

Aber ich möchte verstehen, was diese Ports intern sind.

Im Folgenden wird mein Verständnis von Netzwerkports beschrieben. Korrigiere mich, wenn ich falsch liege. Fügen Sie Details hinzu, um es klarer zu machen.

Sie können ein Software-Konstrukt sein, meistens eine Warteschlange / Puffer innerhalb der Netzwerkkomponente des Betriebssystems, die dynamisch erstellt wird, wenn ein Netzwerkdienst (Webdienst, Dateiübertragungsdienst usw.) auf dem Computer gehostet wird. Jeder Netzwerkdienst wartet auf seinen jeweiligen Port (um die Daten zu empfangen) und hat auch Zugriff darauf, diesen Port zu schreiben (um die Daten zu senden). [Genau wie ein beschränktes Pufferproblem]

Wenn Daten gesendet werden müssen -
Der Netzwerkdienst (Anwendung) führt einen Systemaufruf an das Betriebssystem (beispielsweise send ()) aus, um die Daten in den Puffer zu schreiben und das Transportprotokoll zu informieren. Damit das TCP / UDP-Protokoll die Daten aus dem Puffer übernimmt, segmentiert und über den Netzwerkstapel weiterleitet.

Wenn Daten empfangen werden müssen -
Wenn die Daten über die NIC beim Host ankommen, werden die Daten von einer untergeordneten Netzwerkkomponente des Betriebssystems gelesen und an den Netzwerkstapel weitergeleitet. Wenn die Transportschichtkomponente des Betriebssystems die Daten liest, werden die Daten in die Warteschlange gestellt, die diesem bestimmten Port-Nr. Zugeordnet ist. damit die Anwendung (Netzwerkdienst), die an diesem Port überwacht, die Daten lesen kann.

0
Fühlen Sie sich frei, hier zu schauen: https://en.wikipedia.org/wiki/Port_(computer_networking) pim vor 6 Jahren 0
Verwandte Themen: [Was ist ein Socket?] (Https://unix.stackexchange.com/q/16311/23408) (auf U & L) Scott vor 6 Jahren 0

1 Antwort auf die Frage

1
grawity

Fast, aber nicht ganz richtig.

  • Sockets sind das Software-Konstrukt mit Puffern (jeder Socket verfügt über separate Sende- und Empfangswarteschlangen). Für TCP verwendet jede Verbindung einen separaten Socket.

  • Ports sind nur numerische Bezeichnungen, die für das Demultiplexen verwendet werden. Dies hilft dem Betriebssystem bei der Auswahl, welcher Socket (oder welcher Empfangspuffer) ein eingehendes Paket erhalten soll.

Jedem Socket sind mehrere Parameter zugeordnet - Protokoll, lokale und entfernte Adressen sowie lokale und entfernte Ports. Alle werden beim Abfragen eines empfangenen Pakets verwendet. (Wenn die Adressen identisch sind, muss sich mindestens einer der Ports unterscheiden. Wenn die Adressen jedoch unterschiedlich sind, können mehrere Sockets identische Ports verwenden.)