Multicasting and Multicast
Routing Protocols
Chapter 12
Unicasting
Source Legend
Ethernet switch
Point-to-point WAN
Unicast router
4
R1 3
1 2
R2 R3 3 R4
1 2
Recipient
is here
N1 N2 N3 N4 N5 N6
2
Multicasting
Source
Legend
Ethernet switch
Point-to-point WAN
Multicast router
R1 4 3
1 2
3 3
R2 R3 R4
1 2 1 2
No No At leasts No At leasts At leasts
member member one member member one member one member
3
Multicasting versus Multiple Unicasting
Legend
S1 Multicast router S1
Unicast router
Di Unicast destination
Gi Group member
G1 G1 G1 G1 D1 D2 D3 D4
a. Multicasting b. Multiple unicasting
4
Multicast Applications
Information Dissemination
Teleconferencing
Distance Learning
5
Multicast Addresses
6
Multicast Addresses
Multicast addresses for protocol control traffic
7
Delivery of Multicast Packets at Data Link Layer
Ethernet multicast address range:
[Link] to [Link]
8
Tunneling
When network does not support multicast, multicast
packet encapsulated in unicast packet and sent through
the network (tunneling)
9
Multicast Backbone (MBONE)
Uses logical tunneling for multicasting between
noncontiguous multicast routers
10
MBONE
11
Internet Group Management Protocol (IGMP)
Multicast routers need to collect information
about members and share it with each other
Information collected locally by multicast router
connected to network (IGMP protocol)
Collected information globally propagated to
other routers (multicast routing protocols)
12
Internet Group Management Protocol (IGMP)
IGMP is group management protocol
Helps multicast router create and update list of
members related to each router interface
Provides source-specific multicast
Recipient can choose to receive multicast packets
coming from list of predefined sources
13
IGMP Messages
14
Membership Query Message
Sent by router to find active group members in network
Max Response Code: defines maximum time before sending
report in response to query
15
Three Forms of Query Messages
Router probes each Router probes each Router probes each
neighbor to report if neighbor to report if it
neighbor to report if
it is still interested in is still interested in
it is interested in any
receiving packets from
multicast group specific multicast
specific multicast
group group, coming from
any of N sources
16
Membership Report Message
17
Record Type
Each host has record for each multicast group
Group record has one of two modes:
Include: List source addresses accepts packets from
Exclude: List source addresses does not accept from
Report message has six record types
18
Record Type
Filter-Mode-Change Record
Change_To_Include_Mode
Change from Exclude filter mode to Include filter mode
Change_To_Exclude_Mode
Change from Include filter mode to Exclude filter mode
Source-List-Change Record
Allow_New_Sources
Change to Include source list: add sources to the list
Change to Exclude source list: delete sources from the list
Block_Old_Sources
Change to Include source list: delete sources from the list
Change to Exclude source list: add sources to the list
19
IGMP at Host - Socket State
Each process (associated with socket) on host has
record for each multicast group
20
IGMP at Host - Interface State
Interface connecting host to network has record for
each multicast group
Combines socket records with same multicast group
21
IGMP at Host - Interface State
Socket state
[Link] :
[Link] :
22
IGMP at Router - Router States
Router maintains state information for each multicast
group associated with each network interface
Forwarding (or not forwarding) received packet
based on router Interface state
Group timer Source timer
23
IGMP Message Encapsulation
IGMP messages encapsulated in IP datagrams
Destination IP address depends on message
type
24
Multicast Routing
Multicast routers need to collect information
about members and share it with each other
Information collected by IGMP is disseminated to
other routers using multicast routing protocols
In multicast routing, each router constructs
shortest path tree for each group
25
Unicast Routing
Each router has table defines shortest path tree to destinations
26
Multicast Routing using Source-Based Tree
Each router has one shortest path tree for each group
27
Multicast Routing using Group-Shared Tree
Only core router has shortest path tree for each group
28
Multicast Routing Protocols
29
Multicast Link State Routing
Uses source-based tree approach
Extension of unicast link state routing
Node advertises group with members on the link
Router creates n shortest path trees (for n groups)
using Dijkstra’s algorithm
30
Multicast Open Shortest Path First (MOSPF) Protocol
Extension of OSPF Protocol
Uses multicast link state routing to create source-
based trees
Uses new link state update packet to associate
source with group (group-membership LSA)
Router calculates shortest path trees on demand
31
Multicast Distance Vector Routing
Uses source-based tree approach
Uses four strategies, each built on its predecessor
Flooding
Reverse Path Forwarding (RPF)
Reverse Path Broadcasting (RPB)
Reverse Path Multicasting (RPM)
32
RPF
Flooding broadcasts packets, but creates loops
RPF eliminates loop in flooding
33
Problem with RPF
RPF dose not guarantee each network receives only
one copy of packet
34
RPF versus RPB
RPB guarantees each destination receives only one
copy of packet
35
RPF, RPB, and RPM
RPM adds pruning and grafting to RPB to create multicast
shortest path tree supports dynamic membership changes
36
Distance Vector Multicast Routing Protocol (DVMRP)
Source-based routing protocol
Uses multicast distance vector routing
Based on RIP
37
Core-Based Tree (CBT) Protocol
Group-shared routing protocol
38
CBT - Sending Multicast Packets
Source is not group member
39
CBT - Sending Multicast Packets
Source is group member
Source
40
Protocol Independent Multicast (PIM)
PIM Dense Mode (PIM-DM)
Used in dense multicast environment
Source-based routing protocol
Uses RPF and pruning/grafting
Operates like DVMRP
PIM Sparse Mode (PIM-SM)
Used in sparse multicast environment
Group-shared routing protocol
Operates like CBT
41