IP Multicast Routing Part One.
Concepts explained inside are : Internet Multicast Backbone, Multicast Addressing and Mapping, Multicast: How it works, IGMP v1,v2,v3 and more.
Note: All slides care of a more detailed explanation about the concepts involved. If you need just that, send me a message and I'll reply with a pdf document with just that. All explanations are in English or/and Portuguese.
Thanks, Pedro Almeida.
2. Things we should talk about..
• Internet Multicast Backbone
• Multicast Addressing and
Mapping
• Most used protocols in
multicast routing
• DVMRP
• MOSPF
• PIM
• Most famous algorithms used
in the protocols explained
above
• RPB
• RPM
• …
• IGMP
3. Multicast 101
• Basic Notions
• Must know about everyone who’s receiving info from multicast groups
• In order to accomplish that build a tree ! (Spanning Tree)
• Multicast Groups are out of network’s scope
• Destination Hosts can be in different networks
• Inside same network someone might not want to receive info from a group.
4. Why multicast addresses are reserved
• Problem:
• Multicast address have a limit
• If the way we reserve addresses is not scalable the entire process of routing will be
harder
• Solution:
• Use addresses that were reserved dynamically
• Process is hierarchical which means is scalable
6. Different terms
• Multicast Address Set Claim (MASC)
Protocol used to reserve multicast addresses given to domains.
• Address Allocation Protocol (AAP)
Protocol that also reserves multicast addresses but this time inside the domains
• Multicast DHCP
Protocol used by any terminal that whishes to have a multicast address.
7. Why Multicast Routing ?
• Let’s imagine for a second an application that can communicate with 100
hosts. Now, if the app sends every message using Unicast datagrams would
have to do it one by one ! It’s everything but efficient !
• If it was done by using Broadcast that would imply that everyone would
receive the message and process it and after that discard it because it might
be one of those hosts that dont want to listen to a group.
• So if we use Multicast we will have only those willing to listen to a specific
group getting the messages sent by the application.
8. Reduced Network Overload
• Using Multicast is the right way to do it. It’s efficient and at the same time
reduces network overload.
• We will see that a big part of the efficient side of this is made by the way a
datagram travels till it reaches the host (Multicast Delivery Tree).
• There is also a tiny field in the IP header (yes, IP is involved in this business)
called TTL which stands for “Time To Live”. This field basically tell the
datagram that he can only travel inside the LAN.
9. Just so you know what a “group” is..
• We have seen the word “group” quite a few time already right ? Well, that’s
because we are talking about multicast that by itself it already defines the
meaning of the word “group” in this context.
• We have said that a multicast message is only received by a host that has an
actual interest in receiving it, so that defines the meaning of “group”.
• Group is a bunch (or even just one) of hosts that have showed interest in
receiving messages from a specific address.
10. Multicast Routing (2)
• The way messages get distributed is based in a concept called Reverse Path
Forwarding. It basically says that a multicast message must never be sent trough the
interface which was received.
• From this concept of never having cycles, we can choose how to distribute the
messages. It can be done by having a Source Rooted Tree or a Shared Tree.
• The first one gives us minimal delay from origin to destination while the second one
gives a bigger delay. Although both have a set of disadvantages and advantages.
11. Final step to clarify things
Group Membership Protocols + Multicast Routing Protocols
=
IP Multicast Routing
• Group Membership Protocols:
Implemented by the router, it gives knowledge about the members connected to groups.
• Multicast Routing Protocols:
Multicast Routers execute one of this so they can define paths to send datagrams across and
by that accomplish the routing process successfully.
12. Internet Multicast Backbone
• It is basically a group of sub-networks connected between each other in
order to support the IP Multicast Routing. Involves a very important idea
called Tunneling.
13. Some math incoming !
• IP multicast group is identified by a Class D address and to send a multicast
packet we will use an Class D address. Is it that simple ? No.
• Just so you know we are located in the
“IP zone”. IP addresses are 32bits(IPv4)
Ethernet addresses are 48bits long.
So we need to perform some sort of
mapping between both types.
14. Mapping between types
• The next image explain everything you need to know about how to perform
mapping between both types of addresses.
• If you still have some questions, please
look at this document :
http://www.cisco.com/en/US/docs/ios/
solutions_docs/ip_multicast/
White_papers/mcst_ovr.html
15. IGMP means group management and ..
IGMP means much more than just group management as you will see.
Because of this protocol Multicast Routing protocols are really efficient.
It gives the possibility to a host of sending messages to tell a router that he
wants to listen to what a specific group has to say.
It has 3 versions as we will see and each one is better and more efficient than
the other before.
16. IGMP v1
• It defines 2 different message types:
• Membership Queries
This type determine if exists any members inside a group on a directly attached
network.
• Membership Reports
Host replies to a Membership Query sending a Membership Report. One for each
group to which it belongs.
17. IGMP v2 and v3
• Both versions are just improvements made to version 1 of IGMP.
• New features in IGMP v2 are:
• Election of an entity called “Querier” (1 per LAN)
• Group-Specific Query – Queries are now made for a specific group instead of every group.
• Leave Group Message – Host can now say “I want to leave this group!”.
• New features in IGMP v3 are:
• Support for Group-Source Messages. Inclusion GS Messages give the possibility of specifying the IP
address from information will come from and Exclusion GS Messages do exactly the opposite.
• With this support features version 3 is more conservative in terms of bandwidth usage.
18. Multicast Forwarding Algorithms
• IGMP is the last step in terms of performing a fully functional multicast
routing. Although IGMP only cares about the multicast forwarding from the
local router to the members of a group directly attached. Those who care
about shipping packets from router to router are called multicast routing
protocols.
• Some well-known are DVMRP, MOSPF and PIM.
• They don’t “work” alone. Along side them are techniques that improve all
the functionalities they provide.
19. First technique – Flooding
• Perhaps the most simple one. It just send a packet to every router inside a
internetwork.
• If it is the first reception of a certain packet the router sends it from all
interfaces except the one it was received. If its not the packet is just
discarded.
• Does not maintain a routing table but since it uses all the paths is very
inefficient. Although every router needs to maintain a table to save records
of the most recent packets just received.