During the 2004 Olympic games the BBC began trialing a new method of streaming content delivery known as "Multicast." This is a much more bandwidth efficient method of streaming content from a content provider's point of view, hence they are able to offer higher quality streams without a massive upscaling in the amount of provisioned bandwidth they require. Recently this trial has been expanded to encompass many more TV and radio channels.
Information about the trial and a list of available streams can be found at http://www.bbc.co.uk/multicast/
Technical Explaination:
Traditionally to watch a content stream you will request the provider to begin streaming a video source, and then the content is streamed to your specific IP address. Therefore every consumer who joins a content stream will use up extra bandwidth from the content provider's servers meaning that the provider has to either limit the number of simultaneous connections, or has to provision a massive amount of upstream bandwidth.
Multicast works differently. Instead of you requesting to start a stream, and then the video stream being sent to your IP address the provider streams continuously to just a single IP address in a specially designated IP range (class D IP addresses - ie the IP range 224.0.0.0/4 = 224.0.0.0 -> 239.255.255.255 .) This IP address is known as a Group Destination Address (GDA). This means that instead of them having to send a copy of the stream for every user they only need transmit a single copy of the stream, and the upstream routers retransmit it to all the hosts in that GDA.
The method a router uses to determine where to route packets destined to the GDA is as follows:
Zen's gateway routers will periodically transmit IGMP Membership enquiry packets to all downstream connected interfaces (on 224.0.0.1, a special multicast address meaning all multicast capable hosts) to determine if there are any hosts listening to the stream. Independantly, if a host sends a Membership report to the GDA (IGMP v1 or v2), then the gateway router will add the interface that host is in to the route for that GDA, and then multicast packets get sent to that host. Zen's gateway router will continue to transmit the stream to the interface that host is on until either all hosts on that interface stop responding to Membership enquiries (IGMP v1 or v2) or a host on the interface transmits a Membership leave packet (IGMP v2) A complete description of this method can be found in RFC 2236 (IGMP v2).
The IGMP protocol is used to determine where to route multicast traffic. The multicast streams themselves are UDP. As the membership enquiry messages are essentially transmitted unsolicited (router's firewall may see it as an attack and drop it) AND they are transmitted to an IP address in the 224.0.0.0/4 range, which the router might not understand how to route locally then getting this working is not always trivial.
How to get it working:
1) You need to be on a provider who has configured their routers for multicast, and has joined the BBC multicast trial ( i.e. Zen
)
*Note: All Zen's gateways should now be multicast enabled, inlcuding the Rochdale LLU gateway.
2) You need to have an ADSL modem or router that can act as an IGMP proxy.
3) You may need to make configuration changes to your router.
How much bandwidth does it use?
With the advent of 8000 products with a usage allowance I thought it would be helpful to add a few figures:
BBC multicast streams are transmitted at 360kb/s, which is equivalent to 0.04291 MBytes/s, or 154.5 MBytes/hr
So if you watch one hour a day every day for 30 days (a month) that would be 4.52 GBytes used in that month.
(2hrs / day) * 30 days = 9.04 GB,
(3hrs / day) * 30 days = 13.56 GB etc etc
Software required:
You require a Media player to play back the stream. Some compatible players are listed below. If you find that one of the streams does not play then please try another. Also remember to provide the BBC with your feedback!
Compatible hardware
The following hardware is known to work with the BBC multicast service: Many thanks to everyone who has contributed to this information. If you have a USB or internal PCI ADSL modem then this should work. The list mainly concerns routers, where support is more dicey.
- Belkin wireless G router F5D7632-4 Firmware: F5D7632v1.UK.1.00.09 (Cheers 1mbuser)
- BT Voyager 205 router (enable IGMP proxy via the command line interface, instructions here or here) (cheers kitz)
- BT Voyager 210 router (enable IGMP proxy via the web interface)
- BT Voyager 240 router Firmware version: 2.18.01.13_a023g1.d15g (enable IGMP proxy) (cheers ribbit)
- BT Voyager 2110 router (may require firmware upgrade - upgrade here) (cheers Flub)
- Cisco 837 IOS Versions 12.3(14)T, 12.3(8)T IP/FW/Plus 3DES IOS (config here) (cheers Tim.Lad & Tolien)
- Cisco 877(& W) IOS Version 12.4(4)T1 Advanced IP Services IOS (note)(tip!) (cheers Tolien & paulredpath)
- Cisco 1721 IOS 12.3(19) (ACLs and IOS FW inspect - see this post - probably useful if you have ACLs)(cheers chrisgeary)
- Cisco 2600 (full config here) (cheers zen62619)
- DLink G604T (Enable uPnP & Multicast via web interface)
- Linksys WAG354G Firmware Version : 1.01.05 (Enabled IGMP Proxy and UPnP) (Cheers tabact)
- Solwise SAR600e (Via web interface goto Advanced -> Multicast -> "Enable IGMP multicast") (cheers Steep)
- Speedtouch 330 USB modem
- Speedtouch 5x6, 585, 608, 620 (enable via CLI, instructions here. May need computer on switch port 1 to start stream before it will cascade to other ports)
- US Robotics SureCnnect 9105 (
software version 1238_042105-2.14L.01A.A2A015i.d15h) (cheers smapjb)
- US Robotics USR9108 Wireless MAXg ADSL2+ gateway (Enable IGMP multicast via WAN setup, Apply changes + reboot. instructions here) (cheers chrish & zenonline)
- X-Modem M3 (Cheers Cartoonhead)
- ZyXEL Prestige 643 (very similar to other versions. See this post for details.) (cheers dbs)
- Zyxel Prestige 650HW-31 (same instructions as other Zytel models. Tested with firewall off.) (cheers Mike Nolan)
- Zytel Prestige 660HW-61 (Tested in SUA and Full feature NAT. Enable via CLI & disable firewall or add appropriate exceptions) (cheers BlankFrank)
- Zyxel Prestige 661HW/61 (Tested in Full-feature NAT. Used instructions below, but firewall rules need to allow port 5556/UDP for Real & 5050/UDP for Windows Media Player.) (cheers David Rickard)
- Zytel Prestige 662HW (Tested in SUA NAT. Instructions in this linked pdf file, which may be helpful for other Zytel routers also.) (Cheers Ian Stirling for instruction document)
Incompatible hardware
The following hardware has been confirmed to be incompatible with the BBC multicast service in the current firmware version.
- Draytek 2600, 2600+, 2800 series routers.
- Linksys WRT54GS running Sveasoft Talisman Basic 1.1 (thanks Tolien)
- Netgear DG834 series router
- Speedtouch 510 router
- Speedtouch 580. (Speedtouch support say this should work if upgraded to firmware 4.3, and then follow Speedtouch 585 Instructions above. Real world tests say this is not so. - Maybe in the next firmware! Follow the links for the firmware file and firmware upgrade instructions. to confirm yourself) (cheers Ashleyj)
In test - so far unsuccessfully
The following hardware has been tried, but has not yet had a successful multicast test. The hardware in this list is still considered under test until a more conclusive result can be reached.
- Unlisted Cisco ADSL routers. We have heard sporadic reports that these work. Not all IOS version support PIM, and unknown if it will work without this. Possible config here for PIM capable IOS.
- Linksys WAG54Gv2 with firmware versions 1.01.22, 1.01.27 and 1.02.00 - Works for a few mins and then router locks up! (cheers jagusarv12e)
In order to keep this thread tidy I am not allowing replies directly. If you have successfully tested multicast using an unlisted router then please post your findings, together with any special steps required. Similarly if you have found a certain piece of hardware does not work then please post your story, together with the things you have tried. I will update this post periodically as we learn more, and post links to knowledge base articles as they are created.
The thread for posting findings is here. Thanks for your help!
Kindest regards,
James Sweet
http://www.zen.co.uk