Presentation is loading. Please wait.

Presentation is loading. Please wait.

Broadcast and Multicast. Overview Last time: routing protocols for the Internet  Hierarchical routing  RIP, OSPF, BGP This time: broadcast and multicast.

Similar presentations


Presentation on theme: "Broadcast and Multicast. Overview Last time: routing protocols for the Internet  Hierarchical routing  RIP, OSPF, BGP This time: broadcast and multicast."— Presentation transcript:

1 Broadcast and Multicast

2 Overview Last time: routing protocols for the Internet  Hierarchical routing  RIP, OSPF, BGP This time: broadcast and multicast

3 Definitions Unicast  Single source, single receiver Broadcast  Send same packet to all receivers  “all” usually limited in some way LAN, subnet, organization Multicast  Send same packet to many receivers

4 In-network Duplication R1 R2 R3R4 source duplication R1 R2 R3R4 in-network duplication duplicate creation/transmission duplicate Source duplication inefficient Source does not know all destinations

5 Flooding Loops Broadcast storms AB DC

6 Controlled Flooding Ignore duplicate messages  Cache to remember what’s been sent before Special case: sequence numbers  Used with broadcast updates  Source assigns increasing seq no to broadcast  Record latest seq no from each source  Discard messages with old seq no’s Ensures always use the latest update

7 Reverse Path Forwarding Idea: use unicast routing information Forward only messages coming from the shortest path to source  Note: problem with asymmetric paths

8 Reverse Path Forwarding A C B G F E D 4 5 2 6 4 1 2 3 6

9 A C B G F E D 4 5 2 6 4 1 2 3 6 Forward Path

10 Reverse Path Forwarding A C B G F E D 4 5 2 6 4 1 2 3 6 Reverse Path

11 Spanning Tree Subset of graph edges that forms a tree Flood messages along all edges on spanning tree, ignore all others A B G D E c F A B G D E c F (a) Broadcast initiated at A (b) Broadcast initiated at D

12 Minimal Spanning Tree Minimal cost spanning tree  Minimal by sum of all edge costs  Provably optimal broadcast cost, for any source in the tree  NP-complete problem (not true) Approximation:  Shortest unicast paths to some root

13 Minimum Spanning Tree A C B G F E D 4 5 2 6 4 1 2 3 6

14 Shortest Path Tree A C B G F E D 4 5 2 6 4 1 2 3 6

15 Multicast Motivation?

16 Multicast Issues Naming Membership Management Routing

17 IP Multicast Naming Class D address represents multicast group  E.g. 226.17.30.197 Datagram with destination address set to group delivered to all hosts in the group  Indirection  226.17.30.197 => 65.30.1.2, 66.8.3.53, 128.32.75.60, …  Sender may or may not be in the group No address hierarchy or subnets  How is routing done?

18 Membership Management Some other questions:  Who is part of the group?  How does one join?  How does one leave?  Who decides if it’s OK? Membership management answers these

19 IGMP Internet Group Management Protocol Runs only between host and router  Multicast routing takes care of communication between routers

20 IGMP hosts routers host-to-router protocol (IGMP) multicast routing protocols (various)

21 IGMP query IGMP membership_query  Router sends query  Find out all groups a host belongs to  Can query a specific group instead  Sent to the “all systems group” (224.0.0.1) with TTL=1

22 IGMP report IGMP membership_report  Response from host to a query  Can send report unsolicited Join group this way! IGMP leave_group  Optional  Router will clean up membership info on next membership_query

23 IGMP properties Minimalist semantics  Host controlled membership No decision about:  Who controls membership  Invitations  How to find groups and join them Move these decisions to application layer

24 Soft state Host is authoritative on group membership Router maintains “soft state” A crashed router soon recovers  Sends a new membership_query  Misdelivers packets for a little while OK by IP service model!

25 Multicast Routing A number of routers have hosts that belong to a multicast group How to connect them (and others) in a tree?  Shared tree: single tree for all  Source-based tree: many trees

26 Core-Based Tree Tree rooted at a core To join a group, send unicast message towards core  Add all links traversed until hit existing tree

27 Diagram Core

28 Choice of Core If core close to source, efficiency is good If core far from source, efficiency falls  Delay up to twice optimal Optimal core placement is NP-hard  Use heuristics

29 Source-based Trees Different tree for each possible source  Why? Reverse path forwarding to figure out tree Pruning to leave out routers

30 Pruning Prune when no attached members or downstream routers Propagate prune messages upstream R1 R2 R3 R4 R5 R6 R7 router with attached group member router with no attached group member prune message S: source links with multicast forwarding P P P

31 DVMRP Distance Vector Multicast Routing Protocol DV + RPF + Pruning DV vector carries distance to multicast sources Pruning carries a timeout  Afterwards, traffic delivery is resumed Explicit graft message to reverse pruning  Done upon join

32 MOSPF Multicast Extensions to OSPF Link-state advertisements include multicast group membership  Only report directly connected hosts Compute shortest-path spanning tree rooted at source  On demand, when receiving packet from source for the first time  Forward multicast traffic along tree

33 MOSPF performance Global state allows source-based trees to be used  Faster delivery of messages Overhead  Joins and leaves flooded to all routers  Any change may cause whole tree to be recomputed

34 PIM Protocol Independent Multicast  Uses routing tables, but agnostic of how they are built Two settings:  Dense: most routers members of a group Use RPF flooding with pruning  Sparse: most routers not members of a group Use shared tree or source-based tree based on data characteristics Uses soft-state

35 Sparse vs. Dense Dense Mode Dense participants B/W plentiful Membership assumed until pruned Data driven Sparse Mode Sparse participants B/W overhead significant Membership explicitly requested Receiver driven

36 Shared v. Source-based Trees Shared trees used initially  Tree rooted at rendezvouz-point (RP) Can switch to source-based trees when data rate is high  RP sends a Join message to source  Each router independently decides to switch to source-based tree, sends Join to source

37 Shared Tree Example RP S G G G

38 PIM Receiver Join RP S G G G G Join *,G Report G What if join is here?

39 PIM Shared Tree After Join RP S G G G G G

40 PIM Source Based Tree RP S G G G G G Join s,g

41 PIM Source Based Tree RP S G G G G G

42 PIM routing tables Routing entries of the form (s,g)  s - source  g - group Wildcard entries (*,g) for shared-group trees Packets are routed using best match

43 Steiner Trees Steiner Tree: minimum cost tree connecting all routers with attached group members problem is NP-complete excellent heuristics exists not used in practice:  computational complexity  information about entire network needed  monolithic: rerun whenever a router needs to join/leave

44 Minimum Spanning Tree A C B G F E D 4 5 2 6 4 1 3 3 6

45 Steiner Tree A C B G F E D 4 5 2 6 4 1 3 3 6

46 Tunneling Q: How to connect “islands” of multicast routers in a “sea” of unicast routers?  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 physical topology logical topology


Download ppt "Broadcast and Multicast. Overview Last time: routing protocols for the Internet  Hierarchical routing  RIP, OSPF, BGP This time: broadcast and multicast."

Similar presentations


Ads by Google