Configuring IGMP in a LAN to control IPTV multicast flows over Cisco Catalyst 3550-12T

networking
In this article a scheme with one device Cisco Catalyst 3550-12T [1] that combines the functions of both a switch and an IGMP querier is described. Catalyst 3550-12T switch has 10 Gigabit Ethernet ports and two ports for GBIC modules. Peak performance is 17 billion packets per second that allows transmitting data at a 24 Gbps rate.

Configuring IGMP snooping and IGMP querier


It is required to have an IP address configured on the Vlan 1 interface of the switch:

!
interface Vlan1
 ip address 10.1.2.247 255.255.0.0
!


IGMP snooping is enabled by using the command (in global configuration mode):

ip igmp snooping


IGMP querier is enabled by using the command (in global configuration mode):

ip igmp snooping querier

Testing


A stand on basis of Cisco Catalyst 3550-12T ( C3550-IPSERVICESK9-M, Version 12.2(40)SE ) and
NetUP DVB to IP gateway [2] was prepared by NetUP specialists. A general network scheme is
given in the figure 1 below. As the client equipment it was used a PC with vlc mediaplayer and
an IP set-top box AmiNET 130.




Fig. 1. General layout of the test stand.


IGMP snooping and IGMP querier were enabled as discussed above. To check this, one can
use the following commands (the output is provided):

c3550#show ip igmp snooping querier
Vlan      IP Address        IGMP Version   Port
————————————————————————————————
1         10.1.2.247        v2             Switch
 
c3550#show ip igmp snooping groups
Vlan      Group             Version     Port List
——————————————————————————————


As it can be seen the switch operates as an IGMP querier. In the groups list there are
no groups as no subscriber has requested a multicast stream. In this case the average
data transfer rate on the client’s port equals 0 Mbps. To check this run the following
command:

c3550#show interfaces GigabitEthernet 0/2 | include 5 minute
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
 


At that on the port of NetUP DVB to IP gateway we can see data transfered
at the rate of 110-120 Mbps (full decoding of 4 transponders is performed
that is around 50 TV channels):

c3550#show interfaces GigabitEthernet 0/1 | include 5 minute
  5 minute input rate 125753000 bits/sec, 11558 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec


Due to IGMP snooping multicast packets are not coming to the client port. If the client
requests a TV channel, copied to his port are only those multicast packets that belong
to this TV channel. To check this let’s request a TV program on the client’s device:

vlc udp://@226.2.0.5:1234


The requested TV channel appears on the client’s TV screen. And on the switch in the groups list we can see a new record:

c3550#show ip igmp snooping groups
Vlan      Group             Version     Port List
——————————————————————————————
1         226.2.0.5         v2          Gi0/2


As we can see from this record, the switch is copying multicast packets for the group 226.2.0.5 to
the client port (Gi0/2). To check this we can check the rate of data transfer to the client port:

c3550#show interfaces GigabitEthernet 0/2 | include 5 minute
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 3300000 bits/sec, 304 packets/sec


As it can be seen, only one TV channel is being transfered to the client port at the rate of ~3 Mbps. Because of such behavior of the switch we avoid overloading the client’s port with unwanted multicast packets.


It is worth of noting that the CPU load of the switch is almost zero. Most likely
multicast packets are processed at the hardware level.

c3550#show processes cpu history
 
 
    1111111111122222111111111111111111111111111111111111111111
100
 90
 80
 70
 60
 50
 40
 30
 20
 10
   0….5….1….1….2….2….3….3….4….4….5….5….
             0    5    0    5    0    5    0    5    0    5
               CPU% per second (last 60 seconds)


Important! According to “IPv4 Multicast Unusable Group And Source Addresses” [3] it is not recommended
to use certain ranges for IPv4 multicast addresses. For example, subnet 226.0.0.0 – 226.0.0.255. Cisco
Catalyst 3550-12T switch sends multicast packets to all ports regardless of client’s requests.

  1. Cisco Catalyst 3550-12T switch description – http://www.cisco.com/en/US/products/hw/switches/ps646/ps645/index.html
  2. NetUP DVB to IP gateway overview – http://www.netup.tv/en-EN/decoder-streamer.php
  3. IPv4 Multicast Unusable Group And Source Addresses – http://tools.ietf.org/html/draft-ietf-mboned-ipv4-mcast-unusable-01

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
int-0's picture

Ehm...

This recipt is awesome... but this site is for FREE SOFTWARE (free as freedom, of course).

Do you have a GNU/Linux version? Eye-wink

------------------------------------------------------------
$ python -c "print 'VG9udG8gZWwgcXVlIGxvIGxlYSA6KQ==\n'.decode('base64')"
------------------------------------------------------------