1 / 29

Multicast

Multicast. Sources: Kurose and Ross http://www.hep.ucl.ac.uk/~ytl/multi-cast/addresstranslation_01.html. IP Multicast Addresses. First 4 bits: 1110 (Class D IP address) Range: 224.0.0.0 to 239.255.255.255 Some are reserved. 224.0.0.1 all hosts 224.0.0.2 all multicast routers

Download Presentation

Multicast

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. Multicast Sources: Kurose and Ross http://www.hep.ucl.ac.uk/~ytl/multi-cast/addresstranslation_01.html

  2. IP Multicast Addresses • First 4 bits: 1110 (Class D IP address) • Range: 224.0.0.0 to 239.255.255.255 • Some are reserved. • 224.0.0.1 all hosts • 224.0.0.2 all multicast routers • 224.0.0.3 all DVMRP routers • 224.0.0.5 all OSPF routers These are local multicasts (IP TTL=1)

  3. Translation to 6 byte MAC address • IP address must be translated to a MAC address so that NIC card will receive • IANA reserved MAC addresses starting with 00:5e:00. There’s a reserved bit to indicate multicast/broadcast. 01:5e:00 • Half of IANA range was allocated for multicast (01:5e:00:00:00 – 01.5e.7f.ff.ff) • 23 bits map to multicast IP address

  4. There is no network layer protocol that determines all the members of a multicast group. • Multicast groups are receiver driven – not sender driven. • Higher level protocols may “invite” receivers to listen in.

  5. IGMP – local network • Within autonomous system multicast routing protocols (e.g. DVMRP, PIM-sparse mode, PIM-dense mode) • Between autonomous systems • Problem agreeing • DVMRP was de facto standard now have extensions to BGP

  6. Internet Group Management Protocol • Operates between host and directly attached router • Host tells router it wants to listen to multicast group address • Router participates in routing protocol in order to receive multicast packet sent to the group address

  7. IGMP Messages • Membership query – sent by router to all hosts on an interface to determine what groups have been joined • Membership report – sent by hosts to routers in response to a query or when host first joins • Leave group – optional, host sends to routers in order to stop listening • Router specifies max response time

  8. Multicast Routing Protocols • Two approaches • Group shared tree • In practice a center-based tree is used for all senders • Source-based tree • Each sender has own tree

  9. R2 R3 R4 R2 R3 R4 R1 R1 duplicate creation/transmission duplicate duplicate (b) (a) Figure 4.39 Source-duplication versus in-network duplication. (a) source duplication, (b) in-network duplication

  10. A A D D G G E B B E F F c c (b) Broadcast initiated at D (a) Broadcast initiated at A Figure 4.41: Broadcast along a spanning tree Spanning tree: a tree that contains each and every node in a connected graph If each link has an associated cost and the cost of a tree is the sum of the link costs, then a spanning tree whose cost is the minimum of all the graph’s spanning trees is a minimum spanning tree.

  11. Source-based trees Multicast Routing: Problem Statement • Goal: find a tree (or trees) connecting routers having local mcast group members • tree: not all paths between routers used • shared-tree: same tree used by all group members • source-based: different tree from each sender to rcvrs Shared tree

  12. Approaches for building mcast trees Approaches: • source-based tree: one tree per source • shortest path trees • -reverse path forwarding • group-shared tree: group uses one tree • minimal spanning • -center-based trees 1st look at basic approaches, then specific protocols adopting these approaches

  13. 1 i 5 4 3 6 2 Shortest Path Tree • mcast forwarding tree: tree of shortest path routes from source to all receivers • Dijkstra’s algorithm constructs tree – know predecessor on shortest path back S: source LEGEND R1 R4 router with attached group member R2 router with no attached group member R5 link used for forwarding, i indicates order link added by algorithm R3 R7 R6

  14. Reverse Path Forwarding if (mcast datagram received on incoming link on shortest path back to sender) then flood datagram onto all outgoing links else ignore datagram • rely on router’s knowledge of unicast shortest path from it to sender • each router has simple forwarding behavior:

  15. Reverse Path Forwarding: example S: source LEGEND R1 R4 router with attached group member R2 router with no attached group member R5 datagram will be forwarded R3 R7 R6 datagram will be dropped by receiving router • result is a source-specific reverse SPT • may be a bad choice with asymmetric links

  16. Reverse Path Forwarding with pruning • forwarding tree contains subtrees with no mcast group members • no need to forward datagrams down subtree • “prune” msgs 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

  17. Shared-Tree: Steiner Tree • Steiner Tree: minimum cost tree connecting all routers with attached group members • not used in practice: • computational complexity • information about entire network needed • monolithic: rerun whenever a router needs to join/leave

  18. Center-based trees • single delivery tree shared by all • one router identified as “center” of tree • to join: • edge router sends unicast join-msg addressed to 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 by join-msg becomes new branch of tree for this router

  19. Center-based trees: an 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

  20. Internet Multicasting Routing: DVMRP • DVMRP: distance vector multicast routing protocol, RFC1075 • flood and prune: reverse path forwarding, source-based tree • RPF tree based on DVMRP’s own routing tables constructed by communicating DVMRP routers • no assumptions about underlying unicast • initial datagram to mcast group flooded everywhere via RPF • routers not wanting group: send upstream prune msgs

  21. DVMRP: continued… • soft state: DVMRP router periodically (1 min.) “forgets” branches are pruned: • mcast data again flows down unpruned branch • downstream router: reprune or else continue to receive data • routers can quickly regraft to tree • following IGMP join at leaf • odds and ends • commonly implemented in commercial routers • Mbone routing done using DVMRP

  22. not dependent on any specific underlying unicast routing algorithm (works with all) two different multicast distribution scenarios : PIM: Protocol Independent Multicast • 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

  23. Dense group membership by routers assumed until routers explicitly prune data-driven construction on mcast tree (e.g., RPF) bandwidth and non-group-router processing profligate Sparse: no membership until routers explicitly join receiver- driven construction of mcast tree (e.g., center-based) bandwidth and non-group-router processing conservative Consequences of Sparse-Dense Dichotomy:

  24. PIM- Dense Mode • flood-and-prune RPF, similar to DVMRP but • underlying unicast protocol provides RPF info for incoming datagram • less complicated (less efficient) downstream flood than DVMRP reduces reliance on underlying routing algorithm • has protocol mechanism for router to detect it is a leaf-node router

  25. center-based approach router sends join msg to rendezvous point (RP) intermediate routers update state and forward join after joining via RP, router can switch to source-specific tree increased performance: less concentration, shorter paths PIM - Sparse Mode R1 R4 join R2 join R5 join R3 R7 R6 all data multicast from rendezvous point rendezvous point

  26. sender(s): unicast data to RP, which distributes down RP-rooted tree RP can extend mcast tree upstream to source RP can send stop msg if no attached receivers “no one is listening!” PIM - Sparse Mode R1 R4 join R2 join R5 join R3 R7 R6 all data multicast from rendezvous point rendezvous point

  27. Multicast Routing Between Autonomous Systems • Within AS all routers running the same multicast routing protocol • Between AS there have been issues • RFC4271 defines extensions to BGP (interdomain Border Gateway Protocol) to allow it to carry info for other protocols, including mcast info. • MSDP Multicast Source Discovery Protocolcan be used to connect RPs in different PIM sparse mode domains

  28. Tunneling Q: How to connect “islands” of multicast routers in a “sea” of unicast routers? logical topology physical topology • mcast datagram encapsulated inside “normal” (non-multicast-addressed) datagram • normal IP datagram sent thru “tunnel” via regular IP unicast to receiving mcast router • receiving mcast router unencapsulates to get mcast datagram

  29. Most streaming over Internet is done using overlays and tunnels to create application layer multicast. • Then multicast occurs on local net or autonmous system

More Related