28
Kommunikationsnetze Praxis Internet E-Mail: [email protected] Michael Rotert Version 4.0

Teil 5 DHCP, NAT u.Co-IPv4 - iwi.hs-karlsruhe.deromi0001/skripte/Teil 5 DHCP, NAT u.Co... · • IP-Paket im Ethernet-Frame mit individuellen Adressen übertragen Hinweis: Nach RFC

  • Upload
    vukhanh

  • View
    236

  • Download
    1

Embed Size (px)

Citation preview

Kommunikationsnetze

Praxis Internet

E-Mail: [email protected]

Michael Rotert Version 4.0

Teil 5

Inhalt Einführung (Teil 1)

Lokale Netze (LAN) –  Topologie, Komponenten –  Ethernet

•  Punkt-zu-Punkt über Ethernet –  Virtuelle LANs

Internet Ebene 3 Protokolle (Teil 2) –  Definition, Geschichte –  Architektur, Protokolle

IPv4 (Teil3) –  IPv4 Header –  Fragmentierung –  IPv4 Adressierung

IPv4 Routing (Teil 4) –  Autonome Systeme –  Routing Protokolle –  Internet Exchanges

Zusatzprotokolle (Teil 5)

–  ARP / RARP –  ICMP (ping und traceroute) –  DHCP und NAT

Kommunikationsnetze M.Rotert SS2015

IPv6 (Teil 6)

–  Entwicklung, Geschichte –  IPv6 Header –  IPv6 Adressierung

IPv6 Zusatzprotokolle (Teil 7)

–  Konfiguration, Autokonfiguration –  Fragmentierung –  DHCP, ICMP

Drahtlose und mobile Netze (Teil 8)

–  Eigenschaften –  Adressierung/Routing mobiler Benutzer –  Mobilität in IPv4 Netzen –  WLAN/Wifi

Transportschicht (Teil 9)

–  TCP und UDP Anwendungsschicht (Teil 10)

–  Grundlagen, Architekuren –  DNS –  Electronic Mail (SMTP, POP3, IMAP) –  P2P-Anwendungen

2

IPv4: ARP: Address Resolution Protocol

Dazu wird das Address Resolution Protocol (ARP) verwendet

•  Jedes System in einem LAN hat einen ARP-Cache, in dem die Zuordnung von IP- zu MAC-Adressen gespeichert ist

•  Jeder Eintrag ist mit einer Lebenszeit versehen, nach Ablauf der Lebenszeit wird der Eintrag gelöscht (RFC 1127) (typische Lebenszeit: 20 Minuten)‏

•  Ansehen + Manipulieren des ARP-Caches mit dem Kommando arp (z.B. Anzeige mit arp –a )

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 3

Problem: Wie erfahre ich die MAC-Adresse von B, wenn ich die IP-Adresse von B kenne?

IPv4: ARP •  Vorgehensweise im Ethernet: •  A sendet mittels Broadcast einen ARP-Request

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 4

A X B Y

A X B Y

B antwortet mit einem ARP-Reply an A und sendet damit eine physikalische Adresse.

IPv4: ARP Ablauf •  IP-Header + Daten erzeugen

•  ARP: Kein Eintrag für Ziel

•  ARP-Paket aussenden:

Ethernet: Zieladresse: FF.FF.FF.FF.FF.FF (Broadcast) Quelladresse: Eigenadresse

Paket Typ: 080616

ARP-Daten: Quelladresse-Ethernet: Eigenadresse IP-Quelladresse: Individuelle-Adresse IP-Zieladresse: Individuelle-Adresse

•  ARP-Paket ohne Broadcast zurück

•  IP-Paket im Ethernet-Frame mit individuellen Adressen übertragen Hinweis: Nach RFC 1127 (Oktober 89) muss das ARP einen Mechanismus unterstützen, der es erlaubt ,,veraltete“ bzw. ,,ungültige" Einträge zu erkennen und zu löschen.

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 5

IPv4: ARP Einsatz 1) IP-Paket von A nach B setzt voraus:

ARP-Broadcast von A nach B Somit: Direkte Erreichbarkeit (was mit Router dazwischen?) Das Netz zwischen A und B muss Broadcasts (min ARP-Broadcasts) durchlassen.

2) ARP kommt auf jeder ,,IP-Kommunikations-Teilstrecke" erneut zum Einsatz

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 6

IPv4: ARP •  ARP ist ein dynamisches Verfahren

•  Informationen werden nur im Cache gehalten

Vorteil: keine Tabellen, Ethernet Boardtausch

•  ist aufgrund des eingesetzten Netzes kein Broadcast möglich, so sind feste Einträge zu benutzen (sprich: ,,feste ARP-Tabellen")

•  Proxy ARP Frage klären d.h. hinter einem Router ist nur die IP-Adresse des Absenders aber nicht mehr seine Data-Link-Adresse bekannt.

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 7

IPv4: RARP - Reverse ARP

•  Frage nach Internetadresse

•  Abbildung Ethernet-Adresse → IP-Adresse

•  (eigene Anwendung für plattenlose Systeme, damit der Rechner beim Systemstart mit einem tftp-Dämon Verbindung aufnehmen kann.)

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 8

IPv4: Proxy ARP Problem:

•  Zielsystem nicht über Broadcast erreichbar

Lösung:

•  Lokaler Router kennt alle entfernten Netze mit deren Router und antwortet auf lokalen ARP

•  ARP des Gateway erkennt die Anfrage und spielt die Rolle des Partners, d.h. –  ARP-Eintrag beim Rechner: IP-Partner Ethernet-Rechner

–  ARP-Eintrag beim Gateway: IP-Rechner Ethernet-Rechner IP-Partner

Ethernet-Partner (falls hub=1) –  kein Route-Eintrag beim Rechner, Route-Eintrag beim Gateway

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 9

IPv4: Internet Control Message Protocol

•  Fehler im empfangenen IP - Paket: –  Checksum Fehler: Paket ignorieren

–  erkannter Fehler:

Ziel oder Vermittlungspartner sendet IP-Pakete aus: IP - Header + ICMP

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 10

IPv4: Internet Control Message Protocol

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 11

1 8 16 32

Typ Code Prüfsumme

Parameter

Information data

Wert Funktion

0 Echo Reply ping 8 Echo Request ping 3 Destination Unreachable

4 Source Quench

5 Redirect (nur „gateway“)

11 Time exceeded

12 Parameter-Problem

13 Timestamp-Request

14 Timestamp-Reply

17 address mask request

18 address mask reply

Paket-Format

Typ (8Bit)

IPv4: Internet Control Message Protocol

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 12

Paket Format: 1 8 16 32

Typ Code Prüfsumme Parameter

Information data

Code 8 Bit Für Parameter mit wenig Bits, für mehr wird Parameterfeld genommen

Checksum 16 Bit Prüfsumme für gesamtes Paket Parameter 32 Bit Für mehr Infos als bei „Code“ Info. data variabel Zusatzinfo zu „Parameter

IPv4: ICMP - Fehlermeldung •  In Diskussion:

- Wann muss eine ICMP - Fehlermeldung geschickt werden? - Wann soll keine ICMP - Fehlermeldung geschickt werden? •  Broadcast - Problematik:

Ein Broadcast an eine Anwendung, die nicht existiert, kann je eine Fehlermeldung von allen Systemen auslösen

–  Unnötige Netzlast (Broadcast - Thunderstorm)

Eine mögliche Lösung: Systeme unterscheiden, ob es sich um eine Netzadministration oder IP Anwendungs-Broadcast handelt nach den Angaben im Type of Service Feld.

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 13

IPv4: ping

•  Die Anwendung ping nutzt, dass eine Station, die ein ICMP-echo Paket erhält, darauf mit einem ICMP-echo-reply Paket antworten muss. Da dies direkt in dem IP (inkl. ICMP) Softwaremodul erfolgt, kann somit die Erreichbarkeit eines Systems unabhängig von der Funktionsfähigkeit getestet werden.

•  Hinweis: Chance, sich über die Erreichbarkeit eines Windows-Systems zu informieren.

•  Da jeder Router für jeden Netzanschluss eine eigene IP-Adresse hat, kann jede Seite für sich auf Erreichbarkeit hin untersucht werden.

•  Allgemein: ping ermöglicht die Erreichbarkeit von IP-Systemen im Netz zu überwachen. Somit kann hier mit einfachen Mitteln ein Ansatz von Netzwerkmanagement aufgezogen werden.

ping ermöglicht so einfache Fehlereingrenzung im Netz.

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 14

IPv4: ping

•  ping sendet ICMP-echo Pakete und erhält ICMP-echo-reply Pakete transportiert mit IP

•  ⇒ ping testet die Erreichbarkeit von Systemen

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 15

ftp

telnet

smtp

TCP

IP

Network

ftp

telnet

smtp

TCP

IP

Network

ICMP

ping

IPv4: ping

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 16

1048 byte

1024 byte

128 byte

echo request

echo reply

TCP

IP

TCP

IP

Round Trip

TCP

IP

TCP

IP

Unterschiedliche Paketgröße (jeweils beide Richtungen)

IPv4: Traceroute und ICMP

•  Aufgabe: –  Traceroute bestimmt Informationen über alle Router,

die auf dem Weg zu einer IP-Adresse liegen –  Dabei wird auch die Round-Trip-Time (RTT) zu jedem Router bestimmt

•  Funktionsweise: –  Traceroute sendet UDP-Pakete an ein Zielsystem mit einen Port,

der wahrscheinlich nicht verwendet wird, und erwartet eine ICMP-Port unreachable-Nachricht vom Empfänger!

–  Traceroute schickt ein UDP-Paket an die Adresse, für die der Weg untersucht werden soll; TTL im IP-Header wird auf 1 gesetzt

–  Der erste Router verwirft das IP-Paket (TTL = 1!) und schickt eine ICMP-TTL expired-Fehlermeldung an den Absender

–  Traceroute wiederholt dies mit TTL = 2 bis n; und berechnet die RTT

–  UDP-Paket erreicht schließlich Zielsystem; ICMP-Port unreachable-Nachricht kommt

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 17

IPv4: Traceroute - Ablauf •  Wie kann der Weg eines Paketes über Router verfolgt werden, auch

wenn record route nicht unterstützt wird?

•  Traceroute Arbeitsweise: A sendet Pakete mit anwachsendem Wert für TTL;

•  TTL=0 bewirkt bei einem Router ein ICMP_TIME_EXCEEDED

Paket an A.

•  A sieht somit bis zu welchem Router Antworten gesendet werden, bzw. den Weg des Paketes.

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 18

A B

IPv4: traceroute (Forts.) >Last login: Sun Mar 15 09:14:25 on console MRMACAir:~ Michael$ traceroute www.hs-karlsruhe.de traceroute to www.hs-karlsruhe.de (193.196.64.99), 64 hops max, 52 byte packets 1 hsi-kbw-085-216-125-231.hsi.kabelbw.de (85.216.127.231) 48.010 ms 70.141 ms 55.791 ms 2 hsi-kbw-85-216-127-230.hsi.kabel-badenwuerttemberg.de (85.216.127.230) 55.228 ms 48.478 ms 50.412 ms 3 ae1.str-m1.ip-bb.kabel-badenwuerttemberg.de (78.42.40.3) 49.022 ms 36.026 ms 71.501 ms 4 ae0.str-m2.ip-bb.kabel-badenwuerttemberg.de (78.42.40.5) 55.418 ms 58.545 ms 58.154 ms 5 belwue.stuttgart-ix.de (193.138.31.16) 62.772 ms 56.356 ms 56.483 ms 6 karlsruhe-bib-1-10ge-0-0-0-1.belwue.net (129.143.57.42) 57.425 ms stuttgart-nwz-1-10ge-0-0-0-0.belwue.net (129.143.57.2) 53.810 ms karlsruhe-bib-1-10ge-0-3-0-4.belwue.net (129.143.57.46) 39.426 ms 7 karlsruhe-rz-1-10ge-0-0-0-1.belwue.net (129.143.59.210) 56.366 ms karlsruhe-rz-1-10ge-0-7-0-0.belwue.net (129.143.59.142) 25.124 ms karlsruhe-rz-1-10ge-0-0-0-1.belwue.net (129.143.59.210) 30.117 ms 8 fh-karlsruhe1-gi0-2.belwue.net (129.143.166.198) 27.460 ms 21.087 ms 28.984 ms 9 * * * 10 *^C MRMACAir:~ Michael$ exit

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 19

DHCP Dynamic Host Configuration Protocol

•  DHCP-Client Ein DHCP-Client ist ein Internet-Host, der DHCP benutzt, um Konfigurationsparameter zu erhalten, z.B. die Netzwerkadresse.

•  DHCP-Server Ein DHCP-Server ist ein Internet-Host, der Konfigurationsparameter an die DHCP-Clients gibt.

•  BOOTP relay agent ist ein Internet Host oder Router, der DHCP Meldungen zwischen DHCP-Client und –Server weiterreicht.

•  Binding ist eine Sammlung von Konfigurationsparametern, die mindestens eine IP-Adresse enthält, die sich auf den DHCP-Client bezieht (bound to). Bindings werden von DHCP-Servern gemanaged.

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 20

DHCP – Dynamic Host Configuration Protocol

•  Problem: Wie bekommen Endsysteme ihre IP-Adresse (und andere Parameter der Netzwerkschicht, wie z.B. die Subnetzmaske)? –  Manuelle Konfiguration? Fehleranfällig –  Lösung: Automatische Zuweisung mithilfe des

Dynamic Host Configuration Protocol (DHCPv4), RFC 2131 •  Ziele von DHCP

–  Automatische Vergabe von Adressen und Parametern –  Keine Konfiguration der Endsysteme notwendig –  Unterstützung von mobilen Benutzern

•  Prinzipieller Ablauf –  Endsystem schickt eine DHCP-Discover-Nachricht per IP-Broadcast

(Adresse 255.255.255.255)‏ –  DHCP-Server antwortet mit einer DHCP-Offer-Nachricht –  Endsystem beantragt eine IP-Adresse: DHCP-Request-Nachricht –  DHCP-Server vergibt Adresse: DHCP-Ack-Nachricht

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 21

DHCP-Szenario

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 22

DHCP verwendet UDP. DHCP-Nachrichten werden an die MAC-Broadcast-Adresse geschickt. Es gibt ein Feld, in dem eine eindeutige Kennung des Clients verpackt ist. Dies ist meist die MAC-Adresse. DHCP kann mehr: - Verschiedene Arten der Adresszuweisung (vorkonfiguriert, permanent, temporär)‏ - Verlängerung und Rückgabe der Adresse durch den Client - Konfigurieren von Parametern Ein Blick in RFC 2131 lohnt sich!

NAT Network Address Translation

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 23

•  Motivation: –  Häufig hat man nur eine IP-Adresse, aber mehrere Endsysteme –  Diese ist meist nur temporär (per DHCP) zugewiesen –  Man möchte bei einem Provider-Wechsel nicht die IP-Adressen der Endsysteme verändern –  IP-Adressen im eigenen Netzwerk sollen aus Sicherheitsgründen nicht vom Internet aus

sichtbar sein –  Interne IP-Adressen sollen veränderbar sein, ohne dass der Rest des Internets darüber

informiert werden muss •  Idee:

–  Vergebe lokale (weltweit nicht eindeutige) Adressen an Systeme im eigenen Netzwerk –  Router zur Anbindung an das Internet übersetzt diese Adressen in eine gültige, weltweit

eindeutige IP-Adresse –  Dazu wird die Adressierung auf der Transportschicht gebraucht (missbraucht): Ports [daher

auch: Port Address Translation PAT]

NAT: Network Address Translation •  16-Bit-Port Number-Feld:

–  Mehr als 60.000 gleichzeitige Verbindungen mit einer IP-Adresse •  NAT ist nicht unumstritten:

–  Router sollten nur Informationen der Schicht 3 verwenden –  Verletzung des sogenannten Ende-zu-Ende-Prinzips

(end-to-end principle): •  Transparente Kommunikation von Endsystem zu Endsystem, im

Inneren des Netzes wird nicht an den Daten „herumgepfuscht“ •  Bei NAT: Der Anwendungsentwickler muss die Präsenz von

NAT-Routern berücksichtigen. Beispiele: –  Verwenden der IP-Adresse als weltweit eindeutige Nummer –  Verwenden von UDP

–  NAT dient hauptsächlich der Bekämpfung der Adressknappheit im Internet. Dies sollte besser über IPv6 erfolgen

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 24

NAT: Network Address Translation •  Implementierung: Ein NAT-Router muss Folgendes tun:

–  Ausgehende Datagramme: ersetze (Sender-IP-Adresse, Portnummer) im Absenderfeld für jedes ins Internet geleitete Datagramm durch (NAT-IP-Adresse, neue Portnummer)‏

•  Kommunikationspartner wird die Antworten an (NAT-IP-Adresse, neue Portnummer) schicken

–  Speichere in einer NAT-Tabelle die Abbildung zwischen (Sender-IP-Adresse, Portnummer) und (NAT-IP-Adresse, neue Portnummer)

–  Ankommende Datagramme: ersetze (NAT-IP-Adresse, neue Portnummer) im Empfängerfeld durch (Sender-IP-Adresse, Portnummer) aus der NAT-Tabelle

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 25

NAT: Network Address Translation

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 26

Lokales Netz (z.B. Heimnetzwerk)‏

10.0.0/24

Internet

Datagramme mit Sender oder Empfänger in diesem Netzwerk haben 10.0.0/24 als Adresse für

diesen Sender/Empfänger

Alle Datagramme, die das lokale Netz verlassen, haben die gleiche NAT-IP-Adresse als Absender: 138.76.29.7, Unterscheidung durch Portnummern

NAT: Network Address Translation

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 27

1: Host 10.0.0.1 sendet Datagramm an 128.119.40, 80

2: NAT-Router ändert die Senderadresse von 10.0.0.1, 3345 in 138.76.29.7, 5001, Eintrag in Tabelle

3: Antwort kommt an für Adresse 138.76.29.7, 5001

4: NAT-Router Ändert Empfängeradresse von • 138.76.29.7, 5001 in 10.0.0.1, 3345

NAT: Network Address Translation

•  Port and Address Translation (PAT) oder Network Address Port Translation (NAPT) ist eine spezielle Form von NAT (1 zu n NAT).

•  Dabei werden im Gegensatz zu NAT nicht nur die IP-Adressen, sondern auch Port-Nummern umgeschrieben.

•  PAT wird eingesetzt, wenn mehrere private IP-Adressen aus einem LAN zu einer öffentlichen IP-Adresse übersetzt werden sollen.

Kommunikationsnetze M.Rotert SS2015 Teil 5: IPv4 Zusatzprotokolle 28