Inhalt Ethernet Kommunikationssysteme Teil 2.11 - Ethernet • Netzwerke: Beispiele, Adressierung • Funktionsweise Stephan Rupp Informatik Masterstudium • Operationen auf Layer 2 und Layer 3 • Ethernet Switches • Systeme auf Layer 2 und Layer 3 • Protokolle www.dhbw-stuttgart.de Kommunikationssysteme, Teil 2.11, S. Rupp Informatik Master, PM2100.1, 2013 Netzwerke 2 Kommunikationssysteme, Teil 2.11, S. Rupp Informatik Master, PM2100.1, 2013 Beispiel: Heimnetz Lokale Netze (Local Area Networks) • Arbeitsplatz • Zuhause • Telekommunikationsnetze • Automatisierungstechnik • Transport (Schiene, Luft, Wasser) • Medizintechnik (2) Datei laden Host (3) Dokument drucken LAN Switch (1) Web-Seite laden Switch/Hub Lokales Netz = IP Subnetwork • Teil des Internet bzw. privaten IP-Netzes • Telekommunikationsnetze Basis für IP basierte Dienste • Verkehrs-Aggregation über “Carrier Ethernet” 3 Network Printer Router& DSL-Modem • Kommunikationssysteme, Teil 2.11, S. Rupp Host Informatik Master, PM2100.1, 2013 Web Server Wie funktioniert das? Internet Kommunikationssysteme, Teil 2.11, S. Rupp 4 Informatik Master, PM2100.1, 2013 Adressen im Heimnetz 192.168.178.21 00:13:02:39:e5:f7 Inhalt Host Host 192.168.178.22 00:0a:95:d1:52:30 LAN IP-Address (L3) MAC Address (L2) Network Printer Switch/Hub 192.168.178.1 00:04:0e:73:3f:3d 192.168.178.23 00:80:77:31:b6:45 Router& DSL-Modem • IP Adressen durch den Router dynamisch vergeben (DHCP) • MAC Adressen vom Hertsller fest in die Netzwerkschnittstellen eingebaut 5 Kommunikationssysteme, Teil 2.11, S. Rupp Informatik Master, PM2100.1, 2013 Funktionsweise Hub (1) – Anfrage 100:13:02:39:e5:f7 Host Ethernet • Netzwerke • Funktionsweise: vom Hub zum Switch • Operationen auf Layer 2 und Layer 3 • Ethernet Switches • Systeme auf Layer 2 und Layer 3 • Protokolle 100:0a:95:d1:52:30 … 100:13:02:39:e5:f7 Host Host LAN LAN 100:0a:95:d1:52:30 Reply message to 100:13:02:39:e5:f7 Network Printer Hub 100:80:77:31:b6:45 100:04:0e:73:3f:3d • Alles basierend auf MAC Adressen • Hub = Multiport Repeater Kommunikationssysteme, Teil 2.11, S. Rupp Informatik Master, PM2100.1, 2013 Funktionsweise Hub (2) – Antwort Host Request message to 100:0a:95:d1:52:30 6 Kommunikationssysteme, Teil 2.11, S. Rupp Weitersend en an alle Ports (Hub = Mu ltiport Rep eater) 7 Informatik Master, PM2100.1, 2013 Network Printer Hub 100:80:77:31:b6:45 100:04:0e:73:3f:3d Antwort an alle Ports weiter vert eilen Geht das auch etwas schlauer? Kommunikationssysteme, Teil 2.11, S. Rupp 8 Informatik Master, PM2100.1, 2013 Vom Hub zur Bridge Funktionweise der Bridge – 1. Anfrage Router LAN Segment 1 (local traffic) LAN 100:13:02:39:e5:f7 Host Host Traffic between segments Host Bridge LAN Request message to 100:0a:95:d1:52:30 LAN Segment 2 (local traffic) LAN Network Printer Bridge 100:04:0e:73:3f:3d MAC Host Ein Hub “lötet” zwei LAN Segmente zusammen: jede Nachrícht wird an alle Ports weiter verteilt • Eine Bridge “überspannt” zwei LAN Segmente: nur Nachrichten an Empfänger im jeweiligen Segment werden übermittelt 9 Informatik Master, PM2100.1, 2013 Funktionweise der Bridge – Antwort 100:13:02:39:e5:f7 100:0a:95:d1:52:30 Host Reply message from 100:0a:95:d1:52:30 LAN Network Printer Bridge 100:80:77:31:b6:45 100:04:0e:73:3f:3d MAC erstes Mal : Anfrag Ports weite e an alle r geben s MAC Adresse de en rn le s Absender 10 Kommunikationssysteme, Teil 2.11, S. Rupp 100:13:02:39:e5:f7 Message to 100:0a:95:d1:52:30 LAN Network Printer Bridge 100:80:77:31:b6:45 100:04:0e:73:3f:3d Nächste A nfrage nur an den betreff enden Port Viel weniger Verkehr und viel sicherer! Informatik Master, PM2100.1, 2013 100:0a:95:d1:52:30 Host 2 3 A bridge is a hub with memory. 11 Informatik Master, PM2100.1, 2013 Host Port 100:13:02:39:e5:f7 100:0a:95:d1:52:30 Kommunikationssysteme, Teil 2.11, S. Rupp 2 Funktionweise der Bridge – 2. Anfrage Host Antwort nu r an den betreffend en Port 100:80:77:31:b6:45 Port 100:13:02:39:e5:f7 • Kommunikationssysteme, Teil 2.11, S. Rupp 100:0a:95:d1:52:30 Kommunikationssysteme, Teil 2.11, S. Rupp 12 Informatik Master, PM2100.1, 2013 Hubs, Bridges und Switches Inhalt Ethernet Switch: Bridge mit voller Leitungs-Geschwindigkeit zwischen allen Ports Switch 100 Mbps • Netzwerke • Funktionsweise • Operationen auf Layer 2 und Layer 3 • Ethernet Switches • Systeme auf Layer 2 und Layer 3 • Protokolle 100 Mbps 100 Mbps100 Mbps 13 Kommunikationssysteme, Teil 2.11, S. Rupp Informatik Master, PM2100.1, 2013 Switching (L2) und Routing (L3) 192.168.178.21 00:13:02:39:e5:f7 Host MAC Address Host Host Network Printer Port No Router& DSL-Modem Internet Kommunikationssysteme, Teil 2.11, S. Rupp 192.168.178.22 00:0a:95:d1:52:30 LAN LAN Switch/Hub Web Server Informatik Master, PM2100.1, 2013 IP Adressen als Host Identifier Host Switching • Local Area Netzwerk • Layer 2 Protokolle 14 Kommunikationssysteme, Teil 2.11, S. Rupp IP Address 192.168.178.1 00:04:0e:73:3f:3d 192.168.178.23 00:80:77:31:b6:45 Port No Routing ! Wide Area Netzwerk ! Layer 3 Protokolle 15 Hub/Switch Network Printer Informatik Master, PM2100.1, 2013 • • IP Addresses: convenient host identifiers MAC addresses: used for message delivery Kommunikationssysteme, Teil 2.11, S. Rupp 16 ARP (Address Resolution Protocol): Who is 192.168.178.22? Informatik Master, PM2100.1, 2013 Address Resolution Protocol (1) 192.168.178.21 00:13:02:39:e5:f7 Address Resolution Protocol (2) Host Host Who is 192.168.178.22 ? 192.168.178.21 00:13:02:39:e5:f7 192.168.178.22 00:0a:95:d1:52:30 LAN Host Its me, MAC 100:0a:95:d1:52:30 LAN Protocol Layers Network Printer Hub/Switch IP PHY • • • 17 Network Printer Hub/Switch 192.168.178.23 00:80:77:31:b6:45 „Who is“ A nfrag Ziel-IP-Adre e enthält die sse reques t Kommunikationssysteme, Teil 2.11, S. Rupp 192.168.178.22 00:0a:95:d1:52:30 Host Informatik Master, PM2100.1, 2013 Mehr Tricks: Multicast 192.168.178.23 00:80:77:31:b6:45 Host replie s with MAC adress MAC ARP in den Hosts implementiert (L3) löst IP-Adressen in MAC-Adressen auf Nur MAC-Adresses werden für die Zustellung verwendet (L2) Kommunikationssysteme, Teil 2.11, S. Rupp 18 Informatik Master, PM2100.1, 2013 Noch mehr Tricks: Virtuelles LAN • Nachricht an alle Mitglieder der Multicast-Gruppe weiterleiten • LAN • Broadcast = “Einer an Alle” • Unicast = “Einer an Einen” VLAN2 VLAN3 Trunk Multicast Adresse = Identifiziert eine Multicast Gruppe (Adress- Multicast Group Kommunikationssysteme, Teil 2.11, S. Rupp • VLAN1 LAN Multicast = “Einer an Viele” Tabelle, Verteiler) 19 Informatik Master, PM2100.1, 2013 • Ports und Ethernet-Frames werden gruppiert (Tag = Markierung, Farbklecks) • Segmentierung in einzelne, unabhängige Netze (LAN) • Durch Aufteilung entsteht eine Umgebung mit reduzierter Komplexität. Kommunikationssysteme, Teil 2.11, S. Rupp 20 Informatik Master, PM2100.1, 2013 Inhalt Nachrichten Speichern und Weiterleiten Ethernet Eingangspuffer • Netzwerke • Funktionsweise • Operationen auf Layer 2 und Layer 3 • Ethernet Switches • Systeme auf Layer 2 und Layer 3 • Protokolle Kommunikationssysteme, Teil 2.11, S. Rupp Ports 2 Switch 21 Switch Route Table Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.11, S. Rupp Header Payload Header IP-Header IP Paket (im Ehernet Rahmen) Payload User Interface • Konfigurationsparameter • Benutzerschnittstelle (Command Line, GUI, MMI) Zustandsbasierte Entscheidungen • Zustandbasierte Entscheidungen Software Nachrichtenverarbeitung basiert auf Informationen im Paketkopf: • MAC Adressen im Ethernet Paketkopf (Header) • Option: Informationen im IP Peketkopf (Header) • ebenso: VLAN tags, Quality of Service tags, … Implementierung: • Software auf separatem Mikroprozessor • setzt Register im Switch • Kann für komplexe Routing – Aufgaben als Multi-Core CPU realisiert werden Konfiguration Switch Grenzen: Keine zustandsbasierten Entscheidungen möglich • Sequenznummern für Rahmen oder Pakete • Session IDs (Sitzungs-IDs) von Datenströmen • Routen von IP-Paketen Kommunikationssysteme, Teil 2.11, S. Rupp 23 Informatik Master, PM2100.1, 2013 Switch Controller: Switch Controller Ethernet Rahmen (Frame) 22 (1) Speichern (2) Paketkopf analysieren (3) Weiterleiten Konfigurierbarer Switch Nachricht: ! 3 1 Nachrichtenverarbeitung im Switch ! Ausgangspuffer Switch Route Table Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.11, S. Rupp 24 Informatik Master, PM2100.1, 2013 Inhalt Layer 2 Systemarchitektur Ethernet System Switch 1 • Netzwerke • Funktionsweise • Operationen auf Layer 2 und Layer 3 • Ethernet Switches • Systeme auf Layer 2 und Layer 3 • Protokolle uplinks Clients … IP-Network Switch 2 Servers (Processor Blades) 25 Kommunikationssysteme, Teil 2.11, S. Rupp Informatik Master, PM2100.1, 2013 Layer 3 Systemarchitektur • System: Server Farm (Pizza-Boxen plus Switch, bzw. Server Blades) • Switches: in einfacher oder redundanter Konfiguration (Stern bzw. DoppelStern Topologie) • Server direkt auf Layer 3 adressierbar (Switches = Layer 2, transparent) Kommunikationssysteme, Teil 2.11, S. Rupp 26 Informatik Master, PM2100.1, 2013 Inhalt Ethernet System Packet Processor Switch 1 uplinks Clients IP-Network … Packet Processor Switch 2 Servers (Processor Blades) • Netzwerke • Funktionsweise • Operationen auf Layer 2 und Layer 3 • Ethernet Switches • Vorgelagerte Paket-Prozessoren terminieren Layer 3 • Systeme auf Layer 2 und Layer 3 • Anwendungen: Load Balancing, SSL Entlastung, Verschlüsselung, Verarbeitung von TK-Sessions, Schutz (Fire Wall, Deep Packet Inspection, Anti-Virus), Routers, … • Protokolle • Optionen: Redundanz zur Erhöhung der Verfügbarkeit im Fehlerfall Kommunikationssysteme, Teil 2.11, S. Rupp 27 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.11, S. Rupp 28 Informatik Master, PM2100.1, 2013 Local Area Networks (LAN) LAN - Protokolle Höhere Protokollschichten IP Internetwork LLC/SNAP Network Router LAN MAC Link Host LAN-PHY Physical LAN Switch/Hub LAN, Proto ko Layer 2, Lay lle, er 3? ETHERNET (IEEE 802 Reference Model) ISO/OSI Model Host 7 Application 6 Presentation 5 Session 4 Transport 3 Network Higher protocol layers Link Service Access Point LSAP 2 Link 1 Physical 2b Logical Link Control (LLC) 2a Medium Access Control (MAC) 1 Physical Quelle: Harald Orlamünder Quelle: Harald Orlamünder 29 Kommunikationssysteme, Teil 2.11, S. Rupp Informatik Master, PM2100.1, 2013 2 Link 1 PHY • Management (802.1) Local Area Network – IEEE Standards 30 Kommunikationssysteme, Teil 2.11, S. Rupp Informatik Master, PM2100.1, 2013 VLAN – Rahmenformat QTag Prefix Logical Link Control (802.2) Bridging (802.1) Destination Source Address Address Ethernet MAC (802.3) Wireless MAC (802.11) … LAN-PHY (802.3) Wireless MAC PHY (802.11) … 6 octet Ebenfalls verfügbar zur Implementierung von Switches: • IEEE Referenzmodell • Verschiedene physikalische Layer (Coax, Copper Pairs, optical fibre), Übertraguns-Modi (half duplex, full duplex) und Geschwindigkeiten • Klassifikation zB. 10 BASE-5, 100 BASE-FX, … 6 octet Tag Tag Type Type Control 2 2 2 octet octet octet Data 46 ... 1500 octet Priority ID CFI VLAN-ID 3 Bit 1 Bit 12 Bit PAD FCS 4 octet CFI Canonical Format Identifier FCS Frame Check Sequence PAD Padding Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.11, S. Rupp 31 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.11, S. Rupp 32 Informatik Master, PM2100.1, 2013 Konfigurierbarer Switch (L3 Switch) Ethernet- und IEEE 802.3-Rahmen Ethernet-Rahmen Konfigurierbarer Switch: • hat eigene IP Adresse zum Anschluss eines Terminals zur Konfiguration • Konfiguration über CLI (Command Line Interface), SNMP, TELNET Destination Source Address Address 6 6 Type 2 Ethernet/Bridging Protokolle (Layer 2) • Information (IP-Packet) CRC 46 ... 1500 4 IEEE 802.3 Rahmen Link aggregation (802.3ad), VLANs (802.1Q), Spanning Tree (802.1D, 802.1w), QoS (802.1p), Flow control (802.3x), GVRP, GMRP Destination Source Address Address 6 IP Routing Protokolle (Layer 3) • OSPFv2, RIPv2, VRRP, IGMP snooping, IPv4 forwarding, DiffServ, ARP, ICMP • DCHP Client/Server: Empfang/Verteilung lokaler IP Adressen 6 Len LLC/SNAP 2 Information (IP-Packet) 8 CRC 38 ... 1492 4 MAC Protokoll Schichten DSAP SSAP IP 1 PHY MAC 1 LLC crtl. 1 Org.Code Type 3 2 SNAP Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.11, S. Rupp 33 Informatik Master, PM2100.1, 2013 Zuletzt: ARP-Demo 34 Kommunikationssysteme, Teil 2.11, S. Rupp Informatik Master, PM2100.1, 2013 Kommunikationssysteme Eine Demonstration der Funktionsweise des Address Resolution Protokolls (ARP) gibt es unter: http://www.oxid.it/downloads/apr-intro.swf Bemerkungen: • ARP ist ein sogenanntes “zustandsloses” Protokoll, d.h. das Protokoll kümmert sich nicht darum, ob eine Anfrage oder eine Antwort zur gleichen Transaktion gehören oder nicht • Diese Eigenschaft macht ARP sehr leicht verwundbar gegen Lauschangriffe (Mithören bzw. Mitverfolgen aller Sessions, wie FTTP, VoIP, etc, sowie verwundbar gegen aktive Angriffe (Manipulierte Daten, Man in the Middle) • Die Verwundbarkeit ist begrenzt auf das LAN bzw. IP-Subnetz • Es gibt jedoch Angriffsmöglichkeiten auf allen Ebenen. ENDE Teil 2.11 Ethernet Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.11, S. Rupp 35 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.11, S. Rupp 36 Informatik Master, PM2100.1, 2013 Inhalt Internet - Das Netz der Netze Kommunikationssysteme Teil 2.12 - Internet • Historie • Protokolle Stephan Rupp Informatik Masterstudium • Adressierung im Internet • IP-Netze • Standardisierung www.dhbw-stuttgart.de Kommunikationssysteme, Teil 2.12, S. Rupp Informatik Master, PM2100.1, 2013 Internet Historie - ARPANET 1969 4 Rechner sind verbunden: > Los Angeles > Stanford > Santa Barbara > Salt Lake City 2 Informatik Master, PM2100.1, 2013 Internet - Forschungsnetz & TCP/IP Mitte der 1960er Jahre: ein militärisches Experiment mit dem Ziel einer zuverlässigen Kommunikation. Aus dieser Forderung resultiert der verbindungslose Betrieb. Gefördert durch die DARPA (Defence Advanced Research Projects Agency das: ARPANET (Advanced Research Project Agency Network) Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.12, S. Rupp Kommunikationssysteme, Teil 2.12, S. Rupp 1972/73 Das Netz wird für Universitäten und Forschungszentren geöffnet. 1973 schon 37 Rechner sind verbunden 1982 Eine neue Protokoll-Generation wird eingeführt: TCP/IP (Transmission Control Protocol/ Internet Protocol) Quelle: Harald Orlamünder 3 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.12, S. Rupp 4 Informatik Master, PM2100.1, 2013 Internet - NSFNET Die Geschichte der Rechner-Technik 1986 Das ARPANET wird an die NSF (National Science Foundation) übergeben und wird zum Große Maschinen, nicht vernetzt, Eingabe: Lochkarten, Ausgabe: Drucker Datennetz Weitere Miniaturisierung, Vernetzung wird Standard NSFNET 1989 Die Universität in Dortmund wird als erster Rechner in Deutschland an das Netz angeschlossen. 1989 Das ARPANET stellt seinen Betrieb ein Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.12, S. Rupp Quelle: Harald Orlamünder 5 Informatik Master, PM2100.1, 2013 Die Geschichte der Rechner-Bedienung Kommunikationssysteme, Teil 2.12, S. Rupp Informatik Master, PM2100.1, 2013 Die Rolle der Beteiligten Die ehemaligen Studenten der Forschungsprojekte gehen in die Industrie und zu Netzbetreibern und werden Entscheidungsträger ..... “Batch”-Betrieb, Ausgabe auf Drucker, mit zeitlicher Verzögerung Interaktiver Betrieb, benutzerfreundlich durch Fenster-Technik (graphische Benutzeroberflächen) Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.12, S. Rupp 6 .... sie bringen ihr Know-how bezüglich Datennetzen und dem Internet ein und beeinflussen die weitere Entwicklung der Telekommunikation. Quelle: Harald Orlamünder 7 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.12, S. Rupp 8 Informatik Master, PM2100.1, 2013 Die Entwicklung der Paket-Protokolle 1980 Personal Computer 1972 E-Mail Nicht berücksichtigt: OSI-Protokolle und Inhalt firmenspezifische Protokolle. 1993 Web-Browser Internet - Das Netz der Netze IPv6 (1995) IPv4 (1981) RPR (2004) 100 Mb/s -1 Gb/s -10 Gb/s 10 Mb/s ARPANET (1969) Ethernet (1974) Studien zu Packet Switching PPP (1994) Frame Relay (1988) LAPS (2001) MPLS (2001) X.25 (1976) Ideen zu einem B-ISDN 1970 1960 • Historie • Protokolle: IPv4, IPv6, TCP, UDP, Schicht 2 Protokolle • Adressierung im Internet • IP-Netze • Standardisierung GFP (2001) ATM (1988) 1980 1990 2000 2010 Quelle: Harald Orlamünder 9 Kommunikationssysteme, Teil 2.12, S. Rupp Informatik Master, PM2100.1, 2013 Vergleich der Protocol-Stacks ISO/OSI Modell DOD Modell Transport Beispiel Application Application & Utility Session & Utility Treiber Transport Internetwork Network TCP/IP Application Remote File WWW Login Transf. E-Mail Voice .... Name Service Utility TELNET FTP SMTP RTP TFTP DNS Transport TCP Internetwork IP Network LLC/SNAP & Network Link HTTP ... X.25 UDP AAL-5 ... .... ATM GFP .... Phy Phy .... PPP Link Physical Informatik Master, PM2100.1, 2013 TCP-IP Protocol Stack Application Presentation 10 Kommunikationssysteme, Teil 2.12, S. Rupp ETHERNET Physical Link MAC Physical LAN-PHY HDLC SDH ISDN V.24 V.35 DOD = Department of Defence (Amerikanisches Verteidigungsministerium) Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.12, S. Rupp Quelle: Harald Orlamünder 11 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.12, S. Rupp 12 Informatik Master, PM2100.1, 2013 Internet Protocol Protokollkopf des Internet Protocols Das wichtigste Protokoll ist das Protokoll der höheren Schicht Internet Protocol (IP) RFC 791 0 Internet Protocol, DARPA Internet Program Protocol Specification J.Postel, September 1981 als gemeinsame Schicht mit den Zusatzprotokollen: Internet Control Message Protocol (ICMP), RFC 792 Internet Control Message Protocol (J.Postel, September 1981) Address Resolution Protocol (ARP), RFC 826 Header Version Length Time to Live 12 Type of Service Identification 16 24 28 31 Packet Length 0 Protocol 20 D M Fragment Offset F F Header Checksum Destination Address Options Reverse Address Resolution Protocol (R. Finlayson, T. Mann, J.C. Mogul, M. Theimer, Juni 1984) Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.12, S. Rupp 8 immer in einer 32-Bit-Struktur Fragmentierung Source Address Ethernet Address Resolution Protocol: Or converting network protocol addresses to 48.bit Ethernet address for transmission on Ethernet hardware (D.C.Plummer, November 1982) Reverse Address Resolution Protocol (RARP) RFC 903 4 Qualität Padding Routing Auflösen von Schleifen Quelle: Harald Orlamünder 13 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.12, S. Rupp 14 Informatik Master, PM2100.1, 2013 IPv6 - Die Ideen für ein neues Protokoll IPv6 - Zeitlicher Ablauf • • 1991: Das IAB (Internet Activities Board, heute: Internet Architecture Board) beginnt mit Studien zum Wachstum des Internet. • 1994: Eine Arbeitsgruppe in der IETF veröffentlicht den RFC 1752: The Recommendation for the IP Next Generation Protocol 1996: In 5 RFCs werden die Details von IPv6 nieder gelegt. (RFC 1883, 1884, 1885, 1886, 1933) • • Das gegenwärtige Internet Protokoll - Version 4 - wurde 1981 entwickelt. Seit dieser Zeit läuft es gut im Internet, war aber nie für ein so großes Netz wie es das heutige Internet darstellt, gedacht. Es gibt einige Defizite im Protokoll die z.B. Sicherheit, Mobilität und Qualität betreffen. Sie werden heute über Zusatzprotokolle abgewickelt (Mobile-IP, IPsec,...). 1991 wurde mit den Arbeiten zu einer neuen Version Version 6 - begonnen, die alle neuen Ideen beinhalten und die Version 4 ersetzen sollte. • • 1998: Ein neuer Satz von RFCs wurde veröffentlicht, 4 der Ursprungs-RFCs wurden ersetzt und die Struktur des Paketkopfes sowie die Adressierung geändert. (Am wichtigsten ist RFC 2460: IPv6 Specification (IP Version 5 war für das „Stream Protocol“ (ST) reserviert, das keine Bedeutung erlangte.) Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.12, S. Rupp Quelle: Harald Orlamünder 15 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.12, S. Rupp 16 Informatik Master, PM2100.1, 2013 IPv6 Grundlagen - Paketkopf - Struktur 0 4 8 12 VersionTraffic Class 16 20 IPv6 – Migration - Interworking-Fälle 24 28 31 Flow Label Next Header Payload Length 1. Kommunikation zwischen Hosts in verschiedenen Protokoll-Welten. Hop Limit IPv6 IPv4 2. Kommunikation zwischen IPv6-Hosts über ein IPv4-Zwischennetz Source Address IPv6 IPv6 IPv4 3. Kommunikation zwischen IPv4-Hosts über ein IPv6-Zwischennetz Destination Address IPv6 IPv4 Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.12, S. Rupp Quelle: Harald Orlamünder 17 Informatik Master, PM2100.1, 2013 18 Kommunikationssysteme, Teil 2.12, S. Rupp IPv6 - Zusammenfassung Internet Control Message Protocol • • ICMP-Anfrage und -Antwort IPv6 ist nicht die beste Lösung für ein neues Protokoll. IPv6 alleine reicht nicht aus, es werden zusätzliche Protokolle in „Version 6“ benötigt. Es gibt Übergangszeit der „Migrations-Szenarien“ mit all ihren Nachteilen. • • Trotzdem: wegen der erwarteten Adressknappheit wird IPv6 eingeführt werden, Start 2012. • IPv4 0 7 8 15 16 23 24 IP-Header Type Code CRC Daten Informatik Master, PM2100.1, 2013 ICMP-Fehlermeldung 31 0 20 Oktett 8 Oktett 7 8 15 16 23 24 31 IP-Header Type Code CRC Daten Treiber für die Einführung sind: • Mobilfunk (3G) wegen der „Always-On-Eigenschaft“. • Der Asiatisch-Pazifische-Raum wegen der wenigen IPv4Adressen, die dort registriert sind • Europa, politisch motiviert für eine neue Generation Internet. Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.12, S. Rupp Protokoll zur Überwachung und Fehlerbehandlung des IP selbst. 20 Oktett 8 Oktett IP-Header Daten des Fehlerverursachenden Paketes Quelle: Harald Orlamünder 19 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.12, S. Rupp 20 Informatik Master, PM2100.1, 2013 Internet Control Message Protocol Typ 00 08 09 0A 0D 0E F2 F3 03 03 04 05 05 05 05 0B 0B 0C 0C Transportprotokolle - TCP und UDP Code Bedeutung 00 Echo request Anfragen und 00 Echo reply Antworten 00 Router advertisement z.B. für „PING“ 00 Router solicitation 00 Timestamp request benutzt 00 Timestamp reply 00 Address Mask request 00 Address Mask reply 00 Network unreachable Fehlermeldungen : ...... Ziel unerreichbar 0F Precedence cutoff in effect 00 Source Quench 00 Redirect for Network Fehlermeldungen : 01 Redirect for Host Umleitungen 02 Redirect for Type of Service and Network 03 Redirect for Type of Service and Host 00 Time to live equals zero during transit Fehlermeldungen : 01 Time to live equals zero during reassembly Zeitgeber 00 IP Header bad Fehlermeldungen : Quelle: Harald Orlamünder 01 required option missing Parameter 21 Kommunikationssysteme, Teil 2.12, S. Rupp Informatik Master, PM2100.1, 2013 IP transportiert TCP oder UDP RFC 793 Transmission Control Protocol, DARPA Internet Program Protocol Specification (J.Postel, August 1980) RFC 2581 TCP Congestion Control (M.Allman, V.Paxson,W.Stevens; April 1999) und das verbindungslose User Datagram Protocol (UDP) RFC 768 User Datagram Protocol (J.Postel, September 1981) Quelle: Harald Orlamünder 22 Kommunikationssysteme, Teil 2.12, S. Rupp Protokoll der höheren Schicht 0 IP-Paketkopf UDP-Paket (verbindungslos) UDP- Paketkopf TCP-Paketkopf TCP- Paket oder UDP-Paket 4 Informatik Master, PM2100.1, 2013 Nutzdaten Flußkontrolle 8 12 Source Port 16 20 28 31 Destination Port Achnowledge Number Res. U A P R S F R C S S Y I G K H T N N Checksum Window Size Urgent Pointer Options Quelle: Harald Orlamünder 24 Sequence Number Data Offset Nutzdaten Kommunikationssysteme, Teil 2.12, S. Rupp Transmission Control Protocol (TCP) TCP Protokollkopf IP-Paket (verbindungslos) TCP-Paket (verbindungsorientiert) Die beiden wichtigsten Protokolle der Transportschicht sind das verbindungsorientierte Padding Quelle: Harald Orlamünder 23 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.12, S. Rupp 24 Informatik Master, PM2100.1, 2013 Verbindungen mit TCP TCP - Timeout Endsystem A Endsystem B Endsystem A Flags: SYN - SEQ=875; VerbindungsAufbau (set up) Flags: SYN, ACK - SEQ=156, ACK=876 Flags: SYN, ACK - SEQ=876, ACK=157 16 Oktett Daten aktive Phase der Verbindung Endsystem B Flags: ACK - SEQ=876, ACK=157 beide SequenzNummern sind ausgetauscht. Flags: ACK - SEQ=877, ACK=157 T Timeout, daher Paket wiederholt 100 Oktett Daten Flags: ACK - SEQ=157, ACK=893 Flags: ACK - SEQ=877,ACK=157 Flags: ACK - SEQ=893,ACK=258 T Flags: ACK - SEQ=157, ACK=893 Flags: ACK, FIN - SEQ=258, ACK=894 Flags: ACK, FIN - SEQ=894, ACK=259 Flags: ACK - SEQ=259, ACK=895 Quelle: Harald Orlamünder Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.12, S. Rupp 25 Informatik Master, PM2100.1, 2013 TCP - Bestätigung für mehrere Pakete Endsystem A Puffergröße Flags: ACK - SEQ=877, ACK=157 Flags: ACK - SEQ=1300, ACK=157 Flags: ACK - SEQ=1766, ACK=157 Betstätigung nur für das letzte Oktett Informatik Master, PM2100.1, 2013 TCP Ablauf der Flußkontrolle Endsystem B Flags: ACK - SEQ=1020, ACK=157 26 Kommunikationssysteme, Teil 2.12, S. Rupp 1000 Oktetts sind übermittelt Zeitüberschreitung für die Bestätigung Fesntergröße Verbindungsabbau (tear down) Schwelle „congestion avoidance“ linearer Bereich 1/2 Schwelle „slow start“ z.B. exponentieller Bereich Flags: ACK - SEQ=157, ACK=1878 WindowGröße beachten ! Timeout beachten ! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 TCP-Segment Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.12, S. Rupp Quelle: Harald Orlamünder 27 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.12, S. Rupp 28 Informatik Master, PM2100.1, 2013 TCP - Kritische Punkte der Flußkontrolle UDP - Protokollkopf Aufgrund der Flusskontrolle nicht geeignet für EchtzeitAnwendungen (Beschränkung der Bandbreite im Fall von Engpässen im Netz). Nur eine kleine Erweiterung des IP Protokolls: • • Schutz des UDP-Protokollkopfes durch eine Prüfsumme (CRC). • Auswahl des richtigen Dienstes (=höhere Schichten) Echtzeit-Anwendungen nutzen UDP. Protokoll der höheren Schicht Die Bandbreite wird nicht „fair“ zwischen den Benutzern aufgeteilt. • Verbindungen mit kurzen Paketverzögerungszeiten erhalten mehr Bandbreite. „Pump-Effekt“ bei der Bandbreite aufgrund des Flusskontrollmechanismus. • 0 4 8 12 16 20 24 Source Port Destination Port Length UDP Checksum 28 31 Das System nähert sich langsam der bereitgestellten Kapazität im Netz an und startet im Fehlerfall (Überschreiten der spezifizierten Quittungszeit) von vorne (Startlevel). Quelle: Harald Orlamünder Quelle: Harald Orlamünder 29 Kommunikationssysteme, Teil 2.12, S. Rupp Informatik Master, PM2100.1, 2013 Socket Definition 30 Kommunikationssysteme, Teil 2.12, S. Rupp Informatik Master, PM2100.1, 2013 Socket Anwendung Das Tupel aus IP-Adresse und Port-Nummer wird „Socket“ genannt (Steckverbinder für Anwendungen). Client Anwendungen telnet Server http Diese Darstellung veranschaulicht den Begriff eines „Socket“ deutsche Übersetzung: Fassung, Muffe, Hülse,... ftp Die Anwendung wird „eingesteckt“ Socket Internet IP / TCP / UDP Destination IP-Adresse: 192.168.70.30 23 Destination Port-Nummer: 67.204.13.6 Source IP-Adresse: PPP / Physik 4711 Source Port-Nummer: Leitung Socket Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.12, S. Rupp Quelle: Harald Orlamünder 31 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.12, S. Rupp 32 Informatik Master, PM2100.1, 2013 Die heutige Protokollvielfalt Schicht-2-Protokolle IP-Pakete können über viele Übertragungsmedien übertragen werden. IP (IPv4, IPv6) LANE/ MPOA LLC/ SNAP MPLS AAL-5 • Ethernet MAC RPR PPP Dazu werden jeweils verschiedenen Schicht-1- und Schicht-2-Protokolle eingesetzt: • LAPS FR ATM GFP HDLC PDH, SDH (Virtual Container) Ethernet PHY 1G,10G Ethernet PHY <1G OTH (Optical Channel OCh) Kabel Glasfaser Quelle: Harald Orlamünder 33 Informatik Master, PM2100.1, 2013 Local Area Network als Transport von IP Remote File WWW Login Transf. E-Mail Voice .... Name Service Utility TELNET FTP SMTP RTP TFTP DNS Transport TCP Link Physical HTTP ... UDP IP LLC/SNAP Router LAN MAC Host LAN-PHY Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.12, S. Rupp 34 Kommunikationssysteme, Teil 2.12, S. Rupp Informatik Master, PM2100.1, 2013 Local Area Network CSMA/CD Ablauf Application Network Nutzung von ATM, MPLS (Classical IP over ATM, MPLS, MPOA, ...) Kabel Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.12, S. Rupp Internetwork • Local Area Networks - mit Medium Access Control (Ethernet, Token Ring, ...) Point-to-Point-Protokoll über verschiedene Medien (RFC 1661 The Point-to-Point Protocol, W.Simpson, Juli 1994) Station will senden ja Carrier Sense Multiple Acceess / Collission Detect Aktivität auf dem Bus ? nein &Station sendet ihre Nachricht Station hört auf dem Bus eine andere Station sendet gleichzeitig nein ja Station sendet ein „Jamming“-Signal Nachricht gesendet Station wartet eine zufällige Zeitspanne ab Quelle: Harald Orlamünder 35 6. Semester, Nachrichtentechnik, 2012 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.12, S. Rupp 36 Informatik Master, PM2100.1, 2013 LAN (Local Area Network) IP über Telekommunikationsnetze Ethernet- und IEEE 802.3-Rahmenstruktur Ethernet-Rahmen DestinationSource Address Address 6 6 Type Information (IP-Paket) 2 CRC 46 ... 1500 4 IEEE 802.3 Rahmen DestinationSource Address Address 6 6 Len 2 LLC/SNAP Information (IP-Paket) 8 CRC 38 ... 1492 4 MAC DSAP SSAP crtl. 1 Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.12, S. Rupp 1 LLC 1 37 Org.Code 3 Type SNAP Informatik Master, PM2100.1, 2013 Ein Protokoll um die Übertragungsstrecke auf- und abzubauen, zu konfigurieren und zu testen, das Link Control Protocol (LCP). Ein entsprechendes Steuerprotokoll, um verschiedene Schicht-3-Protokolle auf- und abzubauen und zu konfigurieren, das Network Control Protocol (NCP). Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.12, S. Rupp E-Mail Voice .... Name Service Utility TELNET FTP SMTP RTP TFTP DNS Transport TCP Internetwork IP Network HTTP ... PSTN/ISDN Link UDP X.25 PPP ÜT-Netz HDLC Physical Modem SDH ISDN V.24 V.35 38 Informatik Master, PM2100.1, 2013 Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.12, S. Rupp PPP - Rahmenstruktur Das PPP besteht aus drei Komponenten: • Eine Methode um Paket-Daten entsprechend verpackt zu übertragen - PPP Encapsulation. Dabei wird von einer bidirektionalen VollduplexÜbertragung ausgegangen. • Remote File WWW Login Transf. 2 Point-to-Point Protocol (PPP) - Prinzip • Application Kennzeichnet das entsprechende, transportierte Protokoll (Network Layer Protocol, Link Control Protocol, Network Control Protocol, ...) PPP-Rahmen Protokoll Information (z.B. IP-Paket) Padding „unnumbered information“ (UI) „all stations“ Flag Address Control 011111110 11111111 00000011 Information FCS Flag 011111110 HDLC-Rahmen Quelle: Harald Orlamünder 39 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.12, S. Rupp 40 Informatik Master, PM2100.1, 2013 Inhalt Namen und Adressen im Internet Internet - Das Netz der Netze Die Internet-Architektur kann bezüglich Namen und Adressen als dreistufige Struktur angesehen werden: • Historie • • Protokolle • Adressierung im Internet: IP-Adressen, Domains, URLs • IP-Netze • Standardisierung die IP-Adressebene erlaubt es, Geräte im Internet (Hosts und Router) anzusprechen und einen Weg zwischen solchen Geräten ausfindig zu machen. z.B.: 192.168.70.30 • die DNS-Namensebene erlaubt es, ein System im Internet anzusprechen, das eine Anwendung bietet (Host-System). z.B.: www.dhbw-stuttgart.de • die Ressourcen-Ebene erlaubt es, verschiedenste Internet Ressourcen anzusprechen (Uniform Resource Locator (URL)/ Uniform Resource Name (URN)/Uniform Resource Indicator (URI). z.B.: http://dhbw-stuttgart/news/983010.htm Quelle: Harald Orlamünder 41 Kommunikationssysteme, Teil 2.12, S. Rupp Informatik Master, PM2100.1, 2013 IP-Adressen für IPv4 - Allgemein Klasse A ist 32 Bit lang (> 4x10E9 Adressen); • ist strukturiert in einen “Network Identifier” (Net-ID) und einen “Host Identifier” (Host-ID); 0 Net-ID 15 16 Klasse B 31 16,7 MIO. Adr. 1 0 Net-ID Host-ID 16 000 Adr. Klasse C 23 24 Host-ID 128 Adr. 32 Bit n x 8 Bit 65 000 Adr. 1 1 0Net-ID Host-ID 2 MIO. Adr. Host-ID Klasse D 1 1 1 0Multicast Group Klasse E 1 1 1 1 Experimental 256 Adr. wird im „dotted-decimal“ Format geschrieben, z.B.: 192.168.70.30 • 7 8 0 • • Informatik Master, PM2100.1, 2013 Adress-Klassen für IPv4 Die IPv4 Adresse: Net-ID 42 Kommunikationssysteme, Teil 2.12, S. Rupp wird von verschiedenen Organisationen verwaltet Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.12, S. Rupp Strukturierung verursacht Adress-Knappheit! RFC 1020 Quelle: Harald Orlamünder 43 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.12, S. Rupp 44 Informatik Master, PM2100.1, 2013 Lösung der Adress-Knappheit (1) Lösung der Adress-Knappheit (2) Classless Inter Domain Routing (CIDR) Dynamic Host Configuration Protocol (DHCP) • Jedes Netz erhält eine Serie von aufeinanderfolgenden Class C Adressen und eine „Maske“. • Die Maske zeigt an, welcher Teil der Adresse die „Net-ID“ bildet. • Beispiel: ein Netz, das 2048 Adressen benötigt, erhält 8 Class C Adressen und eine Maske „255.255.248.0“. • Der einzelne Host hat keine feste IP-Adresse, sondern beim Einloggen erhält er dynamisch eine aus einem Pool. • Erweiterung des alten BOOT-Protokolls (BOOTP). AdreßPool DHCPServer Net-ID DHCP Host-ID DHCP 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 IP-Netz Host 1 Maske 255.255.248.0 RFC 1518 und RFC 1519 Quelle: Harald Orlamünder Host 1 Host 2 Host 2 Adresse 1 Adresse 2 Adresse 1 t Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.12, S. Rupp 45 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.12, S. Rupp 46 RFC 2131 Informatik Master, PM2100.1, 2013 Lösung der Adress-Knappheit (3) Subnetz-Adressen für IPv4 Network Address Translator (NAT) für Intranets Große Intranets wollen ihren internen Bereich ebenfalls strukturieren. Die IP-Adresse wird dazu in drei Teile zerlegt: • Der NAT ist eine Einheit, die interne (lokale) IP-Adressen (z.B. von innerhalb eines Intranets) in externe (globale) IP- Adressen übersetzt. • Lokale IP-Adressen sind nicht eindeutig und können in anderen Intranets wiederverwendet werden. • Der Mechanismus ist natürlich nur dann brauchbar, wenn mehr lokale als globale Adressen benötigt werden. (Problem wenn Extern-Verkehr überwiegt !) • • Net-ID - vom Internet benutzt, • Subnet-ID - vom Intranet für Netzstruktur benutzt, • Host-ID - vom Intranet für Hosts benutzt. „Extended Network Prefix“ SubnetzID Netz-ID Host-ID 11111111 11111111 111111 00 00000000 Einige Adressblöcke sind für Intranets reserviert: Sicht eines Routers außerhalb des Firmennetzes 10.0.0.0 – 10.255.255.255 1x Class A 172.16.0.0 – 172.31.255.255 16x Class B 192.168.0.0 – 192.168.255.255 256x Class C Maske 255.255.252.0 Kommunikationssysteme, Teil 2.12, S. Rupp Sicht eines Routers innerhalb des Firmennetzes RFC 1631 und RFC 1918 Quelle: Harald Orlamünder Host-ID Netz-ID Netz-ID Host-ID Quelle: Harald Orlamünder 47 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.12, S. Rupp 48 Informatik Master, PM2100.1, 2013 IPv6 – Addressing - Allgemein Domain Name System - Allgemeines Die IPv6-Adresse ist: 128 Bit lang (>3x1038 Adressen) oder genau: Für eine bessere „Lesbarkeit“ wurde das „Domain Name System“ erfunden. Es besteht aus hierarchischen Strukturen für Nutzer und Hosts. Die „Top Level Domain“ (TLD) kennzeichnet Kategorien oder Länder 340 282 366 920 938 463 463 374 607 431 768 211 456 Der Adressraum ist so gross, dass selbst mit einer strukturierten Adresse mehr als 1500 Adressen pro m2 Erdoberfläche zur Verfügung stehen. strukturiert (nur die „Aggregable Global Unicast Address“ ist im Detail spezifiziert); die letzten 64 Bit werden „Identity“ genannt (sie bleiben auch bei Wechsel des Providers erhalten); wird im hexadezimalen „colon“-Format, geschrieben, (8 Anteile je 16 Bits) z.B.: 108F:0:0:0:8:800:200C:417A Quelle: Harald Orlamünder Host www.dhbw-stuttgart.de Top Level Domain generic TLDs (gTLD) .com = Commercial .net = Administrative Organisations .org = other Organisations .int = international Organisations .edu = Education (de facto nur USA) .gov = Government (nur USA) .mil = Military (nur USA) country code TLDs (ccTLD) .de = Germany .fr = France .uk = United Kingdom .at = Austria .au = Australia ........ Code gemäß ISO 3166 76% aller Domains 24% aller Domains Quelle: Harald Orlamünder 49 Kommunikationssysteme, Teil 2.12, S. Rupp Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.12, S. Rupp 50 Informatik Master, PM2100.1, 2013 Prinzip des Domain Name Server DNS-Anfrage über mehrere Server Zum Routen der Pakete muss eine Übersetzung zwischen dem Namen Falls der „Primary Domain Name Server“ die Adresse nicht über-setzen nach dem Domain Name System und der 32-Bit-IP-Adresse durchgeführt werden. www.dhbw-stuttgart.de 192.168.70.30 Client fragt Server kann, werden weitere Domain Name Server hinzugezogen: „host.company.de“ fragt nach „ftphost.dept.company.jp“ Top Level DNS „.de“ Top Level DNS „.jp“ Primary DNS „company.jp“ Server antwortet mit IP-Adresse Kommunikation zwischen den DNS, die IP-Adresse wird zurückgegeben Domain Name Server Direkte Kommunikation mit IP-Adressen host.company.de Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.12, S. Rupp 51 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.12, S. Rupp Quelle: Harald Orlamünder 52 ftphost.dept.company.jp Informatik Master, PM2100.1, 2013 E-Mail Adressen sind Namen URI / URL / URN - Definitionen • • • Eine E-Mail-Adresse (die in Wirklichkeit ein Name ist) korrespondiert Der Universal Resource Identifier (URI) ist ein Konzept: „to mit dem Domain Name System. encapsulate a name in any registered name space, label it with the Nur der angesprochene Host (also der E-Mail-Server) kennt die name space and producing a member of the universal set“. • einzelnen Adressaten. Der Uniform Resource Locator (URL) ist ein URI „which refers to objects accessed with existing protocols“. • Host = E-Mail Server <scheme>:<scheme specific part> [email protected] Adressat Sein Aufbau entspricht folgendem Schema : • more persistent names than any URL“ Top Level Domain Quelle: Harald Orlamünder Der Uniform Resource Name (URN) ist ein Versuch „to define Quelle: Harald Orlamünder 53 Kommunikationssysteme, Teil 2.12, S. Rupp Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.12, S. Rupp Uniform Resource Locator - Format Inhalt Ein URL gibt Objekten im Internet einen Namen, z.B.: Internet - Das Netz der Netze Server Directory File 54 Informatik Master, PM2100.1, 2013 • Historie http://www.dhbw-stuttgart.de/themen/aktuelles/news.html • Protokolle Scheme • Adressierung im Internet: IP-Adressen, Domains, URLs • IP-Netze: Netzstrukturen, Routing, Netzelemente • Standardisierung Path ftp http gopher mailto news nntp telnet wais file prospero File Transfer protocol Hypertext Transfer Protocol The Gopher protocol Electronic mail address USENET news USENET news using NNTP access Reference to interactive sessions Wide Area Information Servers Host-specific file names Prospero Directory Service RFC 1630 und RFC 1738 Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.12, S. Rupp 55 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.12, S. Rupp 56 Informatik Master, PM2100.1, 2013 Das „Internet“ als Netz R R N Inhalt ISP 1 S R N R ISP 2 S R N = Network Access Server R = Router S = Server CIX = Commercial Internet Exchange ISP = Internet Service Provider R 1. N N N R 2. CIX R R R N ISP 4 S R Internet - Das Netz der Netze S 3. Back- R bone ISP R3 S N Internet • Historie • Protokolle • Adressierung im Internet • IP-Netze • Standardisierung R 1. Router-Paar 2. unabhängiger Router „CIX“ 3. unabhängiges IP-Backbone N Quelle: Harald Orlamünder 57 Kommunikationssysteme, Teil 2.12, S. Rupp Informatik Master, PM2100.1, 2013 Standardisierung im Internet 58 Kommunikationssysteme, Teil 2.12, S. Rupp Informatik Master, PM2100.1, 2013 Kommunikationssysteme 300 Anzahl RFC 250 Entwicklung der RFCs ENDE Teil 2.12 200 Internet 150 100 Literaturempfehlung: Harald Orlamünder, Paket-basierte Kommunikations-Protokolle: Hüthig 50 Telekommunikation; Auflage: 1 (2005) ISBN-13: 978-3826650468 0 1970 1975 1980 Kommunikationssysteme, Teil 2.12, S. Rupp 1985 1990 59 1995 2000 2005 Jahr Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.12, S. Rupp 60 Informatik Master, PM2100.1, 2013 Inhalt Aufbau und Entwurf von Protokollen Kommunikationssysteme Teil 2.2 – Aufbau und Entwurf von Protokollen • Protokolle • Entwicklung und Test Stephan Rupp Informatik Masterstudium • Protokollanalysator www.dhbw-stuttgart.de Kommunikationssysteme, Teil 2.2, S. Rupp Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.2, S. Rupp 2 Protokollschichten Referenzmodell der ISO-OSI Prinzip: Schichtung von Diensten Endsysteme und Übertragungssysteme Informatik Master, PM2100.1, 2013 Schicht N + 1 nutzt … … Dienst der Schicht N Kommunikationssysteme, Teil 2.2, S. Rupp 3 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.2, S. Rupp 4 Informatik Master, PM2100.1, 2013 ISO-OSI Referenzmodell OSI – Modell für Systeme Netzwerk Anwendungen Funktionen der Protokollschichten Kommunikationssysteme, Teil 2.2, S. Rupp 5 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.2, S. Rupp 6 Informatik Master, PM2100.1, 2013 Ebenen om OSI Referenzmodell Anfragen auf Dienstebene Management Plane: Dienstanbieter (Service Provider) leitet Anfragen weiter Systemadministration (OSS/NMS) Control Plane: Steuerung User Plane: Daten OSS: Operation Support System, Betriebsführungssystem Kommunikationssysteme, Teil 2.2, S. Rupp NMS: Network Management System, Leitsystem 7 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.2, S. Rupp 8 Informatik Master, PM2100.1, 2013 Innerhalb der Anwendungsknoten Hierarchie der Nachrichten Protocol Data Units als komplette Nachricht der Schicht SDU: Service Date Unit • (N) PDU = (N) SDU + (N) PCI • (N) SDU = (N+1) PDU SDU: Service Date Unit PDU: Protocol Data Unit PCI: Protocol Control Information PDU: Protocol Data Unit Kommunikationssysteme, Teil 2.2, S. Rupp 9 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.2, S. Rupp 10 Kommunikationsprozess Beispiel: Client - Server Kommunikation Nachrichten und Zustandsänderungen Client und Server als Zustandsautomaten Informatik Master, PM2100.1, 2013 Zustände (States): 0: Disconnected (DISC) 1: Waiting (WAIT) 2: Connected (CONN) Zustandsübergänge (Transitions): +/-1: send/receive Connect Request (Creq) PDU +/-2: send/receive Connect Acknowledge (Cack) Prozess: Zustandsautomat (Finite State Machine) Kommunikationssysteme, Teil 2.2, S. Rupp Paketinhalt +/-3: send/receive Disconnect Request (Dreq) Paketkopf Quelle: Gerd Siegmund 11 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.2, S. Rupp 12 Informatik Master, PM2100.1, 2013 Zustandsdiagramm Beispiel: Client-Server in SDL Notation Nachrichten lösen Zustandsänderungen aus Zustand Nachricht empfangen Nachricht empfangen (warten auf Benutzer) Nachricht senden • Zustand Gleiches Konzept wie bei UML Zustandsdiagrammen (State Diagram) SDL: Service Description Language (vergleichbar mit Aktivitätsdiagramm bei UML) Kommunikationssysteme, Teil 2.2, S. Rupp 13 Informatik Master, PM2100.1, 2013 Beispiel: Sequenzdiagramm Kommunikationssysteme, Teil 2.2, S. Rupp 14 Informatik Master, PM2100.1, 2013 16 Informatik Master, PM2100.1, 2013 Formale Validierung Formale Validierung ist in sehr einfachen Fällen durch Berücksichtigung globaler Zustände möglich. Message Sequence Diagram entspricht Sequenzdiagramm bei UML (Nachricht senden = Methode aufrufen) Kommunikationssysteme, Teil 2.2, S. Rupp 15 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.2, S. Rupp Beispiel: Client-Server Kommunikation Inhalt Kriterien zur Validierung: • Kommunikationssysteme, Teil 2.2, S. Rupp 17 gegenseitige Blockierung (Deadlock): Pfade ohne Ausgang • Protokolle • unspezifizierte Signale (ohne Empfang) • Entwicklung und Test • Nicht auführbare Zustände (Zustand ist nicht erreichbar) • Protokollanalysator • Mehrdeutige Zustände (Zustand wird durch unterschiedliche Ereignisse erreicht) Informatik Master, PM2100.1, 2013 Planen und Bauen Planung und Design: Transformationen eines Modells Systemtests Funktionale Tests Top-Down Prozess black box Bauen: Transformationen eines Codes Code (OpenSource: Code als Modell) Kommunikationssysteme, Teil 2.2, S. Rupp 18 Kommunikationssysteme, Teil 2.2, S. Rupp Informatik Master, PM2100.1, 2013 Implementierung und Tests Modell Bottom-Up Prozess Aufbau und Entwurf von Protokollen 19 Informatik Master, PM2100.1, 2013 V-Modell Funktionale Anforderungen Integrationstests Design Anforderungen Modultests white box SoftwareEntwickler Spezifikation und Test Systemanforderungen Implementierung und Test Kommunikationssysteme, Teil 2.2, S. Rupp Implementierung der Module UnitTests 20 Implementierung der Units Informatik Master, PM2100.1, 2013 Hardware Architektur Software Architektur 21 Kommunikationssysteme, Teil 2.2, S. Rupp Controller (Host) Controller (Host) Schnittstelle (Communication Controller) Schnittstelle (Communication Controller) Informatik Master, PM2100.1, 2013 Modell einer Protokollschicht 22 Informatik Master, PM2100.1, 2013 Protokolltests Schicht N als Dienstleister (Service Provider) für Schicht N+1 Kommunikationssysteme, Teil 2.2, S. Rupp Kommunikationssysteme, Teil 2.2, S. Rupp 23 Informatik Master, PM2100.1, 2013 Ereignisse und Statustabellen (Event State Tables) Kommunikationssysteme, Teil 2.2, S. Rupp 24 Informatik Master, PM2100.1, 2013 Protokolltests Konformitätstests Referenz und Prüfling einer Protokollschicht Mit externem Protokolltester Referenz Prüfling FSM: Finite State Machine, Zustandsautomat Kommunikationssysteme, Teil 2.2, S. Rupp 25 Informatik Master, PM2100.1, 2013 Realer Testaufbau 26 Kommunikationssysteme, Teil 2.2, S. Rupp Informatik Master, PM2100.1, 2013 Anwendungstests Prüfling Testsystem (System under Test) (Protokolltester) Protokollschicht Anwendung (Test Cases) Simulator Trace ASP Emulation der unteren Protokollschichten Input Zielsystem record inputs play back Skript Events Error situations laden Test Case Entwicklungssystem & Emulator Test report Screen shots programmieren und testen Full Trace PDU: Packet Data Unit Editor Testumgebung Testfälle PDU Kommunikationssysteme, Teil 2.2, S. Rupp ASP: Abstract Service Primitives ASP: Abstract Service Primitives 27 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.2, S. Rupp 28 Informatik Master, PM2100.1, 2013 Inhalt Protokollschichten Aufbau und Entwurf von Protokollen • Protokolle • Entwicklung und Test • Protokollanalysator Kommunikationssysteme, Teil 2.2, S. Rupp 29 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.2, S. Rupp 30 Informatik Master, PM2100.1, 2013 Grundsätzlicher Ablauf: Ein SIP-Terminal besteht aus einem User-Agent-Client (UAC), der Anfragen an den User-Agent-Server (UAS) richtet. Die Anfragen, Requests, Nachrichten werden in ihrem Anwendungszweck, der sog. Methode, engl. Method, unterschieden. Der Protokollanalysator einsetzen UAS antwortet mit Responses. Diese Rollen können wechseln: ein SIP Terminal kann für Anfragen auch ein Server sein, die die Anfragen mit ein oder auch mehreren Responses Übungen Wireshark dient zur Weiterleitung der Steuernachrichten im Netz. beantwortet. Dermit SIP-Proxy-Server Signalisierung und Verbindung VoIP mit Session Initiation Protokoll (SIP) • Wireshark installieren und eigenen Verkehr mitschneiden Architektur Funktional wird bei einer Verbindung zwischen zwei User Agents zwischen dem Outboundauch:unten SIP Labor und dem Inbound-Proxy-Server unterschieden. In demSiehe Beispiel ist der Proxy A der Outbound-Server für den User Agent A (für Alice), dieser unterstützt den User Agent von Aufzeichnung der Abläufe mit WireShark Auf der anderen Seite ist der Proxy Alice um abgehende Gespräche (Outbound) aufzubauen. B der Inbound-Proxy für den User Agent von Bob, dieser unterstützt den User Agent von Bob um kommende Sessions entgegen zu nehmen (Inbound). Man spricht bei dieser Darstellung auch vom sog. SIP-Trapezoid, aufgrund der sich ergebenden Darstellungsform, dem Trapez. Nach der ursprünglichen Idee dieser Architektur sind die Proxy-Server nur für den Aufbau der Sessions notwendig. Die Nutzverbindung, auf der Basis des Real-time Transport Protocol (RTP), zwischen A und B wird, nach dem ersten Verbindungsaufbau, direkt zwischen beiden aufgebaut. Die Proxy sind dann nicht mehr notwendig. Das hier dargestellte Trapez ist also nicht in allen Zuständen in dieser existent. DieForm Aktivitäten am Asterisk-Server können nun mit Wireshark (Ethereal) aufgezeichnet Kommunikationssysteme, Teil 2.2, S. Rupp 31 Informatik Master, PM2100.1, 2013 Die Bezeichnungen „Outbound“ und „Inbound“ hängen von der jeweiligen Betrachtungsweise Die Bezeichnungen „Outbound“ und „Inbound“ und der jeweiligen Richtung des Aufbaus von Sessions ab. In der Praxis lassen sich beide und derunterscheiden. jeweiligen Die Richtung des Aufbaus von nur für einen Augenblick einer bestimmten Session logisch Realisierung werden. Vor Beginn der Aufzeichnungen muss die Ethernet-Schnittstelle selektiert werden. Kommunikationssysteme, Teil 2.2, S. Rupp Ein Notebook mit 32 PM2100.1, 2013 bereits einer Ethernet-Schnittstelle Informatik und einem Master, WLAN-Zugang hat dabei zwei mögliche Interfaces. Unter „Capture“ und „Interfaces“ kann die Schnittstelle festgelegt werden. hängen von der jeweiligenIm Unterpunkt Betrachtungsweise „Optionen“ können Einstellungen für das Mitlesen der Nachrichten eingestellt werden. Hier muss (normalerweise) nichts verändert werden, die Einstellungen sollten so Sessions ab. In der Praxis lassen sich beide aussehen: Im Unterschied zu den Request-Methoden haben die Response-Nachrichten einen geringfügig unterschiedlichen Aufbau. Am Anfang jeder Response steht die Status Line (vergleichbar der Request Line bei den Anfragen), diese beinhaltet: • SIP-Version: Wie bei den Anfragen wird hiermit die für den Nachrichtenaufbau und -ablauf verwendete Version von SIP übermittelt. Der SIP-Version folgt ein Leerzeichen (Single Space). Status-Code: Antwort auf die Anfrage im Request. > Verweis auf Tabelle mit StatusCodes>> Reason Phrase: Nach einem weiteren Leerzeichen kommt dann der Status-Code in Textform (Code: 200 – Text: OK, Code: 180 – Text: RINGING usw.). Die Zeile wird dann mit einem CRLF abgeschlossen. Protokollanalysator einsetzen Protokollanalysator einsetzen Aufbau einer SIP-Nachricht – Anfrage (Request) Aufbau einer SIP-Nachricht – Antwort (Response) • • SP: Leerzeichen (Space) 33 Kommunikationssysteme, Teil 2.2, S. Rupp SIP unterscheidet die folgenden Grundtypen von Nachrichten (Methods): • Informatik Master, PM2100.1, 2013 INVITE: lädt einen Kommunikationspartner beispielsweise zu einem Telefongespräch, einer Videokommunikation, einem Datenaustausch oder einer Konferenz ein (Beginn eines Dialogs). Mit dieser Verbindungsaufforderung wird immer eine wechselseitige Kommunikation etabliert, nur durch spezielle Parameter im Session Description Protocol (SDP) können auch einseitige Verbindungen (send-only oder receive-only) angefordert werden. ACK: Positive Bestätigung, unterstützt damit einen gesicherten Nachrichtenaustausch. ACK wird als zusätzliche Bestätigung (nach ggf. Ringing und OK) auf einen INVITE-Request gesendet und ist selbst aber ein Request, der nicht mit einer Response beantwortet wird. BYE: Hiermit beendet ein User Agent eine bestehende Kommunikation, die Nutzverbindung wird aufgehoben (Beenden eines Dialogs). CANCEL: Abweisen des gesendeten Request, beispielsweise die Abweisung einer kommenden Verbindung als Antwort auf die gesendete INVITE. Die Zuordnung der CANCEL-Nachricht zum abgewiesenen Request erfolgt mit Hilfe der Call-ID. OPTIONS: Mit dieser Methode kann ein User Agent Informationen zu den Eigenschaften (Codecs oder unterstützte Methodes) von Endsystemen (User Agents) Verbindungsaufbau erfragen und bereitstellen, ohne direkt eine Verbindung aufzubauen. REGISTER: Übermittelt Standortinformationen (genaue Adress-Informationen) über einen Benutzer. Die Benutzeridentifikation (Name, URI oder Rufnummer) wird dadurch der augenblicklichen IP-Adresse zugeordnet. Protokollanalysator einsetzen • Ablauf einer SIP-Transaktion • • • • Labor V 1 34 Kommunikationssysteme, Teil 2.2, S. Rupp Transaktion, Dialog und Session Informatik Master, PM2100.1, 2013 Ein SIP-Request beginnt eine Transaktion (Transaction), zu der mehrere Bestätigungen oder Antworten (Response) gehören können. Der Austausch der SIP-Nachrichten zwischen zwei SIP-Instanzen wird als SIP-Dialog bezeichnet. Die Aufgabe der SIP-Nachrichten ist es (unter anderem), Multimedia-Verbindungen (Sessions) zwischen zwei oder mehreren Instanzen aufzubauen, zu unterhalten, zu modifizieren und auch wieder abzubauen. Protokollanalysator einsetzen Mit „Stopp“ hält man die Aufzeichnung an und Wireshark stellt alle aufgezeichneten Aufzeichnung mit Wireshark (Beispiel) Nachrichten in einem Fenster dar: Labor V 1 Seite 7 Seite 6 Verbindung Verbindungsabbau Kommunikationssysteme, Teil 2.2, S. Rupp 35 Informatik Master, PM2100.1, 2013 Statusinformationen Kommunikationssysteme, Teil 2.2, S. Rupp SIP-Anfragen werden vom SIP-Server mit einem oder mehreren Statusinformationen (Response) quittiert. Die Statusmeldungen bestehen immer aus einem Status-Code (100, 404 usw.) und der Rückmeldung in Text-Form, Reason-Phrases), die eine genauere Angabe für das Senden der Statusmeldung (die Begründung) liefert. Die Statusinformationen (Status 36 Informatik Master, PM2100.1, 2013 Protokolle manipulieren Protokolle absichern Beispiel: ARP Poisoning Fehlerfälle und Sicherheitsmaßnahmen • Sicherheitslücke: zustandsloses Protokoll !! Fehler! • Beschreibung des Szenarios siehe: http://www.oxid.it/downloads/apr-intro.swf • Protokollwerkzeug Cain & Abel, siehe: http://www.oxid.it/downloads/cain20.exe Kommunikationssysteme, Teil 2.2, S. Rupp 37 Informatik Master, PM2100.1, 2013 Funktionale Sicherheit (engl. Safety) • Unbeabsich4gte' Wiederholung' Verlust' Eingefügte'Nachricht' Inkorrekte'Sequenz' Verfälschung'' Unakzeptable'Verzögerung' x! x! x! x! ! ! ! x! ! ! ! x! ! ! ! ! ! ! x! x! x! x! x! ! Maskerade' ! x! ! x! Memory'Fehler'in'Switches' x! ! ! x! Inkorrekte'Weiterleitung' zwischen'Segmenten' ! ! x! ! Kommunikationssysteme, Teil 2.2, S. Rupp 38 Informatik Master, PM2100.1, 2013 Kommunikationssysteme Ziel: Gefahren für Menschen und Umwelt durch Maschinen und Anlagen vermeiden. Maschinen und Anlagen sind derart auszulegen, dass Fehler und Defekte keine Gefährdung nach sich ziehen. • Maßnahme! !! !! !! Watchdog' Connec4on'ID' CRC'(Prüfsumme)' Sequenz' Berechnung' Nummer' Risiko = Schadenshäufigkeit * Schadensausmaß ENDE Teil 2.2 Aufbau und Entwurf von Protokollen Risiko ohne Schutzmaßnahme Risiko mit Schutzmaßnahme • < akzeptables Risiko Prinzip: Senkung des Risikos auf ein akzeptables Maß durch Sicherheitsmaßnahmen. Kommunikationssysteme, Teil 2.2, S. Rupp 39 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.2, S. Rupp 40 Informatik Master, PM2100.1, 2013 Inhalt Ethernet basierte Feldbusse Kommunikationssysteme Teil 2.3 – Ethernet basierte Feldbusse • Vom Multiport-Repeater zum Ethernet-Switch • Ethernet-Switches: Funktionsweise und Leistungsmerkmale Stephan Rupp Informatik Masterstudium • Anforderungen im industriellen Einsatz • Lösungsansätze für den industriellen Betrieb • Realisierungsbeispiele www.dhbw-stuttgart.de Kommunikationssysteme, Teil 2.3, S. Rupp Informatik Master, PM2100.1, 2013 Inhalt 2 Informatik Master, PM2100.1, 2013 Ethernet – Projekt 802 der IEEE Evolutionärer Ansatz seit den 80-er Jahren Ethernet basierte Feldbusse • Vom Multiport-Repeater zum Ethernet-Switch • Ethernet-Switches: Funktionsweise und Leistungsmerkmale • Anforderungen im industriellen Einsatz • Lösungsansätze für den industriellen Betrieb • Realisierungsbeispiele Kommunikationssysteme, Teil 2.3, S. Rupp Kommunikationssysteme, Teil 2.3, S. Rupp 3 Informatik Master, PM2100.1, 2013 • Basisdefinition der beiden Layer 2-Protokollschichten MAC (Medium Access Control, IEEE 802.3) und LLC (Logical Link Control, IEEE 802.2), • bei Bedarf ergänzt um höhere Steuerungsprotokolle (IEEE 802.1 unter anderem mit den Spanning Tree Protokollen, VLAN oder portbasierender Zugangskontrolle), • ergänzt um anwendungsorientierte Erweiterung (IEEE 802.4 und höher). Zwanglose Handhabung von Erweiterungen • IEEE 802.11 definiert z.B. Wireless LAN MAC (als Ergänzung zu 802.3 LAN MAC), inklusive passender schnurloser Layer 1 Protokollschichten • Link Aggregation (802.3ad), VLANs (802.1Q), Spanning Tree (802.1D, 802.1w), QoS (802.1p), Flusskontrolle (802.3x), sowie GVRP (Dynamic VLAN Registration) und GMRP (Dynamic L2 Multicast Registration) Kommunikationssysteme, Teil 2.3, S. Rupp 4 Informatik Master, PM2100.1, 2013 Netzwerk mit MAC Adressen Verkehrsfluss in LAN-Segmenten 100:13:02:39:e5:f7 Host 100:0a:95:d1:52:30 Host LAN Anfrage (Nachricht) an 100:0a:95:d1:52:30 Netzwerk Drucker Hub 100:80:77:31:b6:45 100:04:0e:73:3f:3d Anfrage an alle Ports ve rteilen (Hub = Mu ltiport Rep eater) 5 Kommunikationssysteme, Teil 2.3, S. Rupp Informatik Master, PM2100.1, 2013 Lernen von MAC-Adressen (1) Host 100:0a:95:d1:52:30 Host 100:13:02:39:e5:f7 Host LAN Network Printer 100:04:0e:73:3f:3d MAC 100:80:77:31:b6:45 Network Printer Bridge 100:80:77:31:b6:45 100:04:0e:73:3f:3d MAC 2 Kommunikationssysteme, Teil 2.3, S. Rupp Antwort (Nachricht) von 100:0a:95:d1:52:30 an 100:13:02:39:e5:f7 LAN Nachricht nur an korrekten Port Port Gelernte MAC 100:0a:95:d1:52:30 Host Bridge 100:13:02:39:e5:f7 Informatik Master, PM2100.1, 2013 Lernen von MAC-Adressen (2) 100:13:02:39:e5:f7 Anfrage (Nachricht) an 100:0a:95:d1:52:30 6 Kommunikationssysteme, Teil 2.3, S. Rupp Schritt 1: A nfrag alle Ports ve e an rteilen Adresse 7 Informatik Master, PM2100.1, 2013 Adresse Gelernte MAC Kommunikationssysteme, Teil 2.3, S. Rupp 8 Port 100:13:02:39:e5:f7 100:0a:95:d1:52:30 2 3 Informatik Master, PM2100.1, 2013 Inhalt Nachrichten speichern und weiterleiten Ethernet basierte Feldbusse Eingangs- Puffer • Vom Multiport-Repeater zum Ethernet-Switch • Ethernet-Switches: Funktionsweise und 2 (1) Speichern (2) Header analysieren (3) Weiter leiten Switch • Anforderungen im industriellen Einsatz • Lösungsansätze für den industriellen Betrieb • Realisierungsbeispiele 9 Switch Route Table Nachricht: Informatik Master, PM2100.1, 2013 Switches für den industriellen Einsatz Kundenanforderungen Software Roadmap 3 1 Ports Leistungsmerkmale Kommunikationssysteme, Teil 2.3, S. Rupp Ausgangs- Puffer ! Ethernet Rahmen (Frame) Header ! IP Packet (im Ethernet Rahmen) Header IP-Header Kommunikationssysteme, Teil 2.3, S. Rupp 10 Nutzdaten Nutzdaten Informatik Master, PM2100.1, 2013 Inhalt Definition der HW Platform Silizium Roadmap Entwicklung (Engineering) Ethernet basierte Feldbusse • Vom Multiport-Repeater zum Ethernet-Switch • Ethernet-Switches: Funktionsweise und Leistungsmerkmale Eingebettetes Netzwerk Produkt • Anforderungen im industriellen Einsatz • Lösungsansätze für den industriellen Betrieb • Realisierungsbeispiele Quelle: Kontron Kommunikationssysteme, Teil 2.3, S. Rupp 11 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.3, S. Rupp 12 Informatik Master, PM2100.1, 2013 Anforderungen im industriellen Einsatz n Inhalt Sensor Deterministische Schwelle Bus Aktuator t • Echtzeit = definierte Antwortzeiten • Hohe Systemverfügbarkeit mit hinreichend kurzen Umschaltzeiten 13 Informatik Master, PM2100.1, 2013 Vorfahrt für Prozessdaten • Vom Multiport-Repeater zum Ethernet-Switch • Ethernet-Switches: Funktionsweise und Controller Antwortzeiten: < 1 ms: Antriebssteuerung 10 ms: Geräte, Anlagen 100 ms: Controller mit Bedienterminals (HMI) Kommunikationssysteme, Teil 2.3, S. Rupp • Bus Laufzeitschwankung (Jitter) Mittelwert Ethernet basierte Feldbusse Leistungsmerkmale • Anforderungen im industriellen Einsatz • Lösungsansätze für den industriellen Betrieb • Realisierungsbeispiele 14 Kommunikationssysteme, Teil 2.3, S. Rupp Orchestrierung – deterministischer Bus Verkehrsklassen mit Priorisierung (Quality of Service) Warteschlangen Bus-Master Business 1 • Zeitmultiplex zwischen Prozessdaten und allen anderen Daten • Bus-Master organisiert die Kommunikation der Prozessdaten zwischen Sendern und Empfängern. Senator (Priority Queues) 3 Informatik Master, PM2100.1, 2013 Economy Port Last Minute Economy Slaves Business 2 Last Minute deterministic asynch deterministic asynch deterministic asynch deterministic asynch Senator Switch Route Table • Überschaubarer Verkehr bei Prozessdaten (Menge, Zyklus) Master • Interferenz mit Verkehr niedriger Klassen ist unvermeidlich, jedoch planbar (abhängig von maximaler Paketlänge, Übertragungsrate und Netztopologie) Slaves Kommunikationssysteme, Teil 2.3, S. Rupp 15 Informatik Master, PM2100.1, 2013 Start Reguläre Ethernet Frames … R1 … R2 S1 S2 RN End SN Start Acyclic 1 Zyklus Kommunikationssysteme, Teil 2.3, S. Rupp 16 Informatik Master, PM2100.1, 2013 Eingebetteter Kanal Ringredundanz Prozessdaten als gemeinsames Telegramm im Datenbereich • Daten Header Eingebetteter Kanal Regulärer Switch Header Switch mit Austausch der Prozessdaten im Datenbereich vor dem weiterleiten der Nachricht I/O Bus (Ethernet oder sonstiger Bus) Sternförmige Verkabelung ist nicht praktikabel, lineare Topologie Standard Ethernet Rahmen • Topologie: Verkettung aller Teilnehmer in einem Busabschnitt, ein Telegramm für alle anstelle einzelner Nachrichten • Austausch der Prozessdaten beim weiterleiten des Ethernet Rahmens (erfordert spezielle Hardware für alle Teilnehmer) Kommunikationssysteme, Teil 2.3, S. Rupp 17 Informatik Master, PM2100.1, 2013 Inhalt Ring mit Reserveverbindung (Ring Protection Link), die bei Verlust einer Verbindung aktiviert wird • Überwachung des Betriebs durch Redundanz-Manager (RPL-Owner) • Ausgefallene Verbindung Umschaltung auf die neue Topologie im Fehlerfall unter 500 ms 18 Kommunikationssysteme, Teil 2.3, S. Rupp • Informatik Master, PM2100.1, 2013 Bestandteil von IEC 61158 und IEC 61784-2 Vom Multiport-Repeater zum Ethernet-Switch IRT standard IRT Cycle 1 • RPL Profinet – Klassen und Zeitmultiplex Ethernet basierte Feldbusse • RPL Owner • DEMO • Reserve Verbindung (Ring Protection Link) standard Cycle 2 IRT standard Cycle 3 IRT standard … Cycle 4 Ethernet-Switches: Funktionsweise und Leistungsmerkmale H • Anforderungen im industriellen Einsatz • Lösungsansätze für den industriellen Betrieb • • Realisierungsbeispiele • Kommunikationssysteme, Teil 2.3, S. Rupp 19 Informatik Master, PM2100.1, 2013 IRT Data TCP/IP & RT Betriebsart RT (Real-Time) • Prozessdaten reisen erster Klasse Betriebsart IRT (Isochroneous Real-Time) • Zeitmultiplex für Prozessdaten • Zeitmultiplex erfordert spezielle Switch-Hardware Kommunikationssysteme, Teil 2.3, S. Rupp 20 Informatik Master, PM2100.1, 2013 Ethercat – Eingebetteter Kanal EtherCAT-Master Ethernet POWERLINK Orchestrierung in Layer 3 EtherCAT Koppler mit I/O-Modulen A Nachricht: ! Ethernet Rahmen (Frame) ! IP Packet (im Ethernet Rahmen) B R Animation Embedded Channel Header Message Type Header Nutzdaten Header Zielknoten PL-Header Quellknoten Nutzdaten Nutzdaten deterministic asynch deterministic asynch deterministic asynch deterministic asynch Rx Payload handling A Switching Tx Message Types: SoC (Start of Cycle) SoA (Start of Asynchronous) Polling Request/Response Asynchronous Send Tx B Rx • • Teil der Standards IEC 61158 und IEC 61784-2 Reguläre Ethernet Frames … Master Datenzugriff erfordert spezielle Switch-Hardware SoC Slaves Req1 … Req2 Res1 SoA ReqN Res2 ResN SoC ASnd 1 Zyklus 21 Kommunikationssysteme, Teil 2.3, S. Rupp Informatik Master, PM2100.1, 2013 Kommunikationssysteme, TeilVernetzung, 2.3, S. RuppTeil 3, S. Rupp Rechnerkommunikation und AFDX Elektrische Schaltanlagen Avionics Full-Duplex Switched Ethernet … • ARINC 664 Standard • Evolutionär • Statische Konfiguration der Netzwerke (VL) • Redundanter Betrieb zweier Netzwerke (full-duplex) ohne Umschaltzeiten 22 Informatik Master, PM2100.1, 2013 6. Semester, Nachrichtentechnik, 2012 Switches ES ES ES: End System Ringredundanz Protokolle: HSR, MRP ES Netzwerk VL: Virtueller Link Netzwerk B Doppelring mit Doppelstern Parallel Redundancy Protocol (PRP) ES ES Redundanz Management HSR: High-Availbility Seamless Redundancy MRP: Media Redundancy Protocol Netzwerk A Kommunikationssysteme, Teil 2.3, S. Rupp Quelle: ABB 23 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.3, S. Rupp 24 Informatik Master, PM2100.1, 2013 Netztopologien TCN – Train Communication Network Fernwirken (Wide Area Network, IP/ Ethernet): Stationsleitgerät COM COM COM WAN COM COM LAN RTU COM RTU COM RTU COM COM LAN COM COM Feldleitgerät/Regler COM RTU: Remote Terminal Unit, abgesetzte Einheit Schutz • Doppelstern • Doppelring ETBN CS einfache und redundante Verbindungen CS • Baumstruktur • Ringstrruktur ED ED CS Ethernet Consist Network (ECN) CS CS ED CS ED ED ETBN: Ethernet Train Backbone Node (Router) 25 ETBN Ethernet Train Backbone (ETB) ED Besonderheit: dynamische Netzkonfiguration auf L3 basierend auf URIs RTU Informatik Master, PM2100.1, 2013 Zusammenfassung Kommunikationssysteme, Teil 2.3, S. Rupp CS: Car Switch, Consist Switch (Ethernet Switch) 26 ED: End Device Informatik Master, PM2100.1, 2013 Kommunikationsysteme • Ethernet hat eine beispiellose Erfolgsgeschichte, nicht zuletzt wegen seines evolutionären Ansatzes. • Ethernet ist als Feldbus zunehmen im Einsatz • Profinet, Ethercat, Ethernet Powerlink, Ethernet/IP, Sercos III, … • AFDX (Avionik), TCN (Bahnfahrzeuge), elektrische Schaltanlagen (IEC61850, MRP, HRS, PRP), … • Consist (Zugabschnitt) Lokales Netz (Local Area Network, Ethernet): COM: Switch bzw. Router Kommunikationssysteme, Teil 2.3, S. Rupp IEC Norm 61375-1, Erweiterung auf 61375-4 (Ethernet Consist Network) und 61375-2-5 (Ethernet Train Backbone) in Arbeit, evolutionär redundante Verbindungen Stationsleitgerät Stationsleitgerät • ENDE Teil 2.3 Anforderungen im industriellen Einsatz Ethernet basierte Feldbusse • Echtzeit = definierte Antwortzeiten • Verfügbarkeit (Redundanz für den Fehlerfall) • Die Anforderungen sind auf evolutionäre oder proprietäre Weise erfüllbar. • Anforderungen auf Systemebene • Funktionale Sicherheit (Protokolle auf Anwendungsebene) • Schutz der Vertraulichkeit, Integrität und Authentizität. Kommunikationssysteme, Teil 2.3, S. Rupp 27 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.3, S. Rupp 28 Informatik Master, PM2100.1, 2013 Inhalt Anwendungsdesign Kommunikationssysteme Teil 2.4 Anwendungsdesign • Intra-Prozess Kommunikation • Organisation von Angebot und Nachfrage Stephan Rupp Informatik Masterstudium • Beispiel: Bluetooth • Anwendungsentwicklung www.dhbw-stuttgart.de Kommunikationssysteme, Teil 2.4, S. Rupp Informatik Master, PM2100.1, 2013 2 Kommunikationssysteme, Teil 2.4, S. Rupp Kommunikation Kommunikation im System Austausch von Nachrichten … Anfrage Sender Client-Thread Informatik Master, PM2100.1, 2013 Server-Thread Was ist der Kontext der Kommunikation? Inter-Thread read/write Empfänger Anfrage Antwort System B System A Server Benutzer Privilegien Client Interface Antwort Kommunikation durch Austausch von Nachrichten Zur Interpretation der Nachrichten: Kontext? Nachricht Kernel Privilegien Kernel Executive Routine Kernel Beispiel: Symbian Service Framework Kommunikationssysteme, Teil 2.4, S. Rupp 3 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.4, S. Rupp 4 Informatik Master, PM2100.1, 2013 Beispiel: Aufruf von Server-Funktionen Client Client und Server Klassen Server Client Server x = f1(a,b,c) Anfrage f1 a b c Message Function() Server SessionBase Service (Message) Complete() CreateSession() Session SendReceive() Service() Read() 1..n Write() Message.Complete (x) x Antwort Kommunikationssysteme, Teil 2.4, S. Rupp Kontext: Nachrichtentyp für Funktionsaufrufe mit Datentypen der Übergabevariablen und des Rückgabewertes 5 Informatik Master, PM2100.1, 2013 Kommunikation zwischen Systemen Legende: „hat“ Kontext: Ist durch die Programmierumgebung festgelegt (Framework API) Kernel Kommunikationssysteme, Teil 2.4, S. Rupp 6 Informatik Master, PM2100.1, 2013 Kommunikation und Kontext Kommunikation innerhalb des Systems: Client, User Agent Server, User Agent • Der Kontext ist festgelegt durch die Programmierumgebung. • Kontext: Nachrichten mit Datentypen für die Übergabevariablen und Rückgabewerte, sowie weitere Abstraktionen (Klassen) für die Kommunikation mit Server-Bibliotheken. Kommunikation über Systemgrenzen hinaus: System A Systeme enthalten Software für verteilte Anwendungen wie z.B. Clients, Server bzw. User Agents. • System B Eine Festlegung des Kontextes ist erforderlich, damit die Systeme sich verstehen, und kann z.B. durch eine Protokollspezifikation erfolgen. • Außerdem ist die Lokalisierung der Serverschnittstelle über das Netz erforderlich, genauer eine Referenz auf das Server-Objekt. Beispiele: URL, IP-Socket (IP Adresse plus Port Nummer), Verbindung aus J2ME. Kommunikationssysteme, Teil 2.4, S. Rupp 7 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.4, S. Rupp 8 Informatik Master, PM2100.1, 2013 Abstraktion einer Verbindung Inhalt Beispiel: Java Generic Connection Framework (J2ME CLCD) Connection StreamConnectionNotifier InputConnection StreamConnection Anwendungsdesign • Intra-Prozess-Kommunikation • Organisation von Angebot und Nachfrage • Beispiel: Bluetooth • Anwendungsentwicklung OutputConnection ContentConnection DatagramConnection Kommunikationssysteme, Teil 2.4, S. Rupp 9 6. Semester, Nachrichtentechnik, 2012 Informatik Master, PM2100.1, 2013 Anatomie eines Benutzer-Agenten Module: • Dienste • Anwendungen Inhalte Angebot UA_ID Kommunikationssysteme, Teil 2.4, S. Rupp 10 Informatik Master, PM2100.1, 2013 Interaktionen und Beziehungen Angebot: • User Agent (UA) • UA Gruppe • Module • Inhalte • Endpunkte Angebot beim Vermittlungsagenten publizieren (erlischt mit der Zeit, wenn nicht erneuert) Neues Angebot lokal ankündigen Ang. Local User Agent Ang. User Agent Endpunkte der Kommunikation Für Vermittler: lokale Information über die Angebote anderer User Agents Kommunikationssysteme, Teil 2.4, S. Rupp lokale Information über andere User Agents 11 Informatik Master, PM2100.1, 2013 Beziehungen (Kenntnis der anderen, erlischt mit der Zeit, wenn nicht erneuert) lokales Angebot löschen Kommunikationssysteme, Teil 2.4, S. Rupp 12 Informatik Master, PM2100.1, 2013 Kontakt aufnehmen Angebot und Nachfrage im Netz Organisation durch Verzeichnisdienste 1. Angebot über Kommunikationsschnittstelle publizieren 2. Schnittstelle finden und Endpunkt anbinden Ang. User Agent Werkzeuge und Methoden Web-Service lokaler User Agent out in entfernter User Agent Semantik-Verarbeitung Semantische Modelle 3. Nachrichten über die Verbindung austauschen (Was?) MetaInformation Betriebsmittel (CPU, Speicher) (Wo?) Kommunikationssysteme, Teil 2.4, S. Rupp 13 Informatik Master, PM2100.1, 2013 Inhalt 14 Kommunikationssysteme, Teil 2.4, S. Rupp Bluetooth Service Discovery Service Discovery Protokoll (SDP) Anwendungsdesign Intra-Prozess-Kommunikation • Organisation von Angebot und Nachfrage • Beispiel: Bluetooth • Anwendungsentwicklung Service Discovery Anwendung UUID UUID Client Anwendung SDP Client Server Anwendung SDP Anfrage SDP Antwort 15 Ang. UUID UUID • Kommunikationssysteme, Teil 2.4, S. Rupp Informatik Master, PM2100.1, 2013 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.4, S. Rupp 16 SDP Server Service Record SDP: Service Discovery Protocol UUID: Universally Uniform Identifier (als Dienstattribut genutzt) Informatik Master, PM2100.1, 2013 Bluetooth Dienstverzeichniss Bluetooth Geräteprofile Standardisierung der Dienste Service Record (Liste der Dienstattribute) ServiceRecordHandle ServiceClassIDList ServiceRecordState ServiceID ID Value ... ... ... ProtocolDescriptionList BrowseGroupList LanguageBasedAttributeIDList ServiceInfoTimeToLive ServiceAvailability z.B. Wert = UUID oder Wert = Liste von UUIDs BluetoothProfileDescriptorList DocumentationURL ClientExecutionURL IconURL ServiceName Dienstattribute sind als Wertepaare (ID, Wert) durch t UUIDs (Wert) gekennzeichne ServiceDescription ProviderName Kommunikationssysteme, Teil 2.4, S. Rupp 17 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.4, S. Rupp 18 Informatik Master, PM2100.1, 2013 Bluetooth Frequenzen Netzkonfigurationen Kanalsprungverfahren (Frequency Hopping) Master organisiert die Sequenz der Kanäle (Hopping-Sequence) Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.4, S. Rupp 19 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.4, S. Rupp 20 Informatik Master, PM2100.1, 2013 Zeitliche Nutzung der Kanäle Bluetooth IP Stack Quelle: Harald Orlamünder Im Detail unterschiedliche Paketlängen Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.4, S. Rupp 21 Informatik Master, PM2100.1, 2013 Bluetooth Paketformate Kommunikationssysteme, Teil 2.4, S. Rupp 22 Informatik Master, PM2100.1, 2013 Systemzustände Quelle: Harald Orlamünder Quelle: Harald Orlamünder Kommunikationssysteme, Teil 2.4, S. Rupp 23 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.4, S. Rupp 24 Informatik Master, PM2100.1, 2013 Network Access Point Inhalt Internet Zugang per Bluetooth Anwendungsdesign • Intra-Prozess-Kommunikation • Organisation von Angebot und Nachfrage • Beispiel: Bluetooth • Anwendungsentwicklung – – – Abstraktionen für Verbindungen Daten relational und objektorientiert Vorgehensweise mit UML Quelle: Harald Orlamünder 25 Kommunikationssysteme, Teil 2.4, S. Rupp Informatik Master, PM2100.1, 2013 Beispiel: Socket Server API 26 Kommunikationssysteme, Teil 2.4, S. Rupp Informatik Master, PM2100.1, 2013 Socket Verbindung aufbauen :CSocketEngine MTimeoutNotifier MEngineNotifier :Framework MUINotifier :CTimeOutTimer :CSocketReader :RSocket ENotConnected 1. ConnectL(TUint32 aAddr) 2. Open() <<active>> CSocketWriter <<active>> CSocketEngine CSocketsAppView 3. Connect() 4. ChangeStatus() EConnecting 5. After() <<active>> CSocketReader 6. SetActive() 7. RunL() 8. Cancel() RSocketServ RHostResolver RSocket 9. ChangeStatus() EConnected 10. Read() Beispiel: Symbian Service Framework Kommunikationssysteme, Teil 2.4, S. Rupp 27 Informatik Master, PM2100.1, 2013 11. Start() Kommunikationssysteme, Teil 2.4, S. Rupp 28 Informatik Master, PM2100.1, 2013 Beispiel: Bluetooth Message Server Bluetooth Verbindung aufsetzen :CMessageServer Realisierung über Sockets RSocketServ :CBTPointToPointAppUI RSocket :CListeningSocket :CMessageServiceAdvertiser :CAcceptedSocket :Framework 1. HandleCommandL() RBTMan CMessageServer CBTPointToPointAppUI 2. StartL() User starts Receiver 3. StartAdvertising() Configure settings for entries in the service data records 4. Open() RBTSecuritySettings EWaitingForConnect TBTServiceSecurity 5. RunL() 6. RequestData() Sender requests a connection CMessageServerAdvertiser RSdp RSdpDatabase 7. RecvOneOrMore() EWaitingForMessage 8. RunL() Receiver is receiving a message Kommunikationssysteme, Teil 2.4, S. Rupp 29 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.4, S. Rupp Dienstverzeichnis (Service Record) Nachrichten Server Zur Verbindung Messaging Framework Service Record (Bluetooth Punkt-zu-Punkt Verbindung) UI Data MTM 9. RequestData() 10. RecvOneOrMore() 30 Application UI Informatik Master, PM2100.1, 2013 User Interface MTM ServiceClassIDList Serial Port Services Class UUID ProtocolDescriptionList L2CAP UUID Client Side MTM RFCOMM UUID Data Format of Messages Session Transport of Messages Message Server Channel Number ServiceName “Serial Port” ServiceDescription “Simple P-T-P Data Tranfer” True Service Availability Kommunikationssysteme, Teil 2.4, S. Rupp 31 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.4, S. Rupp 32 Server Side MTM Informatik Master, PM2100.1, 2013 Speichern von Nachrichten Datenhaltung Relationale oder Nachricht objektorientierte Index Liste Index Body Anlagen Attachment Flag Complete Flag Connected Flag Deleted Flag Description Details: sender/receiver name of attachment name of folder name of service Identifier within Index MTM associated New Flag (new Msg.) Kommunikationssysteme, Teil 2.4, S. Rupp Anwendung 33 Owner Flag (is parent) Parent ID of index entry Priority Read Flag (Msg. read) Related folder Sending State Service (Transport Service) Size Standard Folder Flag Time Type ID Visibility Flag Informatik Master, PM2100.1, 2013 Beispielanwendung Objekte Darstellung sind transformierbar Transformation Object Transfer Relationen persistente Objekte DBMS DBMS: Datenbank Management System RDBMS: Relationales DBMS ODBMS: Objekzorientiertes DBMS RDBMS ODBMS . 34 Kommunikationssysteme, Teil 2.4, S. Rupp Informatik Master, PM2100.1, 2013 Anwendungsfälle und Komponenten Mobiltelefon als Fernbedienung PPV-Control Media Control Centre Select movie IP-Netz PPV System <<include>> Select movie Pay movie User Mobiltelefon Authenticate user <<include>> Pay movie Update user account Play movie TV & Set-Top-Box Broadcast Netz Play movie <<actor>> <<actor>> Media-Gateway AAA-Server PPV: Pay per View Kommunikationssysteme, Teil 2.4, S. Rupp 35 Informatik Master, PM2100.1, 2013 Kommunikationssysteme, Teil 2.4, S. Rupp 36 Informatik Master, PM2100.1, 2013 Aktivitäten Benutzerschnittstelle User Media Control Centre Log in check user identity User object: identity and privileges [user log in not successful] [user log in successful] Movie object in selected state Selection Select movie Generate selection of movies <<control>> <<boundary>> C_Channel C_Channel(c:Channel) C_Channel() start() close() 1 1 B_Channel B_Channel(c:Channel) check() start() title B_Text play B_Radio_Button stop B_Radio_Button mute B_Radio_Button ... <<instantiate>> <<instantiate>> Pay movie User object: entry in user account Prepare for play out 1 <<control>> MediaControlCenter Start MediaController Select media format User object: media channel 37 Kommunikationssysteme, Teil 2.4, S. Rupp Informatik Master, PM2100.1, 2013 Kommunikationssysteme ENDE Teil 2.4 Anwendungsdesign 39 Informatik Master, PM2100.1, 2013 1 <<entity>> Channel Status Channel() store() delete() Start media player Kommunikationssysteme, Teil 2.4, S. Rupp process administers Kommunikationssysteme, Teil 2.4, S. Rupp 38 ... Informatik Master, PM2100.1, 2013