Rechnernetze und verteilte Systeme (BSRvS II)

Rechnernetze und verteilte Systeme (BSRvS II) WS 2010/2011 Prof. Dr. Heiko Krumm FB Informatik, LS IV, AG RvS Universität Dortmund • • • • • • • • • ...
3 downloads 0 Views 1MB Size
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