DIPLOM 2003 Leistungsmessungen von Ethernet Messungen von Verzögerungszeiten bei Ethernet und TCP/IP Artur Tomczak Berner Fachhochschule Hochschule für Technik und Architektur Bern Abteilung Elektrotechnik und Elektronik
Einführung zur Aufgabestellung Verzögerungszeiten (Praxis, Einsatzmöglichkeiten) Lösung (Funktionsprinzip) Realisierung (NetTimeChart) Resultate (Messungen) Stand der Arbeiten, Pendenzen Fragen Vorführung (2 PC, ICMP) Agenda
Aufgabestellung Messungen von Verzögerungszeiten bei Ethernet und TCP/IP Erstellung von Konzept ( Verzögerungszeiten von Telegrammen messen ) Erstellung von Software-Werkzeugen ( Abgestützt auf Capture Driver WinPcap ) Vergleich von Messresultaten mit einem LAN Analyzer ( Ethereal ) Plattformunabhängige Lösung ( Windows NT/2000/XP ) Messauflösung von ca. 10 µs.
Check Liste zur Aufgabestellung Funktion von Ethernet, TCP/IP ( Standard, Hardware, Sniffer,... ) Aufbau von Ethernet-Telegrammen ( Frame, Grösse, Header, Data,... ) Verbindungsaufbau im Ethernet ( Handshake, Adressierung, Errors,... ) Zeit-Stempel ( Präzision 1 µs, Kernel Funktion, Unix Format ,... ) Zeit-Quelle ( Systemtimer,... ) Zeit-Synchronisation ( NTP, Präzision ~10ms,... ) Zeit-Korrektur ( ping- Prinzip, Bildung von Zeitdifferenzen,... ) Berechnung Algorithmen ( Mathcad, Code in C,... ) Diagramm ( Zeitverzögerung in Abhängigkeit von Messdauer [µs],... ) Wahl der Programmiersprache ( C/C++ )
Bekannte Verzögerungszeiten in der Praxis Bekannte Zeitverzögerung im Ethernet... Zeitverzögerung verringern... ( Reise-Zeit, Telegramm-Grösse, Anzahl Router, Abstände zwischen Router, Länge und Typ des Kabels,... )
Auswirkungen von Verzögerungszeiten Wartezeit in Intranet, Internet, Office-Welt,... Wartezeit für download von s, s bleiben über 1 Stunde unterwegs,... Automation, Steuerungen,... Sprach-Bild Übertragung,... Wartezeit bei Zahlungen mit Kreditkarten, SAP-Systeme,... Operating, Surveillance, Monitoring-Applications,...
Messung von Verzögerungszeiten, aber wie? Ausgangslage Primary Lösung Secondary Lösung
1. Zeitsynchronisation von Server zu Client ( NTP ) 2. Start von Aufzeichnung ( ICMP Protokoll ) auf beiden Seiten 3. ping von Server zu Client ( Echo Request, Echo Reply ) 4. Zeitdifferenzbildung (Mirokosekunden Bereich) der beiden Lokalzeiten 5. Aufzeichnung für gewünschtes Protokoll, gewünschte Dauer 6. Berechnung von Zeitverzögerungen für einzelne Telegramme unter Berücksichtigung der Zeitdifferenz 7. Darstellung von aufgezeichneten Daten in einem Diagramm Realisierte Primary Lösung ServerClient
Berechnung von Zeitdifferenz... DeltaRequest = 6 – 2 = 4 DeltaReply = = 0 DeltaRequest – DeltaReply = 4 – 0 = 4 Delay = 4 / 2 = 2 TimeDiffLocalRemote = DeltaRequest – Delay = 4 – 2 = 2 A A B B Berechnung von Zeitdifferenz der Lokalen Zeiten
Vorgehen bei der Messung A - Kopiervorgang B - Erstellung C - Kopiervorgang D - Erstellung Dateien Erstellungsreihenfolge beim NetTimeChart Programm
Aufgabenaufteilung zwischen Server und Client bei der NetTimeChart Software Server-Client Verständnis...
GUI Grafische Oberfläche der NetTimeChart Software
NetTimeChart Block-Diagramm Gesamtblick auf die NetTimeChart Applikation
Wichtige Merkmale der NetTimeChart Software bedienungsfreundlich Error-Handling Log-Dateien (CAPLOG.TXT, FILELOG.TXT) Export von Daten an andere Programme (MS Excel) Installation/Deinstallation Routinen (SETUP.EXE) CLI-orientiert (COUNTER.EXE) Daten-Filtrierung durch klare Verzeichnis-Dateien-Struktur Start-Stop kann in der Zukunft gesetzt werden Messauflösung von min. 10 µs
Messung von ICMP Telegrammen B icmp icmp Die roten Einträge sind Request-Telegramme; sie haben eine grössere Verzögerungszeit und die blauen Telegramme sind vom Typus Reply; sie sind schneller unterwegs.
Wichtige Resultate Die Zeitverzögerungen der Telegramme können mit einer Messauflösung von min.10 µs gemessen werden Genauigkeit der Messung hängt von der Zeitkorrektur ab Die Zeitdifferenz der beiden lokalen Uhren ändert sich (Beispiel: während 8 s ca 375 µs; pro s 46 µs ) Keine konstante Änderung festgestellt Das Resultat ist die steigende Kurve Die unterschiedliche Grösse von Telegrammen hat Einfluss auf die Reisezeit Vergleich mit Ethereal zeigt Abweichungen in der Grösse von ein paar Mikrosekunden
95% der geplanten Aufgaben konnten erfüllt werden 5% Messungen in komplexen Industriellen Netzwerken Zeitkorrektur ( Anfang-Ende ) Erweiterung von Error-Handling Verbessung von internen Funktionen ( C++ ) Einführung von Secondary Lösung Administrations-Rechte? Verbesserung der Bedieneroberfläche Qualitätsbetrachtung Überprüfung von C++ Code auf der UNIX/LINUX Schiene Stand der Arbeiten / Pendenzen
Fragen... Mehr Infos zu NetTimeChart finden Sie unter: Kontaktieren Sie mich: