Netzwerkaufzeichnung : Struktur des Netzwerkrahmens

 

Link Ebene ( Layer 2 )

 

Ethernet v2.0 MAC Header :

 

Adressfelder :

Das MAC Datenpaket enthält zwei Adressfelder :
Das Ziel-Adressfeld und das Quell-Adressfeld in dieser Reihenfolge. Das Ziel-Adressfeld gibt die Zieladresse an, für die das Datenpaket bestimmt ist. Das Quell-Adressfeld identifiziert die Station, von der das Datenpaket initiiert wurde. Jedes Adressfeld sollte folgendermassen dargestellt werden :

1. Jedes Adressfeld hat eine Länge von 48 Bit. Während IEEE 802 den Gebrauch von 16- oder 48 Bit Adressen vorsieht, benützt eine nicht angepasste Implementierung von IEEE 802.3 die 16 Bit Adressen. Die Verwendung von 16 Bit Adressen ist von diesem Standard ausdrücklich ausgeschlossen.

2. Das erste Bit ( LSB ) sollte in dem Ziel-Adressfeld als Adresstyp Bezeichnungsbit genutzt werden, um eine Zieladresse entweder als Einzel- oder als Gruppenadresse zu identifizieren. Ist dieses Bit 0, bedeutet dies, dass das Adressfeld eine Einzeladresse enthält. Wenn das Bit = 1 ist, bedeutet es, dass das Adressfeld eine Gruppenadresse beinhaltet, die keine, eine, mehr oder alle Stationen, die mit dem LAN verbunden sind, bestimmt. Im Quell-Adressfeld ist das erste Bit reserviert und auf 0 gesetzt.

3. Das zweite Bit unterscheidet zwischen lokal oder global verwalteten Adressen. Für global verwaltete Adressen ( oder U, universal ) wird das Bit auf 0 gesetzt. Wenn eine Adresse lokal zugeteilt ist, ist das Bit auf 1 gesetzt.

4. Jedes Byte von jeder Adresse sollte LSB first gesendet werden.

 

Adressbezeichnung :

Es gibt zwei Typen von MAC Sublayer Adressen :
.Einzeladresse : Die Adresse ist mit einer bestimmten Station des Netzwerks assoziiert.
.Gruppenadresse: Eine Mehrfach-Zieladresse, assoziiert mit einer oder mehreren Stationen eines bestehenden Netzwerks.

Es gibt zwei Arten von Mehrfachadressen :
1. Mehrfach-Gruppenadresse : Die Adresse ist mit higher level Konvention mit einer Gruppe von logisch verbundenen Stationen assoziiert.
2. AN ALLE ADRESSE : Eine wichtige, vordefinierte Mehrfachadresse, die immer alle Stationen eines bestehenden Netzwerks kennzeichnet.

Alle 1er im Ziel-Adressfeld sollten als "AN ALLE ADRESSEN" vordefiniert sein. Für jedes Kommunikationsmedium sollte diese Gruppe so vordefiniert sein, dass sie aus allen Stationen besteht, die aktiv mit diesem Medium verbunden sind. Sie wird benutzt um an alle aktiven Stationen dieses Mediums zu senden. Alle Stationen sollten die "AN ALLE ADRESSE" erkennen können. Es ist nicht nötig, dass eine Station die "AN ALLE ADRESSE" generieren kann.
Der Adressbereich sollte in lokal verwaltete und global verwaltete Adressen aufgeteilt sein. Die Art des Aufbaus und die Verfahren wie diese globalen ( U ) Adressen verwaltet werden, übersteigt den Umfang dieses Standards.

 

 

I/ G = 0

Individuelle Adresse

I/ G = 1

Gruppen Adresse

U/ L = 0

Global verwaltete Adresse

U/ L = 1

Lokal verwaltete Adresse

 

Preamble ( Präambel )

7 Bytes
Die Präambel dient dazu, dass der oder die Empfänger ( Netzwerkkarte ) sich mit dem Sender ( Netzwerkkarte ) synchronisieren und damit der Startbegrenzer und somit der nachfolgende Ethernet-Datenrahmen richtig interpretiert werden kann.

Diese Felder werden von der Netzwerkkarte nicht an die Software weitergegeben !

Start Frame Delimiter ( Startrahmenbegrenzer )

Der Startrahmenbegrenzer ist 1 Byte lang und ist die Sequenz 10101011 Binär.
Er folgt unmittelbar den Präambel-Pattern und signalisiert den Beginn eines Ethernet-Datenrahmens.

Dieses Feld wird von der Netzwerkkarte nicht an die Software weitergegeben !

Ziel-Adresse

Empfänger-Adresse, für die das Datenpaket bestimmt ist. Das kann eine Einzel- oder eine Sammeladresse sein ( einschliesslich einer "an alle Adresse" ).

Quell-Adresse

Identifiziert den Absender, von dem das Datenpaket gesendet wurde. Die Source Adresse wird vom CSMA/ CD MAC Sublayer nicht interpretiert.

Ethernet
Längen- / Typ-Feld

Internet Protokoll, z.B. IPv4 = 0800H

Dieses 2 Byte Feld kann abhängig von seinem numerischen Wert einen der 2 Begriffe bedeuten. Für die numerische Auswertung ist das erste Byte das bedeutsamere Byte dieses Feldes.

Längen-Interpretation :
Wenn der Wert dieses Feldes kleiner oder gleich dem Wert 1500 ( 05DC HEX ) ist, zeigt das Längen/ Typ Feld die Anzahl der MAC Client Datenbytes an, die im nachfolgenden Datenfeld des Paketes enthalten sind.
Typ Interpretation :
Wenn der Wert dieses Feldes grösser oder gleich 0600 HEX ist, zeigt das Längen/ Typ Feld die Art des MAC Client Protokolls an.

Ungeachtet der Interpretation des Längen/ Typ Feldes wird ein PAD Feld ( eine Folge von Padding Bytes ) am Ende des Datenfeldes hinzugefügt, wenn die Länge des Datenfeldes kleiner ist, als die als Minimum für eine richtige Anwendung des Protokolls geforderte Länge. Das Längen/ Typ Feld wird als high Byte first gesendet und empfangen.

MAC Client Daten

Die Daten bestehen aus :
. IPv4 Header
. TCP Header
. Anwenderdaten, z.B. IEC 60870-5-104

. PAD Felder ( Trailer ), falls vorhanden

Die Client Daten müssen eine Mindestlänge aufweisen, damit der Ethernet-Datenrahmen beginnend mit der Zieladresse bis einschliesslich des Trailers eine Mindestrahmenlänge von 60 Bytes aufweist. Sind zuwenig Daten vorhanden, müssen die Client-Daten mit PAD Felder ( Padding Bits ) auf die erforderliche Mindestlänge gebracht werden. Dies wird automatisch von der Netzwerkkarte durchgeführt.

Frame Check Sequence ( Blockprüfsumme )

4 Bytes
Der Inhalt des Ethernet-Datenrahmen, beginnend mit der Zieladresse bis einschliesslich der Client-Daten wird durch eine Blockprüfsumme gesichert. Der Empfänger ( Netzwerkkarte ) erkennt somit kleinste Übertragungsfehler.

Diese Felder werden von der Netzwerkkarte nicht an die Software weitergegeben !

 

Netzwerk Ebene ( Layer 3 )

 

IPv4 Header :

Für detaillierte Informationen über den IPv4 Header lesen Sie bitte auch auf der IETF Webseite
das Dokument <RFC 791 : Internet Protocol>.

 

 

Version

Dieses Feld zeigt das Format des IP Headers an.
( z. B. Internet Protocol Version = 4 )

IHL

Die Internet Header Länge ist die Länge des IP Headers, gezählt in Double Words ( 32 Bit Einheiten ) und zeigt so den Beginn des Datenbereichs an. Der kleinste Wert für einen korrekten Header ist 5 ( = 20 Bytes ).

Type of service

Bit 0 : Reserviert
Bit 1 : Reserviert
Bit 2 : R ( Zuverlässigkeit )
Bit 3 : T ( Durchsatz )
Bit 4 : D ( Verzögerung )
Bit 5 - 7 : PRIORITÄT

Der Service-Typ beschreibt die Angabe der abstrakten Parameter der gewünschten Dienstart. Diese Parameter werden verwendet um die Auswahl der aktuellen Service-Parameter während der Übertragung eines Datenpaketes durch einen Netzknoten anzugeben. Mehrere Netzwerke ermöglichen Vorrangbehandlung, welche hohe Priorität irgendwie vorrangiger behandeln als anderen Datenverkehr ( gewöhnlich während Zeiten hoher Last nur unter Akzeptanz von Datenverkehr über einer gewissen Priorität ). Die beste Wahl ist ein Kompromiss zwischen geringer Verzögerung, hoher Zuverlässigkeit und hohem Durchsatz.

R : 0 = Normale Zuverlässigkeit, 1 = Hohe Zuverlässigkeit
T : 0 = Normaler Durchsatz, 1 = Hoher Durchsatz
D : 0 = Normale Verzögerung, 1 = Geringe Verzögerung

Total Länge

Total Länge ist die Gesamtlänge des Datenpakets, gemessen in Oktetten, und umfasst den Internet Header und die Daten.

Identifikation

Ein identifizierender Wert des Senders um anzuzeigen, zu welchem Datenpaket die Fragmente gehören.

Flags

Bit 5 : MF ( more fragments )
Bit 6 : DF ( don't fragment )
Bit 7 : reserviert, muss 0 sein

Verschiedene Kontrollflags

MF : 0 = Letztes Fragment, 1 = Mehr Fragmente
DF : 0 = darf fragmentiert werden, 1 = darf nicht fragmentiert werden

Fragment Offset

Dieses Feld zeigt an, an welche Stelle im Datenpaket dieses Fragment gehört. Es wird in Einheiten von 8 Oktetts ( 64 Bits ) gemessen. Das erste Fragment hat den Offset 0.

Time to live

Dieses Feld zeigt die maximale Lebensdauer eines Datenpakets im Internet an. Wenn das Feld den Wert 0 zeigt, muss das Datenpaket zerstört werden. Dieses Feld verändert sich während der Bearbeitung. Die Zeit wird in Sekunden gemessen, aber jeder Netzknoten, den das Datenpaket durchläuft, muss die TTL um eine Stelle verringern, auch wenn die Bearbeitung des Datenpaketes weniger als eine Sekunde dauert.

Protokoll

Diese Feld zeigt das Protokoll der nächsten Ebene an, das im Datenteil des Internet Datengramms benützt wird ( z. B. Transmission Control Protocol = 6 ).

Header Prüfsumme

Die Prüfsumme gilt nur für den Header. Weil sich einige Header-Felder ändern ( z. B. time to live ), muss die Prüfsumme nach jedem Durchlauf durch den Rooter neu berechnet werden.

Quell-Adresse

Der Parameter bestimmt die IP-Adresse des sendenden Hosts. ( Absender )

Ziel-Adresse

Der Parameter bestimmt die IP-Adresse des empfangenden Hosts. ( Empfänger )

Optionen ( variable )

Das Optionsfeld hat eine variable Länge.
Optionen können im Datenpaket vorhanden sein oder nicht. Sie müssen von allen IP-Modulen ( Host und Gateway ) implementiert sein. Optional ist nur die Übertragung in jedem einzelnen Datenpaket, nicht die Implementierung. Die Sicherheitsoption ist in manchen Rechnern in jedem Datenpaket vorgeschrieben.

Padding ( variabel )

Das Füllfeld hat eine variable Länge.
Das Padding-Feld ( Füllfeld ) wird benutzt, um sicher zu stellen, dass der IP Header immer im 32-Bit Format endet. Ein Füllzeichen ist immer Null.

 

Version :

 

0   reserviert  
1 - 3   nicht zugeordnet  
4 IPv4 Internet Protocol version 4 [ RFC 791 ]
5 ST ST Datagram Mode [ RFC 1190 ]
6 IPv6 Internet Protocol version 6 [ RFC 1752 ]
7 TP/ IX TP/ IX : The Next Internet [ RFC 1475 ]
8 PIP The P Internet Protocol [ RFC 1621 ]
9 TUBA TUBA [ RFC 1347 ]
10 - 14   nicht zugeordnet  
15   reserviert  

 

Transport Ebene ( Layer 4 ) :

 

TCP Header :

Für detaillierte Informationen über den TCP Header lesen Sie bitte auch auf der IETF Webseite
das Dokument <RFC 793 : Transmission Control Protocol>.

 

 

Quell-Port

Identifiziert den PORT, von dem das Datenpaket veranlasst wurde.

Ziel-Port

Identifiziert den PORT, für den das Datenpaket bestimmt ist.

Sequenznummer

Ist die Sequenznummer des ersten Datenbytes in diesem Segment, ausgenommen das SYN Bit ist gesetzt. Ist das SYN Bit gesetzt, ist die Sequenznummer die Initial-Sequenznummer ( ISN ) und das erste Datenbyte ist ISN + 1.

Quittungsnummer

Falls das ACK Bit gesetzt ist, ist diese Nummer die nächste Sequenznummer, die der Sender des Pakets erwartet. Sobald eine Verbindung aufgebaut ist, wird diese Sequenznummer immer wieder gesendet.

Daten Offset

Die Anzahl von Double Words ( 32 Bit Einheiten ) im TCP Header. Hiermit wird der Beginn der Daten angezeigt. Der TCP Header und auch eine eventuell enthaltene Option ist eine Integralzahl mit einer Länge von 32 Bit.

Reserviert

Reserviert für spätere Anwendung und muss 0 sein.

Steuerfeld

URG : Urgent Pointer
ACK : Acknowledgment
PSH : Push Funktion
RST : Zurücksetzung der Verbindung
SYN : Synchronisierung der Sequenznummern
FIN  : Keine weiteren Daten vom Sender.

Window

Die Anzahl der Bytes, die der Sender dieses Segments ab dem bereits bestätigten Byte zu akzeptieren bereit ist.

Prüfsumme

Die Prüfsumme wird auf alle 16 Bit Einheiten im Header und in den Daten angewendet. Wenn ein Segment eine ungerade Zahl von zu prüfenden Header- und Datenbytes enthält, wird das letzte Byte rechts mit Nullen aufgefüllt um ein 16 Bit Word für die Prüfung zu bilden. Der Block wird nicht als Teil des Segments übertragen. Während die Prüfsumme berechnet wird, wird das Prüffeld selbst mit Nullen ersetzt.

Urgent pointer

Dieses Feld übermittelt den aktuellen Wert des Urgent Pointers als positiven Offset der Sequenznummer in diesem Segment. Der Urgent Pointer zeigt auf die Sequenznummer des Bytes, das den dringenden Daten folgt. Dieses Feld wird nur in Segmenten interpretiert, in denen das "URG Bit" im Steuerfeld gesetzt ist.

Optionen ( variable )

Das Optionsfeld hat eine variable Länge.
Optionen können Platz am Ende des TCP Headers belegen und haben eine Länge von mehreren Bytes. Alle Optionen sind in der Prüfsumme enthalten. Eine Option kann mit jedem Byte beginnen.

Padding ( variable )

Das Füllfeld hat eine variable Länge.
Das Padding-Feld ( Füllfeld ) wird benützt, um sicher zu stellen, dass der TCP Header immer im 32-Bit Format endet. Ein Füllzeichen ist immer Null.

 

Anwenderdaten

Datenpakete ( werden hexadezimal angezeigt )

 

UDP Header :

Für detaillierte Informationen über den UDP Header lesen Sie bitte auch auf der IETF Webseite
das Dokument <RFC 768 : User Datagram Protocol>.

 

 

Source Port

Identifiziert den PORT von dem das Datenpaket initiiert wurde.

Destination Port

Ziel PORT für den das Datenpaket bestimmt ist.

Length

Ist die Länge des Datengramms gemessen in Bytes und umfasst diesen Header und Daten. Dies bedeutet, dass der minimale Wert 8 ist.

Checksum

Die Checksumme ist das 16 Bit 1er Komplement der 1er Komplement Summe eines Pseudo Headers aus Informationenen des IP-Headers, des UDP Headers und der Daten, am Ende aufgefüllt mit 00 Bytes ( wenn nötig ) um das Vielfache von 2 Bytes zu erreichen.

 

Anwenderdaten

Datenpakete werden hexadezimal und als ASCII Zeichen angezeigt.

 


MAYR Software

Wuerzburger Ring 39,  D 91056 Erlangen

Handbuch LIAN 98


LIAN 98 Protocol Router, Simulator and Analyzer
© Copyright 2001, 2006, 2011 by Werner Mayr. All Rights reserved.