Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "3. Internet Protocol (IP) Lernziele: – Detailliertes Verständnis von IP – Praktische Einsetzbarkeit dieses Wissens."—  Präsentation transkript:

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

2 3.1 Paketformat und Grundlagen

3 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 3 RFCs J. Postel. Internet Protocol. RFC J. Postel. Internet Protocol. RFC J. Mogul and J. Postel. Internet Standard Subnetting Procedure. RFC J. Mogul and J. Postel. Internet Standard Subnetting Procedure. RFC

4 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 4 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.

5 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 5 IP Paketformat identification time to live source IP address versiontotal lengthprec./TOS destination IP address header checksum data hlength flagsfragment offset protocol options (if any)

6 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 6 IP Header Felder I version (4-bits): version (4-bits): –aktuell IPv4, Nachfolger IPv6 header length (4 bits): header length (4 bits): –Anzahl an 32-bit Worten im Header precendence/type-of-service (8 bits): 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 costsminimize-delay, maximize throughput, maximize reliability, minimize monetary costs –keine Garantie! –weitgehend von Routern ignoriert

7 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 7 IP Header Felder II total length (16 bits): total length (16 bits): –Gesamtgröße des Datagramms in byte identification (16 bits), flags (3 bits), fragment offset (13 bit): 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

8 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 8 IP Header Felder III time-to-live (8 bits): 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 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)

9 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 9 IP Header Felder IV checksum (16 bits): checksum (16 bits): –wird über den gesamten IP Header berechnet –Berechnung beim Sender: setze das checksum Feld auf 0setze das checksum Feld auf 0 XOR über alle 16-bit Worte im HeaderXOR über alle 16-bit Worte im Header das Ergebnis wird bitweise invertiert und stellt dann den Wert für das checksum Feld dar.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)XOR über alle 16-bit Worte im Header (inkl. checksum) OK, wenn im Ergebnis alle bits auf 1 stehenOK, wenn im Ergebnis alle bits auf 1 stehen

10 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 10 IP Header Felder V source/destination IP address (32 bits): source/destination IP address (32 bits): Class A: 0netid 7 bits hostid 24 bits Class B: 0netid 14 bits hostid 16 bits Class C: 1netid 21 bits hostid 8 bits Class D: 1multicast group ID 28 bits Class E: 1(reserved for future use) 27 bits

11 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 11 Subnet Adressierung I Class A und Class B Adressen mehr Bits für hostid als nötig (2 22 bzw Hosts) für ein Netzwerk Class A und Class B Adressen mehr Bits für hostid als nötig (2 22 bzw Hosts) für ein Netzwerk Weitere Strukturierung der Adresse: Weitere Strukturierung der Adresse: Aufteilung der bits subnetid, hostid lokal und verschieden für jede netid Aufteilung der bits subnetid, hostid lokal und verschieden für jede netid Class B: 0netid 14 bits hostid 8 bits 1subnetid 8 bits

12 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 12 Subnet Adressierung II subnetid ist ausserhalb eines Netzes nicht sichtbar, wird nur lokal verwendet (z.B. innerhalb der Uni Mannheim) subnetid ist ausserhalb eines Netzes nicht sichtbar, wird nur lokal verwendet (z.B. innerhalb der Uni Mannheim) Internet Uni-Mannheim Router xxx.xxx subnetid = 15 LAN in L15,16 weitere subnetids

13 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 13 Subnet Adressierung III subnet mask subnet mask –identifiziert das Subnetz einer IP Adresse –muss auf jedem System zu jeder IP Adresse vorhanden sein Bsp. für Class B: 16 bits bits bits subnet mask: 0xffffff00=

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

15 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 15 Subnetmask Beispiel Gegeben: Gegeben: –Eigene IP-Adresse: –Subnet-Mask: –Ziel A: , Ziel B: Vorgehen: Vorgehen: – & = – & = identisch, daher gleiches Subnetz – & = verschieden, daher anderes Subnetz

16 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 16 Subnetmasks variabler Länge I Problem: gegeben ist ein Klasse C Netz, dieses soll in 2 Subnet mit 50 und einem Subnet mit 100 Endsystemen unterteilt werden. Problem: gegeben ist ein Klasse C Netz, dieses soll in 2 Subnet mit 50 und einem Subnet mit 100 Endsystemen unterteilt werden. Das funktioniert nicht mit einer einzigen Subnetmask! Das funktioniert nicht mit einer einzigen Subnetmask! In diesem Fall benötigt man Subnetmasks variabler Länge. In diesem Fall benötigt man Subnetmasks variabler Länge.

17 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 17 Subnetmasks variabler Länge II Man untergliedert den Adressraum zunächst anhand der kürzeren Subnetmask (z.B. 1 bit für das Beispiel) Man untergliedert den Adressraum zunächst anhand der kürzeren Subnetmask (z.B. 1 bit für das Beispiel) Dann untergliedert man eine Hälfte davon weiter mit einer längeren Mask (z.B. mit 2 bits) Dann untergliedert man eine Hälfte davon weiter mit einer längeren Mask (z.B. mit 2 bits) Als Endergebnis hat man nun Subnets verschiedener Größe Als Endergebnis hat man nun Subnets verschiedener Größe

18 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 18 Subnetmasks variabler Länge III Ein Beispiel: Ein Beispiel: –Netzwerk: x –Netmask für Subnet mit ID 0 (100 Rechner): Adressen in diesem Subnet: Adressen in diesem Subnet: –Netmask für Subnets mit ID 3 und 4 (je 50 Rechner): Adressen für Subnet 3: Adressen für Subnet 3: Adressen für Subnet 4: Adressen für Subnet 4:

19 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 19 Weiteres Vorgehen Internet Control Message Protocol Internet Control Message Protocol IP tools - ping/traceroute IP tools - ping/traceroute IP-Routing IP-Routing IPv6 IPv6

20 2.1 Internet Control Message Protocol (ICMP)

21 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 21 RFCs J. Postel. Internet Control Message Protocol. RFC J. Postel. Internet Control Message Protocol. RFC S. Deering. ICMP Router Discovery Message. RFC S. Deering. ICMP Router Discovery Message. RFC

22 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 22 Problem Man braucht IP um ICMP Nachrichten zu übertragen. Man braucht IP um ICMP Nachrichten zu übertragen. Man braucht ICMP um IP zu verstehen. Man braucht ICMP um IP zu verstehen. Wir gehen im Folgenden davon aus, dass IP auf eine später zu beschreibende Art Pakete von einem System zu einem beliebigen anderen System weiterleiten kann und erkunden zunächst ICMP. Wir gehen im Folgenden davon aus, dass IP auf eine später zu beschreibende Art Pakete von einem System zu einem beliebigen anderen System weiterleiten kann und erkunden zunächst ICMP.

23 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 23 ICMP Aufgabe Übertragung von Fehlernachrichten und Netzwerkspezifischen Informationen Ü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 ICMP ist Bestandteil jeder IP Implementierung

24 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 24 ICMP Packetformat IP header (üblicherweise 20 bytes) typechecksumcode content abhängig von type und code

25 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 25 ICMP Header Felder type: um welche ICMP Nachrichtentyp handelt es sich? Z.B. 3 für destination unreachable. 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. 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!). checksum: wie für IP berechnet, bezieht sich jedoch auf die vollständige ICMP Nachricht (nicht den IP header!).

26 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 26 Zwei Klassen von ICMP Nachrichten query: 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 Anschluss an dieses Kapitel!)

27 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 27 Zwei Klassen von ICMP Nachrichten error 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, welches den ICMP error ausgelöst hat –im Folgenden genauer betrachtet

28 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 28 ICMP Error werden nicht generiert als Reaktion auf: 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.)

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

30 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 30 ICMP Port Unreachable Nachricht IP header (20 bytes) type (3)checksumcode (3) IP header (incl. options) + first 8 bytes of original IP packet data unused (0)

31 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 31 Demo tftp - trivial file transfer protocol - Dateiübertragung per UDP tftp - trivial file transfer protocol - Dateiübertragung per UDP $tftp $connect - illegalen port verwenden! $get $get #tcpdump host and icmp (parallel zu get)

32 3.3 ping

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

34 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 34 ICMP echo request/reply IP header (20 bytes) type=0/8checksumcode=0 data (optional, kann z.B. den Zeitpunkt des Sendens eine Requests beinhalten, wenn dieser nicht vom Sender des Requests gespeichert wird) identifiersequence number

35 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 35 Demo $ping $ping Achtung, ping ist auf verschiedenen Betriebssystemen verschieden implementiert! Insbesondere die Optionen haben immer eine andere Bezeichnung als man denkt. 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! ein Blick in die man pages hilft!

36 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 36 IP Record Route Option IP (nicht ICMP!) hat eine Option, die dafür sorgt, dass jeder Router seine IP Adresse in den IP header einträgt. IP (nicht ICMP!) hat eine Option, die dafür sorgt, dass jeder Router seine IP Adresse in den IP header einträgt. Dies ist die IP Adresse des Interfaces auf welches das Paket weitergeleitet wird. 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 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. Diese Informationen werden vom ping-server im echo reply zum client zurückgeschickt.

37 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 37 IP Paketformat identification time to live source IP address versiontotal lengthtype of service destination IP address header checksum data hlength flagsfragment offset protocol options (if any)

38 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 38 IP Record Route Option Paketformat identification time to live source IP address versiontotal lengthtype of service destination IP address header checksum data hlength flagsfragment offset protocol option lengthcode (7)pointer IP address 9 IP address 1 IP address 2 data

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

40 3.4 traceroute

41 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 41 traceroute - Aufgabe traceroute gibt Informationen über alle Router, die auf dem Weg zu einer IP Adresse liegen. 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. 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). Es gibt keine Beschränkung über die Anzahl der Router (wie etwa bei ping).

42 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 42 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 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 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. traceroute wiederholt dies mit ttl=2, etc.

43 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 43 ICMP time exceeded Nachricht IP header (20 bytes) type (11)checksumcode (0) IP header (incl. options) + first 8 bytes of original IP packet data unused (0)

44 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 44 traceroute - Funktionsweise II Wie erkennt man ob das Paket schließlich beim Empfänger angekommen ist? 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 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! traceroute ist ein hack, besser wäre ein geeignetes Protokoll Design!

45 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 45 Demo $traceroute $traceroute Achtung! Traceroute berichtet die IP Adresse des Interfaces auf dem das Paket ankommt! Unterschied zu ping -R! Achtung! Traceroute berichtet die IP Adresse des Interfaces auf dem das Paket ankommt! Unterschied zu ping -R!

46 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 46 traceroute & source routing es gibt eine IP Option für source routing die von manchen traceroute Implementierungen verwendet werden kann (-g Parameter) es gibt eine IP Option für source routing die von manchen traceroute Implementierungen verwendet werden kann (-g Parameter) source routing: 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

47 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 47 IP Source Routing Option Paketformat identification time to live source IP address versiontotal lengthtype of service destination IP address (erste angegebene IP Adresse) header checksum data hlength flagsfragment offset protocol option lengthcode (0x83/0x87)pointer IP address 9 (eigentliche Zieladresse) IP address 1 (zweite angegebene IP Adresse) IP address 1 IP address 2 data

48 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 48 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!) 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!)

49 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 49 IP Source Routing Funktionsweise II Ein Empfänger eines IP Paketes überprüft, ob die Liste vollständig abgearbeitet wurde. 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 wird in das Feld geschrieben (auf die Position auf die das pointer Feld zeigt). Der Inhalt des pointer Feldes wird um 4 erhöht. Der Inhalt des pointer Feldes wird um 4 erhöht.

50 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 50 IP Source Routing Beispiel thales Mannheim1.BelWue.de

51 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 51 IP Source Routing Beispiel identification time to live (thales) versiontotal lengthtype of service (Mannheim1.....) header checksum data hlength flagsfragment offset protocol option length= 7code (0x83)pointer= data

52 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 52 IP Source Routing Beispiel identification time to live (thales) versiontotal lengthtype of service (www.spiegel.de) header checksum data hlength flagsfragment offset protocol option length= 7code (0x83)pointer= (Mannheim1.....) data

53 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 53 IP Source Routing loose: die Angegebenen IP Adressen müssen nicht benachbart sein 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. 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.

54 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 54 Keine Live-Demo! Source Routing ist nahezu überall abgeschaltet da es ein Sicherheitsrisiko darstellt - IP Spoofing! Source Routing ist nahezu überall abgeschaltet da es ein Sicherheitsrisiko darstellt - IP Spoofing!

55 3.5 IP-Routing

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

57 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 57 Routing Tabelle Gibt es in jedem System! Gibt es in jedem System! Einträge haben die folgenden Felder: Einträge haben die folgenden Felder: –Destination vollständige IP Adresse odervollständige IP Adresse oder netz/subnetz Bezeichnungnetz/subnetz Bezeichnung künstliche Adresse z.B. local host künstliche Adresse z.B. local host –Gateway –Mask –Interface –Flags (U: route ist up, G: route führt über einen Router, H: route ist zu einem Endsystem)

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

59 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 59 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? 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.

60 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 60 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? 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

61 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 61 Beispiel DestinationGateway Mask FlagsInterface * Ueth * U lo defaultmannhattan UG eth0 IP Empfängeradresse: Es gibt keine passende vollständige IP Adresse unter Destination! & = d.h. es wird der erste Eintrag der Routing Tabelle benutzt!

62 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 62 Eintrag gefunden, was nun? Ist ein Gateway angegeben (flag G gesetzt)? 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.

63 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 63 Live Übung Destination Gateway Mask FlagsInterface UG eth UHG eth UHG eth HG eth * U eth * UH eth * U lo default UG eth3 Routen sie die folgenden IP Adressen:

64 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 64 Wie kommen die Einträge in die Routing Tabelle? Wenn das System gestartet wird, werden vom Systemverwalter konfigurierte Einträge geladen. 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 Zur Laufzeit kann man Einträge mit dem route Befehl hinzufügen/löschen –Beispiel: route add -host gw eth0 Endsystem: dynamic default router discovery. Endsystem: dynamic default router discovery. Router: Dynamisch mit Hilfe von Routing Protokollen. Router: Dynamisch mit Hilfe von Routing Protokollen.

65 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 65 Dynamic Default Router Discovery ICMP Router Advertisement Messages werden periodisch auf die all hosts multicast Adresse gesendet (üblicherweise alle 7 Minuten). ICMP Router Advertisement Messages werden periodisch auf die all hosts multicast Adresse gesendet (üblicherweise alle 7 Minuten). ICMP Router Solicitation Messages werden von Endsystemen auf die all routers multicast adresse geschickt um ICMP Router Advertisment Messages außer der Reihe zu erzeugen. ICMP Router Solicitation Messages werden von Endsystemen auf die all routers multicast adresse geschickt um ICMP Router Advertisment Messages außer der Reihe zu erzeugen.

66 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 66 ICMP Router Advertisement Nachricht IP header (20 bytes) type (9)checksumcode (0) Router Address 1 num addr.addr. sizelifetime preference 1 Router Address 2 preference 2

67 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 67 ICMP Router Solicitation Nachricht IP header (20 bytes) type (10)checksumcode (0) reserved

68 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 68 Problem default router Internet Endsystem router LAN

69 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 69 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. 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. Empfängt ein Endsystem einen ICMP redirect error, so sollte er seine Routingtabelle entsprechen ändern.

70 Mauve - Internet Protokolle - WS02/03 - Kapitel 3: IP 70 ICMP Redirect Error IP header (20 bytes) type (5)checksumcode (0-3) IP header (incl. options) + first 8 bytes of original IP packet data IP Adresse des alternativen Routers der besser geeignet ist 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 3: redirect packet for the Type of Service and host

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


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

Ähnliche Präsentationen


Google-Anzeigen