• Keine Ergebnisse gefunden

Grundlagen der Rechnernetze

N/A
N/A
Protected

Academic year: 2022

Aktie "Grundlagen der Rechnernetze"

Copied!
87
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Grundlagen der Rechnernetze

Einführung

Einführung

(2)

Übersicht

• Basisbausteine und Begriffe

• Kommunikationsgrundlagen Kommunikationsgrundlagen

• Adressierung

• Protokolle und Schichten

• Performance

• Performance

• Geschichte und Gegenwart

(3)

Basisbausteine und Begriffe

3 Grundlagen der Rechnernetze ‐Einführung

(4)

Hosts und Links

H1 H2

Link

Host

(5)

Nachricht, Stream, Paket

H1 M H2 H3 S H4

P

1

P

2

… P

n

Payload

Header Trailer

Erstes Bit Letztes Bit

Bytes

5 Grundlagen der Rechnernetze ‐Einführung

Erstes Bit Letztes Bit

(6)

Multiple‐Access

H

1

H

2

H

3

… H

n

(7)

Multiplexing

H

1

H

4

H

2

H

5

H

3

H

6

H

1

H

4

H

2

… H

5

H

3

H

6

Grundlagen der Rechnernetze ‐Einführung 7

(8)

Skalierbarkeit von Multiple‐Access‐Netz?

H H H H

H

1

H

2

H

3

… H

n

Annahme alle Knotenpaare kommunizieren gleich häufig Annahme alle Knotenpaare kommunizieren gleich häufig.

Was ist der Anteil s des Mediums pro Knotenpaar?

(9)

Skalierbarkeit von vollvermaschtem Netz?

H1 H2 H11

H10 H3 H9 H4

H8 H5

H6 H7

Anzahl Links k pro Knoten und Gesamtanzahl Links l? p

9 Grundlagen der Rechnernetze ‐Einführung

(10)

Switched‐Network

H1 H2 H3

S1 H8

H4 S1

H7

S2 S3 S4 H4

S5

H6 H5

(11)

Cloud‐Icon

H1 H2 H3

S1 H8

H4 S1

N H7

S2 S3 N S4 H4

S5

H6 H5

11 Grundlagen der Rechnernetze ‐Einführung

(12)

Internet

H1 H2

H3

N1

R1 R2

H4

N3 N2

H9

R3 H5

H8

H7 H6

(13)

Rekursive Anwendung des Cloud‐Icons

H1 H2

H3

N1

R1 R2

H4

N3 N2

H9 N

R3 H5

H8

H7 H6

13 Grundlagen der Rechnernetze ‐Einführung

(14)

Netzgrößen

(15)

Netze und Graphen

H1 H2

H3

H1

H2

H3

N1

R1 R2

H4

N1

R1 R2 H4

N3 N2

R3 H5

H9

H8

N2

H5

H9 N3

R3

H7 H6

H7 H6 H8

Definition: Graph

15 Grundlagen der Rechnernetze ‐Einführung

(16)

Beispieltopologien

Bus Baum

Stern Ring Mesh

Stern Ring Mesh

(17)

Kommunikationsgrundlagen

Grundlagen der Rechnernetze ‐Einführung 17

(18)

Kommunikationsformen

H1 H2

H3

N1

R1 R2

H4

N3 N2

H9

R3 H5

H8

H7 H6

(19)

Forwarding‐Tabelle

Zieladresse Nächster Hop

4711 3

7893 2

3467 5

2576 2

… …

6 1

… …

R

1 2 3 5

4 3

19 Grundlagen der Rechnernetze ‐Einführung

(20)

Timeouts und Acknowledgments

H1 H2

H3

N1

R1 R2

H4

N3 N2

H9

R3 H5

H8

H7 H6

(21)

Verbindungsorientiert und Verbindungslos

H1 H2

H3

N1

R1 R2

H4

N3 N2

H9

R3 H5

H8

H7 H6

21 Grundlagen der Rechnernetze ‐Einführung

(22)

Client‐Server‐Prinzip

H N N S

(23)

Adressierung

Grundlagen der Rechnernetze ‐Einführung 23

(24)

Physikalische Adresse – Beispiel Ethernet

00001000 00000000 00101011 11100100 10110001 00000010 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 1XXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX

{8X,…,FX}:XX:XX:XX:XX:XX

(25)

Flache und hierarchische Adressräume

H1 H2 H3

H1 H2 H3 H7 H8 H9

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

R2 H4

2

3

2.7

2.8

H5 6

2.1

2.4

H5 H6

Grundlagen der Rechnernetze ‐Einführung 25

(26)

Konsequenz für Forwarding‐Tabelle

H1 H2 H3

H1 H2 H3 H7 H8 H9

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

R2 H4

2

3

2.7

2.8

Ziel Next‐Hop H1 nach R1

H5 6

2.1

2.4

H2 nach R1 H3 nach R1 H4 direkt

Ziel Next‐Hop 1.X nach R1 2 X direkt

H5 H6

H5 direkt

H6 direkt H7 nach R3

2.X direkt 4.X nach R3

(27)

Classful IP‐Adressen

10101011 01000101 11010010 11110101

171 69 210 245 171.69.210.245

Cl A Class A

0 Netz Host

7 24

14 16

Class B

1 0 Netz Host

Cl C

1 1 0 Netz Host

21 8

Class C

Grundlagen der Rechnernetze ‐Einführung 27

(28)

Bedarf für eine weitere Hierarchieebene

H1 H2 H3

H1 H2 H3 H7 H8 H9

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

R2 H4

2

3

2.7

2.8

H5 6

2.1

2.4

H5 H6

Eingang ins Campus‐Netz g g p

(29)

Subnetze

14 16

Zum Beispiel

1 0 Netz Host

Zum Beispiel Class B Adresse

11111111 11111111 11111111 (255.255.255.0)

Subnetz Maske 00000000

Netznummer

Ergebnis Netznummer Subnetz Host

Ergebnis Subnetz Host

Grundlagen der Rechnernetze ‐Einführung 29

(30)

Subnetting‐Beispiel

Subnetznummer : 128. 96. 34. 0 = 100000000 01100000 00100010 00000000 Subnetzmaske : 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 10000000 255.255.255.128 = 111111111 11111111 11111111 10000000

H2

128. 96. 34.139 = 100000000 01100000 00100010 10001011

(31)

Konsequenz für Forwarding‐Tabellen

Subnetznummer : 128. 96. 34. 0 Subnetzmaske : 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

R1

128. 96. 34.130 Interface 2

Netznummer Nächster Hop

128. 96. 34.128 255.255.255.128

128 96 34 139

128.96 …

R3 H2

128. 96. 34.139

R2

128. 96. 34.129

128. 96. 33. 1 128. 96. 33. 0 255 255 255 0

Grundlagen der Rechnernetze ‐Einführung 31

Beispiel: Verwendung des Class B Netzes 128.96.X.X

255.255.255. 0

(32)

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

H1 R1 H2

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

(33)

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. 256 Hosts im Netz haben?

1. Beantrage ein Class‐B‐Netz. Effizienz?

2 B t i Cl C N t

2. Beantrage zwei Class‐C‐Netze.

Grundlagen der Rechnernetze ‐Einführung 33

(34)

Lösung: Classless‐Interdomain‐Routing (CIDR)

Aggregiere Netz‐Adressen.

Beispiel: Annahme wir haben 16*256 1 Hosts Beispiel: 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.16 192 4 17 192.4.17 ...

192.4.31

Beobachtung: alle Adressen beginnen mit denselben 20 Bits:

(35)

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

(36)

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

fasst die 2 4 16 aufeinander folgenden Class C Netze beginnend 

mit 192.4.16 zusammen

(37)

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

(38)

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 l

CIDR erlaubt weitere Routenaggregation. Beispiel:

Kunden‐Netze

Advertise 128.112.128/21

128.112.128/24

Internet‐Anbieter

128.112.135/24

(39)

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?

Network‐Address Next Hop

171.69.10.5?

... ...

171 69/16 if1

Wohin mit der Nachricht an 171.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.)

(40)

Subnetting versus CIDR

• Subnetting erlaubt das Aufteilen einer  Netzadresse in Teilnetze

– Aufteilung annähernd beliebig; alles was mit der  Subnetzmaske ausdrückbar ist

Subnetzmaske 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“ 

verwendet

verwendet 

(41)

Protokolle und Schichten

Grundlagen der Rechnernetze ‐Einführung 41

(42)

Protokoll und Interface

Host 1 Host 2

Host  1 Host  2

High‐Level Objekt High‐Level Objekt

Service Interface

Service Interface

Protokoll Protokoll

Peer‐to‐peer

Interface

(43)

Message‐Sequence‐Chart (MSC)

H1 H2

Grundlagen der Rechnernetze ‐Einführung 43

(44)

Protokollzustandsautomat

connection request/ q / connection response

file request/

file response Wait for

ti Wait for file

file response connection

request request

close request

close request

(45)

Beispiel

H N N 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

_ _ _ _ _

(46)

Protokollgraph

Host  1 Host  2

Protokoll 1 Protokoll 2 Protokoll 1 Protokoll 2 Protokoll 1

Protokoll 3

Protokoll 2 Protokoll 1

Protokoll 3

Protokoll 2

Protokoll 3 Protokoll 4

Protokoll 3

Protokoll 4

(47)

Nachrichtenkapselung

Host  1

Anwendung 1

Host  2

Anwendung 1 Anwendung 1

Daten

Anwendung 1 Daten

Protokoll 1

Daten H1

Protokoll 1

Daten H1

Protokoll 2 Protokoll 2

Protokoll 3

Daten H1

H2

Protokoll 3

Daten H1

H2

Daten H1

H2 H3

Grundlagen der Rechnernetze ‐Einführung 47

Daten H1

H2 H3

(48)

Multiplexing und Demultiplexing

Host  1 Host  2

Protokoll 1 Protokoll 2 Protokoll 1 Protokoll 2 Protokoll 1

Protokoll 3

Protokoll 2 Protokoll 1

Protokoll 3

Protokoll 2

Protokoll 3 Protokoll 4

Protokoll 3

Protokoll 4

(49)

OSI‐Modell

Grundlagen der Rechnernetze ‐Einführung 49

Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003

(50)

Internet‐Modell

Nothing stated

by TCP/IP model

(51)

Internet‐Protokolle

Grundlagen der Rechnernetze ‐Einführung 51

Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003

(52)

Anwendungssicht auf TCP

Erzeugen 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‐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 send(int socket, char message, int len, int flags)

(53)

Adressen im Internet‐Modell

Host 2 Host 1

Application Application Application Application

TCP UDP UDP TCP

Port

TCP UDP UDP TCP

Demux‐Key

IP IP

IP‐Adresse

LINK LINK

Physikalische Adresse

physical physical

Adresse

53 Grundlagen der Rechnernetze ‐Einführung

(54)

Performance

(55)

Bandbreite

1 s

1 Sekunde

0 1 1 0 0 1 1 …

1 Sekunde

Bandbreite b in obigem Beispiel:

Grundlagen der Rechnernetze ‐Einführung 55

(56)

Bps und bps

Kenngröße Größenordnung Wert

KBps 2

10

Byte/s 1.024

MBps 2

20

Byte/s 1.048.576

GBps 2

30

Byte/s 1.073.741.824

TB 2

40

B / 1 099 511 627 776

TBps 2

40

Byte/s 1.099.511.627.776

Kbps 10

3

Bits/s 1.000

Mbps 10

6

Bits/s 1 000 000

Mbps 10

6

Bits/s 1.000.000

Gbps 10

9

Bits/s 1.000.000.000

Tbps 10

12

Bits/s 1.000.000.000.000

Tbps 10 Bits/s 1.000.000.000.000

Vereinfachung für Überschlagsrechnungen:

(57)

Propagation‐Delay

H1

d

H2

Zeit x zur Übertragung eines Bits bei Distanz d und Signalausbrei‐

t h i di k it l tungsgeschwindigkeit l

Grundlagen der Rechnernetze ‐Einführung 57

(58)

Delay einer Single‐Hop‐Übertragung

H1

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:

(59)

Delay einer Multi‐Hop‐Übertragung

H1

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

(60)

Delay‐Bandbreiten‐Produkt

Bandbreite

Delay

Beispiel: Anzahl Bits n die ein Kanal mit 100ms Latenz und 50Mbps Bandbreite speichert

Bandbreite speichert

(61)

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

(62)

Bitfehlerrate und Paketverlustrate

010100010111100010011101110010110001101

Bitfehler

Paketfehler

Paket  1 Paket  2 Paket 3  Paket 4

Einfacher Zusammenhang zwischen BER und PER, für n Bit  Nachrichten ohne Fehlerkorrektur

Nachrichten ohne Fehlerkorrektur

(63)

Additive und Bottleneck‐Kosten

H1 10ms 5ms R2 10ms 20ms H2

e

1

e

2

e

3

R1 R3 e

1Mbps 1Gbps 1Gbps

1Mbps

1

e

4

Beispiel: Delay d und Bandbreite b zwischen zwischen H1 und H2

Grundlagen der Rechnernetze ‐Einführung 63

(64)

Multiplikative Kosten

H1 p

1

=2/3 R2 H2

p

2

=1/3 p

3

=1/2

p

4

=1/2

H1 H2

R1 R3

1

p

4

1/2

e

1

e

2

e

3

e

4

Beispiel: Gesamtpaketverlustrate bei gegebenen Paketverlustraten

Beispiel: Gesamtpaketverlustrate bei gegebenen Paketverlustraten 

pro Link

(65)

Performance

B i i l Eff kti D h t P k t S it hi Beispiel: Effektiver Durchsatz von Packet‐Switching

Grundlagen der Rechnernetze ‐Einführung 65

(66)

Delay‐Einsparungen

Ci 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

(67)

Einfluss der Paketgröße 

H1

R1

Nachrichtenlänge n Bits Paket‐Payload k Bits

P k H d Bi

R1 R2

Paket‐Header c Bits Bandbreite b bps

Delay d Sekunden

H2

Delay d Sekunden

Anzahl Hops h

Effektiver Durchsatz x

Grundlagen der Rechnernetze ‐Einführung 67

(68)

Beispiel‐Plot

G bp s chsa tz   in   G tiv er   Dur c

Nachrichtengröße 1 GB Bandbreite 1 Gbps

H d G öß 64 B

Ef fe kt Header‐Größe 64 Byte

Anzahl Hops 10

Delay pro Hop 10 ms

Paketgröße in KB

Delay pro Hop 10 ms

Paketgröße in KB

(69)

Performance

B i i l V t il t ti ti h M lti l i Beispiel: Vorteil von statistischem Multiplexing

Grundlagen der Rechnernetze ‐Einführung 69

(70)

Statisches versus Statistisches Multiplexing 

H

1

p

b bps

p

V hält i d ittl B db it K t t ti ti h

H

n

p

Verhältnis x der mittleren Bandbreite pro Knoten von statistischem  über statischem Multiplexing bei n Knoten, Zugriffswahrschein‐

lichkeit p und Bandbreite b

lichkeit p und Bandbreite b

(71)

Beispiel‐Plot

sung 50% Zugriffwahrscheinlichkeit

te n zu w ei Bandbr ei b er   fe ste r  

70% Zugriffwahrscheinlichkeit

p ass te   ü b

Anzahl Knoten

Ang e p

90% Zugriffwahrscheinlichkeit

Grundlagen der Rechnernetze ‐Einführung 71

Anzahl Knoten

(72)

Geschichte und Gegenwart

(73)

Geschichte und Gegenwart

E t i kl d I t t Entwicklung des Internet

Grundlagen der Rechnernetze ‐Einführung 73

(74)

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

für ein Command und 

Kontrollzentrumsnetz, welches  einen nuklearen Angriff überlebt.

Gegen 1960 Das DoD beschließt einen Vertrag Gegen  1960 Das DoD beschließt einen Vertrag 

mit RAND Corporation, eine  Lösung zu finden. Mitarbeiter 

Paul Baran entwickelte ein stark

Struktur des Telefonsystems

Paul Baran entwickelte ein stark  verteiltes und fehlertolerantes  System auf Basis von digitalem  Packet‐Switching. Der zu dieser Packet Switching. Der zu dieser  Zeit amerikanische 

Telefonmonopolist AT&T findet  dieses System jedoch nicht  y j realisierbar.

(1)Das DoD ist das Department of Defense der USA.

Barans verteiltes Switching‐Systemg y

(75)

Das APRANET

1967 Die ARPA(1)wechselt ihren Schwerpunkt unter 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, p y

entwickelt 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 abgelehnte referenziert 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 d

Software 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

(76)

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 

Vi t C f d R b t K h 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

integrieren. Hierbei wurde auch die Socket‐Schnittstelle entwickelt.

Späte 1970 bis Ende 1980er

Die Teilnahme am ARPANET erforderte  einen Vertrag mit dem DoD. Daher  beschloss man im NSF(1) einen für alle beschloss 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 Das geförderte Netze angebunden. Das  Ergebnis war das NSFNET. Das  ARPANET und das NSFNET wurden  erstmals an der Universität Carnegie‐

Das NSF‐Backbone 1988

(77)

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 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 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 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, 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.

(78)

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 p 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 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 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.

(79)

Vereinfachte Übersicht des heutigen Internets

Grundlagen der Rechnernetze ‐Einführung 79

Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003

(80)

Geschichte und Gegenwart

T l f t LAN d St d di i

Telefonnetze, LANs und Standardisierung

(81)

Wide‐Area Datennetze

1970er Das verbindungsorientierte Wide‐Area Dantenetz der ersten Stunde  das in den 1970er entwickelte  X.25 System. Das System wurde  y y

etwa 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 Daten 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

erhofften Erfolg, wird aber häufig von Carriern für internen  Datentransport von Internet‐Traffic verwendet.

Grundlagen der Rechnernetze ‐Einführung 81

(82)

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 

k k

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.

(83)

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  p 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 Token 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 WiFi

namens 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

(84)

Standardisierungsgremien

Telekommunikation

ITU I t ti l T l i it

ITU International Telecommunicaiton Union

Internationale Standards

ISO International Standards  Organization

IEEE Institute of Electrical and Electronics  Engineering

Internet‐Standards ISOC Internet Society ISOC Internet Society

IAB Internet Architecture Board

IRTF Internet Research Task Force IEEE 802 Working‐Groups IETF Internet Engineering Task Force

(85)

Zusammenfassung und Literatur

Grundlagen der Rechnernetze ‐Einführung 85

(86)

Zusammenfassung

• Rekursive Definition eines Netzes

• Skalierbarkeit durch hierarchische Aggregation Skalierbarkeit 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

(87)

Literatur

[PetersonDavie2007] Larry L. Peterson and Bruce S. Davie, „Computer  Networks: A Systems Approach“, Edition 4, 2007.

1 2 R i t

1.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 tti

4.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 Networks p

1.6 Network Standardization

Grundlagen der Rechnernetze ‐Einführung 87

Referenzen

ÄHNLICHE DOKUMENTE

int accept(int socket, struct sockaddr *address, int *len) address : enthält IP-Adresse und Port. backlog : Anzahl

int accept(int socket, struct sockaddr *address, int *len) address : enthält IP-Adresse und Port.. backlog : Anzahl

int accept(int socket, struct sockaddr *address, int *len) address : enthält IP-Adresse und Port. backlog : Anzahl

int accept(int socket, struct sockaddr *address, int *len) address : enthält IP-Adresse und Port. backlog : Anzahl

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

Das Verfahren integrierte Planung im Dialog Die Vorgehensweise setzte auf ein integriertes, Ergebnis orientiertes Verfahren und knüpfte dabei an vorhandene Untersuchungen, Planungen

➥ int sendto(int sockfd, char *msg, int len, int flags, struct sockaddr *addr, int addrlen);. ➥ msg: zu sendende Nachricht (L

➥ int sendto(int sockfd, char *msg, int len, int flags, struct sockaddr *addr, int addrlen);. ➥ msg: zu sendende Nachricht (L