Wie entscheidet ein Router, an welches Gerät Daten weitergeleitet werden sollen, wenn für beide Geräte Programme auf demselben Port abgehört werden?

434
Rudy

Angenommen, ich habe zwei Geräte an einem Router, die beide über Software verfügen, die Port 999 überwacht. Ein Client außerhalb meines lokalen Netzwerks versucht, über Port 999 eine Verbindung zu meiner öffentlichen IP-Adresse herzustellen.

Woher weiß der Router, an welches Gerät die Verbindungsanfrage weitergeleitet werden soll? Beide Geräte überwachen Port 999, aber der Datenverkehr kann letztlich nur bei einem der Geräte enden, oder?

Ich weiß, dass Portweiterleitung der richtige Weg ist, um sicherzustellen, dass die Daten zum richtigen Gerät gelangen. Was aber, wenn keine Portweiterleitungskonfiguration eingerichtet ist? Wird das Paket vom Router abgelehnt, da es nicht weiß, welches Gerät das "richtige" Gerät ist?

0

2 Antworten auf die Frage

0
David Schwartz

Das hängt davon ab, wie der Router konfiguriert ist. Bei der am häufigsten verwendeten Konfiguration wird das Paket entweder ignoriert oder die Verbindung wird zurückgesetzt. Normalerweise akzeptieren SoHo-Router, die NAT ausführen, nur eingehende Verbindungen, wenn die Portweiterleitung speziell konfiguriert ist oder die Verbindung zum Router selbst besteht.

Eine Falte wäre, wenn der Router ein Standardziel oder eine DMZ konfiguriert hat. In diesem Fall wird die Verbindung an das Standardziel weitergeleitet.

Eine weitere Faltenbildung wäre, wenn der Router UPnP unterstützt. In diesem Fall wird die Verbindung an den Host weitergeleitet, an den der Port zuerst weitergeleitet wurde, sofern vorhanden.

Schließlich verfügen einige Router über ein zulässiges NAT. In diesem Fall würde der Router die besten Vermutungen anstellen. Wenn zum Beispiel in letzter Zeit nur ein Gerät aktiv war, erhält dieses Gerät möglicherweise die Verbindung. Wenn ein Gerät zuvor mit der IP-Adresse kommuniziert hatte, von der diese Verbindung stammt, erhält dieses Gerät möglicherweise die Verbindung.

Es hängt völlig davon ab, wie der Router konfiguriert ist und welche Funktionen der Router unterstützt.

Vielen Dank. Ich habe die Ausdrücke "erbeten" und "unerwünschte" Daten in Bezug auf das Routing von Paketen schon einmal gehört. Bei "erbetenen" Paketen handelt es sich um Pakete, die in gewisser Weise angefordert wurden, und der Router weiß daher, an wen er sie zurückgeben soll. Würde das auch in dieser Gleichung eine Rolle spielen? Rudy vor 7 Jahren 0
Die Frage scheint sich streng auf unerwünschte Pakete zu beziehen, d. H. Auf Pakete, die keine direkte Antwort auf ein zuvor NATted-Outbound-Paket zu sein scheinen. Angeforderte Antwortpakete werden an den Absender des Pakets zurückgesandt, bei dem sie angefordert wurden, sofern dies nicht durch Firewall-Einstellungen verboten ist. David Schwartz vor 7 Jahren 1
Erwischt. Ich dachte, das sei der Fall. Gibt es einen Industriebegriff für "angeforderte" und "unerwünschte" Pakete? Ich habe sie nur in ein paar Videos genannt, in denen ich mehr über den Umgang mit Paketen erfahren wollte, aber ich finde nicht viel Dokumentation, die sie als "erbetene" und "nicht angeforderte" Daten bezeichnet. Rudy vor 7 Jahren 0
Diese Begriffe sind zumindest meiner Erfahrung nach nicht so üblich. Ich habe häufiger gehört, dass der Begriff "Antwort" verwendet wurde. Aber ich glaube nicht, dass es ein allgemeines Wort für ein Paket gibt, das keine Antwort ist. David Schwartz vor 7 Jahren 1
-1
mtak

Bei eingehenden Verbindungen (Hinweis, ich verwende die Wortverbindungen, nicht Pakete), ohne Portweiterleitung / UPnP eingerichtet, wird das Paket verworfen oder verworfen.

Bei ausgehenden Verbindungen (über SNAT) behält der Router den Status "state". Es werden alle ausgehenden Verbindungen betrachtet (zur Vereinfachung ein TCP-Paket, das mit einem SYN-Flag von innen nach außen geht), die Quelladresse / den Port in die WAN-Verbindung schreiben und das Paket weiterleiten. Es weiß, worauf es die Quelladresse / den ursprünglichen Port geschrieben hat, und wenn ein Paket zurückkommt, wird der Vorgang auf die ursprüngliche Adresse / den ursprünglichen Port zurückgesetzt.

Für meinen NAT-Router würde ich die folgende Tabelle erhalten:

TCP state codes: SS - SYN SENT, SR - SYN RECEIVED, ES - ESTABLISHED, FW - FIN WAIT, CW - CLOSE WAIT, LA - LAST ACK, TW - TIME WAIT, CL - CLOSE, LI - LISTEN  CONN ID Source Destination Protocol TIMEOUT  201805472 10.100.0.95:62110 83.69.0.50:42018 udp [17] 7  213891648 10.100.0.95:43327 176.68.233.117:53228 tcp [6] ES 4631  213891928 10.100.0.95:38139 213.101.14.165:54764 tcp [6] ES 6995  213223160 10.100.0.95:35725 176.68.233.117:53228 tcp [6] ES 386  215913952 10.100.0.1:38340 10.100.0.11:53 udp [17] 8  205319000 10.100.0.95:62110 95.22.94.199:22634 udp [17] 41  214931472 10.100.0.95:60500 213.101.14.165:5524 tcp [6] ES 6478  205547536 10.100.1.26:37992 141.138.198.177:993 tcp [6] ES 7118  387202720 10.100.1.26:58156 141.138.198.177:993 tcp [6] ES 7122  [output omitted] 

Wenn ein Paket mit Zielport 53228 von 176.68.233.117 zurückkommt, schreibt es die Zieladresse / den Zielport in 10 10.100.0.95:43327.

Dadurch wird der gefährliche Mythos verbreitet, dass es keine zulässige NAT gibt. David Schwartz vor 7 Jahren 0
Es werden auch ungefähr 150 andere Annahmen gemacht, aber wir sind nicht hier, um vollständige RFC-kompatible technische Handbücher zu schreiben ... mtak vor 7 Jahren 0
Außer beim OP * wurde speziell * nach etwas gefragt, das von permissivem NAT in überraschender und gefährlicher Weise beeinflusst wird. David Schwartz vor 7 Jahren 0