Kommunikationsunterstützung

Werbung
Kommunikationsunterstützung:
g
Elementare Kommunikationstechniken
vsis inf min uni hh ws 12_13
VIS-1 Komm-1
Kooperationsformen in verteilten Systemen
Kooperationsformen:
Benutzer- / Anwendungsebene
- zwischen Organisationseinheiten, Menschen,...
- z.B. Anfrage, Antwort, Auftrag, Mitteilung, Broadcast...
Kommunikationsformen (Kommunikationsmodell):
• verwendet zwischen Netzknoten, Rechnern, Prozessen, Anwendungen, ...
• Alternativen:
- Nachrichten,
- Prozeduraufrufe,
P
d
f f
- gemeinsam zugänglicher Speicherbereich (physisch/logisch)
- ...
vsis inf min uni hh ws 12_13
VIS-1 Komm-2
Kommunikationstechniken in verteilten Systemen
Kommunikationstechniken (generell):
•
Techniken zur Realisierung der Kommunikationsanforderungen
•
Alternativen: - Nachrichten versenden oder
- (physisch) gemeinsamen Speicher nutzen
Kommunikationstechniken (verteilte Umgebung):
•
kein (p
(physisch)
y
)g
gemeinsamer Speicher
p
vorhanden,,
deshalb (physisch) immer nur Nachrichten versenden
•
aber: es gibt viele verschiedenen Arten, dies zu tun, und derartige Funktionen
den BenutzerInnen anzubieten
Zwischen allen Abstraktionsebenen:
Implementierung der abstrakten Konzepte einer Ebene erfolgt immer
durch konkrete Techniken der darunter liegenden Ebene!
vsis inf min uni hh ws 12_13
VIS-1 Komm-3
Basis: Kommunikationstechnologie
Firma A
Firma B
“Internet”
“Intranet”
“Extranet”
Kommunikationsstandards !!!
Neuere Entwicklungen der Netzwerktechnologie (u.a.):
Teilelieferanten
•
•
Kupfer --> Glasfaser --> Wireless
getrennte Netze für einzelne Dienst --> integrierte Netze / QOS
Volumen des Datenverkehrs übertrifft das der Sprachübertragung (VoIP: nur Daten!)
•
...
•
vsis inf min uni hh ws 12_13
VIS-1 Komm-4
A typical
yp
portion
p
of the Internet
intranet
ISP
b kb
backbone
satellite link
desktop computer:
server:
network link:
[Coulouris/Dollimore/Kindberg: Figure 1
1.1
1 ff
ff.]]
vsis inf min uni hh ws 12_13
VIS-1 Komm-5
A typical intranet
email server
Desktop
computers
print and other servers
Local area
network
Web server
email server
File server
print
other servers
the rest of
the Internet
router/firewall
vsis inf min uni hh ws 12_13
VIS-1 Komm-6
Portable and handheld devices in a distributed
system
Internet
Host intranet
Wireless LAN
Mobile
phone
Laptop
Printer
Camera
vsis inf min uni hh ws 12_13
WAP
gateway
Home intranet
Host site
VIS-1 Komm-7
Web servers and web browsers
Web servers
http://www.google.comlsearch?q=obama
www google com
www.google.com
Browsers
Internet
www.cdk5.net
http://www.cdk5.net/
www.w3c.org
File system of
www.w3c.org
http://www.w3.org/standards/faq.html#conformance
standards
faq.html
vsis inf min uni hh ws 12_13
VIS-1 Komm-8
Computers vs. Web servers in the Internet
[C/D/K/B12
Date
Computers
Web servers
Percentage
1993, July
1995, July
1997 July
1997,
J l
1999, July
2001 July
2001,
1 776 000
1,776,000
130
0 008
0.008
6,642,000
19 540 000
19,540,000
56,218,000
125 888 197
125,888,197
23,500
1 203 096
1,203,096
6,598,697
31 299 592
31,299,592
0.4
6
12
25
2003, July
~200,000,000
42,298,371
21
2005 July
2005,
J l
353 284 187
353,284,187
67 571 581
67,571,581
19
vsis inf min uni hh ws 12_13
]
VIS-1 Komm-9
Kommunikationstechniken:
Grundlegende Netzdienste und -technologien
Netzdienste:
•
Telefon, Telex, Telefax, ...
•
E-Mail, Btx, ..., Kabel-TV, Video-on-Demand...
•
Zugriff auf Dateien, Rechner, Datenbanken ...
•
D t L / -P
Datex-L
P / -J,
J 'Corporate
'C
t Networks',
N t
k ' ...
•
SMDS (Switched Multimegabit Data Service): Datex-M
Kommunikationstechnologien:
•
•
LANs: Ethernet, Token Ring, Token Bus, ...
WANs: Fernsprechnetz
p
((!),
), Miet- / Standleitungen,
g ,
•
öffentliche (z.B.Paket-) Vermittlungsnetze (wie Datex-P),
•
dienstintegrierende Netze (wie ISDN)
•
Wireless...: ...WLANs, ...WANs ---> GSM/GPRS/UMTS, IR, Bluetooth,...
•
MANs: B-ISDN, FDDI, DQDB, ... ---> INTEGRATION (!?!):
Hochgeschwindigkeitskommunikation mit ATM (Asynchronous Transfer Mode)
vsis inf min uni hh ws 12_13
VIS-1 Komm-10
Kommunikationstechniken:
Netztopologien
St
Stern:
Ri
Ring:
vollst.
ll t vermascht:
ht
Baum (Hierarchie):
teilw. vermascht:
Bus:
vsis inf min uni hh ws 12_13
VIS-1 Komm-11
Anforderungen
g an die Kommunikationstechnik
Performanzkriterien:
Verzögerung ('Latency') [ sek ] : - abh. von Netzausdehnung (Distanz)
Datenübertragungszeit [ sek ] :
= Verzögerung [ sek ] + Datenmenge [ # Bits ] / Bandbreite [ # Bits / sek ]
Bandbreite (('Bandwidth'
Bandwidth od.
od 'Data
Data Transfer Rate')
Rate ) [ # Bits / sek ] ̶ auch:
„Datenübertragsrate“ : übertragbares Datenvolumen pro Zeiteinheit
Zuverlässigkeitskriterien:
Garantie über maximal mögliche Datenverlust- od. -fehlerrate [ 10 -n ]
Unterschiedliche Anforderungen - je nach Daten- bzw. Dienstart
---> "Quality of Service" (QoS) - Parameter
vsis inf min uni hh ws 12_13
VIS-1 Komm-12
Arten von Netzwerken
nach: [Coulouris/Dollimore/Kindberg,
Pearson Education, 5. Auflage, 2012]
vsis inf min uni hh ws 12_13
VIS-1 Komm-13
Kommunikationsnetze: Hardware
A) Übertragungsleistung früher (ca. 1990) :
Netztyp
Ausdehnung Verzögerung
Cluster
LAN
MAN
WAN
100 m
1 km
100 km
10 000 km
0,5 µs
5 µs
0,5 ms
50 ms
nach: [Gray/Reuter: 'Transaction Processing', Morgan Kaufman Pub., 1993]
Bandweite
1 KB?
1 Gbit/s
10 Mbit/s
1 Mbit/s
50 Kbit/s
10 µs
1 ms
10 ms
210 ms
B) Übertragungsleistung ab ca. 2000 :
Netztyp
Ausdehnung Verzögerung
Cluster
LAN
MAN
WAN
100 m
1 km
100 km
10 000 km
Übertragungszeit
g g
=
vsis inf min uni hh ws 12_13
0,5 µs
5 µs
0,5 ms
50 ms
Bandweite
1-10 Gbit/s
1-10 Gbit/s
100 Mbit/s
100 Mbit/s
Distanz
# Bits
------------- + ---------------- [[sek]]
Cm
Bandweite
1 KB?
5 µs
10 µs
0,6 ms
50 ms
Annahmen:
Cm = ca. 300 Mio m/sek
Latency = ca. Distanz / Cm
VIS-1 Komm-14
Lokale Netze (LAN): IEEE-Standards
• direkte Übertragung von Nachrichten ohne Zwischenspeicherung
• hohe Übertragungsrate (bis zu 16/100/1000/10000 Mbit/s)
• Broadcast-Kommunikation - relativ zuverlässig
• Basis: IEEE-Standards 802.x: Higher Layer Interfaces (IEEE 802.1)
• Beispiele:
+ MANs: DQDB + FDDI
(IEEE 802.6)
+ Broadband (IEEE 802.7)
IEEE Standards für
ISO/OSI
Layer 2
Logical Link Control (LLC, IEEE 802.2)
Ethernet - CSMA/CD (IEEE 802.3)
Token Bus (IEEE 802.4)
Token Ring (IEEE 802.5)
...
Wireless LAN (IEEE 802.11), …
Personal Area Networks (IEEE 802.15)
WIMAX (IEEE 802.16)…
802.2
802.3 802.4
802.5 802.6
802.7
802 1
802.1
... 802.11 ... 802.16
------------------- Media Access Control, MAC --------------------
vsis inf min uni hh ws 12_13
LLC
MAC
VIS-1 Komm-15
IEEE 802 Netzwerk-Standards
IEEE No.
802.3
Name
Ethernet
Title
Reference
CSMA/CD Networks (Ethernet)
[IEEE 1985a]
802.4
Token Bus Networks
[IEEE 1985b]
802.5
Token Ring Networks
[IEEE 1985c]
802.6
Metropolitan Area Networks
[IEEE 1994]
Wireless Local Area Networks
[IEEE 1999]
802.11
WiFi
802.15.1
Bluetooth Wireless Personal Area Networks
802.15.4 ZigBee
802.16
WiMAX
802 17
802.17
802.18
802.19
WRAN
802 20
802.20
vsis inf min uni hh ws 12_13
Wireless Sensor Networks
Wireless Metropolitan Area Networks
Resilient Package Ring
Radio Regulatory
Wireless Coexistence
M bil Broadband
Mobile
B db d Wireless
Wi l Access
A
[IEEE 2002]
[IEEE 2003]
[IEEE 2004a]
[IEEE 2012]
[IEEE 2011]
VIS-1 Komm-16
Virtuelle Netztopologien
Monitorstation
Repeater /
Hubs (L 1)
Bus
+ Bridges /
Switches (L 2)
Ring
+ Router (L 3)
+ Gateways (L 4+)
vsis inf min uni hh ws 12_13
VIS-1 Komm-17
Beispiel: 'Ethernet'
(IEEE 802.3)
802 3)
• entwickelt am Xerox PARC,
PARC 1973
• Bus-Netzwerk
• Paket-Layout:
Zi l d
Zieladresse
6
Ab
Absenderadresse
d d
6
T
Typ
2
D
Daten
t
46 - 1,5k
Ch
Checksum
k
4 Bytes
• Zugriffsmethode: Carrier Sense with Multiple Access and
Collision Detection (CSMA/CD)
• keine Längenangabe der Daten! (Dafür 9,6 µsec Pause nach jedem Paket)
• Übertragungsrate
g g
zunächst ca. 10 Mbit/s - Fast Ethernet:100 Mbit/s,, 1,, 10 Gbit/s…
vsis inf min uni hh ws 12_13
VIS-1 Komm-18
Ethernet: Entwicklungsstufen
10B 5
10Base5
10B T
10BaseT
100B T
100BaseT
1000B T
1000BaseT
10 Mb
Mbps
10 Mb
Mbps
100 Mbps
Mb
1000 Mb
Mbps
Twisted wire (UTP)
100 m
100 m
100 m
25 m
C i l cable
Coaxial
bl (STP)
500 m
500 m
500 m
25 m
Multi-mode fibre
2000 m
2000 m
500 m
500 m
Mono-mode fibre
25000 m
25000 m
20000 m
2000 m
D rate
Data
Max. segment lengths:
vsis inf min uni hh ws 12_13
VIS-1 Komm-19
CSMA/
CD
Carrier Sense
Multiple Access
unfair !
Collision Detection
vsis inf min uni hh ws 12_13
VIS-1 Komm-20
Beispiel: 'Cambridge Ring'
• entwickelt an der Cambridge University, 1970
• unidirektionaler Ring
• Paket-Layout:
preamble full/empty monitor source destinat. data
response
bi
bit
bi
bit
bi
bit
adr.
d
adr.
d
(16 Bi
Bits))
bi
bit
1
1
1
8
8
16
2
bits
• Zugriffsmethode: slotted ring
fair !
• Übertragungsrate 10 Mbit/s
freight-train
• Monitor-Station
vsis inf min uni hh ws 12_13
VIS-1 Komm-21
Beispiel: 'Token Ring'
(IEEE 802.5)
• entwickelt bei IBM, 1977
• unidirektionaler Ring
• Paket-Layout:
3
6
Token receiver
starting
delimiter
access
control
6
-5k
sender data
4
checksum
1
end_delimiter
1 Bytes
frame status
frame
control
• Zugriffsmethode: Token
„faires“ Protokoll !
• Übertragungsrate
Üb t
t zunächst
ä h t ca. 4-16
4 16 Mbit/s
Mbit/ (später
( ät auch
h 100 Mbit/s
Mbit/ etc.)
t )
• Monitor-Station
vsis inf min uni hh ws 12_13
VIS-1 Komm-22
Token
frei
D
A
Token
belegt
C
A
Daten
B
D
D
C
B
Beispiel:
„TokenRing“Ring
Protokoll
Daten
kopiert
D
Daten
A
C
B
vsis inf min uni hh ws 12_13
A
Token
frei
C
B
VIS-1 Komm-23
Ethernet vs. Token Ring
- keine Monitorstation nötig
- unbestimmte Länge des Rings
- keine Repeater an jeder Station nötig
- Erhöhung der Übertragungsrate
bis zu 100 MBit/sek möglich
- relativ lange Nachrichten
unfair !
fair !
annähernd gleiche Leistungsfähigkeit und Einsatz in der Praxis
vsis inf min uni hh ws 12_13
VIS-1 Komm-24
Netzwerkebene: Alternative Übertragungstechniken
A) Paketvermittlung
- Aufteilung der Nachricht in Pakete fester Länge
- unabhängige Wegewahl
- Protokolle für Reihenfolge, Fehler ...
eher für kurze Nachrichten im WAN geeignet
B) Nachrichtenvermittlung
- Versenden von Nachrichten
- Zusammensetzen der Nachricht an jedem Knoten
- relativ zuverlässig
eher für lokale Netze
C) Leitungsvermittlung
- Verbindungsaufbau, exklusive Nutzung der Verbindung
- danach effiziente Übertragung
eher für lange Nachrichten effizient
vsis inf min uni hh ws 12_13
VIS-1 Komm-25
'End-to-end'-Verzögerung bei lokalen / Weitverkehrsnetzen
Zeit
A
B
C
Paketvermittlung
vsis inf min uni hh ws 12_13
A
B
C
Nachrichtenvermittlung
A
B
C
Leitungsvermittlung
VIS-1 Komm-26
Weitverkehrsnetze (WAN)
Frühes Beispiel: ‚ARPA-Net‘ --> Internet
Host
Packet Switching
Exchange (PSE)
Interface Message
Processor (IMP)
• „store and forward“-Kommunikation
• relativ geringe Übertragungsrate (früher z.B. nur 2 bis 10 kbit/s)
• Pakete können z.B. verloren, dupliziert, verändert werden und die
Reihenfolge kann vertauscht werden
(zunächst) weniger zuverlässige Übertragung
vsis inf min uni hh ws 12_13
VIS-1 Komm-27
Kontinuierliche Datenübertragung: Streams
sending process
DB
receiving process
Program
Program
OS
OS
Stream
Network
Sitzungskontext:
gemeinsame Vereinbarung über Kontext
Übertragungsarten:
- asynchron
- synchron
- isochron
Quality of Service:
vsis inf min uni hh ws 12_13
flow/line specific
VIS-1 Komm-28
Hardware/Software-Abstraktionsebenen
Software-Aufbau:
...
2.1
...
...
2.2
1.1
2.3
1.2
1.3
Dienst = untere Ebenen bieten den oberen einen Dienst an
Protokoll = Regeln zur Kommunikation zwischen Software-Modulen verschiedener Rechner derselben Ebene (Reihenfolgen+Nachrichtenformate)
Inter- / Intra-Ebenen- (i.e. Prozess-) Kommunikation
a) Intra-Ebenen: zuverlässig, 'Peer-to-peer'-Protokoll
b) Inter-Ebenen: 'aktive'/'passive' Komponenten, 'Up'/down'-Aufrufe,
prozedural 'Remote
prozedural,
Remote Procedure Call'
Call
vsis inf min uni hh ws 12_13
VIS-1 Komm-29
Geschichtete Kommunikationsprotokolle
Message received
Message sent
Layer n
Layer 2
Layer 1
Sender
vsis inf min uni hh ws 12_13
phys. communication medium
Recipient
VIS-1 Komm-30
Protokollaufbau nach dem
ISO/OSI-Referenzmodell
Message received
Message sent
Layers
Application
Presentation
Session
Transport
Network
e o
Data link
Physical
Sender
vsis inf min uni hh ws 12_13
phys. communication medium
Recipient
VIS-1 Komm-31
Kommunikationsnachrichten:
geschachtelter Aufbau
Application-layer message
Presentation header
Session header
Transport header
Network header
vsis inf min uni hh ws 12_13
VIS-1 Komm-32
Beispiel für SW-Abstraktion: ISO/OSI-Referenzmodell
für die Kommunikation in heterogenen verteilten Systemen
Knoten A
Knoten B
Anwendungsschicht
Anwendungsschicht
Darstellungsschicht
Darstellungsschicht
Kommunikationssteuerungsschicht
‘Store-and
Store-and
forward’-Knoten
Transportschicht
Kommunikationssteuerungsschicht
Transportschicht
Vermittlungsschicht
Vermittlungsschicht
Vermittlungsschicht
Sicherungsschicht
Sicherungsschicht
Sicherungsschicht
physikalische Schicht
physikalische Schicht
physikalische Schicht
Host
PSE (Packet
Switching Exchange)
vsis inf min uni hh ws 12_13
Host
VIS-1 Komm-33
ISO/OSI-Anwendungsschicht: klassisches Modell
ASE: Application Service Element
• Unterstützung der Kommunikation von Anwendungsprozessen
• allgemeine Dienstelemente (CASE)
- Association Control (ACSE)
- Commitment, Concurrency and Recovery (CCR)
- (Distributed) Transaction Processing (TP)
- Remote Operation Service (ROSE)
• höhere Dienstelemente (SASE)
- File Transfer Access Module (FTAM)
Vi t l T
Terminal
i l (VTP)
- Virtual
- Remote Database Access (RDA)
• sonstige:
vsis inf min uni hh ws 12_13
- Naming/ Directory
- Time Service
S
- Transaction Management
- Security
- HTTP, FTP, SMTP, CORBA IIOP, ...
VIS-1 Komm-34
ISO/OSI-Darstellungsschicht
k di t auszutauschende
kodiert
t
h d Daten
D t gemäß
äß einer
i
vereinbarten
i b t S
Syntax
t
• abstrakte Syntax
-> Menge aller (abstrakt) vereinbarten Typdefinitionen
-> ISO/OSI-Bsp.: ASN.1
+ Kodierungsregeln
-> Regeln zur Kodierung der Daten
-> ISO/OSI-Bsp.: Basic Encoding Rules
=> konkrete Transfersyntax
= abstrakte Transfersyntax + 'Basic Encoding Rules'
+ Secure Sockets (SSL)
(SSL), CORBA Data Representation
Representation, ...
vsis inf min uni hh ws 12_13
VIS-1 Komm-35
ISO/OSI- Kommunikationssteuerungsschicht
• Synchronisation zweier Partnerinstanzen (half/full duplex)
• Management virtueller Verbindungen - Verbindungsauf- und Abbau
- Datentransfer
- Dialogkontrolle mittels Token
- Synchronisation des Datenflusses
ISO/OSI-Transportschicht
• B
Bereitstellung
it t ll
eines
i
vom Netzwerk
N t
k unabhängigen
bhä i
T
Transportdienstes
tdi
t
zwischen Paaren von Ports / Prozessen
• Aufgaben:
g
- Aushandeln einer Transportklasse
(Zuverlässigkeit, verbindungsorientiert/-los, Effizienz, ...)
- meist verbindungsorientierte Übertragung
- Segmentierung der Nachrichten in Pakete
- Sequenznummer für Pakete
• Fehlererkennung / - korrektur:
+ TCP, UDP (s.u.)
vsis inf min uni hh ws 12_13
Klassen 0 - 4
VIS-1 Komm-36
ISO/OSI-Vermittlungsschicht
• transportiert Pakete im Standardformat des Netzwerkes
vom Absender- zum Empfängerknoten
• führt Routing durch
• Beispiele: IP, ATM virtual circuits
ISO/OSI- Sicherungsschicht
• fehlerfreie
f hl f i Üb
Übertragung
t
zwischen
i h di
direkt
kt verbundenen
b d
R
Rechnern
h
• Mechanismen zur: - Fehlerbehandlung
g
- Fehlererholung
- Flusskontrolle
LLC: IEEE - Standards 802.1/2
MAC: IEEE - Standards 802.3/4/5/6,
802 3/4/5/6 ...
Logical Link Control (LLC)
---------------------------------------Media Access Control (MAC)
B
Bsp.:
Ethernett MAC,
Eth
MAC ATM cellll
transfer, PPP
ISO/OSI- Physikalische
y
Schicht
• Übertragung von Sequenzen von binären Daten durch analoge Signale
---> IEEE - Standards 802.3/4/5/6...
B
Bsp.:
Eth
Ethernet
t base
b
band
b d signalling,
i
lli
ISDN
vsis inf min uni hh ws 12_13
VIS-1 Komm-37
Ziele des ISO/OSI-Modells
• standardisierte Datenübertragung in heterogenen Weitverkehrsnetzen
• verbindungsorientierte Übertragung,
Übertragung
• Erweiterungen für verbindungslose Kommunikation
Ziel der Kommunikation in VS
• hohe Zuverlässigkeit
• hohe Leistungsfähigkeit
LAN
• Mehrzahl des Verkehrs innerhalb des VS läuft im lokalen Netz ab
• Ziel der Kommunikation: Unterstützung entfernter Prozeduraufrufe
ZIEL:
vsis inf min uni hh ws 12_13
gleiche Effektivität wie im zentralen System trotz Aufteilung der Systemfunktionen auf mehrere Server
VIS-1 Komm-38
„Leichtgewichtigere“ Protokolle: Beispiel TCP/IP
• OSI-Implementierungen oft zu schwergewichtig, benötigt werden leichtgewichtige Protokolle und Implementierungen
• meist verbindungslose Kommunikation
• LAN relativ zuverlässig, daher Fehlerbehandlung durch RPC
(
("End-to-end"-Argument
[Saltzer
S
1988]))
• Client/Server-Kommunikation mit möglichst geringer Verzögerung
RPC
Anwendungsschicht
XDR,
XDR-Routinen
Darstellungsschicht Präsentationsfunktion
Darstellungsschicht,
UDP / TCP
Transportschicht
IP
Netzwerk
vsis inf min uni hh ws 12_13
Bsp.:
TCP/IP
Netzwerkschicht
Physikalische Schicht
VIS-1 Komm-39
TCP/IP Kommunikationstechnologie
TCP/IP-Kommunikationstechnologie
FTP client
FTP server
TCP
TCP
router
IP
IP
Ethernet
driver
Ethernet
driver
Ethernet
vsis inf min uni hh ws 12_13
IP
token ring
driver
token ring
driver
T k Ring
Token
Ri
VIS-1 Komm-40
Standardisierter Datenkommunikation:
B i i l 'Unix-Sockets'
Beispiel
'U i S k t '
Stream/Datagram Socket
Stream/Datagram Socket
TCP / UDP
TCP / UDP
IP
IP
z B Ethernet
z.B.
Ethernet-Treiber
Treiber
z B Ethernet-Treiber
z.B.
Ethernet Treiber
• Stream
Stream-Sockets
Sockets (TCP: Transport Control Protocol):
- verbindungsorientiert, zuverlässige Kommunikation
- geordnete Nachrichten
• Datagram-Sockets (UDP: User Datagram Protocol):
- verbindungslose,unzuverlässige Kommunikation
- schneller
- ungeordnete Nachrichten
vsis inf min uni hh ws 12_13
VIS-1 Komm-41
TCP/IP Ebenen
Message
g
Layers
Application
Messages (UDP) or Streams (TCP)
Transport
UDP or TCP packets
k t
Internet
IP datagrams
Network interface
Network-specific
Network
specific frames
Underlying network
vsis inf min uni hh ws 12_13
VIS-1 Komm-42
Sockets und Ports
socket
any port
agreed port
socket
message
client
server
other ports
Internet address = 138.37.94.248
vsis inf min uni hh ws 12_13
Internet address = 138.37.88.249
VIS-1 Komm-43
Geschachtelte TCP/IP-Nachricht
Application message
TCP header
port
IP header TCP
Ethernet header IP
Eth
Ethernet
t frame
f
vsis inf min uni hh ws 12_13
VIS-1 Komm-44
a) Datagram-Sockets
Client
Server
s = socket
k t (...,
( Datagram,...)
D t
)
...
s‘‘ = socket
k t (...,
( Datagram,...)
D t
)
...
bind ((s,, ClientAddress))
bind ((s‘,, ServerAddress))
...
...
sendto (s
(s, "msg"
msg ,
ServerAddress)
msg = recvfrom (s
(s‘, buffer,
buffer
from)
Client- / ServerAddress: Socket-ID = Internet-Adresse + Port-ID
vsis inf min uni hh ws 12_13
VIS-1 Komm-45
b) Stream-Sockets
Klient
Server
s = socket (...,STREAM,...)
...
s‘ = socket (...,STREAM,...)
...
connect (s
(s, ServerAddress)
...
bind (s‘
(s , ServerAddress)
listen (s‘,5)
. . . Erzeugen eines neuen Sockets
write (s, "msg", length)
sNew = accept (s‘
(s‘, from)
...
n = read (sNew, buffer, amount)
virtuelle Verbindung
( rite/send read/receive)
(write/send,
read/recei e)
vsis inf min uni hh ws 12_13
VIS-1 Komm-46
Beispiel: Aufbau eines TCP/IP
TCP/IP-Servers
Servers
Server-basierte Applikationen
POP/IMAP
SMTP
X11
NNTP
HTTP
TCP/IP Stack
Betriebssystem
Hardware
vsis inf min uni hh ws 12_13
VIS-1 Komm-47
MobileIP Routing-Mechanismus
Sender
Subsequent IP packets
tunnelled to FA
Mobile host MH
Address of FA
returned to sender
First IP packet
addressed to MH
Internet
Foreign agent FA
Home
agent
vsis inf min uni hh ws 12_13
First IP p
packet
tunnelled to FA
VIS-1 Komm-48
Anwendungsnahe Kommunikationsunterstützung
Sitzungen (('Sessions'/
Sessions / 'Associations')
Associations )
•
feste Beziehung
g zwischen kommunizierenden Prozessen auf Anwendungsg
ebene mit vereinbarten Eigenschaften (Namen, Ressourcen, Charakteristika...)
•
gemeinsamen Zustand zwischen Kommunikationspartnern während der Dauer
der Session aufrechterhalten
•
Mechanismen zur Authentisierung und Autorisierung
Blockierende vs. nicht blockierende Protokolle
Kommunikation zwischen Sender und Empfänger
p g
a) synchron:
Sender blockiert bis zur Antwort
b) asynchron:
send / receive explizit programmiert
vsis inf min uni hh ws 12_13
VIS-1 Komm-49
Formen des Nachrichtenaustausches
in verteilten Systemen
Transportschicht:
---> Nachrichtenaustausch zwischen Paaren von Sockets
(Socket-ID = Netzwerkadresse + Port-ID)
asynchron
mitteilungsorientiert
No-wait-send
auftragsorientiert
Remote
Service/Method
Invocation
vsis inf min uni hh ws 12_13
synchron
Rendezvous
RPC
Kommunikationsstruktur
meist RPC
VIS-1 Komm-50
Bsp. für asynchrone Nachrichtenübertragung
receive (socket_id)
send (socket_id,
message)
Prozess
fährt mit der
Ausführung
fort
...
Prozess
wartet auf
Nachricht
...
receive (socket_id)
Prozess
wartet auf
Nachricht
send (socket_id,
message)
---> 4 Aktionen pro Prozeduraufruf und -antwort
vsis inf min uni hh ws 12_13
VIS-1 Komm-51
Optimiertes
p
synchrones
y
Transportprotokoll
p p
'Amoeba-Nachrichtentransaktion'
Client
Server
GetRequest (..., CltId, req_header,
req_buffer, req_len)
DoOp (SvrId, req_header, req_buffer, req_len,
resp header resp_buffer,
resp_header,
resp buffer resp
resp_len)
len)
blockiert
TA !
blockiert
execute
request
SendReply (CltId,
(CltId ..., resp
resp_header,
header resp
resp_buffer,
buffer
resp_len)
vsis inf min uni hh ws 12_13
---> 3 Aktionen pro RPC !
VIS-1 Komm-52
Asynchrone vs. synchrone
I t
Interprozesskommunikation
k
ik ti (IPK)
• Asynchrone (nicht blockierende) IPK
- bessere Effizienz, da hoher Grad an Parallelität
- nicht blockierendes Senden ist einfach zu implementieren
- nicht blockierendes Empfangen ist schwierig zu implementieren:
-> Pufferung
P ff
von Nachrichten
N h i ht (M
(Mailbox)
ilb )
-> Anzeigen von ankommenden Nachrichten (Interupts)
-> Server muss sich sämtliche Zustände merken
• Synchrone (blockierende) IPK
vsis inf min uni hh ws 12_13
•
schlechtere Effizienz, da blockierend
•
einfachere Synchronisation
•
einfacheres Programmiermodell (!)
VIS-1 Komm-53
Implementation synchroner IPK mittels Threads
- sehr effizient, da hoher Grad an Parallelität:
->
> Wenn ein Thread blockiert
blockiert, fährt ein anderer Thread desselben Clusters fort
- einfache Implementation
- einfache
f
Synchronisation
S
- Realisierung von Servern:
a) Pool von Threads
b) Erzeugen eines neuen Threads bei Ankunft
eines Client-Requests
FAZIT: Möglichkeiten zur Parallelität auf:
a) Anwendungsebene: asynchrone Kommunikation und Scheduling durch Anwendung
selbst (problematisch !)
b) Systemebene: parallele Prozesse / Threads (verwaltet durch BS/Middleware !)
und dennoch synchrone Kommunikation auf der Anwendungsebene
vsis inf min uni hh ws 12_13
einfachere Programmierung !
VIS-1 Komm-54
Effizienzsteigerung: optimierte Protokolle &
H h
Hochgeschwindigkeitsnetze
h i di k it
t
Software
SoftwareBeispiel:
optimierte
Transport
Transportprotokolle
• aktives Warten von Prozessen in Multi-Prozessor-Systemen
y
• effiziente Flusskontrolle --> selektive wiederholte Übertragung
• Vermeidung des Kopierens von Daten
• Übertragung großer Datenpakete
o
o
o
o
•...
Hardware-Beispiel:
•
FDDI (Fiber Distributed Data Interface)
Metropolitan Area
•
DQDB (Distributed Queue Dual Bus)
o
o
---> 100 bis 150 Mbit/s und mehr
Networks (MAN):
--->
> Integration von
on Daten,
Daten Audio,
A dio Video
•
ATM (Asynchronous Transfer Mode) / HS-Netze:
---> LAN/ MAN/ WAN
+ allgemeine Hochgeschwindigkeitsnetze (wie z.B. B-ISDN)
vsis inf min uni hh ws 12_13
VIS-1 Komm-55
Metropolitan Area Networks (MAN):
z B ‚Fiber
z.B.
Fiber Distributed Data Interface‘ (FDDI)
(IEEE 802.6)
T
Topologie:
l i
Dual Ring, bis zu 100 km lang, bis zu 500 Stationen
Übertragungsmedium:
Glasfaserkabel (Kupferkabel)
Bandbreite: ca. 100 Mbit/s
Media Access Control: Token Passing
Synchroner und asynchroner Dienst: Daten- und Sprachübertragung
Anwendungsgebiete:
g g
Großrechner - Peripherie (z.B. Disks)
Backbone für verschiedene lokale Netze (!)
Multimedia-Kommunikation (!?!) - aber: nicht isochron !
vsis inf min uni hh ws 12_13
VIS-1 Komm-56
FDDI-Anschlüsse
[[Wikipedia
p
2008]]
•
•
•
•
•
Unterteilung von Class-A und Class-B Geräten
Class-A Geräte: 2-Anschlüsse, direkte Einbindung möglich (Router, Konzentratoren, Workstations, …)
Class-B Geräte: werden über Konzentratoren angeschlossen
Ausfall eines SAS kann vom Konzentrator über Bypass gehandhabt werden
A
Anschlussmöglichkeiten:
hl
ö li hk it
SAS
SAS, DAS
DAS, D
Dual-Homing
lH i
vsis inf min uni hh ws 12_13
VIS-1 Komm-57
'Metropolitan Area Networks' (MAN):
Beispiel 'Distributed
Distributed Queue Dual Bus'
Bus (DQDB)
(IEEE 802.6)
T
Topologie:
l i (Point-to-point/Open/Looped)
(P i t t
i t/O
/L
d) Dual
D lB
Bus mit
it
Datentransport in entgegen gesetzter Richtung, 2-fach unidirektional
Übertragungssystem:
g g y
hybrid
y
Bandbreite: ca. 140 Mbit/s (Datex-M: n*64 kbit/s, n*2 Mbit/s, 34 Mbit/s)
Zugriffsverfahren: verteilte Warteschlange (mit Request Counter)
Vermittlungsart: Zellenvermittlung (mit Zellen a 53 Bytes - wie ATM),
Paketvermittlung, verbindungslose Kommunikation
Isochroner (!) Dienst: z.B. für Video- und Audioübertragung
(mit Zellreservierung) möglich
Anwendungsgebiete:
Netzkopplung, Multimedia-Kommunikation, ... :
--> Switched Multimedia Data Services (SMDS) - wie zz.B.
B Datex-M
vsis inf min uni hh ws 12_13
VIS-1 Komm-58
Beispielkonfiguration für DQDB
Data
B s1
Bus1
Station
X
A
Station
Y
Station
Z
Bus2
Si
Signal
l
Data
Bus1
B
Station
X
Station
Y
Station
Z
Bus2
Signal
vsis inf min uni hh ws 12_13
VIS-1 Komm-59
DQDB-Zugriffsverfahren: verteilte Warteschlange
Zelle
Request Busy
Bit
Bit 0
-1
A
Knoten
inaktiv:
Bus 1
Count Down Counter
Bus 2
Busy Request
Bit
Bit 1
Zelle
(neue Anforderung)
Busy Request
Bit
Bit 0
Zelle
Request Busy
Bit
Bit 0
-1
Knoten
sende
sendewillig:
Request Busy
Bit
Bit 1
(freie Zelle)
Request Counter
+1
B
Zelle
Request Counter
Zelle
Zelle
Request Busy
Bit
Bit 1
B 1
Bus
(freie Zelle)
Count Down Counter (=0?)
Bus 2
+1
Busy Request
Bit
Bit 1
vsis inf min uni hh ws 12_13
(neue Anforderung)
Zelle
Busy Request
Bit
Bit 1
Zelle
VIS-1 Komm-60
Hochgeschwindigkeitsnetze:
Beispiel 'Asynchronous
Asynchronous Transfer Mode'
Mode (ATM)
- integrierte Übertragung unterschiedlicher Datenströme
(z B 32 Kbit/s: Sprache,
(z.B.
Sprache Fax,
Fax Video; 100-150 Mbit/s: HDTV,...)
HDTV )
(CCITT I.150)
ITU-T
ITU
T
- schnelles Paketvermittlungsnetz (z.B. B-ISDN, 155/622 Mbit/s )
- kleine
kl i P
Pakete
k t ffester
t Größe
G öß (5+48=53
(5+48 53 B
Bytes)
t )
ATM-Zelle:
Virt. Path Id
Virt. Channel Id
Flags
Data (48B)
- 3-Ebenen-Kommunikationsabstraktion
Anwendung
VC
VP
VP
Switch
Höhere Protokolle
ATM Cells
ATM Virtual Channels
vsis inf min uni hh ws 12_13
ATM Adaptation Layer
ATM Layer
Physical Layer
VP: Virtual Path
VC: Virtual Channel
VC
VP
VP
VC
VIS-1 Komm-61
ATM Protokoll-Ebenen
Message
Layers
Application
Higher-layer protocols
ATM adaption layer
ATM cells
ATM layer
ATM virtual channels
Physical
Header: 5 bytes
Virtual path id
Virtual channel id
Flags
Data
53 bytes
vsis inf min uni hh ws 12_13
VIS-1 Komm-62
ATM Switching
Host
VPI = 2
VPI = 3
VPI = 4
VPI in VPI out
2
3
VP/VC
switch
VP switch
4
5
VPI = 5
VP switch
Host
VPI : virtual path identifier
Virtual path
vsis inf min uni hh ws 12_13
Virtual channels
VIS-1 Komm-63
AUSBLICK: Analogien allgemeiner Versorgungsnetze
Straßenverk.
Schienenv. Luftfahrt Elektro. Fernsprech.
p
Info.dienst
Ebene 4
Transport von Personen-+ Flugreisen elektr. Ferngespräche Inform.Pers.+Waren Gütertransp.
Geräte
nutzung
Ebene 3
Transport un- Bundesternehmen
bahn
Luftfahrtgesellsch.
Strom- Kommun.werke gesellsch.
Inform.
anbieter
Ebene 2
Kraftfahrzeuge
Züge +
Loks
Flugzeuge
elektr. Telefon +
Masch. Fax
Anw., SW
Endgeräte
Ebene 1
Straßen
StVO
Schienen
Signale
Luftraum Stromnetz Telefonnetz
Flugh.,-Ktrl.
Finanz. Steuern
von Eb.1
Eb.3
Landegeb.
Eb.3
Pausch.,
Ebene 3
NII
???
Infrastruktur ist entscheidend für industrielle Anwendungen !
vsis inf min uni hh ws 12_13
VIS-1 Komm-64
Zugehörige Unterlagen
Herunterladen