CPS 472/572
Computer Networking
Lecture 19: Multicast Routing
Dr. Jennifer Seitzer
Motivation:
One of the newest and most prevalently used
networking techniques today is multicasting where a single packet is sent from
one source to multiple destinations.
Because of their tolerance to loss and their intolerance to delay,
multicasting is used by many multimedia applications. Tonight, we discuss the issues of routing multicast datagrams and
the underlying protocols used at the network layer of the Internet to
accurately control these datagrams.
Readings: Section 4.8
Multicast Routing
r Multicast – the sending of a
packet from one sender to multiple receivers with a single send operation
r Connection-Oriented at the
Network Layer
r State Information must be
kept
m Established and maintained in
routers that handle multicast packets
m A combination of signaling
and routing protocols
m Connections must be set up,
maintained, and torn down
Two Possibilities for
Multicasting
Single Datagram Approach
r Sender sends datagram
r Router copies and forwards
over as many links as necessary
r Uses a network layer protocol
r More efficient (only a single
copy of a datagram will ever traverse any link)
The IGMP Protocol
r Operates between a host and
directly attached router
r Enables a host (application)
to join a multicast group
r Operates locally
m There is no network layer
protocol that operates among all the Internet hosts in a group
m No group membership tracer
The IGMP Message Types
r General Membership Query
m Sent by router to all LAN
nodes
m Asks “what multicast groups
have you joined?”
r Specific Membership Query
m Sent by router to all LAN
nodes
m Asks “are you a member of
<specific> multicast groups ?”
r Membership Report
m Sent by host to router
m Reports “I am a member of the
<specific> multicast groups.”
r Leave Group
m Sent by host to router
m Optional (if no explicit
report, it will timeout)
r Feedback suppression
m Only needs to hear from one
host per multicast group
m Anymore is redundant
r Soft State
m In Internet protocol, soft
state is removed via a timeout event
m The state of hosts joined to
a given multicast group is removed if a membership_report message is not
received in a certain time period
The IGMP Protocol at Network
Layer
r Joining is receiver-driven
r Sender does not know
recipients
r Sender has not control who
joins the group (and who receives the datagrams)
r There is no control over who
sends to the group
r Other Problems:
m Foreign user may inject
packets
m Two groups could choose the
same multicast address
• Results in interleaved extraneous multicast
traffic
r Application Layer:
m Filtering
m Ordering
m Privacy
r Mimics the primitive unicast
behavior of IP
Multicast Routing
Two Methods of Multicast
Routing
Group Shared Multicast Routing
r Optimal multicast routing
tree -
m Has the smallest sum of the
tree link costs
m Steiner Tree
m None of the existing Internet
multicast routing algorithms have been based on this approach
r Not currently used because:
m Information is needed about
all links in the network
m Algorithm needs to be re-run
every time the network changes
m Poor ability to leverage
unicast routing tables
Center Based Tree
r Creates itself using Unicast
routing
m Identify a center
m Routers with hosts unicast a
JOIN to center
m Unicast forwarded until it
encounters tree
m Path that the JOIN followed
defines a new branch of the tree
r Creates itself using Unicast
routing: EXAMPLE
m Assume E is center
m F joins by sending a message
to E; tree is now one branch
m B joins by sending E a
message; path includes non-participating
router D
m A joins by sending E a
message; assume it goes through B,
therefore the edge AB is now appended to the tree
Source Based Tree Methods
r Least Cost Path Multicast
Algorithm
m Min Cost Tree is constructed
for each source
m Based on Dijkstra’s for
unicast
m Different than Steiner tree
m Link state algorithm where
every router knows the state of each link
r Reverse Path Forwarding (RPF)
m Router forwards a multicast
packet on all outgoing links
if
the incoming link on which the datagram came is on its own shortest path back
to sender
otherwise
the multicast packet is discarded
m each router only needs to
know the next hop to every other multicast router
Source Based Tree Methods
r Example Reverse Path
Forwarding
m A sends source-S packet to C
and B
m B forwards the packet from A
to C and D; B will ignore any other
copies (e.g., from C)
m C will also ignore any other
copies(e.g., from B)
r Pruning
m D forwards to G (even though
no hosts as group members)
m G will send a PRUNE message
to D
m If a router receives prune
messages from each of its downstream routers, then it can forward a prune
message upstream.
m Later if a branch needs to be
added again, an explicit “graft” message or a timeout on the prune can be used.
Multicast Routing in the Internet
r DVMRP – Distance Vector
Multicast Routing Protocol
r MOSPF – Multicast Open
Shortest Path First
r CBT – Core Based Tree
r PIM – Protocol Independent
Multicasting
Distance Vector Multicast
Routing Protocol
r Deployed in 1998
r Most widely supported
r Uses source based trees – n
separate trees each rooted at a participating router in the multicast group
r Uses reverse path forwarding,
pruning, grafting
r Each router computes next hop
AND a list of dependent downstream routers (to facilitate pruning)
r Public version available: mrouted
Multicast Tunneling
r Only a small fraction of the
Internet supports Multicasting…
m Tunneling- used to create a virtual
network on top of a physical network comprised of a mix of unicast and
multicast routers
r Example
m A encapsulates the multicast
datagram into a unicast datagram
m A sends the unicast datagram
to B using standard routing
m The intermediate routers
forward the unicast datagram to B
m B receives and extracts the
multicast datagram
m B, then, can do any (and all)
of the following
• Forward
multicast datagram to any attached hosts in group
• Forward
multicast datagram to directly attached neighboring multicast router
• Forwards
to next multicast router via tunneling
Multicast Open Shortest Path
First
r Operates in single autonomous
system that uses OSPF
r MOSPF augments the
advertisements with multicast group membership
r Routers have knowledge of
their neighboring topology as well as which routers have participating hosts
r Therefore, routers can create
m Source specific
m Pre-pruned
m Shortest path trees
Core Based Tree
r Creates one bi-directional
single tree
r Uses the dynamic unicast tree
builder:
m A multicast router unicasts a
JOIN_REQUEST
m The path forms a branch
m Response is a JOIN_ACK
message
m Time-outs are used to
maintain with “keep alive” messages to which timers are set; subtree is FLUSHED if timer expires
Protocol Independent Multicast
r Hybrid of source-specific and
group-shared tree
r ‘Independent’ of underlying
unicast protocol
r Operates in two modes
m Sparse – routers are
dispersed
• Group shared tree
(center based approach)
• Calls center
“rendezvous point”
m Dense – routers are closely
positioned
• Source specific
tree
• Flood-and prune
reverse path forwarding technique similar to DVMRP
Inter-AS Multicast Routing
r Autonomous system – routers
may run varying routing algorithms
r Current area of research
r DVMRP is currently the de
facto
m Dense mode algorithm
m Not really suited to the
Mbone (the multicast backbone of the Internet)
Evaluating a Multicast
Protocol
r
Scalability
– how
does it handle varying sized multicast groups?
How does it handle many groups?
r
Reliance
on underlying unicast routing – to what extent does a multicast protocol rely on information maintained
by an underlying unicast routing protocol?
r
Excess
Traffic spawned/received – does the router receive datagrams with no hosts as members (DVMRP,
PIM-dense) or does the router only
receive pertinent information to its hosts (MOSPF, PIM-sparse)?
r Traffic concentration – the group shared tree
approach tends to concentrate traffic on certain links (toward the center)
possibly forming bottlenecks
Homework 3:
Page 373:
13-16, 18, 20