Oggel Geschrieben 15. November 2011 Teilen Geschrieben 15. November 2011 Hi Leute, ich habe mal eine (wahrscheinlich) blöde Frage aber ich stehe irgendwie auf dem Schlauch. Und zwar muss ich eine Facharbeit über das Thema TCP/IP schreiben und bin gerade bei der Fragmentierung angelangt. Ein IP-Paket muss ja immer dann fragmentiert werden, falls es die Größe der MTU überschreitet. Ich verstehe aber nicht warum das dann immer ein Vielfaches von 8 Byte sein muss. Und wie hängt das mit dem Fragment Offset Feld zusammen? Hier mal ein Beispiel dazu: The TCP/IP Guide - IP Message Fragmentation Process Vielleicht kann mir auch jemand anhand des Beispiels das erklären. Danke schonmal im Voraus :-) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crash2001 Geschrieben 16. November 2011 Teilen Geschrieben 16. November 2011 Die Lösung steht doch da auf Seite 3 recht unten schon. [...]Fragments are specified in units of 8 bytes, which is why fragment length must be a multiple of 8.[...] [...]Jedes Datagramm, das fragmentiert wurde, erhält und enthält statt des Datagramm-Headers des Originalpaketes einen sog. Fragmentheader, der unter anderem den sogenannten Offset der in diesem Paket versendeten Datenportion in Relation zum Originalpaket angibt. Der Fragment-Offset (13 bit im IP-Header) wird dabei in 8-Byte-Blöcken angegeben, also wenn das erste Datagramm 1000 Byte Nutzdaten enthält, dann ist der Fragment-Offset des zweiten Paketes 125 (= 1000 Byte / 8 Byte). Somit kann nur das letzte Fragment eine Nutzdaten-Menge haben, die nicht ein Vielfaches von 8 Byte ist. Weiterhin ist zu beachten, dass der Fragment-Offset bei 0 beginnt (der Eintrag im ersten Fragment) und deswegen der Offset des zweiten Paketes im genannten Beispiel 125 und nicht etwa 126 ist. Bei allen Fragmenten, außer dem letzten, wird das More-Fragments-Flag gesetzt. Ins Längen-Feld des IP-Headers wird bei allen Fragmenten die Länge des jeweiligen Fragments eingetragen, und für jeden Header wird die IP-Header-Prüfsumme separat berechnet, während der Rest des Headers dem Originalheader vor der Fragmentierung entspricht.[...] Quelle Das sollte deine Frage beantworten, oder? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Oggel Geschrieben 16. November 2011 Autor Teilen Geschrieben 16. November 2011 danke erstmal für die antwort :-) aber meine frage war eher wieso das gerade 8 bytes sind? oder sollte man das einfach so hinnehmen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
axxis Geschrieben 16. November 2011 Teilen Geschrieben 16. November 2011 Hi, wenn ich nichts überlesen habe, dann "ist das einfach so" :cool:. Siehe RFC 791 ab Seite 23 letzter Abschnitt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crash2001 Geschrieben 17. November 2011 Teilen Geschrieben 17. November 2011 Willkürlich wird er wohl nicht gewählt worden sein damals, aber eine Begründung, wieso gerade 8 Byte habe ich auch bisher nirgends gefunden. Ich denke mal, das hat mit Blockgrößen und Window Size u.s.w. zu tun und ist halt ein Vielfaches von 2. Vielleicht gehts auch noch auf die eresten Modems zurück oder auf diese Dinger, auf die man noch den Hörer legte zum "online" gehen. Komme grad nicht auf den Namen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Oggel Geschrieben 17. November 2011 Autor Teilen Geschrieben 17. November 2011 okay alles klar dankeschön :-) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.