Netzwerktechnik: Protokolle
Computer oder andere digitale Geräte benötigen Netzwerkprotokolle, um zahlreiche Funktionen wie z.B. den Austausch von Daten untereinander zu gewährleisten oder erst zu ermöglichen.
Internet-Protokolle werden in den RFC-Dokumenten diskutiert und standardisiert. Ebenso werden alle weiteren, das Internet betreffende Implementierungen in den RFCs erörtert, diskutiert und ggf. standardisiert. Die wesentlichen RFCs haben dabei den Status erforderlich (required), empfohlen (recommended), oder optional (elective). Andere RFCs können auch als experimentell (experimental) oder historisch (historic) bezeichnet werden.
TCP/IP
[Bearbeiten]TCP/IP steht für zwei Protokolle, die das Herzstück dieser Protokoll-Familie bilden: Das Transmission Control Protocol und das Internet Protocol.
TCP/IP entstand mit dem Internet seit 1983 und hat mehrere Ziele:
* Hardwareunabhängigkeit * keine zentrale Verwaltung, kein zentraler Knoten, dadurch höhere Ausfallsicherheit * applikationsunabhängig, es kann also für verschiedenste Zwecke genutzt werden
TCP
[Bearbeiten]Das Transmission Control Protocol (TCP) ist ein zuverlässiges, verbindungsorientiertes Transportprotokoll in Computernetzwerken. Es ist Teil der TCP/IP-Protokollfamilie. Und wurde von Robert E. Kahn und Vinton G. Cerf entwickelt. Ihre Forschungsarbeit, die sie im Jahre 1973 begannen, dauerte mehrere Jahre. Die erste Standardisierung von TCP erfolgte deshalb erst im Jahre 1981 als RFC 793.
TCP verwendet für den Verbindungsaufbau zwischen den zwei kommunizierenden Systemen den Three-Way-Handshake.
TCP-Header
[Bearbeiten]Die Informationen des Headers sind in Blöcken zu 32-bit zusammengefasst. Selbst wenn ein Header länger wird, beträgt die Länge immer ein Vielfaches von 32-bit. Die eigentlichen Informationen sind dabei 20-Byte lang.
Der Header besteht aus folgenden Elementen:
Source Port(16-bit), Destination Port(16-bit), Sequence Number(32-bit), Acknowledgment Number(32-bit), Header Lenght(4-bit), Flags(12-bit), Fenstergrösse, Prüfsumme, Dringlichkeitszeiger, Optionen
Three-Way-Handshake
[Bearbeiten]Dabei handelt es sich um ein Verfahren, bei dem zwei Systeme zu Beginn einer Datenaustauschsequenz eine Synchronisation des TCP-Dienstes durchführen.
Dieses Verfahren basiert auf drei Schritten:
1. Im ersten Packet übermittelt der Sender eine Synchronisationsanforderung (SYN) mit einer Sequenznummer: Seqn = X.
2. Der Empfänger schickt eine Sysnchronisationsbestätigung (ACK). Dazu wird die empfangene Synchronisationsnummer um 1 erhöht und als ACK = X + 1 mitgesendet. Gleichzeitig fordert der Empfänger seinerseits eine Synchronisation (SYN) an, die ebenfalls eine Sysnchronisationsnummer (Seq = Y)enthält.
3. Der Sender übermittelt eine Bestätigung (ACK). Dieses Packet enthält die eigene Synchronisationsnummer ( Seq = x + 1) und eine Bestätigungsnummer (ACK = Y + 1).
UDP
[Bearbeiten]Das User Datagram Protocol (UDP) ist ein verbindungsloses Protokoll das zur Transportschicht der TCP/IP-Protokollfamilie gehört und im Gegensatz zu TCP nicht auf Zuverlässigkeit ausgelegt ist. Dafür ist es sehr schnell und erzeugt nicht so eine hohe Netzlast wie sein großer Bruder TCP.
Der Vorteil gegenüber TCP liegt im deutlich verringerten Overhead. So kommt der Protokoll-Header mit der festen Grösse von 8-byte aus, und durch den Wegfall der Acknowledgment-Sendungen wird zusätzliche Bandbreite gespart.
UDP-Header
[Bearbeiten]Aufbau des Headers:
Source-Port, Destination-Port, UDP-Header-Längeninformation, Prüfsumme
Internet Protokoll (IP)
[Bearbeiten]IPv4
[Bearbeiten]IPv4, früher einfach IP, ist die vierte Version des Internet Protocols (IP). Es war die erste Version des Internet Protocols das weit verbreitet und eingesetzt wurde und bildet eine wichtige technische Grundlage des Internets. Es wurde in RFC791 im Jahr 1981 von Jon Postel definiert.
Adressaufbau
[Bearbeiten]IPv4 benutzt 32-Bit Adressen, dadurch sind maximal 4.294.967.296 eindeutige Adressen möglich. IPv4-Adressen werden dezimal geschrieben (z. B. 80.130.234.185). Je nach dem welche Subnetmaske verwendet wird, besteht die Adresse aus einem Netzwerk und einem Adressteil.
In einem Klasse A Netz mit der Subnetmaske 255.0.0.0 besteht der Netzwerkteil aus 7 Bit (Theoretisch besteht er aus 8 Bit, da aber das erste Bit immer 0 ist wird mit 7 Bit gerechnet.) Das heißt das der Netzwerkteil bei einer Klasse A IP nur aus der ersten Oktett besteht. (10.0.0.254)
Adressklassen
[Bearbeiten]Klasse | Adressbereich | Subnetze | Adressen | |
A | 1.0.0.1 - 127.255.255.254 | 126 | 16777214 | |
B | 128.0.0.1 – 191.255.255.254 | 16384 | 65534 | |
C | 192.0.0.1 – 223.255.255.254 | 2097152 | 254 | |
D | 224.0.0.0 – 239.255.255.255 | 1441791 | 254 | |
E | 240.0.0.0 – 255.255.255.255 | - | - |
Reservierte Bits
[Bearbeiten]Klasse A | 0 | |||||
Klasse B | 1 | 0 | ||||
Klasse C | 1 | 1 | 0 |
In Klasse A ist ein Bit, in Klasse B 2 Bit und in Klasse C 3 Bit bereits reserviert.
Header
[Bearbeiten]Der Ipv4 Header ist in der Regel 20 Bytes lang. Jedoch ist es möglich durch weitere ungenutzte Optionen den Header auf bis zu 60 Bytes (in 4 Byte schritten) zu verlängern.
0 | 4 | 8 | 12 | 16 | 19 | 24 | 31 |
Version | IHL | Type of Service | Länge | ||||
Identifikation | Flags | Fragment Offset | |||||
TTL | Protokoll | Prüfsumme | |||||
Quell IP-Adresse | |||||||
Ziel IP-Adresse | |||||||
evtl. Optionen ... |
Feld | Bedeutung | Bitlänge |
Version | Version (IPv4/IPv6) | 4 Bits |
IHL | IP-Header Length | 4 Bits |
TOS | Type of Service | 8 Bits |
Gesamtlänge | Länge des IP-Datagramms | 16 Bits |
Identifikation | 16 Bits | |
Flags | 3 Bits | |
Fragmentoffset | 13 Bits | |
TTL | Time to Live | 8 Bits |
Nutzlastprotokoll | 1=ICMP, 2=IGMP, 6=TCP, 17=UDP | 8 Bits |
Kopfprüfsumme | Prüfwert aus den vorausgegangenen 12 Oktetten. | 16 Bits |
Subnetting
[Bearbeiten]Die IP- Adresse setzt sich wie folgt zusammen:
192 . 168 . 18 . 9
11000000 .10101000 .00010010 .00001001
(Sowohl an den Bereich in dem die IP liegt, als auch an den ersten 3 Bit der Adresse kann man erkennen dass es sich um eine Klasse C IP handelt.)
Subnet Mask
11111111 .11111111 .11111111 .11000000
255 . 255 . 255 . 192
Man muss die Subnet Mask auf die IP- Adresse legen um so den Netz- und den Host- Anteil herauszufinden. Die 1 in der Subnet Mask gibt den Netzteil an, sobald die Kette einmal durch eine 0 unterbrochen wird müssen auch Nullen folgen. Die 0 gibt den Hostanteil an. Mit Subnetting kann man Netze aufteilen ohne sie Physikalisch voneinander zu trennen.
Für Beispiel oben könnten die IP- Adressen lauten:
Letztes Netz | : Oktet Host | : IP- Adresse Dezimal |
00 | : 1.....1 | : 1-63 |
01 | : 1.....0 | : 64- 127 |
10 | : 1.....0 | : 128- 191 |
11 | : 1.....0 | : 192- 254 |
Díe Leute in 1-63 bilden ein eigenes Netz genau wie 64-127, 128- 191, 192-254.Nur die Teilnehmer die im gleichen IP-Bereich sind können sich untereinander "sehen" und Daten austauschen. Um so kleiner die Netze unterteilt werden desto größer wird auch der Verwaltungsaufwand.
Private Adressen
[Bearbeiten]Private Adressen bezeichnen IP Adressen bzw. Subnetmasken die im Internet nicht gerouted werden und deshalb von jedem für jeden Zweck verwendet werden können. Deshalb müssen Verfahren wie zum Beispiel NAT eingesetzt werden, um eine Adressumsetzung zu ermöglichen.
Man muss private IP-Adressen benutzen, weil
- man aus Sicherheitsgründen die internen IP-Adressen verstecken will
- man vom ISP nur eine IP-Adresse zugeteilt bekommt
Klasse
Adressbereich
Netzmaske
CIDR-Schreibweise
Anzahl der möglichen Adressen
A
10.0.0.0 - 10.255.255.255
255.0.0.0
10.0.0.0/8
16777216
B
172.16.0.0 - 172.31.255.255
255.240.0.0
172.16.0.0/12
1048576
C
192.168.0.0 - 192.168.255.255
255.255.0.0
192.168.0.0/16
65536
Reservierte IP Adressen
[Bearbeiten]Adresse | Bedeutung |
0.0.0.0 | Standard-Ziel-IP für Routing |
127.0.0.1 | Loopback (eigener Host) |
IPv6
[Bearbeiten]IPv6, das Internet Protocol Version 6, ist der Nachfolger des gegenwärtig im Internet noch fast ausschließlich verwendeten Internet Protocol v4.
Adressaufbau
[Bearbeiten]Eine IPv6-Adresse ist 128 Bit lang (IPv4: 32 Bit). Damit gibt es etwa IPv6-Adressen. Das bedeutet für jeden Quadratmillimeter (!) Erdoberfläche könnten ca. 667 Billiarden Adressen bereitgestellt werden.
IPv6-Adressen werden nicht mehr in dezimaler (zum Beispiel 80.130.234.185), sondern in hexadezimaler Notation mit Doppelpunkten geschrieben: 243f:6a88:85a3:08d3:1319:8a2e:0370:7344. Wenn eine 16-Bit-Gruppe den Wert 0000 hat, können die Ziffern weggelassen werden, so dass zwei Doppelpunkte aufeinander folgen. Wenn dann mehr als zwei Doppelpunkte aufeinander folgen, können diese auf zwei Doppelpunkte reduziert werden, solange es in der resultierenden Adresse nur einmal zwei aufeinander folgende Doppelpunkte gibt. 0588:2353::1428:57ab ist also das selbe wie 0588:2353:0000:0000:0000:0000:1428:57ab, aber 3906::25de::cade wäre nicht erlaubt, da zweimal zwei Doppelpunkte in der Zeichenkette vorkommen – ein Computer wüsste nicht, wo mit wie vielen Nullen aufzufüllen wäre.
Die ersten 64 Bit der IPv6-Adresse dienen üblicherweise der Netzadressierung, die letzten 64 Bit können zur Host-Adressierung verwendet werden – hiermit wird elegant das Konzept der Netzmasken von IPv4 implementiert. Bei Bedarf können auch andere Netzmasken eingesetzt werden.
Die korrekte Form einer IPv6-Adresse in einem URL ist http://[243f:6a88:85a3:08d3:1319:8a2e:0370:7344]/ .
Vorteile gegenüber IPv4
[Bearbeiten]- Der Adressraum beträgt statt Adressen.
- Mehr Sicherheit (IPSec ist bereits integriert)
- DHCP ähnliche Autokonfiguration
- Quality of Service wird möglich
IPv9
[Bearbeiten]Der an die Internetprotokolle IPv4 und IPv6 angelegte Name IPv9 steht für ein von der Volksrepublik China entwickeltes Internetprotokoll. Zur Zeit ist IPv9 jedoch noch kein offizielles Protokoll da es den Normierungsprozess der zuständigen Organisation IETF noch nicht erfolgreich durchlaufen hat.
Sollte IPv9 in China zum Einsatz kommen würde das ein vom Internet abgeschottetes Netzwerk bedeuten. Da es bei dieser Technik Übersetzungsknoten zum eigentlichen Internet bedarf, stellen diese einen logischen Punkt zur Netzwerküberwachung da. Dies lässt vermuten, dass diese Technologie von China zu Kontrollzwecken verwendet werden soll.
ICMP
[Bearbeiten]Ist die Abkürzung für: Internet-Control-Message-Protokoll. Dieses dient dem Austausch von Fehlermeldungen und Kontrollnachrichten zwischen Geräten auf IP-Ebene. ICMP-Nachrichten werden als Nutzlast um Datenbereich von IP-Paketen transportiert.
NetBIOS
[Bearbeiten]NetBIOS (Network Basic Input Output System) ist eine Programmierschnittstelle, die 1983 von IBM entwickelt wurde, um die Kommunikation zwischen zwei Programmen über ein Netzwerk zu ermöglichen.
Das Microsoft-Netzwerk basiert auf NetBIOS. Später wurde NetBIOS durch NetBEUI erweitert. Heutzutage wird NetBIOS als Transportprotokoll in Firmennetzen sehr selten eingesetzt.
NetBEUI
[Bearbeiten]NetBEUI (NetBIOS Extended User Interface) ist ein Netzwerkprotokoll.
Es ist auf dem Protokoll Server Message Block (SMB) aufgebaut. Der Protokollkopf ist 132 Bit groß. Es ist klein und schnell, aber leider nicht für große Netzwerke geeignet (ca. 10- 20 Benutzer), weil es nicht routbar ist. Es nutzt keine IP-Adressen, Basis für den Datentransport sind Hardware-Adressen (MAC-Adressen). Eine Identifizierung erfolgt nur per Hostname.
IPX/SPX
[Bearbeiten]IPX, Internetwork Packet eXchange, ist ein von Novell entwickeltes Netzwerkprotokoll.
Es wurde für das Netzwerkbetriebssystem (NOS) NetWare entwickelt und ist ein verbindungsloses proprietäres Protokoll mit Routing-Fähigkeiten. Mit Hilfe des Service Advertising Protocols (SAP) ist es möglich die innerhalb eines IPX-Netzwerks angebotenen Dienste zu finden. Funktionell entspricht IPX dem IP von TCP/IP, SPX entspricht dem TCP des TCP/IP.
Mit zunehmender Verbreitung des Internets Mitte der 90er, verloren die NetWare-Server an Bedeutung und auch das IPX-Protokoll wird heute kaum noch eingesetzt und wurde in den neueren Netware Versionen durch TCP/IP ersetzt. Es wird aber noch immer unterstützt.
WINS
[Bearbeiten]WINS oder auch Windows Internet Naming Service ist ein von Microsoft entwickeltes Protokoll das zur dynamischen Auflösung von NetBIOS-Namen dient. Seit Windows 2000 wird allerdings mehr auf das DNS Protokoll mit Active Directory gesetzt. WINS ist hauptsächlich wegen der abwärtskompatibilität noch vorhanden.