Projekt im 4 Studienjahr: Echtzeit mit Ethernet Student: A. Tomczak

Slides:



Advertisements
Ähnliche Präsentationen
Dauermagnete Bei magnetischen Materialien unterscheidet man Eisenkerne bzw. Weicheisenstücke und Dauermagnete bzw. Hart-magnetische Materialien. Dauermagnete.
Advertisements

TAGUNG DER DEUTSCH-LUSITANISCHEN JURISTENVEREINIGUNG O processo penal português Panorâmica introdutória Der portugiesische Strafprozess ein einführender.
Ach wie gut, daß niemand weiß Der Schutz von Wissen
Herzlich Willkommen bei SIMPLE STABLE BULDING
Adjektivendungen Tabellen und Übungen.
ZWILLING Neuheiten 2008.
Das Hexenkochbuch Nicht Rattenschwänze, Spinnenbein
 Präsentation transkript:

Projekt im 4 Studienjahr: Echtzeit mit Ethernet Student: A. Tomczak Projekt im 4 Studienjahr: Echtzeit mit Ethernet Student: A.Tomczak Betreuer: M.Aebersold Sep-03 Artur Tomczak

Kollisionen und Zeitverzögerungen Aufgabestellung Agenda Einleitung Echtzeit und Ethernet Kollisionen und Zeitverzögerungen Aufgabestellung Auszug aus dem Pflichtenheft Lösungsvarianten Erste Zweite Realisierte Software Struktur Durchführung Stand der Arbeiten Resultate Fragen Sep-03 Artur Tomczak

Echtzeit mit Ethernet Was? Wann? Wozu? Warum? Thema Echtzeit mit Ethernet Was? Wann? Wozu? Warum? Sep-03 Artur Tomczak

Echtzeit Unter Echtzeit versteht man den Betrieb eines Rechensystems, bei dem Programme zur Verarbeitung anfallender Daten ständig betriebsbereit sind, derart, daß die Verarbeitungsergebnisse innerhalb einer vorgegebenen Zeitspanne verfügbar sind. Die Daten können je nach Anwendungsfall nach einer zeitlich zufälligen Verteilung oder zu vorherbestimmten Zeitpunkten anfallen. Echtzeit in der Automation bedeutet, der Durchlauf einer Nachricht ist konstant = deterministisch, das heisst die Zeit ist berechenbar.

Beispiel mit Echtzeit

Ethernet Der Zusammenschluss einzelner Computer zu Computernetzen ermöglicht die direkte Kommunikation. Dabei können lediglich zwei Rechner, Hunderte von Arbeitsplätzen einer Firma (LAN) oder mehrere kleine Netze zu einem großen, gar weltweiten Netz miteinander verbunden sein. (WAN) Die Bezeichnung Ethernet bezieht sich auf die Familie des LANs und ist durch den Standard IEEE 802.3 definiert.

Standards der Arbeitsgruppe 802 802.1 Umfeld, LAN-/MAN-Management 802.1d Transparent-/ SRT-Bridging 802.2 Logical Link Control 802.3 CSMA/CD*) (“Ethernet”) 802.4 Token Bus 802.5 Token Ring 802.6 Distributed Queue Dual Bus (DQDB) 802.7 Broadband LANs 802.8 Multimode Fiber Optic Media 802.9 Integrated Services LAN 802.10 Std. for Interoperable LAN/MAN Security (SILS) 802.11 Wireless LANs 802.12 Demand Priority LAN > 10 MB (“VGanyLAN”) 802.14 CATV-based Broadband Connectivity Networks http://standards.ieee.org/getieee802/portfolio.html

IEEE 802.3 (CSMA/CD) Standard 802.3 CSMA/CD (Ethernet): 10Base5 802.3a 10Base2 (Cheapernet) 802.3b 10Broad36 802.3e 1Base5 Starlan 802.3i 10Base-T 802.3j 10Base-F 802.3u 100Base-T (“100 Mbit-Ethernet”) 802.3x Full Duplex/ Flow Control 802.3z Gigabit Ethernet (7/1998) 802.3 ab 1000BASE-T (6/1999) 802.3 ac VLAN Tag (9/1998) 802.3 ae 10Gb/s Ethernet (6/2002)

Ethernet Aufbau TCP/IP Stack Ein Paket, das 100 Bytes lang ist... 20 Bytes für das IP Info, 20 Bytes für das TCP Info und 60 Bytes für die Daten Ethernet-Modul addiert... 14 Bytes für Bestimmungsort MAC Adresse, Absender MAC Adresse und das Ethertype für 0x0800 setzt, 4 Bytes am Ende für das Checksum / CRC

ISO/OSI-Modell - Schichten Medium

IP Protokoll IP (Internet-Protokoll) Verbindungslose Dienste zur Datenübertragung Übermitteln von Datagramme bis 64 kByte Länge Eindeutige Adressierung durch IP-Adressen (logische 32-Bit Adresse IPv4) Routing erfolgt dezentral durch das Netz xxx.xxx.xxx.xxx - Schema Unterschiedliche Netzklassen Ausgezeichnete Adressen für Loopback, Broadcast und Multicast Adressen werden zentral durch das NIC (Network Information Center) vergeben

Kollisionen Multimaster-Betrieb bei stochastischem Zugang führt zu Kollisionen CSMA/CD Karrierabtastung mit Kollisionserkennung (z.B. Ethernet) CSMA/CA Karrierabtastung mit Kollisionsvermeidung (z.B. CAN) Time Slots: 1024 Retransmissions: 16

Ursachen für Verzögerungen im geswitchten LAN Bei der traditionellen Implementierung hängt die Netzwerkverzögerungszeit (einige 10 µs bis zu einigen ms) von mehreren Faktoren ab: Switch-Architektur, Link-Geschwindigkeit, Netzlast, Grösse des Pakets, Typ des Pakets (Protokolle TCP/IP,ICMP/IP,UDP/IP etc.), Aufbau LAN (Gleiche Netzmaske), Transport über Internet, Anzahl von Netzwerk-Komponenten (Repeater, Router, Hub, Server und Client etc.), Länge des Kabels von A nach B, Ethernet-Fehler (Paket ging verloren),

Bekannte Zeitverzögerung Die maximale Reise-Zeit über einem LAN bleibt weiterhin bei 512 Bitzeit. Bei 10BaseT stellt dieser Wert 51.2 Mikrosekunden dar. Mit 100BaseT kann die Übertragung bis zu 10mal schneller sein. Das ergibt eine maximale „Delay“ Zeitverzögerung von 5.12 Mikrosekunden. Um diesen „Delay“ zu verringern bleibt nichts anderes übrig, als die Anzahl der Router zu verkleinern, die Länge des Kabels zulässig auf einem LAN zu verringern und den Abstand zwischen zwei Router bis fünf Meter mit dem UTP-Kabeln zu begrenzen.

Zeitanforderungen Officeumgebung Sprachübertragung < 20 ms Videoübertragung < 100 ms Dateiübertragung < 500 ms Email 10 - 30 sec Automatisierungsumfeld Zykluszeiten 1 .. 10 msec bei 40 .. 60 Geräte priorisierte Nachrichten deterministische Zugriffsverfahren äquidistante zyklische Nachrichten (Abtastsysteme für Regelungen) effizientes Protokoll auch bei geringen Nutzdaten geringe Kosten für Baugruppen und Verkabelung

Aufgabestellung (Pflichtenheft) Es soll eine Anwendung entwickelt werden, die beim Sender und Empfänger eine Abfrage macht und dadurch den Datenaustausch auf Zeit, Kollisionen und Last überwacht. Die Software sollte möglichst benutzerfreundlich sein (Grafische Oberfläche) und eine Statistik über Zeitverzögerung darstellen. Ein Filter sollte es ermöglichen, die Pakete auf die Bestimmung / Empfänger Adressen zu sortieren, sowie auf die Grösse von Paketen (so ist es möglich nur den Header von IP Paketen rauszulesen). 2. Was sollte man bei einer Netzwerk-Planung beachten, um Echtzeit zu gewährleisten? Welche Typen von Switches oder Routers sollten gebraucht werden, spielt die Anzahl der Routers eine wichtige Rolle?

Der Weg zur Lösung Die Grund-Idee und Frage war: Wie komme ich zu Zeit-Informationen bei Data-Frames? Antwort: Die Kenntnisse der Netzwerk-Verarbeitung haben. Wie Data-Frame beziehungsweise ein Ethernet Paket genau aufgebaut ist. Die Stelle, wo die Zeit-Informationen mit übertragen werden lokalisieren und auf weitere Bearbeitung vorbereiten. Woher stammen die Zeit-Information? Die Zeit-Quelle zu suchen? Möglichkeiten vom Betriebssystem Zeit- Informationen tief ins ms oder µs zu haben? Zeit-Synchronisation

Ausganglage Lösungsvarianten: Zwei Programmiersprache: C++ Umgebung: Microsoft (Win32) Quellen: The NetGroup at Politecnico di Torino Software Name: Delay Hardware: Netzwerk-Adapter

Block-Darstellung User Level: Ring 3 Kernel Level: Ring 0

Erste Lösungsvariante Teil 1 Das Netz soll zwischen Punkt A oder B überwacht werden. Die Zeitverzögerung von gesendeten Daten zwischen beiden Parteien soll gemessen werden. Das Tool Delay läuft gleichzeitig auf zwei Clients.

Erste Lösungsvariante Teil 2 Gleichzeitige Auswertung, Statistik Daten-Austausch zwischen beiden Clients Die Zeitsynchronisation zwischen beiden Clients? Via Netzwerk mit Hilfe von NTP Protokoll Mit GPS Empfänger

Zweite Lösungsvariante Teil 1 Um zwei Netzwerk-Elemente genau auf ms oder sogar µs zu synchronisieren, ist dies nur mit Hilfe von speziellen Kernel Funktionen eines Betriebssystems möglich. Anstatt eine Synchronisation, mache ich ein „ping“ an PC1 und das gleiche an PC3. Erstens überprüfe ich, ob diese Adresse mir eine Antwort gibt, zweitens messe ich, wie lange geht ein 40 Bytes Grosse ICMP Paket hin und zurück.

Zweite Lösungsvariante Teil 2 Was ist ein „ping“? Ablauf? Zeit?

Realisierung Software Struktur Delay.exe WinDump.exe DelayPing.exe Winpcap: Libpcap Packett.dll Packet Capture Driver Network (Pakets)

Tool Delay in der Anwendung Im oben genannten Beispiel sollte nur der Router den Ethernet-Rahmen sehen, und alle weiteren Maschinen sollen ihn ignorieren. Jedoch unsere Sniffer Tool Delay bricht die Richtlinien und kopiert den Rahmen für eine weitere Protokollanalyse.

DelayPing.exe Teil 1 Das Programm DelayPing.exe ist Kommando-Line orientiert und wurde auf der Windows NT5 Familie geschrieben und getestet.

DelayPing.exe Teil 2 Ein kleines Error-Handling wurde ebenfalls eingeführt:

Delay.exe Host Configuration (Eingabe von IP oder Hostname) Adapter Configuration (Möglichkeit bei mehreren Netzwerk Adapter, die Wahl zu treffen) Standart Configuration (Art Messungen) Grafik (Darstellung von Zeitverzögerungen) Tasten (Bedien-Tasten)

Resultate In der Anwendung DelayPing haben wir beim ersten Paket eine Dauer von 70ms, in Wirklichkeit sind es aber weniger, nämlich 601819 -534273=67.546ms.

Stand der Arbeiten Verständnis von Winpcap: 75% Delay.exe: 25% DelayPing.exe: 100% WinDump.exe: 100% Zeit-Synchronisation: 50% Diplom-Vorbereitung: 25% Diese Arbeit wird im Rahmen meiner Diplom-Arbeit weiter verfolgt.

Projekt-Dokumentation http://www.tomczak.ch/delay Projekt Arbeit Konzept Protokoll 24.03.2003 Protokoll 12.05.2003 Bericht Präsentation Terminplan Diplom Arbeit

Noch Fragen... email: artur@tomczak.ch