sep-03artur tomczak projekt im 4 studienjahr: echtzeit mit ethernet student: a.tomczakbetreuer:...
Post on 06-Apr-2015
103 Views
Preview:
TRANSCRIPT
Sep-03 Artur Tomczak
Projekt im 4 Studienjahr: Echtzeit mit EthernetStudent: A.Tomczak Betreuer: 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
Sep-03 Artur Tomczak
Thema
Echtzeit mit Ethernet
Was?Wann?Wozu?
Warum?
Sep-03 Artur Tomczak
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.
Sep-03 Artur Tomczak
Beispiel mit Echtzeit
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.
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
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)
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
Sep-03 Artur Tomczak
ISO/OSI-Modell - Schichten
Medium
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
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
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),
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.
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
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?
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
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
Sep-03 Artur Tomczak
Block-Darstellung
User Level: Ring 3 Kernel Level: Ring 0
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.
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
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.
Sep-03 Artur Tomczak
Zweite Lösungsvariante Teil 2
Was ist ein „ping“?
Ablauf?
Zeit?
Sep-03 Artur Tomczak
Realisierung Software Struktur
Delay.exe WinDump.exe DelayPing.exe Winpcap: Libpcap Packett.dll Packet
Capture Driver Network (Pakets)
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.
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.
Sep-03 Artur Tomczak
DelayPing.exe Teil 2
Ein kleines Error-Handling wurde ebenfalls eingeführt:
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)
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.
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.
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
Sep-03 Artur Tomczak
Noch Fragen...
email: artur@tomczak.ch
top related