Betriebssysteme, Rechnernetze und verteilte Systeme II (BSRvS II)

Werbung
Rechnernetze und verteilte Systeme (BSRvS II)
WS 2010/2011
Prof. Dr. Heiko Krumm
FB Informatik, LS IV, AG RvS
Universität Dortmund
•
•
•
•
•
•
•
•
•
•
H. Krumm, RvS, Informatik IV, Uni Dortmund
Computernetze und das Internet
Anwendung
Transport
Vermittlung
Verbindung
Multimedia
Sicherheit
Netzmanagement
Middleware
Verteilte Algorithmen
1
Literatur
Zentrale Literatur
 J. F. Kurose, K. W. Ross: Computernetze; Pearson
Studium 2002 bzw. die neuere englische Ausgabe:
J. F. Kurose, K. W. Ross: Computer Networking,
3rd Ed., Pearson 2005
Weitere Empfehlungen
 A. Tanenbaum: Computer Netwerke; Pearson Studium 2000
 D. E. Comer: Computernetzwerke und Internets; Pearson
Studium 2000.
 L. L. Peterson, B. S. Davie: Computernetze; dpunkt Verlag
2000.
H. Krumm, RvS, Informatik IV, Uni Dortmund
2
Folien
Zusammenstellung aus folgenden Quellen:

Foliensatz zum Buch „ J. F. Kurose, K. W. Ross: Computernetze; Pearson Studium 2002“

Foliensatz der Vorlesung
„Betriebssysteme, Rechnernetze und verteilte Systeme II“,
WS 2003/2004, H. Wedde, LS III

Foliensatz der Vorlesung
„Betriebssysteme, Rechnernetze und verteilte Systeme II“,
WS 2006/2007, H. Krumm, LS IV

Foliensatz der Vorlesung
„Betriebssysteme, Rechnernetze und verteilte Systeme II“,
WS 2007/2008, P. Buchholz, LS IV

Foliensatz des Kurses „Computer Networks“,
SS 2004, S. Lam, University of Texas at Austin

Foliensatz der Vorlesung
„Rechnernetze und verteilte Systeme“,
WS2002/2003, H. Krumm, LS IV

Zusätzliche „neue“ Folien
H. Krumm, RvS, Informatik IV, Uni Dortmund
3
Rechnernetze und verteilte Systeme

Rechnernetz:
Durch Telekommunikationssystem verbundene
Rechnerknoten

Telekommunikationssystem:
System, das Teilnehmern Kommunikationsdienste anbietet
(in der Regel selbst durch Rechnernetz implementiert)

Verteiltes System:
Anwendung, deren Komponenten sich an verschiedenen
Orten befinden,
Komponenten sind in Rechnernetz installiert, werden lokal
von den Rechnerknoten ausgeführt und kommunizieren
miteinander mit Hilfe eines Telekommunikationssystems.
H. Krumm, RvS, Informatik IV, Uni Dortmund
4
Besonderheiten verteilter Systeme

Kommunikation
– unzuverlässig, teuer, langsam
Entfernung
Instanz
Instanz

Lose Kopplung
– Kommunikation selten
– Synchronisation schwach
– Fehlertoleranz

Instanz
Nebenläufigkeit (Concurrency)
– weitgehend unabhängige Fortschritte

Dezentrale Kontrolle
– weitgehende Autonomie
– lokale Kontrolle auf Basis partieller Sichten
– vollständige Sicht des globalen Systemzustands wird vermieden, da das zu
teuer ist (Einfrieren)
H. Krumm, RvS, Informatik IV, Uni Dortmund
5
Verteilung verdeckbar? Unzuverlässigkeit!
HH
M
t
Treffen am 28.10. in Dortmund?!
Bitte quittieren!
Ok! Aber bitte Quittung
der Quittung quittieren!
.....
Ok! Aber bitte Quittung quittieren!
28.10. erreicht!
Gäbe es ein
Protokoll, das
dieses mit n
Nachrichten leisten
könnte, dann
müsste es auch den
Verlust der letzten
Nachricht
tolerieren, also
dieses auch mit
(n-1) Nachrichten
leisten können.
Dann müsste es
auch den Verlust
der (n-1)-ten
Nachricht
tolerieren, …
Vollständig zuverlässige Übereinkunft unter Fristsetzung ist nicht möglich!
H. Krumm, RvS, Informatik IV, Uni Dortmund
6
Anwendungen: Trends
H. Krumm, RvS, Informatik IV, Uni Dortmund
7
Anwendungen: Trends
H. Krumm, RvS, Informatik IV, Uni Dortmund
8
Anwendungen: Trends
H. Krumm, RvS, Informatik IV, Uni Dortmund
9
Anwendungen: Trends
H. Krumm, RvS, Informatik IV, Uni Dortmund
10
Anwendungen: Trends
• Eigenschaften
• Nebenläufigkeit
• Systemgröße
• Systemlebensdauer
• Örtliche Verteilung
• Veränderungen (Umgebungen
und Anforderungen)
• Anpassungen
• Erweiterungen
• Entwicklungslinien
• Web-Orientierung
• Dienste-Orientierung
(SOA)
• Ubiquität und Mobilität
H. Krumm, RvS, Informatik IV, Uni Dortmund
11
Rechnernetze
Datennetz (Internet)
Rechner
Verbindungseinrichtung
WAN
Nomadic Computing
LAN
Mobile Computing
H. Krumm, RvS, Informatik IV, Uni Dortmund
12
Rechnernetz - Übersicht
Endsystem
Endsystem
TS
Lokales
Netz
Endsystem
Hub
TS
TS
Öffentliches
Vermittlungsnetz
Endsystem
TS
Endsystem
Kommunikationssystem
TS
Hub
Lokales
Netz
Peripherie
Endsystem
Rechner
H. Krumm, RvS, Informatik IV, Uni Dortmund
13
Dienstleistende Systeme

Instanzen
– Menge von Dienstnehmern
Dienstnehmer
Dienstnehmer
Dienstnehmer
– Diensterbringer (offenes Subsystem)

Kommunikation
– vertikale Kommunikation
» Abwicklung von Dienstleistungen
zwischen Dienstnehmer und
Dienstleister
Diensterbringer
– horizontale Kommunikation
» zwischen Dienstnehmern

Kommunikationssysteme
– in der Zeit Datenhaltungssystem
– im Raum Telekommunikationssystem
» Dienstleistungen dienen dem Nachrichtenaustausch zwischen Dienstnehmern
» Diensterbringer interpretiert Nachrichten nicht
H. Krumm, RvS, Informatik IV, Uni Dortmund
14
Kommunikationsdienst
User
User
Dienstzugangspunkt
User
Kommunikationsdienst
Dienstleistung
Dienstleistung
Ein Kommunikationsdienst bietet Teilnehmern Dienstleistungen zum
Nachrichtenaustausch an. Wichtige Eigenschaften der Dienstleistungen betreffen:
• Partneradressierung
• Datagramme (verbindungslose Kommunikation, z.B. UDP)
• Verbindungsorientierung: Verbindungen und virtuelle Verbindungen
(z.B. TCP)
• Zwei- / Mehrpartner-Kommunikation (Uni- / Multi- / Broadcast)
• Richtung (Simplex, Duplex, Halbduplex)
H. Krumm, RvS, Informatik IV, Uni Dortmund
15
Kommunikationsdienst – Sichten
Statische Sicht
Die Dienstschnittstelle,
ist gegliedert in
Dienstzugangspunkte,
welchen Dienstadressen
zugeordnet sind.
Briefkasten
Schlossallee
Briefkasten
Hauptpost
Wohnungsbriefkasten
Maier
Wohnungsbriefkasten
Maier
Dynamische Sicht
An der Dienstschnittstelle
treten im Verlauf der Zeit
Ereignisse auf:
Die Anforderung und
Ausführung einer
Dienstleistung repräsentiert
sich in zusammengehörigen
Dienststimuli und
t
Dienstreaktionen
H. Krumm, RvS, Informatik IV, Uni Dortmund
Stimulus
Briefeinwurf
Dienstleistung
Brieftransfer
Reaktion
Briefauslieferung
16
Dienstnehmer-Rollen und Dienstformen
Zentrale Idee zur Nutzung von Ressourcen in Rechnernetzen:
Anbieten und Aufrufen von Diensten
Grundformen
Rollen
Unbestätigter Dienst
Request
Anforderung
Initiator
Anrufer
Client
Kunde
Indication
Anzeige
Bestätigter Dienst
Beantworter
Ausführer
Server
Dienstleister
Request
Anforderung
Anzeige
Confirmation
Bestätigung
H. Krumm, RvS, Informatik IV, Uni Dortmund
Indication
Response
Antwort
17
Kommunikationsformen – Partneranzahl
Unicast (2 Partner)
Broadcast (an alle)
Multicast (an eine Gruppe)
H. Krumm, RvS, Informatik IV, Uni Dortmund
18
Kommunikation und Kontext – Datagramme und Verbindungen
Kommunikation ohne Kontext – Datagram
Dienst enthält alle benötigten Informationen
z.B. Brief, Telegramm, UDP-Datagramm
Kommunikation im Kontext – Verbindung
Verbindung wird aufgebaut,
Kommunikation entlang der Verbindung,
Verbindung wird abgebaut
z.B. Telefon, TCP-Verbindung
H. Krumm, RvS, Informatik IV, Uni Dortmund
19
Kommunikationsdienste – Richtungsbetrieb
simplex
A
duplex
B
A
B
halbduplex
A
B
t
Z.B. Feuermelder,
Sensoren
H. Krumm, RvS, Informatik IV, Uni Dortmund
Z.B. Telefon
Z.B. Wechselsprechanlage
20
Kommunikationsdienst - Nachrichtenreihenfolge
Verbindungsendpunkt
Dienstzugangspunkt
Auslieferungsdisziplin:
• reihenfolgentreu (FIFO)
• zufällig
• priorisierte FIFO-Queues
Verbindung
puffert wie Queue
Nachricht
4 3 2 1
H. Krumm, RvS, Informatik IV, Uni Dortmund
21
Kommunikationsdienst: Qualität
 Leistung
 Nachrichtenlaufzeit, Verzögerung
 Durchsatz (Bandbreite, Bitrate)
 Entfernung
 Zuverlässigkeit
 Verfügbarkeit
 Fehler
 Verlust, Verfälschung, Vertauschung,…
HH
 Kosten
 Grundkosten
 Dienstleistungskosten
 Datensicherheit
 Verfälschung / Integrität
 Vertraulichkeit
 Zurechenbarkeit
 …
x
M
8h
775 km
t
H. Krumm, RvS, Informatik IV, Uni Dortmund
22
Kommunikationsdienst: Zuverlässigkeit / Fehler / Störungen
H. Krumm, RvS, Informatik IV, Uni Dortmund
23
Protokolle: Ablauf in der Zeit
H. Krumm, RvS, Informatik IV, Uni Dortmund
24
Protokolle: Definition
Instanz
Ziel-Kommunikationsdienst
Schicht
Instanz
Instanz
Basis-Kommunikationsdienst
 Ein Protokoll ist eine Menge von Regeln und Formaten (semantisch und
syntaktisch), die das Kommunikationsverhalten von Instanzen zur
Ausführung von Funktionen regelt (ISO 7498).
 Alle Kommunikationsaktivitäten im Internet werden von Protokollen
bestimmt.
 Protokollstandards ermöglichen die Offenheit des Internets für
Komponenten unterschiedlichster Bauart.
H. Krumm, RvS, Informatik IV, Uni Dortmund
25
Protokolle: Definition
Instanz
Ziel-Kommunikationsdienst
Schicht
Instanz
Basis-Kommunikationsdienst
Instanz
PDU
Ein Kommunikationsprotokoll definiert das Kommunikationsverhalten von Instanzen,
welche einen Basis-Kommunikationsdienst nutzen, um einen (höherwertigen) ZielKommunikationsdienst zu erbringen. Es wird definiert über:
• Zieldienst
• Basisdienst
• Instanzenverhalten
• PDU-Formate
H. Krumm, RvS, Informatik IV, Uni Dortmund
26
Schichtung von Diensten und Protokollen
Steuermann (Brücke)
MaschinenTelegraph
Nachrichtentransportsystem
H. Krumm, RvS, Informatik IV, Uni Dortmund
27
Kommunikation
Arbeit
Schichtung von Diensten und Protokollen
H. Krumm, RvS, Informatik IV, Uni Dortmund
User mit Kooperationsbeziehung
„Schiff fahren“
Direkt anwendungsbezogene
Kommunikationsdienstleistungen:
- Übertrage „Volle Kraft voraus“
Allgemeine Nachrichtenübermittlung
- Übertrage winkelcodierte Nachricht
28
Schichtung von Diensten und Protokollen
Schicht 3:
- erbrachter Dienst
- Instanzen und Protokoll der Schicht
Schicht 2:
- erbrachter Dienst
- Instanzen und Protokoll der Schicht
Schicht 1:
- erbrachter Dienst
- Instanzen und Protokoll der Schicht
Basisdienst – Medium (Schicht 0)
H. Krumm, RvS, Informatik IV, Uni Dortmund
29
Internet
• Millionen vernetzter Computer
(Endsysteme, Hosts)
• PCs, Server
• Toaster, Cola-Automaten
• Kommunikationsleitungen
• Kupfer-, Glasfaserleitungen,
• Funk, Satellitenfunk
• Transitsysteme (Router)
leiten Daten weiter
H. Krumm, RvS, Informatik IV, Uni Dortmund
30
Internet - Struktur
• Netz-Peripherie:
• End-Systeme
(PCs, Workstations, Server)
• Netz-Kern:
• Transitsysteme
(Router, ein Netz von Netzen)
• Subnetze
• Teilnetze
• Übertragungsmedien:
• Kommunikationsleitungen
H. Krumm, RvS, Informatik IV, Uni Dortmund
31
Internet - Peripherie

End-Systeme (Hosts)
– beherbergen Applikationen und
Server-Programme
– sind Endpunkte der Verbindung

Client-Server-Modell
– Client stellt Anfragen und erhält
Service
– Server ist ”immer“ verfügbar

Peer-To-Peer-Modell
– keine dedizierten Server
z. B. KaZaA
H. Krumm, RvS, Informatik IV, Uni Dortmund
32
Internet – Datentransportdienste
Ziel: Datentransfer zwischen End-Systemen
TCP – Transmission Control Protocol [RFC793]
verbindungsorientiert
 Zuverlässiger Datentransfer in richtiger Reihenfolge
UDP – User Datagram Protocol [RFC768]
verbindungslos / Datagramm

Unzuverlässiger Datentransfer
H. Krumm, RvS, Informatik IV, Uni Dortmund
33
Internet – Kern
Geflecht von verbundenen Routern
Wie werden die Daten durch das Netz
übertragen?

Leitungsvermittlung (circuit
switching)
– pro Verbindung eine Leitung
(Telefonnetz)

Paketvermittlung (packet switching)
– Daten werden in einzelnen Paketen
durch das Netz geschickt (Briefpost)
H. Krumm, RvS, Informatik IV, Uni Dortmund
34
Netz-Kerne (allgemein): Multiplexing
Benutzung einer Verbindungsleitung durch mehrere Verbindungen
 Die Netz-Resource (z. B. Bandbreite) wird aufgeteilt.
 Die ”Teile“ werden einzelnen Verbindungen zugeteilt.
 Keine Mitbenutzung unbenutzer ”Teile“ durch andere Verbindungen.
Die Aufteilung der Bandbreite erfolgt durch
 Frequenzmultiplexing (frequency division)
oder
 Zeitmultiplexing (time division).
H. Krumm, RvS, Informatik IV, Uni Dortmund
35
Netz-Kerne (allgemein): Multiplexing
H. Krumm, RvS, Informatik IV, Uni Dortmund
36
Netz-Kerne (allgemein): Paketvermittlung
Der Datenstrom wird in separat zu
transportierende Pakete aufgeteilt.

Mehrere Verbindungen teilen sich eine Leitung.

Jedes Paket nutzt die volle Bandbreite.

Die Ressourcen werden nach Bedarf genutzt.

Keine garantierte Bandbreite für den Datenstrom.
– Die Summe der benötigten Ressourcen kann die Summe der
vorhandenen übersteigen.

Pakete im Puffer warten auf freie Ressource (Store and
Forward - Prinzip).
H. Krumm, RvS, Informatik IV, Uni Dortmund
37
Netz-Kerne (allgemein): Routing

Datagramm-Netz
– Die Zieladresse bestimmt den nächsten Hop.
– Verschiedene Pakete desselben Datenstroms können unterschiedliche
Wege nehmen.

Virtual-Circuit Netz (VC, virtuelles Leitungsnetz)
– Jedes Paket hat eine Marke (Tag), die den nächsten Hop bestimmt.
– Pfad wird beim Verbindungsaufbau festgelegt.
– Router speichern Verbindungsdaten.
H. Krumm, RvS, Informatik IV, Uni Dortmund
38
Netz-Kerne (allgemein): Taxonomie
H. Krumm, RvS, Informatik IV, Uni Dortmund
39
Physikalische Medien
• Verdrillte Adernpaare
(geschirmt, ungeschirmt)
• Koaxialkabel
• Glasfaser
• Funkkanäle (erdgebunden,
Satelliten)
H. Krumm, RvS, Informatik IV, Uni Dortmund
40
Verzögerung in Paketnetzen
 Knoten-Verarbeitung
 Warteschlangen-Aufenthalt
 Übertragungsverzögerung
(Paketlänge und Übertragungsrate)
 Signalverzögerung
(Ausbreitungsgeschwindigkeit der Signale in Medium)
H. Krumm, RvS, Informatik IV, Uni Dortmund
41
Verzögerung-Bandbreiten-Produkt

Relative Bedeutung von Nachrichtenlaufzeit und
Bandbreite
– für kurze Nachrichten (z.B. 1 Byte) ist die Laufzeit (z.B. 1
ms gegenüber 300 ms) wichtiger als die Bandbreite (z.B. 1
Mbps gegenüber 1 Gbps).
– für lange Nachrichten (z.B. 600 Mbyte) ist die Bandbreite
wichtiger als die Laufzeit.

Produkt aus Bandbreite x Laufzeit
– Es entspricht der Datenmenge, die sich im Transit befinden
kann.

Beispiel
– Bei 100 ms Laufzeit und 45 Mbps Bandbreite können sich
bis zu 560 Kbyte Daten im Transit befinden
H. Krumm, RvS, Informatik IV, Uni Dortmund
42
Schichtung von Diensten und Protokollen
H. Krumm, RvS, Informatik IV, Uni Dortmund
43
Schichtenmodelle

ISO/OSI
– Kommunikation Offener Systeme – Basis-Referenzmodell
– allgemeines Modell, das sich auf die logische Architektur konzentriert
(Welche Funktionen können in welchem Zusammenhang in einer
Kommunikation auftreten?)
– (ISO 7498)

TCP/IP
– Internet-Protokollstack
– Für (beinahe) alle Systeme implementiert.
– (RFCs, IEEE-Normen)
H. Krumm, RvS, Informatik IV, Uni Dortmund
44
ISO/OSI-Basisreferenzmodell
Anwendungsprozess
Anwendungsprozess
2-1
Transportsystem
H. Krumm, RvS, Informatik IV, Uni Dortmund
45
ISO/OSI-Basisreferenzmodell: Schichten

Anwendungsschicht (Application Layer)
– höchste Ebene, stellt die Kommunikationsdienstleistungen bereit, die
direkt von einer Anwendung benötigt werden
– Beispiel: „Übertrage das Kommando eine Datei zu öffnen“

Darstellungsschicht (Presentation Layer)
– reicht die Dienstleistungen des Session-Dienstes weiter
– stellt Dienstleistungen bereit, mit denen sich Anwendungsprozesse
über die Syntax der Nachrichten abstimmen können

Kommunikationssteuerungsschicht (Session Layer)
– bietet Dienstleistungen an, die zur Eröffnung, Durchführung und
Beendigung einer Kommunikationsbeziehung (Session) nötig sind
– Dienstleistungen zur Realisierung anwendungsnaher
Fehlerbehandlungsmaßnahmen:
Synchronisation, Wiederaufsetzen, Stornieren, Unterbrechen,
Wiederaufnehmen
H. Krumm, RvS, Informatik IV, Uni Dortmund
46
ISO/OSI-Basisreferenzmodell: Schichten

Transportschicht (Transport Layer)
– erweitert Endsystemverbindungen (Rechner–Rechner) zu
Anwenderverbindungen (Anwender–Anwender)
– Anwender = Anwendungsprozesse
– behandelt Ende-zu-Ende-Qualitätsaspekte

Vermittlungsschicht (Network Layer)
– unterstützt beliebige Konnektivität im Netz

bildet
Datennetz
Sicherungsschicht (Data Link Layer)
– stellt zuverlässige Links zur Verfügung
– Flußkontrolle, Fehlererkennung und -korrektur

bildet
Transportsystem
je Link
Bitübertragungsschicht (Physical Layer)
– stellt ungesicherte Links für die Übertragung von Bitfolgen zur
Verfügung.
H. Krumm, RvS, Informatik IV, Uni Dortmund
47
ISO/OSI-Basisreferenzmodell: Begriffe
Instanz
Instanz
Basis-Kommunikationsdienst
Ziel-Kommunikationsdienst
Schicht
Instanz
PDU
(N)-Schicht (N)-layer
Alle Instanzen einer Hierarchie-Ebene (peer-entities). Diese kommunizieren über
den Basiskommunikationsdienst (N-1)-Dienst und erbringen den
Zielkommunikationsdienst (N)-Dienst.
(N)-Dienst (N)-service
Fähigkeit der (N)-Schicht (und der Schichten darunter), die der (N+l)-Schicht an der
Grenze zwischen (N)-Schicht und (N+l)-Schicht zur Verfügung gestellt wird.
(N)-Protokoll (N)-protocol
Verhaltens- und Formatfestlegungen (semantisch und syntaktisch) zum
Kommunikationsverhalten der (N)-Instanzen.
H. Krumm, RvS, Informatik IV, Uni Dortmund
48
ISO/OSI-Basisreferenzmodell: Begriffe
Instanz
Instanz
Basis-Kommunikationsdienst
Ziel-Kommunikationsdienst
Schicht
Instanz
PDU
(N)-Dienstzugangspunkt (N)-service-access-point
Punkt, an dem der (N)-Dienst den (N+1)-Instanzen (oder Nutzern) zur Verfügung
gestellt wird.
(N)-Adresse
(N)-address
Kennung, zur Identifikation eines (N)-Dienstzugangspunkts.
(N)-Protokolldateneinheit
(N)-PDU (N)-protocol data unit
Nachricht welche (N)-Instanz gemäß (N)-Protokoll einer anderen (N)-Instanz
sendet, besteht aus
 (N)-Protokollkontrollinformation: (N)-PCI
PDU
 Nutzdaten der (N+1)-Instanzen
PCI
Nutzdaten
H. Krumm, RvS, Informatik IV, Uni Dortmund
49
TCP/IP Protokollstapel (Protocol Stack)
H. Krumm, RvS, Informatik IV, Uni Dortmund
50
TCP/IP Protokollstapel
application layer
 unterstützt verteilte Applikationen
(umfasst die ISO/OSI-Schichten 5,
6 und 7)
 Anwendungsprotokolle FTP,
SMTP, HTTP, SNMP, DNS, …
transport layer
 Datenübertragung von
Anwendung zu Anwendung (Port
zu Port)
 Transportprotokolle TCP, UDP
network layer
 transportiert (routet) Datagramme
von Endsvstem zu Endsystem
 Internet-Protokoll IP, RoutingProtokolle
H. Krumm, RvS, Informatik IV, Uni Dortmund
data link layer
 Datentransfer zwischen benachbarten
Systemen
 PPP, Ethernet, …
physical layer
 Bitübertragung auf der Leitung oder im
Funkkanal
 RS-232, Ethernet, …
51
Beispiel für lokales TCP/IP-Netz
H. Krumm, RvS, Informatik IV, Uni Dortmund
52
Logische Kommunikation - Transportschicht
H. Krumm, RvS, Informatik IV, Uni Dortmund
53
Physikalische Kommunikation
H. Krumm, RvS, Informatik IV, Uni Dortmund
54
Herunterladen