Einführung
Wir alle kennen das Prinzip der Klassifizierung und Nichtklassifizierung von IP und dessen Anwendung in der Netzwerkkommunikation. Die IP-Fragmentierung und -Wiederzusammensetzung ist ein Schlüsselmechanismus bei der Paketübertragung. Überschreitet die Größe eines Pakets die maximale Übertragungseinheit (MTU) einer Netzwerkverbindung, teilt die IP-Fragmentierung das Paket in mehrere kleinere Fragmente auf. Diese Fragmente werden unabhängig voneinander im Netzwerk übertragen und nach Ankunft am Zielort durch den IP-Wiederzusammensetzungsmechanismus wieder zu vollständigen Paketen zusammengesetzt. Dieser Prozess der Fragmentierung und Wiederzusammensetzung gewährleistet die Übertragung großer Pakete im Netzwerk unter Beibehaltung der Datenintegrität und -zuverlässigkeit. In diesem Abschnitt werden wir die Funktionsweise der IP-Fragmentierung und -Wiederzusammensetzung genauer betrachten.
IP-Fragmentierung und -Reassemblierung
Verschiedene Datenverbindungen haben unterschiedliche maximale Übertragungseinheiten (MTU); beispielsweise hat die FDDI-Datenverbindung eine MTU von 4352 Byte und die Ethernet-MTU von 1500 Byte. MTU steht für Maximum Transmission Unit (maximale Übertragungseinheit) und bezeichnet die maximale Paketgröße, die über das Netzwerk übertragen werden kann.
FDDI (Fiber Distributed Data Interface) ist ein Standard für Hochgeschwindigkeits-LANs (Local Area Networks), der Glasfaser als Übertragungsmedium nutzt. Die maximale Übertragungseinheit (Maximum Transmission Unit, MTU) ist die maximale Paketgröße, die über ein Datenverbindungsschichtprotokoll übertragen werden kann. In FDDI-Netzwerken beträgt die MTU 4352 Byte. Das bedeutet, dass die maximale Paketgröße, die über das Datenverbindungsschichtprotokoll in einem FDDI-Netzwerk übertragen werden kann, 4352 Byte beträgt. Überschreitet das zu übertragende Paket diese Größe, muss es fragmentiert werden, um es in mehrere Fragmente aufzuteilen, die der MTU-Größe entsprechen. Diese Fragmente werden dann übertragen und beim Empfänger wieder zusammengesetzt.
Bei Ethernet beträgt die MTU (Maximum Transmission Unit) typischerweise 1500 Byte. Das bedeutet, dass Ethernet Pakete mit einer Größe von bis zu 1500 Byte übertragen kann. Überschreitet die Paketgröße die MTU-Grenze, wird das Paket für die Übertragung in kleinere Fragmente aufgeteilt und am Zielort wieder zusammengesetzt. Die Rekonstruktion des fragmentierten IP-Datagramms kann nur vom Zielrechner durchgeführt werden; der Router führt diese Rekonstruktion nicht durch.
Wir haben bereits über TCP-Segmente gesprochen, aber MSS steht für Maximum Segment Size (Maximale Segmentgröße) und spielt eine wichtige Rolle im TCP-Protokoll. MSS bezeichnet die maximale Größe des Datensegments, das über eine TCP-Verbindung gesendet werden darf. Ähnlich wie MTU dient MSS dazu, die Paketgröße zu begrenzen, jedoch auf der Transportschicht, der TCP-Protokollschicht. Das TCP-Protokoll überträgt die Daten der Anwendungsschicht, indem es sie in mehrere Datensegmente unterteilt, wobei die Größe jedes Datensegments durch MSS begrenzt wird.
Die MTU (Maximum Transmission Unit) jeder Datenverbindung ist unterschiedlich, da jeder Datenverbindungstyp für unterschiedliche Zwecke verwendet wird. Je nach Verwendungszweck können unterschiedliche MTUs eingesetzt werden.
Angenommen, der Sender möchte ein großes 4000-Byte-Datagramm über eine Ethernet-Verbindung übertragen. Daher muss das Datagramm in drei kleinere Datagramme aufgeteilt werden. Dies ist erforderlich, da die Größe jedes kleinen Datagramms die MTU-Grenze von 1500 Byte nicht überschreiten darf. Nach dem Empfang der drei kleinen Datagramme setzt der Empfänger diese anhand der Sequenznummer und des Offsets jedes Datagramms wieder zum ursprünglichen 4000-Byte-Datagramm zusammen.
Bei fragmentierter Übertragung führt der Verlust eines Fragments zur Ungültigkeit des gesamten IP-Datagramms. Um dies zu vermeiden, führte TCP MSS ein, bei dem die Fragmentierung auf der TCP-Schicht anstatt auf der IP-Schicht erfolgt. Der Vorteil dieses Ansatzes liegt darin, dass TCP die Größe jedes Segments präziser steuern kann, wodurch die mit der Fragmentierung auf der IP-Schicht verbundenen Probleme vermieden werden.
Bei UDP versuchen wir, keine Datenpakete zu senden, die größer als die MTU sind. UDP ist nämlich ein verbindungslos orientiertes Transportprotokoll, das im Gegensatz zu TCP keine Zuverlässigkeit und keine Mechanismen zur erneuten Übertragung bietet. Wird ein UDP-Datenpaket gesendet, das größer als die MTU ist, wird es von der IP-Schicht fragmentiert. Geht eines der Fragmente verloren, kann das UDP-Protokoll die Übertragung nicht wiederholen, was zu Datenverlust führt. Um eine zuverlässige Datenübertragung zu gewährleisten, sollten wir daher die Größe der UDP-Datenpakete innerhalb der MTU halten und fragmentierte Übertragungen vermeiden.
Mylinking™ Netzwerk-Paketbrokerkann automatisch verschiedene Arten von Tunnelprotokollen wie VxLAN/NVGRE/IPoverIP/MPLS/GRE usw. erkennen und kann anhand des Benutzerprofils und der inneren oder äußeren Merkmale des Tunnelflusses bestimmt werden.
○ Es kann VLAN-, QinQ- und MPLS-Labelpakete erkennen
○ Kann das innere und äußere VLAN identifizieren
○ IPv4/IPv6-Pakete können identifiziert werden
○ Kann VxLAN-, NVGRE-, GRE-, IPoverIP-, GENEVE- und MPLS-Tunnelpakete erkennen
○ IP-fragmentierte Pakete können identifiziert werden (Unterstützt die Identifizierung von IP-Fragmentierung und die Wiederherstellung von IP-Fragmenten, um eine L4-Funktionsfilterung für alle IP-Fragmentierungspakete zu implementieren. Implementiert eine Richtlinie für die Datenverkehrsausgabe.)
Warum sind IP und TCP fragmentiert?
Da die IP-Schicht bei der Netzwerkübertragung Datenpakete automatisch fragmentiert, werden diese auch dann fragmentiert und normal übertragen, wenn die TCP-Schicht die Daten nicht segmentiert. Warum benötigt TCP also eine Fragmentierung? Ist das nicht übertrieben?
Angenommen, ein großes Datenpaket wird auf der TCP-Schicht nicht segmentiert und geht während der Übertragung verloren; TCP sendet es erneut, jedoch nur als vollständiges Paket (obwohl die IP-Schicht die Daten in kleinere Pakete mit jeweils einer MTU-Länge aufteilt). Dies liegt daran, dass die IP-Schicht keine Wert auf zuverlässige Datenübertragung legt.
Anders ausgedrückt: Wenn die Transportschicht auf der Verbindung zwischen einem Rechner und dem Netzwerk die Daten fragmentiert, fragmentiert die IP-Schicht sie nicht. Wenn die Fragmentierung nicht auf der Transportschicht erfolgt, ist eine Fragmentierung auf der IP-Schicht möglich.
Vereinfacht ausgedrückt segmentiert TCP Daten, sodass die IP-Schicht nicht mehr fragmentiert wird. Bei erneuten Übertragungen werden nur kleine Teile der fragmentierten Daten erneut übertragen. Dadurch lassen sich Übertragungseffizienz und -zuverlässigkeit verbessern.
Wenn TCP fragmentiert ist, ist dann die IP-Schicht nicht fragmentiert?
In der obigen Diskussion wurde erwähnt, dass nach der TCP-Fragmentierung beim Sender keine weitere Fragmentierung auf der IP-Schicht erfolgt. Allerdings können sich entlang der Transportverbindung weitere Netzwerkgeräte befinden, deren maximale Übertragungseinheit (MTU) kleiner ist als die des Senders. Daher wird das Paket, obwohl es bereits beim Sender fragmentiert wurde, beim Durchlaufen der IP-Schicht dieser Geräte erneut fragmentiert. Schließlich werden alle Fragmente beim Empfänger wieder zusammengesetzt.
Wenn wir die minimale MTU (Maximum Transmission Unit) über die gesamte Verbindung bestimmen und Daten in dieser Länge senden, tritt keine Fragmentierung auf, unabhängig davon, an welchen Knoten die Daten übertragen werden. Diese minimale MTU über die gesamte Verbindung wird als Pfad-MTU (PMTU) bezeichnet. Wenn ein IP-Paket an einem Router ankommt und die MTU des Routers kleiner als die Paketlänge ist und das DF-Flag (Do Not Fragment) auf 1 gesetzt ist, kann der Router das Paket nicht fragmentieren und muss es verwerfen. In diesem Fall generiert der Router eine ICMP-Fehlermeldung (Internet Control Message Protocol) mit dem Namen „Fragmentation Needed But DF Set“. Diese ICMP-Fehlermeldung wird zusammen mit dem MTU-Wert des Routers an die Absenderadresse zurückgesendet. Wenn der Absender die ICMP-Fehlermeldung empfängt, kann er die Paketgröße anhand des MTU-Werts anpassen, um eine erneute Fragmentierung zu vermeiden.
Die IP-Fragmentierung ist notwendig und sollte auf der IP-Schicht, insbesondere auf zwischengeschalteten Geräten, vermieden werden. Daher ist in IPv6 die Fragmentierung von IP-Paketen durch zwischengeschaltete Geräte untersagt; die Fragmentierung darf nur am Anfang und Ende der Verbindung erfolgen.
Grundkenntnisse von IPv6
IPv6 ist die sechste Version des Internetprotokolls und der Nachfolger von IPv4. IPv6 verwendet eine 128-Bit-Adresslänge und kann dadurch mehr IP-Adressen bereitstellen als die 32-Bit-Adresslänge von IPv4. Dies liegt daran, dass der IPv4-Adressraum allmählich erschöpft ist, während der IPv6-Adressraum sehr groß ist und den zukünftigen Bedarf des Internets decken kann.
Wenn man über IPv6 spricht, so bietet es neben einem größeren Adressraum auch eine bessere Sicherheit und Skalierbarkeit, was bedeutet, dass IPv6 im Vergleich zu IPv4 ein besseres Netzwerkerlebnis bieten kann.
Obwohl IPv6 schon lange existiert, schreitet seine weltweite Verbreitung noch relativ langsam voran. Dies liegt hauptsächlich daran, dass IPv6 mit dem bestehenden IPv4-Netzwerk kompatibel sein muss, was einen Übergang und eine Migration erfordert. Angesichts der Erschöpfung der IPv4-Adressen und der steigenden Nachfrage nach IPv6 setzen jedoch immer mehr Internetdienstanbieter und Organisationen schrittweise auf IPv6 und realisieren nach und nach den Dual-Stack-Betrieb von IPv6 und IPv4.
Zusammenfassung
In diesem Kapitel haben wir uns eingehender mit der Funktionsweise der IP-Fragmentierung und -Wiederzusammensetzung befasst. Verschiedene Datenverbindungen haben unterschiedliche maximale Übertragungseinheiten (MTU). Überschreitet die Größe eines Pakets die MTU-Grenze, teilt die IP-Fragmentierung das Paket zur Übertragung in mehrere kleinere Fragmente auf und setzt diese nach Ankunft am Zielort mithilfe des IP-Wiederzusammensetzungsmechanismus wieder zu einem vollständigen Paket zusammen. Ziel der TCP-Fragmentierung ist es, die IP-Schicht von weiterer Fragmentierung zu befreien und bei einer erneuten Übertragung nur die fragmentierten Datenmengen erneut zu senden, um so die Übertragungseffizienz und -zuverlässigkeit zu verbessern. Es können sich jedoch entlang der Transportverbindung andere Netzwerkgeräte befinden, deren MTU kleiner ist als die des Absenders. In diesem Fall wird das Paket auf der IP-Schicht dieser Geräte erneut fragmentiert. Eine Fragmentierung auf der IP-Schicht sollte möglichst vermieden werden, insbesondere auf zwischengeschalteten Geräten in der Verbindung.
Veröffentlichungsdatum: 07.08.2025
