Woher weiß der WLAN-Router, an welchen PC eine Anfrage weitergeleitet werden soll, wenn auf einem PC ein Serverprogramm wie Apache / IIS ausgeführt wird?

329
Shivam Aggarwal

Ich habe über Socket-Programmierung gelernt. Was ich verstanden habe ist, dass es eine Kombination aus einer IP-Adresse und einer Portnummer ist. Angenommen, ich habe einen Listener auf meinem PC, der mit Wifi verbunden ist. Die Anforderungen an diesen Listener über das Internet sollten zu einer öffentlichen Kombination aus IP-Adresse und Portnummer kommen. Möglicherweise sind mehrere PCs mit dem WLAN verbunden, mit dem ich verbunden bin. Wenn eine Anfrage an den WLAN-Router kommt, woher soll er wissen, an welchen PC er im WLAN-LAN weitergeleitet werden soll?

Wenn ich auf Facebook chatte oder Fb in einem Browser geöffnet habe und die Internetverbindung über eine WLAN-Verbindung besteht, wie "pusht" der Server die Chat-Nachrichten und Benachrichtigungen an mich? Wird es nicht vor einem ähnlichen Problem stehen?

0

1 Antwort auf die Frage

1
Daniel B

Wenn eine Anfrage an den WLAN-Router kommt, woher soll er wissen, an welchen PC er im WLAN-LAN weitergeleitet werden soll?

Es weiß es nicht. Der Verkehr wird verworfen oder abgelehnt.

Aus diesem Grund benötigen Sie Portweiterleitung, wenn Sie Server mit externem Zugriff hinter einem NAT-Router hosten möchten . Natürlich kann das drahtlose Netzwerk auch ohne NAT „direkt mit dem Internet verbunden sein“. Einige Universitäten haben dies getan. Und mit IPv6 kommen wir dankend zurück.

Wenn ich auf Facebook chatte oder Fb in einem Browser geöffnet habe und die Internetverbindung über eine WLAN-Verbindung besteht, wie "pusht" der Server die Chat-Nachrichten und Benachrichtigungen an mich?

Es drückt nicht "aktiv". Es sendet Daten als Antwort auf eine Anfrage, die Ihr Browser sendet. Dies verwendet eine eingerichtete TCP-Verbindung.

Vielen Dank für die Antwort @Daniel B. Für den zweiten Teil der Frage lautet Ihre Antwort, dass die TCP-Verbindung verwendet wird. Ist es so, dass der Browser ständig Anfragen an den Server sendet? Ich frage das, weil die Benachrichtigungen und Chat-Nachrichten fast sofort zugestellt werden. Dafür würde es einen Abfragemechanismus geben. Wenn ich über Web-Sockets lese, heißt es, dass Web-Sockets eine bestehende Verbindung verwenden, mit der der Server Daten an den Client senden kann. Ich dachte, es würde in der Lage sein, bei Bedarf "aktiv" Daten zu senden. Das wurde als eine bessere Alternative zum Polling gesagt. Shivam Aggarwal vor 6 Jahren 0
Es gibt mehrere Möglichkeiten wie WebSockets, Server Sent Events und Long Polling. Bei allen handelt es sich um eine TCP-Verbindung, die vom Browser initiiert wird. Das ist der wichtige Teil. Da TCP-Verbindungen bidirektional sind, können beide Seiten unaufgeforderte Daten senden. Daniel B vor 6 Jahren 0