1 / 91

Computer Networks (Graduate level)

Computer Networks (Graduate level). Lecture 11: Multicasting. University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani. Multicasting. IP Multicast IGMP Multicast routing Assigned reading [DC90] Multicast Routing in Datagram Internetworks and Extended LANs

clodia
Download Presentation

Computer Networks (Graduate level)

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. Computer Networks(Graduate level) Lecture 11: Multicasting University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani Computer Network

  2. Multicasting • IP Multicast • IGMP • Multicast routing • Assigned reading • [DC90] Multicast Routing in Datagram Internetworks and Extended LANs • Next Branch Multicast (NBM) routing protocol (2005) • Chapter 4, multicasting. Computer Network

  3. Outline • Multicasting Why? • Problems, initial solutions. • Multicast routing • Application level multicast. Computer Network

  4. Why Multicast? • Specify a set of receivers and only send the data to them. • Has a lot of applications: • Audio/video conferencing • Distance lectures • Internet TV • Stock quotes • and… • Can I just use broadcast? Computer Network

  5. Problems with broadcast • Does not scale • Imagine trying to broadcast packets to everyone on Internet! • Wastes network resources • We are sending packets to people who will ignore them. We clearly need something different… Computer Network

  6. Unicast • Use unicast? • One sender, N receivers • Sender sends N duplicated unicast packets, one to each receiver. R1 S T1 T3 T4 R2 T2 R4 R3 Example: Multicast to Ri by using unicast Computer Network

  7. Problems? • Links carry multiple copies of the same packet. • The link closest to the source flooded with packets. • Server needs to know the list of receivers to send the packet to. • How to handle receivers joining and leaving? • How to define/manage groups? • Wastes bandwidth • Introduces complexity – now the source needs to handle receiver crashes, link failures, etc… • Source will be “flooded” with messages if a lot of receivers join at once. Ideas? Computer Network

  8. S R1R2R3R4……..Rn More problem • Imagine having an IP header of the form: • Any router along the way, forwards a packet if at least one of the destinations is downstream from it. • What if a group has 1000s of recipients? • Routers will spend more time doing forwarding lookup since they will need to search the forwarding table for each address. source destination Computer Network

  9. IP Multicast Model • Main idea  Multicast groups • Receivers can join or leave at any time. • Any host can send to any group at any time – open architecture • The routers duplicate the packets instead of the source. • Routers will need to: • Keep state of groups are there waiting packets from me? • Participate in IGMP* • Keep a separate routing table* destination S Multicast Address source Computer Network

  10. Division of Responsibilities • Host’s responsibility to register interest with networks • IGMP • Network’s responsibility to deliver packets to host • Multicast routing protocol • Left unspecified: • Address assignment (random, MASC, etc.) • Application-to-group mapping (session directory, etc.) Computer Network

  11. Multicast = Efficient Data Distribution Src Src Computer Network

  12. Multicast Address Allocation • Currently no standardized method for address allocation (even though an RFC exists about this) • There are a lot of proposed solutions to this • Try searching for Multicast Address Allocation on the net (MALLOC for short) Computer Network

  13. Logical Naming • Single name/address maps to logically related set of destinations • Destination set = multicast group • How to scale? • Single name/address independent of group growth or changes Computer Network

  14. Multicast Groups • Members are the intended receivers • Senders may or may not be members • Hosts may belong to many groups • Hosts may send to many groups • Support dynamic creation of groups, dynamic membership, dynamic sources Computer Network

  15. Scope • Groups can have different scope • LAN (local scope) • Campus/admin scoping • TTL scoping • Concept of scope important to multipoint protocols and applications Computer Network

  16. Multicast Scope Control – Small TTLs • TTL expanding-ring search to reach or find a nearby subset of a group s 1 2 3 Computer Network

  17. Multicast Scope Control – Large TTLs • Administrative TTL Boundaries to keep multicast traffic within an administrative domain, e.g., for privacy or resource reasons The rest of the Internet TTL threshold set oninterfaces to these links,greater than the diameterof the admin. domain An administrative domain Computer Network

  18. Multicast Scope Control • Administratively-Scoped Addresses (RFC 1112 ) • Uses address range 239.0.0.0 — 239.255.255.255 • Supports overlapping (not just nested) domains The rest of the Internet address boundary set oninterfaces to these links An administrative domain Computer Network

  19. R R R H R R H Multicast Backbone (MBone) • An overlay network of IP multicast-capable routers R Host/router H MBone router Physical link Tunnel Part of MBone Computer Network

  20. MBone Tunnels • A method for sending multicast packets through multicast-ignorant routers • IP multicast packet is encapsulated in a unicast packet addressed to far end of tunnel: • Tunnel acts like a virtual point-to-point link • Each end of tunnel is manually configured with unicast address of the other end IP header, dest = unicast IP header, dest = multicast Transport headerand data… Computer Network

  21. Link Layer Multicast On LANs • Exploits the fact that LAN is a broadcast medium. • Ethernet multicast addresses: 01:00:5e:00:00:00 – 01:00:5e:7f:ff:ff • How would an application join a group? • Just tell link layer not to discard packets targeted at the group of interest. Computer Network

  22. Internet Multicast • Group D addresses are used for multicast: 224.0.0.0 – 239.255.255.255 • If you do an NSLOOKUP on these addresses you will see that they are registered as *.MCAST.NET • Set the highest 4 bits to 1110 use the remaining 28 • Some well known addresses: • 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 • Need a suite of protocols to take care of the various aspects of Multicast (membership management, routing, etc..) Computer Network

  23. 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. Computer Network

  24. 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) Computer Network

  25. IP Multicast Protocol Suite • A protocol that distributes membership information – IGMP • A protocol that performs the routing – DVMRP, PIM-SM, PIM-DM, etc… • Protocols that deal with address allocation, reliability, congestion Computer Network

  26. IP Multicast Architecture Service model Hosts Host-to-router protocol(IGMP) Routers Multicast routing protocols(various) Computer Network

  27. IP Multicast Service — Sending • Uses normal IP-Send operation, with an IP multicast address specified as the destination • Must provide sending application a way to: • Specify outgoing network interface, if >1 available • Specify IP time-to-live (TTL) on outgoing packet • Enable/disable loop-back if the sending host is a member of the destination group on the outgoing interface Computer Network

  28. IP Multicast Service — Receiving • Two new operations • Join-IP-Multicast-Group(group-address, interface) • Leave-IP-Multicast-Group(group-address, interface) • Receive multicast packets for joined groups via normal IP-Receive operation Computer Network

  29. IGMPv2 • Internet Group Management Protocol • RFC 2236 • IGMP operates locally • between end hosts and their border router • The goal is allowing the border router to learn what groups are presented on the attached subnets. IGMP <G1, G2, G3> Border Router S Ethernet/Lan <G1> A C R1 <G1, G2, G3> <G1> B R2 <G1> <G1, G3> IGMP Example Computer Network

  30. MQ MQ router LG:leave MR:join timeline MR MR host IGMP protocol • A soft-state protocol with 3 types of messages: • membership_query (MQ): sent by the router • Determines the set of joined multicast groups on the LAN • membership_report (MR): sent by the hosts • When a host joins a group or • When a host responds to a MQ • Leave_group (LG): sent by the hosts • When a host leaves a group • All of these messages are broadcasted over the LAN Computer Network

  31. IGMP Protocol • Border router does not need to know which host(s) have joined a given multicast group. • Only one host needs to report • Why? • Potentially MR messages sent by the hosts could be problematic. • How? • Solution: Use feedback suppression • Each host waits randomly between 0 and max_resp_time • Send the report if no one else has sent in that period • Leave Group message (LG) optional… • Why? Computer Network

  32. Multicast Routing • Basic objective – build distribution tree for multicast packets • Multicast service model makes it hard Why? • Anonymity • Dynamic join/leave Computer Network

  33. Routing Techniques • Flood and prune • Begin by flooding traffic to entire network • Prune branches with no receivers • Examples: DVMRP, PIM-DM • Unwanted state where there are no receivers • Link-state multicast protocols • Routers advertise groups for which they have receivers to entire network • Compute trees on demand • Example: MOSPF • Unwanted state where there are no senders Computer Network

  34. Routing Techniques • Core based protocols • Specify “meeting place” aka core • Sources send initial packets to core • Receivers join group at core • Requires mapping between multicast group address and “meeting place” • Examples: CBT, PIM-SM Computer Network

  35. Shared vs. Source-based Trees • Source-based trees • Separate shortest path tree for each sender • DVMRP, MOSPF, PIM-DM, PIM-SM • Shared trees • Single tree shared by all members • Data flows on same tree regardless of sender • CBT, PIM-SM Computer Network

  36. Source-based Trees Router Source S Receiver R R R R S S R Computer Network

  37. A Shared Tree Router Source S Receiver R R R RP R S S R Computer Network

  38. Shared vs. Source-Based Trees • Source-based trees • Shortest path trees – low delay, better load distribution • More state at routers (per-source state) • Efficient for in dense-area multicast • Shared trees • Higher delay (bounded by factor of 2), traffic concentration • Choice of core affects efficiency • Per-group state at routers • Efficient for sparse-area multicast Computer Network

  39. DVMRP • Builds a multicast routing table • By exchanging distance information amongst routers. • Gives consistent view of multicast tree among all routers • Stores ‘dependent routers’ info • If there are multiple routers on the same LAN lower IP address becomes the designated forwarder. Computer Network

  40. DVMRP • Multicast packets are forwarded based on Reverse Path Forwarding. • coming on the next slide! • Leaf routers check and send prune message when no group member on the network. • Upstream router prune the interface with no downstream router. • Graft message sent to create a new routing branch for late members. • Restart forwarding after a set prune lifetime (typical value 12 hours) Computer Network

  41. Reverse Path Forwarding (RPF) • Procedure: • A packet is 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 procedure succeeds, the datagram is forwarded to all interfaces except I • Otherwise, typically it is silently discarded. • Packet is never forwarded back out I. Computer Network

  42. 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. Computer Network

  43. 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 Computer Network

  44. 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) Computer Network

  45. 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. Computer Network

  46. 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. Computer Network

  47. 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. Computer Network

  48. 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 Computer Network

  49. DVMRP in Action - 1 Forming a source tree source tree S Source DF R1 Receiver 1 Computer Network

  50. DVMRP in Action - 2 Broadcast/flood source tree S datagram Source DF R1 Receiver 1 Computer Network

More Related