Frage zu TCP IP

Message
Author
User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#16 Post by Janka »

Felix2000 wrote: Da www.we.de nicht existiert kann doch das DNS Protokoll den String "www.we.de" gar nicht in eine reine IP Adresse umwandeln oder verstehe ich das falsch? Deswegen auch meine Vermutung, das die IP Schicht nicht korrekt arbeiten kann.
Stimmt, das ist dann wieder ein anderer Fall. Falls der Name nicht per DNS aufgelöst werden kann, erhält der Browser darüber eine Fehlermeldung aus der DNS-Resolver-Bibliothek, die er ja für DNS benutzt.
Verstehe ich richtig, dass das www vor web.de eigentlich überflüssig ist und standardmäßig bei solchen fehlerhaften Eingaben immer Port 80, also http, angesprochen wird? Gebe ich wwww.web.de bekomme ich ebenfalls die korrekte Internetseite angezeigt.
Nein. Das www.vor web.de ist nur deshalb überflüssig, weil web.de ihren eigenen Nameserver so eingestellt haben, dass er web.de, ww.web.de, www.web.de und wwww.web.de auf eine gültige IP-Adresse auflöst. w.web.de funktioniert zum Beispiel nicht, man könnte aber auch ein catch-all einrichten, dann kann da alles mögliche stehen.

Und Webbrowser benutzen für HTTP immer Port 80, wenn man keinen anderen Port angibt und immer das Protokoll HTTP, wenn man kein anderes Protokoll angibt.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Felix2000
Posts: 35
Joined: 06. Oct 2008 14:31

#17 Post by Felix2000 »

Hi Janka !

Sag mal was ist iegntlich genau der Sinn von der Abkürzung "www". Wofür die Abkürzung steht ist klar. Verstehe nicht ganz, weswegen Sie mal weggelassen werden kann und mal nicht (unabhängig davon wie jetzt der DNS Name konfiguriert wurde).

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#18 Post by Janka »

Abgrenzung z.B. zum FTP-Server derselben Institution. Früher war aus Performancegründen oft noch ein Server pro Dienst notwendig, und Loadbalancer waren unüblich. Heutzutage laufen alle Dienste auf demselben Rechner, da reicht die Portnummer (vorgegeben durch das Protokoll) zur Unterscheidung.

Vor HTTP gab es außer FTP übrigens noch gopher, das eine ähnliche Funktionalität hatte: http://fsinfo.noone.org/~abe/Links/Gopher.html

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Felix2000
Posts: 35
Joined: 06. Oct 2008 14:31

#19 Post by Felix2000 »

Janka wrote: Heutzutage laufen alle Dienste auf demselben Rechner, da reicht die Portnummer (vorgegeben durch das Protokoll) zur Unterscheidung.
Also wenn ich ehrlich bin, habe ich das jetzt nicht verstanden. Gebe ich nun die Protnummer oder www ein.

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#20 Post by Janka »

"www" ist der Host-Anteil des Namens. Früher musste man den Host explizit benennen, weil es für www einen Host gab, für ftp einen usw.

Heutzutage laufen www, ftp etc. ohnehin meist alle auf einem einzigen Host. Deshalb ist die Angabe dann überflüssig. Ob man sie machen muss oder nicht hängt eigentlich nur noch von der DNS-Konfiguration der Domain ab.

Und du gibst mit "http:" implizit Portnummer 80 an, mit "ftp:" implizit Portnummer 21 usw. Wenn du in einem Browser gar nichts eingibst, nimmt er HTTP.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Felix2000
Posts: 35
Joined: 06. Oct 2008 14:31

#21 Post by Felix2000 »

Ah jetzt habs ich es verstanden. Ich danke Dir Janka !!

Felix2000
Posts: 35
Joined: 06. Oct 2008 14:31

#22 Post by Felix2000 »

Hey Janka, eine Frage habe ich nochmal:

wenn ich z.B. folgende URL habe studi.testpiloten.de, dann bildet doch studi die Hostadresse ab oder? Wenn ich jetzt aber noch zusätzlich www.studi.testpiloten.de eingebe, so würde ich doch eine fehlermeldung erhalten oder? Ob das klappt oder nicht ist doch widerum auch von der DNS Konfiguration abhängig oder?

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#23 Post by Janka »

In dem Fall wäre www der Host und Studi ein Unternetz von testpiloten.de. Früher war sowas ganz und gäbe, heutzutage ist es eher ungewöhnlich.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Felix2000
Posts: 35
Joined: 06. Oct 2008 14:31

#24 Post by Felix2000 »

Hallo janka !

Ich hab nochmal eine Frage zud em Thema TCP/IP. Wäre nett, wenn Du nochmal kurz darauf eingehen könntest. Also gehen wir mal davon aus, dass ich irgendwas im Netz herunterladen will, bspw. ein ms-word Dokument auf Server XYZ.

Um diese Datei komplett auf meinen PC übertragen zu können, muss diese Datei in insgesamt 10 TCP Pakete aufgeteilt werden und diese müssen auch komplett an meinen PC übertragen werden. Das Netz, über welches mein Rechner mit dem Server kommuniziert und über das auch dann die Datei geschickt werden soll, besteht aus 4 Routern (also 4 unterschiedliche Netze).

Jetzt gehen wir mal davon aus, dass TCP Paket Nr. 1,2,3,4,5,6,8,9 und 10 bereits auf meinen Rechner übertragen wurden, nur Paket Nr. 7 ist nicht angekommen. Ich gehe jetzt mal davon aus, dass dieses Paket irgendwo zwischen den Routern bzw. den unterschiedlichen Netzen verloren gegangen ist.

Meine Fragen an Dich:

Sendet mein Rechner nochmal einen extra Request an den Server, um dieses Paket anzufordern?

Ist es abhängig von der jeweiligen TCP Einstellung meines Systems, wie häufig dieses geschieht?

Ich vermute stark, dass die jeweiligen Router, die auf dem Weg liegen, keinen erneuten Request an den Server senden, bzw. überhaupt merken, dass irgendein TCP Pakt verloren gegangen ist, da Sie nur auf der IP Schicht arbeiten, d.h. gar keine TCP Sequenznummern zu Gesicht bekommen. Ist das so korrekt!?

Besten Dank
Felix

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#25 Post by Janka »

Richtig, die Router kriegen von TCP nichts mit. Das würde nur ein Proxyserver tun.

Der Empfänger fragt nicht nach Paketen, er muss stattdessen den Empfang der Daten in Paket 7 quittieren.

Quiitiert der Empänger nicht, geht der Sender nach einer bestimmten Zeit davon aus, dass diese Daten nicht beim Empfänger angekommen sind und sendet genau den fehlenden Teil nochmal.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Felix2000
Posts: 35
Joined: 06. Oct 2008 14:31

#26 Post by Felix2000 »

Janka wrote:Quiitiert der Empänger nicht, geht der Sender nach einer bestimmten Zeit davon aus, dass diese Daten nicht beim Empfänger angekommen sind und sendet genau den fehlenden Teil nochmal.
Wie würde dieses Szenario denn aussehen, wenn der Empfänger die Daten zwar erhalten hat, aber seine Bestätigung nicht an den Sender schicken kann weil evtl. das Bestätigungspaket aus welchen gründen auch immer nicht beim Sender angekommen ist (Routerausfall, Netzüberlastung etc.)

1. Würde der Server dann nochmal schicken die Daten schicken und das bereits erhaltene aber nicht quittierte TCP paket würde beim Empfänger überschrieben werden?

2. Oder würde der Empfänger nochmal versuchen sein Bestätigungspaket an den server zu schicken?

Besten Dank für die Hilfe !!

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#27 Post by Janka »

Sender, nicht Server! TCP ist bidirektional, beide Seiten sind nach dem Verbindungsaufbau absolut gleichberechtigt.

Ist die Verbindung eine zeitlang "tot", versucht der Sender immer wieder, die Daten irgendwie durchzubekommen. Der Empfänger wird Daten ignorieren, die er schon hat.

So langsam muss aber auch ich nachlesen. Ob Bestätigungspakete ebenfalls bestätigt werden müssen, habe ich nämlich nicht im Gedächtnis. Schnapp dir selbst mal ein gutes Buch über TCP und lies das da nach. Falls kein Buch zur Hand ist, tut es auch RFC793. http://tools.ietf.org/html/rfc793
Da steht alles genau drin.

Vermutlich wirst du dann sogar einige Ungenauigkeiten in meinen Postings korrigieren können.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Felix2000
Posts: 35
Joined: 06. Oct 2008 14:31

#28 Post by Felix2000 »

Hallo janka !

Ich habe noch eine Frage zu dem Thema TCP/IP. Ich hoffe, dass dann alle Unklarheiten ausgeräumt sind und sich keine neuen Fragen ergeben.

Meine Frage bezieht sich auf die TCP- und die Anwendungsschichten. Angenommen, ich möchte ein HTML Dokument auf Server xyz öffnen. Ich stelle wie bereits erörtert eine Verbindung mit dem Server her, der das gewünschte Dokument enthält. HTTP baut ja auf TCP auf.

Meine Frage:

Wann genau werden die einzelnen TCP Pakete, die mir der Server übertragen hat, an die Anwendungsschicht bzw. HTTP innerhalb meines Hosts weitergegeben? Werden die auf meinem Host erstmal gesammelt? Muss mein HTTP so lange warten, dass alle TCP Pakete bei mir angekommen sind, bevor sie irgendwelche Daten zu Gesicht bekommt? Leider konnte ich das nirgends nachlesen.

Spontan würde ich sagen, ja das ist so, aber bei weiterem nachdenken werde ich etwas unsicher.

MFG
Felix

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#29 Post by Janka »

Die Daten können an die Anwendungsschicht immer dann übergeben werden, wenn sie bis zu einer bestimmten Stelle vollständig sind.

Der Normalfall ist ja, dass kein Paket verlorengeht. In diesem Fall bekommt die Anwendungsschicht die Daten also sofort zugestellt, sobald Paket mit den lückenlos vorliegenden Daten angekommen ist.

Wenn eine Lücke erkannt wird, wartet TCP natürlich solange, bis die Lücke komplett gefüllt ist und speichert die Daten solange zwischen.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Felix2000
Posts: 35
Joined: 06. Oct 2008 14:31

#30 Post by Felix2000 »

Hallo Janka !

Ich habe nochmal eine Frage(n) zu dem Thema TCP/IP. Ihc habe hier bei mir eine alte Aufgabe gefunden und will nun mal prüfen, ob ich alles richtig verstanden habe.

Die Sachlage:

Jemand möchte sich im www über das Thema XYZ schlau machen und gibt nun in die Adresszeile seines Browers die URL "http://www.themenbearbeitung.de/veroeff ... iten/2008/" ein. Die angeforderte Webseite wird vom Webserver bereitgestellt, an den Browser übertragen und von diesem dargestellt.

Die dazugehörigen Aufgaben:

1. Welchen Abschnitt extrahiert der Browser aus der URL zur Bestimmung der IP Adresse des Rechners, auf dem der Webserver läuft?

Meine Antwort: www.themenbearbeitung.de

2. Wozu dient der Abschnitt "http" in der URL

Meine Antwort: Zur Identifikation des zu verwendenden Protokolls. Damit TCP weiß, an welche Anwendungsschicht der Request beim Server weitergegeben werden muss.

3. Wozu dienen die aus 1 und 2 gewonnenen Informationen?

Meine Antwort: Mit IP und Portnummer kann nun ein Socket erzeugt werden, die Daten werden in einem TCP Paket verpackt und auf die Reise geschickt.

4.Woher weiß der Webserver, dass eine Seite zu laden und an den Browser zu senden ist? Wie identifiziert er die Seite?

Meine Antwort: Er erkennt dieses an der vom Client übergebenen Portnummer und den Rest der URL. Er identifiziert die Seite an seiner Endung, also bspw. html oder pdf

5. Weiß der Browser, ob es sich bei der angeforderten Seite um eine statische oder dynamische Seite handelt?

Meine Antwort: Nein das weiß er nicht !


Wäre nett, wenn du kurz darauf eingehen könntest, es wäre für mich zur Selbstkontrolle hilfreich.

Grüße
Felix

Post Reply