Was sind Netzwerkports intern?

Was sind Netzwerkports intern?

Ich weiß, dass es für jeden der Dienste, die ich im Netzwerk hoste, mehrere Ports im Host/Computer geben wird.

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

Nachfolgend finden Sie mein Verständnis von Netzwerkports. Korrigieren Sie mich, wenn ich falsch liege. Fügen Sie Details hinzu, um es klarer zu machen.

Sie könnten ein Softwarekonstrukt sein, meist eine Warteschlange/ein Puffer innerhalb der Netzwerkkomponente des Betriebssystems, die dynamisch erstellt wird, wenn ein Netzwerkdienst (Webdienst, Dateiübertragungsdienst usw.) auf dem Computer gehostet wird. Und jeder der Netzwerkdienste würde auf seinen jeweiligen Port hören (um die Daten zu empfangen) und hätte auch Zugriff, um auf diesen Port zu schreiben (um die Daten zu senden). [Genau wie bei einem Problem mit begrenztem Puffer]

Wenn Daten gesendet werden müssen-
Der Netzwerkdienst (die Anwendung) würde einen Systemaufruf an das Betriebssystem tätigen (z. B. send()), um die Daten in den Puffer zu schreiben und das Transportprotokoll zu informieren. Damit würde das TCP/UDP-Protokoll die Daten aus dem Puffer nehmen, segmentieren und an den Netzwerkstapel weitergeben.

Wenn Daten empfangen werden müssen-
Wenn die Daten über die Netzwerkkarte beim Host ankommen, werden sie von einer Netzwerkkomponente auf niedriger Ebene im Betriebssystem gelesen und an den Netzwerkstapel weitergeleitet. Und wenn die Transportschichtkomponente des Betriebssystems sie liest, stellt sie die Daten in die Warteschlange, die dieser bestimmten Portnummer zugeordnet ist, damit die Anwendung (Netzwerkdienst), die diesen Port überwacht, die Daten lesen kann.

Antwort1

Fast, aber nicht ganz richtig.

  • Steckdosensind die Softwarekonstruktion mit Puffern (jeder Socket hat separate Sende- und Empfangswarteschlangen). Für TCP verwendet jede Verbindung einen separaten Socket.

  • Ports sind lediglich numerische Bezeichnungen, die zum Demultiplexen verwendet werden – sie helfen dem Betriebssystem bei der Auswahl, welcher Socket (oder welcher Empfangspuffer) ein eingehendes Paket empfangen soll.

Jeder Socket ist mit mehreren Parametern verknüpft – Protokoll, lokale und Remote-Adressen sowie lokale und Remote-Ports – und alle werden beim Suchen nach einem empfangenen Paket verwendet. (Wenn die Adressen identisch sind, muss mindestens einer der Ports unterschiedlich sein. Wenn die Adressen jedoch unterschiedlich sind, können mehrere Sockets identische Ports verwenden.)

verwandte Informationen