verifikation von ip-multicast | 2. april 2015 | final presentation subtitle: 20pt arial regular,...

22
Verifikation von IP-Multicast | 26. Juni 2022 | Final http://w3.ibm.com/ibm/presentations Verifikation der Anwendbarkeit von IP-Multicast am Max-Planck- Institut Erste Ergebnisse Steffen Tambach

Upload: bardawulf-gebers

Post on 06-Apr-2015

104 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Verifikation von IP-Multicast | 2. April 2015 | Final Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2

Verifikation von IP-Multicast | 11. April 2023 | Final

Verifikation der Anwendbarkeit von IP-Multicast am Max-Planck-Institut

Erste Ergebnisse

Steffen Tambach

Page 2: Verifikation von IP-Multicast | 2. April 2015 | Final Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2

2Verifikation der Anwendbarkeit von IP-Multicast – Erste Zwischenergebnisse

Agenda

Rückblick – letzter Stand

Aktueller Stand

Weiteres Vorgehen/ Lösung?

Diskussion & Fragen

5 Min.

5 Min.

5 Min.

10 Min.

15 Min.

40 Min.

Messungen an der Senke

Page 3: Verifikation von IP-Multicast | 2. April 2015 | Final Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2

3Verifikation der Anwendbarkeit von IP-Multicast – Erste Zwischenergebnisse

Agenda

Rückblick – letzter Stand

Aktueller Stand

Weiteres Vorgehen/ Lösung?

Diskussion & Fragen

Messungen an der Senke

Page 4: Verifikation von IP-Multicast | 2. April 2015 | Final Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2

4Verifikation der Anwendbarkeit von IP-Multicast – Erste Zwischenergebnisse

Wdh. Testszenario No. 4 – Paketverlustmessungenam Empfänger

Messwerte (gesendet 1.000.000 Pkts. à 100 Byte)

• Shomiti (1.000.000 Pkts.)

• Receiver 1 (999.980 Pkts.)

• Receiver 2 (1.000.000 Pkts.)

• Receiver 3 (1.000.000 Pkts.)

• Receiver 4 (997.680 Pkts.)

Page 5: Verifikation von IP-Multicast | 2. April 2015 | Final Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2

5Verifikation der Anwendbarkeit von IP-Multicast – Erste Zwischenergebnisse

Nachweisbare Verluste auf der Empfängerseite erfordern weitere Testszenarien (Vorschläge aus der letzten Diskussionsrunde):

Verwendung von reinem UDP unicast anstelle von IP-Multicast

Verwendung von TCP anstelle UDP: Werden Datenpakete wiederholt

gesendet?

Künstliche Erzeugung eines burstartigen Verhaltens der Quelle

Quelle ist der Verursacher von Verlusten bei der Senke

Besteht ein Unterschied zwischen C/C++ und Java hinsichtlich der

verwendeten Ressourcen?

Punkt-zu-Punkt-Verbindung mit TAP und Shomiti Explorer

(Simulation der Quelle mittels Paketgenerator des Shomiti Explorer)

Rückblick (Diskussion)

Page 6: Verifikation von IP-Multicast | 2. April 2015 | Final Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2

6Verifikation der Anwendbarkeit von IP-Multicast – Erste Zwischenergebnisse

Agenda

Rückblick – letzter Stand

Aktueller Stand

Weiteres Vorgehen/ Lösung?

Diskussion & Fragen

Messungen an der Senke

Page 7: Verifikation von IP-Multicast | 2. April 2015 | Final Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2

7Verifikation der Anwendbarkeit von IP-Multicast – Erste Zwischenergebnisse

Empfänger-Testszenario No. 1 zum Suchen der Paketverluste in der Senke

Erweiterung der Testprogramme

• mcReceiverJava (Java-Code)

• mcReceiverC (C/C++-Code BSD Socket-API)

• mcSniffer (Linux paket filter)

• mcModule.ko (Kernel-Modul f. 2.6.x. Benutzt die Hook-Funktionen im Netzwerkstack des Kernels)

Page 8: Verifikation von IP-Multicast | 2. April 2015 | Final Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2

8Verifikation der Anwendbarkeit von IP-Multicast – Erste Zwischenergebnisse

50 Messreihen à 100 Byte payload (Ø 2ms pro Paket)

Stochastisches Auftreten der Paketverluste bei den Empfängern

Ergebnisse

1. Shomiti – Kanal 1 (TAP) alle gesendeten Pakete empfangen

2. Shomiti – Kanal 2 (Switch) alle gesendeten Pakete empfangen

3. mcReceiverJava 0 ~ 3.000 Pakete verloren

4. mcReceiver 0 ~ 1.000 Pakete verloren

5. mcSniffer 0 ~ 900 Pakete verloren

6. mcModule allealle gesendeten Pakete empfangen

Wie werden ankommende Pakete von der NIC bzw. vom Kernel behandelt?

Page 9: Verifikation von IP-Multicast | 2. April 2015 | Final Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2

9Verifikation der Anwendbarkeit von IP-Multicast – Erste Zwischenergebnisse

Weg eines Pakets im Linux-Kernel (Auszug)

Quelle: Linux Architektur – Konzepte, Strukturen und Algorithmen von Kernel 2.6

Page 10: Verifikation von IP-Multicast | 2. April 2015 | Final Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2

10

Verifikation der Anwendbarkeit von IP-Multicast – Erste Zwischenergebnisse

Linux 2.4.x / 2.6.x- Kernel Konfigurationsmöglichkeiten

Kernel-Patch Neukompilierung des Kernels

zur Laufzeit über das /proc- Filesystem (root-Rechte erfordl.)

echo 20971152 > /proc/sys/net/core/rmem_default

echo 1048576 > /proc/sys/net/core/rmem_max

weitere Einstellung zu den jeweiligen Socket-Buffer sind hier ebenfalls

möglich (wmem_default)

Aber eine zusätzliche Kontrolle ist im Programm zur Laufzeit notwendig!

Socket-Konfiguration – WrtBuffer/ RcvBuffer (1/2)

Page 11: Verifikation von IP-Multicast | 2. April 2015 | Final Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2

11

Verifikation der Anwendbarkeit von IP-Multicast – Erste Zwischenergebnisse

Unter C/C++ (Linux) verwendet die BSD Socket-API standardmäßig die rmem_default bzw. wmem_default Werte. Diese Werte sind kernelabhängig!

int rcvSize =1048576, socket_descriptor =0;

socket_descritor =socket(PF_INET, SOCK_DGRAM, 0);

setsockopt ( socket_descriptor, SOL_SOCKET, SO_RCVBUF, &rcvSize, sizeof(rcvSize) );

Für Java-Anwendungen gilt der Default-Wert (i.d.R. 54KB)

Multicast mc =new MulticastSocket(int port);

mc.setReceiveBufferSize(int size)

Konfiguration der default bzw. max -Werte im Betriebssystem MS Windows 2000/XP ?

Socket-Konfiguration – WrtBuffer/ RcvBuffer (2/2)

Page 12: Verifikation von IP-Multicast | 2. April 2015 | Final Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2

12

Verifikation der Anwendbarkeit von IP-Multicast – Erste Zwischenergebnisse

UDP-Verluste auf Empfängerseite sind u.a. ein Bufferproblem

UDP besitzt keine Flusskontrolle, d.h. ist der Socket-Buffer voll,

werden ankommende Pakete verworfen

Aufbau und Speicherstruktur von Netzwerkkomponenten spielen

hier eine wichtige Rolle!

Zusammenfassung

Page 13: Verifikation von IP-Multicast | 2. April 2015 | Final Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2

13

Verifikation der Anwendbarkeit von IP-Multicast – Erste Zwischenergebnisse

Agenda

Einführung/ Rückblick

Aktueller Stand

Weiteres Vorgehen/ Lösung?

Diskussion & Fragen

Messungen an der Senke

Page 14: Verifikation von IP-Multicast | 2. April 2015 | Final Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2

14

Verifikation der Anwendbarkeit von IP-Multicast – Erste Zwischenergebnisse

Umsetzung der gewonnenen Erkenntnisse im MonitorClient (MonClient) (1/2)

CPU-Auslastung

Netzwerk-verkehr

Page 15: Verifikation von IP-Multicast | 2. April 2015 | Final Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2

15

Verifikation der Anwendbarkeit von IP-Multicast – Erste Zwischenergebnisse

Umsetzung der gewonnenen Erkenntnisse im MonitorClient (MonClient) - Erhöhung der Bandbreite (2/2)

Page 16: Verifikation von IP-Multicast | 2. April 2015 | Final Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2

16

Verifikation der Anwendbarkeit von IP-Multicast – Erste Zwischenergebnisse

MonitorClient (MonClient) – Architektur

UML-Diagramm MonClient (Auszug)

GUI network

Page 17: Verifikation von IP-Multicast | 2. April 2015 | Final Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2

17

Verifikation der Anwendbarkeit von IP-Multicast – Erste Zwischenergebnisse

MonitorClient (MonClient) – Messungen zur Laufzeit (1/2)

Test des Empfangs von Paketen sowie deren Visualisierung mittels der

Open Source Physics Library (vgl. Folie 14/15) durch zwei Referenzzähler

innerhalb der Klassen MonClientWorker und MCAReceiver Ausgabe/

Ergebnis erfolgt durch die addShutdownHook-Methode (Runtime) nach

Beendigung des MonClients

Messergebnisse (Auszug) ~ 5,4MBit/s; 72000 Pkts.; 3 hops

pktCounterModule pktCounterRcv. pktCounterVisualizer72000 72000 2122472000 72000 2460172000 72000 2496072000 72000 19724…

Page 18: Verifikation von IP-Multicast | 2. April 2015 | Final Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2

18

Verifikation der Anwendbarkeit von IP-Multicast – Erste Zwischenergebnisse

MonitorClient (MonClient) – Messungen zur Laufzeit (2/2)

Wdh. mit voller Bandbreite (91,21 Mbit/s) führt zum Verwerfen empfangener Pakete bereits auf der Netzwerkkarte – sh. NIC-Statistik

Messergebnisse(Auszug) ~ 91,21 MBit/s; 7.200.000 Pkts.

pktCounterModule pktCounterRcv. pktCounterVisualizer7.081.222 5.563.730 23.2507.200.000 5.560.132 24.220…

eth0 Protokoll:Ethernet Hardware Adresse 00:0A:E4:2E:2A:34 inet Adresse:172.17.10.5 Bcast:172.17.255.255 Maske:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:12544657491 errors:118778 dropped:237556 overruns:118778

TX packets:1456 errors:0 dropped:0 overruns:0 carrier:0 Kollisionen:0 Sendewarteschlangenlänge:1000 …

Page 19: Verifikation von IP-Multicast | 2. April 2015 | Final Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2

19

Verifikation der Anwendbarkeit von IP-Multicast – Erste Zwischenergebnisse

Agenda

Einführung/ Rückblick

Aktueller Stand

Weiteres Vorgehen/ Lösung?

Diskussion & Fragen

Messungen an der Senke

Page 20: Verifikation von IP-Multicast | 2. April 2015 | Final Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2

20

Verifikation der Anwendbarkeit von IP-Multicast – Erste Zwischenergebnisse

UDP besitzt eine unregulierte Senderate (u.a. CPU-abhängig)

Implementierung UDP mit dynamischer Lastanpassung (adaptive

Überlastkontrolle)

Aufbrechen des BooleanLock-Musters (Thread-Synchronisation)

asynchrone I/O, Paketwarteschlange

Weiteres Vorgehen

Page 21: Verifikation von IP-Multicast | 2. April 2015 | Final Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2

21

Verifikation der Anwendbarkeit von IP-Multicast – Erste Zwischenergebnisse

Danke

Noch Fragen?

Page 22: Verifikation von IP-Multicast | 2. April 2015 | Final Presentation subtitle: 20pt Arial Regular, teal R045 | G182 | B179 Recommended maximum length: 2

22

Verifikation der Anwendbarkeit von IP-Multicast – Erste Zwischenergebnisse

Diskussionsergebnisse / @ToDo

Der Open Source Physics Visualizer besitzt nur eine begrenzte Aufnahme von Daten?

Schnittstelle Netzwerkkommunikation C/C++ Darstellung der Daten mit Java

Konkrete Aussagen über die Konfiguration unter Win2000/ XP Windows Registry

Hennig/Müller Testprogramm Speichergrenze für UDP-Sockets

Nice to have: jfreechart OSP