TU Braunschweig Institut für Betriebssysteme und Rechnerverbund Verteilte Systeme Prof. Dr. Stefan Fischer Kapitel 3: Netzwerk-Grundlagen Überblick • • • • Schichtenmodelle, Protokolle und Dienste LANs und WANs Internet TCP/IP und UDP Prof. Dr. Stefan Fischer IBR, TU Braunschweig Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen 3-2 Interessante Netzeigenschaften • Performance – Verzögerung, Datenrate • Skalierbarkeit – Ist das Netz immer noch leistungsfähig, wenn es größer wird? • Zuverlässigkeit – Wie verlässlich ist die Datenübertragung? • Sicherheit – Kann die Datenübertragung bzw. ein Rechner im Netz gesichert werden? • Mobilität – Werden mobile Systeme unterstützt? • Quality of Service – Gibt es mehr als den „best effort“? • Multicast – Ist effiziente Kommunikation mit vielen Partnern möglich? Prof. Dr. Stefan Fischer IBR, TU Braunschweig Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen 3-3 Netzwerkarchitekturen • Problem – Welche Funktionen gibt es, wie verteilen sie sich auf Komponenten, wie interagieren die Komponenten? • Ziele – Ermögliche Design, Implementierung, Betrieb. – Interoperabilität zwischen Hardware und Software verschiedener Hersteller. Standards statt proprietärer Lösungen • Logische Architektur – Wie sieht die generische konzeptionelle Struktur des Kommunikationssystems in jedem Netzwerkknoten aus? • Physische Architektur – Wie sieht die konkrete Verbindungsstruktur zwischen den einzelnen Knoten in einem spezifischen Netzwerk aus ? Prof. Dr. Stefan Fischer IBR, TU Braunschweig Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen 3-4 Logische Netzwerkarchitektur Schichtenmodell Modulstapel in jedem Knoten Jedes Modul fügt den darunter liegenden Modulen Funktionalität hinzu. Interaktionen zwischen den Modulen über standardisierte Schnittstellen (Dienstschnittstelle). Kooperation von Peer-Modulen über Protokolle. Prof. Dr. Stefan Fischer IBR, TU Braunschweig ... ... TL TL NL NL DL DL PHY PHY Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen Layer interfaces Layer protocols 3-5 Warum Schichtenmodelle? • Für die Kommunikation über ein Netz müssen eine Vielzahl von Problemen gelöst werden. • Die Idee ist, diese komplexe Aufgabe in viele kleine, weniger komplexe Aufgaben aufzuteilen. • Zur Lösung der Aufgaben in einer höheren Schicht werden die Lösungen der darunter liegenden Schichten verwendet. • Bekannte Schichtenmodelle? Prof. Dr. Stefan Fischer IBR, TU Braunschweig Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen 3-6 OSI-Referenzmodell • Open System Interconnection - Reference Model ISO/ITU-T Standard aus den frühen 80ern (ISO 7498). Ziel: Schaffung der Grundlagen für offene Kommunikationssysteme ohne proprietäre Technologien Prinzip und Konzept der Schichtenarchitektur weit verbreitete Vorlage (außer für das Internet !). Architektur mit 7 Schichten ISO/ITU-T Standards existieren für jede der Schichten, aber das Modell wird praktisch nicht mehr eingesetzt viel Redundanz, zu komplex Prof. Dr. Stefan Fischer IBR, TU Braunschweig Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen Application processes Application Presentation Session Transport Network Data Link Physical 7 6 5 4 3 2 1 3-7 TCP/IP-Schichtenmodell Erster und am weitesten verbreiteter Open Stack Standardisierung RFC (Request For Comments) der IETF (Internet Engineering Task Force). (http://freesoft.org/CIE/index.htm) OSI-RM Applications Application 7 Presentation 6 Application Session 5 TCP/IP versus OSI-RM Einfacher und wesentlich pragmatischer Kein rigoroses Schichtenmodell Prof. Dr. Stefan Fischer IBR, TU Braunschweig TCP/IP Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen Transport 4 Transport Network 3 Internetwork Data Link 2 (host to) Physical 1 Network 3-8 OSI-RM: Dienstschnittstellen • Dienst Funktionalität, die eine Schicht nach oben hin anbietet Dienstschnittstellen N- SAP Regeln für die Kommunikation zwischen benachbarten Schichten in derselben Station: Folge von Nachrichten SAP: Service Access Point; durch eine Adresse in der Schicht eindeutig definiert SDU: Service Data Unit. Prof. Dr. Stefan Fischer IBR, TU Braunschweig Transport entity Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen N-service primitives N-SDU Network entity DL- SAP DL-service DL-SDU primitives Data Link entity ... 3-9 Datenkapselung ftp client user data FTP F user data TL T F user data NL N T F user data DL D N T F user data PHY user data ftp server F user data FTP T F user data TL N T F user data NL D N T F user data DL user file File transfer protocol TL protocol NL protocol DL protocol 1011010 Prof. Dr. Stefan Fischer IBR, TU Braunschweig 1011010 Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen PHY 3-10 Datenübertragung auf Schicht 1 Example:Ethernet Ethernet Example: bustopology topology bus 1011010 Effects of attenuation, distortion, noise, ... • Physikalisches Medium Zur Übertragung der Information in Form einer elektromagnetischen Welle ... ... PHY PHY Medium Physikalische Schicht Aufgabe: Übertragung von Bitströmen über das Medium. Prof. Dr. Stefan Fischer IBR, TU Braunschweig Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen 3-11 Schicht 2: Data Link Shared medium multipoint link: Nodes identified by addresses, frames delivered by flooding 1 2 3 4 3→ 22 3→ 1→ 44 1→ Collision Collision 3→ 22 3→ • Hauptaufgaben – Fehlerkontrolle – Regelung des Medienzugriffs (bei Nutzung eines gemeinsamen Mediums durch viele Stationen) Prof. Dr. Stefan Fischer IBR, TU Braunschweig Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen ... ... DL/MAC DL/MAC PHY PHY Medium 3-12 Physikalische Netzwerktypen • Local Area Network – Überdeckt kleine Fläche (Gebäude, Campus) – Sehr schnell – Billig – Bekannte Netze • Wide Area Network – Für große Flächen (Länder) – Eher geringe Datenrate – Teuer wg. Notwendigkeit effizienter Mediennutzung – Bekannte Netze: • ISDN • ATM • Frame Relay • Ethernet • Token Ring • Wireless LAN Prof. Dr. Stefan Fischer IBR, TU Braunschweig Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen 3-13 Internetworking Various Various WAN WAN (data (data link) link) technologies technologies Various Various LAN LAN (data (data link) link) technologies technologies Internetworking Internetworking:: Interconnecting Interconnecting aa collection collection of of networks networks ? Ziel verbinde mehrere physikalische unterschiedlicher Architektur miteinander, so dass die Rechner miteinander kommunizieren können Umsetzung auf der Vermittlungsschicht (Network Layer) Prof. Dr. Stefan Fischer IBR, TU Braunschweig Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen 3-14 Das Internet • Das wichtigste und größte Netzwerk. • Die Geschichte des Internet begann Ende der 60er Jahre als kleines Versuchsnetz zwischen vier Südwest-amerikanischen Einrichtungen. • Der Aufbau wurde vom Verteidigungsministerium finanziert. • Idee: Schaffung eines paketvermittelten Netzes, das sehr robust und wenig anfällig für Zerstörungen ist. • Heute: komplette Protokoll-Suite auf den verschiedenen Schichten Prof. Dr. Stefan Fischer IBR, TU Braunschweig Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen 3-15 TCP/IP Protocol Stack Web browser, e-mail, ... Applications Other user applications User space Application protocols: HTTP, SMTP, FTP, ... Application Programming Interface (API) UDP TCP IGMP RARP ICMP IP RIP OSPF OS kernel Network ARP LAN DL technology Prof. Dr. Stefan Fischer IBR, TU Braunschweig Transport WAN DL technology Data Link Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen 3-16 Vermittlungsschicht: Aufgaben • Adressierung – Eindeutige Identifizierung der angeschlossenen Stationen (netzübergreifend!) • Wegewahl durch das Internet • Überlastkontrolle – Auch bei hoher Last muss das Netz verfügbar bleiben • Segmentation/Reassembly – Anpassung der Datenpaketgrößen an die transportierenden Netze Prof. Dr. Stefan Fischer IBR, TU Braunschweig Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen 3-17 Das Modell von IP Datagramme Einzelne, unabhängig voneinander weitergeleitete Pakete, die sich ihren Weg zum Ziel suchen Routing-Tabellen geben den Ausgang zu einem Ziel an R2 R1 „Best effort“-Dienst Keine Garantie für Auslieferung eines Pakets Korrekte Reihenfolge Praktisch keine Echtzeit x yx yx DA,SA data Routing tables Router R1 DA y ... Prof. Dr. Stefan Fischer IBR, TU Braunschweig yx Next hop R3, R4 ... Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen R5 R3 R4 yx yx Router R3 DA y ... Next hop R6 ... R6 yx y Router R6 DA y ... Next hop ... 3-18 IPv4-Paketformat Bits: Bits: 00 44 88 16 16 19 19 Version Total VersionHdrLng HdrLng Type Typeof ofservice service Totallength length Identification Flags Fragment Identification Flags Fragmentoffset offset 20 20 Time Protocol Header Timeto tolive live Protocol Headerchecksum checksum octets octets Source Sourceaddress address Destination Destinationaddress address Options Options++padding padding 31 31 Data Data(≤ (≤65536 65536octets) octets) Type TypeofofService Servicefield field(8(8bits) bits) Flags Flagsfield field(3(3bits) bits) 00 11 22 33 44 55 66 77 00 11 22 DD==Don’t Don’tfragment fragment Precedence ToS 0 D M M = More fragments Precedence ToS 0 D M M = More fragments Precedence High:77- -Network Networkcontrol control.... ....Low: Low:00- -Routine. Routine. Precedence(priority): (priority): High: ToS (Type of Service): 8 Min. delay. 4 Max. throughput. 2 ToS (Type of Service): 8 - Min. delay. 4 - Max. throughput. 2 -Max. Max.reliability. reliability. 11- -Min. cost ($). 0 Normal service. Min. cost ($). 0 - Normal service. Options: Options:Security. Security.Source Sourcerouting. routing.Route Routerecording. recording.Time Timestamping. stamping. Prof. Dr. Stefan Fischer IBR, TU Braunschweig Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen 3-19 IPv4-Adressen 32 bits Binäre und dezimale Darstellung 31 Binary: Dotted decimal: 23 15 7 0 11010100 01111110 11010000 10000111 212 . 126 . 208 . 135 Hierarchische Adressierung Network number + Host number (RFC 791, 1981). Hosts können an mehrere Netze angeschlossen sein; jedes Interface hat dann eine IP-Adresse network (prefix) host Wo liegt die Grenze zwischen Netzwerk und Host ? Prof. Dr. Stefan Fischer IBR, TU Braunschweig Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen 3-20 IPv4 Classful Addressing Netzwerkklassen Es gibt 3 verschiedene Größen für den Netzwerkpräfix und damit 3 Klassen. Die Netzadresse wird global, die Hostadresse lokal verwaltet. 31 23 Class A: 1.0.0.0 to 0 network 127.255.255.255 Class B: 128.0.0.0 to 10 network 191.255.255.255 Class C: 192.0.0.0 to 110 223.255.255.255 15 7 0 host host network host Zusätzliche Klassen 31 Class D: 224.0.0.0 to 1110 239.255.255.255 Class E: 240.0.0.0 to 1111 255.255.255.255 Prof. Dr. Stefan Fischer IBR, TU Braunschweig 23 15 7 0 multicast group reserved (future use) Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen 3-21 IP Next Generation: IPv6 • Substantielles Re-Design von IP – – – – Basierend auf den erfolgreichen Eigenschaften von IPv4 Erweiterte und verbesserte Funktionalität Entwickelt zwischen 1992 und 1997 Jetzt stabil, wird in neue Produkte (Router, Betriebssysteme) eingebaut. •Neue Eigenschaften •Erweiterte Adressen (128-bit). Neue Adressierungsschemata. •Neue flexiblere und effizientere Paketformate •Auto-Konfiguration („plug-and-play“) •Adressenauflösung und Gruppenmanagement jetzt Teil von ICMPv6 (ARP, IGMP wurden entfernt) •Sicherheitsmechanismen direkt im Protokoll (Authentifizierung und Verschlüsselung) •Dienstgüteunterstützung Prof. Dr. Stefan Fischer IBR, TU Braunschweig Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen 3-22 Transportschicht: TCP und UDP • Aufgabe der Transportschicht: Datentransport von einem Prozess auf einem Rechner zu einem (oder mehreren) anderen Prozessen auf anderen Rechnern im Internet • Zwei Möglichkeiten – Der grundlegende unzuverlässige Internetdienst genügt, dann verwende UDP. – Er genügt nicht, dann verwende TCP. Prof. Dr. Stefan Fischer IBR, TU Braunschweig Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen 3-23 Adressierung Applications IP address + TCP/UDP port Applications TCP, UDP IP address + Protocol id TCP, UDP IP IP address IP DL DL PHY PHY Welcher Rechner? IP-Adresse. 32 bits (IPv4), im IP-Paketkopf. Welches Transportprotokoll ? Protocol id im IP Paketkopf. Welche Anwendung ? TCP/UDP port. 16 bits, im TCP/UDP Paketkopf. Prof. Dr. Stefan Fischer IBR, TU Braunschweig Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen 3-24 Client-Server-Modell Server Server Distributed application Client Client Wait Wait for for service service request request Receive request Serve request Send result Start Send request Receive result Stop Transport protocol Server Wartet ständig an einem Port auf eingehende Verbindungsanfragen. Die Portnummer ist dem Client bekannt. Client Bei einer Anfrage wird ein zur Zeit ungenutzter Port zugewiesen. Die Anfrage geht an den bekannten Port des Servers. Prof. Dr. Stefan Fischer IBR, TU Braunschweig Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen 3-25 Beispiel: Telnet-Server und Clients hugo.int.fr 139.29.100.11 neptun.elc.ro 141.85.43.8 Telnet client Telnet connection port: 3135 TCP zola.int.fr 139.29.35.18 Telnet server telnet port: 23 TCP connection 141.85.43.8 : 3135, 139.29.100.11: 23 port: 5768 TCP TCP connection 139.29.35.18 : 5768, 139.29.100.11: 23 IP IP IP datagrams Prof. Dr. Stefan Fischer IBR, TU Braunschweig Telnet client Telnet connection TCP IP IP datagrams Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen 3-26 Eigenschaften von TCP und UDP • TCP setzt einen zuverlässigen Dienst auf IP auf: – Paketauslieferung ist garantiert (bzw. der Sender erhält zumindest eine Fehlermeldung) – Die Reihenfolge der eingehenden Pakete entspricht der Sendereihenfolge • UDP garantiert dies nicht, ist aber dafür wesentlich schneller. • Anwendungen für beide Protokolle? Prof. Dr. Stefan Fischer IBR, TU Braunschweig Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen 3-27 Umsetzung von TCP • TCP setzt vor allem die folgenden Protokollmechanismen ein, um die Effekte erzielen zu können – Daten sind numeriert, so dass fehlende Daten schnell festgestellt werden können – Mittels ACKnowledgements teilt der Empfänger den korrekten Empfang von Daten mit – Mittels Timern stellt der Sender das Ausbleiben von ACKs fest Prof. Dr. Stefan Fischer IBR, TU Braunschweig Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen 3-28 TCP Pakete („Segmente“) Pseudoheader 0 Source IP address Destinati on IP address Protocol (6) TCP segment length 0 IP header (20 bytes +opt.) TCP header (20 bytes +opt.) TCP data 4 10 16 Source TCP port Destinati on TCP port Sequence number Acknowledgement number Hdr.len. Fl ags Window size Checksum Urgent poi nter Opti ons (if any) 31 Data (if any) Fl ags: URG ACK PSH RST SYN FIN Prof. Dr. Stefan Fischer IBR, TU Braunschweig Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen 3-29 TCP Protokollablauf UserAA User (client) (client) TCPAA TCP CLOSED Open-Active Open-Active SYN-SENT TCPBB TCP ESTABLISHED Send(dt[100]) Send(dt[100]) CLOSED Open-Passive Open-Passive SYN,...... SYN, LISTEN SYN+ACK,...... SYN+ACK, Open-Success Open-Success UserBB User (server) (server) SYN-RCVD Open-Success Open-Success ACK,...... ACK, ESTABLISHED Deliver(dt[100]) Deliver(dt[100]) ...,dt[100] dt[100] ..., ACK,...... ACK, Close Close FIN-WAIT-1 FIN,...... FIN, ACK,...... ACK, FIN-WAIT-2 Terminate Terminate TIME-WAIT FIN,...... FIN, ACK,...... ACK, CLOSED Prof. Dr. Stefan Fischer IBR, TU Braunschweig Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen Closing Closing CLOSE-WAIT Close Close LAST-ACK Terminate Terminate CLOSED 3-30 Höhere Schichten • • Hauptaufgabe: Unterstützung der Anwendung Mögliche Struktur: – Session (5): Steuerung der Kommunikationssitzung – Presentation (6): Kodierung der Information. – Application (7): Protokolle zur Unterstützung bestimmter Anwendungsaufgaben: www, e-mail, file transfer, telnet, network file system, network management, ... Prof. Dr. Stefan Fischer IBR, TU Braunschweig Application processes Application processes Upper layers Upper layers TL NL DL PHY TL NL DL PHY Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen Interconnection network 3-31 Weitere Literatur • A. Tanenbaum: Computer Networks, 4th ed., Prentice Hall, 2003. Prof. Dr. Stefan Fischer IBR, TU Braunschweig Verteilte Systeme Kapitel 3: Netzwerk-Grundlagen 3-32