Multicast Applications: Multicast: One Sender To Many Receivers Multicast: One Sender To Many Receivers
Multicast Applications: Multicast: One Sender To Many Receivers Multicast: One Sender To Many Receivers
Multicasting
News/sports/stock/weather updates Distance learning Configuration, routing updates, service location Pointcast-type push apps Teleconferencing (audio, video, shared whiteboard, text editor) Distributed interactive gaming or simulations Email distribution lists Content distribution; Software distribution Web-cache updates Database replication
2
Multicast: act of sending datagram to multiple receivers with single transmit operation analogy: one teacher to many students Question: how to achieve multicast
Multicast: act of sending datagram to multiple receivers with single transmit operation analogy: one teacher to many students Question: how to achieve multicast
Network multicast
Router actively participate in multicast, making copies of packets as needed and forwarding towards multicast receivers
4
Multicast: act of sending datagram to multiple receivers with single transmit operation analogy: one teacher to many students Question: how to achieve multicast
Application-layer
multicast
end systems involved in multicast copy and forward unicast datagrams among 5 themselves
The longevity of the group Number of aggregate packets/second The peak/average used by source Level of human interactivity
Lecture mode vs interactive Data-only (eg database replication) vs multimedia
6
Multicast groups
class D Internet addresses reserved for multicast:
128.34.108.63
128.34.108.60
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
7
host group semantics: o anyone can join (receive) multicast group o anyone can send to multicast group o no network-layer identification to hosts of members needed: infrastructure to deliver mcastaddressed datagrams to all hosts that have joined that multicast group
IP Multicast Architecture
Service model
Host-to-router protocol (IGMP)
Routers Hosts
local: host informs local mcast router of desire to join group: IGMP (Internet Group Management Protocol) wide area: local router interacts with other routers to receive mcast datagram flow many protocols (e.g., DVMRP, MOSPF, PIM)
IGMP wide-area multicast routing IGMP IGMP
10
IP Multicast Concepts
IP Multicast Concepts
Groups can have any size; Group members can be located anywhere on the Internet Group membership is not explicitly known Receivers can join/leave at will
11
12
IGMP
host: sends IGMP report when application joins mcast group IP_ADD_MEMBERSHIP socket option host need not explicitly unjoin group when leaving router: sends IGMP query at regular intervals host belonging to a mcast group must reply to query
query report
13
IGMP version 1 router: Host Membership Query msg broadcast on LAN to all hosts host: Host Membership Report msg to indicate group membership
randomized delay before responding implicit leave via no reply to Query
RFC 1112
Goal:
find a tree (or trees) connecting routers having local mcast group members
tree: not all paths between routers used source-based: different tree from each sender to rcvrs shared-tree: same tree used by all group members
Shared tree
Source-based trees
forwarding tree: tree of shortest path routes from source to all receivers
Dijkstras algorithm
S: source R1 1 R2 3 R3 4 R6 6 R7 2 R4 5 R5 i LEGEND router with attached group member router with no attached group member link used for forwarding, i indicates order link added by algorithm
if (mcast datagram received on incoming link on shortest path back to center) then flood datagram onto all outgoing links else ignore datagram
forwarding tree contains subtrees with no mcast group members no need to forward datagrams down subtree prune msgs sent upstream by router with no downstream group members
LEGEND R1 R2 P R5 P P R7 R4 router with attached group member router with no attached group member prune message links with multicast forwarding
S: source
result is a source-specific reverse SPT may be a bad choice with asymmetric links
R3
R6
Center-based trees
single
Tree: minimum cost tree connecting all routers with attached group members problem is NP-complete excellent heuristics exists not used in practice:
computational complexity information about entire network needed monolithic: rerun whenever a router needs to join/leave
delivery tree shared by all one router identified as center of tree to join:
edge router sends unicast join-msg addressed to 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
DVMRP: continued
Tunneling
Q:
soft state: DVMRP router periodically (1 min.) forgets branches are pruned:
mcast data again flows down unpruned branch downstream router: reprune or else continue to receive data
mcast datagram encapsulated inside normal (non-multicastaddressed) datagram normal IP datagram sent thru tunnel via regular IP unicast to receiving mcast router receiving mcast router unencapsulates to get mcast datagram
physical topology
logical topology
not dependent on any specific underlying unicast routing algorithm (works with all)
Sparse:
group membership by routers assumed until routers explicitly prune data-driven construction on mcast tree (e.g., RPF) bandwidth and nongroup-router processing profligate
no membership until routers explicitly join receiver- driven construction of mcast tree (e.g., centerbased) bandwidth and nongroup-router processing conservative
R4
R5 R7 rendezvous point
R3
sender(s): unicast data to RP, which distributes down RP-rooted tree RP can extend mcast tree upstream to source RP can send stop msg if no attached receivers
no one is listening!
R4
R5 R7 rendezvous point
R3
OSPF to support multicast Multicast-capable routers flag link state routing advertisements Link-state packets include multicast group addresses to which local members have joined Routing algorithm augmented to compute shortest-path distribution tree from a source to any set of destinations
32
Example of MOSPF
Source 1 Z W Q T Receiver 1 Receiver 2
33
Receiver 3
pre-compute all source multicast trees Compute tree on-demand when first packet from a source S to a group G arrives New link-state advertisement
May lead to addition or deletion of outgoing interfaces if it contains different group addresses May lead to re-computation of entire tree if links are changed
36