Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
H. Krumm, RvS, Informatik IV, Uni Dortmund 1
Rechnernetze und verteilte Systeme (BSRvS II)
WS 2010/2011
Prof. Dr. Heiko Krumm
FB Informatik, LS IV, AG RvS
Universität Dortmund
• Computernetze und das Internet
• Anwendung
• Transport
• Vermittlung
• Verbindung
• Multimedia
• Sicherheit
• Netzmanagement
• Middleware
• Verteilte Algorithmen
H. Krumm, RvS, Informatik IV, Uni Dortmund 2
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 3
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 4
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 5
Besonderheiten verteilter Systeme
Kommunikation
– unzuverlässig, teuer, langsam
Lose Kopplung
– Kommunikation selten
– Synchronisation schwach
– Fehlertoleranz
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)
Instanz
Instanz
Instanz
Entfernung
H. Krumm, RvS, Informatik IV, Uni Dortmund 6
Verteilung verdeckbar? Unzuverlässigkeit!
t
Treffen am 28.10. in Dortmund?!
Bitte quittieren!
....
.
28.10. erreicht!
HH M
Vollständig zuverlässige Übereinkunft unter Fristsetzung ist nicht möglich!
Ok! Aber bitte Quittung
der Quittung quittieren!
Ok! Aber bitte Quittung quittieren!
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, …
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
H. Krumm, RvS, Informatik IV, Uni Dortmund 11
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 12
Rechnernetze
WAN
LAN
Rechner
Verbindungseinrichtung
Datennetz (Internet)
Mobile Computing
Nomadic Computing
H. Krumm, RvS, Informatik IV, Uni Dortmund 13
Rechnernetz - Übersicht
Rechner
Peripherie
Kommunikationssystem
Endsystem
End- system
Lokales Netz
Hub
End- system
Öffentliches Vermittlungsnetz
TS
TS
TS
TS
TS
End- system
End- system
Lokales Netz
End- system
Hub
H. Krumm, RvS, Informatik IV, Uni Dortmund 14
Dienstleistende Systeme
Instanzen
– Menge von Dienstnehmern
– Diensterbringer (offenes Subsystem)
Kommunikation
– vertikale Kommunikation
» Abwicklung von Dienstleistungen
zwischen Dienstnehmer und
Dienstleister
– horizontale Kommunikation
» zwischen Dienstnehmern
Kommunikationssysteme
– in der Zeit Datenhaltungssystem
– im Raum Telekommunikationssystem
» Dienstleistungen dienen dem Nachrichtenaustausch zwischen Dienstnehmern
» Diensterbringer interpretiert Nachrichten nicht
Dienst-
nehmer
Diensterbringer
Dienst-
nehmer
Dienst-
nehmer
H. Krumm, RvS, Informatik IV, Uni Dortmund 15
Kommunikationsdienst
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)
Kommunikationsdienst
User User User
Dienstleistung
Dienstleistung
Dienstzugangspunkt
H. Krumm, RvS, Informatik IV, Uni Dortmund 16
Kommunikationsdienst – Sichten
Statische Sicht Die Dienstschnittstelle,
ist gegliedert in
Dienstzugangspunkte,
welchen Dienstadressen
zugeordnet sind.
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
Dienstreaktionen
Briefkasten
Schlossallee
Briefkasten
Hauptpost
Wohnungs-
briefkasten
Maier
Wohnungs-
briefkasten
Maier
t
Stimulus
Brief-
einwurf
Reaktion
Brief-
auslie-
ferung
Dienstleistung
Brieftransfer
H. Krumm, RvS, Informatik IV, Uni Dortmund 17
Dienstnehmer-Rollen und Dienstformen
Zentrale Idee zur Nutzung von Ressourcen in Rechnernetzen:
Anbieten und Aufrufen von Diensten
Initiator
Anrufer
Client
Kunde Beantworter
Ausführer
Server
Dienstleister
Unbestätigter Dienst
Request Anforderung
Indication Anzeige
Bestätigter Dienst
Request Anforderung
Indication Anzeige
Response Antwort
Confirmation Bestätigung
Rollen
Grundformen
H. Krumm, RvS, Informatik IV, Uni Dortmund 18
Kommunikationsformen – Partneranzahl
Unicast (2 Partner)
Multicast (an eine Gruppe)
Broadcast (an alle)
H. Krumm, RvS, Informatik IV, Uni Dortmund 19
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 20
Kommunikationsdienste – Richtungsbetrieb
simplex
A B
Z.B. Feuermelder,
Sensoren
duplex
A B
Z.B. Telefon
halbduplex
A B
Z.B. Wechselsprech-
anlage
t
H. Krumm, RvS, Informatik IV, Uni Dortmund 21
Kommunikationsdienst - Nachrichtenreihenfolge
Auslieferungsdisziplin:
• reihenfolgentreu (FIFO)
• zufällig
• priorisierte FIFO-Queues
4 3 2 1
Dienstzugangspunkt
Verbindungsendpunkt
Verbindung
puffert wie Queue
Nachricht
H. Krumm, RvS, Informatik IV, Uni Dortmund 22
Kommunikationsdienst: Qualität
Leistung
Nachrichtenlaufzeit, Verzögerung
Durchsatz (Bandbreite, Bitrate)
Entfernung
Zuverlässigkeit
Verfügbarkeit
Fehler Verlust, Verfälschung, Vertauschung,…
Kosten
Grundkosten
Dienstleistungskosten
Datensicherheit
Verfälschung / Integrität
Vertraulichkeit
Zurechenbarkeit
…
t
x HH M
8 h
775 km
H. Krumm, RvS, Informatik IV, Uni Dortmund 23
Kommunikationsdienst: Zuverlässigkeit / Fehler / Störungen
H. Krumm, RvS, Informatik IV, Uni Dortmund 24
Protokolle: Ablauf in der Zeit
H. Krumm, RvS, Informatik IV, Uni Dortmund 25
Ziel-Kommunikationsdienst
Schicht
Protokolle: Definition
Basis-Kommunikationsdienst
Instanz Instanz Instanz
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 26
Protokolle: Definition
Ein Kommunikationsprotokoll definiert das Kommunikationsverhalten von Instanzen,
welche einen Basis-Kommunikationsdienst nutzen, um einen (höherwertigen) Ziel-
Kommunikationsdienst zu erbringen. Es wird definiert über:
• Zieldienst
• Basisdienst
• Instanzenverhalten
• PDU-Formate
Ziel-Kommunikationsdienst
Schicht
Basis-Kommunikationsdienst
Instanz Instanz Instanz
PDU
H. Krumm, RvS, Informatik IV, Uni Dortmund 27
Schichtung von Diensten und Protokollen
Nachrichtentransportsystem
Steuermann (Brücke)
Maschinen-
Telegraph
H. Krumm, RvS, Informatik IV, Uni Dortmund 28
Schichtung von Diensten und Protokollen
User mit Kooperationsbeziehung
„Schiff fahren“
Direkt anwendungsbezogene
Kommunikationsdienstleistungen:
- Übertrage „Volle Kraft voraus“
Allgemeine Nachrichtenübermittlung
- Übertrage winkelcodierte Nachricht
Ko
mm
un
ika
tion
A
rbei
t
H. Krumm, RvS, Informatik IV, Uni Dortmund 29
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
Schichtung von Diensten und Protokollen
Basisdienst – Medium (Schicht 0)
H. Krumm, RvS, Informatik IV, Uni Dortmund 30
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 31
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 32
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 33
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 34
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 35
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 36
Netz-Kerne (allgemein): Multiplexing
H. Krumm, RvS, Informatik IV, Uni Dortmund 37
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 38
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 39
Netz-Kerne (allgemein): Taxonomie
H. Krumm, RvS, Informatik IV, Uni Dortmund 40
Physikalische Medien
• Verdrillte Adernpaare
(geschirmt, ungeschirmt)
• Koaxialkabel
• Glasfaser
• Funkkanäle (erdgebunden,
Satelliten)
H. Krumm, RvS, Informatik IV, Uni Dortmund 41
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 42
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 43
Schichtung von Diensten und Protokollen
H. Krumm, RvS, Informatik IV, Uni Dortmund 44
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 45
ISO/OSI-Basisreferenzmodell
2-1
Transportsystem
Anwendungs-
prozess Anwendungs-
prozess
H. Krumm, RvS, Informatik IV, Uni Dortmund 46
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 47
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
Sicherungsschicht (Data Link Layer)
– stellt zuverlässige Links zur Verfügung
– Flußkontrolle, Fehlererkennung und -korrektur
Bitübertragungsschicht (Physical Layer)
– stellt ungesicherte Links für die Übertragung von Bitfolgen zur
Verfügung.
je Link
bildet
Daten-
netz
bildet
Trans-
port-
system
H. Krumm, RvS, Informatik IV, Uni Dortmund 48
ISO/OSI-Basisreferenzmodell: Begriffe
Ziel-Kommunikationsdienst
Schicht
Basis-Kommunikationsdienst
Instanz Instanz 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 49
ISO/OSI-Basisreferenzmodell: Begriffe
Ziel-Kommunikationsdienst
Schicht
Basis-Kommunikationsdienst
Instanz Instanz 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
Nutzdaten der (N+1)-Instanzen
PCI Nutzdaten
PDU
H. Krumm, RvS, Informatik IV, Uni Dortmund 50
TCP/IP Protokollstapel (Protocol Stack)
H. Krumm, RvS, Informatik IV, Uni Dortmund 51
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, Routing-
Protokolle
data link layer
Datentransfer zwischen benachbarten
Systemen
PPP, Ethernet, …
physical layer
Bitübertragung auf der Leitung oder im
Funkkanal
RS-232, Ethernet, …
H. Krumm, RvS, Informatik IV, Uni Dortmund 52
Beispiel für lokales TCP/IP-Netz
H. Krumm, RvS, Informatik IV, Uni Dortmund 53
Logische Kommunikation - Transportschicht
H. Krumm, RvS, Informatik IV, Uni Dortmund 54
Physikalische Kommunikation