Skip to main content

Multicast Traffic Generator without a PC

I have suffered the pain of trying to troubleshoot Multicast issues over the past few years (mainly across MPLS), however initially I struggled to find way of generating my own traffic independent of any application that was experiencing issues. Most of the time being the network guy I would not have access to run the application (sender) at one site and the client (receiver) at another site. I also would not be in the position to install my own sender + receiver devices on the network, so I was stuck with the tools available to me on the Cisco routers/switches at each end of the network.

Looking at the they assume that you are able to control the sender and receiver;  they have not mention two of the most valuable tools in my opinion to begin troubleshooting multicast.

  • ping

  • ip igmp join-group

It does mention "show ip mroute count" and "show ip mroute" which are indeed valuable.

Maybe it is my mindset, but I like to see packets move around the network to help me isolate potential issues, therefore in may cases I need to be able to generate packets and see these packets crossing interfaces on the network.


So how do we generate a multicast packet? Easy just use ping. The special thing about a multicast packet is simply its destination address, therefore we can just ping a multicast address and we have a multicast packet. But if you look at the output from ping you never get a response, but thats not the point, ping is simply used to generate traffic not to diagnose that it is crossing the network.

IP igmp join-group = Receiver

The client application sends igmp join messages out on the network to request that the network send traffic for that specific group onto that network, then the receiving station can listen for the destination address and pickup the multicast traffic. The join message is propagated up/down(I can never remember the direction) the tree based on PIM neighbor relationships and creates a path from the source to the destination

show ip mroute count = traffic viewer

Now you have the sender and receiver (well sort of) the receiver cannot really see much, but using show ip mroute count we can see packet that have traversed a network interface.

I have setup a very basic lab using

  • ip multicast-routing

  • ip pim sparse-dense-mode on each ethernet interface

  • eigrp to put everything into routing

[caption id="attachment_251" align="aligncenter" width="300" caption="Multicast1"]Multicast1[/caption]

On R4 I have

interface Loopback0
ip address
ip igmp join-group


On R1 I have

R1#ping ip source loop 0 repeat 10
Type escape sequence to abort.
Sending 10, 100-byte ICMP Echos to, timeout is 2 seconds:
Packet sent with a source address of

On R4 I have

R4#show ip mroute count
IP Multicast Statistics
3 routes using 1300 bytes of memory
2 groups, 0.50 average sources per group
Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)
Group:, Source count: 1, Packets forwarded: 0, Packets received: 10
Source:, Forwarding: 0/0/0/0, Other: 10/0/10
Group:, Source count: 0, Packets forwarded: 0, Packets received: 0

on R2 I can see the traffic being forward to R4 and not R3

R2#show ip mroute count
IP Multicast Statistics
3 routes using 2296 bytes of memory
2 groups, 0.50 average sources per group
Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)
Group:, Source count: 1, Packets forwarded: 10, Packets received: 10
Source:, Forwarding: 10/0/100/0, Other: 10/0/0
Group:, Source count: 0, Packets forwarded: 0, Packets received: 0
R2#show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*,, 00:00:24/stopped, RP, flags: D
Incoming interface: Null, RPF nbr
Outgoing interface list:
Ethernet0/2, Forward/Sparse-Dense, 00:00:24/00:00:00
Ethernet0/1, Forward/Sparse-Dense, 00:00:24/00:00:00
Ethernet0/0, Forward/Sparse-Dense, 00:00:24/00:00:00
(,, 00:00:24/00:02:35, flags: T
Incoming interface: Ethernet0/0, RPF nbr
Outgoing interface list:
Ethernet0/1, Prune/Sparse-Dense, 00:00:24/00:02:35 -<<<< Not being sent to R3
Ethernet0/2, Forward/Sparse-Dense, 00:00:24/00:00:00-<<<< Being sent to R4


Here is a quick video clip





The purpose of this post is to highlight two important commands that Cisco seem to overlook when it come to multicast troubleshooting. I hope these help you.


Popular posts from this blog

Break the Network Emulators out of the Cloud

Cisco IOU and JunoSphere
Recently both Cisco and Juniper have announced the availability of online resources to provide hands on training over the internet. They have built software emulators in the cloud that can be accessed remotely for a cost. These solutions are based purely around the certification programs and therefore are pretty rigid in the topology that are provided, not to mention the re-occurring cost.
Rack Rentals
There are training providers such as Internetwork Expert ( and IPexpert ( who provide rack rentals based on their training materials. These guy cannot possibly compete going forward. To keep these sustainable they will need to reduce the overhead of building physical racks, providing power and space for the racks. Using emula…

ASR1006 Dual Route Processors Password Recovery - Tip

I recently ran into an issue when trying to perform dual route processors password recovery on a Cisco  ASR1006
After breaking into rommon mode and using confreg to ignore the startup configuration, during the rest the ASR1006 loaded the startup configuration!!!!!!!!
So quick and simple, I pulled one of the RP and preformed password recovery running on a single RP. All went according to the Cisco documentation

After the system running on a single RP was recovered and fully booted I waiting for 5 minutes just to be sure; then I inserted the second RP and allowed everything to sync up.

All was well again :) phew

Note: The system was previously fully functioning with dual RPs; a configuration error was made during Tacacs+ configuration which resulted in lockout.

I hit an issue recovering and ASR with dual RPs, so rather that spending hour researching, I decided very quickly to go …

Dell Latitude D830 SSD Upgrade

Slow Laptop Syndrome
I have a LATITUDE D830 : INTEL CORE 2 DUO T7500 4GB Ram from 2008, I did get a fairly high specification at the time, so it has always had pretty decent performance. However I haven't been using it for a while and when I did it seemed slow compared to my Core 5i desktop computer. (I use Windows 7 ultimate with the latest updates)

Laptop for Work
Now I might be doing a fair bit of travelling to customer sites in the near future and the last thing I want is a poorly performing Laptop, so I decide to ditch all the crap I had on it like iTunes, movies, miscellaneous software and cut back to a basic "work" PC. After all I do have iPhone, iPad and new kindle (soon) for all my multi media needs.

I purchased a "Corsair 120GB Force 3 SSD 2.5" SATA-III 6Gb/s Read = 550MB/s, Write = 510MB/s" from Now I am guessing that SATA-II rather that SATA-III on the system board, but the price difference between SATA-II and SATA-III was nothing …