Inhalt der Vorlesung

Ähnliche Dokumente
Übungen zu Rechnerkommunikation

Übungen zu Rechnerkommunikation

Übungen zu Rechnerkommunikation Wintersemester 2010/2011 Übung 7

Inhalt der Vorlesung Rechnerkommunikation

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

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

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

IP Internet Protokoll

Adressierung und Routing

Internet Protokoll IP Routing Routing Protokolle. Internet Control Message Protocol (ICMP, RFC792) Wichtige ICMP Typen

Grundlagen der Rechnernetze. Internetworking

Internetanwendungstechnik (Übung)

Zum Inhalt. 2 Prof. Dr. Thomas Schmidt

2.1 Adressierung im Internet

Internet Routing. Link State Routing. SS 2012 Grundlagen der Rechnernetze Internetworking 27

IP routing und traceroute

2.1 Adressierung im Internet

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

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

Grundzüge der Datenkommunikation Routingprotokolle

Systeme II 4. Die Vermittlungsschicht

Internet Routing. Grundprinzipien Statisches Routing Dynamisches Routing Routingprotokolle Autonome Systeme

Netzwerktechnologien 3 VO

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

Adressierung eines Kommunikationspartners in der TCP/IP-Familie

Kommunikationsnetze. Praxis Internet. Version 4.0

IP-Adressen und Ports

2.1 Adressierung im Internet

Host Configuration (DHCP)

Grundlagen Rechnernetze und Verteilte Systeme IN0010, SoSe 2017

Wo geht's lang: I Ro R u o t u i t n i g

Internet Routing. SS 2012 Grundlagen der Rechnernetze Internetworking

Gruppen Di-T14 / Mi-T25

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

Grundkurs Routing im Internet mit Übungen

Mobilkommunikationsnetze - TCP/IP (und andere)-

Thema: Internet Protokoll Version 6 IPv6 (IPng)

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

Netzwerktechnologien 3 VO

Link-State Protocol. ! Link State Router. ! LSP enthält. ! Verlässliches Fluten (Reliable Flooding)

2.2 Internet Protokolle

2.2 Internet Protokolle

IPv6.... es hätte noch viel schlimmer kommen können

Telekommunikationsnetze 2

Tutorübung zur Vorlesung Grundlagen Rechnernetze und Verteilte Systeme Übungsblatt 7 (3. Juni 7. Juni 2013)

Routingprotokolle. Falko Dreßler, Regionales Rechenzentrum. Routingprotokolle

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

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

Routing Algorithmen. Barbara Draxler Zenina Huskic Peter Wieland Sebastian Zehentner. 31. Jänner 2002

Grundlagen Migration. MMS, vgl. Mobile

UDP User Datagramm Protokoll

Internet Routing am mit Lösungen

Rechnernetze Übung 10. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2011

IPv4 - Internetwork Protocol

TCP/IP. Internet-Protokolle im professionellen Einsatz

IPv6 Zusammenfassung. 24. März

Zum Inhalt. 2 Prof. Dr. Thomas Schmidt

Handbuch der Routing-Protokolle

Open Shortest Path First. Ein Routing-Protokoll. neingeist Entropia e.v. - CCC Karlsruhe

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

shri Raw Sockets Prof. Dr. Ch. Reich

Router 1 Router 2 Router 3

Chapter 8 ICMP. CCNA 2 version 3.0 Wolfgang Riggert, FH Flensburg auf der Grundlage von

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

Projektierung und Betrieb von Rechnernetzen

Vorlesung: Netzwerke (TK) WS 2009/10 Input für Praktikum: Versuch Nr. 2 IP-Netze / Router und Subnetting

Anatol Badach Erwin Hoffmann. Technik der IP-Netze. TCP/IP incl. IPv6 HANSER

IPv6 Vorbereitungen auf die neuen IP-Adressen

ICMP Internet Control Message Protocol. Michael Ziegler

IPv6 Refresher. Welt-IPv6 Tag: 8. Juni 2011

aktive Netzwerk-Komponenten Repeater Hub Bridge Medienkonverter Switch Router

Internetanwendungstechnik. Vermittlungsschicht. Gero Mühl

Vorlesung Rechnernetze I Teil 9 Wintersemester 2006/2007

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

Netzwerke 3 Praktikum

Was passiert eigentlich, wenn der Bagger dieses Kabel kappt? Wegesuche im Internet.

Mobile IP. Jeremi Dzienian. 29. Januar Universität Freiburg. Jeremi Dzienian (Universität Freiburg) Mobile IP 29. Januar / 13

Grundlagen Rechnernetze und Verteilte Systeme IN0010, SoSe 2017

Das IP Nachfolgeprotokoll (IP Next Generation, IPng, IPv6)

IP - Technik. für Multimedia - Anwendungen

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

Routing (Fortsetzung)

Wo geht s lang: Routing. Erstellt von Simon Wegbünder.

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

Referat über IP-Adressen

7. Foliensatz Computernetze

IPv6. Grundlagen Funktionalität Integration. Silvia Hagen. Sunny Edition CH-8124 Maur

IPv6. Präsentation von Mark Eichmann Klasse WI04f 22. November 2005

Computernetze In Brief

Der Internet Layer. Internet layer/ip. Internet Protocol (IP) Internet Control Message Protocol (ICMP) Routing Information Protocol (RIP)

Grundkurs Computernetzwerke

Internet Protocol Version 6

UDP-, MTU- und IP- Fragmentierung

Internet Control Message Protocol (ICMP)

Domain Name Service (DNS)

Fachbereich Informatik und Kommunikationssysteme. Adressierung im Netz. Michael Steyer 0/55. Adressierung im Netz

Seminar Communication Systems Talk 5 Lukas Keller, Sacha Gilgen INTER DOMAIN ROUTING Lukas Keller, Sacha Gilgen 1

IP Adressen & Subnetzmasken

Tutorübung zur Vorlesung Grundlagen Rechnernetze und Verteilte Systeme Übungsblatt 10 (24. Juni 28. Juni 2013)

Transkript:

Einführung Anwendungsschicht Transportschicht Netzwerkschicht Sicherungsschicht Physikalische Schicht Inhalt der Vorlesung [RN] Sommer 2012 Netzwerkschicht 1

Einführung IP Netzwerkschicht Datagrammformat und Adressierung Fragmentierung ICMP NAT IPv6 Aufbau eines Routers Routing Graphen Link-State-Routing Distanzvektor-Routing Interdomain-Routing [RN] Sommer 2012 Netzwerkschicht 2

Einführung Aufgabe der Netzwerkschicht: Kommunikation zwischen Hosts, die über verschiedene Netze verbunden sind Hosts senden und empfangen, Vermittlungseinheiten leiten weiter Weiterleitung (Forwarding): Vermittlungseinheit empfängt Dateneinheiten auf einer Leitung und leitet sie auf einer anderen (der richtigen) weiter Wegewahl (Routing): Verfahren, mit denen Vermittlungseinheiten entscheiden, über welchen Weg Dateneinheiten gesendet werden sollen [RN] Sommer 2012 Netzwerkschicht 3

Einführung Zusammenspiel von Weiterleitung und Wegewahl: routing algorithm local forwarding table header value output link 0100 3 0101 2 0111 2 1001 1 value in arriving packet's header 0111 1 3 2 [RN] Sommer 2012 Netzwerkschicht 4

Einführung Datagramm-basierte Paketvermittlung jedes Datagramm trägt eine globale Adresse, die von Routern zur Weiterleitung verwendet wird die Vermittlungseinheit heißt hier Router wird bei IP verwendet keine Bereitstellung von Dienstmerkmalen wie Fehlerkontrolle Bewahrung der Reihenfolge verbindungslos/verbindungsorientiert Fluss- und Überlastkontrolle Garantien für Dienstgüte (z.b. Bitrate, Verzögerung, Verlust) [RN] Sommer 2012 Netzwerkschicht 5

Einführung Virtuelle Leitungsvermittlung hier jede Dateneinheit (für die in verschiedenen Protokollen unterschiedliche Namen verwendet werden) erhält eine lokale Kennung beim Weiterleiten wird diese Kennung von jeder Vermittlungseinheit verändert dies ermöglicht den Aufbau einer virtuellen Leitung und gegebenenfalls die Bereitstellung von Dienstmerkmalen wird z.b. bei X.25, Frame Relay, ATM und MPLS verwendet hauptsächliche Betrachtung von IP später MPLS als Beispiel für virtuelle Leitungsvermittlung [RN] Sommer 2012 Netzwerkschicht 6

Einführung IP Netzwerkschicht Datagrammformat und Adressierung Fragmentierung ICMP NAT IPv6 Aufbau eines Routers Routing Graphen Link-State-Routing Distanzvektor-Routing Interdomain-Routing [RN] Sommer 2012 Netzwerkschicht 7

IP: Datagrammformat ver: 4 für verbreitetes IPv4 header length: 4 Bits, Header- Länge in 32-Bit-Worten type of service: 2 Bits für Unterscheidung bei Dienstgüte length: Gesamtlänge in Bytes (max. 216 = 65.535 Bytes) identifier, flgs, fragment offset: für Fragmentierung time to live: Hoplimit, jeder Router dekrementiert upper layer: höheres Protokoll Options: z.b. Zeitstempelung, Weg aufzeichnen ohne Options 20 Bytes ver head. len 16-bit identifier time to live type of service upper layer 32 bits flgs data (variable length, typically a TCP or UDP segment) length fragment offset Internet checksum 32 bit source IP address 32 bit destination IP address Options (if any) [RN] Sommer 2012 Netzwerkschicht 8

IP-Adresse IP: Klassenbasierte Adressierung kennzeichnet eine Schnittstelle eines Hosts oder Routers Hosts mit mehreren Schnittstellen (multi-homed) und Router benötigen mehrere IP-Adressen 32 Bits, 4 Bytes, Netzwerkteil und Hostteil zentrale Kontrolle durch Internet Corporation for Assigned Names and Numbers (ICANN) autorisierte Address Registries vergeben an ISPs, die wieder weiter American Registry for Internet Numbers (ARIN), Reseaux IP Europeens (RIPE), Dotted-Decimal-Schreibweise d 1.d 2.d 3.d 4 mit d j = Dezimaldarstellung des j-ten Bytes Bsp.: 10000000 10000111 01000100 00000101 2 wird als 128.135.68.5 notiert [RN] Sommer 2012 Netzwerkschicht 9

IP: Klassenbasierte Adressierung Klassenbasierte Adressen: Class A B C D E 32 Bits 0 Network Host 10 Network Host 110 Network Host 1110 Multicast address 1111 Reserved for future use Range of host addresses 1.0.0.0. to 127.255.255.255 128.0.0.0. to 191.255.255.255 192.0.0.0. to 223.255.255.255 224.0.0.0. to 239.255.255.255 240.0.0.0. to 255.255.255.255 [RN] Sommer 2012 Netzwerkschicht 10

IP: Klassenbasierte Adressierung besondere Adressen: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0... 0 0 Host 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Network 1 1 1 1... 1 1 1 1 This host A host on this network Broadcast on the local network Broadcast on a distant network 127 (Anything) Loopback [RN] Sommer 2012 Netzwerkschicht 11

IP: Klassenbasierte Adressierung 195.100.53.2 eth0 195.100.53.1 195.101.204.1 eth33 R1 eth162 eth0 195.101.204.2 R2 R3 198.133.10.2 eth1 198.133.10.0 202.140.13.0 eth1 202.140.13.1 198.133.10.3 eth0 R4 198.136.22.7 eth1 H1 198.133.10.4 198.136.22.24 H2 198.133.10.5 H6 198.136.22.48 202.140.13.2 202.140.13.3 202.140.13.4 H3 H4 H5 198.136.22.0 Router R1,..., R4, Hosts H1,..., H6, Schnittstellen eth0, eth1,... Class-C-Netzwerke: 198.133.10.0, 198.136.22.0, 202.140.13.0 hinter Netzwerken verbirgt sich eine Switch-Struktur (früher Busleitung), die hier nicht dargestellt wird wie findet ein IP-Datagramm von H6 nach H4? [RN] Sommer 2012 Netzwerkschicht 12

IP: Klassenbasierte Adressierung 195.100.53.2 eth0 195.100.53.1 195.101.204.1 eth33 R1 eth162 eth0 195.101.204.2 R2 R3 198.133.10.2 eth1 198.133.10.0 202.140.13.0 eth1 202.140.13.1 198.133.10.3 eth0 R4 198.136.22.7 eth1 H1 198.133.10.4 198.136.22.24 H2 198.133.10.5 H6 198.136.22.48 202.140.13.2 202.140.13.3 202.140.13.4 H3 H4 H5 Datagramm Quelle:198.136.22.48 Ziel: 202.140.13.3 198.136.22.0 Weiterleitungstabelle von H6: Ziel nächster Hop Flag Schnittstelle 198.136.22.0 - eth0 default 198.136.22.7 G eth0 [RN] Sommer 2012 Netzwerkschicht 13

IP: Klassenbasierte Adressierung 195.100.53.2 eth0 195.100.53.1 195.101.204.1 eth33 R1 eth162 eth0 195.101.204.2 Q:198.136.22.48 Z: 202.140.13.3 198.133.10.2 R2 eth1 198.133.10.0 202.140.13.0 eth1 R3 202.140.13.1 198.133.10.3 eth0 R4 198.136.22.7 eth1 H1 198.133.10.4 198.136.22.24 H2 198.133.10.5 H6 198.136.22.48 198.136.22.0 202.140.13.2 202.140.13.3 202.140.13.4 H3 H4 H5 Weiterleitungstabelle von R4: Ziel nächster Hop Flag Schnittstelle 198.136.22.0 - eth1 198.133.10.0 - eth0 default 198.133.10.2 G eth0 [RN] Sommer 2012 Netzwerkschicht 14

IP: Klassenbasierte Adressierung 195.100.53.2 R2 eth0 195.100.53.1 195.101.204.1 Q:198.136.22.48 Z: 202.140.13.3 eth33 R1 eth162 eth0 R3 195.101.204.2 198.133.10.2 eth1 198.133.10.0 202.140.13.0 eth1 202.140.13.1 198.133.10.3 eth0 R4 198.136.22.7 eth1 H1 198.133.10.4 198.136.22.24 H2 198.133.10.5 H6 198.136.22.48 202.140.13.2 202.140.13.3 202.140.13.4 H3 H4 H5 Weiterleitungstabelle von R2: 198.136.22.0 Ziel nächster Hop Flag Schnittstelle 195.100.53.0 - eth0 198.133.10.0 - eth1 198.136.22.0 198.133.10.3 G eth1 [RN] Sommer 2012 Netzwerkschicht 15 default 195.100.53.1 G eth0

195.100.53.2 IP: Klassenbasierte Adressierung eth0 195.100.53.1 195.101.204.1 eth33 R1 eth162 Q:198.136.22.48 Z: 202.140.13.3 eth0 195.101.204.2 R2 R3 198.133.10.2 eth1 198.133.10.0 202.140.13.0 eth1 202.140.13.1 198.133.10.3 eth0 R4 198.136.22.7 eth1 H1 198.133.10.4 198.136.22.24 H2 198.133.10.5 H6 198.136.22.48 202.140.13.2 202.140.13.3 202.140.13.4 H3 H4 H5 Weiterleitungstabelle von R1: 198.136.22.0 Ziel nächster Hop Flag Schnittstelle 198.136.22.0 195.100.53.2 G eth33 198.133.10.0 195.100.53.2 G eth33 195.100.53.0 - eth33 195.101.204.0 - eth162 [RN] Sommer 2012 Netzwerkschicht 16 202.140.13.0 195.101.204.2 G eth162

IP: Klassenbasierte Adressierung 195.100.53.2 eth0 195.100.53.1 195.101.204.1 eth33 R1 eth162 eth0 195.101.204.2 R2 R3 Q:198.136.22.48 Z: 202.140.13.3 198.133.10.2 eth1 198.133.10.0 202.140.13.0 eth1 202.140.13.1 198.133.10.3 eth0 R4 198.136.22.7 eth1 H1 198.133.10.4 198.136.22.24 H2 198.133.10.5 H6 198.136.22.48 198.136.22.0 202.140.13.2 202.140.13.3 202.140.13.4 H3 H4 H5 Weiterleitungstabelle von R3: Ziel nächster Hop Flag Schnittstelle 195.101.204.0 - eth0 202.140.13.0 - eth1 [RN] Sommer 2012 Netzwerkschicht 17 default 195.101.204.1 G eth0

IP: Klassenbasierte Adressierung Vorteil der klassenbasierten Adressierung selbstidentifizierende Adressen: an den ersten Bits wird erkannt, um welche Klasse es sich handelt Weiterleitungstabelle benötigt nur Netzwerkteil der Adresse und kann klein gehalten werden Nachteile der klassenbasierten Adressierung feste Zuordnung von Netzwerken, wenn ein Rechner in eine anderes Netzwerk zieht, muss seine IP-Adresse angepasst werden C-Netze erlauben nur wenige Hosts (8 Bits), B-Netze erlauben sehr viele Hosts (16 Bits) Verschwendung: größere Organisationen bemühen sich um B- Netz und nutzen Adressen nur teilweise Anfang der 90er Jahre war absehbar, dass der Adressraum für weiteres Wachstum nicht ausreicht [RN] Sommer 2012 Netzwerkschicht 18

IP: Subnetze und klassenlose Adressierung Subnetze Hostanteil wird weiter unterteilt in Subnetz (variable Länge) und Host entfernte Router benötigen nur den weiter klassenbasierten Netzwerkteil Maske: führende Bits vom Wert 1, Verundung mit Adresse ergibt Netzwerkteil und Subnetzteil Notation für das Netzwerk + Subnetz: IP-Adresse/Länge der Maske, z.b.: 150.100.12.176/22 32 Bits Subnet mask 10 Network Subnet Host 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 [RN] Sommer 2012 Netzwerkschicht 19

IP: Subnetze und klassenlose Adressierung Beispiel für Subnetz Organisation hat Klasse-B-Adresse (also 16 Bits Hostteil) mit Netzwerkteil: 150.100.0.0 es werden Subnetze mit jeweils maximal 100 Hosts erzeugt hierfür reichen jeweils 7 Bits also 16-7=9 Bits for Subnetzteil z.b. IP-Adresse 150.100.12.176 binär = 10010110 01100100 00001100 10110000 Maske = 11111111 11111111 11111111 10000000 AND = 10010110 01100100 00001100 10000000 Subnetzadresse = 150.100.12.128/25 [RN] Sommer 2012 Netzwerkschicht 20

IP: Subnetze und klassenlose Adressierung 195.188.37.128/25 195.188.37.130 195.188.37.66 195.188.37.0/25 195.188.37.129 eth0 eth33 R1 eth162 eth0 195.188.37.65 R2 R3 195.188.37.162 eth1 195.188.37.160/27 195.188.37.32/27 eth1 195.188.37.36 195.188.37.164 eth0 195.188.37.163 195.188.37.161 R4 H1 195.188.37.194 195.188.37.191 eth1 H2 H6 195.188.37.193 195.188.37.33 195.188.37.34 195.188.37.35 H3 H4 H5 195.188.37.192/27 das vorherige klassenbasierte Beispiel könnte mit Subnetzen so realisiert werden es wird nur ein Class-C-Netzwerk verwendet: 195.188.37.0 [RN] Sommer 2012 Netzwerkschicht 21

IP: Subnetze und klassenlose Adressierung CIDR (Classless Inter-Domain Routing) Weiterleitung basiert nicht mehr auf klassenbasierten Netzwerkadressen sondern auf einer beliebigen Anzahl von Bits in der Adresse, die durch die Maske gekennzeichnet werden z.b. Subnetting, auch Supernetting: Zusammenfassen von aufeinanderfolgenden klassenbasierten Netzen die Adresse und Maske können als Einträge in die Weiterleitungstabelle geschrieben werden die starre Zuordnung ist aufgelöst, aber größere Tabellen heute verbreitet die Router müssen ein Longest-Prefix-Match durchführen: sie vergleichen die Adresse mit Übereinstimmungen in der Weiterleitungstabelle und wählen diejenige, bei denen die meisten Bits übereinstimmen hierfür gibt es spezielle Datenstrukturen (Varianten von Binärbaumen), mit denen dieses effizient durchführbar ist [RN] Sommer 2012 Netzwerkschicht 22

Einführung IP Netzwerkschicht Datagrammformat und Adressierung Fragmentierung ICMP NAT IPv6 Aufbau eines Routers Routing Graphen Link-State-Routing Distanzvektor-Routing Interdomain-Routing [RN] Sommer 2012 Netzwerkschicht 23

IP: Fragmentierung Fragmentierung wenn Verbindungen unterwegs eine kleinere MTU (Maximum Transmission Unit) erfordern, wird das Datagramm in Fragmente zerlegt und als kleinere Datagramme weitergeleitet dies kann sich u.u. mehrmals wiederholen IP-Header-Felder identifier: Kennzeichnung zusammengehöriger Fragmente flag: Fragment folgt offset: Position der Daten des Fragments bei offset*8 Reassemblierung erst am Ziel wird wieder zusammengesetzt [RN] Sommer 2012 Netzwerkschicht 24

IP: Fragmentierung Beispiel 4000 Byte Datagram MTU = 1500 Bytes length =4000 ID =x fragflag =0 offset =0 großes Datagramm wird in kleinere Fragmente zerlegt 1480 Bytes im Datenfeld Offset = 1480/8 length =1500 length =1500 length =1060 ID =x ID =x ID =x fragflag =1 fragflag =1 fragflag =0 offset =0 offset =185 offset =370 [RN] Sommer 2012 Netzwerkschicht 25

Einführung IP Netzwerkschicht Datagrammformat und Adressierung Fragmentierung ICMP NAT IPv6 Aufbau eines Routers Routing Graphen Link-State-Routing Distanzvektor-Routing Interdomain-Routing [RN] Sommer 2012 Netzwerkschicht 26

IP: ICMP ICMP: Internet Control Message Protocol Kontrollnachrichten von Routern an andere Router und Hosts z.b. Benachrichtigung über Fehler (unerreichbare Adresse, maximale Zahl von Hops erreicht, ), ping, Format: Typ, Code, Checksum, Daten werden in IP-Datagrammen befördert Type Code description 0 0 echo reply (ping) 3 0 dest. network unreachable 3 1 dest. host unreachable 3 2 dest. protocol unreachable 3 3 dest. port unreachable 3 6 dest. network unknown 3 7 dest. host unknown 4 0 source quench (congestion control - not used) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header [RN] Sommer 2012 Netzwerkschicht 27

Einführung IP Netzwerkschicht Datagrammformat und Adressierung Fragmentierung ICMP NAT IPv6 Aufbau eines Routers Routing Graphen Link-State-Routing Distanzvektor-Routing Interdomain-Routing [RN] Sommer 2012 Netzwerkschicht 28

IP: NAT NAT (Network Address Translation) Umgehung der Adressknappheit Netzwerk verwendet intern global ungültige Adressen, z.b. 10.0.0.0/24 Netzwerk besitzt eine global gültige IP-Adresse Verbindungen zu internen Hosts werden auf Paare abgebildet, die aus dieser Adresse und einem Port bestehen nächster Router muss die Abbildung ausführen, er besitzt Tabelle hierfür und überschreibt Adressen und Ports in den IP- Datagrammen Größe durch Anzahl von Portnummern begrenzt Nachteil: Verletzung des Schichtenprinzips (Router beschäftigt sich mit Hosts) und Eingriff in die Ende-zu-Ende-Verbindung Vorteil: interne Änderungen ohne externe Auswirkung, bessere Abschirmung [RN] Sommer 2012 Netzwerkschicht 29

IP: NAT öffentliches Internet lokales Netz 10.0.0.0/24 10.0.0.1 10.0.0.4 10.0.0.2 138.76.29.7 10.0.0.3 global gültige öffentliche IP-Adresse, Umsetzung auf lokale Adressen mit verschiedenen Portnummern 10.0.0.0/24 Subnetz mit zugehörigen Adressen, nur lokal gültig [RN] Sommer 2012 Netzwerkschicht 30

IP: NAT 2: NAT Router überschreibt Quelladr. u. -port 10.0.0.1, 3345 mit 138.76.29.7, 5001, Eintrag in Tabelle 2 NAT-Tabelle Internet LAN 138.76.29.7, 5001 10.0.0.1, 3345 S: 138.76.29.7, 5001 D: 128.119.40.186, 80 10.0.0.4 S: 10.0.0.1, 3345 D: 128.119.40.186, 80 1 1: Host 10.0.0.1 sendet Datagramm an 128.119.40.186, 80 10.0.0.1 10.0.0.2 138.76.29.7 S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3 3: Antwort mit Zieladr. u. -port: 138.76.29.7, 5001 S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4 10.0.0.3 4: NAT Router überschreibt Zieladr. u. port 138.76.29.7, 5001 mit 10.0.0.1, 3345 [RN] Sommer 2012 Netzwerkschicht 31

Einführung IP Netzwerkschicht Datagrammformat und Adressierung Fragmentierung ICMP NAT IPv6 Aufbau eines Routers Routing Graphen Link-State-Routing Distanzvektor-Routing Interdomain-Routing [RN] Sommer 2012 Netzwerkschicht 32

IPv6 (IP version 6) IP: IPv6 ursprünglicher Name: IP The next Generation (IPng) IPv5 war experimentelles Protokoll IETF-Standardisierungsbemühung initiiert wegen Adressraumproblemen von IPv4, dabei gleich Lösung weiterer Probleme Header mit fester Länge (für schnelles Weiterleiten) keine Fragmentierung (wird einfach verworfen falls > MTU) keine Prüfsumme (Fehlererkennung in höheren Schichten) zusätzliche Optionen außerhalb als nächster Header Autokonfiguration (inzwischen DHCP) Dienstgütemerkmale (inzwischen IntServ, DiffServ) Probleme bei der Durchsetzung, inzwischen kann IPv4 vieles auch [RN] Sommer 2012 Netzwerkschicht 33

IP: IPv6 Adresskategorien Unicast: an ein Ziel Multicast: an mehrere Ziele Anycast: an ein Ziel in einer Gruppe Notation Gruppen von 16 Bits, repräsentiert durch 4 hexadezimale Ziffern, getrennt durch Doppelpunkt z.b. 4BF5:AA12:0216:FEBC:BA5F:039A:BE9A:2176 Kurzformen: 4BF5:0000:0000:0000:BA5F:039A:000A:2176 Nullen kompakter: 4BF5:0:0:0:BA5F:39A:A:2176 Nullen weglassen: 4BF5::BA5F:39A:A:2176 gemischte Notation: die letzten 32 Bits sind oft IPv4-Adresse, Darstellung durch ::FFFF:128.155.12.198 [RN] Sommer 2012 Netzwerkschicht 34

Datagrammformat IP: IPv6 Adressen sind 128 Bits lang, das sollte eine Weile reichen ver pri flow label payload len next hdr hop limit source address (128 bits) destination address (128 bits) data 32 bits [RN] Sommer 2012 Netzwerkschicht 35

Header Konzept IP: IPv6 Für jede Aufgabe ein eigener Extension Header fester Größe Schnelle Verarbeitung, jedes System sieht nur in die benötigten / bekannten Header Next Hdr Next Hdr Next Hdr Next Hdr Next Hdr Payload IPv6 Header Hop-by-hop options Routing Destination options Authentication Beispiele TCP (6) UDP (17) ESP (50) / AH (51) ICMPv6 (58) SCTP (132) [RN] Sommer 2012 Netzwerkschicht 36

Übergang von IPv4 zu IPv6 IP: IPv6 gleichzeitige Umstellung unmöglich 2 Ansätze, wenn IPv6-Datagramme zu einem IPv4-Router geschickt werden müssen Dual Stack: IPv6-Knoten haben auch IPv4-Implementierung und können Datagramme als IPv4 versenden, zusätzliche IPv6- Information geht dabei verloren Tunneling: das IPv6-Datagramm wird in ein IPv4-Datagramm eingepackt [RN] Sommer 2012 Netzwerkschicht 37

IP: IPv6 Dual Stack IPv6 IPv6 IPv4 IPv4 IPv6 IPv6 A B C D E F Flow: X Source: A Dest: F Source: A Dest: F Source: A Dest: F Flow:?? Source: A Dest: F data A to B : IPv6 data B to C : IPv4 data D to E : IPv4 data E to F : IPv6 [RN] Sommer 2012 Netzwerkschicht 38

Tunneling IP: IPv6 logische Sicht IPv6 IPv6 IPv6 IPv6 A B Tunnel E F IPv6 IPv6 IPv4 IPv4 IPv6 IPv6 A B C D E F Flow: X Source: A Dest: F data A to B : IPv6 Source: B Dest: E Flow: X Source: A Dest: F data B to C : IPv4 (encapsulating IPv6) Source: B Dest: E Flow: X Source: A Dest: F data D to E : IPv4 (encapsulating IPv6) Flow: X Source: A Dest: F data E to F : IPv6 [RN] Sommer 2012 Netzwerkschicht 39

Einführung IP Netzwerkschicht Datagrammformat und Adressierung Fragmentierung ICMP NAT IPv6 Aufbau eines Routers Routing Graphen Link-State-Routing Distanzvektor-Routing Interdomain-Routing [RN] Sommer 2012 Netzwerkschicht 40

Aufgaben Aufbau eines Routers Weiterleitung, Ausführung von Routingprotokollen prinzipieller Aufbau: input port output port... input port switching fabric switching fabric... output port switching routing fabric processor [RN] Sommer 2012 Netzwerkschicht 41

Aufbau eines Routers Funktionen am Eingangsport line termination data link processing (protocol, decapsulation) lookup, forwarding queueing switch fabric Pufferung, falls Pakete schneller von der Leitung kommen, als sie weitergegeben werden können Paketverlust, wenn Puffer überläuft verteiltes Weiterleiten: Port besitzt Kopie der Weiterleitungstabelle effiziente Datenstrukturen für schnelle Suche [RN] Sommer 2012 Netzwerkschicht 42

Aufbau eines Routers Möglichkeiten für die Switching Fabric A X A X B C memory Y Z B C Y Z memory bus A B C crossbar X Y Z [RN] Sommer 2012 Netzwerkschicht 43

Aufbau eines Routers Möglichkeiten für die Switching Fabric Speicher Bus CPU kopiert Paket von Eingangsport in Hauptspeicher, führt Weiterleitungsentscheidung durch und kopiert Paket zum Ausgangsport 2 mal internen Bus benutzen, Begrenzung der Leistungsfähigkeit frühe Router waren einfache Rechner, heute auch noch möglich ein Bus verbindet alle Ports, kann nur jeweils für einen Transfer benutzt werden, Wettbewerb üblich für kleine bis mittlere Router Verbindungsnetzwerk bekannt aus der Verbindung von Prozessoren in Parallelrechnern z.b. Crossbar: jeder Port kann direkt mit jedem anderen verbunden werden (quadratischer Schaltungsaufwand) auch mehrstufige Anordnungen [RN] Sommer 2012 Netzwerkschicht 44

Aufbau eines Routers Funktionen des Ausgangsports switching fabric queueing: buffer management data link processing (protocol, decapsulation) line termination Pufferung, wenn Switching Fabric schneller liefert als Pakete auf die Leitung gegeben werden können Paketverlust, wenn Puffer überläuft Active Queue Management: Entscheidung, welches Paket verworfen wird Scheduling: wenn mehrere Pakete gepuffert sind, kann entschieden werden, welches als nächstes gesendet wird [RN] Sommer 2012 Netzwerkschicht 45

Aufbau eines Routers Pufferungs- und Verlusteffekte wenn Switching Fabric schneller als Anzahl Ports x Leitungsgeschwindigkeit normalerweise keine Pufferung bei Eingangsports notwendig wenn mehrere gleichzeitig zu einem Ausgangsport schicken, ist dort Pufferung notwendig: switch fabric switch fabric output port contention at time t one packet time later [RN] Sommer 2012 Netzwerkschicht 46

Aufbau eines Routers Pufferungs- und Verlusteffekte Head-of-the-Line (HOL) Blocking mehrere Eingangports wollen auf gleichen Ausgangsport manche müssen warten, die dahinter werden blockiert, obwohl ihr Ausgangsport frei wäre switch fabric switch fabric output port contention at time t only one red packet can be transferred green packet experiences HOL blocking noch weitere Effekte, Auslegung durch Simulation und Analyse [RN] Sommer 2012 Netzwerkschicht 47

Einführung IP Netzwerkschicht Datagrammformat und Adressierung Fragmentierung ICMP NAT IPv6 Aufbau eines Routers Routing Graphen Link-State-Routing Distanzvektor-Routing Interdomain-Routing [RN] Sommer 2012 Netzwerkschicht 48

Routing Routing: Verfahren, mit denen Router entscheiden, über welchen Weg Pakete gesendet werden sollen Intradomain: innerhalb einer Routing-Domäne (= unter einer administrativen Instanz), hier können Verfahren verwendet werden, die nicht für sehr große Netze skalieren, zwei Varianten Link-State: jeder Router besitzt vollständige Information über die gesamte Routing-Domäne, jeder Router berechnet kürzeste Pfade von ihm zu allen anderen Routern z.b. mit dem Dijkstra-Verfahren, Beispiel: OSPF Distanzvektor: jeder Router kennt nur Kosten zu direkten Nachbarn und die von ihm erreichbaren Ziele, die kürzesten Pfade werden verteilt mit dem Bellman-Ford-Verfahren berechnet, Beispiel: RIP Interdomain: zwischen Routing-Domänen ausgetauschte Routing-Informationen enthalten ganzen Pfade, Auswahl durch Regeln, Beispiel: BGP [RN] Sommer 2012 Netzwerkschicht 49

Routing Unicast-Routing (Punkt-zu-Punkt) proaktiv: Information über Netztopologie wird ausgetauscht, aktuell gehalten, mit Graph-basierten Verfahren werden Pfade zu allen Zielen bestimmt, bei Sendewunsch werden diese genutzt auf diesen Fall beschränken wir uns hier Multicast-Routing (Punkt-zu-Mehrpunkt) Router sollen effizient genutzt werden Erweiterung von Unicast-Routing ebenfalls proaktiv Ad-Hoc-Routing dynamische Netztopologie: Pfade veralten schnell Erweiterung von proaktiven Verfahren auch reaktive Verfahren: erst bei Sendewunsch wird Pfad bestimmt Datenzentrische Verfahren adresslos, Nachrichten werden aufgrund ihres Inhalts weitergeleitet, z.b. in Sensornetzen [RN] Sommer 2012 Netzwerkschicht 50

Einführung IP Netzwerkschicht Datagrammformat und Adressierung Fragmentierung ICMP NAT IPv6 Aufbau eines Routers Routing Graphen Link-State-Routing Distanzvektor-Routing Interdomain-Routing [RN] Sommer 2012 Netzwerkschicht 51

Routing: Graphen Graphen sind eine übliche Abstraktion für Netze Anwendung von Suchverfahren aus Graphentheorie einige Grundbegriffe: Graph G = (N,E) Knoten N (nodes) Kanten E N N (edges), eine Kante ist ein Paar (v,w) E, v und w heißen Nachbarn ein Graph ist ungerichtet wenn alle Kanten symmetrisch sind: (v,w) E (w,v) E wir betrachten im Folgenden nur ungerichtete Graphen Kosten sind eine Funktion c: E K auf eine geeignete Menge K, verkürzte Schreibweise c(v,w) [RN] Sommer 2012 Netzwerkschicht 52

Routing: Graphen Beispiel für ungerichteten Graphen: 5 2 B 3 C 5 A 1 D 2 1 3 E 1 2 F N = {A, B, C, D, E, F} E = {(A,B), (A,C), (A,D), (B,A), (B,C), (B,D), (C,A), (C,B), (C,D), (C,E), (C,F), (D,A), (D,B), (D,C), (D,E), (E,C), (E,D), (E,F), (F,C), (F,E)} c(a,b) = c(b,a) = 2, c(a,c) = c(c,a) = 5,... [RN] Sommer 2012 Netzwerkschicht 53

einige weitere Begriffe Routing: Graphen ein Pfad ist eine Sequenz (v 1,v 2,..., v n ), so dass alle Paare (v 1,v 2 ), (v 2,v 3 ),..., (v n-1,v n ) E die Kosten eines Pfads betragen c(v 1,v 2 )+c(v 2,v 3 )+..+c(v n-1,v n ) ein Pfad zwischen zwei Knoten v 1 und v n heißt kürzester Pfad, wenn es zwischen diesen Knoten keinen Pfad mit geringeren Kosten gibt (es kann mehrere kürzeste Pfade zwischen zwei Knoten geben), seine Kosten heißen Distanz D(v 1,v 2 ) zwischen v 1 und v 2 ein Zyklus ist ein Pfad mit Anfangsknoten = Endknoten ein Graph ist zusammenhängend, wenn es einen Pfad zwischen jedem Kontenpaar gibt [RN] Sommer 2012 Netzwerkschicht 54

und noch ein paar... Routing: Graphen ein Baum ist ein zusammenhängender Graph, der keine Zyklen enthält ein aufspannender Baum eines Graphen G = (N,E) ist ein Baum B = (N,E ) mit E E ein minimaler aufspannender Baum eines Graphen G für einen Knoten v ist ein aufspannender Baum von G, der für jedes Knotenpaar mit v als Startknoten einen kürzesten Pfad aus G enthält Beispiel: minimaler aufspannender Baum für A: 2 B C A 1 F 1 D 1 E 2 [RN] Sommer 2012 Netzwerkschicht 55

Routing: Graphen Eigenschaft der kürzesten Pfade wenn v ein Teil des kürzesten Pfades von x nach y ist, dann setzt sich der kürzeste Pfad von x nach y aus den kürzesten Pfaden von x nach v und v nach y zusammen x v y führt zu Rekursionsschema: D(x,y) = min v {D(x,v) + D(v,y)} dies wird von den Verfahren zur Suche kürzester Pfade ausgenutzt [RN] Sommer 2012 Netzwerkschicht 56

Einführung IP Netzwerkschicht Datagrammformat und Adressierung Fragmentierung ICMP NAT IPv6 Aufbau eines Routers Routing Graphen Link-State-Routing Distanzvektor-Routing Interdomain-Routing [RN] Sommer 2012 Netzwerkschicht 57

Link-State-Routing Routing: Link-State-Routing alle Knoten besitzen vollständige Kenntnis der Netztopologie dies wird durch Fluten erreicht jeder Knoten berechnet die kürzesten Pfade zu allen anderen Knoten hierfür wird das Dijkstra-Verfahren verwendet bei Änderungen in der Netztopologie (kann z.b. die Verbindungsschicht erkennen), erfolgt erneutes Fluten und Neuberechnung der kürzesten Wege [RN] Sommer 2012 Netzwerkschicht 58

Fluten Routing: Link-State-Routing Link-State-Advertisements (LSAs) mit Kennung des Knotens, der LSA erzeugt Kosten zu Nachbarn und dessen Kennung Sequenznummer Lebensdauer jeder Knoten erzeugt LSAs mit den ihm bekannten Informationen über die Verbindungen zu den Nachbarn und sendet sie an alle Nachbarn neue von Nachbarn erhaltene LSAs werden an alle Nachbarn weitergeleitet, aber nicht an den Nachbarn, von dem das LSA kam zur Erzielung von Zuverlässigkeit auch Bestätigungen und Sendewiederholungen zwischen Nachbarn sowie Sequenznummern und Lebensdauer [RN] Sommer 2012 Netzwerkschicht 59

Routing: Link-State-Routing Bsp. für Fluten: initial sind jedem Knoten die Kosten zu den Nachbarn bekannt, jeder schickt diese zu seinen Nachbarn: A,1,B A,2,C A 1 B B,1,A B,3,D 2 3 C,2,A C,4,D 4 C D E 5 D,3,B D,4,C D,5,E E,5,D [RN] Sommer 2012 Netzwerkschicht 60

Routing: Link-State-Routing Bsp. für Fluten: nach Empfang werden die Tabellen jedes Knoten aktualisiert und danach die neuen Informationen weitergereicht: A,1,B A,2,C B,3,D C,4,D A C,4,D 1 D,4,C D,5,E B B,1,A A,2,C B,3,D D,4,C D,5,E B,3,D 2 3 A,2,C D,3,B D,5,E A,1,B C,2,A D,3,B C,4,D D,5,D 4 C D E 5 A,1,B B,1,A C,2,A B,1,A C,2,A D,3,B D,4,C D,5,E B,1,A C,2,A D,3,B D,4,C E,5,D [RN] Sommer 2012 Netzwerkschicht 61

A,1,B A,2,C B,3,D C,4,D D,5,E Routing: Link-State-Routing Bsp. für Fluten: nach Empfang werden die Tabellen jedes Knoten nochmals aktualisiert und enthalten daraufhin die Information über den gesamten Graphen: A 1 2 3 B B,1,A A,2,C B,3,D D,4,C D,5,E A,1,B C,2,A D,3,B C,4,D D,5,D 4 C D E 5 B,1,A C,2,A D,3,B D,4,C D,5,E B,1,A C,2,A D,3,B D,4,C E,5,D [RN] Sommer 2012 Netzwerkschicht 62

Routing: Link-State-Routing Idee des Dijkstra-Verfahrens der minimale aufspannende Baum wird iterativ aufgebaut eine Knotenmenge N enthält immer die Knoten, für die die kürzesten Pfade bereits bekannt sind N wird mit dem Startknoten u initialisiert es wird jeweils ein Nachbarknoten v zugefügt, der über alle aktuellen Knoten w von N und die jeweilige Kante zu v den kürzesten Pfad besitzt: D(u,v) = min w in N' {D(u,w) + c(w,v)} dies ist eine Spezialisierung des allgemeinen Rekursionsschemas D(u,v) = min w {D(u,w) + D(w,v)}, bei dem für den 2. Teil statt eines Pfads eine Kante verwendet wird der Algorithmus endet, wenn N = N [RN] Sommer 2012 Netzwerkschicht 63

Routing: Link-State-Routing Datenstrukturen für das Dijkstra-Verfahren Knotenmenge N, Startknoten u N ist die Menge von Knoten, zu denen kürzeste Pfade von u aus bereits bekannt sind Kosten c(v,w) zwischen zwei Knoten v und w positive Verbindungskosten, wenn v und w Nachbarn sind 0 für v = w sonst Distanz D(v) gibt Kosten des aktuell bekannten kürzesten Pfads von u nach v p(v) gibt Vorgänger von v auf dem aktuell bekannten kürzesten Pfad von u nach v [RN] Sommer 2012 Netzwerkschicht 64

Dijkstra-Verfahren Initialisierung N = {u}; Routing: Link-State-Routing für alle v N: D(v)=c(u,v); Wiederhole bis N = N finde w N\N, so dass v N\N : D(w) D(v); /* w ist ein Nachbar von Knoten aus N mit minimalen Kosten */ N = N {w}; für alle v N\N falls D(w)+c(w,v) < D(v), dann D(v) = D(w)+c(w,v) p(v) = w /* wenn ein Knoten über w günstiger zu erreichen ist, werden seine Kosten und sein Vorgänger angepasst */ [RN] Sommer 2012 Netzwerkschicht 65

Beispiel für den Ablauf des Dijkstra-Verfahrens jeweils D( ), p( ) Schritt N B C D E F 0 A 2,A 5,A 1,A,-,- 1 A,D 2,A 4,D 2,D,- 2 A,D,B 4,D 2,D,- 3 A,D,B,E 3,E 4,E 4 A,D,B,E,C 4,E 5 A,D,B,E,C,F A (Einträge mit können sich nicht mehr verändern, da Knoten in N ) 1 2 5 B D 2 3 1 3 C E 1 5 2 F [RN] Sommer 2012 Netzwerkschicht 66 A 1 2 B D 1 1 C E resultierender minimaler aufspannender Baum 2 F

Routing: Link-State-Routing Ermittlung der Routing-Tabelle Routing-Tabelle enthält für jedes Ziel v den nächsten Hop auf dem kürzesten Weg wie kann er aus dem Vektor p(v) mit Vorgänger-Knoten ermittelt werden? dies liefert die rekursive Funktion nexthop(v) = if p(v)=u then v else nexthop(p(v)) [RN] Sommer 2012 Netzwerkschicht 67

Routing: Link-State-Routing praktische Umsetzung des Dijkstra-Verfahrens in der Praxis sammelt jeder Knoten die LSAs und berechnet daraus direkt die Routing-Tabelle hierfür wird die als Forward-Search-Algorithmus bekannte Variante benutzt es werden Einträge der Form (Ziel, Kosten, nächster Hop) in 2 Listen verwaltet bestätigteliste (entspricht N ) vorläufigeliste (entspricht den Nachbarn von Knoten aus N ) nexthop(v) ist der nächste Hop, um einen Knoten v vom Startknoten u aus zu erreichen die Werte für c(w,v) werden aus den LSAs gelesen, die Werte für D(w) und nexthop(w) werden aus den Einträgen in den 2 Listen gelesen [RN] Sommer 2012 Netzwerkschicht 68

Routing: Link-State-Routing Forward-Search-Algorithmus Initialisierung bestätigteliste = <(u,0,-)>, vorläufigeliste = <>; Wiederhole w = letzter in bestätigteliste eingetragener Knoten für alle Nachbarn v von w falls v weder in bestätigteliste noch in vorläufigeliste füge (v, D(w)+c(w,v), nexthop(w)) vorläufigeliste zu falls v in vorläufigeliste und D(w)+c(w,v) < D(v) ersetze in vorläufigeliste den Eintrag für v durch (v, D(w)+c(w,v), nexthop(w)) verschiebe Eintrag mit geringsten Kosten von vorläufigeliste in bestätigte Liste bis vorläufigeliste leer [RN] Sommer 2012 Netzwerkschicht 69

Schritt bestätigteliste 0 (A,0,-) Routing: Link-State-Routing vorläufigeliste 1 (A,0,-) (B,2,B), (C,5,C), (D,1,D) 2 (A,0,-), (D,1,D) (B,2,B), (C,4,D), (E,2,D) 3 (A,0,-), (D,1,D), (B,2,B) (C,4,D), (E,2,D) 4 (A,0,-), (D,1,D), (B,2,B), (E,2,D) (C,3,D), (F,4,D) 5 (A,0,-), (D,1,D), (B,2,B), (E,2,D), (C,3,D) 6 (A,0,-), (D,1,D), (B,2,B), (E,2,D), (C,3,D), (F,4,D) (F,4,D) 5 3 B C 2 5 A 2 1 F 3 1 D 2 E 1 B C 2 A 1 F 1 D E 2 1 [RN] Sommer 2012 Netzwerkschicht 70

Routing: Link-State-Routing OSPF (Open Shortest Path First) verbreitetes Routing-Protokoll, RFC 2328 periodisches Fluten von Verbindungsinformation, Link-State- Routing Austausch von Information durch 2 Arten von Link-State- Advertisements (LSAs) direkt über IP Typ-1-LSA: Kosten von Verbindungen zwischen Routern, Kennzeichnung von Router durch IP-Adresse Typ-2-LSA: Netzwerke, die an Router angeschlossen sind 5 verschiedene Kostenmetriken sind möglich (normal, finanzielle Kosten, Durchsatz, Zuverlässigkeit, Verzögerung), werden manuell gesetzt, für jede Metrik wird minimaler aufspannender Baum berechnet zusätzlich: Authentifikation, 2 Hierarchieebenen für große Domänen [RN] Sommer 2012 Netzwerkschicht 71

Einführung IP Netzwerkschicht Datagrammformat und Adressierung Fragmentierung ICMP NAT IPv6 Aufbau eines Routers Routing Graphen Link-State-Routing Distanzvektor-Routing Interdomain-Routing [RN] Sommer 2012 Netzwerkschicht 72

Routing: Distanzvektor-Routing Idee des Bellman-Ford-Verfahrens die Suche nach kürzesten Wegen wird verteilt durch alle beteiligten Knoten durchgeführt jeder Knoten teilt seinen Nachbarn mit, mit welchen minimalen Kosten er andere Knoten erreichen kann anfangs können nur die Kosten zu den Nachbarn bekanntgegeben werden, mit jedem Austausch werden längere Pfade bekannt es wird wieder die Eigenschaft der kürzesten Pfade verwendet: D(u,v) = min w {D(u,w) + D(w,v)} diesmal wird für den 1. Teil statt eines Pfads eine Kante verwendet: D(u,v) = min w {c(u,w) + D(w,v)} wenn ein Knoten eine kürzere Entfernung ermittelt, sendet er diese Information an alle Nachbarn der Algorithmus endet, wenn sich keine Veränderung mehr ergibt (Konvergenz wurde erreicht) [RN] Sommer 2012 Netzwerkschicht 73

Routing: Distanzvektor-Routing Datenstrukturen für das Bellman-Ford-Verfahren Kosten c(v,w) zwischen zwei Knoten v und w positive Verbindungskosten, wenn v und w Nachbarn sind 0 für v = w sonst Distanz D u (v): bekannte kürzeste Entfernung von u nach v Distanzvektor D u = (D u (v), v N) jeder Knoten u besitzt Distanzen D u (v) für alle Knoten v N lokale Kopien D w (v) der Distanzen D w (v) von allen Nachbarn w zu allen Knoten v N nächster Hop nexthop u (v), um v von u aus zu erreichen für alle Knoten v N [RN] Sommer 2012 Netzwerkschicht 74

Routing: Distanzvektor-Routing Bellman-Ford-Verfahren (für jeden Knoten u N) Initialisierung für alle v N: falls v Nachbar von u: D u (v)=c(u,v); nexthop u (v)=v; sonst D u (v)= ; nexthop u (v)= -; für alle Nachbarn w: für alle v N: D w (v)= ; sende D u an w; Wiederhole warte bis Änderung der Kosten zu Nachbar w (D u ändert sich) oder Erhalt eines Distanzvektors D w von Nachbar w (D w ändert sich) für alle v N: D u (v) = min w {c(u,w)+d w (v)}; nexthop u (v) = der Knoten w aus dieser Minimumsbildung wenn Änderung in D u : sende D u an alle direkten Nachbarn [RN] Sommer 2012 Netzwerkschicht 75

Beispiel: nach Initialisierung von B zu D B ( ) nh B ( ) A 2 A B 0 - C 3 C 3 von C zu D C ( ) nh C ( ) A 5 A B 3 B C 0-2 D 2 D E - D 3 D E 1 E 5 F - F 5 F von A zu D A ( ) nh A ( ) A 0 - B 2 B C 5 C D 1 D E - F - 5 2 3 1 von F zu D F ( ) nh F ( ) A - B - C 5 C D - E 2 E F 0-1 von D zu D D ( ) nh D ( ) A 1 A B 2 B C 3 C D 0 - E 1 E [RN] Sommer 2012 Netzwerkschicht 76 F - 1 von E zu D E ( ) nh E ( ) A - B - C 1 C D 1 D E 0 - F 2 F 2

nach 1. Austausch von B zu D B ( ) nh B ( ) A 2 A B 0 - C 3 C 3 von C zu D C ( ) nh C ( ) A 4 D B 3 B C 0-2 D 2 D E 3 D D 2 E E 1 E 5 F 8 C F 3 E von A zu D A ( ) nh A ( ) A 0 - B 2 B C 4 D D 1 D E 2 D F 10 C 5 2 3 1 von F zu D F ( ) nh F ( ) A 10 C B 8 C C 3 E D 3 E E 2 E F 0-1 von D zu D D ( ) nh D ( ) A 1 A B 2 B C 2 E D 0 - E 1 E [RN] Sommer 2012 Netzwerkschicht 77 F 3 E 1 von E zu D E ( ) nh E ( ) A 2 D B 3 D C 1 C D 1 D E 0 - F 2 F 2

nach 2. Austausch von B zu D B ( ) nh B ( ) A 2 A B 0 - C 3 C 3 von C zu D C ( ) nh C ( ) A 3 E B 3 B C 0-2 D 2 D E 3 D D 2 E E 1 E 5 F 5 D F 3 E von A zu D A ( ) nh A ( ) A 0 - B 2 B C 3 D D 1 D E 2 D F 4 D 5 2 3 1 von F zu D F ( ) nh F ( ) A 4 E B 5 E C 3 E D 3 E E 2 E F 0-1 von D zu D D ( ) nh D ( ) A 1 A B 2 B C 2 E D 0 - E 1 E [RN] Sommer 2012 Netzwerkschicht 78 F 3 E 1 von E zu D E ( ) nh E ( ) A 2 D B 3 D C 1 C D 1 D E 0 - F 2 F 2

nach 3. Austausch Konvergenz von B zu D B ( ) nh B ( ) A 2 A B 0 - C 3 C 3 von C zu D C ( ) nh C ( ) A 3 E B 3 B C 0-2 D 2 D E 3 D D 2 E E 1 E 5 F 5 D F 3 E von A zu D A ( ) nh A ( ) A 0 - B 2 B C 3 D D 1 D E 2 D F 4 D 5 2 3 1 von F zu D F ( ) nh F ( ) A 4 E B 5 E C 3 E D 3 E E 2 E F 0-1 von D zu D D ( ) nh D ( ) A 1 A B 2 B C 2 E D 0 - E 1 E [RN] Sommer 2012 Netzwerkschicht 79 F 3 E 1 von E zu D E ( ) nh E ( ) A 2 D B 3 D C 1 C D 1 D E 0 - F 2 F 2

Routing: Distanzvektor-Routing Verhalten bei Änderungen der Netztopologie der Algorithmus funktioniert auch bei Topologieänderungen und wenn die Informationen in asynchroner Weise ausgetauscht werden (also nicht jeweils gleichzeitig) bei Verkleinerung der Verbindungskosten konvergiert das Verfahren schnell: good news travel fast, siehe nächstes Beispiel bei Vergrößerung der Verbindungskosten können jedoch durch Zyklen in den Pfaden Probleme entstehen: bad news travel slowly, siehe übernächstes Beispiel [RN] Sommer 2012 Netzwerkschicht 80

Verkleinerung, D C (D) und D D (C) werden besser 2 von B zu D B ( ) nh B ( ) A 2 A B 0 - C 3 C D 2 D E 3 D 3 von C zu D C ( ) nh C ( ) A 3 E B 3 B C 0 - D 1 D E 1 E 5 F 5 D F 3 E von A zu D A ( ) nh A ( ) A 0-5 von F zu D F ( ) nh F ( ) A 4 E B 2 B B 5 E C 3 D D 1 D E 2 D 2 3 1 1 C 3 E D 3 E E 2 E F 4 D F 0-1 von D zu D D ( ) nh D ( ) A 1 A B 2 B C 1 C D 0 - E 1 E [RN] Sommer 2012 Netzwerkschicht 81 F 3 E 1 von E zu D E ( ) nh E ( ) A 2 D B 3 D C 1 C D 1 D E 0 - F 2 F 2

Verkleinerung, nach 1. Austausch von B zu D B ( ) nh B ( ) A 2 A B 0 - C 3 C 3 von C zu D C ( ) nh C ( ) A 2 D B 3 B C 0-2 D 2 D E 3 D D 1 D E 1 E 5 F 5 D F 3 E von A zu D A ( ) nh A ( ) A 0-5 von F zu D F ( ) nh F ( ) A 4 E B 2 B B 5 E C 2 D D 1 D E 2 D 2 3 1 1 C 3 E D 3 E E 2 E F 4 D F 0-1 von D zu D D ( ) nh D ( ) A 1 A B 2 B C 1 C D 0 - E 1 E [RN] Sommer 2012 Netzwerkschicht 82 F 3 E 1 von E zu D E ( ) nh E ( ) A 2 D B 3 D C 1 C D 1 D E 0 - F 2 F 2

Verkleinerung, nach 2. Austausch Konvergenz 2 von B zu D B ( ) nh B ( ) A 2 A B 0 - C 3 C D 2 D E 3 D 3 von C zu D C ( ) nh C ( ) A 2 D B 3 B C 0 - D 1 D E 1 E 5 F 5 D F 3 E von A zu D A ( ) nh A ( ) A 0-5 von F zu D F ( ) nh F ( ) A 4 E B 2 B B 5 E C 2 D D 1 D E 2 D 2 3 1 1 C 3 E D 3 E E 2 E F 4 D F 0-1 von D zu D D ( ) nh D ( ) A 1 A B 2 B C 1 C D 0 - E 1 E [RN] Sommer 2012 Netzwerkschicht 83 F 3 E 1 von E zu D E ( ) nh E ( ) A 2 D B 3 D C 1 C D 1 D E 0 - F 2 F 2

Routing: Distanzvektor-Routing Beispiel für Vergrößerung Ausgangspunkt: von B zu D B ( ) nh B ( ) A 4 A B 0 - C 1 C von A zu D A ( ) nh A ( ) A 0 - B 4 B C 5 B A 4 B 50 1 C von C zu D C ( ) nh C ( ) A 5 B B 1 B C 0 - [RN] Sommer 2012 Netzwerkschicht 84

Routing: Distanzvektor-Routing Beispiel für Vergrößerung nach Vergrößerung der Kosten von B zu D B ( ) nh B ( ) A 6 C B 0 - C 1 C von A zu D A ( ) nh A ( ) A 0 - B 51 C C 50 C 60 A 4 B 50 1 C von C zu D C ( ) nh C ( ) A 5 B B 1 B C 0 - [RN] Sommer 2012 Netzwerkschicht 85

Routing: Distanzvektor-Routing Beispiel für Vergrößerung nach 1. Austausch von B zu D B ( ) nh B ( ) A 6 C B 0 - C 1 C von A zu D A ( ) nh A ( ) A 0 - B 51 C C 50 C 60 A 4 B 50 1 C von C zu D C ( ) nh C ( ) A 7 B B 1 B C 0 - [RN] Sommer 2012 Netzwerkschicht 86

Routing: Distanzvektor-Routing Beispiel für Vergrößerung nach 2. Austausch von B zu D B ( ) nh B ( ) A 8 C B 0 - C 1 C von A zu D A ( ) nh A ( ) A 0 - B 51 C C 50 C 60 A 4 B 50 1 C von C zu D C ( ) nh C ( ) A 7 B B 1 B C 0 - [RN] Sommer 2012 Netzwerkschicht 87

Routing: Distanzvektor-Routing Beispiel für Vergrößerung nach 3. Austausch von B zu D B ( ) nh B ( ) A 8 C B 0 - C 1 C von A zu D A ( ) nh A ( ) A 0 - B 51 C C 50 C 60 A 4 B 50 1 C von C zu D C ( ) nh C ( ) A 9 B B 1 B C 0 - usw. bis 50 erreicht ist... [RN] Sommer 2012 Netzwerkschicht 88

Routing: Distanzvektor-Routing Count-to-infinity-Problem veraltete Information in den verteilten Routing-Tabellen enthält zyklischen Pfad die langsame Iteration endet erst, wenn die Kosten des alternativen Pfads erreicht sind Abhilfe größten Kostenwert beschränken (z.b. 16) Poisoned Reverse: wenn der kürzeste Weg von u nach v über den nächsten Hop w führt, sendet u an w die Kosten von unendlich für die Entfernung von u nach v mit Poisoned Reverse können Zyklen der Länge 2 vermieden werden, nicht jedoch längere Zyklen [RN] Sommer 2012 Netzwerkschicht 89

Routing: Distanzvektor-Routing RIP (Routing Information Protocol) frühes und verbreitetes Routing-Protokoll, Teil von BSD Unix Distanzvektor-Routing Router teilen in Advertisements über UDP den Nachbarn mit, welche Netzwerke sie mit welchen Kosten erreichen können Advertisements werden periodisch (alle 30 s) und bei Änderungen gesendet Kostenmetrik: Anzahl von Hops, maximal 15 (16 für Poisoned Reverse) 1 4 2 3 A C D B 5 6 Beispiel: Router C teilt A mit, dass er Netzwerk 2 und 3 mit Kosten 0, Netzwerk 5 und 6 mit Kosten 1, Netzwerk 4 mit Kosten 2 erreichen kann [RN] Sommer 2012 Netzwerkschicht 90

Routing: Distanzvektor-Routing Realisierung von RIP Route-Dämon als Anwendungsprozess Verwendung von UDP Verwendung von Datenstrukturen in der Netzwerkschicht routed routed transport (UDP) transport (UDP) network (IP) forwarding table forwarding table network (IP) link link physical physical [RN] Sommer 2012 Netzwerkschicht 91

Routing: Vergleich Link-State-Routing zentrales Verfahren bei n Knoten Komplexität des Dijkstra-Verfahrens: O(n 2 ) effiziente Implementierungen schaffen O(n log n) beschränkt Skalierbarkeit Nachrichtenaustausch: O(ne) bei e Kanten Robustheit: Router können nur fehlerhafte Verbindungsinformation weitergeben Distanzvektor-Routing verteilter Algorithmus Konvergenzprobleme bei Zyklen beschränkt Skalierbarkeit Robustheit: Router können fehlerhafte Pfade weitergeben, Fehlerfortpflanzung möglich Fehlfunktion eines Routers wirkt sich auf andere aus allgemein gilt dynamische Metriken (die von der aktuellen Netzlast abhängen), führen zu instabilem Verhalten und haben sich nicht bewährt [RN] Sommer 2012 Netzwerkschicht 92

Einführung IP Netzwerkschicht Datagrammformat und Adressierung Fragmentierung ICMP NAT IPv6 Aufbau eines Routers Routing Graphen Link-State-Routing Distanzvektor-Routing Interdomain-Routing [RN] Sommer 2012 Netzwerkschicht 93

Routinghierarchie Routing: Interdomain-Routing innerhalb einer Routingdomäne Intradomain Routing, Interior Gateway Protokolle (IGP) zwischen Routingdomänen Interdomain Routing, Exterior Gateway Protokoll (EGP), das EGP ist BGP: Border Gateway Protocol, RFC 1771 Routingdomänen: autonome Systeme (AS) Stub AS: hat nur eine Verbindung zu anderen AS Multihomed AS: hat mehrere Verbindungen zu anderen AS, befördert aber keinen Durchgangsverkehr Transit AS: hat mehrere Verbindungen zu anderen AS und befördert Durchgangsverkehr Transit AS gekennzeichnet durch zentral vergebene AS-Nummer (16 Bits) ein Router eines AS ist Gateway und führt EGP aus [RN] Sommer 2012 Netzwerkschicht 94

Routing: Interdomain-Routing Beispiel für 2 autonome Systeme R1 und R5 sind Gateways Subnetwork 1.2 Subnetwork 2.1 R3 R2 R5 R6 Subnetwork 1.3 Subnetwork 1.1 Subnetwork 2.2 R7 R4 R1 R8 Subnetwork 2.4 Subnetwork 1.4 Subnetwork 2.3 Autonomous System 1 Autonomous System 2 Interior router protocol Exterior router protocol [RN] Sommer 2012 Netzwerkschicht 95

Routing: Interdomain-Routing Pfadbasiertes Routing Austausch von ganzen Pfaden keine Berücksichtigung von Kosten (wegen Größe der beteiligten Netze und uneinheitlicher Metriken nicht möglich) Router gibt nur die Pfade bekannt, die andere Router nutzen sollen Router sucht sich aus den bekannten Pfaden einen Pfad nach individuellen Regeln aus (z.b. Länge des Pfads, AS im Pfad) Zyklen können erkannt werden (ein Router zweimal im Pfad) Pfade können auch annulliert werden [RN] Sommer 2012 Netzwerkschicht 96

Funktion von BGP Routing: Interdomain-Routing Gateways tauschen Advertisements in BGP-Sessions über TCP aus Advertisements enthalten Pfade, die Gateways zu Netzwerken kennen ein Pfad besteht aus Liste von Netzwerken (Adresse+Präfix, CIDR) in einem erreichbaren AS Sequenz von AS-Nummern zu diesem AS IP-Adresse des sendenden Gateways beim Weiterleiten eines Pfades fügt ein Router sein AS am Anfang des Pfads an und setzt sich als den nächsten Hop ein dadurch erlaubt er, dass Verkehr an die Liste von Netzwerken über ihn geleitet wird ein Pfad, in dem er selbst in der Sequenz auftaucht, wird verworfen [RN] Sommer 2012 Netzwerkschicht 97

Routing: Interdomain-Routing Beispiel für den Ablauf von BGP R1 erzeugt Routingtabelle für AS1 mit IGP R1 schickt Advertisement an R5 (in AS2) Netzwerkliste: alle Subnetze in AS1 Sequenz von AS-Nummern: {AS1} Nächster Hop: IP-Adresse von R1 Annahme: R5 ist Nachbar von R9 in AS3 R5 leitet die Information von R1 an R9 in Advertisement weiter Netzwerkliste: alle Subnetze in AS1 Sequenz von AS-Nummern: {AS2,AS1} Nächster Hop: IP-Adresse von R5 Subnetwork 1.3 Subnetwork 1.4 Interior router protocol Exterior router protocol R9 entscheidet, dass dies sein bevorzugter Pfad zu den Subnetzen in AS1 ist und leitet an seinen Nachbarn den Pfad {AS3, AS2,AS1} weiter R3 R4 Subnetwork 1.2 R2 R1 Autonomous System 1 Subnetwork 1.1 R5 Subnetwork2.1 R6 Subnetwork 2.2 R7 R8 Subnetwork 2.4 Subnetwork 2.3 Autonomous System 2 [RN] Sommer 2012 Netzwerkschicht 98

Routing: Interdomain-Routing Beispielkonfiguration A, B, C: Providernetz, Transit AS X: Kundennetz, Multihomed AS W, Y: Kundennetze, Stub AS X möchte keinen Durchgangsverkehr, sendet also keine Advertisements (und kann dies auch gar nicht, da es keine AS-Nummer besitzt) A versendet den Pfad AW an B B versendet den Pfad BAW an X B versendet den Pfad BAW nicht an C, weil es nicht möchte, dass C Verkehr durch B leitet W A C Y B X [RN] Sommer 2012 Netzwerkschicht 99