Packet von Internet -> Router -> PC im Netzwerk, frage zur Funktionsweise
-
wenn der Router ein Packet rausschickt, merkt er sich, von wem es kam.
Kommt dann ein Paket von ausserhalb, dass dem angeforderten entspricht schickt er es weiter. Kommt ein Paket, das nicht angefordert wurde, verwirft er esSo hab ich es zumindest in Erinnerung...
-
zwutz schrieb:
Kommt ein Paket, das nicht angefordert wurde, verwirft er es
Dann könnte man aber keinen Server am Router betreiben. Der Router muss schon die angeschlossenen Geräte befragen, ob sie am Port x etwas erwarten und sich dann diese Verbindung merken.
Gruß
-
Borschtsch schrieb:
zwutz schrieb:
Kommt ein Paket, das nicht angefordert wurde, verwirft er es
Dann könnte man aber keinen Server am Router betreiben. Der Router muss schon die angeschlossenen Geräte befragen, ob sie am Port x etwas erwarten und sich dann diese Verbindung merken.
ist nicht richtig. ein router erkennt anhand des zielports, an das ein paket gerichtet ist, zu welchem gerät im internen netz weitergeleitet werden muss. dazu muss aber erst eine anfrage von innen nach außen gerichtet werden, damit der router einen eintrag in der port-tabelle hinterlegen kann.
man kann aber bei den meisten routern statisches forwarding einrichten, um einzelne ports bedingungslos auf geräte im internen netz weiterzuleiten, eine art transparenter proxy. so kann man dienste fürs externe netz bereitstellen, obwohl der server nicht direkt erreichtbar ist und nur eine lokale ip-adresse hat.
-
@portos: Also wird als erstes ein internes Gerät, z.B. ein Webserver mit dem Port 80, ein Paket an den eigenen Router senden müssen, um sich den externen Port 80 zu reservieren? Auf welcher Protokoll-Ebene geschieht das alles?
Gruß
-
Borschtsch schrieb:
@portos: Also wird als erstes ein internes Gerät, z.B. ein Webserver mit dem Port 80, ein Paket an den eigenen Router senden müssen, um sich den externen Port 80 zu reservieren?
nein, ein gerät kann sich keinen port "reservieren". der router wählt selbst einen port aus und trägt ihn als quellport in das ip-paket ein, das gesendet werden soll. antworten auf das paket wiederum werden diesen port als zielport eintragen. der router hat sich gemerkt, welchen port er welchem gerät zugeordnet hat und kann so ankommende pakete korrekt weiterleiten. deshalb funktioniert es nur, wenn die verbindung von innen angestoßen wurde.
das ganze läuft auf jeden fall im bereich der unprivilegierten ports (1024+) ab, port 80 kann dafür also niemals benutzt werden. dafür braucht man eine statische route, also einen einem internen gerät fest zugewiesenen port, wobei jeglicher traffic auf diesem port vom router an das zielgerät durchgereicht wird.
Auf welcher Protokoll-Ebene geschieht das alles?
in der vermittlungsschicht.
-
Ein Webserver macht von Innen nichts. Wohin sollte er auch etwas machen.
Um eine Webserver über eine Router zu betreiben muss man NAT einschalten. Man konfiguriert den Router so dass er alle Anfragen an Port 80 (oder sonst einen) intern an den Webserver weiterleitet.
Ruft dann ein Browser die IP-Adresse des Routers auf www.router.de:1234 (falls es nicht 80 ist) dann leiter der die Anfrage über den Router (NAT) an den Webserver weiter.
Baust du jedoch von Intern eine Verbindung zu einem Server im Web auf merkt sich der Router von wo es kam und leitet die Antwort vom Server wieder an dich zurück.
Ist alles nun etwas einfach erklärt.
-
Danke, jetzt fällt es mir wieder ein. Habe meine Routereinstellungen angeguckt, wo ich früher die Ports an die passenden Geräte verwiesen habe. Ist also relativ einfach aufgebaut.
Gruß
-
Hallo!
Danke für die vielen Antworten!!
Das der Router die Zuweisung (von Außen nach Innen) über die Ports realisiert hätte ich mir nicht gedacht, und Port-Tabelle hab ich auch nicht gekannt.Das ich die ports Forwoarden muss für einen Server im Netzwerk war mir klar, es kann dann aber auch nur für jeden Port höchstens einen Server im Netzwerk geben richtig?
lg
-
Guest2147 schrieb:
Das ich die ports Forwoarden muss für einen Server im Netzwerk war mir klar, es kann dann aber auch nur für jeden Port höchstens einen Server im Netzwerk geben richtig?
was das forwarding mit einem einzelnen router betrifft, stimmt das. port 80 gibts halt nur einmal pro ip-adresse.
generell kann es aber mehr als einen server geben, die in einem netz den gleichen port belegen, weil sie ja unterschiedliche adressen haben.
-
Du kannst auch 33000 Server intern haben.
Der Webserver intern kann auch auf Port 81 oder sonstwas laufen.
Extern kannst du auch jeden Port ansprechen.
Habe doch geschrieben
www.server.de:81
www.server.de:82
www.server.de:83
etc.