1 / 55

Methods and Needs for Multicast Applications

Methods and Needs for Multicast Applications. Siavash Samadian Barzoki University of Tehran. Multicast Addressing. multicast address  a set of Internet hosts comprising a multicast group. Senders : Dest. Address = multicast address IP multicast group  Class D address

marinel
Download Presentation

Methods and Needs for Multicast Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Methods and Needs for Multicast Applications Siavash Samadian Barzoki University of Tehran

  2. Multicast Addressing • multicast address a set of Internet hosts comprising a multicast group. • Senders : Dest. Address = multicast address • IP multicast group Class D address • Class D address : 1110 + 28 bit multicast group ID  224.0.0.0 to 239.255.255.255 0 1 2 3 ----------- 28 bits ---------- 1 1 1 0 Multicast Group ID • 224.0.0.0 is reserved. • 224.0.0.1 to 224.0.0.225  reserved for permanent assignments to various uses, including routing protocols and other protocols that require a well-known permanent address.

  3. Multicast Addressing • Some of the well-known groups include : “all systems on this subnet” 224.0.0.1 “all routers on this subnet” 224.0.0.2 “all DVMRP routers” 224.0.0.4 “all OSPF routers” 224.0.0.5 “all OSPF designated routers” 224.0.0.6 “all RIP2 routers” 224.0.0.9 “all PIM routers” 224.0.0.13 “all CBT routers” 224.0.0.15 • The remaining groups are either permanently assigned to various multicast applications or are available for dynamic assignment (239.0.0.0 to 239.255.255.255 for “Administratively scoped” applications)

  4. Mapping a Class D Address to an IEEE-802 MAC Address • The block begin with 01-00-5E (hex) of the IEEE-802 MAC-layer multicast address space is used for IP multicast groups. • The low order 23 bits of class D address is replaced by the low order 23 bits of MAC-layer multicast address block. 234.138.8.5 (EA-8A-08-05) : 1110 1010 1000 1010 0000 1000 0000 0101 224.10.8.5 (E0-0A-08-05) : 1110 0000 0000 1010 0000 1000 0000 0101 225.138.8.5 (E1-8A-08-05) : 1110 0001 1000 1010 0000 1000 0000 0101 IEEE-802 MAC-layer multicast address : 0000 0001 0000 0000 0101 1110 0 000 1010 0000 1000 0000 0101 Hex: 0 1 0 0 5 E 0 A 0 8 0 5

  5. IP Multicast MAC Address Mapping(FDDI & Ethernet) Be Aware of the 32:1 Address Overlap 32 - IP Multicast Addresses 224.1.1.1 224.129.1.1 225.1.1.1 225.129.1.1 . . . 238.1.1.1 238.129.1.1 239.1.1.1 239.129.1.1 1 - Multicast MAC Address (FDDI and Ethernet) 0x0100.5E01.0101

  6. Internet Group Management Protocol (IGMP) Hosts Host-to-Router Protocols (IGMP) Routers Multicast Routing Protocols (PIM)

  7. Internet Group Management Protocol (IGMP) • How hosts tell routers about group membership • RFC 1112 and RFC 2236 specify IGMPv1 and IGMPv2 • IGMPv3work-in-progress • More than 1 router on a LAN  a router is elected as a querier • The querier is responsible for periodically querying the LAN for the presence of any group members • Group Specific Query Message, TTL=1 is sent • The members if any  set a random timer • On timer expiration  the host sends a Report message and the other members suppress their same Reports

  8. Internet Group Management Protocol (IGMP) • A host first joins a group sends an IGMP Report rather than waiting for a router’s IGMP Query to reduce Join Latency • Join Latency : the interval from a host’s first IGMP Report sent until the first packet for that group arrives on that host’s subnetwork. • A host leaves a group sends an Leave Group message • Inclusion Group-Source Report message to select the specific sources and Exclusion Group-Source Report message to block some sources’ traffic

  9. 224.1.1.1 H3 H3 Report Internet Group Management Protocol (IGMP) Joining a Group H2 H1 • Host sends IGMP Report to join group

  10. Internet Group Management Protocol (IGMP) Source = 1.1.1.1 Group = 224.1.1.1 Source = 2.2.2.2 Group = 224.1.1.1 R2 R1 • H1 wants to receive from S = 1.1.1.1 but not from S = 2.2.2.2 • With IGMP, specific sources can be pruned back - S = 2.2.2.2 in this case R3 IGMPv3: Join 1.1.1.1, 224.1.1.1 Leave 2.2.2.2, 224.1.1.1 H1 - Member of 224.1.1.1

  11. Multicast Routing in Extended LANs • Broadcast based : • Single-Spanning Tree Multicast Routing • RPF (Reverse Path Flooding) • RPB (Reverse Path Broadcasting) • Multicast based : • TRPB (Truncated Reverse Path Broadcasting) • RPM (Reverse Path Multicasting)

  12. Single-Spanning Tree Multicast Routing • Compute a spanning tree among the bridges using a distributed algorithm • A packet can be sent on the spanning tree • There can be a membership learning algorithm • A member of group G sends a membership-report to all-bridges group B periodically (Src. Adr.= G, Dest. Adr. = B) • The bridge adds G to a table entry (address, (outgoing-branch, age), (outgoing-branch, age), …) where address is set to G and outgoing-branch to the interface it received the report message • When a packet received by the bridge with Dest. Adr. = G, it will send it on the outgoing-branches which are in the table

  13. G G G G G Single-Spanning Tree Multicast Routing d a b c

  14. Single-Spanning Tree Multicast Routing • Advantages : • Relatively easy to implement a great deal of experience with spanning tree protocols in Internet community • Disadvantages : • Centralize traffic on a small number of links • Computationally difficult to compute a spanning tree in large, complex topologies

  15. Reverse Path Flooding (RPF) • A router forwards a broadcast packet originating at source S if and only if it arrives via the shortest path from the router back to S (i.e., the “reverse path”). Otherwise the packet will be discarded • The router forwards the packet out all incident links except the one on which the packet arrived. • Disadvantage : • Any single broadcast packet may be transmitted more than once across any link, up to the number of routers that share the link.

  16. Reverse Path Flooding (RPF) • What is RPF? • A router forwards a multicast datagram if received on the interface used to send unicast datagrams to the source Unicast C B Receiver Source A F D E Multicast

  17. Reverse Path Flooding (RPF) • The RPF Check • The routing table used for multicasting is checked against the “source” IP address in the packet. • If the datagram arrived on the interface specified in therouting table for the source address; then the RPF checksucceeds. • Otherwise, the RPF Check fails.

  18. Multicast Packet from Source 151.10.3.21 X Packet Arrived on Wrong Interface! Discard Packet! Reverse Path Flooding (RPF) A closer look:RPF Check Fails S0 RPF Check Fails! S1 S2 Unicast Route Table Network Interface 151.10.0.0/16 S1 198.14.32.0/24 S0 204.1.16.0/24 E0 E0 S1

  19. Multicast Packet from Source 151.10.3.21 Packet Arrived on Correct Interface! Reverse Path Flooding (RPF) A closer look:RPF Check Succeeds S0 S1 S2 RPF Check Succeeds! E0 Unicast Route Table Network Interface 151.10.0.0/16 S1 198.14.32.0/24 S0 204.1.16.0/24 E0 S1 Forward out all outgoing interfaces.(i. e. down the distribution tree)

  20. Reverse Path Broadcasting (RPB) • Eliminates the duplicate broadcast packets generated by Reverse Path Forwarding • It is necessary for each router to identify which of its links are “child” links in the shortest reverse path tree rooted at any given source S. • When a broadcast packet originating at S arrives via the shortest path back to S, the router can forward it out only the child links for S.

  21. Child link D=5 D=6 D=6 Reverse Path Broadcasting (RPB) S 5 6 X Y a Z b

  22. Reverse Path Broadcasting (RPB) • Advantages : • Easy to implement • Saving of link bandwidth and of host and router processing time achieved by eliminating duplicate broadcast packets. • Disadvantages : • Extra storage consumed by the children bit-map in each routing table entry • It does not take into account multicast group membership extraneous datagrams may be forwarded onto subnetworks that have no group members

  23. Truncated Reverse Path Broadcasting (TRPB) • The previous algorithms used broadcasting and so were wasting the bandwidth on the links that had no group members. • In TRPB only non-member leaf networks are deleted from each broadcast tree. • Leaf networks are the networks which have no downstream router. • So the leaf networks must be found out and it must be determined if there is any member on the leaf network or not then.

  24. Reverse Path Multicasting (RPM) • Provides on-demand pruning of shortest-path multicast trees. • When a source first sends a multicast packet to a group, it uses TRPB algorithm. • When the packet reaches a router for whom all of the child links are leaves and none of them have members of the destination group, a non-membership report (NMR) for that (source, group) pair is generated and sent back to the router that is one hop towards the source. • If the one-hop-back router receives NMRs from all of its child routers, and if its child links also have no members, it in turn sends an NMR back to its predecessor. • Subsequent multicast packets from the same source to the same group are blocked from traveling down the unnecessary branches by the NMRs sitting in intermediate routers. • A non-membership report includes an age field that is used to cancel the NMR effect after some time.

  25. Reverse Path Multicasting (RPM) S • Send based on TRPB • Send Prune message R G • Prune the branches R G R R R G R G

  26. Intra-Domain Multicast vs. Inter-Domain Multicast • 1992 to 1997 standardization and deployment focused on a single flat topology • Beginning in 1997  the need for a hierarchical multicast infrastructure and inter-domain routing • The existing protocols then categorized as intra-domain protocol

  27. A B D F Multicast protocols – Distribution Trees Shortest Path or Source Distribution Tree Source1 Notation: (S, G) S = Source G = Group Source2 C E Receiver 1 Receiver 2

  28. Multicast protocols – Distribution Trees Shared Distribution Tree Source1 Notation: (*, G) * = All Sources G = Group Source2 A B D (Shared Root) F C E Receiver 1 Receiver 2

  29. Multicast Protocols - Characteristics • Distribution trees • Source tree • Uses more memory O(S x G) but you get optimal paths from source to all receivers, minimizes delay • Shared tree • Uses less memory O(G) but you may get suboptimal paths from source to all receivers, may introduce extra delay • Protocols • PIM, DVMRP, MOSPF, CBT

  30. Multicast Protocols - Characteristics • Types of multicast protocols • Dense-mode : The receivers are densely populated • Broadcast and prune (flood & prune) behavior • Similar to radio broadcast • Sparse-mode : The receivers are sparsely populated • Explicit join behavior • Similar to pay-per-view

  31. Multicast Protocols - DVMRP • Stands for Distance Vector Multicast Routing Protocol • First protocol implemented on MBone • Broadcast and prune • Source Distribution Trees • Dense Mode Protocol • Uses own routing table (Distance Vector similar to RIP) • Many implementations • Disadvantages : • Slow Convergence — RIP-like behavior • Significant amount of multicast routing state information stored in routers — (S,G) everywhere • Protocol Dependent

  32. Multicast Protocols - MOSPF • Stands for Multicast Extensionsto OSPF (Open Shortest Path First) • Information about group receivers are included in the attached Link State (LS) • Flood the area with LS same view of group membership in the area • Source Tree Each router uses Dijkstra algorithm to compute shortest-path tree for each source and group • Dense Mode or Sparse Mode ?! Membership information is broadcasted so dense mode , but data is sent to those receivers that specifically request it so sparse mode

  33. Membership LSA’s Membership LSA’s MB MA MB MA MA MOSPF - Membership LSA’s Area 0 MABR1 MABR2 Area 1 Area 2

  34. MB MA MB MA MA (S1 , B) (S2 , A) MOSPF - Intra-Area Traffic Area 0 Not receiving (S2 , A) traffic MABR1 MABR2 Area 1 Area 2

  35. Wildcard Receiver Flag (*, *) Wildcard Receiver Flag (*, *) (GA, GB) (GA) Summarized Membership LSA Summarized Membership LSA Membership LSA’s Membership LSA’s MB MA MB MA MA (S1 , B) (S2 , A) MOSPF - Inter-Area Traffic Area 0 Wildcard Receivers “pull” traffic from all sources in the area. MABR routers inject Summary Membership LSAs into Area 0. MABR1 MABR2 Area 1 Area 2

  36. Wildcard Receiver Flag (*, *) Wildcard Receiver Flag (*, *) (S1 , B) (S2 , A) MOSPF - Inter-Area Traffic Area 0 Unnecessary traffic still flowing to the MABR Routers!! MABR1 MABR2 Area 1 Area 2

  37. (S1 , A) Summarized Membership LSA Summarized Membership LSA (S2 , B) (GA, GB) (GA) Membership LSA’s Membership LSA’s MB MA MB MA MA MOSPF - Inter-Area Traffic Area 0 MASBR External AS MABR1 MABR2 Area 1 Area 2

  38. Wildcard Receiver Flag (*, *) Wildcard Receiver Flag (*, *) (S1 , B) (S2 , A) MOSPF - Inter-Area Traffic Area 0 MASBR Unnecessary traffic may flow all the way to the MASBR Router!! External AS MABR1 MABR2 Area 1 Area 2

  39. MOSPF - Disadvantages • Protocol dependent - works only in OSPF-based networks • Significantscaling problems • Dijkstra algorithm run for EVERY multicast (SNet, G) pair! • Dijkstra algorithm rerun when: • Group Membership changes • Line-flaps

  40. PIM-DM • Stands for Protocol Independent Multicast – Dense Mode • Broadcast and prune • Source Distribution Trees • Fewer implementations than DVMRP • Branches that don't care for data are pruned • Grafts to join existing source tree • Uses asserts to determine forwarder for multi-access LAN • PIM-DM vs. DVMRP : DVMRP tries to avoid sending unnecessary packets to neighbors who will then generate prune messages based on a failed RPF check. PIM-DM avoids this complexity, but the tradeoff is that packets are forwarded on all outgoing interfaces. Unnecessary packets are often forwarded to routers which must then generate prune messages because of the resulting RPF failure.

  41. Link Data Control A B G C D F H E I Asserts Receiver 3 PIM-DM I Gets Pruned E’s Prune is Ignored G’s Prune is Overridden Initial Flood of Dataand Creation of State C and D Assert to DetermineForwarder for the LAN, C Wins Prune to Non-RPF Neighbor New Receiver, I Sends Graft Source Prune Prune Join Override Prune Graft Receiver 1 Receiver 2

  42. PIM-SM (Overview) • Explicit join model • Receivers join to the Rendezvous Point (RP) • Senders register with the RP • Data flows down the shared tree and goes only to places that need the data from the sources • 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 trees, uses Source address

  43. PIM-SM (Overview) • Only one RP is chosen for a particular group • RPstatically 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) • RFC 2326 - “PIM Sparse Mode Protocol Spec”

  44. (*, G) Join Shared Tree PIM-SM (Shared Tree Join) RP (*, G) State created only along the Shared Tree. Receiver

  45. Source (S, G) Register (unicast) (S, G) Join Traffic Flow Source Tree Shared Tree PIM-SM (Sender Registration) RP (S, G) State created only along the Source Tree. Receiver

  46. Source (S, G) Register (unicast) Traffic Flow Source Tree Shared Tree (S,G) Register-Stop (unicast) PIM-SM (Sender Registration) RP (S, G) traffic begins arriving at the RP via the Source tree. RP sends a Register-Stop back to the first-hop router to stop the Register process. Receiver

  47. Source Traffic Flow Source Tree Shared Tree PIM-SM (Sender Registration) RP Source traffic flows nativelyalong SPT to RP. From RP, traffic flows downthe Shared Tree to Receivers. Receiver

  48. Source (S, G) Join Traffic Flow Source Tree Shared Tree PIM-SM (SPT Switchover) RP Last-hop router joins the Source Tree. Additional (S, G) State is created along new part of the Source Tree. Receiver

  49. Source Traffic Flow Source Tree Shared Tree (S, G)RP-bit Prune PIM-SM (SPT Switchover) RP Traffic begins flowing down the new branch of the Source Tree. Additional (S, G) State is created along the Shared Tree to prune off (S, G) traffic. Receiver

  50. Source Traffic Flow Source Tree PIM-SM (SPT Switchover) RP (S, G) Traffic flow is now pruned off of the Shared Tree and is flowing to the Receiver via the Source Tree. Shared Tree Receiver

More Related