IP Multicasting 1 IP Multicasting Motivation Problem Want
IP Multicasting 1
IP Multicasting: Motivation • Problem: Want to deliver a packet from a source to multiple receivers • Applications: – Streaming of Continuous Media: • Video/audio broadcasting, Live Lectures over the Internet – Teleconferencing: • Live audio/video exchange between multiple users in a conference – Distributed Interactive Gaming: • Quake… – All require the sending of a packet from one sender to multiple receivers within a single “send” operation 2
Multicast via Unicast • Source (sender) keeps track of all receivers • And sends N unicast datagrams, one addressed to each of N receivers • Waste of Resources – Same packet crosses the same link multiple times • Receiver Maintenance – How do you keep track of all receivers? routers forward unicast datagrams multicast receiver (red) not a multicast receiver 3
Multicast as a network layer service • Routers actively participate in multicast, making copies of packets as needed and forwarding towards multicast receivers r Exactly one data copy is transmitted on each network link. r Routers must be aware of every multicast group Multicast routers (red) duplicate and forward multicast datagrams r Most efficient use of network resources, but 4 requires router support!
Internet Multicast Service Model 204. 59. 16. 12 171. 119. 40. 186 multicast group 226. 17. 30. 197 128. 34. 108. 63 128. 34. 108. 60 • Issue: How does a sender identify all receivers? • Solution: Address indirection: A single IP address identifies all receivers in a multicast group – Sender addresses IP datagram to multicast group – routers forward multicast datagrams to hosts that have “joined” that multicast group 5
Multicast groups • class D Internet addresses reserved for multicast: • Open group semantics: o anyone can “join” (receive) multicast group o Only receivers join a group! o anyone can send to multicast group even nonmembers • needed: infrastructure to deliver mcast-addressed datagrams to all hosts that have joined that multicast group – multicast routing protocols 6
Mapping Multicast Addresses to Ethernet MAC addresses 7
Joining a mcast group: two-step process • 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 8
IGMP: Internet Group Management Protocol • host: sends IGMP report when application joins mcast group – 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 report 9
Multicast Routing: Problem Statement • Goal: find a tree (or trees) connecting routers having local mcast group members – tree: not all paths between routers used – 2 aproaches • shared-tree: same tree used by all group members • source-based: different tree from each sender to receivers Shared tree Source-based trees
Shared-Tree: Steiner Tree • Steiner Tree: minimum cost tree connecting all routers with attached group members 4 3 2 1 2 2 1 1
Shared-Tree: Steiner Tree • problem is NP-complete – Very hard to solve! • excellent heuristics exists • not used in practice: – computational complexity – information about entire network needed – monolithic: rerun whenever a router needs to join/leave
Steiner vs. Minimum Spanning Tree • Minimum Spanning Tree (MST) is a minimum cost tree that connects all nodes in the graph – Polynomial time algorithms exist • Steiner tree is a minimum cost tree that connects a subset of nodes in the graph (may involve nodes not in the subset) – NP-Complete 13
Center-based trees • single 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
Center-based trees: an example Suppose R 6 chosen as center: LEGEND R 1 3 R 2 router with attached group member R 4 2 R 5 R 3 1 R 6 R 7 1 router with no attached group member path order in which join messages generated
Source Based Approaches: Reverse Path Forwarding q Rely on router’s knowledge of unicast shortest path from it to sender q 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
Source Based Approaches: Reverse Path Forwarding: example S: source LEGEND R 1 R 4 router with attached group member R 2 R 5 R 3 R 6 R 7 router with no attached group member datagram will be forwarded datagram will not be forwarded • result is a source-specific reverse SPT
Source Based Approaches: Reverse Path Forwarding: pruning • 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 S: source R 1 router with attached group member R 4 R 2 P R 5 R 3 R 6 P R 7 P router with no attached group member prune message links with multicast forwarding
Internet Multicasting Routing: DVMRP • DVMRP: distance vector multicast routing protocol, RFC 1075 • flood and prune: reverse path forwarding, source-based tree – RPF tree based on DVMRP’s own routing tables constructed by communicating DVMRP routers – no assumptions about underlying unicast – initial datagram to mcast group flooded everywhere via RPF – routers not wanting group: send upstream prune msgs
PIM: Protocol Independent Multicast • not dependent on any specific underlying unicast routing algorithm (works with all) • two different multicast distribution scenarios : Dense: q group members densely packed, in “close” proximity. q bandwidth more plentiful q Uses RPF Sparse: q # networks with group members small wrt # interconnected networks q group members “widely dispersed” q bandwidth not plentiful q Uses CBT
- Slides: 20