Technische Praxis der Computersysteme

Ähnliche Dokumente
Technische Praxis der Computersysteme I 2. Vorlesung

Statisches Routing. Jörn Stuphorn Bielefeld, den Juni Juni Universität Bielefeld Technische Fakultät

Netzwerk Linux-Kurs der Unix-AG

Peer-to-Peer- Netzwerke

Netzwerk Teil 1 Linux-Kurs der Unix-AG

IP Internet Protokoll

Übungsblatt 4. (Router, Layer-3-Switch, Gateway) Aufgabe 2 (Kollisionsdomäne, Broadcast- Domäne)

IP Adressen & Subnetzmasken

Tutorübung zur Vorlesung Grundlagen Rechnernetze und Verteilte Systeme Übungsblatt 6 (27. Mai 31. Mai 2013)

Übungsblatt 4. (Router, Layer-3-Switch, Gateway) Aufgabe 2 (Kollisionsdomäne, Broadcast- Domäne)

Telekommunikationsnetze 2

Domain Name Service (DNS)

Internetprotokoll TCP / IP

ARP, ICMP, ping. Jörn Stuphorn Bielefeld, den 4. Mai Mai Universität Bielefeld Technische Fakultät

Übung 7. Tutorübung zu Grundlagen: Rechnernetze und Verteilte Systeme (Gruppen Mo-T1 / Di-T11 SS 2016) Dennis Fischer

Kommunikationsnetze. Praxis Internet. Version 4.0

Grundlagen der Rechnernetze. Internetworking

Modul 7: DHCP (Dynamic Host Configuration Protocol)

Modul 12: DHCP (Dynamic Host Configuration Protocol)

Themen. Vermittlungsschicht. Routing-Algorithmen. IP-Adressierung ARP, RARP, BOOTP, DHCP

Übung 6. Tutorübung zu Grundlagen: Rechnernetze und Verteilte Systeme (Gruppen MI-T7 / DO-T5 SS 2015) Michael Schwarz

Thomas Schön Albert-Ludwigs-Universität Freiburg

Dynamic Host Configuration Protocol

DHCP DY NA M I C H O S T C O NF I G UR AT I O N P R OTO C O L. A u t o m a t isc h e Ve r ga b e v o n I P - A d r e sse n a n C lie n t s

Prof. Dr. Kerstin Uhde Hochleistungsnetze u. Mobilkommunikation. Hochschule Bonn-Rhein-Sieg. Modul 4: IPv4

Einführung in IP, ARP, Routing. Wap WS02/03 Ploner, Zaunbauer

IPv4 vs. IPv6 IPv6 im praktischen Einsatz

7 Transportprotokolle

Technische Praxis der Computersysteme

Übung 3 - Ethernet Frames

Netzwerk Teil 1 Linux-Kurs der Unix-AG


Rechnernetze Übung 8 15/06/2011. Schicht 7 Schicht 6 Schicht 5 Schicht 4 Schicht 3 Schicht 2 Schicht 1. Switch. Repeater

Internet Control Message Protocol (ICMP)

Systeme II 4. Die Vermittlungsschicht

Netzwerk Teil 2 Linux-Kurs der Unix-AG

Übertragungsprotokolle TCP/IP Ethernet-Frames / network layer

Gruppen Di-T14 / Mi-T25

CCNA Exploration Network Fundamentals. ARP Address Resolution Protocol

Kommunikation im lokalen Netz

Grundkurs Routing im Internet mit Übungen

Übung - Anzeigen von Host-Routing-Tabellen

Netzwerk Linux-Kurs der Unix-AG

Stefan Dahler. 1. Konfiguration von Extended Routing. 1.1 Einleitung

ICMP Internet Control Message Protocol. Michael Ziegler

Hochschule Bonn-Rhein-Sieg. Prof. Dr. Kerstin Uhde Hochleistungsnetze u. Mobilkommunikation. Modul 5: IPv6. Netze, BCS, 2.

Installations- und Konfigurationsanleitung für Debian-Linux

CCNA Exploration Network Fundamentals. ARP Address Resolution Protocol

KN Das Internet

Praktikum Informations- und Medientechnik

Grundlagen TCP/IP. C3D2 Chaostreff Dresden. Sven Klemm

Rechnernetze I. Rechnernetze I. 5 Internetworking SS Universität Siegen Tel.: 0271/ , Büro: H-B 8404

Mobilkommunikationsnetze - TCP/IP (und andere)-

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Netzwerkprotokolle. Physikalische Verbindungsebene Datenübertragungsebene

Lösung von Übungsblatt 10. (Router, Layer-3-Switch, Gateway)

Chapter 9 TCP/IP-Protokoll Protokoll und IP-Adressierung. CCNA 1 version 3.0 Wolfgang Riggert,, FH Flensburg auf der Grundlage von

Adressierung eines Kommunikationspartners in der TCP/IP-Familie

Rechnernetze I SS Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/ , Büro: H-B Stand: 3.

Projekte IPv4 IPv6 Routing Configuration. OSI-3 - u yanosz, florob, nomaster, rampone, ike, gevatter thomas.wtf. Chaos Computer Club Cologne

Rechnernetze I SS Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 18.

ICMP Protokoll & Anwendung Einige Risiken von ICMP erkennen und verstehen! FRITZ Gerald

Grundlagen der Rechnernetze. Internetworking

Projektierung und Betrieb von Rechnernetzen

Inhaltsverzeichnis. Teil I TCP/IP-Grundlagen Einführung... 11

DHCP Grundlagen 1. DHCP - Protokoll. Dynamic Host Configuration Protocol. DHCP Grundlagen 2. DHCP Varianten

CCNA Exploration Network Fundamentals. Chapter 6 Subnetze

Netzwerk Linux-Kurs der Unix-AG

Version: Das Versionsfeld gibt an ob es sich um IPv4 oder um IPv6 handelt.

Tutorübung zur Vorlesung Grundlagen Rechnernetze und Verteilte Systeme Übungsblatt 5 (18. Mai 22. Mai 2015)

Erkenntnisleitende Fragestellungen zu CIDR, VLSM, Subnetting und Netzgrundlagen

IPSec-VPN site-to-site. Zyxel USG Firewall-Serie ab Firmware-Version Knowledge Base KB-3514 September Zyxel Communication Corp.

Version Deutsch In diesem HOWTO wird die grundlegende Netzwerk-Infrastruktur der IACBOX beschrieben.

Übung Prüfen von Ethernet-Rahmen mit Wireshark

Protokoll. Versuch: Dienste in IP-Netzen DHCP

Layer 3: Network Layer (hier: Internet Protocol Version 6)

Netzwerk Linux-Kurs der Unix-AG

Networking - Überblick

Lösung von Übungsblatt 10. (Router, Layer-3-Switch, Gateway)

Verbindungslose Netzwerk-Protokolle

Network Layer (= Internet Protocol)

IP-Adressen und Ports

Rechnern netze und Organisatio on

Internetprotokoll und Adressvergabe

Routing im Internet Wie findet ein IP Paket den Weg zum Zielrechner?

Ethernet: MAC-D MAC-S Type Data FCS. Eigenschaften: 1. Kann nur im eigenen Netz eingesetzt werden 2. Keine Bestätigung des Empfangs

Multicast & Anycast. Jens Link FFG2012. jenslink@quux.de. Jens Link (jenslink@quux.de) Multicast & Anycast 1 / 29

IPv6 Neu sind nicht nur 128-bit aber eigentlich bleibt doch alles beim Alten

Inhalt. Funk%onsweise Vor und Nachteile Konfigura%onshinweise Lease- Time

Im Jahre 1983 wurde TCP/IP das Standardprotokoll im DOD, und ist heute der generische Name für die gesamte Sammlung von Protokollen.

shri Raw Sockets Prof. Dr. Ch. Reich

IPv4 - Internetwork Protocol

Netzwerk Linux-Kurs der Unix-AG

Rechnernetze I SS Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/ , Büro: H-B Stand: 10.

IPv6 - Die Zukunft des Internet

Vermittlungsschicht im Internet - Bsp. Forschungseinrichtungen DFN als Provider für Hochschulen und Universitäten Kopplung von Providernetzen zum

UDP User Datagramm Protokoll

Internetanwendungstechnik. Vermittlungsschicht. Gero Mühl

Transkript:

Grundlegendes Grundproblematik: Für viele Menschen ist ein Rechner heutzutage kaum mehr als ein notwendiges Übel um Zugriff auf das Internet zu erhalten. Wie genau zwei Rechner dabei miteinander kommunizieren bleibt meist ein Mysterium - ein kleines Stück schwarze Magie, das meistens funktioniert, wenn man nur genügend Tieropfer bringt oder hinreichnd stark auf das Keyboard einschlägt.

Grundlegendes Ziel: Verstehen, wie Computersysteme miteinander kommunizieren, welche Techniken dabei zum Einsatz kommen und wie diese in GNU/Linux bzw. BSD-Systemen umgesetzt sind bzw. genutzt werden können.

Netzwerke im Allgemeinen Motivation: Ein wesentlicher Teil der weiteren Inhalte hängt zumindest von einem groben Verständnis der essentiellen Netzwerkprotokolle, die im Internet eingesetzt werden, ab. Ein Paketfilter (vulgo Firewall ) lässt sich nur schwer verstehen, oder richtig konfigurieren, wenn man nicht zumindest eine grundlegende Ahnung der verschiedenen Protokolle hat, die zum Datentransport eingesetzt werden.

Netzwerke im Allgemeinen Ein Beispiel:

Das OSI Modell OSI Modell: Die Kommunikation zwischen verschiedenen Systemen ist durch eine Reihe von Standards und Protokollen definiert. Dabei kann man die eingesetzten Protokolle nach ihrem Abstraktionsgrad unterscheiden. Weit verbreitet ist dabei das OSI Modell, das aus 7 Abstraktionsschichten besteht.

Das OSI Modell OSI-Schichten:

Das OSI Modell Bemerkung: Wir werden uns hauptsächlich mit Themen ab Layer 3 (und ein kleines Bisschen Layer 2) im OSI Modell beschäftigen. Die essentiellen Protokolle, die dort vorkommen sind IPv4/IPv6 (Layer 3) sowie (unter anderem) TCP, UDP, ICMP, ICMPv6, DHCP, Statless Autoconf und MLD. Die Details sind dabei oft weniger wichtig als das Verständnis für die Aufgabe, die sie erfüllen.

Das OSI Modell RFCs: Alle der oben genannten essentiellen Protokolle wurden und werden von der IETF (Internet Engineering Task Force) in sog. RFCs definiert und dokumentiert. RFC steht dabei für Request for Comment (obwohl die darin enthaltenen Spezifikationen heute als Standards gelten und i.a. kaum diskutabel sind). Eine Liste aller bisher publizierten RFCs findet sich auf http://tools.ietf.org/rfc/index.

Ethernet IEEE 802-Netzwerke: Ethernet und WLAN Netzwerke, die in den IEEE 802 Standards festgelegt werden, gehören vermutlich zu den häufigsten Netzwerktypen, denen ein Nutzer begegnet. Diese Netzwerke definieren dabei sowohl einen Physical- als auch einen Link-Layer. Letzterer hat dabei aus Nutzersicht einige Gemeinsamkeiten: Beide Link-Layer definieren Frames, die von einem Header ( Link-Level Header ) angeführt werden und beide verwenden MAC-Adressierungen um die Netzwerkinterfaces von Systemen zu adressieren. Ein typischer Frame in einem Ethernetnetzwerk sieht also wie folgt aus:

Ethernet MAC-Adressen: IEEE 802 Netzwerke (z.b. Ethernet und WLAN) haben bereits Layer 2 Host-Adressen in Form von MAC-Adressen. Jede Netzwerkschnittstelle hat dabei eine eigene, im Netzwerk einzigartige Adresse in Form eines 48-Bit Integers. MAC-Adressen werden typischerweise in hexadezimaler Notation angeschrieben, wobei je zwei Stellen durch einen Doppelpunkt voneinander getrennt werden, also z.b.: 3c:97:0e:3c:87:d9.

Ethernet Broadcasts: Um alle Rechner in einem Netzwerk simultan anzusprechen, kann man Broadcast-Adressen nutzen. Im Fall von Ethernet/WLAN Netzwerken gibt es dafür die spezielle MAC-Adresse ff:ff:ff:ff:ff:ff.

Ethernet Broadcasts: Um alle Rechner in einem Netzwerk simultan anzusprechen, kann man Broadcast-Adressen nutzen. Im Fall von Ethernet/WLAN Netzwerken gibt es dafür die spezielle MAC-Adresse ff:ff:ff:ff:ff:ff. Multicasts: Ethernet hat auch Multicast-Adressen, i.e. Adressen, die an mehrere Hosts in einem Netzwerk gehen können. Im Fall von Ethernet wird dies aber meistens ignoriert, i.e. in vielen Netzwerken verhalten sich Multicast Adressen wie Broadcast Adressen. Multicast-Adressen müssen den Wert 1 im least significant Bit des ersten Octets der Adresse haben, also z.b. 01:80:C2:00:00:00 (Spanning Tree Protocol) oder 33:33:0:0:0:1 (IPv6 Multicast).

IP-Netzwerke IPv4: Das IPv4 Protokoll wurde erstmals 1980 in RFC 760 definiert und dann in RFC 791 überarbeitet. Dort findet man folgende Motivation: The Internet Protocol is designed for use in interconnected systems of packet-switched computer communication networks. Such a system has been called a catenet [1]. The internet protocol provides for transmitting blocks of data called datagrams from sources to destinations, where sources and destinations are hosts identified by fixed length addresses. The internet protocol also provides for fragmentation and reassembly of long datagrams, if necessary, for transmission through small packet networks.

IP-Netzwerke Bemerkung: Das IP-Protokoll ist also eigentlich ein verbindungsloses Protokoll. Es kennt keine Verbindungen, es transportiert lediglich Pakete bestmöglich von A nach B. Dazu bietet es div. Optionen und ein logisches Adressierungsschema in Form der bekannten IP-Adresse. Das Konzept von Verbindungen und/oder Ports wird erst durch höher gelegene Protokolle eingeführt.

IP-Netzwerke Aufbau: Jedes IPv4-Paket beinhaltet - neben den Daten die es transportiert - immer auch einen IPv4 Header, in dem insbesondere Ziel- und Quelladresse (Source and Destination Address) festgehalten werden: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ Version IHL Type of Service Total Length + -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ Identification Flags Fragment Offset + -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ Time to Live Protocol Header Checksum + -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ Source Address + -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ Destination Address + -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ Options Padding + -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+

IP-Netzwerke Die IPv4 Adressen: Jedes IP-Paket hat eine 32 Bit Quell- und Zieladresse, die im IP-Header eingetragen wird. IPv4-Adressen werden bekannterweise mittels durch Punkte getrennter Dezimalzahlen notiert. Jede Dezimalzahl steht dabei für ein Byte der IPv4-Adresse, man erhält also die bekannte Schreibweise wie z.b. 8.8.4.4, 192.168.0.1 usw.

IP-Netzwerke IP-Netzwerke: IP-Adressen bestehen typischerweise aus zwei Teilen: Einem Netzwerk- und einem Hostteil. Wie man am obigen IP-Header erkennen kann, sind das aber keineswegs intrinsische Begriffe, also in keiner Form in einem IP-Paket auffindbar. Vielmehr ist das eine etwas künstliche Unterteilung, die vor allem dem Routing von Paketen dient (i.e. der Beförderung von Paketen zwischen verschiedenen, getrennten Netzwerken) und stellt Zusatzinformation da, die typischerweise nur dem Host oder div. Routern bekannt ist.

IP-Netzwerke Subnet Mask: Um den Netzwerkteil vom Hostteil einer Adresse zu unterscheiden dient die sog. Netzmaske/Subnet Mask. Sie legt fest, welcher Teil der Adresse das Netzwerk definiert und welcher den Host als Knoten (node) in diesem Netzwerk identifiziert. Sie besteht - binär betrachtet - aus einer 4-Byte Binärzahl, die von links aus gesehen bis zu einer gewissen Stellen rein aus 1-en besteht und sonst nur 0 enthält. Verknüpft man die IPv4-Adresse dann logisch-und mit der Netzmaske, erhält man die Adresse des Netzwerks.

IP-Netzwerke Beispiel: Die IPv4 131.130.16.27 ist ein Knoten im Netz der Fakultät für Mathematik. Die Fakultät hat ein Subnetz der Univie mit einer Netzmaske von 11111111 11111111 11111100 00000000, der Netzwerkteil der Adresse ist also 131.130.16, die Adressen zwischen 131.130.16.1 und 131.130.19.254 stehen also für Hosts in diesem Netzwerk zur Verfügung.

IP-Netzwerke Bemerkungen: Netzmasken werden typischerweise in CIDR-Notation angegeben. Hier wird die Anzahl der 1en in der Netzmaske als Zahl mit / an die IP-Adresse angehängt, also 131.130.16.27/22.

IP-Netzwerke Bemerkungen: Netzmasken werden typischerweise in CIDR-Notation angegeben. Hier wird die Anzahl der 1en in der Netzmaske als Zahl mit / an die IP-Adresse angehängt, also 131.130.16.27/22. Alternativ können Netzmasken auch wie IPv4-Adressen notiert werden: 131.130.16.27/22 entspricht 131.130.16.27 mit einer Netzmaske von 255.255.252.0.

IP-Netzwerke Bemerkungen: Netzmasken werden typischerweise in CIDR-Notation angegeben. Hier wird die Anzahl der 1en in der Netzmaske als Zahl mit / an die IP-Adresse angehängt, also 131.130.16.27/22. Alternativ können Netzmasken auch wie IPv4-Adressen notiert werden: 131.130.16.27/22 entspricht 131.130.16.27 mit einer Netzmaske von 255.255.252.0. Die letzte Adresse in einem Netzwerk (alle Host-Bits 1) wird als Broadcast-Adresse genutzt. Im obigen Beispiel wäre das 131.130.19.255. Pakete an diese Adresse werden an alle Hosts im Netzwerk geschickt.

IP-Netzwerke Spezielle Netzwerke: 127.0.0.0/8 - Loopback-Adressen 10.0.0.0/8 - Private Use ( Klasse A ) 172.16.0.0/12 - Private Use ( Klasse B ) 192.168.0.0/16 - Private Use ( Klasse C )

IP-Netzwerke Loopback: Loopback-Adressen werden auf jeden Rechner lokal für ein virtuelles Loopback-Interface genutzt. So steht auf jedem Host ein spezielles, lokales Interface zur Verfügung, durch das ein Host mit sich selbst reden kann (z.b. um lokal auf einer Maschine Services anzubieten).

IP-Netzwerke Loopback: Loopback-Adressen werden auf jeden Rechner lokal für ein virtuelles Loopback-Interface genutzt. So steht auf jedem Host ein spezielles, lokales Interface zur Verfügung, durch das ein Host mit sich selbst reden kann (z.b. um lokal auf einer Maschine Services anzubieten). Private Use: Private Use Blöcke können in jedem privatem Netzwerk verwendet werden. Sie werden nicht über die Grenzen des lokalen Netzes heraus geroutet und sollten/können daher nicht (ohne weiteres) über Netzwerkgrenzen hinaus kommunizieren. Sie werden typischerweise für Heimnetzwerke genutzt, die sich hinter einem NAT befinden.

IP-Netzwerke IP- & MAC-Adressen: Konzeptionell repräsentiert die MAC-Adresse den Rechner als Teilnehmer des Ethernet-Netzwerks und die IP-Adresse den Rechner als Host, also als abstraktes System. Um also Daten via IP-Protokoll zwischen zwei Systemen in einem LAN auszutauschen benötigt man sowohl die MAC-Adresse des Systems (damit das darunterliegende Netzwerk die Daten an den richtigen Rechner schickt) als auch die IP-Adresse des Hosts, damit sich dieser angesprochen fühlt.

IP-Netzwerke IP & MAC-Adressen II: IP-Adressen sind prinzipiell von MAC-Adressen komplett unabhängig. Es gibt aber gewisse Situationen, bei denen es notwendigerweise zu Interaktionen zwischen dem IP-Protokoll und dem darunterliegenden Ethernet-Layer kommt.

IP-Netzwerke Bemerkung: Im Falle von Ethernet ist das IP-Paket in einem Ethernet-Frame eingebettet. Umgekehrt ist in IP einem IP-Paket immer ein Paket eines höheren Protokolls (im Sinne des OSI-Modells) eingebettet. Es entsteht also folgendes Bild: (LL-Header steht hier für Link-Layer Header, also z.b. den Ethernet Header des Pakets.)

IP-Netzwerke ARP: Möchte man in zwischen zwei Hosts in einem Ethernet-Netzwerk via IP kommunizieren, kennt man meistens nur (evtl. über Umwege wie DNS) die IP-Adresse des anderen Hosts. Man benötigt also eine Möglichkeit, die MAC-Adresse eines lokalen Systems anhand der IP-Adresse zu ermitteln. Dies wird durch über Address Resolution Protokoll (ARP) erledigt. ARP ist in RFC 826 definiert und ist ein sehr simples Layer 3 Protokoll, dessen essentiell einziger Zweck die Auflösung von IPv4 Adressen in MAC-Adressen ist.

IP-Netzwerke Format: Ein ARP-Palket ist wie folgt aufgebaut: + -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ Hardware Type Protocol Type + -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ Hardware Length Protocol Length + -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ Operation + -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ Sender Hardware Address + -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ Sender Protocol Address + -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ Target Hardware Address + -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ Target Protocol Address + -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+

IP-Netzwerke Felder: Die Operation ist entweder ein Request (1) oder eine Reply (2). Länge der Hardware- und Protokolladresse ist Variablen. Im Fall von Ethernet und IPv4 ist der erste Wert 6, der zweite 4. Der Hardware Typ von Ethernet ist 1, der Protokolltyp von IPv4 0x0800.

IP-Netzwerke Bemerkung: Nachdem wir hier eigentlich eine Vorlesung über GNU/Linux halten wollen, werden wir es vermeiden uns jedes Protokoll in dieser Form von Detail anzusehen. Das obige Beispiel soll lediglich illustrieren, dass die meisten grundlegenden Protokolle im Internet komperativ simpel aufgebaut und für eine bestimmte Aufgabe optimiert sind.

IP-Netzwerke Adresskonfiguration: Um einen Host als Teilnehmer eines IPv4 Netzes einzurichten wird üblicherweise eine IPv4-Adresse, eine Netzmaske und ggf. Informationen wie der default gateway (um nicht-lokale Pakete abgeben zu können) oder ein DNS-Server (zum Auflösen von Namen zu Adressen) benötigt. Diese Informationen können entweder vom Nutzer selbst Konfiguriert werden (statische Konfiguration), oder aber via DHCP automatisch bezogen werden (dynamische Konfiguration). DHCP steht dabei fuer das dynamic host configuration protocol, das in RFC 2131 in seiner aktuellsten Form festgelegt ist.

IP-Netzwerke Funktionsweise: Bei DHCP sendet der Host ein DHCP-Discover Paket an die generische Broadcast-Adresse 255.255.255.255 (im Fall von Ethernet hat das Paket auch die Ethernet Broadcast Adresse gesetzt). Ein DHCP-Server kann dann auf diesen Request mit einem DHCP-Offer reagieren, in dem er den Host eine Adresse samt Subnet-Mask und div. Zusatzinformationen anbietet. Der Client generiert aus diesen Daten dann einen entsprechenden DHCP-Request, in dem er um die (temporäre) Vergabe der angebotenen Adresse bittet. Der Server bestätigt diesen Reuqest dann mit einem DHCPACK oder lehnt ihn mit deinem DHCPNACK ab. Nimmt der Server einen DHCP-Request an, konfiguriert der Client das entsprechende Interface mit der richtigen Adresse und Subnetmask.

IP-Netzwerke Funktionsweise: Bei DHCP sendet der Host ein DHCP-Discover Paket an die generische Broadcast-Adresse 255.255.255.255 (im Fall von Ethernet hat das Paket auch die Ethernet Broadcast Adresse gesetzt). Ein DHCP-Server kann dann auf diesen Request mit einem DHCP-Offer reagieren, in dem er den Host eine Adresse samt Subnet-Mask und div. Zusatzinformationen anbietet. Der Client generiert aus diesen Daten dann einen entsprechenden DHCP-Request, in dem er um die (temporäre) Vergabe der angebotenen Adresse bittet. Der Server bestätigt diesen Reuqest dann mit einem DHCPACK oder lehnt ihn mit deinem DHCPNACK ab. Nimmt der Server einen DHCP-Request an, konfiguriert der Client das entsprechende Interface mit der richtigen Adresse und Subnetmask. Bemerkung:

IP-Netzwerke Beispielablauf:

IP-Netzwerke ICMP: ICMP ist das Internet Control Message Protocol. Es dient dem Austausch von Fehler- und Diagnosenachrichten zwischen Netzwerkknoten. ICMP-Pakete sind dabei in IP-Pakete verpackt und können anhand der Protokoll-Werts von 1 erkannt werden. Jedes ICMP-Paket hat dabei einen ICMP-Header, in dem Typ und Code (jeweils 8 Bit) der Nachricht festgehalten sind.

IP-Netzwerke Beispiele: Typ 0, Code 0: echo reply ( ping ) Typ 3: Destination unreachable (Code gibt mehr Hinweise warum). Typ 8: echo request ( ping )

IP-Netzwerke Bemerkung: Neben dem ICMP-Header enthält ein ICMP-Paket auch den IP-Header sowie 64 Bits des originalen Datagrams als Datenbereich, damit der Empfänger weiß, welcher Prozess die ICMP-Message ausgelöst hat.

IP-Netzwerke Routing: Als Routing wird der Prozess bezeichnet, der ein Paket durch eine Vielzahl an Netzwerke von der Quelle zu seinem Ziel befördert. (Lokale) Routinginformation ist dabei von der Gestalt Pakete an Netzwerk X via Interface Y (falls das Ziel direkt ueber ein Interface erreichbar ist) oder Pakete an Netzwerk X via Host Y (falls sich das Ziel nicht im lokalen Netzwerk befindet). Um ein Paket dann zu routen wählt der Kernel die am besten geeignete Route oder fällt auf eine sog. default route zurück.

ip Konfiguration von Interfaces: Zur Konfiguration von Netzwerkschnittstellen wird unter Unix üblicherweise ifconfig genutzt, unter GNU/Linux mittlerweile ip, das wesentlich mehr Funktionalität bereitstellt. Wir konzentrieren uns für den Moment auf ip.

ip ip: Der ip Befehl kann zur Konfiguration von Netzwerkschnittstellen, Routing Tabellen, ARP Tabellen, etc. genutzt werden. Der erste an ip übergebene Parameter legt daher den Aufgabenbereich fest. Für uns wichtig sind: ip link - Aktivieren und Deaktivieren von Schnittstellen, Manipulation der MAC-Adresse einer Schnittstelle, der Schnittstellenoptionen usw. ip address - Ausgabe und Konfiguration von IP-Adressen ip neighbour - Ausgabe und Manipulation der MAC-Adressen zu IP-Adressen, die z.b. via ARP oder NDP aufgelöst wurden. ip route - Ausgabe und Manipulation der Routing Tabelle

ip ip link: ip link kann zum Anlegen virtueller, oder zum Verändern der Einstellungen bestehender Interfaces genutzt werden. Für uns wesentlich ist der Befehl ip link set dev DEVICE up/down, mit dem ein Interface aktiviert bzw. deaktiviert werden kann. Mit ip link show erhält man eine Liste aller Link-Level Informationen zu den Interfaces (insbesondere deren MAC-Adresse).

ip ip address: Ruft man ip mit dem address Parameter auf, erhält man per default eine Liste an Interfaces, samt zusätzlichen Informationen wie MAC-, IPv4- und IPv6-Adressen (äquivalent zu ip addr show).

ip Setzen von Adressen: Eine IP-Adresse kann mit dem Befehl ip addr add dev INTERFACE ADDRESS/PREFIXLENGTH hinzugefügt werden, wobei INTERFACE durch den Namen der Schnittstelle ersetzt wird, für die die Adresse gesetzt werden soll und ADDRESS sowie PREFIXLENGTH durch die IP-Adresse bzw. die Länge der Netzmaske ersetzt werden.

ip Setzen von Adressen: Eine IP-Adresse kann mit dem Befehl ip addr add dev INTERFACE ADDRESS/PREFIXLENGTH hinzugefügt werden, wobei INTERFACE durch den Namen der Schnittstelle ersetzt wird, für die die Adresse gesetzt werden soll und ADDRESS sowie PREFIXLENGTH durch die IP-Adresse bzw. die Länge der Netzmaske ersetzt werden. Beispiel: ip addr add dev eth0 10.0.0.123/24 fügt die Adresse 10.0.0.123 zu eth0 hinzu. Es wird auch automatisch eine Route generiert, die das Netzwerk 10.0.0.0/24 als direkt über eth0 erreichbar deklariert.

ip Entfernen von Adressen: Eine IP-Adresse kann mit ip addr del dev INTERFACE [ADDRESS/PREFIXLENGTH] wieder von einer Schnittstelle entfernt werden. Gibt man keine Adresse an, wird per default die erste Adresse entfernt.

ip Entfernen von Adressen: Eine IP-Adresse kann mit ip addr del dev INTERFACE [ADDRESS/PREFIXLENGTH] wieder von einer Schnittstelle entfernt werden. Gibt man keine Adresse an, wird per default die erste Adresse entfernt. Beispiel: Mit ip addr del dev eth0 10.0.0.123/24 kann die Adresse aus dem obigen Beispiel wieder entfernt werden.

ip ip neighbour: Ein Aufruf von ip neighbour gibt ohne weitere Parameter eine Tabelle aller dem System bekannten MAC-IP Adresspaare aus. Man kann mit ip neighbour add ADDRESS lladdr LLADDRESS dev INTERFACE auch statische Einträge anlegen und mit ip neighbour del ADDRESS wieder löschen.

ip ip neighbour: Ein Aufruf von ip neighbour gibt ohne weitere Parameter eine Tabelle aller dem System bekannten MAC-IP Adresspaare aus. Man kann mit ip neighbour add ADDRESS lladdr LLADDRESS dev INTERFACE auch statische Einträge anlegen und mit ip neighbour del ADDRESS wieder löschen. Bemerkung: Das statische Anlegen von MAC-IP Adresspaaren bezeichnet man oftmals als static ARP. Static ARP kann genutzt werden um die MAC Adresse kritischer Infrastruktur (e.g. eines Gateways) auf einem Host direkt zu konfigurieren, anstatt dies über einen ARP-Lookup zu machen, der gewisse Unsicherheiten mitbringt (ARP-Spoofing).

ip ip route: ip route gibt per default eine Liste aller IPv4-Routen aus (äquivalent zu ip route show).

ip Hinzufügen von Routen: Mit ip route add [ ADDRESS / PREFIX default ] [ via ADDRESS ] dev INTERFACE kann eine Route hinzugefügt werden. Es kann dabei entweder ein Netzwerk durch ADDRESS/PREFIX oder die default route via default hinzugefügt werden. Sollen Pakete an dieses Netzwerk über einen anderen Host (z.b. einen Router/Gateway) geleitet werden, kann die Adresse des Hosts durch via ADDRESS angegeben werden. Ansonsten wird das Netzwerk als direkt erreichbar deklariert.

ip Entfernen von Routen: Routen können mit ip route del wieder entfernt werden. Die Parameter sind ansonsten Ident zu ip route add.

ip ping: Das ping Programm ist ein Werkzeug zum Versenden von ICMP echo requests. Die IP-Adresse des Ziels muss als Parameter übergeben werden.

ip ping: Das ping Programm ist ein Werkzeug zum Versenden von ICMP echo requests. Die IP-Adresse des Ziels muss als Parameter übergeben werden. Wichtige Parameter: -c count gibt die Anzahl der ICMP echo Pakete an, die geschickt werden sollen.

ip Automagische Adresskonfiguration: Um Adressen nicht wie oben statisch zu konfigurieren, sondern dies automatisch via DHCP durchzuführen, kann ein DHCP-Client wie z.b. dhclient genutzt werden. Im einfachsten Fall genügt ein Aufruf der Form dhclient INTERFACE um das Interface via DHCP automatisch konfigurieren zu lassen. dhclient besitzt eine Konfigurationsdatei unter /etc/dhclient.conf, in der unter anderem die DHCP-Optionen definiert werden, die dhclient vom DHCP-Server erfragt (z.b. Netzmaske, DNS-Server, NTP-Server,...).

ip Zusammenfassung: Grundlegende Netzwerkkonfiguration beinhaltet im Wesentlichen immer die selben Schritte: Aktivieren des Interfaces (ip link set dev IFNAME up) Bei statischer Konfiguration: Hinzufügen von Adressen und evtl. speziellen Routen, ip addr add dev IFNAME..., ip route add default via... Bei dynamischer Konfiguration: dhclient IFNAME

ip Bemerkung: Die obige Vorgehensweise ist nur bei gewissen Schnittstellen wirklich ausreichend. WLAN-Verbindungen brauchen z.b. einen extra Zwischenschritt (Verbindung zu einem WLAN-Netzwerk vor der Adresskonfiguration).

ip Bemerkung: Die meisten GNU/Linux-Distributionen verwenden mittlerweile eigene Systemservices wie NetworkManager zum einfachen Managen und Konfigurieren von Interfaces. Diese führen die obigen Schritte automatisch aus, sobald eine Verbindung erkannt wird und können meistens bequem über eine GUI konfiguriert werden.