Understanding IP Multicasting

multicast-iconWhat is IP Multicasting? -IP multicasting allows a host to send a single packet to thousands of hosts across a routed network i.e. The Internet.

It is used mainly for audio (radio) and video distribution.

In Networking a packet can be sent to:

  • A single host –Unicast = (TCP and UDP)
  • All hosts -Broadcast – (UDP only)
  • A group of hosts – Multicast -(UDP only)






Unicast-Broadcast-Multicast

Broadcasts vs Multicasts

Multicasting is different from IP broadcasting as:

  • Broadcasting uses a single IP address. Host bits set to all 1’s. There are a range of multicast addresses
  • Broadcast messages are not sent through routers but multicast messages are.
  • All hosts will receive broadcasts by default
  • A host must be configured to receive multicast messages.

Multicast Addresses

IPv4 Multicast addresses use the reserved class D address range:

224.0.0.0 through 239.255.255.255

The addresses range between 224.0.0.0 and 224.0.0.255 is reserved for use by routing and maintenance protocols inside a network.

These addresses aren’t forwarded by routers. Many of the multicast addresses are reserved see Muticast Space Registry

How Multicasting Works

On a small home or office network any host can send and receive multicast datagrams.

Multicasting-Home-Network

Note: multicast uses UDP and are sent through switches and hubs.

To receive a multicast message a host must be configured to receive on that multicast address.

All hosts that are configured to receive packets on a particular address are part of a multicast group.

Multicast Groups

A host that is configured to receive datagrams sent to a multicast address becomes part of a multicast group for that address.

A group can have 1 to an unlimited number of hosts. Neither hosts or routers maintain a list of individual group members.

A host can be part of multiple multicast groups and can send to multiple multicast addresses.

A host can send datagrams to a multicast group address even though there are no members of that group, and a host doesn’t need to be a member of a group to send multicast datagrams to that group.

Note: Multicast packets are sent through switches.

Multicast On the Internet

On the Internet multicast packets need to be forwarded by routers.multicast-diagram

A router will determine if any of the hosts on a locally attached network are configured to receive multicast datagrams using IGMP( Internet Group Management  Protocol).

Routers will listen for IGMP messages and periodically  send queries on the local subnet. using the multicast group address 224.0.0.1 (Reserved All hosts address).

Multicast routers do not keep track of which hosts are part of a group, but only need to know if any hosts on that subnet are part of a group.

If a router receives a multicast datagram from another network and has no members for that group address on any of it’s subnets it drops the packet.

Viewing Multicast Packets

On a typical home network there are a variety of protocols that use multicast.

The SSDP (Simple Service Discovery Protocol) uses multicast address 239.255.255.250 on UDP port 1900.

Here is a screen shot from running tcpdump on a raspberry pi.

multicast-example

If you are new to tcpdump then see this tcpdump tutorial

Resources:

Related Tutorials

  1. IP4 Addresses and address classes
  2. IP6 Guide
  3. Understanding TCP/IP ports and sockets
Facebooktwittergoogle_plusredditpinterestlinkedinmail

2 comments

  1. Hi I received a message that my yahoo account was tried for an unauthorised access. The message contains details of ip address – 239.241.36.51 (United Kingdom)
    When I searched for details of ip address it turns out to be a multicast ip address.

    In this case, can an individual be trying to hack my email account. Is there any way to find who tried to hack ?
    You response will be of a great help. Many thanks in advance.

Leave a Reply

Your email address will not be published. Required fields are marked *