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

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

Embed Size (px)

Citation preview

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

Sep-03 Artur Tomczak

Projekt im 4 Studienjahr: Echtzeit mit EthernetStudent: A.Tomczak Betreuer: M.Aebersold

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

Sep-03 Artur TomczakSep-03 Artur Tomczak

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

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

Sep-03 Artur Tomczak

Thema

Echtzeit mit Ethernet

Was?Wann?Wozu?

Warum?

Sep-03 Artur Tomczak

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

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.

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

Sep-03 Artur Tomczak

Beispiel mit Echtzeit

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

Sep-03 Artur Tomczak

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.

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

Sep-03 Artur Tomczak

Standards der Arbeitsgruppe 802

802.1 Umfeld, LAN-/MAN-Management802.1d Transparent-/ SRT-Bridging802.2 Logical Link Control802.3 CSMA/CD*) (“Ethernet”)802.4 Token Bus802.5 Token Ring802.6 Distributed Queue Dual Bus (DQDB)802.7 Broadband LANs802.8 Multimode Fiber Optic Media802.9 Integrated Services LAN802.10 Std. for Interoperable LAN/MAN Security (SILS)802.11 Wireless LANs802.12 Demand Priority LAN > 10 MB (“VGanyLAN”)802.14 CATV-based Broadband Connectivity Networks

http://standards.ieee.org/getieee802/portfolio.html

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

Sep-03 Artur Tomczak

IEEE 802.3 (CSMA/CD) Standard

802.3 CSMA/CD (Ethernet): 10Base5802.3a 10Base2 (Cheapernet)802.3b 10Broad36802.3e 1Base5 Starlan802.3i 10Base-T802.3j 10Base-F802.3u 100Base-T (“100 Mbit-Ethernet”)802.3x Full Duplex/ Flow Control802.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)

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

Sep-03 Artur Tomczak

Ethernet Aufbau

TCP/IP StackEin 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 DatenEthernet-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

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

Sep-03 Artur Tomczak

ISO/OSI-Modell - Schichten

Medium

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

Sep-03 Artur Tomczak

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 - SchemaUnterschiedliche NetzklassenAusgezeichnete Adressen fürLoopback, Broadcast und

MulticastAdressen werden zentral durch das NIC (Network Information Center) vergeben

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

Sep-03 Artur Tomczak

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: 1024Retransmissions: 16

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

Sep-03 Artur Tomczak

Ursachen für Verzögerungenim 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),

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

Sep-03 Artur Tomczak

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.

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

Sep-03 Artur Tomczak

Zeitanforderungen

Officeumgebung Sprachübertragung < 20 ms

Videoübertragung < 100 msDateiübertragung < 500 msEmail 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 Nutzdatengeringe Kosten für Baugruppen und Verkabelung

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

Sep-03 Artur Tomczak

Aufgabestellung (Pflichtenheft)

1. 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?

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

Sep-03 Artur Tomczak

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

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

Sep-03 Artur Tomczak

Ausganglage

Lösungsvarianten: Zwei

Programmiersprache: C++

Umgebung: Microsoft (Win32)

Quellen: The NetGroup at Politecnico di Torino

Software Name: Delay

Hardware: Netzwerk-Adapter

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

Sep-03 Artur Tomczak

Block-Darstellung

User Level: Ring 3 Kernel Level: Ring 0

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

Sep-03 Artur Tomczak

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.

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

Sep-03 Artur Tomczak

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

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

Sep-03 Artur Tomczak

Zweite Lösungsvariante Teil 1

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.

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.

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

Sep-03 Artur Tomczak

Zweite Lösungsvariante Teil 2

Was ist ein „ping“?

Ablauf?

Zeit?

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

Sep-03 Artur Tomczak

Realisierung Software Struktur

Delay.exe WinDump.exe DelayPing.exe Winpcap: Libpcap Packett.dll Packet

Capture Driver Network (Pakets)

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

Sep-03 Artur Tomczak

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.

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

Sep-03 Artur Tomczak

DelayPing.exe Teil 1

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

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

Sep-03 Artur Tomczak

DelayPing.exe Teil 2

Ein kleines Error-Handling wurde ebenfalls eingeführt:

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

Sep-03 Artur Tomczak

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)

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

Sep-03 Artur Tomczak

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.

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

Sep-03 Artur Tomczak

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.

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

Sep-03 Artur Tomczak

Projekt-Dokumentation

http://www.tomczak.ch/delay

Projekt Arbeit Konzept Protokoll 24.03.2003 Protokoll 12.05.2003 Bericht Präsentation Terminplan

Diplom Arbeit Konzept

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

Sep-03 Artur Tomczak

Noch Fragen...

email: [email protected]