Netzwerkprotokolle
Diese Seite beschreibt die Netzwerkprotokolle in der IT und geht dabei auf das TCP-Protokoll, das IP-Protokoll und das UDP-Protokoll ein. Hier wird die Funktionsweise (Was ist die Funktion?), wofür sie gut sind und der Aufbau der Header beschrieben und erklärt. Sprich die Hauptaufgaben, die Eigenschaften der einzelnen Protokolle und die wichtigsten Funktionen.
Netzwerkprotokolle (TCP-Protokoll)
Was ist ein TCP- Protokoll? Wieso heißt das TCP/IP-Protokoll? Was ist das IP-Protokoll?
Das TCP auch Transmission Control Protocol genannt. Ist ein zentrales Protokoll, welches die Hauptaufgabe erfüllen soll Daten zuverlässig und geordnet zwischen zwei Endpunkten zu übertragen. Oft wird es auch TCP/IP-Protokoll genannt da das Internet Protokoll (IP), dafür zuständig ist die Daten in sogenannte Pakete zu verpacken und so dann ein Datenaustausch zwischen zwei Geräten statt finden kann. Das IP-Protokoll hat auch die Aufgabe Routing zu betreiben, das bedeutet es sucht den schnellsten Weg heraus um ein Datenpaket so schnell wie möglich zu Übertragen. Dieses wird auch als TCP/IP-Stack bezeichnet. Das bedeutet, dass das TCP- und das IP- Protokoll eng miteinander arbeiten.
Hauptaufgaben vom TCP-Protokoll
Wichtig dabei sind fünf Hauptaufgaben das sind die Zuverlässigkeit (Reliability), die Reihenfolge der Pakete (Ordered Delivery), die Fehlererkennung und die Korrektur dieser Fehler, die Flusskontrolle (Flow Control) und die Überlastkontrolle (Congestion Control).
Zuverlässigkeit: Dieses sorgt dafür das alle gesendeten Datenpakete auch vollständig und korrekt angekommen sind, bei Fehlererkennungen wird dieses einfach noch einmal übertragen.
Reihenfolge der Pakete: Datenpakete können ungeordnet bei dem Empfänger ankommen und diese Aufgabe sorgt dafür das die Pakete in der richtigen Reihenfolge zusammengesetzt werden, bevor die Anwendung das Paket erhält.
Fehlererkennung und Korrektur: In diesen Datenpaketen werden Prüfsummen eingebunden die beim Empfänger überprüft werden. Falls diese beim Empfang nicht mehr übereinstimmen wurde dieses Datenpaket bei der Übertragung beschädigt und wird dann, noch einmal abgeschickt.
Flusskontrolle: Es regelt auch die Datenübertragungsgeschwindigkeit zwischen Sender und Empfänger, damit sicher gestellt werden kann das der Empfänger nicht mit Daten überlastet wird.
Überlastkontrolle: Versucht wird auch die Netzwerkauslastung zu minimieren, das bedeutet die Übertragungsgeschwindigkeit wird auch dynamisch den Netzwerkbedingungen angepasst.
Wie funktioniert TCP genau?
Das TCP-Protokoll ist ein verbindungsorientiertes Protokoll, das bedeutet es muss vor der Übertragung eine Verbindung zwischen Sender und Empfänger aufgebaut werden. Das ganze wird durch den Drei-Wege-Handshake durchgeführt:
1. SYN: Der Client sendet eine Nachricht mit einem Synchronisierungsbit an den Server/Empfänger um eine Verbindung mit diesem anzufordern.
2. SYN-ACK: Der Server/Empfänger antwortet dem Sender mit einer Bestätigung und sendet eine Synchronisierungsanforderung zurück an den Sender.
3. ACK: Als letzten Schritt bestätigt der Client/Sender den Empfang der Nachricht des Empfängers/Servers mit einer ACK-Nachricht und so kann dann die Verbindung dieser beiden Netzwerkteilnehmer aufgebaut werden und der Datenaustausch kann beginnen.
Wo findet TCP-Protokoll Anwendung?
Typische Anwendungen dafür sind Webbrowsing (HTTP, HTTPS), also aufrufen einer Website damit die Website auch zuverlässig übertragen werden kann. Dann bei E-Mail (SMTP, IMAP, POP3), damit die E-Mail auch so ankommt wie diese verfasst wurde. Zu guter letzt bei Dateiübertragungen (FTP, SFTP), dabei ist dann sicher zu stellen das bei der Datenübertragung keine Daten verloren gehen können.
Netzwerkprotokolle (IP)
Wie oben schon beschrieben ist dieses Protokoll wichtig dafür, das Datenpakete von einer Quelle zum Ziel so schnell wie möglich über den einfachsten Weg durchs Netzwerk geleitet werden und beim Empfänger ankommen.
Wichtige Eigenschaften des IP-Protokolls:
1. Verbindungslose Übertragung, dass ist eine Verbindung bei der nicht extra eine Verbindung zwischen Sender und Empfänger aufgebaut werden muss.
2. Unzuverlässig, das Problem bei diesem Protokoll es gibt keine Kontrolle dass das Datenpaket auch ordentlich beim Empfänger angekommen ist.
3. Es gibt eine Datenpaketstruktur und zwar steht im Header immer die Information wie Quell- und Ziel-IP-Adresse sowie die Steuerinfo. Auch steht natürlich der eigentliche Datenteil drin, dieser wird auch Payload genannt.
4. Zudem kommt wie oben auch genannt das Routing noch dazu, welches entscheidet über welchen Weg das Datenpaket am besten am Empfänger ankommt.
Dieses wird durch Router realisiert, die das Datenpaket anhand von Routing-Tabellen (Nachschlagewerk für Router, Inhalt: Netzwerkadressen (Ziel-IP-Adresse oder Netzwerk), Nächster Hop (nächster Router oder Gerät), Schnittstelle (Netzwerkanschluss der Weiterleitung) und Metrik (Kosten und Entfernung)) weiterleiten.
Welche Arten von IP-Adressen gibt es?
Es gibt das IPv4 (Internet Protocol Version 4) und das IPv6 (Internet Protocol Version 6) Modell.
Das IPv4 Modell sieht so aus 192.168.1.1 und hat so insgesamt eine Länge von 32 Bit, dies wird dargestellt als vier Oktette in dezimaler Darstellung. So sind 2^32 also 4,3 Milliarden Adressen möglich.
Das IPv6 Modell hat eine Länge von 128 Bits und wird als Hexadezimal dargestellt, also von 0 - F. Also sieht so aus: 2001:0dg3:85a3:0000:0000:8a2b:0380:7334. Ebenfalls gibt es dort auch noch ein paar mehr Sicherheitsfeatures und mehr Möglichkeiten der Konfiguration im Netzwerk.
Was hat das ganze jetzt aber mit dem ICMP-Protokoll zu tun?
Das ICMP - Protokoll welches auch gleich Internet Control Message Protocol genannt wird. Ist ein Protokoll welches den Sender Benachrichtigt mit einer Fehlermeldung, wenn das Datenpaket nicht an den Empfänger übergeben werden konnte. Das ganz einfache Beispiel wäre dafür der Ping - Befehl beim PC. Bei keiner Antwort des anderen Teilnehmers im Netzwerk weiß man, dass dieser aktuell nicht erreichbar ist unter seiner aktuellen Adresse.
Netzwerkprotokolle (UDP)
Was genau ist jetzt aber das UDP-Protokoll?
Das UDP-Protokoll ist ähnlich des TCP-Protokolls und ist auch für die Übertragung von Datenpaketen zuständig allerdings ist dies auch wieder ein verbindungsloses Protokoll. Bei diesem Protokoll kommt es aber nicht auf die Zuverlässigkeit an, das alle Daten ordnungsgemäß Übertragen werden, es kommt hierbei vielmehr auf die Effizienz und Geschwindigkeit an. Es gibt auch keine Kontrolle ob das Netzwerk überlastet ist oder der Empfänger mit den Daten überfordert ist.
Wann kommt UDP in Einsatz?
Es wird bei VoIP (Voice over IP), bei Videostreaming, bei Multiplayerspielen und es wird bei der DNS Abfrage verwendet.
Das Fazit von UDP-Protokoll?
Es wird dort verwendet wo Geschwindigkeit und Effizienz bei der Datenübertragung wichtiger sind als alles andere. Dieses wird häufig für die Echtzeitkommunikation verwendet, wo dann kleine Verluste von Datenpaketen verkraftbar sind.
Aufbau der einzelnen Netzwerkprotokolle / TCP, UDP, IPv4, IPv6
Header des TCP-Protokolls:
Die mindest Länge des Headers sind 20 Bytes.
- Quellport -> 16 Bits -> das sendende Gerät
- Zielport -> 16 Bits -> das empfangene Gerät
- Sequenznummer -> 32 Bits -> Position der Daten im Strom
- Bestätigungsnummer -> 32 Bits -> Bestätigt Empfang der Daten vom Partner
- Headerlänge -> 4 Bits -> Gibt die Länge des TCP-Headers an
- Reserviert -> 3 Bits -> reserviert für zukünftige Nutzungen
- Flags -> 9 Bits -> verschiedene Kontrollflags
- Fenstergröße -> 16 Bits -> Flusskontrolle (Menge der Daten)
- Prüfsumme -> 16 Bits -> Fehlererkennungen für Header und Prüfdaten
- Urgent Pointer -> 16 Bits -> gibt Position dringender Daten an
- Optionen -> variable -> Zusätzliche Infos
- Nutzdaten -> variable -> eigentliche Daten der Übertragung
Header des UDP-Protokolls:
Die mindest Länge des Headers sind 8 Bytes.
- Quellport -> 16 Bits -> das sendende Gerät
- Zielport -> 16 Bits -> das empfangene Gerät
- Länge -> 16 Bits -> Gesamtgröße (Header + Daten)
- Prüfsumme -> 16 Bits -> Fehlererkennung Header und Nutzdaten
- Nutzdaten -> variable -> eigentlichen Daten für die Übertragung
Header des IPv4-Protokolls:
Die mindest Länge des Headers sind 20 Bytes.
- Version -> 4 Bits -> IP-Version
- Headerlänge -> 4 Bits -> Länge IP-Header in 32 Bit
- Diensttyp -> 8 Bits -> Art des Dienstes
- Gesamtlänge -> 16 Bits -> Gesamtgröße des IP-Paketes
- Identifikation -> 16 Bits -> Eindeutige Kennung des Pakets
- Flags -> 3 Bits -> Steuerinformation
- Fragmentoffset -> 13 Bits -> Position des Fragmentes
- TTL -> 8 Bits -> Maximale Anzahl von Hops, bevor Paket verworfen
- Protokoll -> 8 Bits -> Gibt Protokoll an (z.B.: TCP=6Bit, UDP=17Bit)
- Prüfsumme -> 16 Bits -> Fehlererkennung IP-Header
- Quell-IP-Adresse -> 32 Bits -> IP des Absenders
- Ziel-IP-Adresse -> 32 Bits -> IP des Empfängers
- Optionen -> variable -> Zusätzliche Steuerinfos
- Nutzdaten -> variable -> Daten die transportiert werden
Header des IPv6-Protokolls:
Die mindest Länge des Headers sind 40 Bytes.
- Version -> 4 Bits -> IP-Version IPv6
- Verkehrsklasse -> 8 Bits -> Art des Dienstes
- Flow Label -> 20 Bits -> Kennzeichnung für Flows (QoS)
- Payload-Länge -> 16 Bits -> Länge der Nutzdaten
- Next Header -> 8 Bits -> nächste Protokoll im Stack an (TCP/UDP)
- Hop-Limit -> 8 Bits -> wie oft Paket weitergeleitet wird
- Quell-IP-Adresse -> 128 Bits
- Ziel-IP-Adresse -> 128 Bits
- Nutzdaten -> variable -> eigentlichen Daten
Links / Quellen
-> elektronik-kompendium / TCP - TCP - Transmission Control Protocol - Zugriff am 18.12.2024
-> ionos digital guide / IONOS Redaktion - Was ist das Internet Protocol? - Definition von IP&CO - Zugriff am 18.12.2024
-> cloudflare / UDP - Was ist das User Datagram Protocol? - Zugriff am 18.12.2024
-> checkmk / Netzwerkprotokolle - Allgemeine Infos zu Netzwerkprotokolle, Arten und Funktion - Zugriff am 18.12.2024
-> englert.one / Thomas Englert - ICMP - Internet Control Message Protocol - Zugriff am 18.12.2024