BS und Netzwerke Peter Puschner Institut für Technische Informatik [email protected] 1 • • • • • Zusammenspiel: Betriebssysteme – Netzwerke Kommunikationsnetze Netzwerkprotokolle (OSI, TCP/IP) Verteilte Filesysteme Mutual Exclusion in verteilten Systemen Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 2 Distributed System Lose gekoppelte Rechner, die über ein Netzwerk verbunden sind • Resource Sharing – Zugriff auf gemeinsame Files, Drucker – Verwendung von verteilten Datenbanken – Zugriff auf Spezialhardware • Beschleunigung von Berechnungen – Load Sharing • Erhöhung der Zuverlässigkeit • Kommunikation Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 3 Client-Server Model server network resources communication client Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 4 Distribution in Operating Systems Network Operating System • Verteilung für Benutzer sichtbar • spezielles User Interface • Bsp: Remote login (telnet, ssh) Datentransfer via File Transfer Protocol (ftp) Distributed Operating System • Verteilung nicht sichtbar • Ähnlicher Zugriff auf lokale – nicht-lokale Daten Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 5 Distributed Operating System • Data Migration • Computation Migration (z.B. Remote Procedure Call) • Process Migration – Load balancing – Computation speedup (Parallelisierung von Subtasks) – Hardware preference (z.B. Nutzung spezieller HW) – Software preference (SW auf bestimmten Knoten) – Data access (Prozess Migration statt Datentransfer) – Fehlertoleranz Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 6 Network Structure (LAN) Local-Area Network (LAN) • kleine geographische Ausdehnung (bis etwa 10km) • • • • Multi-access Bus, Ring, Stern Übertragungsrate: 10 Mbit/sec – 1 Gbit/sec Broadcast: schnell, billig Knoten: Workstations, PCs, ev. Mainframe(s) Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 7 Network Structure (WAN) Wide-Area Network (WAN) • große geographische Ausdehnung • Punkt-zu-Punkt Verbindungen über große Entfernungen • Typische Übertragungsrate: 1.5 – 45 Mbit/sec • Broadcast erfordert Versenden mehrerer Nachrichten • Knoten: Workstations, PCs, Mainframes Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 8 WAN Communication H H network host user processes user processes CP CP host OS CP host OS CP communication processor Peter Puschner, TU Wien communication subsystem H Vorlesung Betriebssysteme, Distribution; WS 13/14 9 Communication Networks • Topology – physikalische Verbindungsstruktur • Naming, Name Resolution – Lokalisierung der Kommunikationspartner • Routing • Connection Strategy – Aufbau logischer Verbindungen • Contention – Auflösung von Zugriffskonflikten Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 10 Network Topology • Installationskosten – Kosten der physikalischen Verbindung? • Kommunikationskosten – wie lange ist eine Nachricht unterwegs? • Zuverlässigkeit – Effekt des Ausfalls von Knoten Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 11 Network Topologies H H H H H H H H fully connected H H H Peter Puschner, TU Wien H H H partially connected H H Tree H H H H H H H H H H Star H Ring Vorlesung Betriebssysteme, Distribution; WS 13/14 H H H 12 Naming, Name Resolution Spezifikation des Kommunikationspartners (Rechner und Prozess) < hostname, identifier > Name Resolution: Zuordnung: Name è Host ID • Fixe Übersetzungstabelle per Host • Domain-name system (DNS) – IP Adressen aus Teilen (Bsp.: mail.tuwien.ac.at) – Adressauflösung von hinten nach vorne – Anfrage an Name Server für jeden Teil liefert Adresse des Name Servers für Sub-Domain, usw. Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 13 DNS Lookup Bsp.: DNS Lookup von mail.tuwien.ac.at 1. Kernel sendet Anfrage um Adresse des Name Servers für Domain ac.at an Server für Domain at (letzterer muss bekannt sein) 2. at Server liefert Adresse des Name Servers für ac.at 3. Kernel fragt ac.at Server um Adresse für tuwien.ac.at 4. Anfrage an resultierende Adresse liefert Internet-Adresse für mail.tuwien.ac.at è 128.130.35.36 Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 14 Routing Welchen Weg nimmt ein Nachrichtenpaket? Routing Table • Info. über Alternativen, Geschwindikeit, Kosten • automatisches oder manuelles Update Routing Strategien • Fixed Routing: fixer Weg von A nach B • Virtual Circuit: Weg von A nach B pro Session fix; Nachrichtenreihenfolge bleibt erhalten • Dynamic Routing: Pfad einer Nachricht wird beim Senden bestimmt; Out-of-order Arrival möglich Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 15 Connection Strategies Wie wird eine Communication Session zwischen zwei Prozessen realisiert? • Circuit Switching: permanente physikalische Verbindung für die Dauer der Session • Message Switching: Temporäre Verbindung für die Dauer einer Nachrichtenübertragung • Packet Switching: Nachrichten variabler Länge werden in Paketen gleicher Länge übertragen; Pfade der Pakete können verschieden sein Setup Time versus Overhead bei Übertragung Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 16 LAN: Contention Auflösung von Zugriffskonflikten, wenn Prozesse gleichzeitig Daten am Netzwerk senden wollen: • CSMA/CD: carrier sense, multiple access (CSMA), with collision detection (CD) – Sendebeginn, wenn freies Medium erkannt wird – Abbruch und neulicher Versuch nach Zufallsintervall, wenn Kollision erkannt wird – Viele Kollisionen bei Hochlast – Einsatz in Ethernet Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 17 LAN: Contention (2) • Token Passing: eine speziell ausgezeichnete Nachricht (token) wird laufend unter den Knoten “im Kreis” weitergegeben – Wenn ein Knoten im Besitz des Tokens ist, kann er eine Nachricht senden – Weitergabe des Tokens nach dem Senden, bzw. wenn der Knoten nichts zu senden hat – Physikalische oder logische Ringstruktur – Spezielle Protokolle zur Generierung des Tokens am Anfang bzw. bei Tokenverlust Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 18 Communication Protocols Kommunikationsprotokoll • Satz von Regeln und Konventionen für die Kommunikation von Daten • definiert Syntax, Semantik und Synchronisation • typische Eigenschaften von Protokollen – Identifikation der physikalischen Verbindung, des Kommunikationspartners – Verbindungsaufbau, -abbau – Beginn, Ende, Formatierung von Botschaften – Flusskontrolle, Fehlerbehandlung Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 19 Communication Protocols (2) Verwendung von geschichteten Protokollen (Protocol Stacks), um Komplexität zu beherrschen • Schicht (Layer) n bietet der Schicht n+1 ein Interface mit Service Access Points (SAPs) • Schicht n verwendet Services der Schicht n-1, um eigene Services zu implementieren • Kommunikationspartner: Einheiten des gleichen Layers auf den kommunizierenden Knoten Beispiele: OSI Referenzmodell, TCP/IP Protokollsuite Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 20 host A process A OSI Layers network device host B process B application application presentation presentation session session transport transport network network network data-link data-link data-link physical physical physical Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 21 OSI-Protocol Layers (1) OSI-Schichtenmodell der Netzwerkkommunikation • Physical Layer: mechanische und elektrische Codierung für Übertragung von Bit Streams • Data-link Layer: gesicherte Übertragung von Frames auf dem Physical Layer (Flusskontrolle, Fehlererkennung und Korrektur) • Network Layer: liefert Verbindungen und Routing von Paketen (Interpretation von Adressen, Verwaltung von Routing Informationen, Routing) Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 22 OSI-Protocol Layers (2) • Transport Layer: Transfer von Daten zwischen Komm.-Endknoten, Partitionierung von Nachrichen, Ordnen von Paketen • Session Layer: Realisiert Verbindungen zwischen Prozessen (Sessions); Kommunikation für Remote Login, File oder Mail Transfer • Presentation Layer: Auflösung unterschiedlicher Formate (Syntax, Semantik) • Application Layer: Interaktion mit Applikationen; File Transfer, Remote Login Protokolle, E-Mail Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 23 Interfaces and Services IDU layer n+1 ICI SDU service access point (SAP) interface layer n header ICI SDU layer n comm. SDU n-PDU ICI … interface control information, IDU … interface data unit SDU … service data unit, PDU … protocol data unit Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 24 OSI Communication process A header process B data application application presentation presentation session session transport transport network network CRC data-link physical Peter Puschner, TU Wien data-link bit stream Vorlesung Betriebssysteme, Distribution; WS 13/14 physical 25 OSI versus TCP/IP OSI Layers TCP/IP Layers application presentation TCP/IP Protocol Suite FTP SMTP HTTP application telnet session pop … UDP network internet IP ICMP data-link physical Peter Puschner, TU Wien network interface Vorlesung Betriebssysteme, Distribution; WS 13/14 FDDI TCP Token Ring/Bus transport Ethernet transport … 26 Distributed File Systems (DFS) • Verteilte Implementierung des Filesystems • DFS verwaltet verteilte Speichereinheiten, die den gemeinsamen verteilten Speicher bilden • Naming – Wie werden Namen gebildet? – Location Transparency: Filename gibt keinen Aufschluss über physikalische Speicheradresse – Location Independence: Filename bleibt gleich, auch wenn sich die physikalische Adresse ändert Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 27 DFS Naming Strategies • Filename = Kombination Host Name + Local Name; systemweit eindeutiger Name • Einhängen von externen Directories in lokale Directory-Struktur durch explizites Mounten; transparenter Zugriff auf alle Directories • Volle Integration: globale Namensstruktur für alle Files des Systems – Teile des Dateisystems können vorübergehend nicht zugreifbar sein Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 28 DFS: Remote File Access • Remote Service Mechanism (jeder Zugriff remote) • Caching von Blöcken oder Files – Cache consistency problem – Caching auf lokaler Disk vs. Main-memory Caches – Write-through versus Delayed-write • Stateful vs. Stateless File Service – Stateful: Client öffnet File, Server hält Information über Status, Puffer etc. è gute Performance; Recovery??? – Stateless: Jeder Request addressiert File und Fileposition, wird eigenständig behandelt Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 29 DFS: File Replication • Replicas derselben Datei auf Maschinen mit unabhängigem Ausfallverhalten • Erhöhung der Zuverlässigkeit • Möglicherweise Beschleunigung des Zugriffs • Zuordnung Filename – Replika – Transparente Namensumsetzung für Applikationen – Verschiedene Low-level Adressierung è Update bzw. Management der Replikas Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 30 Distributed Mutual Exclusion (DME) • Zentralisierter Ansatz mittels Serverprozess zur Koordination – Prozess sendet request an Koordinator – Koordinator sendet reply an Prozess, sobald k.A. frei – Prozess sendet release an Koordinator (k.A.-Epilog) • Vollständig verteilter Ansatz – Broadcast von request mit Zeitstempel an alle Prozesse – Prozesse senden reply wenn sie selbst keinen Mutex Request haben oder eigener Request jünger ist – Eintritt in k.A., sobald reply von allen Proz. empfangen Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 31 Distributed Mutual Exclusion (2) • Vollständig verteilter Ansatz (Fortsetzung) – Nachteil: jeder Prozess muss alle anderen kennen – Nachteil: Fehler eines Prozesses blockiert Protokoll • Arbitrierung durch Token – Anordnung der Knoten in logischer Ringstruktur – Besitzer des Tokens kann k.A. abarbeiten; anschließend Weitergabe des Tokens – Fehlermöglichkeiten: Tokenverlust, Prozesstermination Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 32 Zusammenfassung • Verteilte BS-Services verwenden die Services von Netzwerkprotokollen • Schichtung von Protokollebenen zur Komplexitätsreduktion • Verteilte Services bieten Vorteile – Erweiterte Services, Beschleunigung, Fehlertoleranz • Kosten – Management, Konsistenthaltung Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 33