TU Braunschweig Institut für Betriebssysteme und Rechnerverbund 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? - Überblick Schichtenmodelle, Protokolle und Dienste LANs und WANs Internet TCP/ und UDP 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? -2 -
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.... TL... Layer TL interfaces Layer protocols -5 OSI-Referenzmodell Open System Interconnection - Reference Model ISO/ITU-T Standard aus den frühen 80ern (ISO 798). 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 Application processes Application 7 6 Presentation Session Transport Network Data Link Physical 5 2 1-7 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? -6 TCP/-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) TCP/ versus OSI-RM Einfacher und wesentlich pragmatischer Kein rigoroses Schichtenmodell Application 7 Presentation Session Transport Network Data Link Physical 6 5 2 1 TCP/ OSI-RM Applications Application Transport Internetwork (host to) Network -8
OSI-RM: Dienstschnittstellen Dienst Funktionalität, die eine Schicht nach oben hin anbietet Dienstschnittstellen 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. Transport entity N-service primitives Network entity -service primitives N- SAP - SAP -SDU Data Link entity... N-SDU Datenübertragung auf Schicht 1 Example: Ethernet bus bus topology 1011010 Effects of attenuation, distortion, noise,... Physikalisches Medium Zur Übertragung der Information in Form einer elektromagnetischen Welle Physikalische Schicht Aufgabe: Übertragung von Bitströmen über das Medium....... Medium -9-11 Datenkapselung ftp client user data user file user data ftp server FTP File transfer protocol F user data F user data FTP TL TL protocol T F user data T F user data protocol N T F user data N T F user data TL protocol D N T F user data D N T F user data 1011010 1011010-10 Schicht 2: Data Link Shared medium multipoint link: Nodes identified by addresses, frames delivered by flooding 1 2 1 Collision 2 2 Hauptaufgaben Fehlerkontrolle Regelung des Medienzugriffs (bei Nutzung eines gemeinsamen Mediums durch viele Stationen)... /MAC... /MAC Medium -12
Physikalische Netzwerktypen Local Area Network Überdeckt kleine Fläche (Gebäude, Campus) Sehr schnell Billig Bekannte Netze Ethernet Token Ring Wireless LAN 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 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 -1-15 Internetworking Various LAN (data link) technologies? Internetworking: Interconnecting a collection of networks Various WAN (data link) technologies Ziel verbinde mehrere physikalische unterschiedlicher Architektur miteinander, so dass die Rechner miteinander kommunizieren können Umsetzung auf der Vermittlungsschicht (Network Layer) TCP/ Protocol Stack Web browser, e-mail,... Other user applications Applications Application protocols: HTTP, SMTP, FTP,... User space Application Programming Interface (API) IGMP RARP ICMP ARP TCP UDP R Transport OSPF Network OS kernel LAN technology WAN technology Data Link -1-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 -17 v-paketformat Bits: Bits: 20 20 octets octets 0 0 8 8 16 16 Version HdrLng Type Type of of service Identification Identification Time Time to to live live Protocol Source address Source address Destination address 19 19 1 1 Total length Total length Flags Fragment offset Flags Fragment offset Header checksum Options + padding Data Data ( ( 6556 6556 octets) octets) Header checksum Type Type of of Service Service field field (8 (8 bits) bits) 0 0 1 1 2 2 5 5 6 6 7 7 Flags Flags field field ( ( bits) bits) 0 1 2 D M - 0 1 2 D M - D = = Don t Don t fragment fragment M = = More More fragments fragments Precedence Precedence ToS ToS 0 0 Precedence (priority): High: 7 - Network control... Low: 0 - Routine. Precedence (priority): High: 7 - Network control... Low: 0 - Routine. ToS (Type of Service): 8 - Min. delay. - Max. throughput. 2 - Max. reliability. ToS (Type of Service): 8 - Min. delay. - Max. throughput. 2 - Max. reliability. 1 - Min. cost ($). 0 - Normal service. 1 - Min. cost ($). 0 - Normal service. Options: Options: Security. Security. Source Source routing. routing. Route Route recording. recording. Time Time stamping. stamping. -19 Das Modell von Datagramme Einzelne, unabhängig voneinander weitergeleitete Pakete, die sich ihren Weg zum Ziel suchen Routing-Tabellen geben den Ausgang zu einem Ziel an Best effort -Dienst Keine Garantie für Auslieferung eines Pakets Korrekte Reihenfolge Praktisch keine Echtzeit x R1 yx DA,SA data Routing tables Router R1 DA Next hop y R, R...... R2 R5 yx R yx yx R yx Router R DA Next hop y R6...... yx R6 y Router R6 DA Next hop y -...... -18 v-adressen 2 bits Binäre und dezimale Darstellung 1 2 15 7 0 Binary: 1 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 1 1 1 Dotted decimal: 212. 126. 208. 15 Hierarchische Adressierung Network number + Host number (RFC 791, 1981). Hosts können an mehrere Netze angeschlossen sein; jedes Interface hat dann eine -Adresse network (prefix) host Wo liegt die Grenze zwischen Netzwerk und Host? -20
v Classful Addressing Netzwerkklassen Es gibt verschiedene Größen für den Netzwerkpräfix und damit Klassen. Die Netzadresse wird global, die Hostadresse lokal verwaltet. Class A: 1.0.0.0 to 127.255.255.255 Class B: 128.0.0.0 to 191.255.255.255 Class C: 192.0.0.0 to 22.255.255.255 1 2 15 7 0 0 network host 10 network 110 network host host Zusätzliche Klassen Class D: 22.0.0.0 to 29.255.255.255 Class E: 20.0.0.0 to 255.255.255.255 1 2 15 7 0 1110 multicast group 1111 reserved (future use) -21 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. -2 Next Generation: v6 Substantielles Re-Design von Basierend auf den erfolgreichen Eigenschaften von v 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 Adressierung Applications address + TCP/UDP port Applications TCP, UDP address + Protocol id address TCP, UDP Welcher Rechner? -Adresse. 2 bits (v), im -Paketkopf. Welches Transportprotokoll? Protocol id im Paketkopf. Welche Anwendung? TCP/UDP port. 16 bits, im TCP/UDP Paketkopf. -22-2
Client-Server-Modell Distributed application Server Wait for service request Receive request Serve request Client Start Send request Send result 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. -25 Eigenschaften von TCP und UDP TCP setzt einen zuverlässigen Dienst auf 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? -27 Beispiel: -Server und Clients neptun.elc.ro 11.85..8 hugo.int.fr 19.29.100.11 zola.int.fr 19.29.5.18 port: 15 client TCP connection TCP connection 11.85..8 : 15, 19.29.100.11: 2 datagrams telnet port: 2 server TCP connection TCP connection 19.29.5.18 : 5768, 19.29.100.11: 2 datagrams port: 5768 client TCP 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 -26-28
TCP Pakete ( Segmente ) Pseudoheader header (20 bytes +opt.) TCP header (20 bytes +opt.) TCP data Source address Destination address 0 Protocol (6) TCP segment length 0 10 16 1 Source TCP port Destinati on TCP port Sequence number Acknowledgement number Hdr.len. - Flags Window size Checksum Urgent pointer Options (if any) Data (if any) Fl ags: URG ACK PSH RST SYN FIN -29 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,... Application processes Upper layers Upper layers TL TL Interconnection network Application processes -1 TCP Protokollablauf User A (client) Open-Active TCP A TCP B User B (server) CLOSED CLOSED SYN-SENT Open-Success SYN, SYN,...... ESTABLISHED ACK,...... Send(dt[100]) Close Close FIN-WAIT-1 FIN-WAIT-2 Terminate TIME-WAIT CLOSED...,..., dt[100] FIN, FIN,...... SYN+ACK,...... ACK,...... ACK,...... FIN, FIN,...... LISTEN Open-Passive SYN-RCVD Open-Success ESTABLISHED Deliver(dt[100]) Closing CLOSE-WAIT LAST-ACK Close Close ACK,...... Terminate CLOSED -0 Weitere Literatur A. Tanenbaum: Computer Networks, th ed., Prentice Hall, 200. -2