2017-08-04 21 views
-1

Von dem, was ich bisher verstanden habe, im Gegensatz zu nicht-transparenten IP-Fragmentierung; Pakete werden an der Quelle fragmentiert und nur am Zielort zusammengefügt; Intermediate-Netzwerk-Systeme in transparenten IP-Fragmentierung, wieder zusammensetzen und fragmentieren das IP-Paket während der Übertragung. Im folgenden Beispiel werden zwei Endsysteme (A) und (B) miteinander verbunden, von denen jedes Teil von Subnetz1 bzw. Subnetz3 ist. Würde Router1 die von A gesendeten IP-Paketfragmente wieder zusammensetzen und dann das gesamte nicht fragmentierte Paket an Router2 senden, der es fragmentieren würde, bevor es an B gesendet wird? Wie funktioniert die transparente IP-Fragmentierung?Transparente IP-Fragmentierung

(A) subnet1 ----- router1 ------ subnet2 ------- router2 ------- subnet3 (B) 

Antwort

0

Ich glaube, Sie dieses post lesen sollten, die Ihnen eine Vorstellung davon gibt, wie es funktioniert.

Für mich das Paket rassemble durch router1 zu Router2 gesendet und dann an B. In allen Fällen B empfängt den ganzen paquet ankommen und nicht durch A. gemacht Fragmente

0

In normaler IPv4-Fragmentierung wird ein Router fragmentieren ein Paket, wenn die MTU der nächsten Schnittstelle kleiner als die Paketgröße ist. Die Fragmentierung findet auf dem/den Router (n) statt, aber die Wiederzusammensetzung der Paketfragmente liegt in der Verantwortung des Endsystems.

Die Verwendung der Fragmentierung und Reassemblierung zwischen zwei Zwischensystemen im Pfad wird nicht direkt vom IPv4-RFC abgedeckt, daher gibt es keinen wirklichen Standard für die Vorgehensweise. Im Grunde wird das Ende einer Verbindung ein Paket fragmentieren, um an die MTU der Verbindung zu passen, und das andere Ende der Verbindung wird die Fragmente zu dem ursprünglichen Paket wieder zusammensetzen. Dies ist nicht üblich, da es die Router stark belastet. Bei einer normalen Fragmentierung wird die Last des Wiederzusammensetzens auf das Endsystem gelegt.

Von RFC 791, Internet Protocol:

Der grundlegende Internet-Service ist Datagramm orientiert und sieht die Fragmentierung von Datagrammen an Gateways, mit Remontag statt am Ziel-Internet-Protokoll-Modul in dem Zielhost. Natürlich ist auch die Fragmentierung und Remontage von Datagrammen in einem Netzwerk oder durch private Vereinbarung zwischen den Gateways eines Netzwerkes erlaubt, da dies für die Internetprotokolle und die übergeordnete Protokolle transparent ist. Diese transparente Art der Fragmentierung und Reassemblierung wird als "netzwerkabhängige" (oder Intranet-) Fragmentierung bezeichnet und wird hier nicht weiter diskutiert.

Die vollständige Beschreibung der Fragmentierung in der RFC:

Fragmentation

Fragmentation eines Internet-Datagramm ist notwendig, wenn es in einem lokalen Netz entsteht, das eine große Paketgröße erlaubt und muss durchqueren Ein lokales Netz, das Pakete auf eine kleinere Größe begrenzt, um das Ziel zu erreichen.

Ein Internet-Datagramm kann mit "nicht fragmentieren" gekennzeichnet werden. Jedes Internet Datagramm so markiert ist nicht Internet fragmentiert unter allen Umständen. Wenn Internet-Datagramm markiert nicht Fragment kann nicht an sein Ziel geliefert werden, ohne es zu fragmentieren, ist es stattdessen verworfen werden.

Fragmentierung, Übertragung und Remontage über ein lokales Netzwerk , das für das Internetprotokollmodul unsichtbar ist, wird als Intranet Fragmentierung bezeichnet und kann verwendet werden [6].

Die Internet Fragmentierung und Reassembly-Prozedur muss in der Lage ein Datagramm in eine fast beliebige Anzahl von Stücken brechen, die später wieder zusammengebaut werden können. Der Empfänger der Fragmente verwendet das Identifikationsfeld , um sicherzustellen, dass Fragmente verschiedener Datagramme nicht gemischt werden. Das Fragment-Offset-Feld teilt dem Empfänger die Position eines Fragments im ursprünglichen Datagramm mit. Der Fragment-Offset und die Länge bestimmen den Teil des ursprünglichen Datagramms, der durch dieses Fragment abgedeckt wird. Das Mehrfragment-Flag zeigt (durch Zurücksetzen) das letzte Fragment an. Diese Felder bieten ausreichende Informationen zu Reassemblieren von Datagrammen.

Das Identifikationsfeld wird verwendet, um die Fragmente eines Datagramms von denen eines anderen zu unterscheiden. Das Ausgangsprotokollmodul eines Internet-Datagramms setzt das Identifikationsfeld auf einen Wert, der für das Quelle-Ziel-Paar und Protokoll für die Zeit eindeutig sein muss, das Datagramm wird im Internetsystem aktiv sein. Das ursprüngliche Protokollmodul eines vollständigen Datagramms setzt das Flag für mehr Fragmente auf Null und den Fragment-Offset auf Null.

Um einen langen Internet-Datagramm, ein Internet-Protokoll-Modul (für Beispiel in einem Gateway) fragmentieren, schafft zwei neue Internet-Datagramme und Kopien die Inhalte der Internet-Header-Felder aus dem langen Datagramm in sowohl für neuen Internet-Header . Die Daten des langen Datagramms sind in zwei Teile auf einer 8-Oktett (64-Bit) -Grenze unterteilt (der zweite Teil ist möglicherweise kein ganzzahliges Vielfaches von 8 Oktetten, aber das erste muss sein). Die Anzahl der 8 Oktettblöcke im ersten Abschnitt NFB (für die Nummer der Fragmentblöcke) aufrufen. Der erste Teil der Daten wird in das erste neue Internet-Datagramm platziert, und das Feld Gesamtlänge wird auf die Länge des ersten Datagramms festgelegt. Das Flag für mehrere Fragmente wird auf eins gesetzt. Der zweite Teil der Daten wird im zweiten neuen Internet-Datagramm platziert, und das Feld Gesamtlänge wird auf die Länge des zweiten Datagramms gesetzt. Das Flag für mehrere Fragmente trägt denselben Wert wie das lange Datagramm . Das Fragment-Offset-Feld des zweiten neuen Internet-Datagramms wird auf den Wert dieses Felds im langen Datagramm plus NFB gesetzt.

Diese Prozedur kann für eine n-Wege-Aufteilung verallgemeinert werden, anstatt die beschriebene Zweiwege-Teilung .

an die Fragmente eines Internet-Datagramm, über ein Internet Protokollmodul (zum Beispiel bei einem Ziel-Host) verbindet Internet Datagrammen zusammenstellen, die alle den gleichen Wert für die vier Felder haben: Identifikation, Quelle, das Ziel und das Protokoll . Die Kombination wird durchgeführt, indem der Datenabschnitt jedes Fragments in die relative -Position platziert wird, die durch den Fragmentversatz in dem Internet-Header dieses Fragments angegeben wird . Das erste Fragment wird den Fragment-Offset Null haben, und das letzte Fragment wird das Flag mehr Fragmente auf Null zurückgesetzt haben.