Oggel Geschrieben 15. November 2011 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
Crash2001 Geschrieben 16. November 2011 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
Oggel Geschrieben 16. November 2011 Autor 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
axxis Geschrieben 16. November 2011 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
Crash2001 Geschrieben 17. November 2011 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
Oggel Geschrieben 17. November 2011 Autor Geschrieben 17. November 2011 okay alles klar dankeschön :-) Zitieren
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.