• Keine Ergebnisse gefunden

Grundlagen der Rechnernetze

N/A
N/A
Protected

Academic year: 2022

Aktie "Grundlagen der Rechnernetze"

Copied!
69
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Grundlagen der Rechnernetze

Internetworking

(2)

Übersicht

• Grundlegende Konzepte

• Routingverfahren

• Internet-Routing

• Limitierter Adressbereich

• IP Version 6

(3)

Grundlegende Konzepte

Grundlagen der Rechnernetze - Internetworking 3

(4)

H6 R3

R1 H1

Erinnerung: Internet und IP

N1

N3 N2

R1

H1 H2

H3

R3

R2 H4

H5 H6

H9

H8

H7 TCP

IP ETH

IP

ETH FDDI

IP

FDDI ETH

TCP IP ETH

(5)

IP-Service-Model

Grundlagen der Rechnernetze - Internetworking 5

Das IP-Service-Model muss so definiert sein, dass es auch von allen potentiell darunter liegenden Protokollen umgesetzt werden kann.

Beispielsweise wäre „jedes Paket wird mit höchstens 1ms

Verzögerung garantiert ausgeliefert“ ein nicht einhaltbares Service- Versprechen.

Das Service-Model von IP ist einfach:

• Eindeutiges Adressierungsschema

• „Best Effort“ Datagram Delivery Service

• Datagramme können verloren gehen

• z.B. fehlerhafte Datagramme auf einem Router

• oder überlasteter Router

• Folge von Datagrammen muss nicht in derselben Reihenfolge empfangen werden

• Datagramme können mehrfach ausgeliefert werden

(6)

Grundlegende Konzepte

Datagram-Delivery-Service

(7)

IP-Datagram

Grundlagen der Rechnernetze - Internetworking 7

Version HLen TOS Length

Ident Flags Offset

TTL Protocol Header Checksum

SourceAdr DestinationAdr

Options (variable) Pad (variable) Data

0 4 8 16 19 31

(8)

Fragmentierung und Reassembly

H1 R1 R2 R3 H2

ETH IP (1400) FDDI IP (1400) PPP IP (512) PPP IP (512) PPP IP (376)

ETH IP (512) ETH IP (512) ETH IP (376)

Beispiel:

• H1 sendet Daten der Größe 1400 Bytes an H2

• MTU von ETH = 1500 Bytes

• MTU von FDDI = 4500 Bytes

• MTU von PPP = 532 Bytes

(Die Path-MTU in diesem Beispiel = 532 Bytes)

(Dargestellt ist die Payload, also Payload + 20-Byte-Header = MTU)

Reassembly findet nur auf dem Empfänger-Host H2 statt

(9)

Fragmentierung und Reassembly

Grundlagen der Rechnernetze - Internetworking 9

Start des Headers

UnfragmentiertesIP-Paket Fragmentiertes IP-Paket

Bemerkung: durch Speichern eines Offsets anstatt einer ID ist weitere Fragmentierung eines schon fragmentierten Paketes

unmittelbar möglich.

Ident = x 0 Offset = 0 Rest des Headers

1400 Bytes Daten

Start des Headers

Ident = x 1 Offset = 0 Rest des Headers

512 Bytes Daten Start des Headers

Ident = x 1 Offset = 64 Rest des Headers

512 Bytes Daten Start des Headers

Ident = x 0 Offset = 128 Rest des Headers

376 Bytes Daten

Original IP-Paket und dessen Fragmente lassen sich durch eine eindeutige Ident- Nummer zueinander zuordnen.

Offset*8 = Byte-Position in den Originaldaten

(10)

Ein wenig Praxis

Welche MTU hat mein Netzwerkinterface?

[Linux: ifconfig, Windows PowerShell: Get-NetIPInterface]

Was ist die Path-MTU zur Adresse uni-koblenz.de?

[Linux/Windows: ping bzw. Linux: tracepath]

(11)

Grundlegende Konzepte

Adressierung

Grundlagen der Rechnernetze - Internetworking 11

(12)

IP-Adresse:

Netzklassen:

Subnetting

Erinnerung: Adressierung und Forwarding

Class A 0 Netz7 Host24

1 0 Netz14 Host16 Class B

1 1 0 Netz21 Host8 Class C

10101011 01000101 11010010 11110101

171.69.210.245

1 0 Netz14 Host16 Zum Beispiel

Class B Adresse

11111111 11111111 11111111 (255.255.255.0)

Subnetz Maske 00000000

Netznummer

Ergebnis Subnetz Host

(13)

Erinnerung: Adressierung und Forwarding

Grundlagen der Rechnernetze - Internetworking 13

Supernetting (CIDR)

Internet-Anbieter Advertise

128.112.128/21

128.112.128/24

128.112.135/24

Kunden-Netze

(14)

Host Configuration (DHCP)

• IP-Adressen haben einen Netz- und Host-Anteil

• Im Gegensatz zu Ethernet-Adressen kann die IP-Adresse damit nicht fest mit der Netzhardware „verdrahtet“ sein. Warum?

• Es muss zumindest eine Möglichkeit bestehen, die IP-Adressen manuell zu konfigurieren. Umständlich!

• Besser: dynamische Zuweisung von IP-Adressen.

• Bei der Gelegenheit kann man dem DHCP-Client auch gleich den Default-Router mitteilen.

N S DHCP-Server

DHCPRelay

H IP-Broadcast DHCPDISCOVER

IP-Unicast

DHCPDISCOVER

(15)

Grundlegende Konzepte

Weiteres (ICMP und Tunelling)

Grundlagen der Rechnernetze - Internetworking 15

(16)

Beispiel:

ICMP-Redirect

Error-Reporting (ICMP)

ICMP (Internet Control Message Protocol) definiert eine Sammlung von Fehler- und Kontrollnachrichten unter IPv4.

(siehe ICMPv6 für IPv6)

Beispiel für Fehlernachrichten, die an den sendenden Host verschickt werden:

• Unerreichbarer Ziel-Host

• Reassembly-Prozess fehlerhaft

• TTL=0 erreicht

• IP-Header-Checksumme falsch Beispiel für Control-Nachricht:

ICMP-Redirect

Des Weiteren Debugging-Tools:

ping, traceroute

H1

H2

R2 R1

Nachricht an H2 Default-Router: R1

(17)

IP-Header (20 Bytes)

ICMP Header (8 Bytes)

ICMP Payload (optional)

ICMP Paketformat (IPv4)

Grundlagen der Rechnernetze - Internetworking 17

Version HLen TOS Length

Ident Flags Offset

TTL Protocol Header Checksum

SourceAdr DestinationAdr

0 4 8 16 19 31

Type of Message Code Checksum

Header Daten

Payload Daten

Header ChecksumChecksum

Beispiel: Ping

Echo Request: Type=8, Code = 0

Echo Reply: Type=0, Code = 0

Header Daten in beiden Fällen: Identifier (Bit 0 bis 15), Sequence Number (Bit 16 bis 31) [z.B. Linux: eindeutiger Identifier für jeden ping-Prozess und wachsende Sequenznummer innerhalb des ping-Prozesses]

Optionale Payload (vergleiche voriges ping-Beispiel)

(18)

IP-Tunneling und Anwendungen

• Security in Kombination mit Verschlüsselung (z.B. Virtual-Private-Networks (VPN))

• Router R1 und R2 haben besondere Features (z.B. Multicast-fähige Router)

• Verbinden von Nicht-IP-Netzen über ein IP-Netz (z.B. global verteilte Sensornetze)

• Auslieferung an bestimmter Stelle erzwingen, obwohl Zieladresse eine andere ist (z.B. Mobile-IP)

R2

Netz 1.x R1 Internet Netz 2.x

IP-Header,

Destination = 2.x IP-Payload

IP-Header,

Destination = 2.x IP-Payload

IP-Header,

Destination = 18.5.0.1 IP-Header,

Destination = 2.x IP-Payload

18.5.0.1 Netz-Nummer Next-Hop

1 Interface 0

2 Virtual Interface 0

Default Interface 1

(19)

Routingverfahren

19 Grundlagen der Rechnernetze - Internetworking

(20)

Forwarding und Routing

H3 H2

H1

H5

H4 H6 H7

R1

R3 R2

H7

1 2

Forwarding-Tabelle

Adresse Interface MAC-Adr.

Host H1 3 Adr(H1) Host H2 3 Adr(H2) Host H3 3 Adr(H3) Netz N2 1 Adr(R2) Netz N3 2 Adr(R3) 3

Woher bekommt man die Forwarding-Tabelle?

Netz N1

Netz N2 Netz N3

(21)

Routing

Grundlagen der Rechnernetze - Internetworking 21

Wir betrachten zunächst Routing als Graph-Problem.

Gegeben sei ein ungerichteter Graph mit gewichteten Kanten

Finde die kürzesten Pfade zwischen den einzelnen Knoten.

B D

C

F

A E

12

1 3

3

1

1

4

4 7

Was wäre wohl „per draufgucken“ der kürzeste Pfad P von A nach F?

Was ist das Gesamtgewicht w(P) dieses Pfades?

(22)

Routing Algorithmen

Link-State-Routing Distanzvektor-Routing

(Bellman-Ford)

Lokale Nachbarinformation global an alle (jeder berechnet Routen alleine) Globale Information an lokale Nachbarn

(Routenberechnung ist verteilt)

R

R1 R2

Ziel Distanz

H1 5

H2 3

H3 7

H4 2

R

Ziel Distanz

H1 7

H2 4

H3 4

H4 1

(23)

Weitere Routing-Begriffe

Grundlagen der Rechnernetze - Internetworking 23

Unterscheidung Routing und Forwarding:

• Prozess des Forwardings wird auch als Data Plane und

• Prozess des Routings wird auch als Control Plane des Netzes bezeichnet.

Der Prozess bis alle Knoten konsistente Routing-Information ermittelt haben, bezeichnet man auch als Routing-Konvergenz.

Die Kosten, die zur Berechnung von Routen zugrunde gelegt sind,

bezeichnet man auch als Routing-Metrik.

(24)

Routingverfahren

Distanzvektor-Routing

(25)

Grundlagen der Rechnernetze - Internetworking

Stetiger Austausch und Aktualisierung dieser Tabellen

(Routing-Update)

Neue Tabelle von A

Tabelle von B Tabelle von C

B C

A

Grundidee

Initiale Distanzvektortabellen

A

C B

D E Ziel Next Dist

A A 1

B -- 0

C C 1

D D 1

E ??

Ziel Next Dist

A A 1

B B 1

C -- 0

D D 1

E E 1

Ziel Next Dist

A -- 0

B B 1

C C 1

D B 2

E C 2

Initiale Tabelle von A Ziel Next Dist

A -- 0

B B 1

C C 1

D ??

E ??

Kantengewichte hier verein- facht alle auf 1 gesetzt.

25

(26)

Details zu Routing-Updates

Generelle Regel für Knoten u:

1. Aktualisiere iteTabellenzeile

(xi, yi, di), wenn für die von Knoten v

empfangene Tabellenzeile (x

i, zi, ci)

gilt: d

i > ci + 1

2. Die aktualisierte Tabellenzeile ist dann (x

i, v, ci + 1)

(Erweiterung auf gewichtete Kanten offensichtlich: ersetze „+1“ mit Kantengewicht für Kante uv)

u v

Ziel Next Dist

xi zi ci

Ziel Next Dist

xi vi di

xi v ci+1

(27)

Wann versendet ein Knoten ein Routing-Update?

Grundlagen der Rechnernetze - Internetworking 27

Periodic-Update: Tabellen werden regelmäßig an Nachbarn geschickt

Damit wissen die Nachbarknoten, dass es den Link und Knoten noch gibt

Werden über einen bestimmten Zeitraum keine Updates mehr empfangen, so wird der Link als ausgefallen interpretiert

Triggered-Update: Wann immer ein Knoten seine Routing-Tabelle geändert hat

Nach lokal festgestelltem Link-Ausfall

Nach Empfang eines Routing-Updates von einem Nachbarn

Das kann wiederum eine Änderung in den Nachbarknoten und damit

Routing-Updates von den Nachbarn bewirken (usw.)

(28)

Forwarding anhand der Routing-Tabellen

A

C B

D E

Ziel Next Dist

A -- 0

B B 1

C C 1

D B 2

E C 2

Ziel Next Dist

A A 1

B B 1

C -- 0

D D 1

E E 1

Randbemerkung

Routing-Tabelle: speichert alles was man für das Routing benötigt.

Forwarding-Tabelle: speichert alles was man für das Forwarding

benötigt

Kann ein und dieselbe Tabelle sein;

muss es aber nicht.

(29)

Beispiel eines Link-Ausfalls

Grundlagen der Rechnernetze - Internetworking 29

B

D C

F A

E

G

Dst Next Hops

G F 2

Dst Next Hops

G G 1

Tabelleneinträge

bzgl. Knoten G: Dst Next Hops

G D 2

Stabilisiert sich das Netz immer in dieser Form?

(30)

Count-to-Infinity-Problem

A B

C

A

B

C

D

Lösungsansatz 1: ignorieren. Am Ende wird sowieso bis ∞ hoch gezählt.

Lösungsansatz 2: Split-Horizon.

Routing-Updates nur zu Nachbarn, die nicht selber der nächste Hop sind.

Lösungsansatz 3: Split-Horizon with Poison Reverse. Routing-Updates zu allen Nachbarn. Allerdings Routing- Update ∞ zu denen, die selber der nächste Hop sind.

Funktioniert das immer?

(31)

Routingverfahren

Link-State-Routing

Grundlagen der Rechnernetze - Internetworking 31

(32)

Link-State-Routing

Zweiter Schritt

Jeder Knoten hat globale Sicht und kann alle kürzesten Pfade berechnen

R R Erster Schritt

Jeder Knoten teilt allen anderen seine adjazenten Kanten mit (Flooding)

R U

V

X W Y

(R,U) (R,V) (R,W) (R,X) (R,Y)

(33)

Reliable-Flooding

Grundlagen der Rechnernetze - Internetworking 33

Jeder Knoten versendet Link-State-Pakete (LSP) mit folgender Info:

ID des Knotens, der das LSP erzeugt hat

Liste der direkten Nachbarn (inklusive Link-Kosten)

eine Sequenznummer

Ein TTL-Wert für das Paket Jedes LSP wird geflutet, d.h.:

LSP-Erzeuger inkrementiert eine lokale Sequenznummer und versendet das LSP mit dieser Nummer

Jeder Knoten, der ein „neueres“ (d.h. höhere Sequenznummer) LSP empfängt, leitet dieses an alle Nachbarn (außer dem, von dem das LSP empfangen wurde) weiter

LSP mit älteren oder gleicher Nummer werden ignoriert

Des Weiteren werden LSPs ab bestimmtem TTL-Wert ebenfalls verworfen

(34)

Routenberechnung mittels Dijkstra-Algorithmus

Es sei s der Startknoten, N die Menge aller Knoten und l(v,w) die Kosten der Verbindung von v nach w. Wir definieren:

c(v) = aktuelle Kosten von v

m(v) = Markierung der schon behandelten Knoten

pre(v) = Vorgänger von v entlang der kürzesten Route nach s Dijkstra-Algorithmus:

Für alle v in N-{s} setze c(v)=und m(v)=false c(s)=0 und m(s)=false

Solange noch unmarkierte Knoten existieren:

Finde unmarkierten Knoten v mit kleinstem Wert c(v) m(v) = true

Für jeden unmarkierten Nachbarknoten w:

Wenn c(w) > c(v) + l(v,w) dann pre(w) = v

c(w) = c(v) + l(v,w)

(35)

Beispiel

Grundlagen der Rechnernetze - Internetworking 35

(36)

Internet-Routing

(37)

Zunächst: Routing auf Netzebene

Grundlagen der Rechnernetze - Internetworking 37

Bildquelle: Larry L. Peterson and Bruce S. Davie, „Computer Networks: A Systems Approach“, Online Edition, 2019, V6.2. (Abbildung 86)

• Routing-Algorithmen auf Graphen berechnen kürzeste Wege zwischen Knoten

• Routing-Algorithmen im Internet:

• Das gleiche Prinzip aber

• kürzeste Wege zwischen den an Routern angebundenen Netzen

d.h. anstatt Kosten für das Erreichen anderer Router geben Router Kosten für das Erreichen von Netzen an.

Beispiel: Router C teilt Router A mit, dass er die Netze 2 und 3 (mit denen er direkt

verbunden ist) mit Kosten 0, die Netze 5 und 6 mit Kosten 1 und das Netz 4 mit Kosten 2 erreichen kann.

(38)

Unmittelbare Anwendung dieser Verfahren im Internet?

Skalierbarkeit

Kommunikationsoverhead Speicheroverhead

Langsame oder keine Konvergenz

Administrative Autonomie Freie Wahl von Routing-Protokollen

Verbergen von Netzinterna

(39)

Eine weitere Hierarchie: Autonomous Systems (AS)

3c 3a

3b

1c 1a

1d

1b

2a

2c

2b

AS1

AS2 AS3

H1

H2 Border-Router

H2 in AS2

Intra-AS-Routing

Beispiel: Routing Information Protocol (RIP) Beispiel: Open Shortest Path First (OSPF)

[bzw. allgemein Interior Gateway Protocol (IGP)]

Inter-AS-Routing

Border Gateway Protocol (BGP)

Grundlagen der Rechnernetze - Internetworking 39

Autonomous Systems sind mit 4 Byte Nummer identifiziert.

Zentral zugewiesen, um die Eindeutigkeit sicherzustellen (vgl. RFC 1930)

(40)

OSPF erlaubt zusätzliche Hierarchie in einem AS:

Intra-AS-Routing RIP und OSPF

Routing Information Protocol (RIP) = Distanzvektor-Routing (ungewichtet) Open Shortest Path First (OSPF) = Link-State-Routing (gewichtet)

Area 1 Area 2

Area 3

Area-Border- Router

Backbone-Router

Separates OSPF in Backbone und jeder Area

H1 H2 in Area 3

H2

Internal-Router

(41)

Ein wenig Praxis

Grundlagen der Rechnernetze - Internetworking 41

In welchem AS ist eigentlich uni-koblenz.de ? [Erinnerung: whois, ping]

Wer verwaltet eigentlich dieses AS? [Tipp: whois funktioniert auch auf AS-Nummern]

(42)

Interdomain-Routing versus Intradomain-Routing:

Ziel des Intradomain-Routing: skalare Kosten eines Pfades (Routing-Metrik) Ziel des Interdomain-Routings: kreisfreier Pfad der alle Policies befolgt

Inter-AS Routing: BGP

3c 3a

3b 1c

1a 1d

1b

2a

2c

2b

AS1

AS3 AS2

Ziel Pfad Next

x in AS1 AS1 3a-1c

y in AS2 AS1-AS2 3a-1c

z in AS3 -- --

Border Gateway Protocol (BGP) [weder Distanzvektor noch Link-State-Routing]

Etwas vergleichbar mit Distanzvektor-Routing (ungewichtet)

Aber: Distanzvektortabelle speichert komplette Pfade anstatt Distanzwert [Pfadvektor-Routing]

Aber: Distanzvektortabelle muss zusätzlich den ersten Hop speichern Aber: Distanzvektortabellen werden nicht „unreflektiert“ ausgetauscht Aber: Zwei AS können durch mehrere Kanten verbunden sein

Routing-Loops können damit vermieden werden und komplexe Policies sind damit möglich

(43)

BGP Policies

Kunden-AS Provider-AS W

B

X

Y

Beispielregeln:

1. Kunden-AS darf nur Kommunikationsendpunkt sein 2. B möchte keinen Verkehr zwischen A und C tragen 3. A will niemals Verkehr über B leiten

Ziel Pfad

z in Y X-C-Y

Ziel Pfad

z in W B-A-W

Ziel Pfad

z in X A-B-X or A-C-X

A

C

Grundlagen der Rechnernetze - Internetworking 43

(44)

Policies sind nicht notwendigerweise öffentlich einsehbar.

Bei manchen AS kann man aber Hinweise zu eingehenden und ausgehenden Verbindungen finden.

Vergleiche z.B. den Eintrag des AS zu uni-koblenz.de

Ein wenig Praxis

(45)

Einordnung von BGP in der Netzwerkarchitektur

Grundlagen der Rechnernetze - Internetworking 45

A B

C

E

D

andere AS andere AS

andere AS

Jedes AS verfügt über einen oder mehrere Border-Router (auch Border-Gateways genannt)

• über die Pakete in das AS eintreten und dieses verlassen

• Dies sind IP-Router, die Paketen zwischen autonomen Systemen weiterleiten

Jedes AS, welches an BGP teilnimmt, muss außerdem mindestens einen BGP-Speaker haben

• Router, der BGP mit anderen BGP-Sprechern in anderen autonomen Systemen „spricht“

• Üblicherweise haben Border-Router diese Aufgabe, aber das muss nicht der Fall sein Im Gegensatz zu den vorherigen beschriebenen Routing-Protokollen wird BGP auf TCP, dem zuverlässigen Transportprotokoll, ausgeführt (also ein Overlay-Netz auf der Transportebene)

(46)

Verkehrstypen und AS-Typen

lokaler Verkehr: Verkehr, der von Knoten innerhalb eines AS ausgeht oder auf diesen endet Transitverkehr: Verkehr, der durch einen AS fließt

Stub AS: nur eine einzige Verbindung zu einem anderen AS

Multihomed AS: Verbindungen zu mehr als einem anderen AS, jedoch kein Transitverkehr Transit AS: der Verbindungen zu mehr als einem anderen AS hat; sowohl für den Transit- als auch für den lokalen Verkehr ausgelegt

Bildquelle: Larry L. Peterson and Bruce S. Davie, „Computer Networks: A Systems Approach“, Online Edition, 2019, V6.2. (Abbildung 100)

(47)

Interdomain und Intradomain-Routing

Grundlagen der Rechnernetze - Internetworking 47

Es genügt nicht, dass nur der BGP-Sprecher Interdomain-Routing-Informationen lernt.

Die Frage bleibt, wie alle anderen Router in einem AS diese Informationen erhalten.

Es gibt verschiedene Möglichkeiten, dieses Problem anzugehen.

Situation 1: Stub-As

• Verbindung zu anderen autonomen Systemen nur über einen Border-Router

• Trage Border-Router als Default-Route in das Intradomain-Routing-Protokoll ein d.h. Nachrichten an jedes Netz außerhalb des Intradomain-Routings werden durch das Interdomain-Routing-Protokoll automatisch dort hin weiter geleitet

A B

C E

D andere AS

(48)

Interdomain und Intradomain-Routing

Situation 2: spezifische Routen auf Basis des Intradomain-Routing-Protokolls

• Border-Router sind zuständig für bestimmte Routen (z.B. 192.4.54/24)

• Trage Route über das Intradomain-Routing-Protokoll ein

d.h. Nachrichten an dieses Netz außerhalb des Intradomain-Routings werden durch das Interdomain-Routing-Protokoll automatisch an den entsprechenden Border- Router weiter geleitet

Damit sind doch eigentlich alle Situation behandelt?!

A B

C

E

D

andere AS andere AS

andere AS

z.B. 192.4.54/24

(49)

Interdomain und Intradomain-Routing

Grundlagen der Rechnernetze - Internetworking 49

In Backbone-Netz möchte ein Border-Router z.B. 10.000 Netzpräfixe einfügen, die er von einem anderen AS gelernt hat. Es wäre sehr kostspielig diese in das zugrunde gelegte Intradomain-Routing einzufügen. Besser man hat hier ein eigenständiges Protokoll.

Situation 3: Spezifische Routen auf Basis von Interior BGP (iBGP) [in Backbone-Netzen]

• Backbone-Router tauschen sich über iBGP aus, um die erlernten Informationen der BGP-Sprecher an alle Backbone-Router zu verteilen

• Mit iBGP ermittelt jeder Backbone-Router den besten Border-Router für jedes mögliche Zielnetz

A B

C

E

D

andere AS andere AS

andere AS

(50)

Forwarding-Tabellen von solchen Backbone-Routern

A B

C

E

D

andere AS andere AS

andere AS Prefix BGP Next Hop

18.0/16 E 12.5.5/24 A 128.34/16 D 128.69/16 A

Router IGP Pfad

A A

C C

D C

E C

Prefix IGP Pfad 18.0/16 C

12.5.5/24 A 128.34/16 C 128.69/16 A

& =

BGP-Table für das AS IGP-Table für Router B Kombinierte Table für Router B

(51)

IP Version 6

Grundlagen der Rechnernetze - Internetworking 51

(52)

IP Version 6

Eine wesentliche Motivation: Limitierter

Adressbereich

(53)

Problemstellung

Grundlagen der Rechnernetze - Internetworking 53

Mit den Standard-IP-Adressen lassen sich maximal

2

32

= 4.294.967.296 ~ 4,3 Mrd.

Hosts adressieren.

Das ist schon alleine ein Problem weltweit alle gewöhnlichen Hosts mit einer eindeutigen Adresse zu versehen .

Zudem können die hierarchisch organisierten IP-Adressen nicht beliebig zugeordnet werden.

Darüber hinaus sind nicht nur gewöhnliche PCs am Internet angeschlossen, sondern beispielsweise auch:

Mobiltelefone

Fernseher

und viele andere Geräte des täglichen Lebens

(54)

NAT als Lösung für IPv4

Network Address Translation (NAT)

Lokalen Hosts werden temporär globale Adressen zugeordnet.

In ausgehenden IP-Paketen wird von der NAT-Box die lokale Adresse mit der zugehörenden globalen Adresse ersetzt.

In ankommenden IP-Paketen wird von der NAT-Box die globale Adresse mit der zugehörenden lokalen ersetzt.

Lokales Netz

NAT-Box

Verfügbare eindeutige globale Adressen:

171.69.210.246, ..., 171.69.210.252 Lokal eindeutige

Adresse:

10.0.1.5 H

IP-Paket:

Quelle: 10.0.1.5 IP-Paket:

Quelle: 171.69.210.246 Ins Internet

IP-Paket:

Ziel: 10.0.1.5 IP-Paket:

Ziel: 171.69.210.246

(55)

Ein wichtiges Thema von IPv6

Grundlagen der Rechnernetze - Internetworking 55

Bisher haben wir IP Version 4 (kurz IPv4) betrachtet.

Die neue IP Version 6 (kurz IPv6) soll IPv4 in einigen Punkten verbessern.

[Verwendung der Versionsnummer 5 für ein Versuchsprotokoll vor vielen Jahren.]

Ein wichtiger Punkt bei IPv6 (neben weiteren Punkten auf der Wunschliste):

stelle genügend Adressen zu Verfügung

IPv6 definiert 128-Bit-Adressen. Damit können etwa 3,4 * 10

38

Hosts adressiert werden oder anders gesagt

655 570 793 348 866 943 898

599 ≈ 6,6 * 1023

Adressen pro Quadratmeter der Erde vergeben werden.

Aber auch hier 100%ige Effizienz bei der Adresszuweisung nicht wahrscheinlich.

Pessimistische Abschätzung (vgl. Kurose/Ross): über 1500 Adressen pro

Quadratfuß Erdoberfläche (bzw. ≈

16.146 Adressen pro Quadratmeter )

(56)

Wechsel von IPv4 nach IPv6?

Aufgrund der Größe und dezentralen Organisation des Internets ist ein einfacher Wechsel von v4 nach v6 nicht durchführbar.

Möglichkeit: fließender Wechsel, der über Jahre hinweg paralleles betreiben von IPv4 und IPv6 ermöglicht

in der einige Hosts und Router nur IPv4 ausführen,

einige IPv4 und IPv6 ausführen

und einige nur IPv6 ausführen Mechanismen:

Dual Stack Operation

Tunneling

Seit Beginn der ersten Entwicklungen zu IPv6 (in 1991) eine lange Übergangszeit

(nähert sich ihrem 30. Jahrestag)

(57)

IPv6 Adressen

Grundlagen der Rechnernetze - Internetworking 57

IPv6-Adressen haben eine Länge von 128 Bits und sind ebenfalls Classless, jedoch führende Bits definieren folgende spezifische Anwendungsfälle:

Prefix Anwendung Bemerkung

00…0 (128 bits) Unspezifiziert

00…1 (128 bits) Loopback Erinnerung 127.0.0.1 bis 127.255.255.254 bei IPv4

1111 1111 Multicast-Adresse Gleiche Rolle wie Class D Multicast-Adresse bei IPv4

1111 1110 10 Link-lokaler Unicast Adressen müssen nur im lokalen Netz eindeutig sein Alle sonstigen Globaler Unicast Vergleichbar mit gewöhnlichen Class A, B

und C IPv4-Adressen mit CIDR, nur länger

(58)

IPv6 Adressen

Spezieller Adresstyp im Adressraum „Globaler Unicast“ bzgl. Übergang von IPv4 zu IPv6

Einem Knoten, der nur IPv4 versteht, kann eine IPv4-zugeordnete IPv6- Adresse zugewiesen werden, indem der 32-Bit-IPv4-Adresse 2 Bytes mit lauter Einsen vorangestellt werden und das Ergebnis dann auf 128 Bit mit lauter Nullen erweitert wird.

z.B. 128.96.33.81 in „0.0.0.0.0.0.0.0.0.0.255.255.128.96.33.81“

(richtige IPv6-Notation folgt gleich)

(59)

IPv6 Adressnotation

Grundlagen der Rechnernetze - Internetworking 59

Standarddarstellung: x:x:x:x:x:x:x:x, mit jedem x als Hexadezimaldarstellung eines 16-Bit-Anteils der Adresse. (führende Nullen kann man streichen; z.B.

00AF -> AF oder 0000 -> 0)

Beispiel: 47CD:1234:4422:ACO2:0022:1234:A456:0124 (oder 47CD:1234:4422:ACO2:22:1234:A456:124)

Adressen mit längerer Folge von Nullen kann kompakter notiert werden. Am Beispiel:

47CD:0000:0000:0000:0000:0000:A456:0124 kann wie folgt abgekürzt werden

47CD::A456:0124

Notation für die Typen von IPv6-Adressen, mit eingebetteter IPv4-Addresse am Beispiel 128.96.33.81

::FFFF:128.96.33.81

(60)

IPv6 Paketformat

Version TrafficClass FlowLabel

PayLoadLen NextHeader HopLimit

SourceAdress

DestinationAdress

Next Header / Data

0 4 12 16 24 31

(61)

Header-Erweiterungen

Grundlagen der Rechnernetze - Internetworking 61

Jede Option hat seine eigene Form des Extension Headers

(Typ ist durch Wert von NextHeader des Vorgänger-Headers bestimmt]

• Jeder Extension Header hat ein NextHeader-Feld für die folgende Header Extension

• Die letzte Header Extension speichert den Demultiplexing-Key des Protokolls, welches das IPv6 Paket nutzt

Beispiel Erweiterung: Fragmentation-Header

• Gleiche Funktionalität wie bei IPv4 (Fragmentation und Reassembly, falls Paketgröße die Path-MTU überschreitet)

• Jedoch nur vorhanden, falls Fragmentierung notwendig war.

Siehe folgendes Beispiel

NextHeader Offset

Ident

0 8 16 23 31

Reserved Res M

(62)

Header-Erweiterungen

6 TrafficClass FlowLabel

PayLoadLen 44 HopLimit

SourceAdress

DestinationAdress

Payload (hier TCP-Header plus anschließende Daten)

0 4 12 16 24 31

6 Offset

Ident

Reserved Res M

6 = IPv6-Header

44 = Fragmentation Header-Extension

6 = TCP-Header

(63)

Weitere IPv6 Funktionen

Grundlagen der Rechnernetze - Internetworking 63

Autokonfiguration

• Problem ohne Autokonfiguration: Verbindung mit dem Internet erfordert Fachwissen zur Systemadministration (Host muss mit einer bestimmten Mindestmenge an

Informationen konfiguriert werden, z. B. gültige IP-Adresse, Subnetzmaske für die Verbindung, an die er angeschlossen ist, und der Adresse eines Nameservers)

• Ziel von IPv6 ist daher die Unterstützung der Autokonfiguration, die manchmal als Plug-and-Play-Betrieb bezeichnet wird.

Aber: automatische Konfiguration ist doch auch für IPv4 möglich?

• hängt jedoch von der Existenz eines Servers ab, der so konfiguriert ist, dass Adressen und andere Konfigurationsinformationen an DHCP-Clients (Dynamic Host

Configuration Protocol) übergeben werden.

• Das längere Adressformat in IPv6 bietet eine nützliche, neue Form der

Autokonfiguration, die als zustandslose Autokonfiguration bezeichnet wird und für die kein Server erforderlich ist.

(64)

Weitere IPv6 Funktionen

Autokonfigurationsproblem lässt sich in zwei Teile unterteilen:

1. Ermitteln der Interface-ID, die für den Link (d.h. das Subnetz), an den der Host angeschlossen ist, eindeutig ist

2. Ermitteln des richtigen Adresspräfixes für dieses Subnetz Teil 1 ist einfach

jeder Host muss eine eindeutige Adresse auf der Linkebene haben (z.B. eindeutige 48-Bit- Ethernet-Adresse)

Hieraus lässt sich unmittelbar eine gültige verbindungslokale Adresse erzeugen:

Präfix 1111 1110 10 (d.h. Link-lokale Adresse)

gefolgt von genügend Nullen, um insgesamt 128 Bit zu ergeben

Und am Schluss die MAC-Adresse

Beispiel: 08 : 00 : 2B : E4 : B1 : 02 FE80::0800:2BE4:B102

Für Geräte wie z. B. Drucker oder Hosts in einem kleinen Netzwerk ohne Router, die keine Verbindung zu anderen Netzwerken herstellen, ist diese Adresse möglicherweise

ausreichend.

Teil 2

Geräte, die eine global gültige Adresse benötigen, benötigen einem Router auf derselben Verbindung, der regelmäßig das entsprechende Präfix für die Verbindung bekannt gibt.

Dies erfordert, dass der Router mit dem richtigen Adresspräfix konfiguriert ist und dass dieses Präfix so gewählt wird, dass am Ende genügend Platz vorhanden ist (z. B. 48 Bit), um eine geeignete Adresse auf Verbindungsebene anzuhängen.

(65)

Weitere IPv6 Funktionen

Grundlagen der Rechnernetze - Internetworking 65

Source-Directed Routing

Ein weiterer Extension-Header von IPv6 ist der Routing-Header

Ohne diesen Header unterscheidet sich Routing für IPv6 kaum von dem für IPv4 unter CIDR

Der Routing-Header enthält eine Liste von IPv6-Adressen, die Knoten oder topologische Bereiche darstellen, die das Paket auf dem Weg zu seinem Ziel besuchen soll.

Ein topologischer Bereich kann beispielsweise das Netz eines Backbone-Anbieters sein

Die Angabe, dass Pakete dieses Netz besuchen müssen, ist eine Möglichkeit, die Anbieterauswahl paketweise zu implementieren. Ein Host kann also festlegen, dass einige Pakete über einen billigen Anbieter gesendet werden sollen, andere über einen Anbieter mit hoher Zuverlässigkeit und wieder andere über einen Anbieter, dem der Host vertraut, besondere Sicherheit zu bieten.

(66)

Weitere IPv6 Funktionen

5

Um die Möglichkeit zu bieten, topologische Entitäten anstelle einzelner Knoten anzugeben, definiert IPv6 eine Anycast-Adresse.

Eine Anycast-Adresse wird einer Menge von Schnittstellen zugewiesen.

An diese Adresse gesendete Pakete werden an die "nächstgelegene" dieser Schnittstellen gesendet, wobei die nächstgelegene durch die Routing-Protokolle bestimmt wird.

Beispielsweise könnte allen Routern eines Backbone-Anbieters eine einzelne Anycast-Adresse zugewiesen werden, die im Routing-Header verwendet wird.

Weitere IPv6-relevante Aspekte (ohne weitere Diskussion hier) Mobility, Security, Quality of Service

(67)

Zusammenfassung und Literatur

Grundlagen der Rechnernetze - Internetworking 67

(68)

Zusammenfassung

• Das Thema von Internetworking: wie konstruiert man ein großes Netz durch verbinden von vielen kleinen Netzen

• Hauptproblem: Heterogenität und Skalierbarkeit

• Lösung IP-Protokoll: Best-Effort-Service, der von allen

aktuellen und möglichen zukünftigen Netztypen unterstützt werden kann

• Hauptaufgabe: Routing

– Interdomain-Routing – Intradomain-Routing

• Tradeoff zwischen Skalierbarkeit und Optimalität:

Skalierbarkeit durch hierarchische Organisation des Netzes auf Kosten von optimalen Pfaden

• Übergang von IPv4 zu IPv6

– Aufwändig (dauert Jahrzehnte)

– Wesentliche Motivation für IPv6: Adressverbrauch

(69)

Literatur

[PetersonDavie2019] Larry L. Peterson and Bruce S. Davie,

„Computer Networks: A Systems Approach“, Online Edition, 2019, V6.2.

3.3.2 Service Model

3.3.7 Host Configuration (DHCP) 3.3.8 Error Reporting (ICMP)

3.3.9 Virtual Networks and Tunnels 3.4.1 Network as a Graph

3.4.2 Distance Vector (RIP) 3.4.3 Link State (OSPF)

4.1.1 Routing Areas

4.1.2 Interdomain Routing (BGP) 4.2 IP Version 6 (IPV6)

Grundlagen der Rechnernetze - Internetworking 69

Abbildung

Tabelle von B Tabelle von C

Referenzen

ÄHNLICHE DOKUMENTE

• IPv6 Fragmentation Header can be used to support upper layers without dynamically executing MTU- Discovery. Next Header Fragment Offset 0

Jedes ans Internet angeschlossenes Endgerät benötigt eine eindeutige Adresse. Statt der MAC-Adresse werden IP-Adressen eingesetzt, da diese eine Strukturierung des

Jedes ans Internet angeschlossenes Endgerät benötigt eine eindeutige Adresse. Statt der MAC-Adresse werden IP-Adressen eingesetzt, da diese eine Strukturierung des

Wenn verfügbar, kann für das Routing des Datenverkehrs eine andere statische Route (die sich im Status "Up" befindet) ausgewählt werden.. Ähnlich wie bei IP SLAs Tracking

➢ Drücken Sie anschließend Übernehmen, nach der Übernahme der Daten und dem Verbindungstest ist die Verbindung hergestellt.. Falls Sie doch einmal Fragen oder ein

ifconfig IPv4-, IPv6-, MAC-Adresse anzeigen ip addr show IPv4-, IPv6-, MAC-Adresse anzeigen ip route Routingtabelle

Der Grund hierfür ist, dass der Standby-Switch bei Verwendung von DHCP die Kontrolle über den Stack übernimmt und möglicherweise eine andere IP-Adresse als die IP-Adresse erhält,

Hinweis: Wenn der Befehl tunnel path-mtu-discovery in diesem Szenario nicht auf dem Weiterleitungsrouter konfiguriert und das DF-Bit in den Paketen festgelegt wurde, die über