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
?
?
?
?