Verteilte Systeme - Institut für Betriebssysteme und Rechnerverbund

Werbung
TU Braunschweig
Institut für Betriebssysteme
und Rechnerverbund
Verteilte Systeme
Prof. Dr. Stefan Fischer
Kapitel 3: Netzwerk-Grundlagen
Überblick
•
•
•
•
Schichtenmodelle, Protokolle und Dienste
LANs und WANs
Internet
TCP/IP und UDP
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
3-2
Interessante Netzeigenschaften
•
Performance
– Verzögerung, Datenrate
•
Skalierbarkeit
– Ist das Netz immer noch leistungsfähig, wenn es größer wird?
•
Zuverlässigkeit
– Wie verlässlich ist die Datenübertragung?
•
Sicherheit
– Kann die Datenübertragung bzw. ein Rechner im Netz gesichert
werden?
•
Mobilität
– Werden mobile Systeme unterstützt?
•
Quality of Service
– Gibt es mehr als den „best effort“?
•
Multicast
– Ist effiziente Kommunikation mit vielen Partnern möglich?
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
3-3
Netzwerkarchitekturen
• Problem
– Welche Funktionen gibt es, wie verteilen sie sich auf
Komponenten, wie interagieren die Komponenten?
• Ziele
– Ermögliche Design, Implementierung, Betrieb.
– Interoperabilität zwischen Hardware und Software
verschiedener Hersteller. Standards statt proprietärer
Lösungen
• Logische Architektur
– Wie sieht die generische konzeptionelle Struktur des
Kommunikationssystems in jedem Netzwerkknoten aus?
• Physische Architektur
– Wie sieht die konkrete Verbindungsstruktur zwischen den
einzelnen Knoten in einem spezifischen Netzwerk aus ?
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
3-4
Logische Netzwerkarchitektur
Schichtenmodell
Modulstapel in jedem Knoten
Jedes Modul fügt den darunter liegenden Modulen Funktionalität hinzu.
Interaktionen zwischen den Modulen über standardisierte Schnittstellen
(Dienstschnittstelle).
Kooperation von Peer-Modulen über Protokolle.
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
...
...
TL
TL
NL
NL
DL
DL
PHY
PHY
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
Layer
interfaces
Layer
protocols
3-5
Warum Schichtenmodelle?
• Für die Kommunikation über ein Netz müssen
eine Vielzahl von Problemen gelöst werden.
• Die Idee ist, diese komplexe Aufgabe in viele
kleine, weniger komplexe Aufgaben
aufzuteilen.
• Zur Lösung der Aufgaben in einer höheren
Schicht werden die Lösungen der darunter
liegenden Schichten verwendet.
• Bekannte Schichtenmodelle?
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
3-6
OSI-Referenzmodell
• Open System Interconnection - Reference Model
ISO/ITU-T Standard aus den frühen 80ern (ISO 7498).
Ziel: Schaffung der Grundlagen für offene Kommunikationssysteme ohne
proprietäre Technologien
Prinzip und Konzept der
Schichtenarchitektur
weit verbreitete Vorlage (außer für das
Internet !).
Architektur mit 7 Schichten
ISO/ITU-T Standards existieren für jede
der Schichten, aber das Modell wird
praktisch nicht mehr eingesetzt
viel Redundanz, zu komplex
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
Application
processes
Application
Presentation
Session
Transport
Network
Data Link
Physical
7
6
5
4
3
2
1
3-7
TCP/IP-Schichtenmodell
Erster und am weitesten verbreiteter Open Stack
Standardisierung
RFC (Request For Comments) der
IETF (Internet Engineering Task
Force).
(http://freesoft.org/CIE/index.htm)
OSI-RM
Applications
Application 7
Presentation 6
Application
Session 5
TCP/IP versus OSI-RM
Einfacher und wesentlich
pragmatischer
Kein rigoroses Schichtenmodell
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
TCP/IP
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
Transport 4
Transport
Network 3
Internetwork
Data Link 2
(host to)
Physical 1
Network
3-8
OSI-RM: Dienstschnittstellen
• Dienst
Funktionalität, die eine Schicht nach
oben hin anbietet
Dienstschnittstellen
N- SAP
Regeln für die Kommunikation
zwischen benachbarten Schichten in derselben
Station:
Folge von Nachrichten
SAP: Service Access Point; durch eine
Adresse in der Schicht eindeutig definiert
SDU: Service Data Unit.
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Transport entity
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
N-service
primitives
N-SDU
Network entity
DL- SAP
DL-service DL-SDU
primitives
Data Link entity
...
3-9
Datenkapselung
ftp
client
user data
FTP
F
user data
TL
T F
user data
NL
N T F
user data
DL
D N T F
user data
PHY
user data
ftp
server
F
user data
FTP
T F
user data
TL
N T F
user data
NL
D N T F
user data
DL
user file
File transfer protocol
TL protocol
NL protocol
DL protocol
1011010
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
1011010
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
PHY
3-10
Datenübertragung auf Schicht 1
Example:Ethernet
Ethernet
Example:
bustopology
topology
bus
1011010
Effects of attenuation,
distortion, noise, ...
• Physikalisches Medium
Zur Übertragung der Information in Form
einer elektromagnetischen Welle
...
...
PHY
PHY
Medium
Physikalische Schicht
Aufgabe: Übertragung von Bitströmen über das Medium.
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
3-11
Schicht 2: Data Link
Shared medium multipoint link:
Nodes identified by addresses,
frames delivered by flooding
1
2
3
4
3→ 22
3→
1→ 44
1→
Collision
Collision
3→ 22
3→
• Hauptaufgaben
– Fehlerkontrolle
– Regelung des Medienzugriffs (bei Nutzung
eines gemeinsamen Mediums durch viele
Stationen)
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
...
...
DL/MAC
DL/MAC
PHY
PHY
Medium
3-12
Physikalische Netzwerktypen
• Local Area Network
– Überdeckt kleine Fläche
(Gebäude, Campus)
– Sehr schnell
– Billig
– Bekannte Netze
• Wide Area Network
– Für große Flächen
(Länder)
– Eher geringe Datenrate
– Teuer wg. Notwendigkeit
effizienter
Mediennutzung
– Bekannte Netze:
• ISDN
• ATM
• Frame Relay
• Ethernet
• Token Ring
• Wireless LAN
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
3-13
Internetworking
Various
Various WAN
WAN
(data
(data link)
link) technologies
technologies
Various
Various LAN
LAN
(data
(data link)
link) technologies
technologies
Internetworking
Internetworking::
Interconnecting
Interconnecting aa
collection
collection of
of networks
networks
?
Ziel
verbinde mehrere physikalische unterschiedlicher
Architektur miteinander, so dass die Rechner miteinander
kommunizieren können
Umsetzung auf der Vermittlungsschicht (Network Layer)
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
3-14
Das Internet
• Das wichtigste und größte Netzwerk.
• Die Geschichte des Internet begann Ende der 60er
Jahre als kleines Versuchsnetz zwischen vier
Südwest-amerikanischen Einrichtungen.
• Der Aufbau wurde vom Verteidigungsministerium
finanziert.
• Idee: Schaffung eines paketvermittelten Netzes, das
sehr robust und wenig anfällig für Zerstörungen ist.
• Heute: komplette Protokoll-Suite auf den
verschiedenen Schichten
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
3-15
TCP/IP Protocol Stack
Web browser,
e-mail, ...
Applications
Other user
applications
User
space
Application protocols:
HTTP, SMTP, FTP, ...
Application Programming Interface (API)
UDP
TCP
IGMP
RARP
ICMP
IP
RIP
OSPF
OS
kernel
Network
ARP
LAN DL
technology
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Transport
WAN DL
technology
Data Link
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
3-16
Vermittlungsschicht: Aufgaben
• Adressierung
– Eindeutige Identifizierung der angeschlossenen
Stationen (netzübergreifend!)
• Wegewahl durch das Internet
• Überlastkontrolle
– Auch bei hoher Last muss das Netz verfügbar
bleiben
• Segmentation/Reassembly
– Anpassung der Datenpaketgrößen an die
transportierenden Netze
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
3-17
Das Modell von IP
Datagramme
Einzelne, unabhängig voneinander weitergeleitete Pakete, die
sich ihren Weg zum Ziel suchen
Routing-Tabellen
geben den Ausgang zu
einem Ziel an
R2
R1
„Best effort“-Dienst
Keine Garantie für
Auslieferung eines Pakets
Korrekte Reihenfolge
Praktisch keine Echtzeit
x
yx
yx
DA,SA
data
Routing tables
Router R1
DA
y
...
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
yx
Next hop
R3, R4
...
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
R5
R3
R4
yx
yx
Router R3
DA
y
...
Next hop
R6
...
R6
yx
y
Router R6
DA
y
...
Next hop
...
3-18
IPv4-Paketformat
Bits:
Bits: 00
44
88
16
16
19
19
Version
Total
VersionHdrLng
HdrLng Type
Typeof
ofservice
service
Totallength
length
Identification
Flags
Fragment
Identification
Flags
Fragmentoffset
offset
20
20
Time
Protocol
Header
Timeto
tolive
live
Protocol
Headerchecksum
checksum
octets
octets
Source
Sourceaddress
address
Destination
Destinationaddress
address
Options
Options++padding
padding
31
31
Data
Data(≤
(≤65536
65536octets)
octets)
Type
TypeofofService
Servicefield
field(8(8bits)
bits)
Flags
Flagsfield
field(3(3bits)
bits)
00 11 22 33 44 55 66 77
00 11 22
DD==Don’t
Don’tfragment
fragment
Precedence
ToS
0
D
M
M
=
More
fragments
Precedence
ToS
0
D M M = More fragments
Precedence
High:77- -Network
Networkcontrol
control....
....Low:
Low:00- -Routine.
Routine.
Precedence(priority):
(priority): High:
ToS
(Type
of
Service):
8
Min.
delay.
4
Max.
throughput.
2
ToS (Type of Service): 8 - Min. delay. 4 - Max. throughput. 2 -Max.
Max.reliability.
reliability.
11- -Min.
cost
($).
0
Normal
service.
Min. cost ($). 0 - Normal service.
Options:
Options:Security.
Security.Source
Sourcerouting.
routing.Route
Routerecording.
recording.Time
Timestamping.
stamping.
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
3-19
IPv4-Adressen
32 bits
Binäre und dezimale Darstellung
31
Binary:
Dotted decimal:
23
15
7
0
11010100 01111110 11010000 10000111
212
.
126
.
208
.
135
Hierarchische Adressierung
Network number + Host number (RFC 791, 1981).
Hosts können an mehrere Netze angeschlossen sein; jedes
Interface hat dann eine IP-Adresse
network (prefix)
host
Wo liegt die Grenze zwischen Netzwerk und Host ?
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
3-20
IPv4 Classful Addressing
Netzwerkklassen
Es gibt 3 verschiedene Größen für den Netzwerkpräfix und damit 3
Klassen.
Die Netzadresse wird global, die Hostadresse lokal verwaltet.
31
23
Class A: 1.0.0.0 to
0 network
127.255.255.255
Class B: 128.0.0.0 to
10
network
191.255.255.255
Class C: 192.0.0.0 to
110
223.255.255.255
15
7
0
host
host
network
host
Zusätzliche Klassen
31
Class D: 224.0.0.0 to
1110
239.255.255.255
Class E: 240.0.0.0 to
1111
255.255.255.255
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
23
15
7
0
multicast group
reserved (future use)
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
3-21
IP Next Generation: IPv6
• Substantielles Re-Design von IP
–
–
–
–
Basierend auf den erfolgreichen Eigenschaften von IPv4
Erweiterte und verbesserte Funktionalität
Entwickelt zwischen 1992 und 1997
Jetzt stabil, wird in neue Produkte (Router, Betriebssysteme)
eingebaut.
•Neue Eigenschaften
•Erweiterte Adressen (128-bit). Neue Adressierungsschemata.
•Neue flexiblere und effizientere Paketformate
•Auto-Konfiguration („plug-and-play“)
•Adressenauflösung und Gruppenmanagement jetzt Teil von ICMPv6
(ARP, IGMP wurden entfernt)
•Sicherheitsmechanismen direkt im Protokoll (Authentifizierung und
Verschlüsselung)
•Dienstgüteunterstützung
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
3-22
Transportschicht: TCP und UDP
• Aufgabe der Transportschicht: Datentransport
von einem Prozess auf einem Rechner zu
einem (oder mehreren) anderen Prozessen
auf anderen Rechnern im Internet
• Zwei Möglichkeiten
– Der grundlegende unzuverlässige Internetdienst
genügt, dann verwende UDP.
– Er genügt nicht, dann verwende TCP.
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
3-23
Adressierung
Applications
IP address + TCP/UDP port
Applications
TCP, UDP
IP address + Protocol id
TCP, UDP
IP
IP address
IP
DL
DL
PHY
PHY
Welcher Rechner? IP-Adresse.
32 bits (IPv4), im IP-Paketkopf.
Welches Transportprotokoll ? Protocol id im IP Paketkopf.
Welche Anwendung ? TCP/UDP port.
16 bits, im TCP/UDP Paketkopf.
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
3-24
Client-Server-Modell
Server
Server
Distributed application
Client
Client
Wait
Wait for
for service
service request
request
Receive request
Serve request
Send result
Start
Send request
Receive result
Stop
Transport protocol
Server
Wartet ständig an einem Port auf eingehende Verbindungsanfragen. Die
Portnummer ist dem Client bekannt.
Client
Bei einer Anfrage wird ein zur Zeit ungenutzter Port zugewiesen. Die
Anfrage geht an den bekannten Port des Servers.
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
3-25
Beispiel: Telnet-Server und Clients
hugo.int.fr
139.29.100.11
neptun.elc.ro
141.85.43.8
Telnet
client
Telnet
connection
port: 3135
TCP
zola.int.fr
139.29.35.18
Telnet
server
telnet
port: 23
TCP connection
141.85.43.8 : 3135,
139.29.100.11: 23
port: 5768
TCP
TCP connection
139.29.35.18 : 5768,
139.29.100.11: 23
IP
IP
IP datagrams
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Telnet
client
Telnet
connection
TCP
IP
IP datagrams
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
3-26
Eigenschaften von TCP und UDP
• TCP setzt einen zuverlässigen Dienst auf IP
auf:
– Paketauslieferung ist garantiert (bzw. der Sender
erhält zumindest eine Fehlermeldung)
– Die Reihenfolge der eingehenden Pakete
entspricht der Sendereihenfolge
• UDP garantiert dies nicht, ist aber dafür
wesentlich schneller.
• Anwendungen für beide Protokolle?
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
3-27
Umsetzung von TCP
• TCP setzt vor allem die folgenden
Protokollmechanismen ein, um die Effekte
erzielen zu können
– Daten sind numeriert, so dass fehlende Daten
schnell festgestellt werden können
– Mittels ACKnowledgements teilt der Empfänger
den korrekten Empfang von Daten mit
– Mittels Timern stellt der Sender das Ausbleiben
von ACKs fest
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
3-28
TCP Pakete („Segmente“)
Pseudoheader
0
Source IP address
Destinati on IP address
Protocol (6)
TCP segment length
0
IP header
(20 bytes +opt.)
TCP header
(20 bytes +opt.)
TCP data
4
10
16
Source TCP port
Destinati on TCP port
Sequence number
Acknowledgement number
Hdr.len.
Fl ags
Window size
Checksum
Urgent poi nter
Opti ons (if any)
31
Data (if any)
Fl ags:
URG ACK PSH RST SYN FIN
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
3-29
TCP Protokollablauf
UserAA
User
(client)
(client)
TCPAA
TCP
CLOSED
Open-Active
Open-Active
SYN-SENT
TCPBB
TCP
ESTABLISHED
Send(dt[100])
Send(dt[100])
CLOSED
Open-Passive
Open-Passive
SYN,......
SYN,
LISTEN
SYN+ACK,......
SYN+ACK,
Open-Success
Open-Success
UserBB
User
(server)
(server)
SYN-RCVD
Open-Success
Open-Success
ACK,......
ACK,
ESTABLISHED
Deliver(dt[100])
Deliver(dt[100])
...,dt[100]
dt[100]
...,
ACK,......
ACK,
Close
Close
FIN-WAIT-1
FIN,......
FIN,
ACK,......
ACK,
FIN-WAIT-2
Terminate
Terminate
TIME-WAIT
FIN,......
FIN,
ACK,......
ACK,
CLOSED
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
Closing
Closing
CLOSE-WAIT
Close
Close
LAST-ACK
Terminate
Terminate
CLOSED
3-30
Höhere Schichten
•
•
Hauptaufgabe: Unterstützung der
Anwendung
Mögliche Struktur:
– Session (5):
Steuerung der
Kommunikationssitzung
– Presentation (6):
Kodierung der Information.
– Application (7):
Protokolle zur Unterstützung
bestimmter
Anwendungsaufgaben: www,
e-mail, file transfer, telnet,
network file system, network
management, ...
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Application
processes
Application
processes
Upper
layers
Upper
layers
TL
NL
DL
PHY
TL
NL
DL
PHY
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
Interconnection network
3-31
Weitere Literatur
• A. Tanenbaum: Computer Networks, 4th ed.,
Prentice Hall, 2003.
Prof. Dr. Stefan Fischer
IBR, TU Braunschweig
Verteilte Systeme
Kapitel 3: Netzwerk-Grundlagen
3-32
Herunterladen