IP-Fragmentierung

Hallo,

ich arbeite mich gerade in das OSI Modell ein, und hab eine Frage bezüglich IP Fragmentierung. Bis jetzt hab ich im IP Header nur die Möglichkeit gesehen, Fragmentierung zu unterbinden und den entsprechenden Offset.

Wenn z.B. der Sender jetzt zwei IP-Pakete nach einander losschickt, die beide größer sind als ein Ethernet-Rahmen von ca. 1500 Bit --> dann müssen beide IP Pakete fragmentiert werden. Diese Pakete gehen dann auf unterschiedlichen Wegen (mancher schneller der andere langsamer) auf die Reise zum empfänger und können dort in unterschiedlicher Reihenfolge eintreffen. Wie weiß der Empfänger welche fragmentierten Pakete zum IP Paket 1 und welche zum IP Paket 2 gehören? Anhand des Offsets ist das ja nicht möglich, da beide sogar gleich sein könnten, wenn die beiden ursprünglichen IP Pakete gleich groß waren.

Als zweite Frage: Ein IP Paket kann max. 65536 Bit groß sein (bei 1536 Bit Ethernet Frame) kann ein IP Paket max. in 43 Ethernet Pakete unterteilt werden… gibt es hier einen Standardwert (gaußsche Verteilung oder ähnliches) für die durchschnittliche Anzahl an Ethernet Paketen (wenn IP Fragmentierung vorliegt)?

patrick

Hallo.

ich arbeite mich gerade in das OSI Modell ein, und hab eine
Frage bezüglich IP Fragmentierung. Bis jetzt hab ich im IP
Header nur die Möglichkeit gesehen, Fragmentierung zu
unterbinden und den entsprechenden Offset.

Es gibt da auch noch ein Feld „Identification“, unmittelbar vor „Flags“ und „Fragment Offset“. Das ursprüngliche IP-Paket erhält eine eindeutige Identification, beim Zerlegen bleibt die Identification für jedes Fragment erhalten, so dass darüber klar ist, welche Fragmente zusammen gehören.

Sebastian.

Hallo patrick,

Als zweite Frage: Ein IP Paket kann max. 65536 Bit groß sein
(bei 1536 Bit Ethernet Frame) kann ein IP Paket max. in 43
Ethernet Pakete unterteilt werden… gibt es hier einen
Standardwert (gaußsche Verteilung oder ähnliches) für die
durchschnittliche Anzahl an Ethernet Paketen (wenn IP
Fragmentierung vorliegt)?

Nein, bzw. nur für eine konkrete Konfiguration.

Die maximale zu Verwendende IP-Paketgrösse ist in jedem TCP/IP-Treiber einstellbar.
Hinzu kommt, dass Ethernet eigentlich nichts mit IP zu tun hat. Es gibt noch andere Transportprotokolle welche mit IP verwendet werden. Bei einem DSL-Anschluss ist meist ATM im Spiel.

Daraus ergibt sich, dass sowohl die maximale IP-Paketgrösse als auch diejenige des Transport-Protokolls variabel sind.

Als nächstes spielt es noch eine Rolle was über das Netzwerk übertragen wird. Ein Dateitransfer nutzt typischerweise die maximale Paketgrösse aus wohingegen z.B. VoIP viele kleine Pakete versendet.

MfG Peter(TOO)

Hallo patrick,

Nein, bzw. nur für eine konkrete Konfiguration.

stimmt, da hab ich wieder eine wichtige Information vergessen anzugeben. Es handelt sich um einen Webserver der über Ethernet angesprochen werden soll. D.h. das Ethernet-Frame gibt die max. Paketgröße vor. Der Webserver besteht lediglich aus ein paar Seiten mit Einstellmöglichkeiten - kein Video, Sound etc. Daten können allerdings schon übertragen werden z.B. XML Files oder Logfiles (nichts großes). unterstützte Protokolle sind TCP, UDP, SNMP und HTTP (vllt noch FTP).

Der TCP Stack soll theoretisch erstellt werden - und da stellt sich die Frage ob IP Fragmentierung bei received frames unterstützt werden muss oder nicht (bzw. es irgendwelche Nachteile hätte, wenn man keine Fragmentierung unterstützt).

Bzw. wie groß die Bufferanzahl beim Empfänger sein muss (bis jetzt ist sie auf 20 angelegt), damit man garantieren kann, dass ein fragmentiertes Paket auch wieder vollständig beim Empfänger zusammengesetzt werden kann.

Netzwerktechnisch ist es ja leider auch noch so, dass bestimmte Verbindungen nur bestimmte Paketgrößen erlauben - sprich das ein Router so eingestellt werden kann, dass bei einer Paketgröße von 1000 das entsprechende Paket fragmentiert werden muss. Gibt es eine vorgeschriebene Mindestpaketgröße?

Hinzu kommt, dass Ethernet eigentlich nichts mit IP zu tun
hat. Es gibt noch andere Transportprotokolle welche mit IP
verwendet werden. Bei einem DSL-Anschluss ist meist ATM im
Spiel.

das stimmt, IP kann natürlich in mehrere Protokolle eingebaut werden.

patrick

Hallo patrick,

Netzwerktechnisch ist es ja leider auch noch so, dass
bestimmte Verbindungen nur bestimmte Paketgrößen erlauben -
sprich das ein Router so eingestellt werden kann, dass bei
einer Paketgröße von 1000 das entsprechende Paket fragmentiert
werden muss.

Im Intranet kannst du das noch kontrollieren.
Wenn es über das Internet geht hast du keine Ahnung wie die einzelnen Router konfiguriert sind.

Zu Zeiten von X400/Datex-P hatte ich auch zeitweise Probleme. Weil zwischen Basel und dem Zielhost in Canada zeitweise irgendein Server auf 7-Bit eingestellt war, konnte ich keine binären Dateien übertragen.

Gibt es eine vorgeschriebene Mindestpaketgröße?

Framegrösse + 1 Nutzbyte, kleiner gehts nicht !

MfG Peter(TOO)