LPIC102/109.1 Grundlagen von Internetprotokollen: Unterschied zwischen den Versionen

Aus Foxwiki
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

  • /etc/services
  • IPv4, IPv6
  • Subnetting
  • TCP, UDP, ICMP

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
...