LPIC102/109.1 Grundlagen von Internetprotokollen: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 19: | Zeile 19: | ||
=Allgemeines= | =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. | 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''?<br> | |||
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 | |||
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.<br> | |||
'''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.<br> | |||
'''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.<br> | |||
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 <code>grep</code> als kleines Nachschlagewerk verwenden. Wenn Sie etwa vergessen haben, welchen Port üblicherweise https verwendet, liefert Ihnen das folgende Kommando die richtige Antwort: | |||
archangel:~ # 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: | |||
archangel:~ # 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 <code>nmap</code> verwenden. Der Vorteil gegenüber einer Überprüfung mittels netstat ist zumindest in diesem Fall die Übersichtlichkeit der Ausgabe, wie das Beispiel zeigt: | |||
archangel:~ # 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 <code>netstat</code> verwenden, können Sie diese Zu ordnungen sehen. Dank Werbeeinblendungen u. ä. können deutlich mehr Verbindungen eingerichtet werden, als man erwartet: | |||
archangel:~ # 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. | |||
*'''[[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. | |||
*'''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.<br> | |||
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. <br> | |||
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 | |||
... | |||
Version vom 19. November 2019, 21:18 Uhr
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
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.
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:
archangel:~ # 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:
archangel:~ # 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:
archangel:~ # 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:
archangel:~ # 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.
- 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.
- 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.
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 ...