Kommunikationsunterstützung

Werbung
Kommunikationsunterstützung:
Elementare Kommunikationstechniken
© wl vsis inf min uni hh 07
VSS1-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,
- gemeinsam zugänglicher Speicherbereich (physisch/logisch)
- ...
© wl vsis inf min uni hh 07
VSS1-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 (physisch) gemeinsamer Speicher 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!
© wl vsis inf min uni hh 07
VSS1-Komm-3
Basis: Kommunikationstechnologie
Firma A
Firma B
“Internet”
“Intranet”
“Extranet”
Kommunikationsstandards !!!
Neuere Entwicklungen der Netzwerktechnologie (u.a.):
•
•
Kupfer --> Glasfaser --> Wireless
Getrennte Netze für einzelne Dienst --> Integrierte Netze / QOS
Volumen des Datenverkehrs übertrifft das der Sprachübertragung
(VoIP: nur noch Daten!)
•
...
•
© wl vsis inf min uni hh 07
Teilelieferanten
VSS1-Komm-4
[Coulouris/Dollimore/Kindberg: Figure 1.1 ff.]
A typical portion of the Internet
intranet
ISP
backbone
satellite link
desktop computer:
server:
network link:
© wl vsis inf min uni hh 07
VSS1-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
© wl vsis inf min uni hh 07
VSS1-Komm-6
Portable and handheld devices
in a distributed system
Internet
Host intranet
Wireless LAN
Mobile
phone
Laptop
Printer
Camera
© wl vsis inf min uni hh 07
WAP
gateway
Home intranet
Host site
VSS1-Komm-7
Web servers and web browsers
www.google.com
http://www.google.comlsearch?q=kindberg
Browsers
Web servers
Internet
www.cdk3.net
http://www.cdk3.net/
www.w3c.org
File system of
www.w3c.org
http://www.w3c.org/Protocols/Activity.html
Protocols
Activity.html
© wl vsis inf min uni hh 07
VSS1-Komm-8
Computers vs. Web servers in the Internet
Date
1979, Dec.
1989, July
Computers
Web servers
Percentage
188
0
0
130,000
0
0
1993, July
1995, July
1997, July
1,776,000
130
0.008
6,642,000
19,540,000
23,500
1,203,096
0.4
6
1999, July
56,218,000
6,598,697
12
© wl vsis inf min uni hh 07
VSS1-Komm-9
Kommunikationstechniken:
Grundlegende Netzdienste und -technologien
Netzdienste:
•
Telefon, Telex, Telefax, ...
•
E-Mail, Btx, ..., Kabel-TV, Video-on-Demand...
•
Zugriff auf Dateien, Rechner, Datenbanken ...
•
Datex-L / -P / -J, 'Corporate Networks', ...
•
SMDS (Switched Multimegabit Data Service): Datex-M
Kommunikationstechnologien:
•
•
•
•
LANs: Ethernet, Token Ring, Token Bus, ...
WANs: Fernsprechnetz (!), Miet- / Standleitungen,
ö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)
© wl vsis inf min uni hh 07
VSS1-Komm-10
Kommunikationstechniken:
Netztopologien
Stern:
Ring:
vollst. vermascht:
Baum (Hierarchie):
teilw. vermascht:
Bus:
© wl vsis inf min uni hh 07
VSS1-Komm-11
Anforderungen 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' od. 'Data Transfer Rate') [ # Bits / sek ] :
ü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
© wl vsis inf min uni hh 07
VSS1-Komm-12
Kommunikationsnetze: Hardware
nach: [Gray/Reuter: 'Transaction Processing', Morgan Kaufman Pub., 1993]
A) Übertragungsleistung gestern (ca. 1990) :
Netztyp
Ausdehnung Verzögerung
Bandweite
1 KB?
Cluster
LAN
MAN
WAN
100 m
1 km
100 km
10 000 km
1 Gbit/s
10 Mbit/s
1 Mbit/s
50 Kbit/s
10 µs
1 ms
10 ms
210 ms
0,5 µs
5 µs
0,5 ms
50 ms
B) Übertragungsleistung inzwischen (ca. 2000+) :
Netztyp
Ausdehnung Verzögerung
Cluster
LAN
MAN
WAN
100 m
1 km
100 km
10 000 km
Übertragungszeit =
© wl vsis inf min uni hh 07
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
VSS1-Komm-13
Arten von Netzwerken
nach: [Coulouris/Dollimore/Kindberg,
Pearson Education, 3. Auflage, 2001]
Range
Bandwidth (Mbps) Latency (ms)
LAN
1-2 kms
WAN
worldwide
MAN
2-50 kms
Wireless LAN 0.15-1.5 km
Wireless WAN
worldwide
10-1000
0.010-600
1-150
2-11
0.010-2
1-10
100-500
10
5-20
100-500
Internet
0.010-2
100-500
© wl vsis inf min uni hh 07
worldwide
VSS1-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.15)…
802.2
802.3 802.4
© wl vsis inf min uni hh 07
802.5 802.6
802.7
802.1
... 802.11 ... 802.15
LLC
MAC
------------------- Media Access Control, MAC -------------------VSS1-Komm-15
Virtuelle Netztopologien
Monitorstation
Repeater /
Hubs (L 1)
Bus
+ Bridges /
Switches (L 2)
Ring
+ Router (L 3)
+ Gateways (L 4+)
© wl vsis inf min uni hh 07
VSS1-Komm-16
Beispiel: 'Ethernet'
(IEEE 802.3)
• entwickelt am Xerox PARC, 1973
• Bus-Netzwerk
• Paket-Layout:
Zieladresse
6
Absenderadresse
6
Typ
2
Daten
46 - 1,5k
Checksum
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 zunächst ca. 10 Mbit/s - Fast Ethernet:100 Mbit/s, 1, 10 Gbit/s…
© wl vsis inf min uni hh 07
VSS1-Komm-17
CSMA/
CD
Carrier Sense
Multiple Access
unfair !
Collision Detection
© wl vsis inf min uni hh 07
VSS1-Komm-18
Beispiel: 'Cambridge Ring'
• entwickelt an der Cambridge University, 1970
• unidirektionaler Ring
• Paket-Layout:
preamble full/empty monitor source destinat. data
response
bit
bit
bit
adr.
adr.
(16 Bits)
bit
1
1
1
8
8
16
2
bits
• Zugriffsmethode: slotted ring
fair !
• Übertragungsrate 10 Mbit/s
freight-train
• Monitor-Station
© wl vsis inf min uni hh 07
VSS1-Komm-19
Beispiel: 'Token Ring'
(IEEE 802.5)
• entwickelt bei IBM, 1977
• unidirektionaler Ring
• Paket-Layout:
3
6
6
-5k
Token receiver sender data
starting
delimiter
access
control
4
checksum
1
end_delimiter
1 Bytes
frame status
frame
control
• Zugriffsmethode: Token
„faires“ Protokoll !
• Übertragungsrate zunächst ca. 4-16 Mbit/s (später auch 100 Mbit/s etc.)
• Monitor-Station
© wl vsis inf min uni hh 07
VSS1-Komm-20
Token
frei
D
A
Token
belegt
C
A
Daten
B
D
D
C
B
Beispiel:
TokenRingProtokoll
Daten
kopiert
D
Daten
A
C
B
© wl vsis inf min uni hh 07
A
Token
frei
C
B
VSS1-Komm-21
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
© wl vsis inf min uni hh 07
VSS1-Komm-22
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
© wl vsis inf min uni hh 07
VSS1-Komm-23
'End-to-end'-Verzögerung bei lokalen / Weitverkehrsnetzen
Zeit
A
B
C
Paketvermittlung
© wl vsis inf min uni hh 07
A
B
C
Nachrichtenvermittlung
A
B
C
Leitungsvermittlung
VSS1-Komm-24
Weitverkehrsnetze (WAN)
Frühes Beispiel: ‚ARPA-Net‘ --> Internet
Host
Packet Switching
Exchange (PSE)
Interface Message
Processor (IMP)
• „store and forward“-Kommunikation
• früher meist relativ geringe Übertragungsrate (z.B. 2 bis 10 kbit/s)
• Pakete können z.B. verloren, dupliziert, verändert werden und die
die Reihenfolge kann vertauscht werden
zunächst weniger zuverlässige Übertragung
© wl vsis inf min uni hh 07
VSS1-Komm-25
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:
© wl vsis inf min uni hh 07
flow/line specific
VSS1-Komm-26
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 Procedure Call'
© wl vsis inf min uni hh 07
VSS1-Komm-27
Geschichtete Kommunikationsprotokolle
Message received
Message sent
Layer n
Layer 2
Layer 1
Sender
© wl vsis inf min uni hh 07
phys. communication medium
Recipient
VSS1-Komm-28
Kommunikationsnachrichten:
geschachtelter Aufbau
Application-layer message
Presentation header
Session header
Transport header
Network header
© wl vsis inf min uni hh 07
VSS1-Komm-29
Protokollaufbau nach dem
ISO/OSI-Referenzmodell
Message received
Message sent
Layers
Application
Presentation
Session
Transport
Network
Data link
Physical
Sender
© wl vsis inf min uni hh 07
phys. communication medium
Recipient
VSS1-Komm-30
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
forward’-Knoten
Kommunikationssteuerungsschicht
Transportschicht
Transportschicht
Vermittlungsschicht
Vermittlungsschicht
Vermittlungsschicht
Sicherungsschicht
Sicherungsschicht
Sicherungsschicht
physikalische Schicht
physikalische Schicht
physikalische Schicht
Host
© wl vsis inf min uni hh 07
PSE (Packet
Switching Exchange)
Host
VSS1-Komm-31
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)
- Virtual Terminal (VTP)
- Remote Database Access (RDA)
• sonstige:
© wl vsis inf min uni hh 07
- Naming/ Directory
- Time Service
- Transaction Management
- Security
- HTTP, FTP, SMTP, CORBA IIOP, ...
VSS1-Komm-32
ISO/OSI-Darstellungsschicht
kodiert auszutauschende Daten gemäß einer vereinbarten Syntax
• 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), CORBA Data Representation, ...
© wl vsis inf min uni hh 07
VSS1-Komm-33
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
• Bereitstellung eines vom Netzwerk unabhängigen Transportdienstes
zwischen Paaren von Ports / Prozessen
• Aufgaben: - Aushandeln einer Transportklasse
(Zuverlässigkeit, verbindungsorientiert/-los, Effizienz, ...)
- meist verbindungsorientierte Übertragung
- Segmentierung der Nachrichten in Pakete
- Sequenznummer für Pakete
• Fehlererkennung / - korrektur:
© wl vsis inf min uni hh 07
+ TCP, UDP (s.u.)
Klassen 0 - 4
VSS1-Komm-34
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 Übertragung zwischen direkt verbundenen Rechnern
• Mechanismen zur: - Fehlerbehandlung
- Fehlererholung
- Flusskontrolle
LLC: IEEE - Standards 802.2
MAC: IEEE - Standards 802.3/4/5/6, ...
Logical Link Control (LLC)
---------------------------------------Media Access Control (MAC)
Bsp.:
Ethernet MAC, ATM cell
transfer, PPP
ISO/OSI- Physikalische Schicht
• Übertragung von Sequenzen von binären Daten durch analoge Signale
---> IEEE - Standards 802.3/4/5/6...
VSS1-Komm-35
© wl vsis inf min uni hh 07 Bsp.: Ethernet base band signaling, ISDN
Ziele des ISO/OSI-Modells
• standardisierte Datenübertragung in heterogenen Weitverkehrsnetzen
• verbindungsorientierte Ü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:
© wl vsis inf min uni hh 07
gleiche Effektivität wie im zentralen System trotz Aufteilung der Systemfunktionen auf mehrere Server
VSS1-Komm-36
„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 1988])
• Client/Server-Kommunikation mit möglichst geringer Verzögerung
RPC
Anwendungsschicht
XDR,
XDR-Routinen
Darstellungsschicht, Präsentationsfunktion
UDP / TCP
Transportschicht
IP
Netzwerk
© wl vsis inf min uni hh 07
Bsp.:
TCP/IP
Netzwerkschicht
Physikalische Schicht
VSS1-Komm-37
TCP/IP-Kommunikationstechnologie
FTP client
FTP server
TCP
TCP
router
IP
IP
Ethernet
driver
Ethernet
driver
Ethernet
© wl vsis inf min uni hh 07
IP
token ring
driver
token ring
driver
Token Ring
VSS1-Komm-38
Standardisierter Datenkommunikation:
Beispiel 'Unix-Sockets'
Stream/Datagram Socket
Stream/Datagram Socket
TCP / UDP
TCP / UDP
IP
IP
z.B. Ethernet-Treiber
z.B. Ethernet-Treiber
• Stream-Sockets (TCP: Transport Control Protocol):
- verbindungsorientiert, zuverlässige Kommunikation
- geordnete Nachrichten
• Datagram-Sockets (UDP: User Datagram Protocol):
- verbindungslose,unzuverlässige Kommunikation
- schneller
- ungeordnete Nachrichten
© wl vsis inf min uni hh 07
VSS1-Komm-39
TCP/IP Ebenen
Message
Layers
Application
Messages (UDP) or Streams (TCP)
Transport
UDP or TCP packets
Internet
IP datagrams
Network interface
Network-specific frames
Underlying network
© wl vsis inf min uni hh 07
VSS1-Komm-40
Sockets und Ports
socket
any port
agreed port
socket
message
client
server
other ports
Internet address = 138.37.94.248
© wl vsis inf min uni hh 07
Internet address = 138.37.88.249
VSS1-Komm-41
Geschachtelte TCP/IP-Nachricht
Application message
TCP header
port
IP header TCP
Ethernet header IP
Ethernet frame
© wl vsis inf min uni hh 07
VSS1-Komm-42
a) Datagram-Sockets
Client
Server
s = socket (..., Datagram,...)
...
s‘ = socket (..., Datagram,...)
...
bind (s, ClientAddress)
bind (s‘, ServerAddress)
...
...
sendto (s, "msg",
ServerAddress)
msg = recvfrom (s‘, buffer,
from)
Client- / ServerAddress: Socket-ID = Internet-Adresse + Port-ID
© wl vsis inf min uni hh 07
VSS1-Komm-43
b) Stream-Sockets
Server
Klient
s = socket (...,STREAM,...)
...
s‘ = socket (...,STREAM,...)
...
connect (s, ServerAddress)
...
bind (s‘, ServerAddress)
listen (s‘,5)
. . . Erzeugen eines neuen Sockets
write (s, "msg", length)
sNew = accept (s‘, from)
...
n = read (sNew, buffer, amount)
virtuelle Verbindung
(write/send, read/receive)
© wl vsis inf min uni hh 07
VSS1-Komm-44
Beispiel: Aufbau eines TCP/IP-Servers
Server-basierte Applikationen
POP/IMAP
SMTP
X11
NNTP
HTTP
TCP/IP Stack
Betriebssystem
Hardware
© wl vsis inf min uni hh 07
VSS1-Komm-45
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
© wl vsis inf min uni hh 07
First IP packet
tunnelled to FA
VSS1-Komm-46
Anwendungsnahe Kommunikationsunterstützung
Sitzungen ('Sessions'/ 'Associations')
•
feste Beziehung zwischen kommunizierenden Prozessen auf Anwendungsebene 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
a) synchron:
Sender blockiert bis zur Antwort
b) asynchron:
send / receive explizit programmiert
© wl vsis inf min uni hh 07
VSS1-Komm-47
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
© wl vsis inf min uni hh 07
synchron
Rendezvous
RPC
Kommunikationsstruktur
meist RPC
VSS1-Komm-48
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
© wl vsis inf min uni hh 07
VSS1-Komm-49
Optimiertes synchrones Transportprotokoll '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_len)
blockiert
TA !
blockiert
execute
request
SendReply (CltId, ..., resp_header, resp_buffer,
resp_len)
© wl vsis inf min uni hh 07
---> 3 Aktionen pro RPC !
VSS1-Komm-50
Asynchrone vs. synchrone
Interprozesskommunikation (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 von Nachrichten (Mailbox)
-> Anzeigen von ankommenden Nachrichten (Interupts)
-> Server muss sich sämtliche Zustände merken
• Synchrone (blockierende) IPK
© wl vsis inf min uni hh 07
•
schlechtere Effizienz, da blockierend
•
einfachere Synchronisation
•
einfacheres Programmiermodell (!)
VSS1-Komm-51
Implementation synchroner IPK mittels Threads
- sehr effizient, da hoher Grad an Parallelität:
-> Wenn ein Thread blockiert, fährt ein anderer Thread desselben Clusters fort
- einfache Implementation
- einfache Synchronisation
- 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
© wl vsis inf min uni hh 07
einfachere Programmierung !
VSS1-Komm-52
Effizienzsteigerung: optimierte Protokolle &
Hochgeschwindigkeitsnetze
SoftwareBeispiel:
optimierte
Transportprotokolle
• aktives Warten von Prozessen in Multi-Prozessor-Systemen
• 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 Daten, Audio, Video
•
ATM (Asynchronous Transfer Mode) / HS-Netze:
---> LAN/ MAN/ WAN
+ allgemeine Hochgeschwindigkeitsnetze (wie z.B. B-ISDN)
© wl vsis inf min uni hh 07
VSS1-Komm-53
Metropolitan Area Networks (MAN):
z.B. ‚Fiber Distributed Data Interface‘ (FDDI)
(IEEE 802.6)
Topologie:
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:
Großrechner - Peripherie (z.B. Disks)
Backbone für verschiedene lokale Netze (!)
Multimedia-Kommunikation (!?!) - aber: nicht isochron !
© wl vsis inf min uni hh 07
VSS1-Komm-54
'Metropolitan Area Networks' (MAN):
Beispiel 'Distributed Queue Dual Bus' (DQDB)
(IEEE 802.6)
Topologie: (Point-to-point/Open/Looped) Dual Bus mit
Datentransport in entgegengesetzter Richtung, 2-fach unidirektional
Übertragungssystem: hybrid
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 z.B. Datex-M
© wl vsis inf min uni hh 07
VSS1-Komm-55
Beispielkonfiguration für DQDB
Data
Bus1
Station
X
A
Station
Y
Station
Z
Bus2
Signal
Data
Bus1
B
© wl vsis inf min uni hh 07
Station
X
Signal
Station
Y
Station
Z
Bus2
VSS1-Komm-56
DQDB-Zugriffsverfahren: verteilte Warteschlange
Zelle
Request Busy
Bit
Bit 0
-1
A
Knoten
inaktiv:
Request Busy
Bit
Bit 1
Bus 1
(freie Zelle)
Request Counter
Count Down Counter
Bus 2
+1
Busy Request
Bit
Bit 1
Zelle
(neue Anforderung)
Zelle
Request Busy
Bit
Bit 0
-1
B
Zelle
Knoten
sendewillig:
Request Counter
Zelle
Zelle
Request Busy
Bit
Bit 1
Bus 1
(freie Zelle)
Count Down Counter (=0?)
Bus 2
+1
Busy Request
Bit
Bit 1
© wl vsis inf min uni hh 07
Busy Request
Bit
Bit 0
(neue Anforderung)
Zelle
Busy Request
Bit
Bit 1
Zelle
VSS1-Komm-57
Hochgeschwindigkeitsnetze:
Beispiel 'Asynchronous Transfer Mode' (ATM)
- integrierte Übertragung unterschiedlicher Datenströme
(z.B. 32 Kbit/s: Sprache, Fax, Video; 100-150 Mbit/s: HDTV,...)
(CCITT I.150)
ITU-T
- schnelles Paketvermittlungsnetz (z.B. B-ISDN, 155/622 Mbit/s )
- kleine Pakete fester Größe (5+48=53 Bytes)
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
© wl vsis inf min uni hh 07
ATM Adaptation Layer
VP
ATM Layer
Physical Layer
VP: Virtual Path
VC: Virtual Channel
VC
VP
VC
VSS1-Komm-58
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
© wl vsis inf min uni hh 07
VSS1-Komm-59
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
© wl vsis inf min uni hh 07
Virtual channels
VSS1-Komm-60
AUSBLICK: Analogien allgemeiner Versorgungsnetze
Straßenverk.
Schienenv. Luftfahrt Elektro. Fernsprech. 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 !
© wl vsis inf min uni hh 07
VSS1-Komm-61
Herunterladen