ARP, DHCP, DNS, IP, MAC, PPP, TCP: Hinter den geheimnisvollen Kürzeln verstecken sich die wichtigsten Techniken, die Bits und Bytes den Weg durch das Internet weisen. LinuxUser klärt auf und verrät die Zusammenhänge.

NetzwerkgeräteNetzwerkkarteKonfigurieren oder vorhandene ÄndernBearbeiten. Diese Karte reagiert auf die MAC-Adresse 00:11:11:af:eb:06 und besitzt die IP-Adresse 169.254.1.3.” width=”300″ height=”229″ />
NetzwerkgeräteNetzwerkkarteKonfigurieren oder vorhandene ÄndernBearbeiten. Diese Karte reagiert auf die MAC-Adresse 00:11:11:af:eb:06 und besitzt die IP-Adresse 169.254.1.3.Wenn Sie Ihren Rechner ans Internet anschließen, reicht es oft, Kabel zwischen den Netzwerkgeräten zu verlegen (siehe vorangehenden Artikel) und die Zugangsdaten des Providers einzutippen. Klappt das nicht wie vorgesehen, wird die Lage unübersichtlich: Viele Protokolle und Formate arbeiten zusammen, um Daten von Rechner zu Rechner zu übertragen. Eine gezielte Fehlersuche gelingt nur, wem wichtige Techniken und deren Zusammenspiel bekannt sind.
Das Internet vereint und verbindet viele inkompatible Netzwerke. Daher rührt der Name, er bedeutet etwa “Zwischennetz”. Die Entwickler bedienten sich dabei eines bewährten Verfahrens: Teile und Herrsche. Sie teilten die Gesamtaufgabe (jeder soll mit jedem kommunizieren) in einfachere Teile, die sich leichter beherrschen lassen.
Das Schichtenprinzip
Die Daten, die durch das Netzwerk laufen, teilen sich in mehrere Schichten. Das funktioniert wie beim Versenden eines Briefs: Der Text gilt als oberste Schicht, die nächsttiefere Schicht ist die Adresse auf dem Briefkopf. Die Post interessiert beides nicht, sie betrachtet nur den Umschlag und die darauf abgedruckte Adresse. Je nach Netzabschnitt verpackt sie den Brief weiter in Postsäcke, Container und andere Behältnisse, die sie per Bahn, Lkw oder Flugzeug transportiert (unterste Schicht).
Netzwerke verhalten sich ähnlich. Die unterste Schicht spezifiziert Signale, Stecker und Kabel. Damit können Hersteller kompatible Netzwerkkarten entwickeln, egal welche Protokolle und Daten in den höheren Schichten laufen. Um beim Vergleich zu bleiben: Den Lkw (unterste Schicht) und den Postsack interessiert nicht, was Sie in Ihren Brief geschrieben haben (oberste Schicht).
Tipp
Netzwerk-Experten geben den Schichten (engl. “Layer”) im Protokollstapel gerne Nummern. Die im Text angesprochene physikalische Schicht heißt Schicht 1, IP liegt auf Schicht 3 und TCP auf Schicht 4. Laut Modellvorstellung gibt es sieben Layer, in der Realität des Internet sind aber meist nur vier davon anzutreffen – daher gibt es neben dem etablierten siebenschichtigen OSI-Modell auch das vierschichte DoD-Modell.
Streckenabschnitt
Die unterste Schicht (auch physikalische Schicht oder Bitübertragungsschicht genannt) bringt außerdem die auszutauschenden Daten in eine für die Übertragung geeignete Form. Während die physikalische Schicht (zum Beispiel Ethernet) die Daten nur von einem Ende des Kabels zum anderen übermittelt, sorgt die Netzwerkschicht (etwa IP) dafür, dass sie durch das Internet ihren Zielrechner finden.
Die Transportschicht wählt dann innerhalb des Rechners den gewünschten Dienst und kümmert sich – im Falle von TCP – darum, dass alle Daten wohlbehalten und in der richtigen Reihenfolge ankommen. Falls doch ein Paket verloren geht, sorgt TCP dafür, dass der Absender es erneut übermittelt. Damit sind die wichtigsten Protokolle der TCP/IP-Suite genannt: TCP, das Transmission Control Protocol und IP, das Internet Protocol.
TCP und UDP
Statt mit TCP/IP arbeiten viele Anwendungen mit UDP/IP. Das User Datagram Protocol arbeitet verbindungslos, es sendet jedes Paket einzeln auf die Reise und kümmert sich nicht darum, ob es ankommt. Diese Eigenschaft eignet sich für viele Dienste besser als das aufwändigere TCP, das für korrekte Zustellung sorgt und bei Übertragungsfehlern die Daten so oft sendet, bis sie tatsächlich angekommen sind.
Datenkapsel
Die Daten, die ein Programm per TCP/IP versendet, laufen innerhalb des Rechners durch die Schichten des Protokollstapels nach unten, bis sie die Netzwerkkarte als Bitstrom verlassen und über das Netzwerk die nächste Instanz aufsuchen. Jede Schicht fügt Steuerungsinformationen hinzu, vergleichbar mit einem zusätzlichen Briefumschlag. Diese Informationen liegen im so genannten Header der jeweiligen Schicht.
Eine Anwendung übergibt ihre Daten zum Beispiel an TCP. Das fügt seinen Header hinzu und bildet damit ein TCP-Segment, das es an IP übergibt. IP ergänzt einen weiteren Header, um ein so genanntes IP-Datagramm zu erzeugen. In einem Ethernet-Netzwerk erhält das Datagramm einen Ethernet-Header sowie einen Ethernet-Trailer. Den dabei entstandenen Frame sendet Ethernet durch die Netzwerkleitungen.

Abbildung 1: Die unterste Schicht (Ethernet) adressiert Netzwerkkarten anhand ihrer MAC-Adresse. IP verwendet eigene Adressen, die den Rechner im Netz unabhängig von seiner Karte kennzeichnet. TCP unterscheidet die verschiedenen Dienste und Server eines Rechners anhand der Portnummer.
Adressen
Wer in einem TCP/IP-Netz von Adressen spricht, muss sagen, welche er meint (Abbildung 1). Auf der untersten Ebene besitzt die Hardwareschnittstelle eine eindeutige physikalische Adresse, zum Beispiel eine 48-Bit-Ethernet-Adresse der Form 00:d0:b7:6a:30:eb. Diese wurde vom Hersteller vergeben und ist für jede Karte weltweit einmalig. Sie heißt gelegentlich auch Hardware-Adresse.
Die Hardware-Adresse ist für die Hardware-nahe Kommunikation nötig, da an einem Ethernet-Strang mehrere Computer hängen können. Eine Netzwerkkarte entscheidet anhand der Ethernet-Adresse, ob ein Paket für sie bestimmt ist oder nicht. Da es hier um den Zugriff auf das Übertragungsmedium (das Ethernet-Kabel) geht, hat diese Adresse noch einen dritten Namen: MAC-Adresse (Media Access Control).
Allein mit den MAC-Adressen wären keine großen Netze möglich. Der Hersteller vergibt zwar die Adresse, weiß aber nicht, wo die Karte zum Einsatz kommt. Eine gezielte Wegesuche wäre unmöglich.
Tipp
Eine Sonderrolle nimmt die IP-Adresse 127.0.0.1 ein, sie adressiert den lokalen Rechner (auch localhost genannt). Wollen Sie einen lokal installierten Webserver kontaktieren, dann erspart diese spezielle Adresse, sich vorher die echte IP herauszusuchen. Diese Adresse ist mit keiner echten Netzwerkschnittstelle verbunden, sondern mit dem so genannten Loopback-Device. Daher funktioniert sie auch auf nicht vernetzten Rechnern.
IP bringt Ordnung
Ordnung in das Chaos bringt die IP-Adresse, sie gehört zur nächsthöheren Schicht (Netzwerkschicht). Jeder Computer erhält eine solche Adresse, sie dient ihm als öffentliche Nummer im Internet. Wer mit einem Rechner kommunizieren will, braucht nur dessen IP-Adresse zu kennen. Sie ist strukturiert aufgebaut: Der erste Teil bezeichnet die Nummer des Netzwerks, in dem sich der Computer befindet; der zweite Teil kennzeichnet den gesuchten Host im Zielnetz.
Die übliche Notationen (Dotted-Decimal-Format) teilt die 32 Bit der IP-Adresse in vier Gruppen mit je 8 Bit, die jeweils durch einen Punkt voneinander getrennt sind. Die Zahlen in jeder Achtergruppe sind im Dezimalformat angegeben. Eine typische Adresse lautet damit 192.168.41.207.
Welcher Teil der IP-Adresse als Host- und welcher als Netzwerk-Adresse gilt, bestimmt die Subnetzmaske. Ein gesetztes Bit (1) bedeutet, dass diese Stelle für das Netzwerk zuständig ist, eine Null verdeutlicht den Host-Anteil. Sind in einem Byte alle acht Bit auf Eins gesetzt, ergibt sich der Dezimalwert 255. Damit erklärt sich folgende Maske: 255.255.255.0. Die ersten drei Byte lauten 255, also sind die ersten drei Byte der IP-Adresse als Netzadresse zu verstehen. Das letzte Byte lautet Null, also steckt hier die Host-Adresse. Der Computer befindet sich im Netzwerk 192.168.41.0/24 (24 Bit gültig) und hat dort die Host-ID 207.
Aufgelöst
Will ein Rechner mit einem anderen sprechen, dann muss er die Daten letzten Endes doch per Ethernet versenden. Da die Netzwerkkarte nur MAC-Adressen versteht, ermittelt ARP (Address Resolution Protocol) aus der (bekannten) IP-Adressen die (gesuchte) MAC-Adresse des Zielrechners.
Kennt der Absender die MAC-Adresse des Empfängers noch nicht, dann sendet er eine ARP-Anfrage an alle Computer, wo denn der Gesuchte sei [1]. Hört dieser die Frage, dann antwortet er mit seiner eigenen Adresse. Für die nächste Zeit (oft 10 Minuten) merken sich alle Beteiligten, welche MAC- und IP-Adressen zusammengehören.
Routing
Das ARP-Verfahren ist nur innerhalb eines lokalen Netzes sinnvoll. Würde weltweit jeder Rechner alle anderen fragen, dann wären die Netze mit nichts anderem beschäftigt. Ob der Zielrechner im gleichen Netz steht, ermittelt der Absender, indem er beide Netz-IDs vergleicht. Sind Quell- und Zielnetz identisch, dann liegt der Zielrechner im lokalen Netz des Absenders. Hier darf er die Pakete direkt zustellen: Der Absender ermittelt per ARP die MAC-Adresse und schickt die Daten direkt zum Empfänger.
Befindet sich der Zielrechner in einem fremden Netz, dann wendet sich der Absender an seinen Router und überlässt es ihm, den weiteren Weg zu ermitteln. Router nutzen dazu die Information aus dem Netzwerkteil der IP-Adresse sowie eigene Routing-Tabellen. Auf dem Weg vom Absender zum Empfänger leiten meist meherere Router ein Paket weiter, den Absender interessiert aber nur der erste Router. Er fungiert fürs lokale Netz als Tor zur Außenwelt. Dieses Tor muss jeder Host kennen, es heißt auch Default-Router oder Default-Gateway.

Abbildung 2: Rechner A sendet ein Paket an B. Als Ziel-IP-Adresse setzt er B ein, als MAC-Adresse aber das linke Router-Interface. Der Router leitet das Paket weiter; die IP-Adressen lässt er, setzt aber die MAC-Adressen neu. Ein Switch verändert das Paket nicht.
Router verbinden mehrere Netze und besitzen daher auch mehrere Netzwerkkarten, jede mit einer eigenen MAC-Adresse. Beim Weiterleiten setzen sie die MAC ihres eigenen Anschlusses als Absender ein (Abbildung 2), damit der nächste Empfänger weiß, woher er das Paket erhalten hat. Die Absender-IP-Adresse verrät dem Adressaten, wer das Paket ursprünglich aufgegeben hat.
Private Netze
Wenn Sie Ihr lokales Netz ohne Internet-Anbindung nutzen, brauchen Sie sich kaum Gedanken um das Routing machen – Sie müssen nur bei allen Adressen die gleiche Netz-ID verwenden und die Netzmaske richtig setzen. Falls jemand dieses lokale Netz dann doch ans Internet anschließt, würde das allerdings ins Adress-Chaos führen. Um das zu verhindern, unterscheidet man öffentliche und private Adressen.
Mit privaten Adressen können Sie bedenkenlos eperimentieren. Öffentliche Netze verwenden nie private Adressen und leiten auch keine Pakete weiter, die solche Adressen verwenden. Folgende Nummernbereiche sind als privat klassifiziert:
- 10.0.0.0 bis 10.255.255.255
- 172.16.0.0 bis 172.31.255.255
- 192.168.0.0 bis 192.168.255.255
- 169.254.0.0 bis 169.254.255.255
Die IP-Adresse aus dem Beispiel weiter oben (192.168.41.207) ist also eine private Adresse. Mit dieser Adresse darf kein Paket durchs weltweite Netz reisen – das klappt nur mit öffentlichen Adressen.

Abbildung 3: Das NAT-Gateway ersetzt die IP-Quelladresse in jedem ausgehenden Paket durch die eigene öffentliche (und damit routbare) IP-Adresse. Meist ändert es dabei zusätzlich die Port-Nummern.
Tarnen und Täuschen
Bei einer Internet-Verbindung über Modem, ISDN oder DSL erhalten Sie in der Regel nur eine einzige Adresse für die Außenanbindung. Einem einzelnen Rechner reicht das auch. Betreiben Sie ein eigenes Heimnetz, dann müssten Sie einen Block von Adressen kaufen – was fast immer viel zu teuer wäre. Es gibt jedoch einen Ausweg: Der Router, der das lokale Netz mit dem Internet verbindet, trägt sich selbst als Absender ein. Meist ändert er zusätzlich die Port-Nummer, um mehrere gleichzeitige Verbindungen unterscheiden zu können (Abbildung 3).
Diese Technik nennt sich Network Address Translation (NAT, früher auch Masquerading genannt). Für jedes eingehenden Paket dreht sich der Vorgang um, das Gateway ersetzt die Zieladresse durch die private IP-Adresse der Maschine, die auf eine Antwort aus dem Internet wartet. Für die internen Maschinen sieht das NAT-Gateway aus ein gewöhnlicher Router, über den sie alle externen Adressen erreichen. Aus dem Internet ist nur das NAT-Gerät zu sehen.
Merkhilfe
Merken muss sich – dank DNS – niemand die unhandlichen IP-Adressen. Das globale Domain Name System sorgt dafür, dass wir mit intuitiven Namen wie www.linuxuser.de umgehen und von IP-Adressen wie 62.245.157.216 verschont bleiben.
Tipp
Die meisten Rechner werten /etc/hosts aus, bevor sie das DNS befragen (die Reihenfolge ist konfigurierbar in /etc/nsswitch.conf). Wenn Sie einen Rechnernamen lokal anders verwenden wollen als das DNS es vorsieht, dann genügt ein Eintrag in /etc/hosts. Zum Beispiel sorgt 127.0.0.1 google.com dafür, dass auf dem Rechner jede Anfrage künftig statt zu Google zu einem lokal installierten Webserver läuft.

Abbildung 4: Im Domain Dame System fragt der Client den für ihn zuständigen DNS-Server. Weiß der die Antwort nicht selbst, leitet er ihn weiter zu einem Nameserver, der mehr weiß.
Auskunftsdienst
Die DNS-Server (auch Nameserver genannt) sind in einer Namenshierarchie organisiert. Kann ein Server einen Namen nicht auflösen, dann fragt er den nächsten in der Hierarchie. Abbildung 4 zeigt die Zusammenhänge: Der Client xyz.example.de sucht die IP-Adresse von www.linuxuser.de. Er kennt aber nur die Adresse seines übergeordneten DNS-Servers. Dieser zeichnet verantwortlich für die Domäne example.de – der gesuchte Name ist ihm aber ebenfalls unbekannt. Er fragt daher beim de-Server nach. Der verweist den Nameserver von example.de weiter zum Nameserver linuxuser.de, der schließlich die passende Adresse kennt.
Mindestens einen DNS-Server muss jeder Client kennen, um sich weiter durch die Hierarchie zu hangeln. Jeder Nameserver kennt seine über- und untergeordneten Instanzen. Durch diese hierarchische Anordnung gelingt das Kunststück, dass jeder Client die für Menschen gedachten Namen in computertaugliche Nummern übersetzt und dennoch keine zentrale Instanz die Namen fest zuteilt.
Zusammengefasst muss ein Client im lokalen Netz drei IP-Adressen wissen: Seine eigene, die des Routers sowie die IP des DNS-Servers. Dazu gesellt sich die Netzmaske, um Netz- und Host-Anteil in der IP-Adresse zu unterscheiden. MAC-Adressen braucht niemand zu konfigurieren, die ermittelt der Rechner sowieso per ARP.
Flüchtige IP-Adressen
In vielen Fällen ist es sogar unnötig, die IP-Adressen und Netzmasken einzugeben – DHCP (Dynamic Host Configuration Protocol) übermittelt die jeweils aktuellen Einstellungen an die Client-Computer [2]. Die verbreiteten DSL- und WLAN-Router verwenden dieses Prinzip. Sie fungieren als Router mit NAT-Funktion und bieten den Rechnern im internen Netz die automatische Konfiguration per DHCP.
Ein DHCP-Client-Rechner sendet bereits beim Booten eine Rundsendung (Broadcast) in das LAN. Jeder DHCP-Server, der diese Anforderung hört, antwortet mit einem entsprechenden Angebot. Der Client nimmt das erste Angebot an, woraufhin der DHCP-Server alle relevanten Daten sendet, vor allem die drei wichtigen IP-Adressen (eigene, Router und DNS-Server) sowie die Netzmaske.
Dynamisch konfiguriert
Ganz ähnlich klappt die Konfiguration bei PPP (Point to Point Protocol): Während der Einwahl über Modem oder ISDN sendet Ihr Rechner einen Account-Namen und das Passwort, die Gegenstelle antwortet im Erfolgsfall mit den gewünschten IP-Adressen. Ihr Rechner erhält bei der Einwahl also seine öffentliche Adresse. Nach Ende der Verbindung wird sie frei für andere Kunden des Providers.
Die meisten DSL-Anbieter in Deutschland verwenden das PPPoE-Verfahren: Beim PPP over Ethernet sendet Ihr Rechner über das DSL-Modem die Zugangsdaten und erhält in der Antwort seine künftige IP-Adresse – die wie bei ISDN und Modem nach Ende der Verbindung ihre Gültigkeit verliert.
Wenn alle Automatismen reibungslos zusammenspielen, gestalten sie die Rechnervernetzung vergleichsweise einfach. Schwierig wird es, wenn eine Komponente versagt. Dann ist es wichtig, zwischen einem DSL-Modem und einem DSL-Router zu unterscheiden, IP- und MAC-Adressen nicht zu verwechseln und die Aufgabe des DNS zu kennen. Mit diesem Wissen arbeiten Sie bei der Fehlersuche mit dem Menschen an der Hotline besser und zielstrebiger zusammen als ein Netzwerk-Laie.
Glossar
-
Ethernet
-
Verbindungstechnik für lokale Netze. Ethernet spezifiziert Stecker, Kabel und Übertragungsverfahren der Schichten 1 (physikalische Schicht) und 2.
-
IP
-
Das Internet Protocol überträgt einzelne Datenpakete über verschiedene Netzwerktechniken von einer Quelle zu ihrem Ziel. Es arbeitet im Gegensatz zu Ethernet also von Ende zu Ende. Die Pakete können aber verloren gehen oder in der falschen Reihenfolge eintreffen: IP ist kein zuverlässiger Dienst.
-
TCP
-
Das Transmission Control Protocol sorgt für eine zuverlässige Übertragung des Datenstroms von der Quelle zum Ziel. Es bedient sich der Dienste von IP, rüstet aber unter anderem Mechanismen zur Erkennung und Behebung von Fehlern nach.
-
Header
-
Im Kopf eines Datenpakets stecken Verwaltungsinformationen, die beispielsweise angeben, von welchem Rechner das Paket stammt und wo es hingehen soll.
-
Trailer
-
Mache Techniken setzen zusätzlich zum Header einen weiteren Block mit Verwaltungsinformationen an das Paket. Er befindet sich am Ende des Pakets. Bei Ethernet wäre ohne den Trailer das Ende der Nachricht nicht zu erkennen.
-
MAC
-
Media Access Control. Kümmert sich als Teil des Ethernet-Protokolls darum, wann der Rechner Daten auf das Netz senden darf. Die dabei verwendeten Hardware-Adressen heißen oft auch MAC-Adressen.
-
ARP
-
Das Address Resolution Protocol sucht im lokalen Netz zu einer vorgegebenen IP-Adresse die passende MAC-Nummer.
-
Router
-
Diese Netzwerkkomponente leitet Datenpakete auf der Netzwerk-Schicht an ihr Ziel weiter. Der Router hat mehrere Anschlüsse, die in verschiedene Netze mit eventuell unterschiedlichen Techniken führen.
-
NAT
-
Network Address Translation verändert die IP-Adressen und Portnummern eines Datenpakets. Meist auf Routern verwendet, um die eigene Adresse einzutragen anstelle der Adressen der Computer aus dem lokalen Netz.
-
DNS
-
Das Domain Name System übersetzt die für Menschen leichter merkbaren Rechnernamen in IP-Adressen, die nur aus Nummern bestehen.
-
DHCP
-
Im Dynamic Host Configuration Protocol weist ein Server allen Clients ihre Netzwerkdaten zu. Der Besitzer des Rechners muss sich nicht mehr um IP-Adressen, Netzmasken DNS-Server kümmern.
-
PPP
-
Das Point to Point Protocol sendet IP-Pakete über eine authentifizierte Verbindung und sorgt – ähnlich wie DHCP – meist auch für die korrekte Netzwerkkonfiguration des Rechners.
Infos
[1] Thomas Demuth und Achim Leitner, “Angriffstechnik im lokalen Netz: ARP-Spoofing und -Poisoning”, Linux-Magazin 06/2004, S. 34
[2] Marc André Selig, “Herumgraben im Datenwald – Ein Blick hinter die Kulissen von DNS”, LinuxUser 11/2002, S. 74
[3] Michael Renner, “Entspannt ans Netz – DHCP-Server fürs lokale Netzwerk”, LinuxUser 04/2004, S. 28




