330 likes | 348 Views
Chapter 16b. Multicasting. QoS Attributes. Multicasting 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.
E N D
Chapter 16b Multicasting
QoS Attributes Multicasting 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. Chapter 16b Multicasting
Multicast Example - Broadcast (or “Flooding”) Chapter 16b Multicasting
Multiple Unicast Example Chapter 16b Multicasting
Multicast Strategies Chapter 16b Multicasting
True 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 Chapter 16b Multicasting
True Multicast Example Chapter 16b Multicasting
Packets Generated for Transmission Spanning Tree from Source Multicast Group Multicast Operation Chapter 16b Multicasting
Multicast Strategies Chapter 16b Multicasting
Multicast 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 addressesand 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) Chapter 16b Multicasting
Spanning Tree from Router C to Multicast Group Multicast Operation - Duplication Avoidance How do you avoid this problem? Chapter 16b Multicasting
Spanning Tree from Source Multicast Group Multicast 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 Chapter 16b Multicasting
Internet 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 Chapter 16b Multicasting
Multicast 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 Chapter 16b Multicasting
Multicast 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 Chapter 16b Multicasting
Center-Based Routing Trees • Single delivery tree shared by all • One router identified as “center” of tree, designated the rendezvous point • edge router sends unicastjoin-msgaddressed 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 byjoin-msgbecomes new branch of tree for this router Chapter 16b Multicasting
Center-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 Chapter 16b Multicasting
Source-Based Trees with Reverse Path Forwarding • Rely on router’s 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) thenflood datagram onto all outgoing links elseignore datagram Chapter 16b Multicasting
router with attached group member router with no attached group member datagram will be forwarded datagram will not be forwarded Reverse-Path Forwarding Example S: source LEGEND R1 R4 R2 R5 R3 R7 R6 Chapter 16b Multicasting
Reverse-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 Chapter 16b Multicasting
IGMPv4 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) Chapter 16b Multicasting
IGMP 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 (< 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 Chapter 16b Multicasting
IPv6 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 Chapter 16b Multicasting
Multicast 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 Chapter 16b Multicasting
Distance-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 Chapter 16b Multicasting
Multicast 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 Dijkstra’s 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 Chapter 16b Multicasting
MOSPF Routing Chapter 16b Multicasting
Protocol 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 Chapter 16b Multicasting
PIM: 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 Chapter 16b Multicasting
Sparse-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 RP’s group • uses a unicast shortest path route selection (e.g. RIP) • reverse of this path becomes part of that RP’s 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 “Join”ed that group Chapter 16b Multicasting
PIM - 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 Chapter 16b Multicasting
PIM - 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 Chapter 16b Multicasting
PIM Routing Example Chapter 16b Multicasting