home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_s_z / draft-zappala-multicast-routing-me-00.txt < prev    next >
Text File  |  1997-03-27  |  20KB  |  532 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Internet Draft                                            Daniel Zappala
  8. Expiration: September 1997            USC Information Sciences Institute
  9. File: draft-zappala-multicast-routing-me-00.txt
  10.  
  11.  
  12.  
  13.              A Route Setup Mechanism For Multicast Routing
  14.  
  15.  
  16.  
  17.                              March 26, 1997
  18.  
  19. Status of Memo
  20.  
  21.    This document is an Internet-Draft.  Internet-Drafts are working
  22.    documents of the Internet Engineering Task Force (IETF), its areas,
  23.    and its working groups.  Note that other groups may also distribute
  24.    working documents as Internet-Drafts.
  25.  
  26.    Internet-Drafts are draft documents valid for a maximum of six months
  27.    and may be updated, replaced, or obsoleted by other documents at any
  28.    time.  It is inappropriate to use Internet-Drafts as reference
  29.    material or to cite them other than as "work in progress."
  30.  
  31.    To learn the current status of any Internet-Draft, please check the
  32.    "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
  33.    Directories on ds.internic.net (US East Coast), nic.nordu.net
  34.    (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific
  35.    Rim).
  36.  
  37. Abstract
  38.  
  39.    This document describes a multicast route setup protocol that can be
  40.    used to install alternate paths and pinned routes when they are
  41.    requested by receivers.  We describe the protocol, derive some of its
  42.    properties, and address its applicability to unicast route setup.
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Zappala                Expiration: September 1997               [Page 1]
  59.  
  60.  
  61.  
  62.  
  63. Internet Draft           Multicast Route Setup                March 1997
  64.  
  65.  
  66. 1. Introduction
  67.  
  68.    This document describes a multicast route setup protocol that can be
  69.    used to install alternate paths and pinned routes when they are
  70.    requested by receivers.  This protocol is designed as part of the
  71.    interdomain multicast routing architecture described in [7].  In
  72.    general, this protocol is useful when multicast routers wish to
  73.    install explicit routes in a multicast tree without coordinating the
  74.    routing of the entire tree according to a globally defined metric.
  75.    Thus, in addition to being used as prescribed in [7], this protocol
  76.    may also be used to install a QoS route for a receiver.  We have
  77.    focused on designing a multicast route setup protocol; a later
  78.    section describes the relevance of our work to unicast route setup.
  79.  
  80.    For the purposes of this document, we assume that receivers use a
  81.    reservation protocol such as RSVP [8,2] to reserve resources for
  82.    unicast and multicast flows.  By default, these reservations are
  83.    obtained over an opportunistic, shortest-path multicast tree computed
  84.    and installed by a multicast routing protocol, likely either DVMRP
  85.    [6], MOSPF [5], PIM [4] or CBT [1].  Each sender may have its own
  86.    tree, or all senders may use a shared tree.  Throughout this document
  87.    we assume sender trees, although the mechanism is equally applicable
  88.    to shared trees.
  89.  
  90.    We also assume that a receiver, or some entity acting on behalf of a
  91.    receiver, may request several services in place of its current
  92.    opportunistic route:
  93.  
  94.    o    "Alternate Path": A route that is an alternative to the
  95.         currently installed route.  A receiver may wish to use an
  96.         alternate path when it is unable to reserve resources along its
  97.         current path.
  98.  
  99.    o    "Pinned Route": A route that remains unchanged unless a node
  100.         along the route fails.  A receiver may wish to know that once it
  101.         has secured a reservation, the route will not change unless it
  102.         fails, and hence the reservation will likely remain in place.
  103.         When an application does not use a pinned route (the route is
  104.         opportunistic), the reservation protocol must adapt the
  105.         reservation whenever the route adapts to a shorter path, even if
  106.         the original path is still working.
  107.  
  108.    Using these basic services, a receiver may ask for an alternate path
  109.    that is opportunistic, an alternate path that is pinned, or it may
  110.    ask to pin its current route.  Note that an opportunistic alternate
  111.    path has some pinned hops while the remaining hops are opportunistic;
  112.    see [7] for more details.
  113.  
  114.  
  115.  
  116.  
  117. Zappala                Expiration: September 1997               [Page 2]
  118.  
  119.  
  120.  
  121.  
  122. Internet Draft           Multicast Route Setup                March 1997
  123.  
  124.  
  125.    As part of the architecture described in [7], we assume that a
  126.    receiver asks its first-hop router for an alternate path or a pinned
  127.    route.  This router in turn contacts a local route construction agent
  128.    to construct a route and encodes the response as an explicit route.
  129.    The setup protocol connects the receiver to the multicast tree along
  130.    this new path.  Along the way, the setup protocol pins any hop that
  131.    is listed in the route; thus if the receiver wants a pinned route,
  132.    then every hop between the receiver and the sender must be listed.
  133.  
  134. 2. The MORF Multicast Route Setup Protocol
  135.  
  136.    We have designed the MORF multicast route setup protocol to install
  137.    routes provided by local route construction agents.  For each
  138.    multicast tree built by the multicast routing protocol, MORF creates
  139.    its own parallel multicast tree consisting of alternate paths and
  140.    pinned routes.  Each branch of this tree, called the Setup Tree, is
  141.    constructed using a Setup message originated by a leaf router on
  142.    behalf of local receivers.  The Setup message contains an explicit
  143.    route indicating the path the Setup should travel (Table 1).  As the
  144.    Setup travels upstream, MORF notifies the multicast routing protocol
  145.    that it is overriding some local portions of the multicast tree with
  146.    some branches in the Setup Tree.  The multicast routing protocol adds
  147.    these branches to the multicast tree and prunes any conflicting
  148.    branches from the original tree (Figure 1a).  The resulting multicast
  149.    tree reflects the path installed by MORF (Figure 1b).  The multicast
  150.    tree may be for a single sender [4], or multiple senders may
  151.    rendezvous via a core [4,1].  In either case, the protocol is the
  152.    same; in the following discussion we refer to sender-based trees for
  153.    simplicity.
  154.  
  155.                       Table 1: MORF Protocol Messages
  156.  
  157.    Messages                              Parameters
  158.    -----------------------------------------------------------------
  159.    Setup(Group,Target,Route)             Group  : multicast group
  160.    Failure(Group,Target,JoinRt,TreeRt)   Target : sender or core
  161.    Teardown(Group,Target)                Route  : explicit route
  162.                                          SetupRt: route from Setup
  163.                                          TreeRt : route used by tree
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176. Zappala                Expiration: September 1997               [Page 3]
  177.  
  178.  
  179.  
  180.  
  181. Internet Draft           Multicast Route Setup                March 1997
  182.  
  183.  
  184.  
  185.  
  186.                    [See postscript version for figures]
  187.  
  188.  
  189.             Figure 1: Using a Setup Message to Install a Route
  190.  
  191.  
  192.  
  193.    Since the Setup Tree overrides default opportunistic routing, each
  194.    router in the Setup Tree must have a mechanism to detect failures of
  195.    an alternate path or a pinned route.  The setup protocol may rely on
  196.    a unicast routing protocol to exchange query messages with its
  197.    neighbors to determine whether they are alive, or it may use its own
  198.    similar mechanism.  Once a failure is detected, MORF sends a Teardown
  199.    message both upstream and downstream of the failure to remove failed
  200.    branches from the Setup Tree (Figure 2a).  At each hop, MORF notifies
  201.    the multicast routing protocol of the branches it is removing.  The
  202.    multicast routing protocol re-builds the multicast tree to reflect
  203.    its metric, often the shortest path to the sender (Figure 2b).
  204.  
  205.  
  206.  
  207.                    [See postscript version for figures]
  208.  
  209.  
  210.             Figure 2: Using a Teardown to Remove a Failed Route
  211.  
  212.  
  213.  
  214.    The above examples represent the simplified case when a Setup does
  215.    not conflict with the rest of the Setup Tree.  However, the setup
  216.    protocol must also resolve Setup messages from different leaves that
  217.    use conflicting routes, because leaf routers may use independent
  218.    route construction agents.  MORF resolves conflicts by choosing the
  219.    first route that is installed for any given branch of the tree.
  220.    Where subsequent routes meet this branch, they must conform to the
  221.    route used from that point upward toward the source.  If the setup
  222.    protocol does not follow this restriction, then a number of looping
  223.    scenarios may arise; Section 2.1 discusses these cases and the manner
  224.    in which they are prevented.
  225.  
  226.    Figure 3 shows an example of how all Setup messages except the first
  227.    one must match the route already used by the Setup Tree. When a Setup
  228.    message adds a node to the Setup Tree, it caches the route it will
  229.    use to travel from that node upward toward the sender.  If a
  230.    subsequent Setup message arrives at that node, it compares the
  231.    remaining route it must travel to the route cached locally.  If the
  232.  
  233.  
  234.  
  235. Zappala                Expiration: September 1997               [Page 4]
  236.  
  237.  
  238.  
  239.  
  240. Internet Draft           Multicast Route Setup                March 1997
  241.  
  242.  
  243.    routes do not match, the node stops processing the Setup and sends a
  244.    Failure message downstream (Figure 3a).  The Failure message contains
  245.    the route used by the failed Setup and the route used by the tree
  246.    from the rejecting node upward (Table 1).  A router receiving a
  247.    Failure message merges the two routes it contains to construct a new
  248.    route that will match the tree, then sends a second Setup with this
  249.    route (Figure 3b).
  250.  
  251.  
  252.  
  253.                    [See postscript version for figures]
  254.  
  255.  
  256.                      Figure 3: Matching Setup Messages
  257.  
  258.  
  259.  
  260.    It is from this mechanism -- "Match or Fail" -- that MORF derives its
  261.    name.  By using this restriction, MORF may increase the setup
  262.    latency, but it prevents any loops from forming while the tree is
  263.    constructed.  The remainder of this section discusses potential
  264.    looping scenarios and analyzes the tradeoffs of MORF versus other
  265.    potential solutions for preventing loops.
  266.  
  267.    2.1 Looping Scenarios
  268.  
  269.       When Setup messages are not restricted to matching the rest of the
  270.       Setup Tree, a number of possible looping scenarios arise.  Figure
  271.       4a shows two Setups, each using a strict explicit route.  Based on
  272.       their order of arrival, as shown, if the Setups merge they form a
  273.       loop.  This loop can be prevented if nodes A and C compare the
  274.       routes and detect the loop will form.  However, when three joins
  275.       are involved, as in Figure 4b, a single node cannot prevent the
  276.       loop from forming without having more information available.
  277.  
  278.  
  279.  
  280.                       [See postscript version for figures]
  281.  
  282.  
  283.                    Figure 4: Loops Formed by Setup Messages
  284.  
  285.  
  286.  
  287.       To prevent loops, a node can use one of two strategies:
  288.  
  289.       1.   Before adding a parent, the node checks all its descendants
  290.            to be sure the parent is not already a descendant.
  291.  
  292.  
  293.  
  294. Zappala                Expiration: September 1997               [Page 5]
  295.  
  296.  
  297.  
  298.  
  299. Internet Draft           Multicast Route Setup                March 1997
  300.  
  301.  
  302.       2.   Before adding a child, the node checks all its ancestors to
  303.            be sure the new child is not already an ancestor.
  304.  
  305.       We discuss each of these in turn.  Due to the dynamic nature of
  306.       multicast trees, a node may not know all of its ancestors or
  307.       descendants.  While a node knows the route embedded in the Setup
  308.       message it has sent upstream, that message may have merged with
  309.       another Setup carrying a different route.  Likewise, other Setups
  310.       may have merged downstream, adding new descendants.
  311.  
  312.       One approach to keep nodes updated concerning upstream and
  313.       downstream merges is to distribute information after each merge.
  314.       Following solution (1) above, each Setup that merges can send a
  315.       Merge message upstream containing its route (Figure 5a).  Every
  316.       node can then know all its descendants and thereby detect any
  317.       loops.  Alternatively, in keeping with solution (2) above, each
  318.       Setup that merges can send a Merge message downstream containing
  319.       the upstream portion of the route it merged with (Figure 5b).
  320.       This allows every node to detect loops by knowing all its
  321.       ancestors.  We denote these two mechanisms as "Merge Up" and
  322.       "Merge Down", respectively.  In both of these approaches,
  323.       information distributed by the Merge messages may be stale, so
  324.       loops such as that shown in Figure 4 may still form temporarily
  325.       before being broken.
  326.  
  327.  
  328.  
  329.                       [See postscript version for figures]
  330.  
  331.  
  332.              Figure 5: Merging Setup Messages Instead of Matching
  333.  
  334.  
  335.  
  336.       As opposed to these solutions, which in some cases will only
  337.       detect loops after they have been formed, the strategy we use in
  338.       MORF prevents any loops from forming.  By requiring each Setup to
  339.       match the upstream route already in place on the tree, MORF in
  340.       effect enforces solution (2) by requiring that each node know its
  341.       ancestors before it is added to the tree.  Once a node is added to
  342.       the multicast tree, its ancestors do not change.  The cost of this
  343.       strategy is that each Setup may take an extra roundtrip between
  344.       itself and the rest of the tree.  The following section more
  345.       completely analyses the tradeoffs of MORF versus the other
  346.       mechanisms discussed above.
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353. Zappala                Expiration: September 1997               [Page 6]
  354.  
  355.  
  356.  
  357.  
  358. Internet Draft           Multicast Route Setup                March 1997
  359.  
  360.  
  361.    2.2 Analysis of Setup Mechanisms
  362.  
  363.                    Table 2: Comparison of Setup Mechanisms
  364.  
  365.       Mechanism      Message     Storage   Setup          Loop
  366.       Name           Overhead    Overhead  Latency        Handling
  367.       -----------------------------------------------------------------
  368.       MORF           O(1)        O(a)      1 or 3 trips   Prevent
  369.       Merge Down     O(1)        O(a)      1 trip         Detect/Break
  370.       Merge Up       O(d)        O(d)      1 trip         Detect/Break
  371.  
  372.  
  373.       Table 2 compares the setup mechanisms discussed above when
  374.       building a single multicast tree, assuming there is no packet loss
  375.       and that one receiver joins the tree at a time.  The columns
  376.       listing message and storage overhead consider the behavior of each
  377.       mechanism at a single node.  Overhead in these cases is expressed
  378.       in terms of a, the number of ancestors of a node, or d, the number
  379.       of descendants of a node.  The setup latency column lists time in
  380.       terms of the number of trips taken between a receiver and the
  381.       multicast tree.
  382.  
  383.       Clearly the Merge Up mechanism does not scale well because each
  384.       node must store each descendent as well as send one message
  385.       upstream for each descendant.  The advantages of using a
  386.       receiver-oriented mechanism are lost with Merge Up; a sender-
  387.       oriented mechanism has the same message overhead, but only the
  388.       sender must store the descendants.
  389.  
  390.       The MORF and Merge Down mechanisms have a similar overhead in this
  391.       situation.  The MORF mechanism may have a longer setup latency,
  392.       but in return has the distinct advantage that it may prevent
  393.       rather than just detect loops, as discussed above.
  394.  
  395.       When we relax the assumption that one receiver joins the tree at
  396.       time, thus allowing multiple simultaneous Setups, the other
  397.       tradeoffs of these two mechanisms become more apparent.  In this
  398.       situation, MORF must take into account conflicting Setups.  We
  399.       assume that it will use a binary exponential backoff to prevent
  400.       thrashing.  If we also assume a message transmission takes a
  401.       uniform time t when sent over any link, then the dynamic setup
  402.       latency for MORF:
  403.  
  404.                Latency_MORF = 3Lt(c+1) + sum{i=1->c} b*2^{i-1},
  405.  
  406.       where L is the average length of the branch from a receiver to the
  407.       rest of the tree, b is the backoff constant, and c is the number
  408.       of conflicts the Setup encounters.
  409.  
  410.  
  411.  
  412. Zappala                Expiration: September 1997               [Page 7]
  413.  
  414.  
  415.  
  416.  
  417. Internet Draft           Multicast Route Setup                March 1997
  418.  
  419.  
  420.       When considering these dynamic conditions, each node using the
  421.       Merge Down mechanism may potentially send O(a) messages
  422.       downstream, since each ancestor may send the node one Merge
  423.       message.  In addition, the setup latency for Merge Down must take
  424.       into account the time required to break loops.  The worst case
  425.       time to break a loop of m nodes is t(m-1), so the setup latency
  426.       can be given by:
  427.  
  428.                Latency_MergeDown = 2Lt + sum{i=1->l} (m_i-1)t,
  429.  
  430.       where l is the number of loops encountered and m_i is the number
  431.       of nodes in loop i.
  432.  
  433.       As can be seen from this analysis, the Merge Down mechanism
  434.       requires a robust protocol design to ensure that loops are quickly
  435.       detected and broken.  The more merges that occur simultaneously,
  436.       the longer it will take for the mechanism to distribute the
  437.       information needed to break the loops.  The Merge Down mechanism
  438.       will also have to detect when a Merge message is lost, as that
  439.       event can cause a loop to persist.  In contrast, MORF uses a
  440.       simpler protocol to prevent loops and uses more complexity only at
  441.       the edges of the network.
  442.  
  443.    2.3 Unicast Route Setup
  444.  
  445.       Previous work has studied the efficacy of using source routing to
  446.       support unicast real-time applications [3].  One way to use source
  447.       routes to provide alternate paths or pinned routes is to embed the
  448.       source route in an application's packets.  Assuming the route will
  449.       be inserted by a filter at a sender's nearest router, no
  450.       modifications to applications will be needed.  However, because
  451.       many routers currently delay processing of source routed packets,
  452.       this mechanism may not be applicable to applications with strict
  453.       delay requirements.
  454.  
  455.       An alternative is for the sender's nearest router to insert a
  456.       label in the application's packets rather than a source route.
  457.       This label can reference an alternate path or pinned route that is
  458.       installed using MORF.  Because unicast applications involve only
  459.       one receiver, the setup latency will only be 1 trip.  Either the
  460.       sender or receiver can initiate the route setup, although
  461.       initiating at the sender will require trivial modifications to the
  462.       protocol.
  463.  
  464. 3. Acknowledgments
  465.  
  466.    Bob Braden, Deborah Estrin, and Scott Shenker provided valuable
  467.    feedback on this work.
  468.  
  469.  
  470.  
  471. Zappala                Expiration: September 1997               [Page 8]
  472.  
  473.  
  474.  
  475.  
  476. Internet Draft           Multicast Route Setup                March 1997
  477.  
  478.  
  479. References
  480.  
  481. [1] A. J. Ballardie, P.F. Francis, and J. Crowcroft, "Core Based Trees",
  482.     In "ACM SIGCOMM", August 1993.
  483.  
  484. [2] R. Braden, L. Zhang, S. Berson, S. Herzog, and S. Jamin, "Resource
  485.     ReSerVation Protocol (RSVP) - Version 1 Functional Specification",
  486.     work in progress, November 1996.
  487.  
  488. [3] Lee Breslau, ""Adaptive Source Routing of Real-Time Traffic in
  489.     Integrated Services Networks"", PhD thesis, University of Southern
  490.     California, December 1995.
  491.  
  492. [4] Stephen Deering, Deborah Estrin, Dino Farinacci, Van Jacobson,
  493.     Ching-Gung Liu, and Liming Wei, An Architecture for Wide-Area
  494.     Multicast Routing, In "ACM SIGCOMM", August 1994.
  495.  
  496. [5] J. Moy, "Multicast Extensions to OSPF", RFC 1584, March 1994.
  497.  
  498. [6] D. Waitzman, C. Partridge, and S. Deering, "Distance Vector
  499.     Multicast Routing Protocol", RFC 1075, November 1988.
  500.  
  501. [7] Daniel Zappala, Bob Braden, Deborah Estrin, and Scott Shenker,
  502.     "Interdomain Multicast Routing Support for Integrated Services
  503.     Networks", work in progress, March 1997.
  504.  
  505. [8] Lixia Zhang, Steve Deering, Deborah Estrin, Scott Shenker, and
  506.     Daniel Zappala, "RSVP: A New Resource ReSerVation Protocol", "IEEE
  507.     Network", September 1993.
  508.  
  509.  
  510.  
  511. Security Considerations
  512.  
  513.    Security considerations are not discussed in this memo.
  514.  
  515. Author's Address
  516.  
  517.    Daniel Zappala
  518.    USC Information Sciences Institute
  519.    4676 Admiralty Way, Floor 10
  520.    Marina del Rey, CA 90292
  521.    EMail: daniel@isi.edu
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530. Zappala                Expiration: September 1997               [Page 9]
  531.  
  532.