Grundlagen der Rechnernetze
EinführungEinführung
Übersicht• Basisbausteine und Begriffe
• KommunikationsgrundlagenKommunikationsgrundlagen
• Adressierung
• Protokolle und Schichten
• Performance• Performance
• Geschichte und Gegenwart
2Grundlagen der Rechnernetze ‐ Einführung
Basisbausteine und Begriffe
3Grundlagen der Rechnernetze ‐ Einführung
Hosts und Links
H1 H2
Link
Host
4Grundlagen der Rechnernetze ‐ Einführung
Nachricht, Stream, Paket
SH1 H2 H3 H4M
P1 P2 Pn…
PayloadHeader Trailer
Erstes Bit Letztes Bit
Bytes
5Grundlagen der Rechnernetze ‐ Einführung
Erstes Bit Letztes Bit
Multiple‐Access
H1 H2 H3 Hn…
6Grundlagen der Rechnernetze ‐ Einführung
Multiplexing
H1 H4
H2 H5
H3 H6
H1H4
H2H5…
H3H6
Grundlagen der Rechnernetze ‐ Einführung 7
Skalierbarkeit von Multiple‐Access‐Netz?
H H H HH1 H2 H3 Hn…
Annahme alle Knotenpaare kommunizieren gleich häufigAnnahme alle Knotenpaare kommunizieren gleich häufig.Was ist der Anteil s des Mediums pro Knotenpaar?
8Grundlagen der Rechnernetze ‐ Einführung
Skalierbarkeit von vollvermaschtem Netz?H1
H2H11
H3H10
H4H9
H5H8
H6H7
Anzahl Links k pro Knoten und Gesamtanzahl Links l?p
9Grundlagen der Rechnernetze ‐ Einführung
Switched‐NetworkH1 H2 H3
S1H8
H4
S1
H7
H4S2 S4S3
S5
H6 H5
10Grundlagen der Rechnernetze ‐ Einführung
Cloud‐IconH1 H2 H3
S1H8
H4
S1
N
H7
H4S2 S4S3N
S5
H6 H5
11Grundlagen der Rechnernetze ‐ Einführung
Internet
H1H2
H3
N1
R1 R2H4
N3 N2
H9
R3H5
H8
H6H7
12Grundlagen der Rechnernetze ‐ Einführung
Rekursive Anwendung des Cloud‐Icons
H1H2
H3
N1
R1 R2H4
N3 N2
H9 N
R3H5
H8
H6H7
13Grundlagen der Rechnernetze ‐ Einführung
Netzgrößen
Grundlagen der Rechnernetze ‐ Einführung 14Bildquelle: www.cebylon.com/khi1/141‐01‐GAN‐MAN.html
Netze und Graphen
H1H2
H3
H1H2
H3
N1
R1 R2H4
N1
R2R1 H4
N3 N2
R3H5
H9
H8
N2
H5
H9 N3R3
H6H7 H6H7
H8
Definition: Graph
15Grundlagen der Rechnernetze ‐ Einführung
Beispieltopologien
Bus Baum
Stern Ring Mesh
Grundlagen der Rechnernetze ‐ Einführung 16
Stern Ring Mesh
Kommunikationsgrundlagen
Grundlagen der Rechnernetze ‐ Einführung 17
Kommunikationsformen
H1H2
H3
N1
R1 R2H4
N3 N2
H9
R3H5
H8
H6H7
18Grundlagen der Rechnernetze ‐ Einführung
Forwarding‐TabelleZieladresse Nächster Hop
4711 3
7893 2
3467 5
2576 2
… …
16
… …
R
1
2
3
5
34
19Grundlagen der Rechnernetze ‐ Einführung
Timeouts und Acknowledgments
H1H2
H3
N1
R1 R2H4
N3 N2
H9
R3H5
H8
H6H7
20Grundlagen der Rechnernetze ‐ Einführung
Verbindungsorientiert und Verbindungslos
H1H2
H3
N1
R1 R2H4
N3 N2
H9
R3H5
H8
H6H7
21Grundlagen der Rechnernetze ‐ Einführung
Client‐Server‐Prinzip
HNN S
Grundlagen der Rechnernetze ‐ Einführung 22
Adressierung
Grundlagen der Rechnernetze ‐ Einführung 23
Physikalische Adresse – Beispiel Ethernet
00001000 00000000 00101011 11100100 10110001 0000001000001000 00000000 00101011 11100100 10110001 00000010
08 : 00 : 2B : E4 : B1 : 02
Broadcast11111111 11111111 11111111 11111111 11111111 11111111
FF:FF:FF:FF:FF:FF
Multicast1XXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX1XXXXXXX 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 H3H1 H2 H3 H9H8H7
1.1 1.2 1.7 4.1 4.2 4.3
R1 R3
1 4
2.5
1.10
3.1
3.2
4.4
R2H4
2
3
2.7
2.8
H5 62.1
2.4
H5 H6
Grundlagen der Rechnernetze ‐ Einführung 25
Konsequenz für Forwarding‐Tabelle
H1 H2 H3H1 H2 H3 H9H8H7
1.1 1.2 1.7 4.1 4.2 4.3
R1 R3
1 4
2.5
1.10
3.1
3.2
4.4
R2H4
2
3
2.7
2.8
Ziel Next‐Hop
H1 nach R1
H5 62.1
2.4H2 nach R1
H3 nach R1
H4 direkt
Ziel Next‐Hop
1.X nach R1
2 X direktH5 H6 H5 direkt
H6 direkt
H7 nach R3
2.X direkt
4.X nach R3
Grundlagen der Rechnernetze ‐ Einführung 26
H8 nach R3
H9 nach R3
Classful IP‐Adressen10101011 01000101 11010010 11110101
171 69 210 245171.69.210.245
Cl AClass A
0 Netz Host7 24
14 16
Class B
1 Netz Host0
Cl C
1 Netz Host1 021 8
Class C
Grundlagen der Rechnernetze ‐ Einführung 27
Bedarf für eine weitere Hierarchieebene
H1 H2 H3H1 H2 H3 H9H8H7
1.1 1.2 1.7 4.1 4.2 4.3
R1 R3
1 4
2.5
1.10
3.1
3.2
4.4
R2H4
2
3
2.7
2.8
H5 62.1
2.4
H5 H6
Eingang ins Campus‐Netz
Grundlagen der Rechnernetze ‐ Einführung 28
g g p
Subnetze
14 16Zum Beispiel
1 Netz Host0Zum BeispielClass B Adresse
11111111 11111111 11111111(255.255.255.0)Subnetz Maske 00000000
NetznummerErgebnis HostSubnetzNetznummerErgebnis HostSubnetz
Grundlagen der Rechnernetze ‐ Einführung 29
Subnetting‐Beispiel
Subnetznummer : 128. 96. 34. 0 = 100000000 01100000 00100010 00000000Subnetzmaske : 255.255.255.128 = 111111111 11111111 11111111 10000000
H1
128. 96. 34. 15 = 100000000 01100000 00100010 00001111
R1
H1
128. 96. 34. 1 = 100000000 01100000 00100010 00000001
128. 96. 34.130 = 100000000 01100000 00100010 10000010
128. 96. 34.128 = 100000000 01100000 00100010 10000000255.255.255.128 = 111111111 11111111 11111111 10000000
H2128. 96. 34.139 = 100000000 01100000 00100010 10001011
Grundlagen der Rechnernetze ‐ Einführung 30
Beispiel: Verwendung eines Class B Netzes:128.96.X.X = 10000000 01100000 XXXXXXXX XXXXXXXX
Konsequenz für Forwarding‐Tabellen
Subnetznummer : 128. 96. 34. 0Subnetzmaske : 255 255 255 128
H1
Subnetzmaske : 255.255.255.128
128. 96. 34. 15
Subnetznummer Subnetzmaske Nächster Hop
128.96.34.0 255.255.255.128 direkt (if 1)H1
128. 96. 34. 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
R1128. 96. 34.130 Interface 2
Netznummer Nächster Hop128. 96. 34.128255.255.255.128
128 96 34 139
128.96 …
R3
H2128. 96. 34.139
R2128. 96. 34.129
128. 96. 33. 1 128. 96. 33. 0255 255 255 0
Grundlagen der Rechnernetze ‐ Einführung 31
Beispiel: Verwendung des Class B Netzes 128.96.X.X
255.255.255. 0
Adressauflösung
IP‐Adresse Physikalische Adresse
128.96.34.1 57:FF:AA:36:AB:11
IP‐Adresse Physikalische Adresse
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 128.96.34.1 128.96.34.16
R1H1 H2
45:35:FE:36:42:55128.96.34.1 128.96.34.16
57:FF:AA:36:AB:11 85:48:A4:28:AA:18
Grundlagen der Rechnernetze ‐ Einführung 32
Motivation für Super‐NettingBetrachten 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. 256 Hosts im Netz haben?1. Beantrage ein Class‐B‐Netz. Effizienz?
2 B t i Cl C N t2. 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 HostsBeispiel: Annahme wir haben 16*256‐1 Hosts.
Verwenden Adressen von 16 Class‐C‐Netzen.Verwenden Adressen von 16 Class C Netzen.
Aber Adressen nicht beliebig, sondern hintereinanderliegend, z.B.:192.4.16192 4 17192.4.17...192.4.31
Beobachtung: alle Adressen beginnen mit denselben 20 Bits:
Grundlagen der Rechnernetze ‐ Einführung 34
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)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.16192.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 beginnendfasst die 2 4 16 aufeinander folgenden Class C Netze beginnend mit 192.4.16 zusammen
Grundlagen der Rechnernetze ‐ Einführung 36
QuizWie 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• Vergleichbar mit <mask,wert>‐Paar im Subnetting, wenn
Mask aus aufeinanderfolgenden 1‐Bit‐Werten besteht
CIDR l b i R i B i i lCIDR erlaubt weitere Routenaggregation. Beispiel:Kunden‐Netze
Advertise128.112.128/21
128.112.128/24
Internet‐Anbieter
…
128.112.135/24
Grundlagen der Rechnernetze ‐ Einführung 38
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 an171 69 10 5?
Network‐Address Next Hop171.69.10.5?
... ...
171 69/16 if1Wohin mit der Nachricht an171.69.20.5?
171.69/16 if1
171.69.10/24 if2
... ...
Generell: Longest‐Prefix‐Match(erfordert effiziente Algorithmen/Datenstrukturen zum Finden
Grundlagen der Rechnernetze ‐ Einführung 39
(erfordert effiziente Algorithmen/Datenstrukturen zum Finden des längsten passenden Prefix.)
Subnetting versus CIDR• Subnetting erlaubt das Aufteilen einer Netzadresse in Teilnetze– Aufteilung annähernd beliebig; alles was mit der Subnetzmaske ausdrückbar istSubnetzmaske ausdrückbar ist
• CIDR dient dem Aggregieren von Netzadressen in einer einzigen Adresse– Aggregation nicht beliebig; Netzadressen müssen gg g g;aufeinanderfolgend sein; zusammengefasst werden immer nur 2^i viele Netze
– Gewisse Flexibilität, indem man „Dummy‐Netze“ verwendetverwendet
Grundlagen der Rechnernetze ‐ Einführung 40
Protokolle und Schichten
Grundlagen der Rechnernetze ‐ Einführung 41
Protokoll und Interface
Host 1 Host 2Host 1 Host 2
High‐Level Objekt High‐Level Objekt
ServiceInterface
ServiceInterface
Protokoll ProtokollPeer‐to‐peerInterface
Grundlagen der Rechnernetze ‐ Einführung 42
Message‐Sequence‐Chart (MSC)
H1 H2
Grundlagen der Rechnernetze ‐ Einführung 43
Protokollzustandsautomat
connection request/q /connection response
file request/file response
Wait forti
Wait for file
file response
connectionrequest
request
close requestclose request
Grundlagen der Rechnernetze ‐ Einführung 44
Beispiel
HNN S
Service‐Primitiven:File f GET FILE(), void ABORD FILE RETRIVAL(),
Zustände:
File f GET_FILE(), void ABORD_FILE_RETRIVAL(), ...
CLIENT IDLE, CLIENT WAITS FOR FILE, ...
Zeitvorgaben:
CLIENT_IDLE, CLIENT_WAITS_FOR_FILE, ...
if client waits 1000ms the change in state CLIENT ERROR
Nachrichtenformate:
g _
FILE REQUEST MESSAGE: |CLIENT ADR|SERVER ADR|FILE NAME|
Grundlagen der Rechnernetze ‐ Einführung 45
_ _ _ _ _
ProtokollgraphHost 1 Host 2
Protokoll 1 Protokoll 2 Protokoll 1 Protokoll 2Protokoll 1
Protokoll 3
Protokoll 2 Protokoll 1
Protokoll 3
Protokoll 2
Protokoll 3
Protokoll 4
Protokoll 3
Protokoll 4
Grundlagen der Rechnernetze ‐ Einführung 46
NachrichtenkapselungHost 1
Anwendung 1
Host 2
Anwendung 1Anwendung 1
Daten
Anwendung 1
Daten
Protokoll 1
DatenH1
Protokoll 1
DatenH1
Protokoll 2 Protokoll 2
Protokoll 3
DatenH1H2
Protokoll 3
DatenH1H2
DatenH1H2H3
Grundlagen der Rechnernetze ‐ Einführung 47
DatenH1H2H3
Multiplexing und DemultiplexingHost 1 Host 2
Protokoll 1 Protokoll 2 Protokoll 1 Protokoll 2Protokoll 1
Protokoll 3
Protokoll 2 Protokoll 1
Protokoll 3
Protokoll 2
Protokoll 3
Protokoll 4
Protokoll 3
Protokoll 4
Grundlagen der Rechnernetze ‐ Einführung 48
OSI‐Modell
Grundlagen der Rechnernetze ‐ Einführung 49Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003
Internet‐Modell
Nothing statedby TCP/IP model
Grundlagen der Rechnernetze ‐ Einführung 50Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003
Internet‐Protokolle
Grundlagen der Rechnernetze ‐ Einführung 51Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003
Anwendungssicht auf TCPErzeugen eines Sockets
int socket(int domain, int type, int protocol)domain : PF_INET, PF_UNIX, PF_PACKET, ...type : SOCK_STREAM, SOCK_DGRAM, ...protocol : UNSPEC, ...
Passive‐Open auf der Server‐Seiteint 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 Portbacklog : Anzahl erlaubter Pending-Connections
Active‐Open auf der Client‐Seiteint connect(int socket, struct sockaddr *address, int len) ( , , )
Senden und Empfangen von Datenint send(int socket char *message int len int flags)
Grundlagen der Rechnernetze ‐ Einführung 52
int send(int socket, char message, int len, int flags)int recv(int socket, char *buffer, int len, int flags)
Adressen im Internet‐ModellHost 2Host 1
Application Application Application Application
TCP TCPUDPUDP
Port
TCP TCPUDPUDP
Demux‐Key
IP IP
IP‐Adresse
LINK LINKPhysikalischeAdresse
physical physicalAdresse
53Grundlagen der Rechnernetze ‐ Einführung
Performance
Grundlagen der Rechnernetze ‐ Einführung 54
Bandbreite
1 s1 Sekunde
0 1 1 0 1 10 …
1 Sekunde
Bandbreite b in obigem Beispiel:
Grundlagen der Rechnernetze ‐ Einführung 55
Bps und bpsKenngröß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
TB 240 B / 1 099 511 627 776TBps 240 Byte/s 1.099.511.627.776
Kbps 103 Bits/s 1.000
Mbps 106 Bits/s 1 000 000Mbps 106 Bits/s 1.000.000
Gbps 109 Bits/s 1.000.000.000
Tbps 1012 Bits/s 1.000.000.000.000Tbps 10 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‐t h i di k it ltungsgeschwindigkeit l
Grundlagen der Rechnernetze ‐ Einführung 57
Delay einer Single‐Hop‐ÜbertragungH1
H2
d
Zeit x zur Übertragung von n Bits bei Distanz d Signalausbreitungs
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‐ÜbertragungH1
d
H2
Zeit x zur Übertragung von n Bits bei Distanz d Signalausbreitungs‐geschwindigkeit l und 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 50MbpsBandbreite speichertBandbreite speichert
Grundlagen der Rechnernetze ‐ Einführung 60
Transferzeit und Effektiver DurchsatzH1
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
010100010111100010011101110010110001101Bitfehler
Paketfehler
Paket 1 Paket 2 Paket 3 Paket 4
Einfacher Zusammenhang zwischen BER und PER, für n Bit Nachrichten ohne FehlerkorrekturNachrichten ohne Fehlerkorrektur
Grundlagen der Rechnernetze ‐ Einführung 62
Additive und Bottleneck‐Kosten
H1 H2R210ms 5ms 10ms
20mse1
e2 e3 eR1 R31Mbps 1Gbps 1Gbps
1Mbps
1 e4
Beispiel: Delay d und Bandbreite b zwischen zwischen H1 und H2
Grundlagen der Rechnernetze ‐ Einführung 63
Multiplikative Kosten
H1 H2R2p1=2/3
p2=1/3 p3=1/2 p4=1/2H1 H2
R1 R3
1 p4 1/2e1
e2 e3 e4
Beispiel: Gesamtpaketverlustrate bei gegebenen PaketverlustratenBeispiel: Gesamtpaketverlustrate bei gegebenen Paketverlustraten pro Link
Grundlagen der Rechnernetze ‐ Einführung 64
PerformanceB i i l Eff kti D h t P k t S it hiBeispiel: Effektiver Durchsatz von Packet‐Switching
Grundlagen der Rechnernetze ‐ Einführung 65
Delay‐EinsparungenCi it S it hi M S it hi P k t S it hi
H1 H2
Circuit‐Switching
R1 R2 H1 H2
Message‐Switching
R1 R2 H1 H2
Packet‐Switching
R1 R2
Grundlagen der Rechnernetze ‐ Einführung 66
Einfluss der Paketgröße H1
R1
Nachrichtenlänge n Bits
Paket‐Payload k Bits
P k H d BiR1
R2
Paket‐Header c Bits
Bandbreite b bps
Delay d SekundenH2
Delay d Sekunden
Anzahl Hops h
Effektiver Durchsatz x
Grundlagen der Rechnernetze ‐ Einführung 67
Beispiel‐PlotGbp
schsatz in
Gtiver Durc
Nachrichtengröße 1 GB
Bandbreite 1 Gbps
H d G öß 64 B
Effekt Header‐Größe 64 Byte
Anzahl Hops 10
Delay pro Hop 10 ms
Paketgröße in KB
Delay pro Hop 10 ms
Grundlagen der Rechnernetze ‐ Einführung 68
Paketgröße in KB
PerformanceB i i l V t il t ti ti h M lti l iBeispiel: Vorteil von statistischem Multiplexing
Grundlagen der Rechnernetze ‐ Einführung 69
Statisches versus Statistisches Multiplexing p
H1
… b bps
p
V hält i d ittl B db it K t t ti ti h
Hn p
Verhältnis x der mittleren Bandbreite pro Knoten von statistischem über statischem Multiplexing bei n Knoten, Zugriffswahrschein‐lichkeit p und Bandbreite blichkeit p und Bandbreite b
Grundlagen der Rechnernetze ‐ Einführung 70
Beispiel‐Plotsung 50% Zugriffwahrscheinlichkeit
tenzuw
eiBa
ndbrei
ber fester
70% Zugriffwahrscheinlichkeit
passte üb
Anzahl Knoten
Angep 90% Zugriffwahrscheinlichkeit
Grundlagen der Rechnernetze ‐ Einführung 71
Anzahl Knoten
Geschichte und Gegenwart
Grundlagen der Rechnernetze ‐ Einführung 72
Geschichte und GegenwartE t i kl d I t tEntwicklung des Internet
Grundlagen der Rechnernetze ‐ Einführung 73
Packet‐Switching der ersten StundeEnde der 1950er Auf Höhe des kalten Krieges
möchte das DoD(1) eine Lösung für ein Command undfür ein Command und Kontrollzentrumsnetz, welches einen nuklearen Angriff überlebt.
Gegen 1960 Das DoD beschließt einen VertragGegen 1960 Das DoD beschließt einen Vertrag mit RAND Corporation, eine Lösung zu finden. Mitarbeiter Paul Baran entwickelte ein stark
Struktur des TelefonsystemsPaul Baran entwickelte ein stark verteiltes und fehlertolerantes System auf Basis von digitalem Packet‐Switching. Der zu dieserPacket Switching. Der zu dieser Zeit amerikanische Telefonmonopolist AT&T findet dieses System jedoch nicht y jrealisierbar.
(1) Das DoD ist das Department of Defense der USA.
Barans verteiltes Switching‐System
Grundlagen der Rechnernetze ‐ Einführung 74
g y
Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003
Das APRANET1967 Die ARPA(1) wechselt ihren Schwerpunkt unter1967 Die ARPA(1) wechselt ihren Schwerpunkt unter
der Leitung von Larry Roberts auf die Erforschung von Netzen. Einer der damals kontaktierten Experten, Wesley Clark, p yentwickelt ein Packet‐Switched Subnetz, in dem jeder Host an einen Router angebunden ist.
Unabhängig davon wurde unter Leitung von Struktur des Packet‐Switched Subets nach Clark
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 abgelehntereferenziert hierbei die ursprünglich abgelehnte Arbeit von Paul Baran.
1969 Die ARPA beauftragt die Consulting‐Firma BBN in Cambridge ein solches Netz und die dazu
Dez 1969 Jul 1970 Mär 1971
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‐f k l b dSoftware zu entwickeln. Das Ergebnis ist das
ARPANET welches schnell größer wurde und bald die ganze USA abdeckte.
(1) Die ARPA, Advanced Research Projects Agency, ist ein staatlicher, amerikanischer,
Apr 1972 Sep 1972
Der Zuwachs im ARPANET
Grundlagen der Rechnernetze ‐ Einführung 75
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.
Der Zuwachs im ARPANET
Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003
Das ARPANET und NSFNET1974 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
Vi t C f d R b t K hvon 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 entwickeltintegrieren. Hierbei wurde auch die Socket‐Schnittstelle entwickelt.
Späte 1970 bisEnde 1980er
Die Teilnahme am ARPANET erforderte einen Vertrag mit dem DoD. Daher beschloss man im NSF(1) einen für allebeschloss man im NSF( ) 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 Dasgeförderte Netze angebunden. Das Ergebnis war das NSFNET. Das ARPANET und das NSFNET wurden erstmals an der Universität Carnegie‐
Das NSF‐Backbone 1988
Grundlagen der Rechnernetze ‐ Einführung 76
Mellon verbunden.
Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003(1) Die NSF ist die US National Science Foundation.
Kommerzialisierung des InternetWä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 desMichigan, 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 vieleMit 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 NSFNETan die nonprofit Corporation ANS (Advanced Networks and Services) vonan 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, g ,Ameritech, MFS und Sprint ab, die einen fairen Wettbewerb der Netzanbieter sicher stellten.
1995 Das ANSNET wurde an American Online verkauft. Damit begann die
Grundlagen der Rechnernetze ‐ Einführung 77
Kommerzialisierung von IP‐Diensten.
WWW
Während der 1990er In vielen anderen Ländern entstehen nationale Forschungsnetze, häufig Ähnlich gestaltet wie das ARPANET und NSFNET. Beispiele sind g g pin 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 MarcCERN 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 immerEs 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
Grundlagen der Rechnernetze ‐ Einführung 79Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003
Geschichte und GegenwartT l f t LAN d St d di iTelefonnetze, LANs und Standardisierung
Grundlagen der Rechnernetze ‐ Einführung 80
Wide‐Area Datennetze
1970er Das verbindungsorientierte Wide‐Area Dantenetz der ersten Stunde das in den 1970er entwickelte X.25 System. Das System wurde y yetwa ein Jahrzehnt verwendet.
1980er In den 1980er X.25 im wesentlichen durch ein neues System, Frame‐Relay ersetzt Es diente (zum teil sogar bis heute)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 Datenentwickelt. 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 internenerhofften Erfolg, wird aber häufig von Carriern für internen Datentransport von Internet‐Traffic verwendet.
Grundlagen der Rechnernetze ‐ Einführung 81
Local‐Area‐NetzeFrü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 k kkommunizieren 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.
Grundlagen der Rechnernetze ‐ Einführung 82Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003
Local‐Area‐NetzeAb 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 p1000Mbps, Switching, Cabling etc.
Neben dem Ethernet‐Standard wurden auch ein Token‐Bus und ein Token‐Ring‐LAN‐Standard etabliert Der Ethernet‐Standard hat sichToken Ring LAN Standard etabliert. Der Ethernet Standard hat sich jedoch weitestgehend hier gegenüber durchgesetzt.
Mitte der 1990er Standardisierung eine Ethernet‐kompatiblen drahtlosen LAN‐Technik namens WiFinamens WiFi.
h l d h
Grundlagen der Rechnernetze ‐ Einführung 83
Drahtloses Netz mit Access‐Point Ad‐hoc Netz
Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003
Standardisierungsgremien
Telekommunikation
ITU I t ti l T l i itITU International TelecommunicaitonUnion
Internationale Standards
ISO International Standards Organization
IEEE Institute of Electrical and Electronics Engineering
Internet‐Standards
ISOC Internet SocietyISOC Internet Society
IAB Internet Architecture Board
IRTF Internet Research Task Force IEEE 802 Working‐Groups
IETF Internet Engineering Task Force
Grundlagen der Rechnernetze ‐ Einführung 84Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003
Zusammenfassung und Literatur
Grundlagen der Rechnernetze ‐ Einführung 85
Zusammenfassung• Rekursive Definition eines Netzes
• Skalierbarkeit durch hierarchische AggregationSkalierbarkeit durch hierarchische Aggregation
• Adressierung, Routing, Forwarding
• Statistisches Multiplexing
• Layering Protokolle• Layering, Protokolle
• Separation‐of‐Concerns
• OSI‐Modell, Internet‐Hour‐Glass‐Modell
• Latenz und Bandbreite• 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 R i t1.2 Requirements
1.3 Network Architecture
1.4.1 Application Programming Interface (Sockets)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 S b tti4.3.1 Subnetting
4.3.2 Classless Routing (CIDR)
[Tanenbaum2003] Andrew S Tanenbaum Computer Networks“[Tanenbaum2003] Andrew S. Tanenbaum, „Computer Networks , Fourth Edition, 2003.1.5 Example Networksp
1.6 Network Standardization
Grundlagen der Rechnernetze ‐ Einführung 87