Multicast troubleshooting with ssmping and asmping

Slides:



Advertisements
Similar presentations
UKERNA IP Multicast Hands-on Workshop Lab 3: IP Multicast, Inter-domain Networkshop 2006.
Advertisements

1April 16, 2002 Layer 3 Multicast Addressing IP group addresses – “Class D” addresses = high order bits of “1110” Special reserved.
Xing Li CERNET NOC/TEIN2 NOC
Computer Networks21-1 Chapter 21. Network Layer: Address Mapping, Error Reporting, and Multicasting 21.1 Address Mapping 21.2 ICMP 21.3 IGMP 21.4 ICMPv6.
21.1 Chapter 21 Network Layer: Address Mapping, Error Reporting, and Multicasting Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
IP Multicast Lecture 2: PIM-SM Carl Harris Communications Network Services Virginia Tech.
Multicast Fundamentals n The communication ways of the hosts n IP multicast n Application level multicast.
Ssmping/asmping Stig Venaas What is ssmping? A tool for testing multicast connectivity Behavior is a bit like normal ping A server.
Computer Science 6390 – Advanced Computer Networks Dr. Jorge A. Cobb How to provide Inter-domain multicast routing? PIM-SM MSDP MBGP.
Internet Control Message Protocol (ICMP)
COS 420 Day 15. Agenda Assignment 3 Due Assignment 4 Posted Chap Due April 6 Individual Project Presentations Due IEPREP - Jeff MANETS - Donnie.
1 Internet Networking Spring 2004 Tutorial 7 Multicast Routing Protocols.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public BSCI Module 7 Lesson 3 1 IP Multicasting: Multicast Routing Protocols.
School of Information Technologies Internet Multicasting NETS3303/3603 Week 10.
COS 420 Day 18. Agenda Group Project Discussion Program Requirements Rejected Resubmit by Friday Noon Protocol Definition Due April 12 Assignment 3 Due.
Slide Set 15: IP Multicast. In this set What is multicasting ? Issues related to IP Multicast Section 4.4.
Internet Networking Spring 2002
TDC375 Autumn 03/04 John Kristoff - DePaul University 1 Network Protocols Multicast.
MULTICASTING Network Security.
Chapter 23: ARP, ICMP, DHCP IS333 Spring 2015.
Network Measurement Bandwidth Analysis. Why measure bandwidth? Network congestion has increased tremendously. Network congestion has increased tremendously.
© J. Liebeherr, All rights reserved 1 IP Multicasting.
21.1 Chapter 21 Network Layer: Address Mapping, Error Reporting, and Multicasting Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
CCNA Introduction to Networking 5.0 Rick Graziani Cabrillo College
1 Version 3.1 Module 4 Learning About Other Devices.
Network Administration
ICMP (Internet Control Message Protocol) Computer Networks By: Saeedeh Zahmatkesh spring.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Multicast routing.
21.1 Chapter 21 Network Layer: Address Mapping, Error Reporting, and Multicasting Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
Multicast Routing Protocols NETE0514 Presented by Dr.Apichan Kanjanavapastit.
UKERNA IP Multicast Mini Workshop Intra-domain Multicast Hands-on Lab Exercises Networkshop 2006.
CMPT 471 Networking II Address Resolution IPv4 ARP RARP 1© Janice Regan, 2012.
CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 2 Module 9 Basic Router Troubleshooting.
1 IPv6 multicast Stig Venaas 2 Overview IPv6 multicast addresses and scopes IPv6 multicast protocols Interdomain IPv6 multicast Current.
Advances in Multicast - The Promise of Single Source Multicast (SSM) (with a little on multicast DOS) Marshall Eubanks Multicast Technologies
1 CMPT 471 Networking II IGMP (IPv4) and MLD (IPv6) © Janice Regan,
Broadcast and Multicast. Overview Last time: routing protocols for the Internet  Hierarchical routing  RIP, OSPF, BGP This time: broadcast and multicast.
IP Multicast Lecture 3: PIM-SM Carl Harris Communications Network Services Virginia Tech.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 5 Multicasting protocol.
IP Multicast Part I: Fundamentals Carl Harris Communications Network Services Virginia Tech.
Computer Science 6390 – Advanced Computer Networks Dr. Jorge A. Cobb Deering, Estrin, Farinacci, Jacobson, Liu, Wei SIGCOMM 94 An Architecture for Wide-Area.
Multicast Routing Protocols. The Need for Multicast Routing n Routing based on member information –Whenever a multicast router receives a multicast packet.
© J. Liebeherr, All rights reserved 1 Multicast Routing.
Lector: Aliyev H.U. Lecture №10 Multicast network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT OF DATA COMMUNICATION.
Interdomain multicast routing with IPv6 Stig Venaas University of Southampton Jerome Durand RENATER Mickael Hoerdt University Louis Pasteur - LSIIT.
Interdomain IPv6 multicast Stig Venaas UNINETT. PIM-SM and Rendezvous Points Interdomain multicast routing is usually done with a protocol called PIM-SM.
© J. Liebeherr, All rights reserved 1 IP Multicasting.
1 © 2000, Cisco Systems, Inc _05_2000_c2 Server Router Unicast Server Router Multicast Unicast vs. Multicast.
IPv6 Site Renumbering Gap Analysis draft-ietf-6renum-gap-analysis-01 draft-ietf-6renum-gap-analysis-01 Bing Liu(speaker), Sheng Jiang, Brian.E.Carpenter,
Chapter 21 Multicast Routing
Network Layer: Address Mapping, Error Reporting, and Multicasting
Spring 2006CS 3321 Multicast Outline Link-state Multicast Distance-vector Multicast Protocol Independent Multicast.
Engineering Workshops 136 Inter-domain Multicast.
Connect. Communicate. Collaborate mcview – A tool for visualising and debugging multicast Stig Venaas, UNINETT TNC 2008, Bruges, May 21 st.
Unnecessary Multicast Flooding Problem Statement
6DEPLOY. IPv6 Deployment and Support
IP Multicast Lecture 4: PIM-SM Carl Harris Communications Network Services Virginia Tech.
Communication Networks Recitation 11. Multicast & QoS Routing.
DMET 602: Networks and Media Lab Amr El Mougy Yasmeen EssamAlaa Tarek.
Engineering Workshops 96 ASM. Engineering Workshops 97 ASM Allows SPTs and RPTs RP: –Matches senders with receivers –Provides network source discovery.
1 Group Communications: Host Group and IGMP Dr. Rocky K. C. Chang 19 March, 2002.
DMET 602: Networks and Media Lab
Diagnosing PIM Protocol States PIM Working Group
Traceroute traceroute is a Unix utility designed by Van Jacobson in 1987 The Windows equivalent is called tracert The Linux equivalent is called tracepath.
Stig Venaas ssmping/asmping Stig Venaas
Introduction to Networking
Troubleshooting IP Addressing
Other Routing Protocols
Implementing Multicast
Presentation transcript:

Multicast troubleshooting with ssmping and asmping Stig Venaas venaas@uninett.no

Introduction There are very few tools available for end users to verify that multicast works Also there are few tools to aid network administrators in debugging multicast connectivity problems We will present two tools called ssmping and asmping that can be of use to both end users and network administrators We will explain how these tools can be used to test multicast connectivity, and provide much more detailed information that might aid in discovering, debugging and fixing multicast problems We will first look at ssmping for testing SSM SSM – Source Specific Multicast And next look at asmping for testing ASM ASM – Any Source Multicast (the traditional multicast model)

ssmping A tool for testing multicast connectivity and more Behaviour is a bit like the common ping tool Implemented at application layer using UDP No additional requirements on the operating system The operating system and network must support SSM A server must run ssmpingd A client pings a server by sending a unicast ssmping query The server replies with both unicast and multicast ssmping replies In this way a client can check that it receives SSM from the server And also parameters like delay, number of router hops etc.

How it works Client Server User runs ssmping <S> Client joins S,G Clients sends unicast to S t t Server receives unicast ssmping query Responds with ssmping unicast reply and multicast reply to G Client receives replies and prints RTT and hops from server Client sends a new query every second

Example output $ ssmping -c 5 -4 flo.nrc.ca ssmping joined (S,G) = (132.246.2.20,232.43.211.234) pinging S from 158.38.63.20 unicast from 132.246.2.20, seq=1 dist=13 time=122.098 ms unicast from 132.246.2.20, seq=2 dist=13 time=122.314 ms multicast from 132.246.2.20, seq=2 dist=13 time=125.061 ms unicast from 132.246.2.20, seq=3 dist=13 time=122.327 ms multicast from 132.246.2.20, seq=3 dist=13 time=122.345 ms unicast from 132.246.2.20, seq=4 dist=13 time=122.334 ms multicast from 132.246.2.20, seq=4 dist=13 time=122.371 ms unicast from 132.246.2.20, seq=5 dist=13 time=122.360 ms multicast from 132.246.2.20, seq=5 dist=13 time=122.384 ms --- 132.246.2.20 ssmping statistics --- 5 packets transmitted, time 5003 ms unicast: 5 packets received, 0% packet loss rtt min/avg/max/std-dev = 122.098/122.286/122.360/0.394 ms multicast: 4 packets received, 0% packet loss since first mc packet (seq 2) recvd rtt min/avg/max/std-dev = 122.345/123.040/125.061/1.192 ms

What does the output tell us? 13 unicast hops from source, also 13 for multicast Multicast is likely to follow same path as multicast Note that with SSM we immediately join shortest path tree Multicast RTTs are slightly larger and vary more The difference in unicast and multicast RTT shows one way difference for unicast and multicast replies, since they are replies to the same request packet The multicast tree is not ready for first multicast reply, ok for 2nd No unicast loss, no multicast loss after tree established

Is it useful? Neither do they compare unicast and multicast We believe it complements multicast beacons Useful for “end users” or others that want to perform a “one-shot” test rather than continuously running a beacon Beacons don’t show how long it takes to establish the multicast tree, the show only the “steady state” We’ve seen cases where it takes much longer than expected Neither do they compare unicast and multicast Are there other data than RTT and hops that should be measured? Hops are measured by always using a ttl/hop count of 64 when sending replies

History Based on an idea by Pavan Namburi, Kamil Sarac University of Texas and Kevin C. Almeroth UCSB http://www.utdallas.edu/~ksarac/research/publications/draft-sarac-mping-00.txt http://www.utdallas.edu/~ksarac/research/publications/CIIT04-1.pdf Their idea is to extend IGMP/MLD Not much interest in IETF so far This does some of the same, but doesn’t require network support Only uses UDP But it requires server to run ssmpingd

Summary Tool and further documentation available from http://www.venaas.no/multicast/ssmping/ You can deploy your own server, or check that you can receive from the public servers listed at the above URL Supports both IPv4 and IPv6 Currently it works for Linux, Solaris and some BSD systems Note that ssmping client requires SSM support BSD systems need to be patched to support SSM No SSM support yet on Mac OS X Version with some reduced functionality available for Windows XP IPv4 only, no IPv6 SSM available on XP Does not show number of hops

There is also asmping asmping is very similar to ssmping asmping is ASM version of ssmping A tool for testing multicast connectivity Behavior is a bit like normal ping A server must run ssmpingd (latest version supports asmping) A client pings a server by sending a unicast asmping query The server replies with both unicast and multicast asmping replies In this way a client can check that it can receive ASM from the server And also parameters like delay, number of router hops etc.

How it works Client Server User runs asmping <G> <S> Client joins G Clients sends unicast to S t t Server receives unicast asmping query Responds with asmping unicast reply and multicast reply to G Client receives replies and prints RTT and hops from server Client sends a new query every second

Example output $ asmping -c 5 224.1.2.234 ssmping.net.switch.ch ssmping joined (S,G) = (130.59.35.130,224.1.2.234) pinging S from 158.38.63.22 unicast from 130.59.35.130, seq=1 dist=11 time=66.203 ms unicast from 130.59.35.130, seq=2 dist=11 time=66.042 ms multicast from 130.59.35.130, seq=2 dist=11 time=66.492 ms unicast from 130.59.35.130, seq=3 dist=11 time=66.515 ms multicast from 130.59.35.130, seq=3 dist=11 time=66.520 ms unicast from 130.59.35.130, seq=4 dist=11 time=66.316 ms multicast from 130.59.35.130, seq=4 dist=11 time=66.321 ms unicast from 130.59.35.130, seq=5 dist=11 time=66.407 ms multicast from 130.59.35.130, seq=5 dist=11 time=66.956 ms --- 130.59.35.130 ssmping statistics --- 5 packets transmitted, time 5000 ms unicast: 5 packets received, 0% packet loss rtt min/avg/max/std-dev = 66.042/66.296/66.515/0.326 ms multicast: 4 packets received, 0% packet loss since first mc packet (seq 2) recvd rtt min/avg/max/std-dev = 66.321/66.572/66.956/0.296 ms

What may the output tell us? The output on the previous slide pretty much tells us the same as in the ssmping example It appears we got all the multicast packets on the shortest path tree At least all multicast packets have travelled same number of hops as the unicast packets However, there are several cases where packets may not be forwarded on the optimal path, and asmping might reveal this We will now look at the possible ASM forwarding paths when using PIM-SM which is the most common multicast routing protocol

Forwarding via PIM registers Source S F D A E R C B RP Assume we have the above network with receiver R and source S R might be running asmping client, and S a server Initially the multicast packets are encapsulated into PIM register messages and sent to the RP (B) The PIM register is a unicast packet sent from the source’s DR to the RP From the RP the packets will be forwarded on the so-called shared tree to R The hop count seen by R will be 5 Routers D, B, C, E and F Note that when doing inter-domain IPv4 multicast we also use MSDP We can think of MSDP as a way of doing PIM registers from source to all RPs on the internet. MSDP may do encapsulation just like PIM registers

Native forwarding on shared tree Source S F D A E R C B RP When the RP receives packets via PIM registers and know that there are members joined to the group, the RP will join towards the source and we will get native forwarding Here the hop count seen by R will be 6 Routers D, A, B, C, E and F

Shortest Path Tree Source S F D A E R C B RP When F receives the first multicast packet, it will usually join the Shortest Path Tree to get optimal forwarding Note that behaviour might depend on configuration and vendor We then get the above optimal path Here the hop count seen by R will be 3 Routers D, E and F So with this topology, the hop count displayed by asmping will tell us which path we are following and when we switch between them 5, 6 and 3 hops for the resp. paths

More interesting example sv@xiang /tmp $ asmping 224.3.4.234 ssmping.uninett.no ssmping joined (S,G) = (158.38.63.22,224.3.4.234) pinging S from 152.78.64.13 unicast from 158.38.63.22, seq=1 dist=23 time=57.261 ms unicast from 158.38.63.22, seq=2 dist=23 time=56.032 ms multicast from 158.38.63.22, seq=2 dist=7 time=207.876 ms multicast from 158.38.63.22, seq=2 dist=7 time=208.567 ms (DUP!) unicast from 158.38.63.22, seq=3 dist=23 time=56.852 ms multicast from 158.38.63.22, seq=3 dist=21 time=70.352 ms multicast from 158.38.63.22, seq=4 dist=21 time=57.208 ms unicast from 158.38.63.22, seq=4 dist=23 time=57.910 ms unicast from 158.38.63.22, seq=5 dist=23 time=56.206 ms multicast from 158.38.63.22, seq=5 dist=21 time=57.375 ms

What does output tell us? 23 unicast hops from source For multicast we first have 7, later stays at 21 We also get some info about loss and RTTs Number of hops is perhaps the most interesting In the stable situation with 21 there is probably native forwarding all the way Forwarding is probably on shortest path tree from source to receiver In theory we might also detect switch from RPT to SPT if number of hops are different Number of hops on RPT are then probably larger than number of unicast hops But why only 7 hops initially? Why did we get the packet twice, and why do both have a very large ttl?

The mystery of the 7 hops So why only 7, and why large RTT and duplicate? The reason is MSDP and PIM registers In this case we know for sure that packets must have been encapsulated in MSDP We are about 5 hops from the local RP There should not be any other tunnels, so no other way we can have only 7 hops (23 unicast hops) Assuming there are no other listeners, the packet was first encapsulated in a PIM register going to the local RP. Then it was encapsulated in MSDP all the way to our local RP So that explains the number of hops, but why large RTT and duplicate?

Large RTT and duplicate So why the large RTT and duplicate? The reason is again MSDP At least that’s the theory The register packets are in this case passed with MSDP to the RP, and probably cached there When our (*,G)-joins reach our RP, we receive the packet from the cache, which by now is 200ms old Next, our last-hop router switches to SPT, and what we think happens, is that the (S,G)-join also reaches the RP (RP is on the SPT path), and the RP again forwards its copy when this happens This also gives us a measure of how long it took before the RPT to SPT switch took place

Troubleshooting 1/2 If it takes a long time from we join until we receive data or we stop receiving after a while, then something is wrong Initial delay might be due to join packets getting lost, or join and MSDP propagation delays at routers We will now give further examples of how the tools have been used for troubleshooting Case 1, multicast working initially, then stopping after about 180s This was an IGMP issue Host sends IGMP report when start pinging If host doesn’t receive the periodic IGMP queries from the router, the router state will time out

Troubleshooting 2/2 Case 2, multicast working initially, then stopping after about 210s We observed this for several different groups and sources We then found from PIM-SM specification that this is when the initial join state times out if the periodic PIM joins don’t refresh it Knowing this, we tracked down the problem to an MTU mismatch When PIM routers send periodic joins they may aggregate many joins, resulting in large PIM packets For the initial join there is usually no aggregation, so packet much smaller than MTUs

Historical data Started work on system for collecting results from periodic measurements

Summary The tools might be used to simply check connectivity, but also get info like RTT and hops, join latency etc With asmping we might be also able to derive some more interesting information due to the complexities of PIM register, MSDP and switching of forwarding paths asmping works on most operating systems Both tools support both IPv4 and IPv6 See http://www.venaas.no/multicast/ssmping/ for more info