Kommunikationsunterstützung: Kommunikationsunterstützung: Elementare Elementare Kommunikationstechniken Kommunikationstechniken © wl vsis inf min uni hh 07_08 VIS2-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_08 VIS2-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_08 VIS2-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_08 Teilelieferanten VIS2-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_08 VIS2-Komm-5 A typical intranet email server Desktop computers print and other servers Web server Local area network email server File server print other servers the rest of the Internet router/firewall © wl vsis inf min uni hh 07_08 VIS2-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_08 WAP gateway Home intranet Host site VIS2-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_08 VIS2-Komm-8 Computers vs. Web servers in the Internet Date 1979, Dec. 1989, July 1999, July Date 1993, July 1995, July 1997, July 1999, July © wl vsis inf min uni hh 07_08 Web servers Computers 188 0 130,000 56,218,000 0 5,560,866 Computers Web servers Percentage 1,776,000 130 0.008 6,642,000 19,540,000 56,218,000 23,500 1,203,096 6,598,697 0.4 6 12 VIS2-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_08 VIS2-Komm-10 Kommunikationstechniken: Netztopologien Stern: Ring: vollst. vermascht: Baum (Hierarchie): teilw. vermascht: Bus: © wl vsis inf min uni hh 07_08 VIS2-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_08 VIS2-Komm-12 Kommunikationsnetze: Hardware nach: [Gray/Reuter: 'Transaction Processing', Morgan Kaufman Pub., 1993] A) Übertragungsleistung gestern (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 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 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_08 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] Bandweite Cm 1 KB? 5 µs 10 µs 0,6 ms 50 ms Annahmen: Cm = ca. 300 Mio m/sek Latency = ca. Distanz / Cm VIS2-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) 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_08 worldwide VIS2-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 802.5 802.6 802.7 802.1 ... 802.11 ... 802.15 LLC MAC ------------------- Media Access Control, MAC -------------------- © wl vsis inf min uni hh 07_08 VIS2-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_08 VIS2-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 od.10 Gbit/s… © wl vsis inf min uni hh 07_08 VIS2-Komm-17 CSMA/ CD Carrier Sense Multiple Access unfair ! Collision Detection © wl vsis inf min uni hh 07_08 VIS2-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_08 VIS2-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_08 VIS2-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_08 A Token frei C B VIS2-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_08 VIS2-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_08 VIS2-Komm-23 'End-to-end'-Verzögerung bei lokalen / Weitverkehrsnetzen Zeit A B C Paketvermittlung © wl vsis inf min uni hh 07_08 A B C Nachrichtenvermittlung A B C Leitungsvermittlung VIS2-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 wenig zuverlässige Übertragung © wl vsis inf min uni hh 07_08 VIS2-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_08 flow/line specific VIS2-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_08 VIS2-Komm-27 Geschichtete Kommunikationsprotokolle Message received Message sent Layer n Layer 2 Layer 1 Sender © wl vsis inf min uni hh 07_08 phys. communication medium Recipient VIS2-Komm-28 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_08 phys. communication medium Recipient VIS2-Komm-29 Kommunikationsnachrichten: geschachtelter Aufbau (ISO/OSI) Application-layer message Presentation header Session header Transport header Network header © wl vsis inf min uni hh 07_08 VIS2-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 PSE (Packet Switching Exchange) © wl vsis inf min uni hh 07_08 Host VIS2-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_08 - Naming/ Directory - Time Service - Transaction Management - Security - HTTP, FTP, SMTP, CORBA IIOP, ... VIS2-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_08 VIS2-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: + TCP, UDP (s.u.) © wl vsis inf min uni hh 07_08 Klassen 0 - 4 VIS2-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... VIS2-Komm-35 © wl vsis inf min uni hh 07_08 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_08 gleiche Effektivität wie im zentralen System trotz Aufteilung der Systemfunktionen auf mehrere Server VIS2-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_08 Bsp.: TCP/IP Netzwerkschicht Physikalische Schicht VIS2-Komm-37 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_08 VIS2-Komm-38 Geschachtelte TCP/IP-Nachricht Application message TCP header port IP header TCP Ethernet header IP Ethernet frame © wl vsis inf min uni hh 07_08 VIS2-Komm-39 TCP/IP-Kommunikationstechnologie FTP client FTP server TCP TCP router IP IP Ethernet driver Ethernet driver Ethernet © wl vsis inf min uni hh 07_08 IP token ring driver token ring driver Token Ring VIS2-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_08 Internet address = 138.37.88.249 VIS2-Komm-41 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_08 VIS2-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_08 VIS2-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_08 VIS2-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_08 VIS2-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_08 First IP packet tunnelled to FA VIS2-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_08 VIS2-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_08 synchron Rendezvous RPC Kommunikationsstruktur meist RPC VIS2-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_08 VIS2-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_08 ---> 3 Aktionen pro RPC ! VIS2-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 • schlechtere Effizienz, da blockierend • einfachere Synchronisation • einfacheres Programmiermodell (!) © wl vsis inf min uni hh 07_08 VIS2-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: FAZIT:Möglichkeiten Möglichkeitenzur zurParallelität Parallelitätauf: auf: a) a)Anwendungsebene: Anwendungsebene:asynchrone asynchroneKommunikation Kommunikationund undScheduling Schedulingdurch durchAnwendung Anwendung selbst (problematisch !) selbst (problematisch !) b) b)Systemebene: Systemebene:parallele paralleleProzesse Prozesse/ /Threads Threads(verwaltet (verwaltetdurch durchBS/Middleware BS/Middleware!)!) und unddennoch dennochsynchrone synchroneKommunikation Kommunikationauf aufder derAnwendungsebene Anwendungsebene © wl vsis inf min uni hh 07_08 einfachere Programmierung ! VIS2-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 zunächst u.a. B-ISDN) © wl vsis inf min uni hh 07_08 VIS2-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_08 VIS2-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_08 VIS2-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_08 Station X Signal Station Y Station Z Bus2 VIS2-Komm-56 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) Zelle Request Busy Bit Bit 0 -1 Knoten sendewillig: Request Busy Bit Bit 1 (freie Zelle) Request Counter +1 B Zelle Request Counter Busy Request Bit Bit 0 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_08 (neue Anforderung) Zelle Busy Request Bit Bit 1 Zelle VIS2-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 ATM Cells ATM Virtual Channels © wl vsis inf min uni hh 07_08 ATM Adaptation Layer VP ATM Layer Physical Layer VP: Virtual Path VC: Virtual Channel VC VP Switch Höhere Protokolle VP VC VIS2-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_08 VIS2-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_08 Virtual channels VIS2-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_08 VIS2-Komm-61