Title: Chapter 16b
1Chapter 16b
2Multicasting Applications
- Multimedia
- television, presentations, etc.
- Teleconferencing
- voice and video
- Database
- replication and updates
- Distributed computing and real-time workgroup
- exchange of results, files, graphics, messages,
etc.
3Multicast Example - Broadcast
(or Flooding)
4Multiple Unicast Example
5Multicast Strategies
6True Multicast
- Source knows network location of multicast group
members - identifies least cost path to each member
- establishes a partial spanning tree to reach all
group member networks - Source node sends single packet along tree path
- Packet is replicated by routers at each branch
point in path
7True Multicast Example
8Multicast Operation
9Multicast Strategies
10Multicast Requirements
- Unique multicast addressing scheme
- IPv4 Class D addresses 1110, followed by 28-bit
group identifier - IPv6 11111111, 3 flag bits, 4 scope bits, and
112-bit group identifier - Nodes must be able to translate between multicast
addresses and list of networks that have members - Routers must translate between multicast address
and subnetwork addressing (e.g. MAC multicast) - Must have mechanism for hosts to inform routers
of group membership/exclusion - Routers must have mechanism for determining and
applying multicast routing paths (multiple
outbound paths for the same received packet)
11Multicast Operation - Duplication Avoidance
How do you avoid this problem?
12Multicast Operation - Duplication Avoidance
- Multicast routing is based on knowledge of source
as well as multicast destination - Each router must calculate spanning tree for
source node and route on that basis - Multicast routing algorithms must support this
capability
13Internet Multicast Service Model
128.59.16.12 (m/c group member)
128.119.40.186 (source)
multicast group 226.17.30.197
128.34.108.63 (m/c group member)
128.34.108.60 (m/c group member)
- multicast group concept use of indirection
- hosts addresses IP datagram to multicast group
- routers forward multicast datagrams to hosts that
have joined that multicast group
14Multicast groups
- class D Internet addresses reserved for
multicast - host group semantics
- anyone can join (receive) multicast group
- anyone can send to multicast group
- no network-layer identification to hosts of
members - needed infrastructure to deliver mcast-addressed
datagrams to all hosts that have joined that
multicast group
15Multicast Routing Mechanisms
- Group-Shared or Center-Based Tree
- Single optimum (shortest path) shared tree for
all senders/ receivers - Typically based on use of a center (rendezvous
point) of the tree - Source-Based Tree
- Optimum routing tree for each source (sender) in
a multicast group - Typically uses reverse path forwarding
16Center-Based Routing Trees
- Single delivery tree shared by all
- One router identified as center of tree,
designated the rendezvous point
- edge router sends unicast join-msg addressed to
the rendezvous point (center router) - join-msg processed by intermediate routers and
forwarded towards center - join-msg either hits existing tree branch for
this center, or arrives at center - path taken by join-msg becomes new branch of tree
for this router
17Center-Based Routing Example
Suppose R6 chosen as center
LEGEND
R1
router with attached group member
R4
3
router with no attached group member
R2
2
1
R5
path order in which join messages generated
R3
1
R7
R6
18Source-Based Trees with Reverse Path Forwarding
- Rely on routers knowledge of unicast shortest
path from it to sender - Each router has simple forwarding behavior
if (mcast datagram received on incoming link on
shortest path back to sender) then flood
datagram onto all outgoing links
else ignore datagram
19Reverse-Path Forwarding Example
S source
LEGEND
R1
R4
R2
R5
R3
R7
R6
20Reverse-Path Forwarding Example
- forwarding tree contains subtrees with no
multicast group members - no need to forward datagrams down subtree
- prune messages are sent upstream by router with
no downstream group members
LEGEND
S source
R1
router with attached group member
R4
router with no attached group member
R2
P
P
R5
prune message
links with multicast forwarding
P
R3
R7
R6
21IGMPv4 Message Format
RFC 2236
- Type
- Membership Query learn group members on network
- Membership Report declare group membership
- Leave Group declare departure from group
- Max Response Time
- in Membership Query only
- max time before sending response in 1/10 second
units - Checksum 16-bit ones complement
- Group Address IP multicast address (zero in
request message)
22IGMP Operation
- Hosts send Membership Report to join groups
- sent in IP datagram with IP destination address
equal to Group Address - therefore, routers and other hosts are informed
of new member - Multicast routers periodically broadcast
Membership Query to maintain current list - hosts must reply with Report for each group in
which it wants to remain - if a host hears another Membership Report for one
of its groups within a random timer value (lt
maximum response time) , it cancels its report
(why??) - Hosts send Leave when it leaves a group
- Routers then use group-specific Query to
determine if any other member of this group are
left
23IPv6 Group Membership
- IGMP-like functions incorporated into new version
of ICMP for IPv6 (ICMPv6) - ICMPv6 includes group membership query and report
messages, and a new group membership termination
message
24Multicast Routing Algorithms
- DVMRP distance vector source-based with RPF/RPM,
based on RIP - MOSPF link-state source-based, extension of OSPF
- CBT core-based tree
- PIM-DM protocol independent, dense
- PIM-SM protocol independent, sparse
- MBONE tunneling via backbone
25Distance-Vector Multicast Routing Protocol (DVMRP)
- The first and, arguably, most widely-deployed
multicast routing algorithm used in the Internet - Straightforward implementation of source-based
trees - with reverse-path forwarding and pruning
- pruned branches automatically restored after
specified prune lifetime - Uses distance-vector algorithm to determine next
hop for best path back to the source
26Multicast Extensions to OSPF
- Direct extension to OSPF unicast routing
- MOSPF is designed to operate within a single AS
to generate source-specific, pre-pruned,
least-cost trees for each multicast group - Multicast spanning trees calculated on demand
using Dijkstras algorithm - Routers periodically flood group membership
information to all other routers in its area - added to the link-state advertisements that are
used with OSPF
27MOSPF Routing
28Protocol Independent Multicast (PIM)
- More general solution to multicast routing
- Key assumption members of any given multicast
group are few and widely-dispersed - Independent of underlying unicast routing
algorithm - Uses multiple shortest-path unicast routing
approach - Two modes of operation (actually, two separate
algorithms) - dense mode intra-AS
- sparse mode inter-AS
29PIM Protocol Independent Multicast
- not dependent on any specific underlying unicast
routing algorithm (works with all) - two different multicast distribution scenarios
- Dense
- group members densely packed, in close
proximity. - bandwidth more plentiful
- Sparse
- networks with group members small wrt
interconnected networks - group members widely dispersed
- bandwidth not plentiful
30Consequences of Sparse-Dense Dichotomy
- Sparse
- no membership until routers explicitly join
- receiver- driven construction of mcast tree
(e.g., center-based) - bandwidth and non-group-router processing
conservative
- Dense
- group membership by routers assumed until routers
explicitly prune - data-driven construction on mcast tree (e.g.,
RPF) - bandwidth and non-group-router processing
profligate
31PIM- Dense Mode
- flood-and-prune RPF, similar to DVMRP or MOSPF
but - underlying unicast protocol provides RPF info for
incoming datagram - less complicated (less efficient) downstream
flood than DVMRP reduces reliance on underlying
routing algorithm - has protocol mechanism for router to detect it is
a leaf-node router
32Sparse-mode PIM Operation
- One router is designated as the RP (rendezvous
point) for each multicast group (center-based
tree, like CBT algorithm) - Group destination routers send Join messages to
RP requesting membership for its hosts in the
RPs group - uses a unicast shortest path route selection
(e.g. RIP) - reverse of this path becomes part of that RPs
shared distribution tree - Source nodes send messages intended for a group
to the RP for that group - uses a unicast shortest path route from source to
RP - RP routes packets, using the group-shared tree,
back toward routers that have Joined that group
33PIM - Sparse Mode
- center-based approach
- Group router(s) send join msg to the rendezvous
point (RP) - intermediate routers update state and forward the
join - after joining via RP, router can switch from the
group-shared tree to a source-specific tree - increased performance less concentration,
shorter paths
R1
R4
join
R2
join
R5
join
R3
R7
R6
rendezvous point
34PIM - Sparse Mode
- Multicast sources(s)
- Register with RP
- RP can extend the multicast tree upstream to a
source - Send data to RP, via unicast path, which then
distributes data down RP-rooted tree - RP can send stop msg to a source if all receivers
leave a group - no one is listening!
R1
R4
R2
R5
RP
R3
R7
R6
all data multicast from Rendezvous Point
Source
35PIM Routing Example
?
?
?
?