|
.TCP/IP Inhaltsverzeichnis
[01] Das Vorwort [02] Die Architektur [03] Die Entstehung von TCP/IP - Datagrammen [04] Die Source/Destination Address [05] Der IP Header [06] Das ICMP (Internet Control Message Protocol) [07] Die IP-Adresse und ihre Klassen [08] Die Subnet-Mask [09] Die erlaubten Subnetz- und Host- IP-Adressen [10] Die Zukunft [11] Das Quellenverzeichnis
[01] Das Vorwort Dieses Referat beschäftigt sich im allgemeinen mit dem Transmission Control Protocol (TCP) und im besonderen mit dem Internet Protocol (IP). Da beide Protokolle gewissermaßen eine Einheit bilden, sollen sie hier auch im Zusammenhang betrachtet werden. TCP/IP wurde 1969 vom amerikanischen Verteidigungsministerium, dem Department of Defense (DoD) entwickelt bzw. die Entwicklung in Auftrag gegeben. TCP/IP hat einige grundlegende Eigenschaften: - Offene Protokollspezifikationen, in sogenannten RFC (Request for Comment) Dokumenten festge- schrieben und veröffentlicht, unabhängig von Hardware und Betriebssystem. Eignet sich hervorragend zum Verbinden von unterschiedlicher Hard- und Software – auch ohne Internet-anbindung. - Unterschiedlichste Netzwerke und Netzwerkmedien können miteinander gekoppelt werden. - Einheitliches Adressierungsschema für jeden Rechner. Jedes beliebige System kann im Netzwerk bzw. im Internet eindeutig identifiziert werden. - Seit 1983 standardisiertes Protokoll bzw. Schnittstelle zu Anwenderprogrammen. Zur TCP/IP-Familie gehören mehrere Dienstprogramme (zu finden in den höheren OSI-Schichten), wie z.B.: FTP (RFC 959) – Das File Tranfer Protocol ermöglicht Dateidienste von Fremdsystemen in Anspruch zu nehmen und Dateien zwischen den Systemen auszutauschen bzw. zu kopieren. SMTP (RFC 821/822) – Das Simple Mail Transfer Protocol ist ein, auf der IP-Adressierung und auf einer im RFC 822 festgelegten Namensstruktur basierendes Mail-Protokoll. Bietet E-Mail Funktionen. Telnet (RFC 854) – Virtuelles Terminal-Protokoll um vom eigenen Rechnersystem einen interaktiven Zugang zu einem anderen zu realisieren. Ermöglicht die Online-Nutzung von Ressourcen anderer Rechner. NFS (RFC 1094) – Das Network File System ermöglicht den Zugriff auf Dateien in einem entfernten System, als wäre sie auf dem Eigenen (transparenter Datenzugriff). NFS basiert auf den User Datagram Protokoll (UDP). Im Unterschied zu TCP baut UDP keine gesicherte Verbindung zwischen den kommuni-zierenden Hosts auf und ist deshalb auch eher für den Einsatz in lokalen Netzen (LANs) geeignet. DNS (RFC 920) – Der Domain Name Service ermöglicht die Zuordnung von Netz- und Hostadressen zu Rechnernamen und umgekehrt. Jedes System erhält neben der Zuteilung einer (im Netz) eindeutigen IP-Adresse auch einen eindeutigen Rechnernamen. Die Namen eines jeden Rechners werden dann innerhalb der eigenen Firma/Organisation im zentralen Nameserver verwaltet. Aus Sicherheitsgründen wendet sich das angesprochene Zielsystem an den DNS, um zu prüfen, ob der IP-Adresse des auf-rufenden Quellsystems auch ein (Domain-) Namen zugeordnet werden kann. Falls dies nicht möglich ist, wird keine Verbindung aufgebaut. Auch für die Anwendung von SMTP sowie für FTP und Telnet ist der Domain Name Service erforderlich.
[02] Die Architektur Beispiel: DoD-Minimalkonfiguration
Ein IP-Datagram besteht aus einem Header und einem nachfolgenden Datenblock,
der dann wiederum z.B. in ein Ethernet-Frame eingebettet wird. Die maximale
Datenlänge muß auf die größte mögliche und
zulässige Rahmenlänge des physikalischen Netzes abgestimmt
sein. Da die Möglichkeit besteht, daß ein Datagramm auf seinem
Weg ein Teilnetz passiert, dessen Rahmenlänge kleiner ist, muß
es zum Weitertransport in mehrere (Teil-)Datagramme zerlegt werden.
Dazu werden die wesentlichen Teile des IP-Headers dupliziert und die
Daten dann in kleinere Blöcke unterteilt, so daß jedes Teildatagramm
seinen eigenen Header bekommt. Bei diesem Vorgang, fragment oder Fragmentierung
genannt, handelt es sich um eine rein netztechnische Maßnahme,
die den Quell- und Zielrechner (Host) nicht interessiert. In der umgekehrten
Funktion, reassembly genannt, werden die kleinen Datagramme wieder zu
einem größeren gepackt. Falls auf dem Übertragungsweg
nur ein Fragment verloren geht, muß das ganze Datagramm erneut
gesendet werden. Eine Empfehlung lautet, daß Datagramme bis zu
einer Länge von 576 Bytes unfrag-mentiert übertragen werden
können.
Das Internet-Protokoll ist ein verbindungsloser Dienst (im Gegensatz
zum X.25) mit einem sogenannten unreliable datagram service
d.h. auf IP-Ebene wird weder die Richtigkeit der Daten noch die Einhaltung
der Abfolge oder die Vollständigkeit der Daten überprüft.
Ein zuverlässiger, verbindungsorientierter Dienst wird dann in
der darüberliegenden TCP - Schicht realisiert.
Version: Kennzeichnung der IP-Protokollversion, wie
in diesem Falle IPv4 (Version 4).
[06] Das ICMP (Internet Control Message Protocol) ICMP ist ein fest integrierter Bestandteil des Internet Protokolls. Es befindet sich im Datenteil des IP-Datagramms und benutzt diesen wie ein ULP. ICMP bietet die einzige Möglichkeit Hosts und Gateways über den Zustand des Netzes zu informieren und erlaubt durch den Austausch von Kontroll-informationen, Fehler schon auf Protokollebene zu erkennen (z.B. wenn ein Host temporär nicht erreichbar ist). Wird überwiegend zum Einsatz von sogenannten ping Kommandos verwendet. Ein IP-Datagram einschl. ping Kommando wird gesendet und das empfangende System schickt nach max. 750ms einen sogenanntes echo reply zurück. Anhand der Zeitspanne die das echo reply tatsächlich benötigt um zurückzukehren, kann man folgendes erkennen: Das Netzwerk ist verfügbar (eventl. Übertragungsfehler mit Anwendungsprogrammen werden also nicht vom Netz verursacht); Probleme in der Übertragungskette lassen sich somit lokalisieren (zu welcher Station kommt man mit dem PING, zu welcher nicht mehr?). Wird kein echo reply empfangen, gilt dieses Paket als verloren. Der Host wird dann in der Regel zwei weitere Versuche unternehmen das Paket zu senden (und zu empfangen). Geschieht dies nicht, wird der Verbindungsaufbau abgebrochen. Außerdem bietet eine spezielle ICMP-Meldung leistungsschwächeren, empfangenden Systemen die Möglichkeit, sich gegenüber leistungsstärkeren, sendenden Systemen vor Datenüberlastung zu schützen (Source-Quench-Meldung). Type : Identifiziert die ICMP - Nachricht : (0) echo reply, (3) destination unreachable, (4) source quench, (5) redirect / change a Route, (8) echo request, (11) time exceeded for a datagram, (12) parameter problem on a datagram, (13) timestamp request, (14) timestamp reply, (15) information request, (16) information reply, (17) address mask request, (18) address mask reply Code : Detailinformation zum Nachrichtentyp Checksum : Prüfsumme der ICMP – Nachricht (Datenteil des IP-Datagramms) Identifier und Sequence number : Da eine Station mehrere Anfragen aussenden bzw. auf eine Anfrage mehrere Antworten zurückbekommen kann wird hier den einzelnen Fragen die jeweiligen Antworten zugeordnet.
[07] Die IP-Adresse und ihre Klassen Eine IP-Adresse (Source/Destination Address) ist eine 32 Bit breite duale Zahl, die normalerweise durch vier dezimale Werte – jeweils von Punkten abgetrennt – dargestellt wird. Jeder dieser dezimalen Werte entspricht 8 Bit, auch Oktett genannt, und kann einen Wert zwischen 0 und 255 darstellen: 10 . 182 . 44 . 40 (32 Bit - dezimale Darstellung) 00001010 . 10110110 . 00101100 . 00101000 (32 Bit - duale/binäre Darstellung) Jede IP-Adresse setzt sich aus zwei Teilen/Abschnitten zusammen, der eine adressiert das Netzwerk, der andere den Rechner. Die ersten ein, zwei, drei bzw. vier Bits der Adresse werden zur Definition der sogenannten IP-Klasse verwendet. Diese IP-Klasse, eingeteilt in A, B, C, D und E, bestimmt dann welcher Teil zur Netzadresse und welcher zur Rechneradresse gezählt wird (siehe Abbildung). Betrachtet man nur die ersten vier hochwertigsten Bits der IP-Adresse oder die dadurch möglichen dezimalen Darstellungen im ersten Oktett, läßt sich die IP-Klasse ganz einfach bestimmen : 0*** oder 1 – 126 (dezimal) : Class A : NNN.RRR.RRR.RRR 10** oder 128 – 191 (dezimal) : Class B : NNN.NNN.RRR.RRR 110* oder 192 – 223 (dezimal) : Class C : NNN.NNN.NNN.RRR 1110 oder 224 – 239 (dezimal) : Class D : (reserviert für Multicasting) 1111 oder 240 – 254 (dezimal) : Class E : (reserviert für zukünftige Anwendung) Besondere IP-Adressen: Neben der Adressierung von Host zu Host bietet IP auch die Möglichkeit mehrere Systeme gleichzeitig zu adressieren. Dies geschieht durch das "aufrunden" bzw. auf 1 setzen (dargestellt durch 255) von bestimmten Adressteilen/Oktetts. In allen Klassen gibt es deshalb besondere, reservierte Adressen, die nicht frei vergeben werden dürfen. IP-Adressen, in denen alle Rechnerbits auf 0 stehen, identifizieren das Netzwerk selbst. Routing-Tabellen verwenden dieses Adressformat, um komplette Netzwerke zu adressieren. 0 . 0 . 0 . 0 Zero Broadcast IP-Adressen, in denen alle Rechnerbits auf 1 stehen, werden als Broadcast Adressen bezeichnet. Diese werden verwendet um gleichzeitig alle Rechner im Netzwerk zu adressieren. Aus wirtschaft-lichen und anderen Gründen kann es allerdings sinnvoll sein, nur Teilbereiche im Netzwerk zu adressieren um z.B. nur die Rechner im selben Gebäude (LAN) anzusprechen. Bei diese Verfahren auch Teilnetz Broadcast genannt, wird der Netz-Adressanteil auf der Adresse, die für das eigene Netz gilt, belassen und nur der Rechner-Adressanteil verändert/erhöht. 255 . 255 . 255 . 255 Broadcast (alle Netze, alle Rechner) 10 . 255 . 255 . 255 Teilnetz Broadcast (gleiches Netz, alle Rechner) Hinweis: Durch einen Programmierfehler innerhalb eines weit verbreiteten UNIX-Sourcecodes, entstand auch die folgende Art der Adressierung: 0 . 0 . 0 . 0 Broadcast (alle Netze, alle Rechner) 10 . 0 . 0 . 0 Teilnetz Broadcast (gleiches Netz, alle Rechner) IP-Adressen für spezielle Testzwecke mit ping-Kommandos 127 . 0 . 0 . 0 Loopback-Netz 127 . 0 . 0 . 1 Loopback-Host (Software) IP-Adressen die in Eigenverantwortung für lokale Netzwerke frei verwendet werden dürfen, werden offiziell nicht geroutet : 10 . 0 . 0 . 1 - 10 . 255 . 255. 254 (Class A) 172 . 16 . 0 . 1 - 172 . 32 . 255 . 254 (Class B) 192 . 168 . 0 . 1 - 192 . 168 . 255 . 254 (Class C) IP-Adressen werden z.Zt. (noch) vom Network Information Center (NIC), einer zentralen Verwaltungsstelle, vergeben. Als privater Kunde eines Internet Service Providers erhält man eine IP-Adresse zugewiesen.
[08] Die Subnet-Mask Subnetz-Masken werden zur Verwaltung und Aufteilung von großen Netzen, beim Einsatz von verschiedenen physikalischen Netzwerkmedien (wie z.B. Ethernet, FDDI, ...), zur Bewahrung von Adressierungsplätzen, aus Sicherheitsgründen und vor allem um den Netzwerkverkehr zu kontrollieren eingesetzt. Mit Hilfe einer Subnetz-Maske kann die starre Klassenaufteilung der IP-Adressen in Netze und Rechner flexibel an die tatsächlichen Gegebenheiten angepaßt werden. Die Grenze zwischen dem Netz- und dem Rechneradressanteil wird Bitweise verschoben, Teile der Rechneradresse können so dem Netzadressanteil zur Verfügung gestellt werden. Dadurch erhöht man die Zahl der möglichen Netze und verringert gleichzeitig die Anzahl der jeweils adressierbaren Rechner. Diese neu entstandenen kleinen Netze werden dann als Subnetze bezeichnet. Diese ermöglichen es, viele verschiedene und weit entfernte Netze miteinander zu verbinden, da ja jedes Subnetz seine eigene Adresse hat und somit auch von Gateways adressierbar ist. Subnetze sind nur lokal bekannt, da die Verknüpfung mit der Subnetz-Maske erst im Gateway erfolgt. Diese haben dann die Möglichkeit ihre eigene IP-Adresse wiederum mit einer Subnetz-Maske zu verknüpfen, um weitere Subnetze aufzubauen. Standard Subnetz-Masken Vorgabe : Class A : 255 . 0 . 0 . 0 -> 11111111 . 00000000 . 00000000 . 00000000 Class B : 255 . 255 . 0 . 0 -> 11111111 . 11111111 . 00000000 . 00000000 Class C : 255 . 255 . 255 . 0 -> 11111111 . 11111111 . 11111111 . 00000000 Subnetzmasken werden Bitweise logisch mit der IP-Adresse addiert (AND) – man erhält die Netzwerkadresse. Am Beispiel einer fiktiven Klasse B Adresse läßt sich das veranschaulichen.
Um ein Klasse B Netz mit seinen 65534 Rechneradressen in mehrere kleine Subnetze zu unterteilen, besteht nun die Möglichkeit durch (auf 1/Hi) setzen von Bits in der Standard Subnetz-Maske den Netz-Adressanteil Bitweise zu vergrößern/verschieben. Entscheidend sind hierbei die - vom Netzadressanteil ausgehend - im eigentlichen Rechner-Adressanteil (in Folge) gesetzten (Hi-) Bits. Mit anderen Worten: Bits die der Netzwerk-Adresse angehören sollen, werden mit 1 belegt. Bits die der Rechner-Adresse angehören sollen, werden mit 0 belegt.
Achtung: Eventl. falsche Darstellung der Netz/Rechner-Grenze im Netscape Navigator, Farbe beachten! Die hinzu gewonnenen 4 Bits werden nun zur Subnetz-Adressierung und die restlichen 12 Bits weiterhin zur Rechner-Adressierung verwendet. D.h. wir haben nun 2hoch4–2 Subnetze (= 14) mit je 2hoch12–2 Rechner-Adressen (= 4094). Insgesamt können so 57316 Rechner in 14 Netzen, anstatt 65534 Rechner in nur einem Netz adressiert werden. Zur Ermittlung der Broadcast-Adresse werden dann alle verbleibenden Rechnerbits auf 1 gesetzt.
[09] Die erlaubten Subnetz- und Host- IP-Adressen Klasse A
Klasse B
Klasse C
* Die Anzahl der auf 1 gesetzten Bits im Rechneradressanteil
[10] Die Zukunft Abgesehen von der Möglichkeit, IP-Adressen nur in starre Klassen einzuteilen und damit oft nicht benötigte Adressen zu vergeben, wurde 1992 ein klassenloses Verfahren - supernetting oder CIDR (Classless InterDomain Routing) genannt - entwickelt. Mit diesem Verfahren, im RFC 1519 dokumentiert, lassen sich mehrere Subnetze mit einer IP-Adresse ansprechen. Die Schreibweise der Subnetz-Maske ist auf eine durch einen Schrägstrich abgetrennte Zahl, die die Anzahl der auf 1 gesetzten Bits angibt, reduziert. Die Subnetz-Maske aus dem oberen Beispiel liest sich dann: /20 . Damit soll sichergestellt werden, daß trotz der exponentiellen Zuwachsraten im Internet auch in den nächsten Jahren noch freie Adressen zur Verfügung stehen. Erst mit der Einführung von Ipv6, dann mit einer 128 Bit breiten Adresse, stehen rein rechnerisch jedem Mensch dieser Erde - auch ohne super- oder subnetting - mehrere Millionen IP-Adressen zur Verfügung.
[11] Das Quellenverzeichnis Spicer Roger L., Chappell Laura A., Dixon Collin E.: Novell´s Guide to Internet Access Solutions. San Jose: Novell Press 1996 Plate Jürgen Prof.: Multimedia in Netzen. Vorlesung FH-München: August 1997 Multimedia CD-ROM: TCP/IP. Datacom Verlag 1997 Hunt, Craig: TCP/IP Netzwerk Administration. O’Reilly Washburn Kevin, Evans Jim: TCP/IP. Addison-Wesley Diverse Internet Quellen und Informationen : Rothacker Martina: TCP/IP Grundlagen. Juni 1996 Becker Ralph: IP Addressing. August 1997 Schwarz Norbert: IP Subnetznummern. März 1996
|