loader

Data delivery models

Let’s review what Multicast is by first looking into three other types of data delivery.

  • Unicast: one-to-one transmission
  • Broadcast: one-to-all transmission
  • Anycast: one-to-nearest transmission

Multicast is data transmission from one or a group of publishers to a group of subscribers. With that being said we will have different applications with IP Multicast (IETF RFC-3170). An IP multicast application is any application which sends/receives data to/from IP multicast address (224.0.0.0/4).

IP Multicast Application Taxonomy

Why not just unicast?

  • Source must know the address of the destinations.
  • Head-end replication: Source must generate one packet per destination.
  • Bandwidth usage increases.
Unicast Forwarding - Ingress Replication
Unicast Forwarding

So, what is the advantage of Multicast again?

  • The publisher does not need to know who the subscriber is. It’s the job of the network to find the subscribers.
  • Publisher transmits a single feed for all subscribers.
  • Only one packet replicate per interface, saving the bandwidth.
  • Non-subscribers do not receive traffic.
Multicast Forwarding
Multicast Forwarding

Multicast disadvantages:

  • IP Multicast is UDP which is connectionless
    • No acknowledgement (best effort delivery)
    • No congestion avoidance
    • possible out-of-order packets

Why not just use broadcast in LAN? In that case, all end-hosts process all packets even if they don’t want them – which is a burden on receiver’s application layer.

How IP Multicast Works

Here is the flow of traffic from sender tot he receiver.

  • Publisher sends UDP multicast traffic with “group” destination address.
    • Publisher sends traffic to destination address of the group.
  • Subscribers “join” group address by signaling the router(s) on their LAN.
    • Subscribers listen for traffic going to group address.
  • Routers between the source and the detitanation communicate to each other to build a loop-free tree.
  • Groups use both layer 3 (routing) and layer 2 (switching) addresses.

IPv4 Class D Addresses

Former IPv4 Class D address space (224.0.0.0/4) is reserved for multicast purposes (Steve Deering RFC 1112). There are some spaces reserved in this range. The blue and orange sections of the image below show which ranges are available for you to use.

IPv4 Class D Addresses For Multicast
IPv4 Class D Addresses For Multicast

Next, table below illustrates some of L3 and L2 multicast addresses which are familiar with you.

ProtocolL2 AddressL3 Address
OSPF01-00-5E-00-00-05
01-00-5E-00-00-06
224.0.0.5
224.0.0.6
All hosts01-00-5E-00-00-01224.0.0.1
All routers01-00-5E-00-00-02224.0.0.2
VRRP00-00-5E-00-01-XX224.0.0.18
HSRPv200-00-0C-9F-FX-XX224.0.0.102
IGMPv3224.0.0.22
Multicast IPv4 and MAC Addresses

Layer 2 Multicast Addressing

Multicast reserves MAC address range 01-00-5E-00-00-00 to 01-00-5E-7F-FF-FF (although it would be nice if whole OUI 01:00:5E was reserved for Multicast). Considering fixed first 25 bits of MAC address, the last 23 bits of MAC address maps to last 23 bits of an IPv4 address.

You must note that this implies that we have overlap between IPv4 to MAC address mapping. For example, 224.1.1.1, 224.129.1.1 have the same MAC address. Nevertheless let’s see the examples below for the conversion:

IPv4MAC Address
230.255.1.201-00-5e-7f-01-02
224.0.0.1
225.0.0.1
226.0.0.1
01-00-5e-00-00-01
239.1.1.101-00-5e-01-01-01
232.255.254.25301-00-5e-7f-fe-fd
IPv4 to Multicast MAC address conversion

Leave a Reply

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