1
play

1 Reverse Path Forwarding Reverse Path Forwarding Idea: use - PDF document

Overview Broadcast and Multicast Last time: routing protocols for the Internet Hierarchical routing RIP, OSPF, BGP This time: broadcast and multicast Definitions In-network Duplication Unicast Source duplication


  1. Overview Broadcast and Multicast  Last time: routing protocols for the Internet  Hierarchical routing  RIP, OSPF, BGP  This time: broadcast and multicast Definitions In-network Duplication  Unicast  Source duplication inefficient  Single source, single receiver  Source does not know all destinations  Broadcast  Send same packet to all receivers duplicate duplicate R1 creation/transmission R1  “all” usually limited in some way duplicate R2 R2 LAN, subnet, organization   Multicast R3 R4 R3 R4  Send same packet to many receivers source in-network duplication duplication Flooding Controlled Flooding  Ignore duplicate messages  Loops Cache to remember what’s been sent before  Broadcast storms   Special case: sequence numbers Used with broadcast updates  A B 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 D C 1

  2. Reverse Path Forwarding Reverse Path Forwarding  Idea: use unicast routing information 4 B 5 A  Forward only messages coming from C 2 the shortest path to source 6 1  Note: problem with asymmetric paths E 6 D 4 2 3 F G Reverse Path Forwarding Reverse Path Forwarding B B 4 4 5 5 A A C C 2 2 6 6 1 1 E E 6 6 D D 4 4 2 2 3 3 F F G G Forward Path Reverse Path Spanning Tree Minimal Spanning Tree  Subset of graph edges that forms a tree  Minimal cost spanning tree  Flood messages along all edges on spanning tree, ignore all others  Minimal by sum of all edge costs  Provably optimal broadcast cost, for any source in the tree A A  NP-complete problem (not true) B B c c  Approximation: D D  Shortest unicast paths to some root F E E F G G (b) Broadcast initiated at D (a) Broadcast initiated at A 2

  3. Minimum Spanning Tree Shortest Path Tree 4 B 4 B 5 5 A A C C 2 2 6 6 1 1 E E 6 6 D D 4 4 2 2 3 3 F F G G Multicast Multicast Issues  Motivation?  Naming  Membership Management  Routing IP Multicast Naming Membership Management  Class D address represents multicast group  Some other questions: E.g. 226.17.30.197   Who is part of the group?  Datagram with destination address set to  How does one join? group delivered to all hosts in the group  How does one leave? Indirection  226.17.30.197 => 65.30.1.2, 66.8.3.53,  Who decides if it’s OK?  128.32.75.60, …  Membership management answers Sender may or may not be in the group  these  No address hierarchy or subnets How is routing done?  3

  4. IGMP IGMP  Internet Group Management Protocol hosts  Runs only between host and router host-to-router protocol (IGMP)  Multicast routing takes care of communication between routers routers multicast routing protocols (various) IGMP query IGMP report  IGMP membership_query  IGMP membership_report  Router sends query  Response from host to a query  Find out all groups a host belongs to  Can send report unsolicited Join group this way!  Can query a specific group instead   IGMP leave_group  Sent to the “all systems group” (224.0.0.1) with TTL=1  Optional  Router will clean up membership info on next membership_query IGMP properties Soft state  Minimalist semantics  Host is authoritative on group  Host controlled membership membership  No decision about:  Router maintains “soft state”  Who controls membership  A crashed router soon recovers  Invitations  Sends a new membership_query  How to find groups and join them  Misdelivers packets for a little while  Move these decisions to application OK by IP service model!  layer 4

  5. Multicast Routing Core-Based Tree  A number of routers have hosts that  Tree rooted at a core belong to a multicast group  To join a group, send unicast message  How to connect them (and others) in a towards core tree?  Add all links traversed until hit existing tree  Shared tree: single tree for all  Source-based tree: many trees Diagram Choice of Core  If core close to source, efficiency is good  If core far from source, efficiency falls  Delay up to twice optimal Core  Optimal core placement is NP-hard  Use heuristics Source-based Trees Pruning  Prune when no attached members or  Different tree for each possible source downstream routers  Why?  Propagate prune messages upstream  Reverse path forwarding to figure out S: source tree R1 router with attached R4  Pruning to leave out routers group member router with no attached R2 P group member P R5 prune message P links with multicast R3 forwarding R7 R6 5

  6. DVMRP MOSPF  Multicast Extensions to OSPF  Distance Vector Multicast Routing Protocol  Link-state advertisements include multicast  DV + RPF + Pruning group membership  DV vector carries distance to multicast Only report directly connected hosts  sources  Compute shortest-path spanning tree rooted  Pruning carries a timeout at source Afterwards, traffic delivery is resumed  On demand, when receiving packet from source   Explicit graft message to reverse pruning for the first time Done upon join Forward multicast traffic along tree   MOSPF performance PIM  Protocol Independent Multicast  Global state allows source-based trees Uses routing tables, but agnostic of how they to be used  are built  Faster delivery of messages  Two settings:  Overhead Dense: most routers members of a group  Use RPF flooding with pruning   Joins and leaves flooded to all routers Sparse: most routers not members of a group   Any change may cause whole tree to be Use shared tree or source-based tree based on data  characteristics recomputed  Uses soft-state Sparse vs. Dense Shared v. Source-based Trees Dense Mode Sparse Mode  Shared trees used initially  Dense participants  Sparse participants  Tree rooted at rendezvouz-point (RP)  B/W plentiful  B/W overhead  Can switch to source-based trees significant  Membership when data rate is high assumed until  Membership  RP sends a Join message to source pruned explicitly requested  Each router independently decides to  Data driven  Receiver driven switch to source-based tree, sends Join to source 6

  7. Shared Tree Example PIM Receiver Join G G G G G Report G RP RP Join *,G S S What if G join is here? G PIM Shared Tree After Join PIM Source Based Tree G G G G G G RP RP S S Join s,g G G G G PIM Source Based Tree PIM routing tables  Routing entries of the form (s,g) G G G  s - source RP  g - group S  Wildcard entries (*,g) for shared-group trees  Packets are routed using best match G G 7

  8. Steiner Trees Minimum Spanning Tree Steiner Tree: minimum cost tree connecting all  4 B 5 routers with attached group members A problem is NP-complete  C 2 6 excellent heuristics exists  1 not used in practice:  E 6 D computational complexity  4 information about entire network needed  3 monolithic: rerun whenever a router needs to join/leave 3  F G Tunneling Steiner Tree Q: How to connect “islands” of multicast B 4 routers in a “sea” of unicast routers? 5 A C 2 6 1 E 6 D physical topology logical topology 4  mcast datagram encapsulated inside “normal” (non-multicast- 3 3 addressed) datagram F G  normal IP datagram sent thru “tunnel” via regular IP unicast to receiving mcast router  receiving mcast router unencapsulates to get mcast datagram 8

Recommend


More recommend