Show/Hide Toolbars

PROFINET Handbuch

Navigation: » Keine übergeordneten Topics vorhanden «

IP Internet Protocol

Themen Zurück Top Vor Menü

Die Aufgaben der Netzwerk- oder Vermittlungsschicht übernimmt bei den TCP/IP-Protokollen das Internet-Protokoll (Kurzbezeichnung IP). Das Internet-Protokoll ist im RFC 791 definiert. Es unterstützt eine Vielzahl von Netzwerk- Technologien. Es ist ein von der darunterliegenden Schicht unabhängiges Protokoll.

Neben der Anpassung der Daten an die physikalischen Bedingungen des Datennetzes stellt das Internet-Protokoll den höheren Protokollschichten folgende Dienste zur Verfügung:

Datengrammservice

Die Datenblöcke (inklusive der verschiedenen Header) der höheren Protokollschichten werden als Datagramme zum Kommunikationspartner über das Netz übermittelt. Diese Datagramme werden vom IP mittels eines verbindungslosen Kommunikationsmechanismus zwischen den Beteiligten übermittelt. D.h., dass das IP nach dem Versenden des Datagramms keine zusätzli­chen Dienste (z.B. “wurde das Datagramm auch beim Empfänger richtig empfangen?”) erbringt. Das Empfänger-IP überprüft zwar den Header auf seine Richtigkeit (Prüfsumme), es ist jedoch nicht in der Lage festzustellen, ob dieses Datagramm fehlerfrei und in der richtigen Reihenfolge empfangen wurde. Diese Funktionen überlässt das IP den höheren Schichten.

Somit ist die fehlerfreie Übertragung der IP-Datagramme nicht garantiert. Pakete können verloren gehen, dupliziert werden oder in unterschiedlicher Rei­henfolge eintreffen!

Spezifikation höherer Protokolle

Durch Angabe der Protokollkennung können höhere Protokolle definiert werden, an die der Paketinhalt abgeliefert werden soll.

Adressfunktionen

Das Internetwork-Protokoll leistet bei der Datenübermittlung weitere Zusatzdienste, z.B. einen Adressierungsmechanismus, wobei jedes Datenpaket mit einer Sende- und einer Zieladresse versehen wird.

Routing zwischen Netzwerken

Als Verbindungsglieder zwischen IP-Netzwerken werden Router eingesetzt. Die einzelnen IP- Module in den Routern sorgen für die Umsetzung der Datagramme auf andere Netzwerke. Die Router sind darüber hinaus für die Wegwahl zwischen den Netzen und für die Wahl des geeig­neten Weges zuständig.

Fragmentierung und Reassemblierung von Paketen

Die an der Kommunikation beteiligten Netze können unterschiedlich lange Datenpakete unter­stützen. Deshalb bietet das Internet-Protokoll einen Mechanismus, um diese Datenpakete in Teil-Datagramme zerlegen (fragmentieren) zu können. Diese Paketfragmente werden beim Empfänger wieder zu einem vollständigen Datagramm zusammengesetzt (reassembliert).

 

Wahl der Übertragungsparameter

Dem Benutzer stehen theoretisch verschiedene Übertragungs-Qualitätsparameter zur Verfü­gung.

Vorrangsteuerung bei der Übertragung von Datagrammen

Bei der Übermittlung über Router können durch eine gezielte Vorrangsteuerung (L3 oder L4)  Datenpakete bevorzugt übertragen werden.

 

Das Sende-Primitiv

Das Sende-Primitiv wird zur Übermittlung von Datagrammen auf das Datennetz verwendet und benutzt folgende Parameter:

Quelladresse (Source IP-Address)

Zieladresse (Destination IP-Address)

Protokoll (Protocol)

Servicetyp-Indikator (Type of Service)

Identifikatior (Identificator)

Don’t fragment Identifikator (Don’t fragment Flag)

Lebenszeit (Time of Live)

Datenlänge (Total Length)

Optionen (Options)

Daten (Data)

 

Das Empfangs- / Deliver Primitiv

Das Empfangsprimitiv (Deliver Primitiv) wird beim Empfang von Datagrammen vom Daten­netz verwendet und benutzt folgende Paramter:

Quelladresse (Source IP-Address)

Zieladresse (Destination IP-Address)

Protokoll (Protocol)

Servicetyp-Indikator (Type of Service)

Datenlänge (Total Length)

Optionen (Options)

Daten (Data)

 

Datenfluss

Der Rechner A sendet seine Daten über einen Router zum Zielrechner (Rechner B). Der Benut­zer des sendenden IP, in diesem Fall das Transmission Control Protocol (TCP), verwendet die Sende-Primitives, um IP mitzuteilen, dass ein Datagramm zum TCP des Empfängers übermit­telt werden soll. Mit Hilfe der IP-Protokolle in den beiden Rechnern und im Router und den Sende-, resp. Empfangsprimitivs gelangt das Datagramm zu Rechner B.

Abbildung 4 Routingverfahren

 

Struktur und Beispiel eines Internet - Datagramms

 

   0                   1                   2                   3

   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |Ver= 4 |IHL= 5 |Type of Service|        Total Length = 41      |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |      Identification = 111     |Flg=0|   Fragment Offset = 0   |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |   Time = 123  |  Protocol = 6 |        Header Checksum        |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |                         Source IP-address                     |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |                      Destination IP-address                   |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |                             Options                           |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |                               Data                            |

  /                                                               \

  \                                                               /

  |                               Data                            |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |     Data      |                                                

  +-+-+-+-+-+-+-+-+                                                

Bedeutung der einzelnen Felder:

"Version(Abkürzung: Vers, Feldlänge = 4 Bit)

         Das Versionsfeld gibt die verwendete Version des IP-Headers an. Momentan wird mit der IP-Version 4 gearbeitet.

"Internet Header Length(Abkürzung: IHL, Feldlänge = 4 Bit)

         Die Internet Header Length gibt die gesamte Länge des Internet-Headers in 32-Bit-Ein­heiten (4 Bytes) an. Die IHL ist notwendig, da das Optionenfeld eine variable Länge auf­weist.

"Type of Service (Abkürzung: TOS, Feldlänge = 1 Byte)

         Das Type of Service-Feld definiert die geforderten Dienste eines IP-Datagramms. Dieses Feld ermöglicht, den Rechnern bei der Übertragung über weitere Netzwerke die gewünschte Dienstart (vorrangige Behandlung, sowie optimierte Übertragung bezüglich Durchsatz, Verzögerung oder Zuverlässigkeit) anzugeben.

         Leider wird der Type of Service in den meisten heute kommerziell erhältlichen Produkten nicht unterstützt oder ist nicht vollständig implementiert.

"Total Length(Abkürzung: TL, Feldlänge = 2 Byte, min. Wert=20, max. Wert=65’535)

         Die Total Length gibt die Gesamtlänge des Datagramms, einschliesslich des IP-Headers und des Datenteils der höheren Protokolle in Anzahl der darin enthaltenen Bytes an. Rechner müssen in der Lage sein, Datenpakete mit einer Länge von 576 Bytes zu empfan­gen. Grössere Datagramme werden durch die Ebene 3 vor dem Senden fragmentiert.

"Identification(Abkürzung: ID, Feldlänge = 2 Byte)

         Kennwert zur Zuordnung von Fragmenten zu einem Datagramm.

"Flag (Abkürzung: keine, Feldlänge = 3 Bit)

         Dieses Feld enthält die Informationen “Don’t fragment”, falls die Fragmentierung nicht unterstützt wird und “More fragments”, zur Anzeige, dass noch weitere zum Datagramm gehörenden Fragmente folgen.

"Fragment Offset(Abkürzung: FO, Feldlänge = 13 Bit)

         Dieses Feld gibt die Lage der Fragmentdaten relativ zum Anfang des Datenblocks im

ursprünglichen Datagramm an.

"Time-to-Live(Abkürzung: TTL, Feldlänge = 1 Byte, Einheit = Sekunden)

         Das Time-to-Live-Feld definiert die verbleibende Lebensdauer eines Datagramms im Netz. Fällt der Wert auf Null, so muss das Datagramm verworfen werden. Dieser Wert wird durch jeden durchlaufenen Router um mindestens eine Einheit herabgesetzt. RFC 1060 spezifiziert einen Defaultwert von 32.

"Protocol(Abkürzung: PROT, Feldlänge = 2 Byte)

         Im Protokollfeld wird definiert, welches höhere Protokoll dem Datenteil vorangestellt ist:

RFC 1700
Assigned Numbers

 1 = ICMP                Internet Control Message Protocol
 2 = IGMP                Internet Group Management Protocol
 6 = TCP                Transmission Control Protocol
 8 = EGP                Exterior Gateway Protocol
17 = UDP                User Datagramm Protocol
29 = ISO TP4                ISO Transport Class 4 Protocol
88 = IGRP                Interior Gateway Routing Protocol der Firma Cisco
89 = OSPFIGP                Open Shortest Path First Interior Gateway Protocol

IP-Header-Checksum(Abkürzung: keine, Feldlänge = 2 Byte)

Enthält eine Prüfsumme, die nur den IP-Header auf Fehler überprüft.

"IP-Source-Address(Abkürzung: Source, Feldlänge = 4 Byte)

Das IP-Source-Address-Feld enthält die IP-Adresse des Rechners, der das Datagramm erzeugt hat.

"IP-Destination-Address(Abkürzung: Dest, Feldlänge = 4 Byte)

Das IP-Destination-Address-Feld enthält die IP-Adresse des Rechners, für den das Data­gramm bestimmt ist.

"Options(Abkürzung: Opt, Feldlänge = variabel)

Die Dienste des Internet-Protokolls können durch Optionen an die speziellen Anforderun­gen der höheren Protokolle angepasst werden. Die Feldlänge hängt von der Art und der Anzahl der Optionen ab, die mit einem Datagramm übertragen werden. Für die Optionen wurden folgende zwei Formate definiert:

a)Ein 1-Byte-Optionentyp.

b)Ein String variabler Länge:

enthält ein Optionen-Typ-Byte, ein Optionen-Längen-Byte und die Optionsdaten.

Leider werden die IP-Optionen in den meisten heute kommerziell erhältlichen Produkten nicht oder nur unvollständig unterstützt.

"Data(Abkürzung: keine, Feldlänge = variabel)

         In diesem Feld befinden sich die zu übertragenden Daten der übergeordneten Protokolle und deren Kopfinformationen.