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