8/2/2019 Multicast Final
1/31
Multicast Routing
8/2/2019 Multicast Final
2/31
The Basic Idea
IP Multicast traffic for a (source, destinationgroup) pair is transmitted from the source tothe receivers via a spanning tree that
connects all hosts in the group. Differentrouting protocols use different techniques tobuild the trees. Once constructed allmulticast traffic is distributed through the tree
8/2/2019 Multicast Final
3/31
Communication Tiers
Locally: host informs local multicast router ofdesire to join the group (using IGMP)
Globally: local routers interact with otherrouters to receive multicast packets (usingDVMRP, MOSPF, PIM)
8/2/2019 Multicast Final
4/31
Introduction: Uses
Bulk data transfer (software updates, mailinglist distribution, stock updates)
Streamed Continuous Media (audio/visualconferences)
Shared Application Data (shared whiteboard)
Interactive Gaming or Simulations (very
intensive)
8/2/2019 Multicast Final
5/31
The Mbone
Collection of multicast subnetworks(islands)interconnected (tunneled) through theInternet for faster multicast deployment
Started in 1992 with 40 subnets; up to 2800subnets in 1996
Based primarily on UDP for end-to-end
transmission, IGMP for group management,and DVMRP for routing
Use sd (session directory) to get a listing ofactive multicast sessions
8/2/2019 Multicast Final
6/31
Multicast Propertiess
Must service a variety of applications (somehave specific timing needs)
The overall group should not be effected byindividual join/leave operations
Connectionless
Current Best-effort service
8/2/2019 Multicast Final
7/31
Two Scenarios
Dense ModeGroup members are densely distributed throughout network(i.e. Many subnets contain at least one group member)
Bandwidth is plentifulUses flooding to propogate information
Protocols include: DVMRP, MOSPF, PIM-DM
Sparse ModeGroup members are sparsely distributed throughout network
Bandwidth is restricted (such as ISDN, home users)
Uses selective techniques to set up and maintain multicasttrees
Protocols include: CBT, PIM-SM
8/2/2019 Multicast Final
8/31
What defines a group?Network Group: logical grouping to controlmembership in local group (group address,group identifier, group properties, and groupmanagement)
Social Group: participants in thecommunication
Group management procedures advertisegroups to potential members, broadcastrouting information to multicast nodes, andcontrol various group properties
8/2/2019 Multicast Final
9/31
IGMP
The host sends IGMP report when anapplication joins the multicast group
IP_ADD_MEMBERSHIP socket option
host not required to explicitly "unjoin" group when leaving
The router sends IGMP query at regularintervals which hosts belonging to themulticast group are obligated to reply
8/2/2019 Multicast Final
10/31
IGMP Evolution
IGMPv1:
Router sends HostMembership Query
msg broadcast onLAN
Host replies toindicate groupmembership
Randomized delaybefore respondingImplicit leave viano reply toQuery(timeout)
RFC 1112
IGMPv2:
Added Group-SpecificQuery
Elected routerqueries to see ifany hosts left ingroup
Leave GroupMessage
Last host replyingto query can sendexplicit LeaveGroup msg
RFC 2236
8/2/2019 Multicast Final
11/31
IGMP Evolution (cont.)
IGMPv3:
Lets source know if nobody is listening
Receivers can selectively choose sources to listen to(source pruning)Still being designed
8/2/2019 Multicast Final
12/31
Virtual Circuit Group Mgmt
Group of endpoints named at circuit setuptime
Master may be able to later add newreceivers or senders to multicast circuit
Challenges in reducing state informationrequired when adding new receivers
8/2/2019 Multicast Final
13/31
Routing Algorithms: The
RequirementsMinimize network load. Need to optimizenetwork resources while avoiding loops andconcentrated traffic
Reliable transmission: data deliveryshouldn't be affected by routing changes, linkfailures, etc.
Use optimal routes as determined byresource availability, bandwidth, nodeconnectivity, price paid
Minimize router state (especially for larger
groups)
8/2/2019 Multicast Final
14/31
The Building Blocks
Most routing protocols use these basic treealgorithms
Reverse Path Forwarding (one tree per source)
Flood and prune
Steiner Trees (a minimal spanning tree, which isshared for entire group)
Core-based Trees (one tree per group)
8/2/2019 Multicast Final
15/31
Desirable Characteristics
Flooding can be danagerous inheterogeneous networks. Have toperiodically flood if new receiver appears
Recall the challenges for routing algorithms:Evolve with group membership. Algorithm should uniquelyidentify group members
Minimize state information in the nodes
Optimize routing given cost considerationsAvoid traffic concentration
8/2/2019 Multicast Final
16/31
Reverse Path Forwarding
Rely on router's existing knowledge ofunicast routing table (shortest path from selfto sender)
Best for densely distributed receivers
Result of algorithm is are directed graphs:source-rooted delivery trees emanating from
the subnet directly connected to sourceEfficient and easy to implement but doesn'tuse group membership information to buildthe tree so packets may hit subnets without
members
8/2/2019 Multicast Final
17/31
RPF with Pruning
Use RPF technique plus record groupmembership.
Timer controlled; have to periodically floodand re-prune to capture new members
Requires state information per source andper group to be kept at each node (leads to
scalability problems)
8/2/2019 Multicast Final
18/31
Steiner Trees
Minimum cost tree connecting all routers withattached group members; network resourcesare globally optimized
NP-complete problem; but good heuristicsexist
Forms an undirected tree ==> symmetric
linksGenerally not used in practice:
computational complexity
requires knowledge of entire network topology
must be rerun when a router needs to leave/join
8/2/2019 Multicast Final
19/31
Core-Based Trees
Single tree shared by everybody(multiple sender / multiple receiver)
One router is labeled as center of tree (but
finding center is NP-complete)Receiver based approach; packets naturallylimited to group members
Best for sparse receiver distributionState only kept per group (not forsource/group pairs)
Can lead to traffic congestion
8/2/2019 Multicast Final
20/31
Algorithms Summary
Most algorithms include challengingparameters (network topology, groupdynamics, member location, other routing
algorithms)Requirements for the optimal algorithm:
Should be transparent to the members that remain in agroup
Should maintain properties of the original route
Should not perturb ongoing data transfers
Should be receiver driven (so it adapts well tochanging group membership)
8/2/2019 Multicast Final
21/31
Routing Protocols
Distance-vector multicast routing protocol(DVMRP): flood and prune
Multicast Open Shortest Path First (MOSPF):source-based trees (RPF)
Protocol-Independent Multicast - DenseMode (PIM-DM): flood and prune
Protocol-Independent Multicast - SparseMode (PIM-SM): core-based trees
Inter-domain Multicast Routing (IDMR):border gateway multicast protocol
8/2/2019 Multicast Final
22/31
DVMRP
RFC 1075 (original RFC)
An extension to RIP: multicast routers share
reverse path distances to build the (source-based) delivery tree for each group then usepruning
Use TTL to define distance packet will travel
Hierarchical DVMRP in the works: defineregions within which any protocol can beused and DVMRP is used between regions(not yet deployed)
8/2/2019 Multicast Final
23/31
MOSPF
RFC 1584
Designed for a single routing domain;
depends on OSPF for unicast routingRouters build efficient shortest path source-based trees without initially flooding
Higher link effieiency (routers can discard
packets immediately based on TTL valuesComputation on demand (only when the firstpacket from source to group is received)
8/2/2019 Multicast Final
24/31
PIM-DM
Used when group membership is plentifulwithin a region of an internet
Like DVMRP but imports unicast routesinstead of calculating for self (thus theindependence)
8/2/2019 Multicast Final
25/31
PIM-SM
Used when group members are spread thinlyacross regions of an internet
Join messages are sent to rendezvous pointsto meet new sources
Uses shared trees
8/2/2019 Multicast Final
26/31
Mobile Hosts
When mobile unit wants to send to group, ituses RPF-based approach from the mobilesupport router
When mobile unit wants to receive amulticast packet, the packet is sent to thewired address of the mobile unit thenforwarded to the mobile address
Main Problems: 1. Mobile source packetsmay not reach all group members; 2. Mobilehost may see delays as enters a new cell; 3.TTL can limit cell reachability
8/2/2019 Multicast Final
27/31
ATM EnvironmentsIntroduced point-to-multipoint in UNI for audioconferences
Multigroup address concept doesn't exist inATM; sender has to know all members of thegroup
Only VC root node may add or remove leafnodes
Various Approaches: MPOA(multi-protocolover ATM), VC mesh (sender to allmembers), MCS per cluster, SMART, MARS,Lan Emulation
8/2/2019 Multicast Final
28/31
Traffic ControlProblems introduced by multicast:
Retaining capabilities for heterogeneity
Defining fairness and relative fairness between unicastand multicast
Timescales for congestion controlScaling of control traffic and techniques
Design Issues include:Scalable feedback mechanism
Congestion detection by receivers not sendersProbabilistic query/reply schemes, random delayresponses
Number control packets fixed WRT data packets
RTP, RLM (receiver-driven layeredmulticast)
8/2/2019 Multicast Final
29/31
End to End Concerns
Reliability: don't want every receiver to ACKthe sender; better solution is to use NACK
Reliability protocols include: Virtual tokenring-based protocol, XTP, SRM
QoS options for group communication:Parameters defined by sender with no negociation
Parameters equal to minimum of each group memberSenders send with higher QoS and each receiver controls forself
Resource reservation very complex
QoS overall not an easy problem
8/2/2019 Multicast Final
30/31
Scalability
Need to make join and leave operations asefficient as possible
Hierarchical group addressing (and routing)schemes are being developed
8/2/2019 Multicast Final
31/31
security
Efficient key distribution scheme for multiplerecipients
Group communication leads to greateropportunity for traffic analyzers, denial ofservice attacks, covert channel signaling
May become too complex to understand link
usage (for filtering rules)