The IPTV-Analyzer OpenSourceDays 2012



Similar documents
DDoS protection. Using Netfilter/iptables. Jesper Dangaard Brouer Senior Kernel Engineer, Red Hat Network-Services-Team DevConf.

Wire-speed Packet Capture and Transmission

10 Gbit Hardware Packet Filtering Using Commodity Network Adapters. Luca Deri Joseph Gasparakis

If you re the unofficial administrator of your home or small

Monitoring high-speed networks using ntop. Luca Deri

Streaming Networks with VLC. Jean-Paul Saman

The Monitis Monitoring Agent ver. 1.2

C-GEP 100 Monitoring application user manual

Qcast : IP Multicast Traffic Monitoring System with IPFIX/PSAMP

OpenFlow with Intel Voravit Tanyingyong, Markus Hidell, Peter Sjödin

(Refer Slide Time: 1:17-1:40 min)

Monitoring and Alerting

OpenFlow Based Load Balancing

GPU-Based Network Traffic Monitoring & Analysis Tools

Transparent Optimization of Grid Server Selection with Real-Time Passive Network Measurements. Marcia Zangrilli and Bruce Lowekamp

RF Monitor and its Uses

Tue Apr 19 11:03:19 PDT 2005 by Andrew Gristina thanks to Luca Deri and the ntop team

Real-time KVM from the ground up

The new frontier of the DATA acquisition using 1 and 10 Gb/s Ethernet links. Filippo Costa on behalf of the ALICE DAQ group

50. DFN Betriebstagung

mesdn: Mobile Extension of SDN Mostafa Uddin Advisor: Dr. Tamer Nadeem Old Dominion University

Monitoring Network Traffic using ntopng

APPLICATION NOTE 209 QUALITY OF SERVICE: KEY CONCEPTS AND TESTING NEEDS. Quality of Service Drivers. Why Test Quality of Service?

Small is Better: Avoiding Latency Traps in Virtualized DataCenters

WANPIPE TM. Multi-protocol WANPIPE Driver CONFIGURATION M A N U A L. Author: Nenad Corbic/Alex Feldman

Infrastructure for active and passive measurements at 10Gbps and beyond

Hands on Workshop. Network Performance Monitoring and Multicast Routing. Yasuichi Kitamura NICT Jin Tanaka KDDI/NICT APAN-JP NOC

Measure wireless network performance using testing tool iperf

Sawmill Log Analyzer Best Practices!! Page 1 of 6. Sawmill Log Analyzer Best Practices

CT LANforge WiFIRE Chromebook a/b/g/n WiFi Traffic Generator with 128 Virtual STA Interfaces

IMPLEMENTING GREEN IT

Lab VI Capturing and monitoring the network traffic

White Paper Perceived Performance Tuning a system for what really matters

Campus Network Design Science DMZ

SPI I2C LIN Ethernet. u Today: Wired embedded networks. u Next lecture: CAN bus u Then: wireless embedded network

Managing your Domino Clusters

Packet-based Network Traffic Monitoring and Analysis with GPUs

ITL Lab 5 - Performance Measurements and SNMP Monitoring 1. Purpose

How To Monitor And Test An Ethernet Network On A Computer Or Network Card

Intel DPDK Boosts Server Appliance Performance White Paper

isco Troubleshooting Input Queue Drops and Output Queue D

Network Traffic Monitoring and Analysis with GPUs

ntopng: Realtime Network Traffic View


RouteBricks: A Fast, Software- Based, Distributed IP Router

Real-Time Virtualization How Crazy Are We?

CentOS Linux 5.2 and Apache 2.2 vs. Microsoft Windows Web Server 2008 and IIS 7.0 when Serving Static and PHP Content

VIRTUALIZATION AND CPU WAIT TIMES IN A LINUX GUEST ENVIRONMENT

Extending Network Visibility by Leveraging NetFlow and sflow Technologies

The Bus (PCI and PCI-Express)

Operating Systems. Design and Implementation. Andrew S. Tanenbaum Melanie Rieback Arno Bakker. Vrije Universiteit Amsterdam

Outline. Operating Systems Design and Implementation. Chap 1 - Overview. What is an OS? 28/10/2014. Introduction

EView/400i Management Pack for Systems Center Operations Manager (SCOM)

Guideline for stresstest Page 1 of 6. Stress test

Capacity planning for IBM Power Systems using LPAR2RRD.

Using Wireshark to Create Network-Usage Baselines

Introduction To Computer Networking

Hardware Acceleration for High-density Datacenter Monitoring

Hands-On Microsoft Windows Server 2008

Snapt Balancer Manual

IP videoconferencing solution with ProCurve switches and Tandberg terminals

A Research Study on Packet Sniffing Tool TCPDUMP

Advanced routing scenarios POLICY BASED ROUTING: CONCEPTS AND LINUX IMPLEMENTATION

Open vswitch and the Intelligent Edge

Performance Evaluation of VMXNET3 Virtual Network Device VMware vsphere 4 build

Network Traffic Monitoring & Analysis with GPUs

20 Command Line Tools to Monitor Linux Performance

Cisco Integrated Services Routers Performance Overview

QoS in PAN-OS. Tech Note PAN-OS 4.1. Revision A 2011, Palo Alto Networks, Inc.

Lab 1: Introduction to the network lab

MONITORING PERFORMANCE IN WINDOWS 7

Network Administration and Monitoring

Testing & Assuring Mobile End User Experience Before Production. Neotys

Red Hat Linux Networking

How To Send Video At 8Mbps On A Network (Mpv) At A Faster Speed (Mpb) At Lower Cost (Mpg) At Higher Speed (Mpl) At Faster Speed On A Computer (Mpf) At The

Network Security: Workshop

Network Probe User Guide

Cisco Prime Home 5.0 Minimum System Requirements (Standalone and High Availability)

Information Systems Application Administration Manual Request Tracker

New Relic & JMeter - Perfect Performance Testing

Introduction to MPIO, MCS, Trunking, and LACP

HAProxy. Free, Fast High Availability and Load Balancing. Adam Thornton 10 September 2014

Cisco Performance Visibility Manager 1.0.1

I/O. Input/Output. Types of devices. Interface. Computer hardware

Per-Flow Queuing Allot's Approach to Bandwidth Management

Visualizing gem5 via ARM DS-5 Streamline. Dam Sunwoo ARM R&D December 2012

Assessing the Performance of Virtualization Technologies for NFV: a Preliminary Benchmarking

Implementation of Business Linux Routers

A Comparative Study on Vega-HTTP & Popular Open-source Web-servers

Danger of Proxy ARP in IX environment version 0.3. Maksym Tulyuk

How Network Transparency Affects Application Acceleration Deployment

short introduction to linux high availability description of problem and solution possibilities linux tools

Scaling Graphite Installations

Transcription:

The IPTV-Analyzer OpenSourceDays 2012 Jesper Dangaard Brouer Senior Kernel Engineer, Red Hat d.11/3-2012

Background / Disclaimer This is NOT a Red Hat product Spare time hobby project Developed while at ComX Networks A/S: Danish ISP Release under GPLv2 Troubleshooting tool Developed while fixing real-life IPTV quality issues 2/29

Who am I Name: Jesper Dangaard Brouer Edu: Computer Science for Uni. Copenhagen Focus on Network, Dist. sys and OS Linux user since 1996, professional since 1998 Sysadm, Kernel Developer, Embedded OpenSource projects, author of ADSL-optimizer CPAN IPTables::libiptc IPTV-Analyzer Patches accepted into Linux kernel, iproute2, iptables, libpcap and Wireshark 3/29

What will you learn? This talk is about network challenges with IPTV Part 1: The trouble I have seen Measuring: You need eyes to see Part 2: Saving the world The IPTV-Analyzer Future plans for an IPTV shaper Help I need somebody Need web-developer help! 4/29

Happily adding more channels What happened when more channels were added High-Definition channels More than 120 IPTV channels Approx 600 Mbit/s multicast traffic. What happens to a realtime service on a loaded Ethernet switch based network? 5/29

History: What was the problem? Customers were experiencing bad quality, due to packet drops (must drop on congested links, TCP/IP depend) Traffic had only reached 600Mbit/s Drops were worse on loaded links. But dedicated links also showed significant drops 60 percent loaded link should not have drops 6/29

Finding cause of drops? Finding the cause of packet drops Turned out to be a harder task than expected... No clear drop pattern ALL channels were seeing drops Randomly across channels 7/29

What caused the drops? Bursty traffic from some of the IPTV streamers Some of the "cheap" (120k DKK) streamers, bursting Worst: Linux boxes with VLC and old 2.6.18 kernel The commercial streamers were harder to "fix" Closed source Slow and expensive support Quote: You need to buy the expensive model Linux VLC machines easily fixed by newer kernel with high resolution timer support 8/29

Hint slide: Enable Linux Highres Important to enable high resolution timers and tickless OS to avoid VLC multicast bursts Kernel config options CONFIG_HIGH_RES_TIMERS=y CONFIG_NO_HZ=y Watch the kernel log messages for: Switched to high resolution mode on CPU 0 or Could not switch to high resolution mode on CPU 0 9/29

History: Measure the problem First objective: Be able to measure the problem You need eyes to see Used "IP-probe" from BridgeTech, to detect/see drops. Which is an IPTV analyzer appliance internally runs Linux and has a special FPGA chip Really nice tool, but very expensive! Didn't show burstiness directly Turned out to be important Used Wireshark IO-graph 10/29

How did we locate the problem? BridgeTech probe tool, very helpful, showing the drops but could not show the burstiness directly One of the Linux based streamers, Alternating between 6 Mbit/s and 15 Mbit/s streams All channels more drops during 15 Mbit/s streams Detailed analysis of traffic dumps Wireshark was used to show burstiness Wireshark IO-graph with resolution < 1 ms Implemented drop detect my self in Wireshark (the power of open source) 11/29

Wireshark IO-graph Menu: Statistics IO Graph Tick Interval 0.001 12/29

Wireshark drop detection MPEG2 TS drop detection in Wireshark (mp2t) Mainline v1.1.4 (svn r27381) Improved in v1.3.4 (svn r30789) Not fast enough for realtime/continuous usage Dumping 600Mbit/s traffic Standard tcpdump not fast enough WARN cause fake packet drops (Func: packet_rcv ) Fix: Use tcpdump/pcap with Mem Mapped IO Use minimum libpcap version 1.0.0 Function: tpacket_rcv (See /proc/net/ptype) 13/29

Part 1: Summary Watch out for bursts Packets bursts experiences Surprisingly bursts do cause problems on 60% loaded links Non-bursty streams are affected by bursty-streams On Linux: Use Highres timers and no tick Know you switch buffer sizes don't place low-buffer switches in backbone But avoid bufferbloat, by using AQM/QoS - Create seperate queue for IPTV with larger buffer - Create a smaller queue Internet traffic, allow drops 14/29

Part 2: Develop own IPTV-Analyzer Learned Need to monitor the signal Bursts can cause drops, on all channels Bursts can occur per network segment Monitor each network segment Approx measurement points: 12 Price per IPTV-probe approx 80.000 DKK Total cost: 960.000 DKK Develop our own IPTV-analyzer 15/29

Project plan: IPTV-Analyzer Develop our own MPEG2-TS IPTV-Analyzer Milestone 1: Measure the drops DONE First objective: measure the problem Milestone 2: Measure the bursts Detect potential issues, before drops occur Milestone 3: Smooth out the bursts Solve the burst issue permanently 16/29

Deep Packet Inspection Each IP-packet contains 7 Transport Stream Packets/Frames The Continuity Counter is very small values 0-15 Thus, an exact drop counter is hard as wrap around occurs quickly 17/29

Milestone 1: Measure drops Offline analysis Contribute to Wirehark, mostly prototyping Need continuous monitoring (24x7x365) Kernel module for detection (iptables) Collector daemon (Perl) Database design, storing events (MySQL) Web based frontend (PHP) Trick: use settop boxes as probes (bash) 18/29

IPTV Analyzer architecture 19/29

Kernel module: Efficient! Developed iptables/netfilter module (mpeg2ts) tcpdump solution used 100% and caused false drops For realtime/continuous drop monitoring Only uses 2% CPU with 600Mbit/s traffic on a low power ATOM 330 CPU (1.6Ghz) Implemented with RCU locking for parallel processing on each CPU (requires multi-queue NICs e.g. Intel 82576) Stats via /proc/ file 20/29

Collector Written as Perl daemon process Poll /proc every 10 sec Compare with previous data MySQL Heartbeat (default 5 min) MySQL SNMP-traps Detect no-signal (in v0.9.2) Plan: Avoid polling kernel report activity (via netlink) 21/29

Web-frontend: Probe overview 22/29

Web-frontend: Channel view 23/29

Web-Frontend Current web-frontend is simple Its not pretty-looking, but it works! Help me PLEASE Web-developers needed on the project! Want to rewrite frontend Use AJAX and JSON instead of plain PHP New graph module 24/29

Trick: Use settop box as probes See what the customer sees As many probes as customers But only one channel at a time Trick: The settop box runs Linux local tool support asking for sync errors install small bash script periodically poll, and submit result back central Still need probes, in the network need to identify the network segment 25/29

Settox boxes as probes 26/29

Open Source Status Wireshark Drop patches accepted PCR-clock patches, not accepted :-( IPTV-Analyzer gone 100% GPL http://www.iptv-analyzer.org Initial Public release (v0.9.0) 2011-05-09 2011-05-24: v0.9.1 no-signal detect 2011-06-02: v0.9.2 snmptrap no-signal events git://github.com/netoptimizer/iptv-analyzer.git 27/29

Future? Milestone 2: Bursts, detect issues, before drops occur Currently down prioritized due new job... Milestone 3: Shaper, solve issue Have an implementation idea... Will it ever happen? Progress through cooperation? Anybody want to cooperate? Need some new users after ComX 28/29

Goodbye The End and thank you for your future patches ;-) Want to try the IPTV-analyzer? http://www.iptv-analyzer.org If using, please let me know, its a big motivation factor: netoptimizer@brouer.com 29/29

Switch buffer size is key! Problem comes from: The switch buffer size Ethernet switches, are suppose to drops packets QoS didn't help, all data was multicast From burst size Directly calculate required switch buffer size Fixed size packets of 1358 bytes on wire Know your switch buffer sizes don't place small-buffer switches in backbone BUT: Read about bufferbloat before increasing buffers 30/29

What is this talk NOT about Lot of challenges to implement multicast routing Its not straight forward, BUT its not the focus of this talk. Shortly, pitfalls to watch out for: It can be difficult to: get different vendors multicast to work together get even the same vendor Watch out for firmware upgrades... E.g: New firmware (on Foundry FWSX 424) drops packets, MC in HW. Also Remember: Apartment buildings Ethernet switches, proper config. CPE equipment needs IGMP snooping, more Settop boxes 31/29