Über die Grenze: Rechner in Netzwerken

Werbung
Einführung in die Funktionsweise von Computersystemen
Einführung in die Funktionsweise von Computersystemen
8
Wintersemester 2016/2017
Netze
Einführung in die Funktionsweise von Computersystemen
▶
Bisher: Vorwiegend lokale Kommunikation und lokale Aufgaben zu lösen (Prozessinteraktion)
▶
Aufgaben können aber auch die Kommunikation zu entfernten Rechner erfordern
8. Kapitel
Über die Grenze: Rechner in
Netzwerken
▶
Übertragung von Daten (e-Mail, WWW)
▶
Nutzung entfernter Rechenkapazitäten
▶
Abstraktion vom Ort
➡ Verbindung durch Netzwerke
▶
Prof. Matthias Werner
8Professur Betriebssysteme
Sichtweisen
▶
Computer sind durch Kommunikationesnetze verbunden
▶
Computer sind Knoten innerhalb eines Netzes
212
WS 2016/2017 • M. Werner
Einführung in die Funktionsweise von Computersystemen
http://osg.informatik.tu-chemnitz.de
Einführung in die Funktionsweise von Computersystemen
8
Kriterien für Netzwerke
▶
▶
▶
8
Topologien
Geschwindigkeitsparameter: Latenz und Durchsatz
Latenz (Verzögerung, latency):
Zeit, die eine leere Nachricht braucht, um vom Sender zum Empfänger zu gelangen; Zeit zur
Etablierung einer Verbindung
Linie
Ring
Stern
Baum
Bus
Durchsatz (Übertragungsrate, transfer rate):
Geschwindigkeit, mit der Daten übertragen werden, sobald eine Verbindung etabliert ist
Nachrichtenübertragungszeit = Latenz + Nachrichtenlänge/Durchsatz
▶
vollständige
Vernetzung
Außer der Geschwindigkeit ist vor allem die Zuverlässigkeit einer Kommunikation und die
räumliche Ausdehnung wesentlich
▶
WS 2016/2017 • M. Werner
213
http://osg.informatik.tu-chemnitz.de
Auch irreguläre Strukturen oder Vermischungen dieser Topologien sind üblich
WS 2016/2017 • M. Werner
214
http://osg.informatik.tu-chemnitz.de
Einführung in die Funktionsweise von Computersystemen
Einführung in die Funktionsweise von Computersystemen
8
Verbindungsarten
▶
▶
▶
▶
8
Schichtenmodelle
Beim Datentransport wird verbindungsorientierte und verbindungslose Kommunikation
unterschieden
▶
In hierarchischen Architekturen lassen sich Hierarchieebenen mit unterschiedlichen
Funktionen identifizieren ➡(Dienst-)Schichten
▶
Jede Schicht
Verbindungsorientiert (connection-oriented):
Ein virtueller Kanal wird zwischen Sender und Empfänger aufgebaut, der zur Übermittlung
von Datenströmen genutzt wird
Verbindungslos (connection-less):
Jede einzelne Nachricht (Datagramm) wird zu einem bestimmten Ziel geschickt
Beispiele aus lokaler IPC
▶
UNIX-Messages sind verbindungslos
▶
Pipes sind verbindungsorientiert
▶
215
WS 2016/2017 • M. Werner
http://osg.informatik.tu-chemnitz.de
▶
hat bestimmten Zweck und Funktion
▶
bietet den jeweils höheren Schichten Dienste an
▶
besitzt Schnittstelle zum Zugriff auf angebotene Dienste
▶
abstrahiert von Details der Implementierung
▶
nutzt Dienste tieferer Schichten zur Funktionserbringung
Ziel: Reduzierung der Komplexität
216
WS 2016/2017 • M. Werner
Einführung in die Funktionsweise von Computersystemen
http://osg.informatik.tu-chemnitz.de
Einführung in die Funktionsweise von Computersystemen
8
Protokollhierarchien
Schicht 3
8
Architekturbeispiel
Schicht 3-Protokoll
Philosoph/ÜbersetzerIn/SekretärIn-Architektur
Schicht 3
Nachricht
Deutsch
Ich mag
Kaninchen.
Information
für entfernte
Übersetzerin
Fax # ----Deutsch
Ich mag
Kaninchen.
Information
für entfernten
Sekretär
Philosoph
J‘aime
les lapins.
Schicht 2/3-
Schnittstelle
Schicht 2/3-
Schnittstelle
Schicht 2
Schicht 2-Protokoll
Schicht 2
Schicht 1/2-
Schnittstelle
Schicht 1/2-
Schnittstelle
Schicht 1
Schicht 1-Protokoll
217
Übersetzerin
Deutsch
Ich mag
Kaninchen.
Schicht 1
Physikalisches Medium (Schicht 0)
WS 2016/2017 • M. Werner
I like
rabbits.
http://osg.informatik.tu-chemnitz.de
WS 2016/2017 • M. Werner
Sekretär
218
Fax # ----Deutsch
Ich mag
Kaninchen.
http://osg.informatik.tu-chemnitz.de
Einführung in die Funktionsweise von Computersystemen
Einführung in die Funktionsweise von Computersystemen
8
Protokoll
▶
8
Informationsfluss
Ein Protokoll legt die Regeln und Konventionen fest, wie die Schicht n der Maschine A mit Schicht n der Maschine B kommuniziert
M
▶
Beim Senden leitet jede Schicht die Daten an die unterliegende Schicht weiter, bis die
physikalische Schicht erreicht ist
▶
In jeder Schicht können die Daten transformiert (z.B. aufgeteilt) sowie zusätzliche
Informationen (z.B. Header, Trailer) hinzugefügt werden
▶
Der Empfang erfolgt entsprechend umgekehrt
▶
Eine Protokollhierarchie nennt man auch Protocol Stack
H2
H1
219
WS 2016/2017 • M. Werner
H3
http://osg.informatik.tu-chemnitz.de
H3
H2
M
M1
H3
M1
H2
H1
M2
H2
H3
H2
M2
H1
H3
H2
M
M1
H3
220
WS 2016/2017 • M. Werner
Einführung in die Funktionsweise von Computersystemen
M
M: Gesamte Nachricht
Mi: Teilnachricht i
Hi: Header der Schicht i
M1
H2
H1
M2
H2
M2
http://osg.informatik.tu-chemnitz.de
Einführung in die Funktionsweise von Computersystemen
8
TCP/IP-Referenzmodell
▶
8
Schichten des TCP/IP-Referenzmodels
Schichtenmodell mit vier Schichten
▶
Host-an-Netz
▶
Verarbeitung
Verarbeitung
▶
Anwendung
▶
Internet
Internet
Internet
▶
Transport
Transport
Betriebssystem
▶
Transport
▶
Ermöglicht die Kommunikation zwischen Anwendungen
▶
Zwei bekannte Protokolle
http://osg.informatik.tu-chemnitz.de
TCP ermöglicht zuverlässige, verbindungsorientierte Kommunikation auf Basis von Byteströmen
UDP ermöglicht unzuverlässige, verbindungslose Kommunikation auf Basis von Nutzdatenpaketen
Verarbeitung
▶
221
Ende-zu-Ende senden und empfangen einzelner Pakete zwischen miteinander kommunizierenden
Rechnern
•
•
Host-an-Netz
Host-an-Netz
WS 2016/2017 • M. Werner
Senden, weiterleiten und empfangen einzelner Pakete zwischen direkt miteinander
kommunizierenden Rechnern
Stellt Applikationsprotokolle wie HTTP, FTP oder SMTP zur Verfügung
WS 2016/2017 • M. Werner
222
http://osg.informatik.tu-chemnitz.de
Einführung in die Funktionsweise von Computersystemen
Einführung in die Funktionsweise von Computersystemen
8
TCP/IP-Referenzmodell
▶
8
TCP/IP-Referenzmodell
Endsysteme und Router
▶
Verarbeitung
Verarbeitung
Transport
Transport
Internet
Internet
Internet
Host-an-Netz
Host-an-Netz
Host-an-Netz
Protokolle (Beispiele)
Telnet
FTP
SMTP
DNS
TCP
UDP
ICMP
ARPANET
HTTP
SATNET
Transport
IGMP
IP
Funk
Verarbeitung
LAN
Internet
Host-an-Netz
Gateway (Router)
223
WS 2016/2017 • M. Werner
http://osg.informatik.tu-chemnitz.de
224
WS 2016/2017 • M. Werner
Einführung in die Funktionsweise von Computersystemen
http://osg.informatik.tu-chemnitz.de
Einführung in die Funktionsweise von Computersystemen
8
OSI-Referenzmodell
Die Schichten des OSI-Referenzmodells
▶
OSI = Open Systems Interconnection
▶
Schichtenmodell mit sieben Schichten
WS 2016/2017 • M. Werner
8
▶
Bitübertragung (engl.: Physical)
▶
7
7
Anwendung
6
6
Darstellung
5
5
Sitzungssteuerung
4
4
Transport
3
3
3
Vermittlung
2
2
2
Sicherung
1
1
1
Bitübertragung
225
http://osg.informatik.tu-chemnitz.de
▶
Sicherung (engl.: Data Link)
▶
▶
Sicherung der zu übertragenen Daten durch Aufteilung in Rahmen, Checksummen und
Bestätigungen; Flusskontrolle
Vermittlung (engl.: Network)
▶
▶
Übertragung ungesicherter Bitströme über den Kommunikationskanal
Annehmen und Zustellen einzelner Pakete
Transport (engl.: Transport)
▶
Entgegennehmen der Daten
▶
Aufteilung in Pakete für die Vermittlungsschicht
▶
Abliefern der vollständigen und korrekten Daten
WS 2016/2017 • M. Werner
226
http://osg.informatik.tu-chemnitz.de
Einführung in die Funktionsweise von Computersystemen
Einführung in die Funktionsweise von Computersystemen
8
Die Schichten des OSI-Referenzmodells
▶
▶
8
Internet- vs. OSI-Referenzmodell
Sitzungssteuerung (engl.: Session)
▶
Synchronisation der Kommunikationspartner
▶
Checkpointing bei langen Übertragungen
Darstellung (engl.: Presentation)
▶
TCP/IP
OSI
Verarbeitung
Anwendung
Darstellung
Legt die Syntax und die Semantik der zu übertragenden Daten fest (Datenrepräsentation)
Sitzung
▶
Anwendung (engl.: Application)
▶
Stellt Applikationsprotokolle wie HTTP, FTP oder SMTP zur Verfügung
Transport
Transport
Internet
Vermittlung
Sicherung
Host-an-Netz
227
WS 2016/2017 • M. Werner
http://osg.informatik.tu-chemnitz.de
228
WS 2016/2017 • M. Werner
Einführung in die Funktionsweise von Computersystemen
Bitübertragung
http://osg.informatik.tu-chemnitz.de
Einführung in die Funktionsweise von Computersystemen
8
Vergleich der Referenzmodelle
J
„Bottom-up“-Entwicklung
getrieben aus der Praxis
J
Einfachheit statt Universalität
J
Nur verbindungsloses
Vermittlungsprotokoll
L
L
Beispiel für Protokol-Stack-Abarbeitung
OSI
TCP/IP
L
8
▶
Zähe „top-down“-Entwicklung mit
wenig Bezug zur Praxis
Beispiel soll Zusammenspiel der Protokollschichten verdeutlichen
▶
Einige der Protokolle werden später
ausführlicher erklärt
▶
Nur Auswahl, in der Praxis spielen noch mehr Protokolle mit
J
Klar strukturiert und konzeptionell
umfassend
L
Ineffiziente Verarbeitung
▶
Schwächen im Modell und in der
Ebenenstruktur
L
Aufwendige, komplexe
Implementierung
Was geschieht nach einem Maus-Klick im WWW?
▶
Keine klare Trennung zwischen
"Dienst", "Schnittstelle", "Protokoll"
L
Redundante Funktionen
Browser (Firefox, Internet Explorer, Opera, etc.) kann HTML-Dokumente darstellen
L
Schlechtes Timing der
Standardisierung
Modell
Protokolle
WS 2016/2017 • M. Werner
D
C
Modell
Protokolle
229
C
D
http://osg.informatik.tu-chemnitz.de
▶
Dokumente können lokal oder entfernt liegen
▶
Betrachten Protokolle bei entfernten Aufruf
WS 2016/2017 • M. Werner
http://osg.informatik.tu-chemnitz.de/lehre/gau
230
http://osg.informatik.tu-chemnitz.de
Einführung in die Funktionsweise von Computersystemen
Einführung in die Funktionsweise von Computersystemen
8
Anwendungsschicht
Domainnamen und DNS
▶
Das erste Protokoll der Anwendungsschicht ist das Hypertext Transfer Protocol (http)
▶
http ist das gemeinsame Protokoll (Anwendungsprotokoll) zwischen dem Webbrowser
und dem Webserver (Programm, das z.B. HTML-Seiten zur Verfügung stellt.)
▶
HTTP ist nicht HTML!
▶
HTTP enthält Befehle wie GET, PUT, HEADER, OPTIONS
▶
Bsp.: Mit Hilfe von GET sagt der Browser dem Server, dass er bestimmte Daten haben
möchte
▶
Welcher Server?
▶
Browser wendet sich an den DNS und gibt ihm die Adresse aus dem URL http://osg.informatik.tu-chemnitz.de/
231
WS 2016/2017 • M. Werner
8
▶
Domainnamen, wie http://osg.informatik.tu-chemnitz.de spiegeln für Menschen verständliche logische Organisationsstrukturen dar, die mit der
physischen Wirklichkeit nichts zu tun haben (müssen)
▶
Der Dienst DNS (Domain Name Service) wandelt die Domainnamen in IP-Adressen
▶
DNS nutzt seinerseits TCP/IP
▶
Die IP-Adresse eines DNS-Servers muss bekannt sein
http://osg.informatik.tu-chemnitz.de
232
WS 2016/2017 • M. Werner
Einführung in die Funktionsweise von Computersystemen
http://osg.informatik.tu-chemnitz.de
Einführung in die Funktionsweise von Computersystemen
8
IP-Adressen
▶
▶
▶
Vergabe (wie auch von Domainnamen) durch das NIC (Network Information Centre)
▶
▶
Schreibweise: vier 8-Bit-Dezimalzahlen durch Punkt getrennt, z.B.: 134.109.193.2
IPv6: 128 Bit
•
▶
•
•
Schreibweise: acht 16-Bit-Hexadezimalzahlen durch Doppelpunkt getrennt, z.B:
2001:0db8:85a3:08d3:1319:8a2e:0370:7344
Die IP-Adresse wird in den unterliegenden Protokollschichten benutzt
WS 2016/2017 • M. Werner
Das TCP/IP-Modell kennt zwei Protokolle für den Transport:
•
•
IPv4: 32 Bit
•
Mit der korrekten IP-Adresse wendet sich der Browser an die Transportschicht
▶
IP-Adresse ist Gruppe von Nummern:
▶
▶
Transportschicht
Eine IP-Adresse ist internetweit eindeutig
▶
8
233
▶
http://osg.informatik.tu-chemnitz.de
UDP - User Datagram Protocol:
verbindungsloses Protokoll, garantiert nichts, weniger aufwendig
wird genutzt von Anwendungen/Protokollen, bei denen die Zuverlässigkeit auf höherer
Ebene gesichert wird, z.B. rwho, tftp
TCP - Transport Control Protocol:
zuverlässiges verbindungsorientiertes Protokoll
wird z.B. genutzt von ftp, telnet, http ...
TCP übernimmt den Aufbau der virtuellen Verbindung zum Server, formt IP-Pakete
(Datagramme), überprüft auf Fehler und nimmt ggf. eine Fehlerkorrektur (erneutes
Senden) vor
WS 2016/2017 • M. Werner
234
http://osg.informatik.tu-chemnitz.de
Einführung in die Funktionsweise von Computersystemen
Einführung in die Funktionsweise von Computersystemen
8
Vermittlungsschicht: Internet Protokoll
▶
▶
▶
8
Routing (I)
Das Internet Protokoll (IP) ist in erster Linie für den Transport von
Daten zwischen verschiedenen Netzwerken zuständig
▶
▶ IP-Zieladresse eines Pakets lesen
▶ Network point of attachment (NPA) Adresse des Zielrechners oder nächsten
IP hat folgende Aufgaben:
▶
Zerlegen eines Datagramms, um die maximal zulässige Paketgröße
eines Netzwerks zu erreichen
▶
Finden eines Weges zum Ziel (Routing)
Gateways anhand von Routingtabellen ermitteln
▶
235
Für das Routing wird das IN als eine Menge von autonomen Systemen angesehen,
die an das core backbone network angeschlossen sind
▶ Innerhalb eines autonomen Systemes wird ein interior gateway protocol benutzt
(IGP), außerhalb das exterior gateway protocol (EGP)
IP greift dabei auf eine Reihe weiterer Protokolle zurück, die auch von
Netzwerk zu Netzwerk verschieden sein können
WS 2016/2017 • M. Werner
IP Routing erfolgt in zwei Schritten:
▶ Es gibt im Internet verschiedene IGP
▶
Verbreitete IGPs: RIP (routing information protocol) und hello
▶
Für die Adressauflösung nutzt IP das ARP (address resolution protocol)
http://osg.informatik.tu-chemnitz.de
WS 2016/2017 • M. Werner
Einführung in die Funktionsweise von Computersystemen
236
http://osg.informatik.tu-chemnitz.de
Einführung in die Funktionsweise von Computersystemen
8
Routing (II)
WS 2016/2017 • M. Werner
8
Gateway und Protokollkonverter
237
http://osg.informatik.tu-chemnitz.de
▶
Da innerhalb der einzelnen Netze verschiedene Protokolle und Darstellungen benutzt
werden, müssen bestimmte Geräte die Umsetzung vornehmen (intermediate systems,
IS)
▶
Annahme: oberste Protokollebene ist überall gleich ➡ Protokollkonverter
▶
Gateway setzt Protokolle auf der Ebene der Transportschicht um
WS 2016/2017 • M. Werner
238
http://osg.informatik.tu-chemnitz.de
Einführung in die Funktionsweise von Computersystemen
Einführung in die Funktionsweise von Computersystemen
8
Host-an-Netz-Schicht
Physical Layer
▶
Beim Netzzugang wird zwischen den logischen und dem physischen Zugriff
unterschieden
▶
Regelung des logischen Medienzugriffs (MAC: medium access control)
▶
Bekannte MAC-Verfahren:
▶
▶
innerhalb der Netze können verschiedene Medien zum Transport genutzt werden;
typisch: elektromagentische Wellen
Token Ring
•
•
•
•
▶
8
garantiert Fairness
gut bei gleichmässig hoher Last
große Latzenzzeiten
Bsp.: IBM Token Ring
CSMA/CD (carrier sensing, multiple access with collision detection)
•
•
•
stochastische Fairness
gut bei niedriger bis mittlerer Last, dann kleine Latenzzeiten
Bsp. Ethernet
239
WS 2016/2017 • M. Werner
http://osg.informatik.tu-chemnitz.de
240
WS 2016/2017 • M. Werner
Einführung in die Funktionsweise von Computersystemen
http://osg.informatik.tu-chemnitz.de
Einführung in die Funktionsweise von Computersystemen
8
Modulation
WS 2016/2017 • M. Werner
8
Am Ziel
241
http://osg.informatik.tu-chemnitz.de
▶
Ist ein Paket beim Empfänger angelangt, wird der Protokollstack rückwärts
durchlaufen:
▶
Die unteren Schichten lesen die Pakete vom Netz und liefern sie an das IP-Protokoll
▶
IP setzt die Pakete zu Datagrammen zusammen und reicht sie an TCP
▶
TCP überprüft auf Fehler, behebt sie (evtl. Kommunikation mit dem ursprünglichen
Sender), setzt die Datagramme zu http-Nachrichten zusammen, und liefert diese an
den WWW-Server aus
▶
Web-Server versteht die http-Nachricht, sucht das entsprechende Dokument und
sendet es dem Browser zurück...
▶
... und das Spiel beginnt von vorn.
WS 2016/2017 • M. Werner
242
http://osg.informatik.tu-chemnitz.de
Herunterladen