Networking Basics Peter Puschner Institut für Technische Informatik [email protected] Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing • Hardware preference (z.B. Nutzung spezieller HW) • Software preference (SW auf bestimmten Knoten) • Data transfer • Data access (Prozess Migration statt Datentransfer) • Distributed application (Embedded Systems) • Fehlertoleranz Peter Puschner, TU Wien 2 Strategies • Data Migration • Computation Migration (z.B. Remote Procedure Call) • Process Migration Peter Puschner, TU Wien 3 Network Structure (WAN) Wide-Area Network (WAN) • große geographische Ausdehnung • Punkt-zu-Punkt Verbindungen über große Entfernungen • Typische Übertragungsrate: 1.5 – 45 Mbit/sec • Broadcast erfordert Versenden mehrerer Nachrichten • Knoten: Workstations, PCs, Mainframes Peter Puschner, TU Wien 4 WAN Communication H H network host user processes host OS user processes CP CP CP host OS CP communication processor Peter Puschner, TU Wien communication subsystem H 5 Network Structure (LAN) Local-Area Network (LAN) • kleine geographische Ausdehnung (bis etwa 10km) • • • • Multi-access Bus, Ring, Stern Übertragungsrate: 10 Mbit/sec – 1 Gbit/sec Broadcast: schnell, billig Knoten: Workstations, PCs, ev. Mainframe(s) Peter Puschner, TU Wien 6 Communication Networks • Topology – physikalische Verbindungsstruktur • Naming, Name Resolution – Lokalisierung der Kommunikationspartner • Routing • Connection Strategy – Aufbau logischer Verbindungen • Contention – Auflösung von Zugriffskonflikten Peter Puschner, TU Wien 7 Network Topology • Installationskosten – Kosten der physikalischen Verbindung? • Kommunikationskosten – wie lange ist eine Nachricht unterwegs? • Zuverlässigkeit – Effekt des Ausfalls von Knoten Peter Puschner, TU Wien 8 Network Topologies H H H H H H H H fully connected H H H Peter Puschner, TU Wien H H H partially connected H H Tree H H H H H H H H H H Star H Ring H H H 9 Naming, Name Resolution Spezifikation des Kommunikationspartners (Rechner und Prozess) < hostname, identifier > Name Resolution: Zuordnung: Name è Host ID • Fixe Übersetzungstabelle per Host • Domain-name system (DNS) – IP Adressen aus Teilen (Bsp.: mail.tuwien.ac.at) – Adressauflösung von hinten nach vorne – Anfrage an Name Server für jeden Teil liefert Adresse des Name Servers für Sub-Domain, usw. Peter Puschner, TU Wien 10 DNS Lookup Bsp.: DNS Lookup von mail.tuwien.ac.at 1. Kernel sendet Anfrage um Adresse des Name Servers für Domain ac.at an Server für Domain at (letzterer muss bekannt sein) 2. at Server liefert Adresse des Name Servers für ac.at 3. Kernel fragt ac.at Server um Adresse für tuwien.ac.at 4. Anfrage an resultierende Adresse liefert Internet-Adresse für mail.tuwien.ac.at è 128.130.35.36 Peter Puschner, TU Wien 11 Routing Welchen Weg nimmt ein Nachrichtenpaket? Routing Table • Info. über Alternativen, Geschwindikeit, Kosten • automatisches oder manuelles Update Routing Strategien • Fixed Routing: fixer Weg von A nach B • Virtual Circuit: Weg von A nach B pro Session fix; Nachrichtenreihenfolge bleibt erhalten • Dynamic Routing: Pfad einer Nachricht wird beim Senden bestimmt; Out-of-order Arrival möglich Peter Puschner, TU Wien 12 Connection Strategies Wie wird eine Communication Session zwischen zwei Prozessen realisiert? • Circuit Switching: permanente physikalische Verbindung für die Dauer der Session • Message Switching: Temporäre Verbindung für die Dauer einer Nachrichtenübertragung • Packet Switching: Nachrichten variabler Länge werden in Paketen gleicher Länge übertragen; Pfade der Pakete können verschieden sein Setup Time versus Overhead bei Übertragung Peter Puschner, TU Wien 13 LAN: Contention Auflösung von Zugriffskonflikten, wenn Prozesse gleichzeitig Daten am Netzwerk senden wollen: • CSMA/CD: carrier sense, multiple access (CSMA), with collision detection (CD) – Sendebeginn, wenn freies Medium erkannt wird – Abbruch und neulicher Versuch nach Zufallsintervall, wenn Kollision erkannt wird – Viele Kollisionen bei Hochlast – Einsatz in Ethernet Peter Puschner, TU Wien 14 LAN: Contention (2) • Token Passing: eine speziell ausgezeichnete Nachricht (token) wird laufend unter den Knoten “im Kreis” weitergegeben – Wenn ein Knoten im Besitz des Tokens ist, kann er eine Nachricht senden – Weitergabe des Tokens nach dem Senden, bzw. wenn der Knoten nichts zu senden hat – Physikalische oder logische Ringstruktur – Spezielle Protokolle zur Generierung des Tokens am Anfang bzw. bei Tokenverlust Peter Puschner, TU Wien 15 Communication Protocols Kommunikationsprotokoll • Satz von Regeln und Konventionen für die Kommunikation von Daten • definiert Syntax, Semantik und Synchronisation • typische Eigenschaften von Protokollen – Identifikation der physikalischen Verbindung, des Kommunikationspartners – Verbindungsaufbau, -abbau – Beginn, Ende, Formatierung von Botschaften – Flusskontrolle, Fehlerbehandlung Peter Puschner, TU Wien 16 Communication Protocols (2) Verwendung von geschichteten Protokollen (Protocol Stacks), um Komplexität zu beherrschen • Schicht (Layer) n bietet der Schicht n+1 ein Interface mit Service Access Points (SAPs) • Schicht n verwendet Services der Schicht n-1, um eigene Services zu implementieren • Kommunikationspartner: Einheiten des gleichen Layers auf den kommunizierenden Knoten Beispiele: OSI Referenzmodell, TCP/IP Protokollsuite Peter Puschner, TU Wien 17 host A process A OSI Layers network device host B process B application application presentation presentation session session transport transport network network network data-link data-link data-link physical physical physical Peter Puschner, TU Wien 18 OSI-Protocol Layers (1) OSI-Schichtenmodell der Netzwerkkommunikation • Physical Layer: mechanische und elektrische Codierung für Übertragung von Bit Streams • Data-link Layer: gesicherte Übertragung von Frames auf dem Physical Layer (Flusskontrolle, Fehlererkennung und Korrektur) • Network Layer: liefert Verbindungen und Routing von Paketen (Interpretation von Adressen, Verwaltung von Routing Informationen, Routing) Peter Puschner, TU Wien 19 OSI-Protocol Layers (2) • Transport Layer: Transfer von Daten zwischen Komm.-Endknoten, Partitionierung von Nachrichen, Ordnen von Paketen • Session Layer: Realisiert Verbindungen zwischen Prozessen (Sessions); Kommunikation für Remote Login, File oder Mail Transfer • Presentation Layer: Auflösung unterschiedlicher Formate (Syntax, Semantik) • Application Layer: Interaktion mit Applikationen; File Transfer, Remote Login Protokolle, E-Mail Peter Puschner, TU Wien 20 Interfaces and Services IDU layer n+1 ICI SDU service access point (SAP) interface layer n header ICI SDU layer n comm. SDU n-PDU ICI … interface control information, IDU … interface data unit SDU … service data unit, PDU … protocol data unit Peter Puschner, TU Wien 21 OSI Communication process A header process B data application application presentation presentation session session transport transport network network CRC data-link physical Peter Puschner, TU Wien data-link bit stream physical 22 OSI versus TCP/IP OSI Layers TCP/IP Layers application presentation TCP/IP Protocol Suite FTP SMTP HTTP application telnet session pop … UDP network internet IP ICMP data-link physical Peter Puschner, TU Wien network interface FDDI TCP Token Ring/Bus transport Ethernet transport … 23 Zusammenfassung • Schichtung von Protokollebenen zur Komplexitätsreduktion • Verteilte Services erlauben Optimierung durch Migration – Erweiterte Services, Beschleunigung, Fehlertoleranz • Kosten – Management, Konsistenthaltung Peter Puschner, TU Wien 24