GIT Grundlagen der Internet Technologie IP Internet Protokoll Adressierung und Routing fürs Internet von Stephan Senn GIT Grundlagen der Internet Technologie Inhalt • • • • • Orientierung: Die Netzwerkschicht (1min) Aufgabe des Internet Protokolls (1min) Header eines Datenpakets (1min) Fragmentierung und Assembling (1min) Adressierung (5min) – – Aufbau der Adressen Subnetze und Netzmasken • Routing – – – (5min) Aufgabe Routing-Verfahren Beispiel • Probleme mit IPv4 2. Mai 2003 (für spätere Diskussion) 2 GIT Grundlagen der Internet Technologie Die Netzwerkschicht • • Das IP entspricht im ISO/OSI-Modell der Netzwerkschicht. Merke: – Keine Flusskontrolle möglich! – Keine Fehlerkorrektur der Daten möglich! – ICMP: Fehlererkennung nur im Rahmen der Netzwerkschicht! Betrifft nur den Internet Header und nicht die eigentlichen Daten! – Kein automatisch erneutes Senden von fehlerhaften Daten! 2. Mai 2003 ISO/OSI-Modell Standard-InternetProtokollarchitektur Application Layer Application Layer Presentation Layer Session Layer Transport Layer TCP / UDP Network Layer IP / ICMP Datalink Layer Link Layer Physical Layer IP: Internet Protocol ICMP: Internet Control Message Protocol TCP: Transmission Control Protocol UDP: User Datagram Protocol 3 GIT Grundlagen der Internet Technologie Aufgabe des Internet Protokolls • • • • Hauptaufgabe: Datenpakete an Subnetze weiterleiten Jetzige Version: IPv4 (seit 1980) IP Next Generation (IPng): IPv6 Stellt zwei grundlegende Funktionen zur Verfügung: – Adressierung: • Prinzip der Adressvergabe • Systematisches Auffinden von Adressen im Netz – Fragmentierung: • ‚Aufsplittung‘ eines Datenpakets in kleinere Datenpakete • Anschliessendes Assembling (Zusammenfügen) der Datenpakete 2. Mai 2003 4 GIT Grundlagen der Internet Technologie Internet Header Next-Level-Protokolle Internet Header Length Für Fragmentierung und Assembling Version IHL Type of Service Total Length Identification Flags Fragment Offset Time to Live Protocol Header Checksum Dienste zur Beeinflussung Source Address der Übertragungsqualität: Verzörgerung, Durchsatz, Destination Address usw. ‚SelbstzerstörungsOptions Padding mechanismus‘: Beschreibt die Lebensdauer eines Datenpakets im Netz 2. Mai 2003 Optionen: variables Feld Route-Tracking, Sicherheitsaspekte, usw. Ausgleichsfeld: variables Feld Internet Headers müssen ein Vielfaches von 32Bits sein. Datenpaket Header Daten 5 GIT Grundlagen der Internet Technologie Fragmentierung • • • Datenpakete werden in Fragmente aufgeteilt. Übertragungskanal beeinflussen: Für das Zusammenspiel von schwachen und starken Netzen untentbehrlich! Merke: – Jedes Fragment enthält wiederum einen Header! – Fragment Offset als Angabe für die Reihenfolge! – Eindeutige Kennung mit Identification! 2. Mai 2003 Header Header Fragment Offset: 0Bytes More Fragments: 1 Identification: 111 Fragment #1 1Byte Header Daten Fragment Offset: 1Byte More Fragments: 1 Identification: 111 1Byte 3Bytes Header Identification: 111 Fragment Offset: 2Bytes More Fragments: 0 Identification: 111 Fragment #3 1Byte 6 GIT Grundlagen der Internet Technologie Adressierung 2. Mai 2003 7 GIT Grundlagen der Internet Technologie Die Internetadresse • Jede Internetadresse besteht aus vier Zahlen von 0 bis 255 (1Byte). z.B. 129.132.200.35 • Sie hat eine Länge von 32Bits (4Bytes). • Aufbau jeder Internetadresse: Präfix Netzadresse 2. Mai 2003 Hostadresse 8 GIT Grundlagen der Internet Technologie Adressklassen • Es gibt drei Adressklassen: Klasse A B C Klasse A B C 2. Mai 2003 Präfix Netzadresse Anzahl Hostadresse Anzahl Netzadressen Hostadressen 0 7Bits 126 24Bits 16777214 10 14Bits 16382 16Bits 65534 110 21Bits 2097150 8Bits 254 von bis 1.0.0.0 128.0.0.0 192.0.0.0 feste Bitstellen 126.0.0.0 00000000.00000000.00000000.00000000 191.255.0.0 10000000.00000000.00000000.00000000 223.255.255.0 11000000.00000000.00000000.00000000 9 GIT Grundlagen der Internet Technologie Welche Adressklassen sind für welche Netzwerke? • Klasse A: für grosse Netzwerke mit vielen Hosts • Klasse B: für mittlere Netzwerke mit einer mittleren Anzahl Hosts • Klasse C: für kleine Netzwerke mit einer geringen Anzahl Hosts 2. Mai 2003 10 GIT Grundlagen der Internet Technologie Beispiel: ETH-Netz • Mit dem Befehl ping [URL] kann die Internetadresse ermittelt werden. z.B. ping www.ee.ethz.ch www.ee.ethz.ch 129.132.2.198 www.ethz.ch 129.132.200.35 ETHZ-Netz 129.132.0.0 www.ssd.ethz.ch 129.132.185.100 2. Mai 2003 www.math.ethz.ch 129.132.148.197 11 GIT Grundlagen der Internet Technologie Subnetze bilden • Anwendung: ein Netz von einem anderen Netz abgrenzen, Teilnetze bilden • Nur Hosts mit einer spezifischen Netzkennung werden im Netz erlaubt. z.B. nur 149.76.6.X • Netzmaske für verschiedene Adressklassen: Klasse A B C 2. Mai 2003 Netzmaske 255.0.0.0 255.255.0.0 255.255.255.0 Netzmaske in Binärform 11111111.00000000.00000000.00000000 11111111.11111111.00000000.00000000 11111111.11111111.11111111.00000000 12 GIT Grundlagen der Internet Technologie Subnetze bilden (2) • Vorgehen: Bitweise Addition der Internetadresse mit der Netzmaske Internetadresse 149.76.6.4 10010101.01001100.00000110.00000100 Maskierung 255.255.0.0 11111111.11111111.00000000.00000000 AND 149.76.0.0 10010101.01001100. 00000000.00000000 • Ziel: Netzadresse ‚herausstanzen‘. 2. Mai 2003 13 GIT Grundlagen der Internet Technologie Beispiel: Subnetze bilden • Aufgabe: Eine Firma besitzt drei grosse Abteilungen A, B und C mit den Netzadressen 149.76, 149.77 und 149.78 (Adressklasse B). Die einzelnen Abteilungen werden als Subnetze geführt; d.h. ein Host aus der Abteilung A kann nicht mit einem Host der Abteilung B kommunizieren. Die Subnetzmaske lautet dann: 255.255.0.0. Access-Bereich 149.76 2. Mai 2003 149.77 149.78 149.76 149.78 149.77 14 GIT Grundlagen der Internet Technologie Symbolische Internetadressen • Numerische Internetadresse: 129.132.200.35 • Symbolische Internetadresse: www.ethz.ch • Domain: Bereich eines Netzes z.B. .ch, .li, .ethz.ch, .google.ch • ‚Alias-System‘ • Query-Abfrage auf einer globalen ethz.ch Datenbank (Baumstruktur) • Domain Name System (DNS) Wurzel .de .ch google.ch ee.ethz.ch 2. Mai 2003 15 GIT Grundlagen der Internet Technologie Routing 2. Mai 2003 16 GIT Grundlagen der Internet Technologie Was ist Routing? • Definition: Datenpakete von einer Quelladresse zur richtigen Zieladresse führen • Merke: – Ein Datenpaket enthält keine Informationen, wie es zum Ziel gelangt! – Aus der Sicht der Datenpakete: Es gibt keine vordefinierten Pfade! – Routing: betrifft Network-Layer (IP-Adresse) – Switching: betrifft Link-Layer (MAC-Adresse) 2. Mai 2003 17 GIT Grundlagen der Internet Technologie Was ist ein Router? • Definition: Gerät, bestehend aus Link- und Network-Layer, das für das Routing zuständig ist • Router: 2. Mai 2003 18 GIT Grundlagen der Internet Technologie Beispiel: Router im Netz • Beispiel: Host #1 will ein Datenpaket nach Host #3 schicken! Router #2 Netz #2 Router #3 Netz #5 Host #1 Netz #1 Netz #3 Netz #4 Router #1 Router #4 Host #2 Server #2 Router #5 Netz #6 Netz #7 Router #6 Server #1 2. Mai 2003 Host #3 19 GIT Grundlagen der Internet Technologie Routing-Verfahren • Es gibt mehrere Routing-Konzepte mit spezifischen Routing-Verfahren, die in Protokollen beschrieben sind: – Distanz-Vektor-Routing: z.B. Routing Information Protocol (RIP) – Link-State-Routing: z.B. Open Shortest Pass First (OSPF) • Es werden Routing-Tabellen verwendet. • Border Gateway Protocol (BGP): Grundrouting-Protokoll, das die Kommunikation zwischen den einzelnen RoutingProtokollen gewährleistet. 2. Mai 2003 20 GIT Grundlagen der Internet Technologie Statisches und dynamisches Routing • Statisches Routing: Netztopologie oder Teile daraus zu Beginn bekannt, kein Hinzufügen von Netzkomponenten während der Laufzeit möglich! • Dynamisches Routing: kein Vorwissen über die Netztopologie nötig, Erkennen der Netztopologie zur Laufzeit (dynamisch) 2. Mai 2003 21 GIT Grundlagen der Internet Technologie Routing-Tabellen • Grundfrage des Routers: An wen leite ich meine Daten weiter? • Inhalt der Routing-Tabellen: – Beschreibung der gesamten Netztopologie oder Teile daraus, je nach Routing-Verfahren – Unterschiedliche Verfahren zur Beschreibung von Netzen: Zeitmessung (z.B. Hello-Protokolle), Distanzangaben (z.B. Hops), u.a. – Zusätzliche Informationen (Routing-Metriken): Durchsatz, Verzögerung, Zuverlässigkeit, finanzielle Kosten, usw. • Grundkonzept: zyklischer Austausch der Routing-Tabellen zur Laufzeit (Informationsaustausch) 2. Mai 2003 22 GIT Grundlagen der Internet Technologie Routing-Tabellen • So könnte etwa eine Routing-Tabelle eines Routers aussehen: Netz Hops Router Host/Server Hops Router #1 0 - Host #1 0 - #2 0 - Host #2 1 #1 #3 1 #3 Host #3 3 #1 #4 1 #1 Server #1 1 #1 #5 1 #3 Server #2 2 #1 #6 2 #2 #7 2 #1 Distanzangaben: Ist dies die kürzeste Distanz? Gibt es eine kürzere Verbindung? Was sagen die erhaltenen Routing-Tabellen der anderen Router? An welchen Router muss ich die Daten weiterleiten? Wo soll das Datenpaket hin? 2. Mai 2003 23 GIT Grundlagen der Internet Technologie Beispiel: Routing • Aufgabe: Host #1 möchte Daten an Server #2 schicken. Netz #1,4: grossenach Netze mit#18erfolgt. Routern Datenübertragung nach Router #3 erfolgt. Dieser Datenübertragung Router Dieser die Daten an Router wird#3,2: die Daten an Router #4mit weiterleiten. Router #4#4 weiterleiten, da dies Netz kleine Netzewird je 3 Routern der kürzeste Weg sei. Router #4 wird die Daten an wird die Daten an den Server #2 weiterreichen. den Server #2 weiterreichen. Router #1 schickt seine Routing-Tabelle Netz #2 Netz #5 an Router #2: Router #2 Router #3 Router #5 Host #1 Von: Distanz: Nach: Status: Router #2 Server #2 5Hops (Annahme) Router #1 Netz #1 Netz #3 Netz #6 Von: Distanz: Nach: ServerStatus: #2 10Hops (Annahme) Router #3 Router #1 wieder OK! Alter Router #2 Von: Distanz: Nach: Netz #4 Netz #7 OK! Server #2 10Hops (Annahme) Router #3 Router #6 Router #4 Router #1 Server #1 X 5Hops sind kürzer als 10Hops daher: Router #1 sei defekt! Host #2 2. Mai 2003 Neuer Status: Router #2 Server #2 Von: Distanz: Nach: Server #2 5Hops (Annahme) Router #1 Host #3 24 GIT Grundlagen der Internet Technologie Probleme mit IPv4 • • • • Ausgehende Internet-Adressen Unterschiedliche Datenstrukturen Sicherheitsaspekt Dynamic Host Configuration Protocol (DHCP) 2. Mai 2003 25 GIT Grundlagen der Internet Technologie Fragen... 2. Mai 2003 26 GIT Grundlagen der Internet Technologie Vielen Dank für eure Aufmerksamkeit! 2. Mai 2003 27