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