WS 2013

Werbung
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
Herunterladen