I was reviewing some Multicast notes the other day and I thought it would be a good idea to put Multicast vs.Unicast concepts, side by side – having a solid knowledge on Unicast routing, would hopefully allow me (and you) to better understand and memorize some of the multicast related building blocks.

Also, since broadcasts are a major part of Unicast routing, you will see some references to broadcast, as it applies, to some extent, to unicast routing.

Before starting, please note that there are many differences between the two; however, this article is not meant to tackle absolutely all diferences, rather some of the less obvious ones – especially if you are new to Multicast!

So let’s get started!

Broadcasts vs. Multicast

Broadcasts apply to multi-access medium (for example: Ethernet),  has link-local scope (not forwarded by routers) and it is a one-to-all technology (all frames/packets are sent out all interfaces, to all hosts, even if those hosts don’t need them).

In contrast, Multicast relies on routing hence it has network-wide scope; furthermore, Multicast is a one-to-many technology (only interested destinations get the traffic from specific multicast sources).

Addresses and Ranges

I hope you already know pretty much everything there is to know regarding unicast IP ranges. They are 32/128 bits long (IPv4/IPv6), there are multiple classes, etc. Similar concepts apply to Multicast addresses as well.

Multicast addresses are within the range from 224.0.0.0 to 239.255.255.255; there are quite a few classes; you can find below the ones I thought are more  important:

Link Local {224.0.0.0 /24} – in this range you can find addresses used by unicast routing protocols (EIGRP, OSPF, etc.); these are link local hence the same multicast address could be used on each link – the used multicast address doesn’t have to be unique since it is locally relevant;

Global Scope {224.0.1.0 – 238.255.255.255} – these have global scope and must be uniquely used network wide

Administratively Scoped {239.0.0.0 – 239.255.255.255} – Administratively scoped; these are further split into site-local and organizational. It is up to the administrator to define what the boundaries actually are.

Initially, TTL was used to limit the scope of the packets within a network though this has been found not to be a scalable solution.

GLOP Addresses {233.X.Y.0 /24} – used within ISP/ASs; X and Y would represent the AS number

Layer 2 to Layer 3 Address Mapping

The process of mapping L2 to L3 addresses is different – actually, very different. With Unicast routing, the process handled by the ARP protocol; the process concludes with determining the MAC address as set on a particular interface either by the administrator, or hard-set by the vendor. Tough with Multicast, the IP address is determined from the IP address itself and it must match a specific pattern/format – click here for more information.

Routing

Multicast routing is based on the source IP, moving away from the sourceUnicast routing however, is based on destination IP and towards the destination – this process is called RPF (Reverse Path Forwarding) – this also means that a multicast route is dependent on the existence of an active sender and an interested receiver!

With multicast, in the IP packet, the destination address will most likely be a host multicast IP address (/32 mask), whilst the source address will be a unicast IP address, belonging to the host generating the multicast traffic. A multicast address will never show in as a source within the IP packet!

 Multicast can only use UDP, not TCP

One of the ideas behind Multicast in regards to its applications, is efficiency – similarly to voice traffic which also runs over UDP. Besides, a multicast source doesn’t know where the multicast packets actually land since the destination IP works more like  a service IP – the actual hosts interested in the multicast packets will be listening” on that service IP/mac-address.

With multicast, due to the one-to-many nature of the flows, it is impossible to implement the built-in reliability mechanisms available with TCP. Furthermore, multicast is a send-only/receive-only technology hence having a point-to-point TCP question is impossible.


Thank you,
Signature
View Rafael A Couto Cabral's profile on LinkedIn



Leave a reply

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>