LPIC102/109.1 Grundlagen von Internetprotokollen
Wichtigste Wissensgebiete
- Verständnis von Netzmasken und der CIDR-Notation
- Wissen über die Unterschiede zwischen privaten und öffentlichen Dotted-Quad-IP-Adressen
- Wissen über gängige TCP- und UDP-Ports (20, 21, 22, 23, 25, 53, 80, 110, 123, 139, 143, 161, 162, 389, 443, 465, 514, 636, 993, 995)
- Wissen über die Unterschiede und wesentlichen Eigenschaften von UDP, TCP und ICMP
- Wissen über die wesentlichen Unterschiede zwischen IPv4 und IPv6
- Wissen über die grundlegenden Eigenschaften von IPv6
Liste wichtiger Dateien, Verzeichnisse und Anwendungen
Allgemeines
- Da es sich bei Linux um ein ausgesprochenes Netzwerkbetriebssystem handelt, müssen Sie darauf vorbereitet sein, Fragen zum Thema Netzwerk, insbesondere TCP/IP, beantworten zu können
- Auch Fragen, die sich auf historische Hintergründe beziehen, kommen vor, weshalb diese hier auch näher betrachtet werden
- Sie müssen natürlich nicht auswendig wissen, dass TCP/IP etwa Ende 1974 entwickelt wurde, aber Sie dürfen auch nicht denken, das Protokoll wäre von Bill Gates persönlich erfunden worden
TCP/IP-Geschichte kurz gefasst
- Schon dem Namen dieses Protokolls (oder dieser Protokollfamilie) können Sie entnehmen, wo es seine Wurzeln hat: IP – das Internetprotokoll
- Allerdings ist es eigentlich eher so, dass sich der Name des Internets von diesem Protokoll ableitet und nicht umgekehrt
- Das Internet ist der direkte Nachfolger des alten ARPANET
- Man kann heute noch in den Konfigurationsdateien und auch Zonendaten eines DNS-Servers sehen, wo dieser seine Ursprünge hat. Das dokumentiert der folgende Ausschnitt aus einer /etc/named.conf-Datei:
zone "0.0.127.in-addr.arpa" in { type master; file "127.0.0.zone"; };
- Sie sehen, dass selbst bei der Deklaration der Reverse-Lookup-Zone für das Loopback-Netzwerk eine Syntax aus ARPANET-Zeiten verwendet wird. Aber woher kommt nun eigentlich das ARPANET?
- Am 04. Oktober 1957 sendete der russische Satellit Sputnik 1 seine ersten Funksignale zur Erde
- Als Reaktion darauf wurde vom amerikanischen Verteidigungsministerium DoD (Department of Defence) die Organisation ARPA (Advanced Research Projects Agency) ins Leben gerufen, um neue, für das Militär nutzbare Technologien zu entwickeln
- Die ARPA entwickelte diese Technologien jedoch nicht selbst, sondern delegierte diese Forschungsarbeiten an verschiedene Universitäten innerhalb der USA
- Gegen Ende 1969 wurde von vier Universitäten das erste Netzwerk mit vier Knoten in Betrieb genommen. Dieses frühe ARPANET verband folgende Forschungsorganisationen:
- University of California Los Angeles (UCLA)
- University of California Santa Barbara (UCSB)
- Stanford Research Institute (SRI)
- University of Utah
- Am 04. Oktober 1957 sendete der russische Satellit Sputnik 1 seine ersten Funksignale zur Erde
- Das ARPANET wuchs schnell heran, und schon bald konnten die alten Protokolle die Netzlast nicht mehr verwalten
- Ein neues Protokoll wurde erforderlich, und gegen Ende 1974 wurde TCP/IP entwickelt
- Die weitere Entwicklung und Integration von TCP/IP in UNIX-Systeme wurde u. a. durch die University of California in Berkeley betrieben. Hier wurde auch BIND entwickelt – der Berkeley Internet Name Daemon
Das DoD-Modell
- Das DoD-Modell wurde nach dem amerikanischen Department of Defence benannt und dient der modellhaften Beschreibung des TCP/IP-Protokolls tapels
- Das ebenfalls bekannte OSI-Referenzmodell wurde erheblich später entwickelt und ermöglicht aufgrund seiner höheren Komplexität die modellhafte Umsetzung fast aller bekannten Netzwerkprotokolle
- Zum Verständnis von TCP/IP ist das DoD-Modell normalerweise ausreichend
- Während das OSI-Modell in sieben Schichten aufgeteilt ist, kommt das DoD-Modell mit vier Schichten aus. Diese wären von oben nach unten:
- Anwendungsschicht (Application Layer) – in dieser Schicht liegen die Netzwerkanwendungen. Beispiele: HTTP, FTP, SMTP, DNS, Telnet usw
- Host zu Host (Host to Host) – hier befinden sich u. a. TCP und UDP. Diese Schicht wird heutzutage als Transportlayer bezeichnet
- Internetschicht (Internetlayer) – in dieser Schicht befindet sich IPv4, IPv6, RIP, OSPF, ARP, IGMP, ICMP
- Netzwerk-Zugriff (Network Access) – dies beinhaltet u. a. die Protokolle Ethernet, MAC, HDLC, PPPoE, Token Ring und FDDI. Die Protokolle dieser Schicht sind für Ihre Prüfung nicht von Belang und sollen deshalb auch hier nicht weiter behandelt werden. Die modernere Bezeichnung für diese Schicht lautet Link-Layer
- Sie werden feststellen, dass sich die Positionierung der Protokolle von Modell zu Modell leicht unterscheidet
- Das ist aber nicht besorgniserregend, weil es sich ja nur um ein Modell handelt. Es ist wie mit allen Modellen: Man kann damit einfach nicht alles lückenlos darstellen
Protokolle der dritten Schicht
- Die dritte Schicht ist die Host-zu-Host-Schicht
- Die hier vertretenen Protokolle haben die Aufgabe, die aus der Anwendungsschicht bereitgestellten Daten in Segmente bzw
- Datagramme zu verpacken und an die darunter gelegene Internetschicht weiterzureichen
- Umgekehrt nehmen diese Protokolle auch Segmente und Datagramme aus der zweiten Schicht entgegen und ordnen diese dann den entsprechenden Anwendungen zu
- TCP (Transmission Control Protocol) ist ein verbindungsorientiertes Protokoll
- Esstellt die Integrität der Verbindung sicher, indem es eventuell beschädigte Datenpakete neu anfordert oder deren Reihenfolge reorganisiert
- Deshalb wird es von vielen Anwendungen verwendet, insbesondere wenn größere Datenmengen ausgetauscht werden
- Esstellt die Integrität der Verbindung sicher, indem es eventuell beschädigte Datenpakete neu anfordert oder deren Reihenfolge reorganisiert
- UDP (User Datagram Protocol) ist ein verbindungsloses Protokoll
- UDP wird von Programmen verwendet, die geringen Datenverkehr verursachen (z. B. DNS, NTP)
- Auch Anwendungen, die keine Antworten erwarten (Broadcasts, Multicasts), verwenden UDP
- Damit die Zustellung der Datenpakete und Datagramme an die richtige Anwendung erfolgen kann, verwenden Netzwerkanwendungen sogenannte Ports
- Die Kenntnis der gängigsten TCP- und UDP-Portnummern ist für einen Administrator Basiswissenund für die Prüfung unverzichtbar. Sie sollten wenigstens die folgenden Ports auswendig kennen:
ftp-data 20/tcp+udp ftp 21/tcp ssh 22/tcp+udp telnet 23/tcp+udp smtp 25/tcp+udp dns 53/tcp+udp http 80/tcp+udp pop3 110/tcp+udp ntp 123/tcp+udp netbios-ssn 139/tcp+udp imap 143/tcp+udp snmp 161/tcp+udp snmp-trap 162/tcp+udp ldap 389/tcp+udp https 443/tcp+udp igmpv3lite 465/udp shell 514/tcp+udp ldaps 636/tcp+udp imaps 993/tcp pop3s 995/tcp
- Es sind insgesamt 65.536 Ports verfügbar. Die ersten 1.024 Ports werden als Well Known Ports bezeichnet
- Das Betriebssystem wird über die Konfigurationsdatei /etc/services darüber informiert, welche Dienste mit welchen Ports korrespondieren
- Sie können die Datei natürlich auch in Kombination mit
grep
als kleines Nachschlagewerk verwenden - Wenn Sie etwa vergessen haben, welchen Port üblicherweise https verwendet, liefert Ihnen das folgende Kommando die richtige Antwort:
# grep ^https /etc/services https 443/tcp # http protocol over TLS/SSL https 443/udp # http protocol over TLS/SSL
- Um andersherum für einen bekannten Port den zugehörigen Dienst zu ermitteln, kann folgendes Kommando eine sauber gefilterte Ausgabe liefern:
# grep " 389/" /etc/services ldap 389/tcp # Lightweight Directory Access Protocol ldap 389/udp # Lightweight Directory Access Protocol
- Um festzustellen, an welchen Ports Ihr System aktuell lauscht, können Sie
nmap
verwenden - Der Vorteil gegenüber einer Überprüfung mittels netstat ist zumindest in diesem Fall die Übersichtlichkeit der Ausgabe, wie das Beispiel zeigt:
# nmap localhost Starting Nmap 6.47 ( http://nmap.org ) at 2018-04-21 20:42 CEST Interesting ports on localhost (127.0.0.1): (The 1646 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 25/tcp open smtp 53/tcp open domain 80/tcp open http 139/tcp open netbios-ssn 143/tcp open imap 443/tcp open https 3128/tcp open squid-http
- Wenn Sie einen Webbrowser verwenden um eine Webseite anzuzeigen, wird im Normalfall eine Verbindung eingerichtet, bei der der Zielport 80 (http) oder 443 (https) ist
- Für diese Verbindung wird außerdem ein Quellport erstellt, damit Antwortpakete eindeutig zugeordnet werden können
- Wenn Sie gleich nach dem Zugriff auf die Webseite
netstat
verwenden, können Sie diese Zu ordnungen sehen - Dank Werbeeinblendungen u. ä. können deutlich mehr Verbindungen eingerichtet werden, als man erwartet:
# netstat -an |grep 443 tcp 0 0 192.168.178.25:33634 216.58.210.14:443 ESTABLISHED tcp 0 0 192.168.178.25:37922 157.240.20.52:443 ESTABLISHED
Protokolle der zweiten Schicht
- IPv4 (Internet Protocol Version 4)
- Fügt den Segmenten oder Datagrammen zur Adressierung einen IP-Header hinzu. Dieser Header enthält u. a. die Informationen über die Ziel- und die Quelladresse eines Datenpaketes, damit dieses korrekt zugestellt werden kann
- Die von IPv4 verwendeten Adressen haben eine Länge von 32 Bit.
- Fügt den Segmenten oder Datagrammen zur Adressierung einen IP-Header hinzu. Dieser Header enthält u. a. die Informationen über die Ziel- und die Quelladresse eines Datenpaketes, damit dieses korrekt zugestellt werden kann
- IPv6 (Internet Protocol Version 6)
- Entspricht vom Verwendungszweck her IPv4, weist aber einen Adressraum von 128 Bit auf
- RIP (Routing Information Protocol)
- Ist ein dynamisches Routing-Protokoll, das dem Austausch von Informationen zwischen Routern dient
- ARP (Address Resolution Protocol)
- Stellt den Zusammenhang zwischen der IP-Adresse und der MAC-Adresse (Media Access Control) eines Netzwerkadapters her
- ICMP (Internet Control Message Protocol)
- Wird überwiegend von Routern verwendet, um die Verfügbarkeit eines Gateways zu prüfen bzw. zu propagieren
- Ausnahmen stellen Diagnoseprogramme wie ping oder traceroute dar. Diese prüfen die Verfügbarkeit von Routern bzw. Ziel-Hosts
- Wird überwiegend von Routern verwendet, um die Verfügbarkeit eines Gateways zu prüfen bzw. zu propagieren
- IGMP (Internet Group Management Protocol)
- Wird verwendet, wenn Nachrichten für eine bestimmte Gruppe von Hosts bestimmt sind
- Diese benötigen dann auch eine IGMP-taugliche IP-Adresse
- Typische Anwendungen sind Videokonferenzen und Anwendungen, die für Präsentationen eingesetzt werden
- Wird verwendet, wenn Nachrichten für eine bestimmte Gruppe von Hosts bestimmt sind
- Es gibt auch noch weitere, weniger wichtige Protokolle in dieser Schicht, die hier aber vernachlässigt werden
- Ein besonderes Augenmerk muss aber noch auf die beiden Internetprotokolle IPv4 und IPv6 gerichtet werden
- Besonders Kenntnisse des erstgenannten Protokolls sind für die Prüfung unabdingbar.
Protokolle der ersten Schicht
- Wenn es um TCP/IP aus der Sicht eines Administrators geht, ist in der ersten Schicht hauptsächlich Media Access Control (MAC) relevant
- Die Datenpakete werden hier zu Frames, die mit einer Quell- und einer Ziel-MAC-Adresse versehen sind
- Wenn ein Datenpaket innerhalb desselben Netzwerksegments zugestellt werden soll, wird zunächst eine ARP-Anfrage gestellt
- Der sendende Rechner fragt hierbei den Zielcomputer nach seiner MAC-Adresse
- Im Idealfall antwortet der Zielrechner auf diese Frage
- Das Ergebnis der Anfrage wird im ARP-Cache des anfragenden Rechners zwi-schengespeichert und der Frame mit der MAC-Adresse des Zielsystems abgeschickt
- Wenn ein Paket für ein anderes Netzwerksegment bestimmt ist, wird stattdessen die MAC-Adresse des nächstgelegenen Routers bei der Adressierung verwendet
- Dieser kümmert sich dann auf dieselbe Art und Weise um die Weiterleitung des Pakets an den nächsten Router oder das Zielsystem. Sie können den Inhalt des ARP-Cache einsehen, wie folgt:
root@router1:~# arp -a ? (172.18.1.39) at <incomplete> on eth2 ? (172.18.1.74) at 00:19:99:43:91:5a [ether] on eth2 ? (172.18.1.211) at ee:ce:03:d8:04:9c [ether] on eth2 ? (172.18.1.92) at <incomplete> on eth2 ? (172.18.1.229) at b8:27:eb:fd:21:2f [ether] on eth2 ? (172.18.1.59) at 00:19:99:3a:e6:86 [ether] on eth2 ? (172.18.1.26) at b8:27:eb:a0:2f:a4 [ether] on eth2 ? (172.18.1.77) at 94:0c:6d:86:4a:3b [ether] on eth2 ...
Standardgateway
- Dem Thema Routing wird in den folgenden Abschnitten eine Menge Platz gewidmet. Deshalb soll das Thema Standardgateway hier nur kurz und knapp umrissen werden
- Ein Host sendet Datenpakete immer dann an das Standardgateway (genauer gesagt: an die MAC-Adresse des Standardgateways), wenn er diese Pakete nicht selber zustellen und auch aufgrund keines anderen Eintrages in der Routing-Tabelle zuordnen kann
- Die Reihenfolge der Verarbeitung sieht folgendermaßen aus:
- Der Host ermittelt durch UND-Verknüpfung mit seiner Subnetzmaske, ob sich der Ziel-Host in demselben Subnetz befindet wie er selbst. Bei Erfolg wird der Ziel-Hostdirekt kontaktiert und das Paket wird an die MAC-Adresse des Ziel-Hosts gesendet. Wenn nicht, ...
- ... überprüft dieser Host seine Routing-Tabelle. Findet er einen passenden Eintrag, so stellt der Host eine Verbindung über das entsprechende Gateway her, indem er das Datenpaket an die MAC-Adresse des Gateways sendet. Wenn nicht, ...
- ... versucht der Rechner den Ziel-Host über das Standardgateway zu kontaktieren, indem er das Datenpaket an die MAC-Adresse des Standardgateways adressiert.
- Ein Gateway – und das gilt auch und insbesondere für das Standardgateway – muss sich immer in demselben Netzwerk bzw. Subnetz befinden, in dem sich auch der Host befindet
- Ansonsten kann der Host das Gateway nicht erreichen.
Kontrollfragen
Frage 1
Antwort
Frage 2
Antwort
Frage 3
Antwort
Frage 4
Antwort
Frage 5
Antwort