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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend