Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS640 Introduction to Computer Networks Multicast Nov 29 th, 1999 Prof. Lawrence H. Landweber Prof. Jun Murai.

Similar presentations


Presentation on theme: "CS640 Introduction to Computer Networks Multicast Nov 29 th, 1999 Prof. Lawrence H. Landweber Prof. Jun Murai."— Presentation transcript:

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

73


Download ppt "CS640 Introduction to Computer Networks Multicast Nov 29 th, 1999 Prof. Lawrence H. Landweber Prof. Jun Murai."

Similar presentations


Ads by Google