Wie werden mehrere Verbindungen mit einem einzigen Port aufrechterhalten?

2308
Griffin

Nach dem Lesen über Paket- und Leitungsvermittlung habe ich erfahren, dass Server mehrere Verbindungen mit einem Port aufrechterhalten, indem sie eine eingerichtete Clientverbindung an einen untergeordneten Prozess weiterleiten. und dass alle Knoten, die an der Verbindungsroute beteiligt sind, eine Verbindungs-ID-Tabelle führen, damit Pakete korrekt an den nächsten Knoten weitergeleitet werden können.

Ich habe jedoch noch ein paar Fragen dazu:

  • Benötigen Pakete andere Header-Daten als eine Verbindungs-ID-Nummer, nachdem eine Verbindung mit einem anderen Programm hergestellt wurde?

  • Nachdem eine Verbindung hergestellt wurde, sagen Sie Port 80; Werden Daten noch immer über diesen Port geleitet oder hat die Verbindungs-ID einen neuen offenen Port für die weitere Kommunikation festgelegt?

  • In Übereinstimmung mit meiner Frage hier ; Gibt es eine tatsächliche physische Trennung zwischen verschiedenen Verbindungen? Oder ist es rein theoretisch / virtuell?

1

2 Antworten auf die Frage

4
RedGrittyBrick

Sie scheinen verwirrend mit TCP / IP zu sein.

In Port 80 wird das HTTP-Protokoll über TCP und IP vorgeschlagen. Bei TCP / IP müssen die Zwischenknoten (Router) keine "Verbindungs-IDs" verfolgen. Dynamisch gewartete Routingtabellen von IP-Adressbereichen werden zur Weiterleitung von Paketen verwendet. Es ist nicht notwendig, dass aufeinanderfolgende Pakete demselben Pfad folgen.

Der Server verfolgt TCP-Verbindungen unter Verwendung der Client-IP-Adresse und der TCP-Portnummer sowie der Portnummer des Servers (und der Server-IP-Adresse, Server können mehrere IP-Adressen haben). Eine Verbindung wird durch die Kombination dieser vier Informationen identifiziert. Die Client-Portnummer wird in der Regel vom Client zufällig ausgewählt.

Beachten Sie, dass UDP verbindungslos ist. Es gibt kein Konzept einer UDP-Verbindung. Viele Internet-Protokolle auf Anwendungsebene verwenden UDP als Transportschichtprotokoll.

Benötigen Pakete andere Header-Daten als eine Verbindungs-ID-Nummer, nachdem eine Verbindung mit einem anderen Programm hergestellt wurde?

TCP-Header und IP-Header in TCP / IP-Paketen enthalten keine "Verbindungs-IDs".

Nachdem eine Verbindung hergestellt wurde, sagen Sie Port 80; laufen die Daten noch über diesen Port,

Ja.

oder hat die Verbindungs-ID einen neuen offenen Port für die weitere Kommunikation festgelegt?

Wie ich bereits gesagt habe, gibt es keine Verbindungs-IDs in TCP / IP. Manchmal stellt ein Protokoll auf höherer Ebene die Kommunikation an anderen Ports her (z. B. die Steuer- und Datenports von FTP).

In Übereinstimmung mit meiner Frage hier; Gibt es eine tatsächliche physische Trennung zwischen verschiedenen Verbindungen?

Nicht gewöhnlich. Ein Server kann über mehrere NICs verfügen, die verschiedene Clientgruppen bedienen.

Oder ist es rein theoretisch / virtuell?

Portnummern und dergleichen sind nur Nummern in den Paketkopfzeilen.

Ok, mit welchen Protokollen werden Verbindungspfade aufgebaut? Der Artikel "Paketvermittlung" von Wikipedia besagt, dass "bei verbindungsorientierter Paketvermittlung eine Verbindung in jedem beteiligten Knoten definiert und vorab zugewiesen wird. Die Pakete enthalten eine Verbindungskennung statt Adressinformationen und werden in der Reihenfolge geliefert." Welche Protokolle oder Arten von Programmen würden diese Art von Verbindung herstellen? Griffin vor 12 Jahren 0
@Griffin: [ATM] (http://en.wikipedia.org/wiki/Asynchronous_Transfer_Mode) richtet "virtuelle Verbindungen" ein. [ISDN] (http://en.wikipedia.org/wiki/Asynchronous_Transfer_Mode) baut digitale Verbindungen auf, [Frame Relay] (http://en.wikipedia.org/wiki/Frame_Relay#Virtual_circuits) verwendet permanente oder geschaltete virtuelle Verbindungen. Keines davon ist für Endbenutzer von Internetdiensten relevant. IP kann über diese anderen Protokolle übertragen werden, ist ihnen jedoch weitgehend nicht bewusst. RedGrittyBrick vor 12 Jahren 1
0
Tom Wijsman

Nach dem Lesen über Paket- und Leitungsvermittlung habe ich erfahren, dass Server mehrere Verbindungen mit einem Port aufrechterhalten, indem sie eine eingerichtete Clientverbindung an einen untergeordneten Prozess weiterleiten. und dass alle Knoten, die an der Verbindungsroute beteiligt sind, eine Verbindungs-ID-Tabelle führen, damit Pakete korrekt an den nächsten Knoten weitergeleitet werden können.

Dieser Absatz ist wirklich verwirrend . Zunächst beziehen Sie sich auf das Einschalten der Netzwerkschicht. Dann verweisen Sie auf Verbindungen, die auf der Transportschicht hergestellt wurden. Dann kombinierst du sie irgendwie, obwohl sie wirklich unterschiedliche Schichten sind. Bedenken Sie, dass die Leitungsumschaltung nur eine Idee sein kann und in der Vergangenheit verwendet wurde oder nicht. Wenn Sie sich jedoch auf Ports beziehen, beziehen Sie sich auf TCP / IP, bei dem überhaupt keine Leitungsumschaltung verwendet wird.

Benötigen Pakete andere Header-Daten als eine Verbindungs-ID-Nummer, nachdem eine Verbindung mit einem anderen Programm hergestellt wurde? Nachdem eine Verbindung hergestellt wurde, sagen Sie Port 80; Werden Daten noch immer über diesen Port geleitet oder hat die Verbindungs-ID einen neuen offenen Port für die weitere Kommunikation festgelegt?

Sie beziehen sich auf eine Verbindung mit einem Programm, mit der TCP / IP-Ports verwendet werden. In diesem Fall wurde keine Verbindungs-ID an das Paket angehängt. Im Falle einer Leitungsumschaltung wäre dies notwendig.

Gibt es eine tatsächliche physische Trennung zwischen verschiedenen Verbindungen? Oder ist es rein theoretisch / virtuell?

Alles läuft über dasselbe Kabel und kann daher eher als virtuell betrachtet werden.

Eine bestehende Verbindung ist nur ein Mittel, um zu sagen "Ich werde über diesen Beitrag an dieser Adresse kommunizieren". Ja, eine Verbindung ist einfach eine IP-Adresse und ein Port-Paar ...


Verwenden Sie Wikipedia nicht nur, um einen Einblick in dieses Thema zu erhalten, sondern versuchen Sie, ein Buch über Computernetze zu vertiefen ...