Grundlagen der Rechnernetze

Werbung
Grundlagen der Rechnernetze
Einführung
Übersicht
•
•
•
•
•
•
Basisbausteine und Begriffe
Kommunikationsgrundlagen
Adressierung
Protokolle und Schichten
Performance
Geschichte und Gegenwart
Grundlagen der Rechnernetze ‐ Einführung
2
Basisbausteine und Begriffe
Grundlagen der Rechnernetze ‐ Einführung
3
Hosts und Links
H2
H1
Link
Host
Grundlagen der Rechnernetze ‐ Einführung
4
Nachricht, Stream, Paket
M
H1
P1
H2
P2
Header
S
H3
…
Payload
H4
Pn
Trailer
Bytes
Letztes Bit
Erstes Bit
Grundlagen der Rechnernetze ‐ Einführung
5
Multiple‐Access
H1
H2
H3
Grundlagen der Rechnernetze ‐ Einführung
…
Hn
6
Multiplexing
H1
H4
H2
H5
H3
H6
H4
H1
…
H2
H5
H6
H3
Grundlagen der Rechnernetze ‐ Einführung
7
Skalierbarkeit von Multiple‐Access‐Netz?
H1
H2
H3
…
Hn
Annahme alle Knotenpaare kommunizieren gleich häufig.
Was ist der Anteil s des Mediums pro Knotenpaar?
Grundlagen der Rechnernetze ‐ Einführung
8
Skalierbarkeit von vollvermaschtem Netz?
H11
H1
H2
H10
H3
H9
H4
H8
H7
H6
H5
Anzahl Links k pro Knoten und Gesamtanzahl Links l?
Grundlagen der Rechnernetze ‐ Einführung
9
Switched‐Network
H1
H2
H3
S1
H8
S2
S3
S4
H4
H7
S5
H6
H5
Grundlagen der Rechnernetze ‐ Einführung
10
Cloud‐Icon
H1
H2
H3
S1
H8
N
S2
S3
S4
H4
H7
S5
H6
H5
Grundlagen der Rechnernetze ‐ Einführung
11
Internet
H2
H1
H3
N1
H4
R1
R2
H9
N3
N2
R3
H5
H8
H7
Grundlagen der Rechnernetze ‐ Einführung
H6
12
Rekursive Anwendung des Cloud‐Icons
H2
H1
H3
N1
H4
R1
H9
R2
N
N3
N2
R3
H5
H8
H7
Grundlagen der Rechnernetze ‐ Einführung
H6
13
Netzgrößen
Bildquelle: www.cebylon.com/khi1/141‐01‐GAN‐MAN.html
Grundlagen der Rechnernetze ‐ Einführung
14
Netze und Graphen
H2
H1
H2
H1
H3
H3
N1
N1
R1
H4
R1
R2
R2
H4
H9
N3
N2
R3
H6
N2
N3
H5
H8
H7
H9
R3
H8
H7
H5
H6
Definition: Graph
Grundlagen der Rechnernetze ‐ Einführung
15
Beispieltopologien
Bus
Stern
Baum
Ring
Grundlagen der Rechnernetze ‐ Einführung
Mesh
16
Kommunikationsgrundlagen
Grundlagen der Rechnernetze ‐ Einführung
17
Kommunikationsformen
H2
H1
H3
N1
H4
R1
R2
H9
N3
N2
R3
H5
H8
H7
Grundlagen der Rechnernetze ‐ Einführung
H6
18
Forwarding‐Tabelle
Zieladresse
4711
7893
3467
2576
…
Nächster Hop
3
2
5
2
…
6
5
1
2
R
4
3
Grundlagen der Rechnernetze ‐ Einführung
19
Timeouts und Acknowledgments
H2
H1
H3
N1
H4
R1
R2
H9
N3
N2
R3
H5
H8
H7
Grundlagen der Rechnernetze ‐ Einführung
H6
20
Verbindungsorientiert und Verbindungslos
H2
H1
H3
N1
H4
R1
R2
H9
N3
N2
R3
H5
H8
H7
Grundlagen der Rechnernetze ‐ Einführung
H6
21
Client‐Server‐Prinzip
H
N
Grundlagen der Rechnernetze ‐ Einführung
S
22
Adressierung
Grundlagen der Rechnernetze ‐ Einführung
23
Physikalische Adresse – Beispiel Ethernet
00001000 00000000 00101011 11100100 10110001 00000010
08 : 00 : 2B : E4 : B1 : 02
Broadcast
11111111 11111111 11111111 11111111 11111111 11111111
FF:FF:FF:FF:FF:FF
Multicast
1XXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
{8X,…,FX}:XX:XX:XX:XX:XX
Grundlagen der Rechnernetze ‐ Einführung
24
Flache und hierarchische Adressräume
H1
H2
1.1
H3
1.2
H7
1.7
4.1
R3
3.1
H4
2.8
2.7
4.3
4.4
3.2
R1
2.5
H9
4.2
4
1.10
1
H8
R2
3
2
2.4
2.1
H5
H6
Grundlagen der Rechnernetze ‐ Einführung
25
Konsequenz für Forwarding‐Tabelle
H1
H2
1.1
H3
1.2
H7
1.7
4.1
2.8
2
2.4
2.1
H5
R3
3.1
H4
2.7
4.3
4.4
3.2
R1
2.5
H9
4.2
4
1.10
1
H8
H6
3
R2
Ziel
Next‐Hop
H1
nach R1
H2
nach R1
H3
nach R1
H4
direkt
H5
direkt
H6
direkt
H7
nach R3
H8
nach R3
H9
nach R3
Grundlagen der Rechnernetze ‐ Einführung
Ziel
Next‐Hop
1.X
nach R1
2.X
direkt
4.X
nach R3
26
Classful IP‐Adressen
10101011 01000101 11010010 11110101
171.69.210.245
Class A
0
7
24
Netz
Host
Class B
14
1 0
16
Netz
Host
Class C
1 1 0
21
8
Netz
Host
Grundlagen der Rechnernetze ‐ Einführung
27
Bedarf für eine weitere Hierarchieebene
H1
H2
1.1
H3
1.2
H7
1.7
4.1
R3
3.1
H4
2.8
2.7
4.3
4.4
3.2
R1
2.5
H9
4.2
4
1.10
1
H8
R2
3
2
2.4
2.1
H5
H6
Eingang ins Campus‐Netz
Grundlagen der Rechnernetze ‐ Einführung
28
Subnetze
Zum Beispiel
Class B Adresse
Subnetz Maske
Ergebnis
1
0
14
16
Netz
Host
11111111 11111111 11111111
(255.255.255.0)
Netznummer
Grundlagen der Rechnernetze ‐ Einführung
Subnetz
00000000
Host
29
Subnetting‐Beispiel
Subnetznummer : 128. 96. 34. 0 = 100000000 01100000 00100010 00000000
Subnetzmaske : 255.255.255.128 = 111111111 11111111 11111111 10000000
128. 96. 34. 15 = 100000000 01100000 00100010 00001111
H1
128. 96. 34.
1 = 100000000 01100000 00100010 00000001
R1
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
H2
Beispiel: Verwendung eines Class B Netzes:
128.96.X.X = 10000000 01100000 XXXXXXXX XXXXXXXX
Grundlagen der Rechnernetze ‐ Einführung
30
Konsequenz für Forwarding‐Tabellen
Subnetznummer : 128. 96. 34. 0
Subnetzmaske : 255.255.255.128
128. 96. 34. 15
H1
128. 96. 34.
1 Interface 1
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)
R1
128. 96. 34.130 Interface 2
128. 96. 34.128
255.255.255.128
Netznummer
Nächster Hop
128.96
…
R3
128. 96. 34.139
128. 96. 34.129
H2
R2
128. 96. 33.
1
128. 96. 33.
255.255.255.
0
0
Beispiel: Verwendung des Class B Netzes 128.96.X.X
Grundlagen der Rechnernetze ‐ Einführung
31
Adressauflösung
IP‐Adresse
Physikalische Adresse
IP‐Adresse
Physikalische Adresse
128.96.34.1
57:FF:AA:36:AB:11
128.96.34.15
???
128.96.34.16
85:48:A4:28:AA:18
128.96.34.16
85:48:A4:28:AA:18
…
…
…
…
128.96.34.15
45:35:FE:36:42:55
H1
128.96.34.1
57:FF:AA:36:AB:11
128.96.34.16
85:48:A4:28:AA:18
R1
Grundlagen der Rechnernetze ‐ Einführung
H2
32
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.
Grundlagen der Rechnernetze ‐ Einführung
33
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
Grundlagen der Rechnernetze ‐ Einführung
34
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.
Grundlagen der Rechnernetze ‐ Einführung
35
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.
Grundlagen der Rechnernetze ‐ Einführung
36
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?
Grundlagen der Rechnernetze ‐ Einführung
37
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:
Kunden‐Netze
128.112.128/24
Advertise
128.112.128/21
…
Internet‐Anbieter
128.112.135/24
Es müssen noch nicht mal alle 8 aufeinanderfolgenden Netze aktuell genutzt sein!
Grundlagen der Rechnernetze ‐ Einführung
38
Lösung: Classless‐Interdomain‐Routing (CIDR)
CIDR und Routingtabelleneinträge? Prefixe dürfen überlappen.
Beispiel‐Routingtabelle:
Network‐Address Next Hop
...
...
171.69/16
if1
171.69.10/24
if2
...
...
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.)
Grundlagen der Rechnernetze ‐ Einführung
39
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 Grundlagen der Rechnernetze ‐ Einführung
40
Protokolle und Schichten
Grundlagen der Rechnernetze ‐ Einführung
41
Protokoll und Interface
Host 1
Host 2
High‐Level Objekt
High‐Level Objekt
Service
Interface
Service
Interface
Protokoll
Peer‐to‐peer
Interface
Grundlagen der Rechnernetze ‐ Einführung
Protokoll
42
Message‐Sequence‐Chart (MSC)
H1
H2
Grundlagen der Rechnernetze ‐ Einführung
43
Protokollzustandsautomat
connection request/
connection response
Wait for
connection
request
file request/
file response
Wait for file
request
close request
Grundlagen der Rechnernetze ‐ Einführung
44
Beispiel
H
N
S
Service‐Primitiven:
File f GET_FILE(), void ABORT_FILE_RETRIVAL(), ...
Zustände:
CLIENT_IDLE, CLIENT_WAITS_FOR_FILE, ...
Zeitvorgaben:
if client waits 1000ms then change to state CLIENT_ERROR
Nachrichtenformate:
FILE_REQUEST_MESSAGE: |CLIENT_ADR|SERVER_ADR|FILE_NAME|
Grundlagen der Rechnernetze ‐ Einführung
45
Protokollgraph
Host 1
Protokoll 1
Host 2
Protokoll 2
Protokoll 1
Protokoll 2
Protokoll 3
Protokoll 3
Protokoll 4
Protokoll 4
Grundlagen der Rechnernetze ‐ Einführung
46
Nachrichtenkapselung
Host 1
Host 2
Anwendung 1
Anwendung 1
Daten
Daten
Protokoll 1
Protokoll 1
H1 Daten
H1 Daten
Protokoll 2
Protokoll 2
H2 H1 Daten
H2 H1 Daten
Protokoll 3
Protokoll 3
H3 H2 H1 Daten
Grundlagen der Rechnernetze ‐ Einführung
47
Multiplexing und Demultiplexing
Host 1
Protokoll 1
Host 2
Protokoll 2
Protokoll 1
Protokoll 2
Protokoll 3
Protokoll 3
Protokoll 4
Protokoll 4
Grundlagen der Rechnernetze ‐ Einführung
48
OSI‐Modell
Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003
Grundlagen der Rechnernetze ‐ Einführung
49
Internet‐Modell
Nothing stated
by TCP/IP model
Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003
Grundlagen der Rechnernetze ‐ Einführung
50
Internet‐Protokolle
Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003
Grundlagen der Rechnernetze ‐ Einführung
51
Anwendungssicht auf TCP (oder UDP)
Erzeugen eines Sockets
int socket(int
domain
:
type
:
protocol :
domain, int type, int protocol)
PF_INET, PF_UNIX, PF_PACKET, ...
SOCK_STREAM, SOCK_DGRAM, ...
UNSPEC, ...
Passive‐Open auf der Server‐Seite
int bind(int socket, struct sockaddr *address, int len)
int listen(int socket, int backlog)
int accept(int socket, struct sockaddr *address, int *len)
address : enthält IP-Adresse und Port
backlog : Anzahl erlaubter Pending-Connections
Active‐Open auf der Client‐Seite
int connect(int socket, struct sockaddr *address, int len)
Senden und Empfangen von Daten
int send(int socket, char *message, int len, int flags)
int recv(int socket, char *buffer, int len, int flags)
Grundlagen der Rechnernetze ‐ Einführung
52
Adressen im Internet‐Modell
Host 1
Host 2
Application
Application
Application
Application
Port
TCP
UDP
UDP
TCP
Demux‐Key
IP
IP
IP‐Adresse
LINK
LINK
Physikalische
Adresse
physical
physical
Grundlagen der Rechnernetze ‐ Einführung
53
Performance
Grundlagen der Rechnernetze ‐ Einführung
54
Bandbreite
0
1
1
0
0
1
1
…
1 s
1 Sekunde
Bandbreite b in obigem Beispiel:
Grundlagen der Rechnernetze ‐ Einführung
55
Bps und bps
Kenngröße
Größenordnung
Wert
KBps
210 Byte/s
1.024
MBps
220 Byte/s
1.048.576
GBps
230 Byte/s
1.073.741.824
TBps
240 Byte/s
1.099.511.627.776
Kbps
103 Bits/s
1.000
Mbps
106 Bits/s
1.000.000
Gbps
109 Bits/s
1.000.000.000
Tbps
1012 Bits/s
1.000.000.000.000
Vereinfachung für Überschlagsrechnungen:
Grundlagen der Rechnernetze ‐ Einführung
56
Propagation‐Delay
H1
d
H2
Zeit x zur Übertragung eines Bits bei Distanz d und Signalausbrei‐
tungsgeschwindigkeit l
Grundlagen der Rechnernetze ‐ Einführung
57
Delay einer Single‐Hop‐Übertragung
H1
d
H2
Zeit x zur Übertragung von n Bits bei Distanz d Signalausbreitungs‐
geschwindigkeit l und Bandbreite b:
Grundlagen der Rechnernetze ‐ Einführung
58
Delay einer Multi‐Hop‐Übertragung
H1
d
H2
Zeit x zur Übertragung von n Bits bei Distanz d, Signalausbreitungs‐
geschwindigkeit l, Bandbreite b und Queuing‐Zeit q:
Grundlagen der Rechnernetze ‐ Einführung
59
Delay‐Bandbreiten‐Produkt
Bandbreite
Delay
Beispiel: Anzahl Bits n die ein Kanal mit 100ms Latenz und 50Mbps
Bandbreite speichert
Grundlagen der Rechnernetze ‐ Einführung
60
Transferzeit und Effektiver Durchsatz
H1
H2
Beispiel: Überschlagsrechnung zu Transferzeit z und effektivem Durchsatz d und bei Abrufen einer 1MB Datei über einen Kanal mit 1Gbps Bandbreite und 92ms RTT:
Grundlagen der Rechnernetze ‐ Einführung
61
Bitfehlerrate und Paketverlustrate
010100010111100010011101110010110001101
Bitfehler
Paket 1
Paket 2
Paket 3 Paket 4
Paketfehler
Einfacher Zusammenhang zwischen BER und PER, für n Bit Nachrichten ohne Fehlerkorrektur
Grundlagen der Rechnernetze ‐ Einführung
62
Additive und Bottleneck‐Kosten
H1
5ms
e2
10ms
e1
1Mbps
R1
1Gbps
R2
10ms
e3
1Gbps
20ms
H2
e4
R3
1Mbps
Beispiel: Delay d und Bandbreite b zwischen H1 und H2
Grundlagen der Rechnernetze ‐ Einführung
63
Multiplikative Kosten
H1
p2=1/3
p1=2/3
e2
e1
R2
p3=1/2
p4=1/2
e3
R1
H2
e4
R3
Beispiel: Gesamtpaketerfolgsrate bei gegebenen Paketverlustraten pro Link
Grundlagen der Rechnernetze ‐ Einführung
64
Performance
Beispiel: Effektiver Durchsatz von Packet‐Switching
Grundlagen der Rechnernetze ‐ Einführung
65
Delay‐Einsparungen
Circuit‐Switching
H1
R1
R2
Message‐Switching
H2
H1
R1
R2
Packet‐Switching
H2
Grundlagen der Rechnernetze ‐ Einführung
H1
R1
R2
H2
66
Einfluss der Paketgröße H1
R1
R2
H2
Nachrichtenlänge
n Bits
Paket‐Payload
k Bits
Paket‐Header
c Bits
Bandbreite
b bps
Delay pro Hop
d Sekunden
Anzahl Hops
h
Effektiver Durchsatz x
Grundlagen der Rechnernetze ‐ Einführung
67
Effektiver Durchsatz in Gbps
Beispiel‐Plot
Nachrichtengröße
1 GB
Bandbreite
1 Gbps
Header‐Größe
64 Byte
Anzahl Hops
Delay pro Hop
10
10 ms
Paketgröße in KB
Grundlagen der Rechnernetze ‐ Einführung
68
Performance
Beispiel: Vorteil von statistischem Multiplexing
Grundlagen der Rechnernetze ‐ Einführung
69
Statisches versus Statistisches Multiplexing p
b bps
…
H1
Hn
p
Verhältnis x der mittleren Bandbreite pro Knoten von statistischem über statischem Multiplexing bei n Knoten, Zugriffswahrschein‐
lichkeit p und Bandbreite b
Grundlagen der Rechnernetze ‐ Einführung
70
Angepasste über fester Bandbreitenzuweisung
Beispiel‐Plot
50% Zugriffwahrscheinlichkeit
70% Zugriffwahrscheinlichkeit
90% Zugriffwahrscheinlichkeit
Anzahl Knoten
Grundlagen der Rechnernetze ‐ Einführung
71
Geschichte und Gegenwart
Grundlagen der Rechnernetze ‐ Einführung
72
Geschichte und Gegenwart
Entwicklung des Internet
Grundlagen der Rechnernetze ‐ Einführung
73
Packet‐Switching der ersten Stunde
Ende der 1950er Auf Höhe des kalten Krieges möchte das DoD(1) eine Lösung für ein Command und Kontrollzentrumsnetz, welches einen nuklearen Angriff überlebt.
Gegen 1960
(1)
Das DoD beschließt einen Vertrag mit RAND Corporation, eine Lösung zu finden. Mitarbeiter Paul Baran entwickelte ein stark verteiltes und fehlertolerantes System auf Basis von digitalem Packet‐Switching. Der zu dieser Zeit amerikanische Telefonmonopolist AT&T findet dieses System jedoch nicht realisierbar.
Struktur des Telefonsystems
Das DoD ist das Department of Defense der USA.
Barans verteiltes Switching‐System
Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003
Grundlagen der Rechnernetze ‐ Einführung
74
Das ARPANET
1967
Die ARPA(1) wechselt ihren Schwerpunkt unter der Leitung von Larry Roberts auf die Erforschung von Netzen. Einer der damals kontaktierten Experten, Wesley Clark, entwickelt ein Packet‐Switched Subnetz, in dem jeder Host an einen Router angebunden ist.
Unabhängig davon wurde unter Leitung von Donald Davies am NPL(2) ein ähnliches Packet‐
Switching‐System entworfen und sogar als Campus‐Netz schon implementiert. Das NPL referenziert hierbei die ursprünglich abgelehnte Arbeit von Paul Baran.
1969
(1)
Die ARPA beauftragt die Consulting‐Firma BBN in Cambridge ein solches Netz und die dazu notwendige Netzsoftware zu entwickeln. Des Weiteren werden Graduate‐Studenten der Universität Utah damit beauftragt die Host‐
Software zu entwickeln. Das Ergebnis ist das ARPANET welches schnell größer wurde und bald die ganze USA abdeckte.
Die ARPA, Advanced Research Projects Agency, ist ein staatlicher, amerikanischer, militärischer Forschungsförderer für Universitäten und Industrie.
(2) Das NPL ist das National Physical Laboratory in England.
Struktur des Packet‐Switched Subets nach Clark
Dez 1969
Jul 1970
Apr 1972
Mär 1971
Sep 1972
Der Zuwachs im ARPANET
Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003
Grundlagen der Rechnernetze ‐ Einführung
75
Das ARPANET und NSFNET
1974
Die ersten ARPANET‐Protokolle erlaubten keine transparente End‐to‐End‐
Kommunikation über verschiedene Netze. Dies wurde mit wachsen des ARPANET immer wichtiger und führte schließlich zur Entwicklung von TCP/IP von Vinton Cerf und Robert Kahn.
Die ARPA forcierte die Verwendung von TCP/IP durch Verträge mit BBN und der University of California Berkeley, die neuen Protokolle in Berkeley Unix zu integrieren. Hierbei wurde auch die Socket‐Schnittstelle entwickelt.
Späte 1970 bis
Ende 1980er
(1)
Die Teilnahme am ARPANET erforderte einen Vertrag mit dem DoD. Daher beschloss man im NSF(1) einen für alle US Universitäten freien Nachfolger des ARPANETs zu bauen. Der Anfang war ein USA umspannender Backbone, der sechs Super‐Computer‐Center verband. An den Backbone wurden etwa 20 regionale von der NSF geförderte Netze angebunden. Das Ergebnis war das NSFNET. Das ARPANET und das NSFNET wurden erstmals an der Universität Carnegie‐
Mellon verbunden.
Das NSF‐Backbone 1988
Die NSF ist die US National Science Foundation.
Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003
Grundlagen der Rechnernetze ‐ Einführung
76
Kommerzialisierung des Internet
Während der 1980er
Mit dem immer größer werden der Netze wurde das Auffinden von Hosts
anhand von IP‐Adressen immer aufwendiger. Als Lösung wurde eine hierarchische Namensstruktur, das DNS (Domain Name System), entwickelt.
Das NSFNET verband Nutzer an tausenden von US Universitäten, Forschungslaboren, Bibliotheken und Museen. Es war damit permanent überladen. Die NSF beschloss einen Vertrag mit MERIT, einem Konsortium in Michigan, das Netz weiter zu betreiben. Damit erfuhr der Backbone des NSFNET einen Upgrade (zunächst von 56kbps auf 448kbps (Fiber‐Channels von MCI) und dann noch mal auf 1.5Mbps Lines)
Mit dem Zusammenschluss von ARPANET und NSFNET schlossen sich viele weitere regionale Netze und Netze in Kanada, Europa, und Pazifik an.
1990
Als ersten Schritt in Richtung Kommerzialisierung gibt die NSF das NSFNET
an die nonprofit Corporation ANS (Advanced Networks and Services) von MERIT, MCI und IBM ab. Das ANS machte einen Upgrade des NSFNET Backbones auf das ANSNET, von 1.5Mbps auf 45Mbps Lines.
Des Weiteren schloss das NSF Verträge mit den Netzbettreibern PacBell, Ameritech, MFS und Sprint ab, die einen fairen Wettbewerb der Netzanbieter sicher stellten.
1995
Das ANSNET wurde an American Online verkauft. Damit begann die Kommerzialisierung von IP‐Diensten.
Grundlagen der Rechnernetze ‐ Einführung
77
WWW
Während der 1990er
In vielen anderen Ländern entstehen nationale Forschungsnetze, häufig ähnlich gestaltet wie das ARPANET und NSFNET. Beispiele sind in Europa EuropaNET und EBONE, die mit 2Mbps starteten, einen Upgrade auf 34Mbps erfuhren und dann irgendwann ebenfalls an die Industrie abgegeben wurden.
Bis in die frühen 1990er waren Akademiker die Anwender des Internet. Die Hauptanwendungen waren Email, News, Remote‐Login und File‐
Transfer. Dies änderte sich schlagartig mit der Erfindung des WWW des CERN Physikers Tim Berners‐Lee und des Mosaik‐Browsers von Marc Andreesen am National Center for Supercomputer Applications in Urbana, Illinois. Es entstanden viele Internet‐Service‐Provider (ISP), die es einer immer größer werdenden Zahl von Endnutzern ermöglichten sich von Zuhause ins Internet einzuwählen.
Grundlagen der Rechnernetze ‐ Einführung
78
Vereinfachte Übersicht des heutigen Internets
Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003
Grundlagen der Rechnernetze ‐ Einführung
79
Geschichte und Gegenwart
Telefonnetze, LANs und Standardisierung
Grundlagen der Rechnernetze ‐ Einführung
80
Wide‐Area Datennetze
1970er
Das verbindungsorientierte Wide‐Area Datennetz der ersten Stunde ist das in den 1970er entwickelte X.25 System. Das System wurde etwa ein Jahrzehnt verwendet.
1980er
In den 1980ern wird X.25 im wesentlichen durch ein neues System, Frame‐Relay, ersetzt. Es diente (zum Teil sogar bis heute) hauptsächlich zum verbinden von LANs.
1990er
In den 1990er wurde ATM (Asynchronous Transfer Mode) entwickelt. Das Ziel war der Zusammenschluss von Sprache, Daten, Kabelfernsehn, Telex, Telegraph in einem einzigen Datennetz (ATM = Internet versus Telcos). ATM hatte zwar nicht den ursprünglich erhofften Erfolg, wird aber häufig von Carriern für internen Datentransport von Internet‐Traffic verwendet.
Grundlagen der Rechnernetze ‐ Einführung
81
Local‐Area‐Netze
Frühe 1970er
Norman Abrahamson und Kollegen der Universität Hawaii entwickeln
das drahtlose (Short‐Range‐Radio) ALOHANET mit dem Computer der anliegenden Inseln mit dem Hauptcomputer auf Honolulu kommunizieren können.
1976
Auf der Basis der Arbeit von Norman Abrahamson entwickeln Bob Metcalfe und David Boggs bei Xerox PARC das erste LAN mit dem Namen Ethernet (ursprüngliche Datenrate: 2.94Mbps).
1978
Das Xerox Ethernet wurde 1978 von DEC, Intel und Xerox als 10Mbps Ethernet unter dem Namen DIX standardisiert.
Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003
Grundlagen der Rechnernetze ‐ Einführung
82
Local‐Area‐Netze
Ab 1978
Bob Metcalfe gründet die Firma 3Com und verkauft über 100 Millionen Ethernet‐Adapter.
Ethernet wurde über die Jahre immer weiter entwickelt: 100Mbps und 1000Mbps, Switching, Cabling etc. Neben dem Ethernet‐Standard wurden auch ein Token‐Bus und ein Token‐Ring‐LAN‐Standard etabliert. Der Ethernet‐Standard hat sich jedoch weitestgehend hier gegenüber durchgesetzt.
Mitte der 1990er Standardisierung einer Ethernet‐kompatiblen drahtlosen LAN‐Technik namens WiFi.
Drahtloses Netz mit Access‐Point
Ad‐hoc Netz
Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003
Grundlagen der Rechnernetze ‐ Einführung
83
Standardisierungsgremien
Telekommunikation
ITU
International Telecommunicaiton
Union
Internationale Standards
ISO
International Standards Organization
IEEE
Institute of Electrical and Electronics Engineering
Internet‐Standards
ISOC Internet Society
IAB
Internet Architecture Board
IRTF
Internet Research Task Force
IETF
Internet Engineering Task Force
IEEE 802 Working‐Groups
Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003
Grundlagen der Rechnernetze ‐ Einführung
84
Zusammenfassung und Literatur
Grundlagen der Rechnernetze ‐ Einführung
85
Zusammenfassung
•
•
•
•
•
•
•
•
•
Rekursive Definition eines Netzes
Skalierbarkeit durch hierarchische Aggregation
Adressierung, Routing, Forwarding
Statistisches Multiplexing
Layering, Protokolle
Separation‐of‐Concerns
OSI‐Modell, Internet‐Hour‐Glass‐Modell
Latenz und Bandbreite
Standardisierungen
Grundlagen der Rechnernetze ‐ Einführung
86
Literatur
[PetersonDavie2007] Larry L. Peterson and Bruce S. Davie, „Computer Networks: A Systems Approach“, Edition 4, 2007.
1.2 Requirements
1.3 Network Architecture
1.4.1 Application Programming Interface (Sockets)
1.5 Performance
4.1.1 What is an Internetwork?
4.1.3 Global Addresses
4.1.4 Datagramm Forwarding in IP
4.3.1 Subnetting
4.3.2 Classless Routing (CIDR)
[Tanenbaum2003] Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003.
1.5 Example Networks
1.6 Network Standardization
Grundlagen der Rechnernetze ‐ Einführung
87
Herunterladen