andres: Anfängerfrage, Verständnisfrage, NAT und Datenpakete

Liebe Alle,

ich lebe in einer "strukturschwachen" Gegend und bin deshalb in meinem Heimnetzwerk über Satellit, konkret über den Anbieter Tooway, mit dem Internet verbunden. Das heißt ich befinde mich hinter einem NAT.

Meine Frage ist nun zunächst allgemein, wie Pakete den Weg zu meinem Rechner finden?
Von Innen (meinem Rechner) nach außen (Internet) ist das für mich noch nachvollziehbar, jedoch nicht für Verbindungen von außen zu meinem Rechner. Woher weiß eine Webserver, an wem er die Daten schicken muss? Vor allem für IM-Services wie Skype sehe ich da ein Problem, wie finden mich diese Dienste?

Ich habe zwar nicht vor einen Heim-Web-Server einzurichten, aber um meine Frage zu konkretisieren möchte ich auch in Erfahrung bringen, ob und wie sowas überhaupt möglich ist. Ich habe von STUN und TURN - Servern gelesen. Lohnt es sich das zu vertiefen, oder bin ich da auf dem Holzweg?

lg
andres

  1. Woher weiß eine Webserver, an wem er die Daten schicken muss?

    Er schickt sie dahin wo die Anfrage nach den Daten her kommt. Selbe IP, selber Port.

    Vor allem für IM-Services wie Skype sehe ich da ein Problem, wie finden mich diese Dienste?

    Du meldest dich bei ihnen an. Erst dann wissen sie wo du bist.

    1. Woher weiß eine Webserver, an wem er die Daten schicken muss?
      Er schickt sie dahin wo die Anfrage nach den Daten her kommt. Selbe IP, selber Port.

      Nö. Wie Dedlfix richtig ausführt macht der Client für die Antwort einen Port auf un und schreibt in die Paket, wo die Antwort hin soll.
      Ohne NAT wäre diese in $_SERVER['REMOTE_PORT'] nachzulesen. Mit NAT steht da die vom Router eingetragene.

      Der "Router" macht also die Pakete auf und ersetzt die IP und den Port durch eigene Angaben und schreibt sich in eine Tabelle, dass alles was an dem von ihm gewählten Port ankommt, zu seinem Client und an den von diesem geöffneten Port ankommen soll. Dazu schreibt er dann die einkommenden Pakete also auch um.

      Jörg Reinholz

  2. Hi,

    ich lebe in einer "strukturschwachen" Gegend und bin deshalb in meinem Heimnetzwerk über Satellit, konkret über den Anbieter Tooway, mit dem Internet verbunden. Das heißt ich befinde mich hinter einem NAT.

    das gilt aber auch für alle Kabel- oder DSL-Internetnutzer, die an ihrem Anschluss einen sogenannten Router benutzen.

    Meine Frage ist nun zunächst allgemein, wie Pakete den Weg zu meinem Rechner finden?
    Von Innen (meinem Rechner) nach außen (Internet) ist das für mich noch nachvollziehbar, jedoch nicht für Verbindungen von außen zu meinem Rechner. Woher weiß eine Webserver, an wem er die Daten schicken muss?

    Wie Encoder schon sagte: Er schickt die Pakete an die IP-Adresse, von der die Anfrage kam.

    Etwas genauer: Wenn der Router ein Datenpaket nach "draußen" routet, ändert er die Absenderadresse des Pakets und trägt stattdessen seine eigene öffentliche IP ein. Gleichzeitig vermerkt er in einer Tabelle, welcher der internen (lokalen) Rechner zu welchem externen Host eine Verbindung aufbauen möchte.
    Kommt das Datenpaket vom Server zurück, schaut der Router in seiner Tabelle nach, ob einer der internen Rechner in letzter Zeit eine Anfrage an diesen Server geschickt hat. Falls ja, reicht er das Paket an eben diesen internen Host weiter; falls nein, verwirft er es.

    Es sei denn, der Besitzer des Routers hat Weiterleitungsregeln eingerichtet, weil er selbst einen internen Server betreiben möchte. Dann muss dieser Server ja die an ihn gerichteten Anfragen bekommen, ohne dass er selbst vorher aktiv geworden ist.

    Vor allem für IM-Services wie Skype sehe ich da ein Problem, wie finden mich diese Dienste?

    Bei denen ist es nochmal anders: Da läuft ein entsprechender Client auf allen teilnehmenden Rechnern, der regelmäßig mit dem Server des Anbieters kommuniziert. Für Router und Firewalls auf dem Übertragungsweg sieht es so aus, als ob diese Clients "ganz normal" mit dem Server des Dienstanbieters kommunizieren (deshalb funktionieren diese Dienste auch über die meisten Router und Firewalls hinweg), während der Server die Daten einfach durchreicht.
    Teamviewer fällt übrigens auch in diese Gattung.

    Ich habe zwar nicht vor einen Heim-Web-Server einzurichten, aber um meine Frage zu konkretisieren möchte ich auch in Erfahrung bringen, ob und wie sowas überhaupt möglich ist.

    Dafür kenne ich deine Netzwerk-Infrastruktur zu wenig. Ich vermute, dass es in deinem Fall nicht geht, weil du an die Konfiguration des nächstgelegenen Routers nicht drankommst.

    Ich habe von STUN und TURN - Servern gelesen.

    Das sagt mir wiederum nichts.

    Lohnt es sich das zu vertiefen, oder bin ich da auf dem Holzweg?

    Ja. ;-)

    Ciao,
     Martin

    --
    Zwei Kumpels sitzen vor dem Computer. "Welche Suchmaschine benutzt du eigentlich meistens?" - "Prima Vera." - "Hmm, kenn' ich gar nicht." Dann geht die Tür auf: "Schatz ich habe deine Sonnenbrille wiedergefunden!" - "Prima, Vera!"
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Ich habe von STUN und TURN - Servern gelesen.

      Das sagt mir wiederum nichts.

      STUN

      https://tools.ietf.org/html/draft-ietf-behave-nat-behavior-discovery-08

      TURN

    2. Moin!

      Hi,

      ich lebe in einer "strukturschwachen" Gegend und bin deshalb in meinem Heimnetzwerk über Satellit, konkret über den Anbieter Tooway, mit dem Internet verbunden. Das heißt ich befinde mich hinter einem NAT.

      das gilt aber auch für alle Kabel- oder DSL-Internetnutzer, die an ihrem Anschluss einen sogenannten Router benutzen.

      Gilt nur für IPv4 - IPv6 ist aber im Anrollen. Damit hat der Router dann kein NAT mehr, sondern ist "lediglich" eine klassische Firewall.

      - Sven Rautenberg

    3. Tach!

      Etwas genauer: Wenn der Router ein Datenpaket nach "draußen" routet, ändert er die Absenderadresse des Pakets und trägt stattdessen seine eigene öffentliche IP ein. Gleichzeitig vermerkt er in einer Tabelle, welcher der internen (lokalen) Rechner zu welchem externen Host eine Verbindung aufbauen möchte.
      Kommt das Datenpaket vom Server zurück, schaut der Router in seiner Tabelle nach, ob einer der internen Rechner in letzter Zeit eine Anfrage an diesen Server geschickt hat. Falls ja, reicht er das Paket an eben diesen internen Host weiter; falls nein, verwirft er es.

      Und wenn zwei interne Rechner mit demselben Server kommunizieren? Es ist nicht die Adresse vom Server sondern es sind die TCP-Portnummern, über die die Verbindung identifiziert wird. Der Zielport auf dem Server steht fest, beispielsweise 80. Der Client nimmt eine auf seinem Netzwerkinterface unbenutzte Portnummer, der Router übersetzt sie in eine auf seinem externen Interface ungenutzte und hat damit die Zuordnung. Wenn die Antwort an die externe Portnummer kommt, dann hat er in einer Zuordnungstabelle den jeweiligen internen Client und dessen Portnummer. - Und dann gibts da noch Protokolle mit Eigenheiten, für die gibt es eine Spezialbehandlung.

      dedlfix.

      1. Und wenn zwei interne Rechner mit demselben Server kommunizieren? Es ist nicht die Adresse vom Server sondern es sind die TCP-Portnummern, über die die Verbindung identifiziert wird.

        Das hieße dann, dass sich maximal 65535 clients hinter einem NAT befinden können, da die Ports einen Zahlenbereich von 1 - 65535 abdecken, richtig?

        Ich habe jetzt mal Wireshark installiert und versucht das Ganze nachzuvollziehen ... doch da geht so viel rein und raus, da blick ich nicht mehr durch.

        Deshalb möchte ich gerne fragen, ob ihr mir Bücher nennen könnt die sich mit den Grundlagen beschäftigen. Ich möchte später in der Lage sein Pakete, die mein Rechner sendet und empfängt, verfolgen zu können. Und ich möchte gerne den output von Wireshark verstehen.

        lg
        andres

        1. Tach!

          Und wenn zwei interne Rechner mit demselben Server kommunizieren? Es ist nicht die Adresse vom Server sondern es sind die TCP-Portnummern, über die die Verbindung identifiziert wird.
          Das hieße dann, dass sich maximal 65535 clients hinter einem NAT befinden können, da die Ports einen Zahlenbereich von 1 - 65535 abdecken, richtig?

          Die Anzahl der Clients ist damit nicht limitiert. Jede Verbindung nutzt einen eigenen Quellport. Wenn ein Client eine Webseite abruft und da sind drei Bilder drin, sind das schon 4 Verbindungen.

          Ich habe jetzt mal Wireshark installiert und versucht das Ganze nachzuvollziehen ... doch da geht so viel rein und raus, da blick ich nicht mehr durch.

          Das muss man entsprechend filtern. Grundlagenwissen zu TCP/IP-basierten Netzwerken sind auch von Vorteil. Und außerdem siehst du damit nicht den Verkehr vom Router nach draußen sondern nur das was dein Rechner zu Gesicht bekommt.

          Deshalb möchte ich gerne fragen, ob ihr mir Bücher nennen könnt die sich mit den Grundlagen beschäftigen.

          Da hab ich keinen Überblick. Aber es sollten sich doch im Netz Vorlesungen, andere Textbeiträge und Videos dazu finden lassen.

          dedlfix.

          1. Die Anzahl der Clients ist damit nicht limitiert. Jede Verbindung nutzt einen eigenen Quellport. Wenn ein Client eine Webseite abruft und da sind drei Bilder drin, sind das schon 4 Verbindungen.

            Ah, ok. Wenn ich das richtig verstanden habe, dann wird nach jeder Verbindung dieser Quellport wieder für andere Nutzer frei. Also müssten theoretisch > 65535 Verbindungen gleichzeitig hergestellt werden, um das System zu überlasten.

            Da hab ich keinen Überblick. Aber es sollten sich doch im Netz Vorlesungen, andere Textbeiträge und Videos dazu finden lassen.

            Ja, im Internet findet man so ziehmlich jede Information. Nur sind die Tutorials meist didaktisch nicht gerade wertvoll: alle setzen unterschiedliche Kenntnisse voraus, behandeln Teilaspekte, lassen dafür andere Infos weg. Die Folge ist ein Flickenteppich im Kopf, der sich erst nach langem Kampf in einen Perserteppich verwandelt. So hab ich mir PureData, PHP, Html, Javascript und ein bisschen Actionscript beigebracht ... die Folge ist, dass man andauernd mit Lücken konfrontiert wird, die nur darauf zurückzuführen sind, dass man das Ganze nie ordentlich gelernt hat. Deshalb meine Frage, ob's da nicht was ordentliches gibt. Ich denke dabei an Unterrichtsmaterialien, die auch an Universitäten verwendet werden, Bücher usw., oder wie Ihr selbst in die Materie eingestiegen seid?

            lg

  3. Hi andres,

    ich lebe in einer "strukturschwachen" Gegend und bin deshalb in meinem Heimnetzwerk über Satellit, konkret über den Anbieter Tooway, mit dem Internet verbunden. Das heißt ich befinde mich hinter einem NAT.

    ich kenn das über Sat nur aus Ende der 90er. Damals, zu ISDN Zeiten wurde die Werbetrommel für ein superschnelles Download geklopft. Der Upload war allerdings über die 2 Drähte der Telekom.

    Ist es bei dir auch so? -> Upload per Telefonkabel und Download per Schüssel.
    Wie das mit diesen Hybridroutern funktioniert hat, weiß ich allerdings auch nicht.

    Viele Grüße aus LA

    --
    ralphi
    1. Ist es bei dir auch so? -> Upload per Telefonkabel und Download per Schüssel.
      Wie das mit diesen Hybridroutern funktioniert hat, weiß ich allerdings auch nicht.

      Nein. Sowohl Upload als auch download laufen über Satellit. Dadurch ist es schneller als die Hybriden. Ich erreiche 2MB download und max. 800KB upload. Allerdings bei einer Latenz von 400- >700ms.