3 Internet Protocol IP Lernziele Detailliertes Verstndnis von

  • Slides: 69
Download presentation
3. Internet Protocol (IP) Lernziele: – Detailliertes Verständnis von IP – Praktische Einsetzbarkeit dieses

3. Internet Protocol (IP) Lernziele: – Detailliertes Verständnis von IP – Praktische Einsetzbarkeit dieses Wissens

3. 1 Paketformat und Grundlagen

3. 1 Paketformat und Grundlagen

RFCs · J. Postel. Internet Protocol. RFC 791. 1981. · J. Mogul and J.

RFCs · J. Postel. Internet Protocol. RFC 791. 1981. · J. Mogul and J. Postel. Internet Standard Subnetting Procedure. RFC 950. 1985. Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 3

Hauptaufgabe von IP Übermittlung von Daten von einem System im Internet zu einem beliebigen

Hauptaufgabe von IP Übermittlung von Daten von einem System im Internet zu einem beliebigen anderen System im Internet. IP bietet diese Funktionalität als einen verbindungslosen und unzuverlässigen Datagramm Dienst an. Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 4

IP Paketformat 0 15 7 version hlength prec. /TOS identification time to live 31

IP Paketformat 0 15 7 version hlength prec. /TOS identification time to live 31 total length flags protocol fragment offset header checksum source IP address destination IP address options (if any) data Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 5

IP Header Felder I · version (4 -bits): – aktuell IPv 4, Nachfolger IPv

IP Header Felder I · version (4 -bits): – aktuell IPv 4, Nachfolger IPv 6 · header length (4 bits): – Anzahl an 32 -bit Worten im Header · precendence/type-of-service (8 bits): – die erste 3 bits geben eine Priorität (precendence) an – die folgenden 4 bits werden für die Wunsch nach spezifischer Behandlung verwendet: • minimize-delay, maximize throughput, maximize reliability, minimize monetary costs – keine Garantie! – weitgehend von Routern ignoriert Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 6

IP Header Felder II · total length (16 bits): – Gesamtgröße des Datagramms in

IP Header Felder II · total length (16 bits): – Gesamtgröße des Datagramms in byte · identification (16 bits), flags (3 bits), fragment offset (13 bit): – dienen zur Identifizierung der im Datagramm enthaltenen Daten – werden später bei der Fragmentierung behandelt Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 7

IP Header Felder III · time-to-live (8 bits): – begrenzt die Anzahl der Router,

IP Header Felder III · time-to-live (8 bits): – begrenzt die Anzahl der Router, die durchlaufen werden dürfen, schützt vor zirkulierenden Datagrammen – wird in jedem Router dekrementiert – wenn =0 Datagramm wird verworfen · protocol – identifiziert das Protokoll welches das IP Datagramm erzeugte (z. B. TCP, UDP) – Empfänger kann anhand dieses Feldes das Datagramm an die richtige Protokollinstanz weiterleiten (demultiplexen) Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 8

IP Header Felder IV · checksum (16 bits): – wird über den gesamten IP

IP Header Felder IV · checksum (16 bits): – wird über den gesamten IP Header berechnet – Berechnung beim Sender: • setze das checksum Feld auf 0 • XOR über alle 16 -bit Worte im Header • das Ergebnis wird bitweise invertiert und stellt dann den Wert für das checksum Feld dar. – Check beim Emfänger: • XOR über alle 16 -bit Worte im Header (inkl. checksum) • OK, wenn im Ergebnis alle bits auf 1 stehen Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 9

IP Header Felder V · source/destination IP address (32 bits): Class A: Class B:

IP Header Felder V · source/destination IP address (32 bits): Class A: Class B: Class C: 7 bits 24 bits 0 netid hostid 1 0 0. 0 - 127. 255 14 bits 16 bits netid hostid 1 1 0 128. 0. 0. 0 - 191. 255 21 bits 8 bits netid hostid 28 bits multicast group ID Class D: 1 1 1 0 Class E: 27 bits 1 1 0 (reserved for future use) Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 192. 0. 0. 0 - 223. 255 224. 0. 0. 0 - 239. 255 240. 0 - 247. 255 10

Subnetz Adressierung I · Class A und Class B Adressen mehr Bits für hostid

Subnetz Adressierung I · Class A und Class B Adressen mehr Bits für hostid als nötig (222 bzw. 216 Hosts) für ein Netzwerk · Weitere Strukturierung der Adresse: Class B: 1 0 14 bits 8 bits netid subnetid hostid · Aufteilung der bits subnetid, hostid lokal und verschieden für jede netid Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 11

Subnetz Adressierung II · subnetid ist ausserhalb eines Netzes nicht sichtbar, wird nur lokal

Subnetz Adressierung II · subnetid ist ausserhalb eines Netzes nicht sichtbar, wird nur lokal verwendet (z. B. innerhalb der Uni Mannheim) Internet 134. 155. xxx subnetid = 15 Uni-Mannheim Router weitere subnetids LAN in L 15, 16 Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 12

Subnet Adressierung III · subnet mask Bsp. für Class B: 16 bits 8 bits

Subnet Adressierung III · subnet mask Bsp. für Class B: 16 bits 8 bits 11111111 0000 subnet mask: 0 xffffff 00=255. 0 – identifiziert das subnet einer IP Adresse – muß auf jedem System zu jeder IP Adresse vorhanden sein Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 13

Subnet Adressierung · Eigene IP Adresse + subnetid erlaubt für ein IP-Datagramm festzustellen wo

Subnet Adressierung · Eigene IP Adresse + subnetid erlaubt für ein IP-Datagramm festzustellen wo der Empfänger ist: – im selben Subnetz – im selben Netz aber in anderem Subnetz – in anderem Netz Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 14

Subnetzmasken variabler Länge I · Problem: gegeben ist ein Klasse C Netz, dieses soll

Subnetzmasken variabler Länge I · Problem: gegeben ist ein Klasse C Netz, dieses soll in 2 Subnetze mit 50 und einem Subnetz mit 100 Endsystemen unterteilt werden. · Das funktioniert nicht mit einer einzigen Subnetzmaske! · In diesem Fall benötigt man Subnetzmasken variabler Länge. Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 15

Subnetzmasken variabler Länge II · Man untergliedert den Adressraum zunächst anhand der kürzeren Subnetzmaske

Subnetzmasken variabler Länge II · Man untergliedert den Adressraum zunächst anhand der kürzeren Subnetzmaske (z. B. 1 bit für das Beispiel) · Dann untergliedert man eine Hälfte davon weiter mit einer längeren Maske (z. B. mit 2 bits) · Als Endergebnis hat man nun Subnetze verschiedener Größe Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 16

Weiteres Vorgehen · · · Internet Control Message Protocol IP tools - ping/traceroute IP-Routing

Weiteres Vorgehen · · · Internet Control Message Protocol IP tools - ping/traceroute IP-Routing IPv 6 Wireless IP Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 17

2. 1 Internet Control Message Protocol (ICMP)

2. 1 Internet Control Message Protocol (ICMP)

RFCs · J. Postel. Internet Control Message Protocol. RFC 792. 1981 · S. Deering.

RFCs · J. Postel. Internet Control Message Protocol. RFC 792. 1981 · S. Deering. ICMP Router Discovery Message. RFC 1256. 1991. Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 19

Problem · Man braucht IP um ICMP Nachrichten zu übertragen. · Man braucht ICMP

Problem · Man braucht IP um ICMP Nachrichten zu übertragen. · Man braucht ICMP um IP zu verstehen. Wir gehen im folgenden davon aus das IP auf eine später zu beschreibende Art Pakete von einem System zu einem beliebigen anderen System weiterleiten kann und erkunden zunächst ICMP. Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 20

ICMP Aufgabe · Übertragung von Fehlernachrichten und Netzwerkspezifischen Informationen – echo request (8) –

ICMP Aufgabe · Übertragung von Fehlernachrichten und Netzwerkspezifischen Informationen – echo request (8) – echo reply (0) – destination unreachable (3) – timestamp request (13) – timestamp reply (14) · ICMP ist Bestandteil jeder IP Implementierung Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 21

ICMP Packetformat 0 15 7 31 IP header (üblicherweise 20 bytes) type code checksum

ICMP Packetformat 0 15 7 31 IP header (üblicherweise 20 bytes) type code checksum content abhängig von type und code Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 22

ICMP Header Felder · type: um welche ICMP Nachrichtentyp handelt es sich? Z. B.

ICMP Header Felder · type: um welche ICMP Nachrichtentyp handelt es sich? Z. B. 3 für destination unreachable. · code: um welche Unterklasse handelt es sich? Z. B. type=3 code=0 für network unreachable. · checksum: wie für IP berechnet, bezieht sich jedoch auf die vollständige ICMP Nachricht (nicht den IP header!). Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 23

Zwei Klassen von ICMP Nachrichten · query: – bestehen jeweils aus 2 Typen, einen

Zwei Klassen von ICMP Nachrichten · query: – bestehen jeweils aus 2 Typen, einen für request und einen für reply – wird aktiv benutzt um Informationen von einem System zu bekommen – ein Beispiel ist echo request/reply, wird u. A. für das ping Tool verwendet (behandeln wir ausführlich im Anschluß an dieses Kapitel!) Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 24

Zwei Klassen von ICMP Nachrichten · error – wird ausgelöst durch ein IP Paket,

Zwei Klassen von ICMP Nachrichten · error – wird ausgelöst durch ein IP Paket, i. d. R. weil ein Fehler aufgetreten ist – enthält im Paket Rumpf immer den IP Header und die ersten 8 Bytes des Paketes das den ICMP error ausgelöst hat – im Folgenden genauer betrachtet Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 25

ICMP Error · werden nicht generiert als Reaktion auf: – ICMP error Nachricht –

ICMP Error · werden nicht generiert als Reaktion auf: – ICMP error Nachricht – IP Paket an einen broadcast oder multicast Adresse – ein IP Paket das als link layer broadcast verschickt wurde – ein Fragment welches nicht das erste eines IP Paketes ist – ein IP Paket dessen Absender keine einzelnes System ist (multicast/broadcast/etc. ) Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 26

ICMP Port Unreachable Error · Wird von einem System erzeugt, wenn ein UDP Paket

ICMP Port Unreachable Error · Wird von einem System erzeugt, wenn ein UDP Paket empfangen wurde für einen Port der von keinem Prozess auf diesem System benutzt wird. · wird an den Absender des Pakets geschickt das ist üblich für ICMP Pakete! Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 27

ICMP Port Unreachable Nachricht 0 15 7 31 IP header (20 bytes) type (3)

ICMP Port Unreachable Nachricht 0 15 7 31 IP header (20 bytes) type (3) code (3) checksum unused (0) IP header (incl. options) + first 8 bytes of original IP packet data Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 28

Demo · tftp - trivial file transfer protocol Dateiübertragung per UDP $ tftp $

Demo · tftp - trivial file transfer protocol Dateiübertragung per UDP $ tftp $ connect <host> <port> - illegalen port verwenden! $ get <file> # tcpdump host <host> and icmp (parallel zu get) Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 29

3. 3 ping

3. 3 ping

ping · wird benutzt um festzustellen, ob zwei Systeme über IP miteinander kommunizieren können

ping · wird benutzt um festzustellen, ob zwei Systeme über IP miteinander kommunizieren können · ping-client sendet einen ICMP echo request · ping-server antwortet mit einem ICMP echo reply · ping client/server ist Bestandteil der meisten Betriebssysteme Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 31

ICMP echo request/reply 0 15 7 31 IP header (20 bytes) type=0/8 code=0 identifier

ICMP echo request/reply 0 15 7 31 IP header (20 bytes) type=0/8 code=0 identifier checksum sequence number data (optional, kann z. B. den Zeitpunkt des Sendens eine Requests beinhalten, wenn dieser nicht vom Sender des Requests gespeichert wird) Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 32

Demo $ ping <host> · Achtung, ping ist auf verschiedenen Betriebssystemen verschieden implementiert! Insbesondere

Demo $ ping <host> · Achtung, ping ist auf verschiedenen Betriebssystemen verschieden implementiert! Insbesondere die Optionen haben immer eine andere Bezeichnung als man denkt. ein Blick in die man pages hilft! Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 33

IP Record Route Option · IP (nicht ICMP!) hat eine Option, die dafür sorgt,

IP Record Route Option · IP (nicht ICMP!) hat eine Option, die dafür sorgt, daß jeder Router seine IP Adresse in den IP header einträgt. · Dies ist die IP Adresse des Interfaces auf welches das Paket weitergeleitet wird. · Diese Option kann von ping „eingeschaltet“ werden um den Weg zu bestimmen, den ein IP Paket zurücklegt. · Diese Informationen werden vom ping-server im echo reply zum client zurückgeschickt. Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 34

IP Paketformat 0 15 7 version hlength type of service identification time to live

IP Paketformat 0 15 7 version hlength type of service identification time to live 31 total length flags protocol fragment offset header checksum source IP address destination IP address options (if any) data Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 35

IP Record Route Option Paketformat 0 15 7 version hlength type of service identification

IP Record Route Option Paketformat 0 15 7 version hlength type of service identification time to live 31 total length flags protocol fragment offset header checksum source IP address destination IP address code (7) option length pointer IP address 1 IP address 2 IP address 9 data Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 36

Demo · record route kann bei ping üblicherweise mit -R eingestellt werden · funktioniert

Demo · record route kann bei ping üblicherweise mit -R eingestellt werden · funktioniert nicht auf allen Systemen/mit allen routern · maximal 9 router haben Platz im header traceroute ist besser geeignet für diese Aufgabe! Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 37

3. 4 traceroute

3. 4 traceroute

traceroute - Aufgabe · traceroute gibt Informationen über alle Router, die auf dem Weg

traceroute - Aufgabe · traceroute gibt Informationen über alle Router, die auf dem Weg zu einer IP Adresse liegen. · Dabei wird auch die round-trip Zeit zu jedem router bestimmt. · Es gibt keine Beschränkung über die Anzahl der Router (wie etwa bei ping). Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 39

traceroute - Funktionsweise I · traceroute schickt ein UDP Paket an die Adresse, für

traceroute - Funktionsweise I · 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 ein ICMP time exceeded error an den Absender · traceroute wiederholt dies mit ttl=2, etc. Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 40

ICMP time exceeded Nachricht 0 15 7 31 IP header (20 bytes) type (11)

ICMP time exceeded Nachricht 0 15 7 31 IP header (20 bytes) type (11) code (0) checksum unused (0) IP header (incl. options) + first 8 bytes of original IP packet data Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 41

traceroute - Funktionsweise II · Wie erkennt man ob das Paket schließlich beim Empfänger

traceroute - Funktionsweise II · Wie erkennt man ob das Paket schließlich beim Empfänger angekommen ist? traceroute sendet UDP an einen Port der wahrscheinlich nicht verwendet wird und erwartet eine ICMP port unreachable Nachricht vom Empfänger! traceroute ist ein „hack“, besser wäre ein geeignetes Protokoll Design! Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 42

Demo $ traceroute <host> · Achtung! Traceroute berichtet die IP Adresse des Interfaces auf

Demo $ traceroute <host> · Achtung! Traceroute berichtet die IP Adresse des Interfaces auf dem das Paket ankommt! Unterschied zu ping -R! Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 43

traceroute & source routing · es gibt eine IP Option für source routing die

traceroute & source routing · es gibt eine IP Option für source routing die von manchen traceroute Implementierungen verwendet werden kann (-g Parameter) · source routing: – erlaubt es dem Absender eine Liste von IP Adressen (i. d. R. von Routern) im IP header anzugeben, die nacheinander durchlaufen werden, bevor das Paket dem Empfänger zugestellt wird – ermöglicht es als Absender den Weg eines Paketes zum großen Teil zu bestimmen Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 44

IP Source Routing Option Paketformat 0 15 7 version hlength type of service identification

IP Source Routing Option Paketformat 0 15 7 version hlength type of service identification time to live 31 total length flags protocol fragment offset header checksum source IP address destination IP address (erste angegebene IP Adresse) code (0 x 83/0 x 87) option length pointer IP address 1 (zweite angegebene IP Adresse) IP address 2 IP address 9 (eigentliche Zieladresse) data Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 45

IP Source Routing Funktionsweise I · der Sender nimmt die source route Liste von

IP Source Routing Funktionsweise I · der Sender nimmt die source route Liste von der Anwendung, und hängt die eigentliche Zieladresse an diese Liste an. Die Empfänger Adresse im IP Paket wird auf den ersten Eintrag in der Liste gesetzt und der Rest der Liste in die IP Source Routing Option geschrieben (max. 9 Eintäge!) Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 46

IP Source Routing Funktionsweise II · Ein Empfänger eines IP Paketes überprüft, ob die

IP Source Routing Funktionsweise II · Ein Empfänger eines IP Paketes überprüft, ob die Liste vollständig abgearbeitet wurde. – Wenn ja, dann ist er endgültiger Empfänger. – Wenn nein, dann wird die IP Adresse auf die das pointer Feld zeigt als neue Empfänger Adresse in das IP Paket eingetragen. Die IP Adresse des Interfaces auf welches das IP Paket weitergeleitet wird in das Feld geschrieben (auf die Position auf die das pointer Feld zeigt). · Der Inhalt des pointer Feldes wird um 4 erhöht. Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 47

IP Source Routing Beispiel 134. 155. 48. 97 thales Mannheim 1. Bel. Wue. de

IP Source Routing Beispiel 134. 155. 48. 97 thales Mannheim 1. Bel. Wue. de 129. 143. 61. 5 129. 143. 1. 161 194. 163. 254. 162 www. spiegel. de Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 48

IP Source Routing Beispiel 0 15 7 version hlength type of service total length

IP Source Routing Beispiel 0 15 7 version hlength type of service total length identification time to live 31 flags protocol fragment offset header checksum 134. 155. 48. 97 (thales) 129. 143. 61. 5 (Mannheim 1. . . ) code (0 x 83) option length= 7 pointer=4 194. 163. 254. 162 www. spiegel. de 194. 163. 254. 162 data Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 49

IP Source Routing Beispiel 0 15 7 version hlength type of service total length

IP Source Routing Beispiel 0 15 7 version hlength type of service total length identification time to live 31 flags protocol fragment offset header checksum 134. 155. 48. 97 (thales) 194. 163. 254. 162 (www. spiegel. de) code (0 x 83) option length= 7 pointer=8 129. 143. 1. 161 (Mannheim 1. . . ) 129. 143. 1. 161 data Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 50

IP Source Routing · loose: die Angegebenen IP Adressen müssen nicht benachbart sein ·

IP Source Routing · loose: die Angegebenen IP Adressen müssen nicht benachbart sein · strict: die Angegebenen IP Adressen müssen benachbart sein, sonst wird das Paket verworfen und eine ICMP source route failed Nachricht an den Sender geschickt. Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 51

Keine Live-Demo! · Source Routing ist nahezu überall abgeschaltet da es ein Sicherheitsrisiko darstellt

Keine Live-Demo! · Source Routing ist nahezu überall abgeschaltet da es ein Sicherheitsrisiko darstellt - IP Spoofing! Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 52

3. 5 IP-Routing

3. 5 IP-Routing

Begriffe · Endsystem: – mindestens ein Netzwerkinterface/eine IP Adresse – kann IP Pakete empfangen

Begriffe · Endsystem: – mindestens ein Netzwerkinterface/eine IP Adresse – kann IP Pakete empfangen und senden – leitet keine Pakete weiter · Router oder Gateway: – mindestens zwei Netzwerkinterfaces/zwei IP Adressen – kann IP Pakete empfangen, senden und weiterleiten · System = Endsystem oder Router Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 54

Routing Tabelle · Gibt es in jedem System! · Einträge haben die folgenden Felder:

Routing Tabelle · Gibt es in jedem System! · Einträge haben die folgenden Felder: – Destination • • • vollständige IP Adresse oder netz/subnetz Bezeichnung „künstliche“ Adresse z. B. local host 127. 0. 0. 1 – Gateway – Mask – Interface – Flags (U: route ist „up“, G: route führt über einen Router, H: route ist zu einem Endsystem) Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 55

Demo · ifconfig wird zur Einrichtung von Netzwerkschnittstellen verwendet $ ifconfig -a gibt uns

Demo · ifconfig wird zur Einrichtung von Netzwerkschnittstellen verwendet $ ifconfig -a gibt uns detaillierte Infos über die Schnittstellen · netstat gibt uns Netzwerkinfos über eine System $ netstat -r Routingtabelle $ netstat -i Interfaceinfos Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 56

Routing bei gegebener Routing Tabelle · Ist die Empfägeradresse des IP Paketes identisch mit

Routing bei gegebener Routing Tabelle · Ist die Empfägeradresse des IP Paketes identisch mit einer vollständigen destination Adresse in der Routing Tabelle erkennbar an flag H? – ja: wähle diesen Eintrag und handele entsprechend! – nein: weiter. Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 57

Routing bei gegebener Routing Tabelle · Gehört die Empfängeradresse des IP Paketes zu einem

Routing bei gegebener Routing Tabelle · Gehört die Empfängeradresse des IP Paketes zu einem der Subnetze die unter den Destination Adressen in der Routing Tabelle genannt sind? – um dies festzustellen: nimm die Empfängeradresse des IP Pakete, führe eine logische UND Verknüpfung mit der (subnet) Mask durch und schaue, ob das Ergebnis mit dem Eintrag unter Destination übereinstimmt. – Wenn ja: wähle diesen Entrag und handele entsprechend – Wenn nein: wähle den default Eintrag und handele entsprechend Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 58

Beispiel Destination 134. 155. 48. 0 eth 0 127. 0. 0. 0 default Gateway

Beispiel Destination 134. 155. 48. 0 eth 0 127. 0. 0. 0 default Gateway * Mask 255. 240. 0 * 255. 0. 0. 0 mannhattan 0. 0 Flags Interface U U UG lo eth 0 IP Empfängeradresse: 134. 155. 48. 10 Es gibt keine passende vollständige IP Adresse unter Destination! 134. 155. 48. 10 & 255. 240. 0 = 134. 155. 48. 0 d. h. es wird der erste Eintrag der Routing Tabelle benutzt! Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 59

Eintrag gefunden, was nun? · Ist ein Gateway angegeben (flag G gesetzt)? – ja:

Eintrag gefunden, was nun? · Ist ein Gateway angegeben (flag G gesetzt)? – ja: leite das Paket an das Gateway (Router) weiter. Benutze dazu das in der Tabelle angegebene Schicht 2 Interface. Schicht 2 Adresse = Adresse des Routers. – nein: Empfänger ist in einem Netzt an das wir direkt angrenzen. Das Paket kann direkt an den Empfänger weitergeleitet werden. Eventuell wird dazu ARP benötigt! Schicht 2 Adresse = Adresse des Empfängers. Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 60

Live Übung Destination 134. 155. 0. 0 134. 155. 48. 11 134. 155. 48.

Live Übung Destination 134. 155. 0. 0 134. 155. 48. 11 134. 155. 48. 20 134. 156. 110. 2 127. 0. 0. 0 default Gateway 132. 15. 50. 200 132. 15. 50. 100 * * * 138. 154. 20. 100 Mask Flags Interface 255. 0. 0 UG eth 1 255 UHG eth 1 255 HG eth 1 255. 240. 0 U eth 0 255 UH eth 0 255. 0. 0. 0 U lo 0. 0 UG eth 3 Routen sie die folgenden IP Adressen: 134. 155. 48. 30 134. 156. 111. 1 134. 155. 48. 20 134. 156. 200. 1 Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 134. 155. 48. 11 134. 156. 110. 2 110. 4. 4 134. 155. 59. 50 61

Wie kommen die Einträge in die Routing Tabelle? · Wenn das System gestartet wird,

Wie kommen die Einträge in die Routing Tabelle? · Wenn das System gestartet wird, werden vom Systemverwalter konfigurierte Einträge geladen. · Zur Laufzeit kann man Einträge mit dem route Befehl hinzufügen/löschen – Beispiel: route add -host 134. 155. 48. 96 gw 134. 155. 50. 200 eth 0 · Endsystem: dynamic default router discovery. · Router: Dynamisch mit Hilfe von Routing Protokollen. Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 62

Dynamic Default Router Discovery · ICMP Router Advertisement Messages werden periodisch auf die „all

Dynamic Default Router Discovery · ICMP Router Advertisement Messages werden periodisch auf die „all hosts“ multicast Adresse 224. 0. 0. 1 gesendet (üblicherweise alle 7 Minuten). · ICMP Router Solicitation Messages werden von Endsystemen auf die „all routers“ multicast adresse 224. 0. 0. 2 geschickt um ICMP Router Advertisment Messages außer der Reihe zu erzeugen. Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 63

ICMP Router Advertisement Nachricht 0 15 7 31 IP header (20 bytes) type (9)

ICMP Router Advertisement Nachricht 0 15 7 31 IP header (20 bytes) type (9) code (0) checksum num addr. size lifetime Router Address 1 preference 1 Router Address 2 preference 2 Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 64

ICMP Router Solicitation Nachricht 0 15 7 31 IP header (20 bytes) type (10)

ICMP Router Solicitation Nachricht 0 15 7 31 IP header (20 bytes) type (10) code (0) checksum reserved Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 65

Problem Endsystem LAN router LAN Mauve - Internet Protokolle - WS 00/01 - Kapitel

Problem Endsystem LAN router LAN Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP default router Internet 66

Lösung(sversuch) · Wenn ein Router ein Paket auf das selbe Interface zurückschickt von dem

Lösung(sversuch) · Wenn ein Router ein Paket auf das selbe Interface zurückschickt von dem er es bekommen hat, kann er einen ICMP redirect error an den Absender des Paketes verschicken. · Empfängt ein Endsystem einen ICMP redirect error, so sollte er seine Routingtabelle entsprechen ändern. Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 67

ICMP Redirect Error 0 15 7 31 IP header (20 bytes) type (5) code

ICMP Redirect Error 0 15 7 31 IP header (20 bytes) type (5) code (0 -3) checksum IP Adresse des alternativen Routers der besser geeignet ist IP header (incl. options) + first 8 bytes of original IP packet data code 0: redirect packet for the network code 1: redirect packet for the host code 2: redirect packet for the Type of Service and network code 1: redirect packet for the Type of Service and host Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 68

ICMP Redirect Probleme · Sicherheitsrisiko! Man kann damit das routing eines Endsystems beeinflussen. ·

ICMP Redirect Probleme · Sicherheitsrisiko! Man kann damit das routing eines Endsystems beeinflussen. · Keine Unterstützung für Subnetze. Meist abgeschaltet! Mauve - Internet Protokolle - WS 00/01 - Kapitel 3: IP 69