Classful IP‐Adressen
10101011 01000101 11010010 11110101
171.69.210.245
Class A
0 Netz Host
1 Netz Host
1 Netz Host
0
1 0
7 24
14 16
21 8
Class B
Class C
Bedarf für eine weitere Hierarchieebene
R1
H1 H2 H3
R3 R2
H4
H5 H6
H9 H8
H7
1
2
3 4
1.1 1.2 1.7
2.5
1.10
2.7
2.1
2.4 2.8
3.1
3.2
4.4
4.1 4.2 4.3
Eingang ins Campus‐Netz
Subnetze
1 0 Netz Host
14 16
Zum Beispiel Class B Adresse
11111111 11111111 11111111 (255.255.255.0)
Subnetz Maske 00000000
Netznummer
Ergebnis Subnetz Host
Subnetting‐Beispiel
R1 H1
H2
Subnetznummer : 128. 96. 34. 0 = 100000000 01100000 00100010 00000000 Subnetzmaske : 255.255.255.128 = 111111111 11111111 11111111 10000000
Beispiel: Verwendung eines Class B Netzes:
128. 96. 34. 15 = 100000000 01100000 00100010 00001111
128. 96. 34. 1 = 100000000 01100000 00100010 00000001
128. 96. 34.130 = 100000000 01100000 00100010 10000010
128. 96. 34.128 = 100000000 01100000 00100010 10000000 255.255.255.128 = 111111111 11111111 11111111 10000000
128. 96. 34.139 = 100000000 01100000 00100010 10001011
Konsequenz für Forwarding‐Tabellen
R1 H1
H2
Subnetznummer : 128. 96. 34. 0 Subnetzmaske : 255.255.255.128
Beispiel: Verwendung des Class B Netzes 128.96.X.X
128. 96. 34. 15
128. 96. 34. 1
128. 96. 34.130
128. 96. 34.128 255.255.255.128
128. 96. 34.139
Subnetznummer Subnetzmaske Nächster Hop
128.96.34.0 255.255.255.128 direkt (if 1) 128.96.34.128 255.255.255.128 direkt (if 2) 128.96.33.0 255.255.255.0 nach R2 (if 2)
Interface 1 Interface 2
R2
128. 96. 34.129
128. 96. 33. 1 128. 96. 33. 0 255.255.255. 0
Netznummer Nächster Hop
128.96 …
R3
Adressauflösung
H1 R1 H2
128.96.34.15 45:35:FE:36:42:55
128.96.34.1 128.96.34.16 57:FF:AA:36:AB:11 85:48:A4:28:AA:18
IP‐Adresse Physikalische Adresse 128.96.34.1 57:FF:AA:36:AB:11 128.96.34.16 85:48:A4:28:AA:18
… …
IP‐Adresse Physikalische Adresse
128.96.34.15 ???
128.96.34.16 85:48:A4:28:AA:18
… …
Motivation für Super‐Netting
Betrachten wir als Beispiel die IT‐Abteilung eines Uni‐Campus, die
„autonom“ eine Menge von IP‐Adressen nutzt.
Mit Subnetting können wir gegebene Menge von IP‐Adressen effizient nutzen.
Aber, die IT‐Abteilung muss immer noch IP‐Adressmenge in den Granularitäten Class‐A‐, ‐B‐, oder ‐C‐Netz beantragen/verwalten.
Was ist wenn wir z.B. 257 Hosts im Netz haben?
1. Beantrage ein Class‐B‐Netz. Effizienz?
2. Beantrage zwei Class‐C‐Netze.
Lösung: Classless‐Interdomain‐Routing (CIDR)
Aggregiere Netz‐Adressen.
Beispiel: Annahme wir haben 16*256‐1 Hosts.
Verwenden Adressen von 16 Class‐C‐Netzen.
Aber Adressen nicht beliebig, sondern hintereinanderliegend, z.B.:
192.4.16 192.4.17 ...
192.4.31
Beobachtung: alle Adressen beginnen mit denselben 20 Bits:
11000000 00000100 0001
Lösung: Classless‐Interdomain‐Routing (CIDR)
Beobachtung: alle Adressen beginnen mit denselben 20 Bits:
11000000 00000100 0001
Im Beispiel also eine 20‐Bit Netzadresse
• Liegt zwischen Class‐C (24 Bit) und Class‐B (16 Bit)
• Erforderte Ausgabe von 2^4 = 16 Class‐C‐Adressen
Allgemein: i‐Bit‐Netzadresse erfordert wie viele Class‐C‐Netze?
Internet‐Router beachten nur noch die i‐Bit‐Netzadresse.
Lösung: Classless‐Interdomain‐Routing (CIDR)
Wir brauchen für das Schema noch eine passende Notation.
Notation am Beispiel:
192.4.16 192.4.17 ...
192.4.31
wird zusammengefasst dargestellt als:
192.4.16/20
Also, /20 bedeutet Netzadresse besteht aus ersten 20 Bit und
fasst die 2^4=16 aufeinander folgenden Class‐C‐Netze beginnend mit 192.4.16 zusammen.
Quiz
Wie fasst man die Class‐C‐Netze 192.4.0 bis 192.4.31 mittels /X‐
Notation zusammen?
Wie stellt man das einzelne Class‐C‐Netz 192.4.16 in /X‐Notation dar?
Lösung: Classless‐Interdomain‐Routing (CIDR)
Umgang mit aggregierten Adressen im Router:
• Adressen in den Routing Tabellen: <länge,wert>‐Paar
• Vergleichbar mit <mask,wert>‐Paar im Subnetting, wenn Mask aus aufeinanderfolgenden 1‐Bit‐Werten besteht CIDR erlaubt weitere Routenaggregation. Beispiel:
Internet‐Anbieter Advertise
128.112.128/21
128.112.128/24
128.112.135/24
…
Kunden‐Netze
Es müssen noch nicht mal alle 8 aufeinanderfolgenden Netze aktuell genutzt sein!
Lösung: Classless‐Interdomain‐Routing (CIDR)
CIDR und Routingtabelleneinträge? Prefixe dürfen überlappen.
Beispiel‐Routingtabelle:
Wohin mit der Nachricht an 171.69.10.5?
Wohin mit der Nachricht an 171.69.20.5?
Generell: Longest‐Prefix‐Match
(erfordert effiziente Algorithmen/Datenstrukturen zum Finden des längsten passenden Prefix.)
Network‐Address Next Hop
... ...
171.69/16 if1 171.69.10/24 if2
... ...
Subnetting versus CIDR
• Subnetting erlaubt das Aufteilen einer Netzadresse in Teilnetze
– Aufteilung annähernd beliebig; alles was mit der Subnetzmaske ausdrückbar ist
• CIDR dient dem Aggregieren von Netzadressen in einer einzigen Adresse
– Aggregation nicht beliebig; Netzadressen müssen aufeinanderfolgend sein; zusammengefasst werden immer nur 2^i viele Netze
– Gewisse Flexibilität, indem man „Dummy‐Netze“
verwendet
Protokolle und Schichten
Host 1
Protokoll und Interface
Protokoll High‐Level Objekt
Host 2
Protokoll High‐Level Objekt
Peer‐to‐peer Interface Service
Interface
Service Interface
Message‐Sequence‐Chart (MSC)
H1 H2
Protokollzustandsautomat
Wait for connection
request
Wait for file request connection request/
connection response
close request
file request/
file response
Beispiel
H N S
Service‐Primitiven:
Zustände:
Zeitvorgaben:
Nachrichtenformate:
File f GET_FILE(), void ABORT_FILE_RETRIVAL(), ...
CLIENT_IDLE, CLIENT_WAITS_FOR_FILE, ...
if client waits 1000ms then change to state CLIENT_ERROR
FILE_REQUEST_MESSAGE: |CLIENT_ADR|SERVER_ADR|FILE_NAME|
Host 1
Protokollgraph
Protokoll 1
Protokoll 3
Protokoll 2
Protokoll 4
Host 2
Protokoll 1
Protokoll 3
Protokoll 2
Protokoll 4
Nachrichtenkapselung
Host 1
Anwendung 1
Protokoll 1
Protokoll 2
Protokoll 3
Host 2
Daten
Daten H1
Daten H1
H2
Daten H1
H2 H3
Anwendung 1
Protokoll 1
Protokoll 2
Protokoll 3
Daten
Daten H1
Daten H1
H2
Host 1
Multiplexing und Demultiplexing
Protokoll 1
Protokoll 3
Protokoll 2
Protokoll 4
Host 2
Protokoll 1
Protokoll 3
Protokoll 2
Protokoll 4
OSI‐Modell
Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003