109.1 Lektion 2
Zertifikat: |
LPIC-1 |
---|---|
Version: |
5.0 |
Thema: |
109 Netzwerkgrundlagen |
Lernziel: |
109.1 Grundlagen von Internetprotokollen |
Lektion: |
2 von 2 |
Einführung
In der vorangegangenen Lektion haben wir gesehen, dass der TCP/IP-Stack aus einer Reihe von verschiedenen Protokollen besteht. Bisher haben wir uns mit dem Protokoll IP beschäftigt, das die Kommunikation zwischen Maschinen über IP-Adressen, Masken, Routen usw. ermöglicht.
Damit ein Host auf einen Dienst zugreifen kann, der auf einem anderen Host verfügbar ist, muss neben dem IP-Adressierungsprotokoll auf der Netzwerkschicht ein Protokoll auf der Transportschicht eingesetzt werden, z.B. die Protokolle TCP und UDP.
Sie führen diese Kommunikation über Netzwerkports durch. Neben der Definition einer Quell- und Ziel-IP werden also Quell- und Zielports für den Zugriff auf einen Dienst benötigt.
Der Port wird durch ein Feld mit 16-Bit identifiziert, so dass die Anzahl der möglichen Ports auf 65535 begrenzt ist. Die Dienste (Ziel) nutzen die Ports 1 bis 1023, die auch privilegierte Ports heißen, weil sie Root-Zugriff auf das System haben. Der Ursprung der Verbindung nutzt Ports aus dem Bereich 1024 bis 65535, die nicht privilegierte Ports oder Socketports heißen.
Die von den einzelnen Diensttypen verwendeten Ports sind standardisiert und werden von der IANA (Internet Assigned Numbers Authority) kontrolliert. Das bedeutet, dass auf jedem System Port 22 vom SSH-Dienst verwendet wird, Port 80 vom HTTP-Dienst und so weiter.
Die folgende Tabelle nennt die wichtigsten Dienste und ihre jeweiligen Ports.
Port | Service |
---|---|
20 |
FTP (Daten) |
21 |
FTP (Kontrolle) |
22 |
SSH (Secure Socket Shell) |
23 |
Telnet (Fernverbindung ohne Verschlüsselung) |
25 |
SMTP (Simple Mail Transfer Protocol), Mailversand |
53 |
DNS (Domain Name System) |
80 |
HTTP (Hypertext Transfer Protocol) |
110 |
POP3 (Post Office Protocol), Mailempfang |
123 |
NTP (Network Time Protocol) |
139 |
Netbios |
143 |
IMAP (Internet Message Access Protocol), Mailabruf |
161 |
SNMP (Simple Network Management Protocol) |
162 |
SNMPTRAP, SNMP-Benachrichtigungen |
389 |
LDAP (Lightweight Directory Access Protocol) |
443 |
HTTPS (Secure HTTP) |
465 |
SMTPS (Secure SMTP) |
514 |
RSH (Remote Shell) |
636 |
LDAPS (Secure LDAP) |
993 |
IMAPS (Secure IMAP) |
995 |
POP3S (Secure POP3) |
Auf einem Linux-System sind die Standard-Serviceports in der Datei /etc/services
aufgeführt.
Die Identifizierung des gewünschten Zielports bei einer Verbindung erfolgt durch das Zeichen :
(Doppelpunkt) nach der IPv4-Adresse. Sucht der Client also Zugang zum HTTPS-Dienst, den der IP-Host 200.216.10.15
anbietet, muss er die Anfrage an das Ziel 200.216.10.15:443
senden.
Die oben genannten und alle anderen Dienste nutzen ein Transportprotokoll, das den vom Dienst geforderten Eigenschaften entspricht, wobei TCP und UDP die wichtigsten sind.
Transmission Control Protocol (TCP)
TCP ist ein verbindungsorientiertes Transportprotokoll. Das bedeutet, dass eine Verbindung zwischen dem Client über den Socketport und dem Dienst über den Standardport des Dienstes aufgebaut wird. Das Protokoll stellt sicher, dass alle Pakete ordnungsgemäß zugestellt werden, indem es Integrität und Reihenfolge der Pakete überprüft — einschließlich der erneuten Übertragung von Paketen, die aufgrund von Netzwerkfehlern verloren gegangen sind.
Die Anwendung muss die Datenflusskontrolle nicht implementieren, da TCP diese bereits gewährleistet.
User Datagram Protocol (UDP)
UDP stellt eine Verbindung zwischen Client und Service her, kontrolliert aber nicht die Datenübertragung dieser Verbindung. Es überprüft also nicht, ob Pakete verloren gegangen sind, ob sie nicht in Ordnung sind usw. Die Anwendung ist dann für die Implementierung der notwendigen Kontrollen verantwortlich.
Da es weniger Kontrolle gibt, bietet UDP bessere Leistung im Datenfluss, was für einige Arten von Diensten wichtig ist.
Internet Control Message Protocol (ICMP)
ICMP ist ein Protokoll der Netzwerkschicht im TCP/IP-Stack, dessen Hauptfunktion darin besteht, Netzwerkelemente zu analysieren und zu kontrollieren. Dazu gehört unter anderem:
-
Kontrolle des Datenvolumens
-
Erkennung nicht erreichbarer Ziele
-
Umleitung der Route
-
Statusüberprüfung entfernter Rechner
Es ist das Protokoll, das der Befehl ping
nutzt, der an anderer Stelle besprochen wird.
IPv6
Bisher haben wir uns mit der Version 4 des Protokolls IP (IPv4) beschäftigt. Dies ist die Standardversion, die in allen Netzwerk- und Internetumgebungen eingesetzt wird. Sie hat jedoch Einschränkungen, insbesondere in Bezug auf die Anzahl der verfügbaren Adressen — und vor dem Hintergrund, dass immer mehr Geräte in irgendeiner Weise mit dem Internet verbunden sein werden (Stichwort: IoT), kommt immer häufiger die Version 6 von IP (IPv6) zum EInsatz.
IPv6 bringt eine Reihe von Änderungen, neuen Implementierungen und Funktionen sowie eine neue Darstellung der Adresse selbst mit sich.
Jede IPv6-Adresse hat 128 Bits, die in 8 Gruppen zu je 16 Bits unterteilt sind und durch hexadezimale Werte dargestellt werden.
Zum Beispiel:
2001:0db8:85a3:08d3:1319:8a2e:0370:7344
Abkürzungen
IPv6 definiert Möglichkeiten zur Verkürzung von Adressen in bestimmten Situationen. Schauen wir uns die folgende Adresse an:
2001:0db8:85a3:0000:0000:0000:0000:7344
Die erste Möglichkeit besteht darin, Zeichenketten von 0000
auf nur 0
zu reduzieren, was zu folgendem Ergebnis führt:
2001:0db8:85a3:0:0:0:0:7344
Darüber hinaus können Gruppenstrings mit dem Wert 0
wie folgt weggelassen werden:
2001:0db8:85a3::7344
Diese letzte Abkürzung kann jedoch nur einmal in der Adresse verwendet werden. Siehe folgendes Beispiel:
2001:0db8:85a3:0000:0000:1319:0000:7344 2001:0db8:85a3:0:0:1319:0:7344 2001:0db8:85a3::1319:0:7344
IPv6-Adresstypen
IPv6 teilt die Adressen in 3 Typen ein:
- Unicast
-
Identifiziert eine einzelne Netzwerkschnittstelle. Standardmäßig bezeichnen die 64 Bits auf der linken Seite das Netzwerk und die 64 Bits auf der rechten Seite die Schnittstelle.
- Multicast
-
Identifiziert eine Gruppe von Netzwerkschnittstellen. Ein Paket, das an eine Multicastadresse gesendet wird, wird an alle Schnittstellen gesendet, die zu dieser Gruppe gehören. Obwohl es ähnlich ist, sollte es nicht mit einem Broadcast verwechselt werden, den es im IPv6-Protokoll nicht gibt.
- Anycast
-
Dies identifiziert auch eine Gruppe von Schnittstellen im Netzwerk, aber das Paket, das an eine Anycast Adresse weitergeleitet wird, wird nur an eine Adresse in dieser Gruppe zugestellt, nicht an alle.
Unterschiede zwischen IPv4 und IPv6
Neben der Adresse gibt es weitere Unterschiede zwischen den IP-Versionen 4 und 6, z.B.:
-
Serviceports folgen den gleichen Standards und Protokollen (TCP, UDP), der Unterschied liegt nur in der Darstellung der IP und des Portsets. Bei IPv6 muss die IP-Adresse mit
[]
(eckige Klammern) geschützt werden:- IPv4
-
200.216.10.15:443
- IPv6
-
[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]:443
-
Bei IPv6 ist die Broadcast-Funktion nicht so implementiert wie bei IPv4. Das gleiche Ergebnis kann jedoch erreicht werden, indem das Paket an die Adresse
ff02::1
gesendet wird und damit alle Hosts im lokalen Netz erreicht. Dies ist vergleichbar mit der Verwendung von224.0.0.1
bei IPv4 für Multicasting als Ziel. -
Durch die Funktion SLAAC (Stateless Address Autoconfiguration) sind IPv6-Hosts in der Lage, sich selbst zu konfigurieren.
-
Das TTL (Time to Live) Feld von IPv4 wurde durch das “Hop Limit” im IPv6 Header ersetzt.
-
Alle IPv6-Schnittstellen haben eine lokale Adresse, die so genannte Link-Local-Adresse, mit dem Präfix
fe80::/10
. -
IPv6 implementiert das Neighbor Discovery Protocol (NDP), das dem von IPv4 verwendeten ARP ähnelt, aber wesentlich mehr Funktionen bietet.
Geführte Übungen
-
Welcher Port ist Standard für das Protokoll SMTP?
-
Wie viele verschiedene Ports sind in einem System verfügbar?
-
Welches Transportprotokoll stellt sicher, dass alle Pakete ordnungsgemäß zugestellt werden, indem es die Integrität und die Reihenfolge der Pakete prüft?
-
Welcher Typ von IPv6-Adresse wird verwendet, um ein Paket an alle Schnittstellen zu senden, die zu einer Gruppe von Hosts gehören?
Offene Übungen
-
Nennen Sie 4 Beispiele für Dienste, die standardmäßig das TCP-Protokoll verwenden.
-
Wie heißt das Feld im IPv6-Header-Paket, das die gleiche Funktion wie die TTL im IPv4 implementiert?
-
Welche Art von Informationen kann das Neighbor Discovery Protocol (NDP) ermitteln?
Zusammenfassung
In dieser Lektion wurden die wichtigsten Transportprotokolle und Dienste des TCP/IP-Stacks behandelt.
Ein weiteres wichtiges Thema war die Version 6 des IP-Protokolls, einschließlich der IPv6-Adressen und der wichtigsten Unterschiede zu IPv4.
Die folgenden Themen wurden behandelt:
-
Die Korrelation zwischen Portnummern und Diensten
-
TCP (Transmission Control Protocol)
-
UDP (User Datagram Protocol)
-
ICMP (Internet Control Message Protocol)
-
Die IPv6-Adressen und wie sie abgekürzt werden
-
IPv6-Adresstypen
-
Hauptunterschiede zwischen IPv4 und IPv6
Lösungen zu den geführten Übungen
-
Welcher Port ist Standard für das Protokoll SMTP?
25
-
Wie viele verschiedene Ports sind in einem System verfügbar?
65535
-
Welches Transportprotokoll stellt sicher, dass alle Pakete ordnungsgemäß zugestellt werden, indem es die Integrität und die Reihenfolge der Pakete prüft?
TCP
-
Welcher Typ von IPv6-Adresse wird verwendet, um ein Paket an alle Schnittstellen zu senden, die zu einer Gruppe von Hosts gehören?
Multicast
Lösungen zu den offenen Übungen
-
Nennen Sie 4 Beispiele für Dienste, die standardmäßig das TCP-Protokoll verwenden.
FTP, SMTP, HTTP, POP3, IMAP, SSH
-
Wie heißt das Feld im IPv6-Header-Paket, das die gleiche Funktion wie die TTL im IPv4 implementiert?
Hop Limit oder Sprunglimit
-
Welche Art von Informationen kann das Neighbor Discovery Protocol (NDP) ermitteln?
NDP ermittelt verschiedene Informationen aus dem Netz, darunter andere Knoten, doppelte Adressen, Routen, DNS-Server, Gateways usw.