No announcement yet.

Failover between two identical multicast sources

  • Filter
  • Time
  • Show
Clear All
new posts

  • Failover between two identical multicast sources


    Our company provides IPTV video server software for Linux, and we've been asked by a potential customer whether it is possible to provide a failover mechanism for multicast streams, where we would have two of our servers continuously outputting identical content on the same multicast address, and have a layer 3 switch or router doing a kind of master-slave failover between them before forwarding the stream to the rest of the network.

    So the plan would be, that you'd have two servers connected to (say) ports 1 and 2 of a switch, both producing identical streams on (say) (and others). The switch would normally forward packets from port 1 to any IGMP subscribers to (or even just one port, and we'd do IGMP downstream), unless it received no traffic on that port for (say) 100ms. It would then switch to accepting packets from port 2 and forwarding using the same forwarding database. Ideally, to avoid any synchronisation problems it will still carry on doing so even if port 1 came back online again, unless port 2 itself failed, when it would ping-pong back.

    It strikes me that this needn't necessarily be particularly multicast specific - essentially we need the switch to ignore one port while another is active. It could be as simple as "forward all packets from port 2 to port 3 unless port 1 is active."

    So my question is, is this even possible with any Cisco (or other) piece of kit? If so if you could point me to the relevant IOS commands that would be great.

    Before anyone points it out - yes, we could be/should be doing this at the application level with a heartbeat protocol between the servers; we will be, but we don't have it yet! Which brings up another question, for when we do have it: Will IGMP snooping switches / multicast routers object if the source of a given multicast address suddenly switches from one port to another?

    Many thanks in advance

    Paul Clark
    Packet Ship Technologies

  • #2
    Re: Failover between two identical multicast sources

    You could look at Etherchannel

    This is taken from one of my previous posts:

    There are a few options when it comes to Etherchannels. There is Link Aggregation Control Protocol (LACP/802.3ad), Port Aggreation Control Protocol (PAgP - cisco proprietary) or manual Etherchannels.

    If your blades and OS support 802.3ad then I would recommend this as its an automatic creation of Etherchannels but you will need IOS 12.2(25) or later.

    Have a look at the following link:
    Infrastructure Architect
    CCNA, CCNA Security, MCSE, JNCIS


    • #3
      Re: Failover between two identical multicast sources

      Thanks! I had wondered about EtherChannels... but aren't EtherChannels usually used to bond two or more ports connected to the same upstream switch or multi-interface server? In this case I want to connect two ports to different servers, and have failover between them. Or would this still work if the EtherChannel was configured manually in the switch (is there actually any on-the-wire protocol change, like 801.2q trunking?)



      • #4
        Re: Failover between two identical multicast sources

        I did just find this:

        which talks about using anycast to solve an almost identical problem (redundant broadcast encoders rather than scheduled playout servers, but the concept is the same). But this seems to require a fully routed network using IGP and PIM; I still wonder if it's possible to do it at a much simpler layer-2 level on a single switch?