Download presentation
Presentation is loading. Please wait.
Published byKatherine Jodie McDaniel Modified over 9 years ago
1
CS640 Introduction to Computer Networks Multicast Nov 29 th, 1999 Prof. Lawrence H. Landweber Prof. Jun Murai
2
One to many communication Application level one to many communication multiple unicasts IP multicast SS R R R R R R
3
Why Multicast When sending same data to multiple receivers –better bandwidth utilization –less host/router processing –quicker participation Application –Video/Audio broadcast (TV, radio type) –Video conferencing –Real time news distribution
4
IP multicast service model RFC1112 : Host Extensions for IP Multicasting Transmission of an IP datagram to a "host group", host group identified by a class D IP address Members of the group could be present anywhere in the Internet Members join and leave the group and indicate this to the routers Senders and receivers are distinct: i.e., a sender need not be a member Routers listen to all multicast addresses and use multicast routing protocols to manage groups (IGMP, Internet Group Management Protocol, RFC2236)
5
IP multicast group address Class D address space –high-order three 3bits are set –224.0.0.0 ~ 239.255.255.255 Well-known address designated by IANA –RFC1700 –224.0.0.0 ~ 224.0.0.25 –224.0.0.1 (ALL-SYSTEMS.MCAST.NET) all multicast hosts on the subnet –224.0.0.2 (ALL-ROUTERS.MCAST.NET) all multicast routers on the subnet
6
IGMP – Joining a group R Example : R joins to Group 224.2.0.1 R sends IGMP Membership-Report to 224.2.0.1 DR receives it. DR will start forwarding packets for 224.2.0.1 to Network A DR periodically sends IGMP Membership-Query to 224.0.0.1 (ALL-SYSTEMS.MCAST.NET) R answers IGMP Membership- Report to 224.2.0.1 R: Receiver DR: Designated Router Data to 224.2.0.1 IGMP Membership-Report Network A Network B DR
7
IGMP – Leaving a group R DR Example : R leaves from a Group 224.2.0.1 R sends IGMP Leave-Group to 224.0.0.2 (ALL-ROUTERS.MCAST.NET) DR receives it. DR stops forwarding packets for 224.2.0.1 to Network A if no more 224.2.0.1 group members on Network A. R: Receiver DR: Designated Router Data to 224.2.0.1 IGMP Leave-Group Network A Network B
8
Challenges in this model How to select receivers by a sender ? –need authentication, authorization –encryption of data –key distribution –still under research phase
9
IP multicast routing Purpose: share a Group information among routers, to implement a better routing for data distribution Distribution tree structure –Source tree vs shared tree Data distribution policy –ACK type vs NACK type
10
Source distribution tree Receiver 1 E BADF Source Notation: (S, G) S = Source G = Group C Receiver 2 S RR
11
Shared distribution tree Receiver 1 E BADF Source Notation: (*, G) * = all sources G = Group C Receiver 2 S1 RR Shared Root S2
12
Source tree characteristics Source tree –More memory O (G x S ) in routers –optimal path from source to receiver, minimizes delay good for –small number of senders, many receivers such as Radio broadcasting application
13
Shared tree characteristics Shared tree –less memory O (G) in routers –Sub-optimal path from source to receiver, may introduce extra delay (source to root) –May have duplicate data transfer (possible duplication of a path from source to root and a path from root to receivers) good for –Many senders with low bandwidth –environment such as most part of the shared tree is identical to the source tree
14
Data distribution policy NACK type –Start with “broadcasting” then prune brunches with no receivers, to create a distribution tree –a lot of un-used traffic when small receivers in wide area ACK type –forward only to the hosts which explicitly joined to the group –latency by join propagation and high costs when many receivers
15
Protocol types Dense mode protocols –assumes dense group membership –Source distribution tree and NACK type –DVMRP (Distance Vector Multicast Routing Protocol) –PIM-DM (Protocol Independent Multicast, Dense Mode) Sparse mode protocol –assumes sparse group membership –Shared distribution tree and ACK type –PIM-SM (Protocol Independent Multicast, Sparse Mode) –CBT
16
DVMRP exchange distance vector Maintain ‘multicast routing table’ by exchanging distance vector information among routers –consistent view of a tree among all routers –convenient to have separate paths for unicast versus multicast datagrams ;( ie tunnelings) ‘Dependent routers’ information –information about responsible downstream routers for a source –A downstream router send “poison Reverse” to a selected upstream router to indicate the dependency. –Poison Reverse : metric + 32 (inf) –entry will be removed from the list by prune message Designated Forwarder –multiple routers on the same LAN –lower metric or lower IP address becomes the designated forwarder (discover when exchanging metric info.)
17
DVMRP broadcast & prune Forward multicast packets based on RPF (Reverse path forwarding) rule leaf routers check and sends prune message to upstream router when no group member on the network upstream router prune the interface with no dependent downstream router. Graft message to create a new branch for late participants Restart forwarding after prune lifetime (standard : 720 minutes) draft-ietf-idmr-dvmrp-v3-09.txt ( September 1999)
18
RPF(reverse path forwarding) RPF check –A packet received through interface I, from S (source) to G (multicast group) – packet (S,G) –A router looks into the routing table to find an interface used to send packet to S, I(parent). –If I != I (parent), I is a wrong interface to receive (S,G). –if I = I(parent), I is a correct interface to receive (S, G). If the RPF check succeeds, the datagram is forwarded to all interfaces except I. If the RPF check fails, the datagram is typically silently discarded neverPacket is never forwarded back out the RPF interface!
19
DVMRP (1) form a source tree by exchanging metric Source Receiver 1 S R1 DF source tree
20
DVMRP (2) broadcast Source Receiver 1 S R1 DF source tree datagram
21
DVMRP (3) prune Source Receiver 1 S R1 DF source tree datagram IGMP DVMRP-Prune
22
DVMRP (4) X and Y pruned Source Receiver 1 S R1 DFX Y source tree datagram
23
DVMRP (4) New member Source Receiver 1 S R1 DFX Y source tree datagram R2 Receiver 2 IGMP DVMRP-Graft
24
DVMRP (4) New branch Source Receiver 1 S R1 DFX Y source tree datagram R2 Receiver 2 IGMP DVMRP-Graft
25
PIM PIM : Protocol Independent Multicast –independent of particular unicast routing protocol –Pros: simple, less overhead –Cons: may cause more broadcast-and-prunes All routers in a domain support PIM No multicast tunnel PIM v2 is assigned new protocol 103
26
PIM DM overview(1) Broadcast and prune ideal for dense group Source tree created on demand based on RPF rule If the source goes inactive, the tree is torn down Easy plug-and-play Branches that don’t want data are pruned
27
PIM DM overview(2) Grafts used to join existing source tree Uses Asserts to determine the forwarder for multi-access LAN Prunes on non-RPF P2P links Rate-limited prunes on RPF P2P links
28
PIM DM Forwarding PIM DM interfaces are placed on the “oilist” for a multicast group if; –PIM neighbor heard on interface –Host on this interface has just joined the group –Interface has been manually configured to join group Packets are “flooded” out all interfaces in “oilist” –If a PIM neighbor is present, DM assumes EVERYONE wants to receive the group so it gets flooded to that link by definition
29
PIM Assert Mechanism Routers receive packet on an interface in their “oilist” –Only one router should continue sending to avid duplicate packets. Routers sends “PIM assert” messages –Compare distance and metric values –Router with best route to source wins –If metric & distance equal, highest IP addr wins –Losing router stops sending (prunes interface)
30
PIM DM State Maintenace State is maintained by the “flood and prune” behavior of Dense mode. –Received Multicast packets reset(S,G) entry “expiration” timers. –When (S,G) entry “expiration” timers count down to zero, the entry is deleted. Interface prune state timers out every 210 seconds causing periodic reflooding and pruning
31
PIM-DM(1) Initial flood of data Source Receiver 2 Receiver 1 S R1 A R2 B CD F G H I E
32
PIM-DM(2) prune non-RPF p2p link Source Receiver 2 Receiver 1 S R1 A R2 B CD F G H I E IGMP PIM-Prune
33
PIM-DM(3) C and D Assert to Determine Forwarder for the LAN, C Wins Source Receiver 2 Receiver 1 S R1 A R2 B CD F G H I E IGMP PIM-Assert with its own IP address
34
PIM-DM(4) I, E, G send Prune H send Join to override G’s Prune Source Receiver 2 Receiver 1 S R1 A R2 B CD F G H I E IGMP PIM-Prune IGMP PIM-Join
35
PIM-DM(5) I Gets Pruned E’s Prune is Ignored G’s Prune is Overridden Source Receiver 2 Receiver 1 S R1 A R2 B CD F G H I E
36
PIM-DM(6) New Receiver, I send Graft Source Receiver 2 Receiver 1 S R1 A R2 B CD F G H I E IGMP PIM-Graft Receiver 3 R3
37
PIM-DM(6) new branch Source Receiver 2 Receiver 1 S R1 A R2 B CD F G H I E IGMP PIM-Graft Receiver 3 R3
38
PIM-SM overview (1) Shared Tree for a group with RP (Rendez-Vous Point) as a root Explicit Join Model –Receivers send Join towards the RP –Sender Register with RP –Last hop routers can join source tree if the data rate warrants by sending joins to the source RPF check depends on tree type –For shared trees, uses RP address –For source tress, uses Source address
39
PIM-SM overview(2) Only one RP is chosen for a particular group RP statically configured or dynamically learned (Auto-RP, PIM v2 candidate RP advertisements) Data forwarded based on the source state (S, G) if it exists, otherwise use the shared state (*, G) RFC2362 – “ PIM Sparse Mode Protocol Spec ” (experimental) Internet Draft: draft-ietf-pim-v2-sm-00.txt (October 1999)
40
PIM-SM Basics PIM Neighbor Discovery PIM SM Forwarding PIM SM Joining PIM SM REgistering PIM SM SPT-Swichover PIM SM Pruning PIM SM Bootstrap PIM SM State Maintenance
41
PIM Neighbor Discovery PIM Hellos are multicast to the “All-PIM- Routers” (224.0.0.13, ff02::d) multicast group address periodically Highest IP address elected as “DR” (Designated Router) If “DR” times-out, a new “DR” is elected
42
PIM SM Bootstrap A set of routers are configured as candidate Bootstrap Router(BSR)s –single BSR is selectd for the domain Candidate RPs periodically unicast Candidate-RP- Advertisement messages (C-RP-Advs) to BSR The BSR periodically sends Bootstrap messages containing the set of Candidate-RPs –Bootstrap message are flooded in the domain Routers receive and store Bootstrap messages originated by the BSR.
43
PIM SM State Maintenance Periodic Join/Prunes are sent to all PIM neighbors Periodic Joins refresh interfaces in a PIM neighbor’s oilists Periodic Prunes refresh prune state in a PIM neighbor Received Multicast packets reset(S,G) entry expiration timers.
44
PIM-SM(1) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2
45
PIM-SM(2) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 Receiver 1 Joins Group G C Creates (*, G) State, Sends (*, G) Join to the RP Join
46
PIM-SM(3) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 RP Creates (*, G) State
47
PIM-SM(4) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 Source Sends Data A Sends Registers to the RP Register Data
48
PIM-SM(5) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 RP de-encapsulates Registers Forwards Data Down the Shared Tree Sends Joins Towards the Source join
49
PIM-SM(6) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 RP Sends Register-Stop Once Data Arrives Natively Register-Stop
50
PIM-SM(7) SPT Switchover Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 C Sends (S, G) Joins to Join the Shortest Path (SPT) Tree join
51
PIM-SM(8) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 C starts receiving Data natively
52
PIM-SM(9) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 C Sends Prunes Up the RP tree for the Source. RP Deletes (S, G) OIF and Sends Prune Towards the Source Prune
53
PIM-SM(10) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 B, RP pruned
54
PIM-SM(11) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 join New receiver2 joins E Creates State and Sends (*, G) Join
55
PIM-SM(12) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 C Adds Link Towards E to the OIF List of Both (*, G) and (S, G) Data from Source Arrives at E
56
PIM-SM(13) Receiver 1 Source Receiver 2 S R1 ABRPD CE R2 C Adds Link Towards E to the OIF List of Both (*, G) and (S, G) Data from Source Arrives at E
57
Inter-Domain Multicast Routing BGP4+ (Multicast BGP) for short-term solution MASC : Multicast Address Set and Claim BGMP : Border Gateway Multicast Protocol
58
MASC Hierarchical multicast address allocation dynamic allocation (lease) by “set and claim with collision” domain A domain B domain C domain E domain D
59
MASC Assume Addr(A) is allocated to domain A, A notify to B C and E. B selects Addr(B), subset of Addr(A) and send Claim (addr(B)) message to A and C A forward it to all children except B. If A’s children is already using Addr(B), report collision to A. A notify the collision to B to select other address space. B wait for a certain period before using it. Address space information is used to create distribution tree using BGMP. Stored in M-RIB (Multicast Routing Information Base)
60
BGMP Use a PIM-like protocol between domains ( “ BGP for multicast ” ) BGMP builds shared tree of domains for a group –So we can use a rendezvous mechanism at the domain level –Shared tree is bidirectional –Root of shared tree of domains is at root domain Runs in routers that border a multicast routing domain Runs over TCP like BGP Joins and prunes travel across domains Can build unidirectional source trees M-IGP(multicast Intra-Gateway Protocol) tells the borders about group membership
61
BGMP A host in C joins to Group G DomainA DomainE DomainC DomainD DomainB DomainF Root domain C1 A2 E1 A1A4 A3 D1 B1B2 F1 F2 M-IGP join M-IGP join
62
BGMP Tree constructed, data goes to C DomainA DomainE DomainC DomainD DomainB DomainF Root domain C1 A2 E1 A1A4 A3 D1 B1B2 F1 F2
63
BGMP Domain E joins to G DomainA DomainE DomainC DomainD DomainB DomainF join C1 A2 E1 A1A4 A3 D1 B1B2 F1 F2 join
64
BGMP tree constructed. Data goes to E DomainA DomainE DomainC DomainD DomainB DomainF C1 A2 E1 A1A4 A3 D1 B1B2 F1 F2
65
Multicast Routers mrouted (Xerox PARC) : DVMRP GateD (Merit) : DVMRP, PIM-DM, PIM- SM Cisco IOS : DVMRP, PIM-DM, PIM-SM
66
M-Bone Wide area IP multicast test bed using IP-in-IP tunneling technology Routing protocol –DVMRP is used –Transition to PIM (DM, SM) is ongoing Started in March 1992 for audio broadcasting of IETF meeting (San Diego) Latest tolopology –ftp://ftp.parcftp.xerox.com/pub/net-research/mbone/maps/mbone-map-big.ps –About 6000 (S,G) entries Discussion in by mbone@isi.edu
67
M-BONE in 1994
68
M-BONE in 1996
69
M-BONE in 1998
70
Future Mulicast Service Current multicast service - latency and packet drop Research for “Reliable multicast” is actively going on for; –large scale interactive game on the Internet –Distributed database –large scale news distribution etc.
71
Reliable multicast technology SRM ( scalable Reliable Multicast) –multicast with re-transmit (with random back-off) –All nodes can re-transmit datagram (Multicast/Unicast) MTP (Multicast Transport Protocol: RFC1301) FEC (Forward Error Correction) –error packet recovery by redundant packets
72
IPv6 Multicast Test 10sites in Japan PIM-SM over IPv6 (KAME) Digital Video streaming Nov 27 th, 1999
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.