Technische Universität Graz Softwareentwicklung in verteilten Umgebungen, Teil 2 Networking (Coulouris et al., Kapitel 3) Dieter Schmalstieg Partly based on material by Victor García-Barrios and Alexander Lex Dieter Schmalstieg SVU Networking 1 Technische Universität Graz • Netzwerktypen • Protokollschichten • TCP/IP Dieter Schmalstieg SVU Networking 2 Technische Universität Graz Netzwerkaufbau • Übertragungsmedium + Hardware + Software • Verdrahtet – PAN: z.B. USB, Firewire – LAN: z.B. Ethernet, Token Ring – MAN: z.B. DSL, ATM (Asynchronus Transfer Mode) – WAN: z.B. IP-Routing • Drahtlos – WPAN: z.B. Bluetooth – WLAN: z.B. WiFi (IEEE 802.11) – WMAN: z.B. WiMAX (IEEE 802.16) – WWAN: z.B. GSM, UMTS • Internetworks: Network of Networks Dieter Schmalstieg SVU Networking 3 Technische Universität Graz Beispiele Netzwerktypen Range LAN WAN MAN Wireless LAN Wireless WAN Internet 1-2 km worldwide 2-50 km 0.15-1.5 km worldwide worldwide Bandwidth (Mbps) 10-1000 0.010-600 1-150 2-54 0.010-2 0.5-600 Latency (ms) 1-10 100-500 10 5-20 100-500 100-500 Lokaler Zugriff etwa 1000x schneller als im LAN LAN etwa 500x schneller als Internet Dieter Schmalstieg SVU Networking 4 Technische Universität Graz Networking-Technologie • • • • Ideal: Vollständiger Graph (zu aufwendig) Star, Ring, Bus, Tree, Mesh, ... Praxis: Minimum Spanning Tree Begriffe – Hosts (erreichbare Endpunkte) – Nodes (Zwischen- und Endpunkte) – Messages (variable Größe) – Packets (fixe Größe) Packet Switching auf einer Leitung Dieter Schmalstieg SVU Networking 5 Technische Universität Graz Switching Schemes 1. Circuit Switching – Plain old telephone system (POTS) 2. Packet Switching – Store-and-forward network – Berechnung des kürzesten Weges – Pakete teilen sich Verbindungsstrecke 3. Frame Relay – Stream (nur Forward – ohne Store) 4. Broadcasting (z.B. WLAN) – Kein Switching! – Alles zu jedem einzelnen Knoten übertragen – Empfänger sind zuständig für Verwendung Dieter Schmalstieg SVU Networking 6 Technische Universität Graz Routing • Routing = Distributed Algorithm – Router arbeiten im Kollektiv – Wissen über kürzeste Wege nötig – Routing-Protokoll nötig • Congestion Control – Vermeide Überlastung der „Hauptwege“ – Trade-off Latency/Throughput • Internetwork – Integration von heterogenen Subnetzen – Einheitliches Protokoll (zB Internet-Protokoll IP) Dieter Schmalstieg SVU Networking 7 Technische Universität Graz • Netzwerktypen • Protokollschichten • TCP/IP Dieter Schmalstieg SVU Networking 8 Technische Universität Graz Schichten als Services • Jede Schicht implementiert eine Aufgabe (Service) • Jede Schicht bietet Service für höhere Schicht • Jede Schicht erhält Service von niedrigerer Schicht • Standardisierte Schnittstelle pro Schicht • Viele Schichten können umständlich werden Dieter Schmalstieg SVU Networking 9 Technische Universität Graz ISO-OSI 7 Layer Model • Open Systems Interconnect, 7 Schichten • Definiert nur Interface, nicht Implementierung • Referenzmodell, nicht 1:1 in Praxis verwendet! Dieter Schmalstieg SVU Networking 10 Technische Universität Graz Network Protocol Stack (Layer 1-4) 1. Physical Layer (z.B. Ethernet Base Band, ISDN) – Bitübertragungschicht – Signalisierung (Wieviel Volt ist „1“? Wie lange dauert „1“?) 2. Data Link Layer (z.B. Ethernet MAC, ATM cell transfer, PPP) – Transport von Paketen im Einzel-Netzwerk – Daten-Sicherungsschicht 3. Network Layer (z.B. IP, ATM virtual circuits) – Transport von Paketen im Inter-Network – Routing, congestion control 4. Transport Layer (z.B. TCP, UDP) – Behandelt Messages (nicht Pakets) – Adressierung Dieter Schmalstieg SVU Networking 11 Technische Universität Graz Higher Level Protocols (Layer 5-7) 5. Session Layer (z.B. SIP) – Verbindungsverwaltung – Adaptions – Fehlererkennung und –korrektur (z. B. Restore Points) 6. Presentation Layer (z.B. CORBA Data Rep., SSL) – Neutrale Repräsentation der Daten – Evtl. Verschlüsselung 7. Application Layer (z.B. HTTP, FTP, SMTP) – Beliebige Anwendung Dieter Schmalstieg SVU Networking 12 Technische Universität Graz Messages and Encapsulation • Message = [header] + [payload] + [trailer] • Header=Nr+Länge+Priority+Checksum+Quelle+Ziel • Encapsulation verpackt Message pro Schicht Application-layer message Pres entation header Session header Transport header Network header Dieter Schmalstieg SVU Networking 13 Technische Universität Graz • Netzwerktypen • Protokollschichten • TCP/IP Dieter Schmalstieg SVU Networking 14 Technische Universität Graz TCP/IP Referenz-Modell Dieter Schmalstieg SVU Networking 15 Technische Universität Graz Internet Protocol • Virtual Network, verbindungslos (Datagram, max 64K) • Übertragung durch mehrere Netze (Routing) • IP-Adresse (weltweit eindeutig): IPv4 32bit, IPv6 128bit 7 Class A: 0 24 Network ID Host ID 14 Class B: 1 0 16 Network ID Host ID 21 Class C: 1 1 0 8 Network ID Host ID 28 Class D (multicast): 1 1 1 0 Multicast addres s 27 Class E (reserved): 1 1 1 1 0 unus ed Classless Inter-Domain Routing (CIDR): - Zusammenlegen von fortlaufenden Class-C Netzen (durch „Bit-Wildcards) Dieter Schmalstieg - Aufteilen von Class-B Netzen in mehrere Teile SVU Networking 16 Technische Universität Graz Network Address Translation • • • • • Subnetz wird hinter einer einzigen IP-Adresse versteckt Im Subnetz Verwendung lokaler Adressen: 192.168.*.* Router übersetzt (IP, Port) (LokaleIP, Port) Problem des Erreichens von Standard-Ports DSL or Cable connection to ISP Port Forwarding Modem / firewall / router (NAT enabled) (z.B. Skype) Ethernet switch printer WiFi base station/ • Router als Firewall access point 83.21 5.152.95 192.1 68.1.xx subnet 192.1 68.1.1 192.1 68.1.2 192.1 68.1.10 PC 1 192.1 68.1.5 Laptop 192.1 68.1.104 PC 2 192.1 68.1.101 Bluetooth adapter Game box 192.1 68.1.105 TV monitor Bluetooth printer Media hub Dieter Schmalstieg 192.1 68.1.106 Camera SVU Networking 17 Technische Universität Graz Tunnelling IPv6 encapsulated in IPv4 packets IPv4 network A IPv6 IPv6 B Encapsulators • Einführung einer weiteren transienten Schicht • Zum Datentransport durch „unpassende“ Bereiche des Internetworks • Z.B. Encryption, Transport von IPv6 über IPv4 Dieter Schmalstieg SVU Networking 18 Technische Universität Graz TCP/UPD Protocol • Transmission Control Protocol (TCP) – Verbindungsorientiert, – Zuverlässig: Reihenfolge, Verlust, Doubletten, Flow – Bidirektional • User Datagram Protocol (UDP) – Verbindungslos – Unzuverlässig – Unidirektional • TCP und UDP setzen auf IP auf • Kommunikation zwischen Prozessen – kein Routing • Adressierung: IP + Port Dieter Schmalstieg SVU Networking 19 Technische Universität Graz Ports • • • • • • Unterscheidung von mehreren Verbindungen zweier Rechner Jeder Port hat eindeutige Integer-Nummer Anwendungen können Ports dynamisch vom OS erhalten Well-Known Ports (0-1023) für bekannte Services Contact Ports: nur Initialisierung, Daten über anderen Port Socket zum Zugriff auf die Verbindung socket any port agreed port socket message client server other ports Internet address = 138.37.94.248 Dieter Schmalstieg Internet address = 138.37.88.249 SVU Networking 20 Technische Universität Graz Zusammenfassung • Netzwerktypen – Arten von Netzwerken • Protokollschichten – ISO-OSI – Internetworks • TCP/IP – IP, Addressing, Routing – TCP and UPD Dieter Schmalstieg SVU Networking 21