home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_i / draft-ietf-idmr-cbt-arch-04.txt < prev    next >
Text File  |  1997-03-07  |  51KB  |  1,319 lines

  1.  
  2.  
  3. Inter-Domain Multicast Routing (IDMR)                       A. Ballardie
  4. INTERNET-DRAFT                                                Consultant
  5.  
  6.                                                               March 1997
  7.  
  8.  
  9.          Core Based Trees (CBT) Multicast Routing Architecture
  10.  
  11.  
  12. Status of this Memo
  13.  
  14.    This document is an Internet Draft.  Internet Drafts are working doc-
  15.    uments of the Internet Engineering Task Force (IETF), its Areas, and
  16.    its Working Groups. Note that other groups may also distribute work-
  17.    ing documents as Internet Drafts).
  18.  
  19.    Internet Drafts are draft documents valid for a maximum of six
  20.    months. Internet Drafts may be updated, replaced, or obsoleted by
  21.    other documents at any time.  It is not appropriate to use Internet
  22.    Drafts as reference material or to cite them other than as a "working
  23.    draft" or "work in progress."
  24.  
  25.    Please check the I-D abstract listing contained in each Internet
  26.    Draft directory to learn the current status of this or any other In-
  27.    ternet Draft.
  28.  
  29.  
  30. Abstract
  31.  
  32.    CBT is a multicast routing architecture that builds a single delivery
  33.    tree per group which is shared by all of the group's senders and re-
  34.    ceivers.  Most multicast algorithms build one multicast tree per
  35.    sender (subnetwork), the tree being rooted at the sender's subnet-
  36.    work. The primary advantage of the shared tree approach is that it
  37.    typically offers more favourable scaling characteristics than all
  38.    other multicast algorithms.
  39.  
  40.    The CBT protocol [1] is a network layer multicast routing protocol
  41.    that builds and maintains a shared delivery tree for a multicast
  42.    group.  The sending and receiving of multicast data by hosts on a
  43.    subnetwork conforms to the traditional IP multicast service model
  44.    [2].
  45.  
  46.    CBT is progressing through the IDMR working group of the IETF.  The
  47.    CBT protocol is described in an accompanying document [1]. For this,
  48.    and all IDMR-related documents, see http://www.cs.ucl.ac.uk/ietf/idmr
  49.  
  50.  
  51.  
  52. Expires September 1997                                          [Page 1]
  53.  
  54.  
  55.  
  56. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  57.  
  58.  
  59. TABLE OF CONTENTS
  60.  
  61.   1. Background................................................... 3
  62.  
  63.   2. Introduction................................................. 3
  64.  
  65.   3. Source Based Tree Algorithms................................. 5
  66.  
  67.      3.1 Distance-Vector Multicast Algorithm...................... 5
  68.  
  69.      3.2 Link State Multicast Algorithm........................... 6
  70.  
  71.      3.3 The Motivation for Shared Trees.......................... 7
  72.  
  73.   4. CBT - The New Architecture................................... 8
  74.  
  75.      4.1 Design Requirements...................................... 8
  76.  
  77.      4.2 Components & Functions................................... 10
  78.  
  79.          4.2.1 Core Router Discovery ............................. 13
  80.  
  81.          4.2.2 CBT Control Message Retransmission Strategy ....... 14
  82.  
  83.          4.2.3 Non-Member Sending................................. 15
  84.  
  85.   5. Interoperability with Other Multicast Routing Protocols ..... 15
  86.  
  87.   6. Summary ..................................................... 16
  88.  
  89.   Acknowledgements ............................................... 16
  90.  
  91.   References ..................................................... 16
  92.  
  93.   Author Information.............................................. 18
  94.  
  95.   Appendix........................................................ 19
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107. Expires September 1997                                          [Page 2]
  108.  
  109.  
  110.  
  111. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  112.  
  113.  
  114. 1.  Background
  115.  
  116.    Shared trees were first described by Wall in his investigation into
  117.    low-delay approaches to broadcast and selective broadcast [3]. Wall
  118.    concluded that delay will not be minimal, as with shortest-path
  119.    trees, but the delay can be kept within bounds that may be accept-
  120.    able.  Back then, the benefits and uses of multicast were not fully
  121.    understood, and it wasn't until much later that the IP multicast
  122.    address space was defined (class D space [4]). Deering's work [2] in
  123.    the late 1980's was pioneering in that he defined the IP multicast
  124.    service model, and invented algorithms which allow hosts to arbitrar-
  125.    ily join and leave a multicast group. All of Deering's multicast
  126.    algorithms build source-rooted delivery trees, with one delivery tree
  127.    per sender subnetwork. These algorithms are documented in [2].
  128.  
  129.    After several years practical experience with multicast,  we see a
  130.    diversity of multicast applications and correspondingly, a wide vari-
  131.    ety of multicast application requirements.  For example, distributed
  132.    interactive simulation (DIS) applications have strict requirements in
  133.    terms of join latency, group membership dynamics, group sender popu-
  134.    lations, far exceeding the requirements of many other multicast
  135.    applications.
  136.  
  137.     The multicast-capable part of the Internet, the MBONE, continues to
  138.    expand rapidly.  The obvious popularity and growth of multicast means
  139.    that the scaling aspects of wide-area multicasting cannot be over-
  140.    looked; some predictions talk of thousands of groups being present at
  141.    any one time in the Internet.
  142.  
  143.    We evaluate scalability in terms of network state maintenance, band-
  144.    width efficiency, and protocol overhead. Other factors that can
  145.    affect these parameters include sender set size, and wide-area dis-
  146.    tribution of group members.
  147.  
  148.  
  149.  
  150. 2.  Introduction
  151.  
  152.    Multicasting on the local subnetwork does not require either the
  153.    presence of a multicast router or the implementation of a multicast
  154.    routing algorithm; on most shared media (e.g. Ethernet), a host,
  155.    which need not necessarily be a group member, simply sends a multi-
  156.    cast data packet, which is received by any member hosts connected to
  157.    the same medium.
  158.  
  159.  
  160.  
  161.  
  162. Expires September 1997                                          [Page 3]
  163.  
  164.  
  165.  
  166. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  167.  
  168.  
  169.    For multicasts to extend beyond the scope of the local subnetwork,
  170.    the subnet must have a multicast-capable router attached, which
  171.    itself is attached (possibly "virtually") to another multicast-
  172.    capable router, and so on. The collection of these (virtually) con-
  173.    nected multicast routers forms the Internet's MBONE.
  174.  
  175.    All multicast routing protocols make use of IGMP [5], a protocol that
  176.    operates between hosts and multicast router(s) belonging to the same
  177.    subnetwork. IGMP enables the subnet's multicast router(s) to monitor
  178.    group membership presence on its directly attached links, so that if
  179.    multicast data arrives, it knows over which of its links to send a
  180.    copy of the packet.
  181.  
  182.    In our description of the MBONE so far, we have assumed that all mul-
  183.    ticast routers on the MBONE are running the same multicast routing
  184.    protocol. In reality, this is not the case; the MBONE is a collection
  185.    of autonomously administered multicast regions, each region defined
  186.    by one or more multicast-capable border routers. Each region indepen-
  187.    dently chooses to run whichever multicast routing protocol best suits
  188.    its needs, and the regions interconnect via the "backbone region",
  189.    which currently runs the Distance Vector Multicast Routing Protocol
  190.    (DVMRP) [6]. Therefore, it follows that a region's border router(s)
  191.    must interoperate with DVMRP.
  192.  
  193.    Different algorithms use different techniques for establishing a dis-
  194.    tribution tree. If we classify these algorithms into source-based
  195.    tree algorithms and shared tree algorithms, we'll see that the dif-
  196.    ferent classes have considerably different scaling characteristics,
  197.    and the characteristics of the resulting trees differ too, for exam-
  198.    ple, average delay. Let's look at source-based tree algorithms first.
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217. Expires September 1997                                          [Page 4]
  218.  
  219.  
  220.  
  221. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  222.  
  223.  
  224. 3.  Source-Based Tree Algorithms
  225.  
  226.    The strategy we'll use for motivating (CBT) shared tree multicast is
  227.    based, in part, in explaining the characteristics of source-based
  228.    tree multicast, in particular its scalability.
  229.  
  230.    Most source-based tree multicast algorithms are often referred to as
  231.    "dense-mode" algorithms; they assume that the receiver population
  232.    densely populates the domain of operation, and therefore the accompa-
  233.    nying overhead (in terms of state, bandwidth usage, and/or processing
  234.    costs) is justified.  Whilst this might be the case in a local envi-
  235.    ronment, wide-area group membership tends to be sparsely distributed
  236.    throughout the Internet.  There may be "pockets" of denseness, but if
  237.    one views the global picture, wide-area groups tend to be sparsely
  238.    distributed.
  239.  
  240.    Source-based multicast trees are either built by a distance-vector
  241.    style algorithm, which may be implemented separately from the unicast
  242.    routing algorithm (as is the case with DVMRP), or the multicast tree
  243.    may be built using the information present in the underlying unicast
  244.    routing table (as is the case with PIM-DM [7]). The other algorithm
  245.    used for building source-based trees is the link-state algorithm (a
  246.    protocol instance being M-OSPF [8]).
  247.  
  248.  
  249. 3.1.  Distance-Vector Multicast Algorithm
  250.  
  251.    The distance-vector multicast algorithm builds a multicast delivery
  252.    tree using a variant of the Reverse-Path Forwarding technique [9].
  253.    The technique basically is as follows: when a multicast router
  254.    receives a multicast data packet, if the packet arrives on the inter-
  255.    face used to reach the source of the packet, the packet is forwarded
  256.    over all outgoing interfaces, except leaf subnets with no members
  257.    attached.  A "leaf" subnet is one which no router would use to reach
  258.    the souce of a multicast packet. If the data packet does not arrive
  259.    over the link that would be used to reach the source, the packet is
  260.    discarded.
  261.  
  262.    This constitutes a "broadcast & prune" approach to multicast tree
  263.    construction; when a data packet reaches a leaf router, if that
  264.    router has no membership registered on any of its directly attached
  265.    subnetworks, the router sends a prune message one hop back towards
  266.    the source. The receiving router then checks its leaf subnets for
  267.    group membership, and checks whether it has received a prune from all
  268.    of its downstream routers (downstream with respect to the source).
  269.  
  270.  
  271.  
  272. Expires September 1997                                          [Page 5]
  273.  
  274.  
  275.  
  276. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  277.  
  278.  
  279.    If so, the router itself can send a prune upstream over the interface
  280.    leading to the source.
  281.  
  282.    The sender and receiver of a prune message must cache the <source,
  283.    group> pair being reported, for a "lifetime" which is at the granu-
  284.    larity of minutes. Unless a router's prune information is refreshed
  285.    by the receipt of a new prune for <source, group> before its "life-
  286.    time" expires, that information is removed, allowing data to flow
  287.    over the branch again. State that expires in this way is referred to
  288.    as "soft state".
  289.  
  290.    Interestingly, routers that do not lead to group members are incurred
  291.    the state overhead incurred by prune messages. For wide-area multi-
  292.    casting, which potentially has to support many thousands of active
  293.    groups, each of which may be sparsely distributed, this technique
  294.    clearly does not scale.
  295.  
  296.  
  297. 3.2.  Link-State Multicast Algorithm
  298.  
  299.    Routers implementing a link state algorithm periodically collect
  300.    reachability information to their directly attached neighbours, then
  301.    flood this throughout the routing domain in so-called link state
  302.    update packets. Deering extended the link state algorithm for multi-
  303.    casting by having a router additionally detect group membership
  304.    changes on its incident links before flooding this information in
  305.    link state packets.
  306.  
  307.    Each router then, has a complete, up-to-date image of a domain's
  308.    topology and group membership. On receiving a multicast data packet,
  309.    each router uses its membership and topology information to calculate
  310.    a shortest-path tree rooted at the sender subnetwork. Provided the
  311.    calculating router falls within the computed tree, it forwards the
  312.    data packet over the interfaces defined by its calculation. Hence,
  313.    multicast data packets only ever traverse routers leading to members,
  314.    either directly attached, or further downstream. That is, the deliv-
  315.    ery tree is a true multicast tree right from the start.
  316.  
  317.    However, the flooding (reliable broadcasting) of group membership
  318.    information is the predominant factor preventing the link state mul-
  319.    ticast algorithm being applicable over the wide-area.  The other lim-
  320.    iting factor is the processing cost of the Dijkstra calculation to
  321.    compute the shortest-path tree for each active source.
  322.  
  323.  
  324.  
  325.  
  326.  
  327. Expires September 1997                                          [Page 6]
  328.  
  329.  
  330.  
  331. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  332.  
  333.  
  334. 3.3.  The Motivation for Shared Trees
  335.  
  336.    The algorithms described in the previous sections clearly motivate
  337.    the need for a multicast algorithm(s) that is more scalable. CBT was
  338.    designed primarily to address the topic of scalability; a shared tree
  339.    architecture offers an improvement in scalability over source tree
  340.    architectures by a factor of the number of active sources (where
  341.    source is usually a subnetwork aggregate).  Source trees scale O(S *
  342.    G), since a distinct delivery tree is built per active source. Shared
  343.    trees eliminate the source (S) scaling factor; all sources use the
  344.    same shared tree, and hence a shared tree scales O(G).  The implica-
  345.    tion of this is that applications with many active senders, such as
  346.    distributed interactive simulation applications, and distributed
  347.    video-gaming (where most receivers are also senders), have a signifi-
  348.    cantly lesser impact on underlying multicast routing if shared trees
  349.    are used.
  350.  
  351.    In the "back of the envelope" table below we compare the amount of
  352.    state required by CBT and DVMRP for different group sizes with dif-
  353.    ferent numbers of active sources:
  354.  
  355.  
  356.      |--------------|---------------------------------------------------|
  357.      |  Number of   |                |                |                 |
  358.      |    groups    |        10      |       100      |        1000     |
  359.      ====================================================================
  360.      |  Group size  |                |                |                 |
  361.      | (# members)  |        20      |       40       |         60      |
  362.      -------------------------------------------------------------------|
  363.      | No. of srcs  |    |     |     |    |     |     |    |     |      |
  364.      |  per group   |10% | 50% |100% |10% | 50% |100% |10% | 50% | 100% |
  365.      --------------------------------------------------------------------
  366.      | No. of DVMRP |    |     |     |    |     |     |    |     |      |
  367.      |    router    |    |     |     |    |     |     |    |     |      |
  368.      |   entries    | 20 | 100 | 200 |400 | 2K  | 4K  | 6K | 30K | 60K  |
  369.      --------------------------------------------------------------------
  370.      | No. of CBT   |                |                |                 |
  371.      |  router      |                |                |                 |
  372.      |  entries     |       10       |       100      |       1000      |
  373.      |------------------------------------------------------------------|
  374.  
  375.             Figure 1: Comparison of DVMRP and CBT Router State
  376.  
  377.    Shared trees also incur significant bandwidth and state savings com-
  378.    pared with source trees; firstly, the tree only spans a group's
  379.  
  380.  
  381.  
  382. Expires September 1997                                          [Page 7]
  383.  
  384.  
  385.  
  386. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  387.  
  388.  
  389.    receivers (including links/routers leading to receivers) -- there is
  390.    no cost to routers/links in other parts of the network. Secondly,
  391.    routers between a non-member sender and the delivery tree are not
  392.    incurred any cost pertaining to multicast, and indeed, these routers
  393.    need not even be multicast-capable -- packets from non-member senders
  394.    are encapsulated and unicast to a core on the tree.
  395.  
  396.    The figure below illustrates a core based tree.
  397.  
  398.  
  399.            b      b     b-----b
  400.             \     |     |
  401.              \    |     |
  402.               b---b     b------b
  403.              /     \  /                   KEY....
  404.             /       \/
  405.            b         X---b-----b          X = Core
  406.                     / \                   b = on-tree router
  407.                    /   \
  408.                   /     \
  409.                   b      b------b
  410.                  / \     |
  411.                 /   \    |
  412.                b     b   b
  413.  
  414.                             Figure 2: CBT Tree
  415.  
  416.  
  417.  
  418.  
  419. 4.  CBT - The New Architecture
  420.  
  421.  
  422. 4.1.  Design Requirements
  423.  
  424.    The CBT shared tree design was geared towards several design objec-
  425.    tives:
  426.  
  427.  
  428.    +o    scalability - the CBT designers decided not to sacrifice CBT's
  429.         O(G) scaling characteric to optimize delay using SPTs, as does
  430.         PIM.  This was an important design decision, and one, we think,
  431.         was taken with foresight; once multicasting becomes ubiquitous,
  432.         router state maintenance will be a predominant scaling factor.
  433.         It is possible in some circumstances to improve/optimize the
  434.  
  435.  
  436.  
  437. Expires September 1997                                          [Page 8]
  438.  
  439.  
  440.  
  441. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  442.  
  443.  
  444.         delay of shared trees by other means. For example, a broadcast-
  445.         type lecture with a single sender (or limited set of infre-
  446.         quently changing senders) could have its core placed in the
  447.         locality of the sender, allowing the CBT to emulate a shortest-
  448.         path tree (SPT) whilst still maintaining its O(G) scaling char-
  449.         acteristic. More generally, because CBT does not incur source-
  450.         specific state, it is particularly suited to many sender appli-
  451.         cations.
  452.  
  453.    +o    routing protocol independence - a facet of some source tree
  454.         algorithms is that they are tied inextricably, one way or
  455.         another, to a particular routing protocol. For example, DVMRP
  456.         relies for its correct operation on some of the features of RIP
  457.         (e.g. poison reverse). Similarly, M-OSPF can only be implemented
  458.         in routers supporting OSPF, the corresponding unicast protocol.
  459.  
  460.         If multicast routing is to become ubiquitous in the Internet,
  461.         multicast routing protocol operation should remain independent
  462.         of particular unicast protocols to facilitate inter-domain mul-
  463.         ticast routing in a heterogeneous unicast routing environment.
  464.  
  465.    +o    robustness - source-based tree algorithms are clearly robust; a
  466.         sender simply sends its data, and intervening routers "conspire"
  467.         to get the data where it needs to, creating state along the way.
  468.         This is the so-called "data driven" approach -- there is no set-
  469.         up protocol involved.
  470.  
  471.         It is not as easy to achieve the same degree of robustness in
  472.         shared tree algorithms; a shared tree's core router maintains
  473.         connectivity between all group members, and is thus a single
  474.         point of failure.  Protocol mechanisms must be present that
  475.         ensure a core failure is detected quickly, and the tree recon-
  476.         nected quickly using a replacement core router.
  477.  
  478.    +o    simplicity - the CBT protocol is relatively simple compared to
  479.         most other multicast routing protocols. This simplicity can lead
  480.         to enhanced performance compared to other protocols.
  481.  
  482.    +o    interoperability - from a multicast perspective, the Internet is
  483.         a collection of heterogeneous multicast regions. The protocol
  484.         interconnecting these multicast regions is currently DVMRP [6];
  485.         any regions not running DVMRP connect to the DVMRP "backbone" as
  486.         stub regions. Thus, the current Internet multicast infrastruc-
  487.         ture resembles a tree structure. CBT has well-defined interoper-
  488.         ability mechanisms with DVMRP [15].
  489.  
  490.  
  491.  
  492. Expires September 1997                                          [Page 9]
  493.  
  494.  
  495.  
  496. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  497.  
  498.  
  499.         Over the longer term, the imposing of a tree structure on the
  500.         multicast infrastructure is unacceptable for various reasons
  501.         (e.g. administrative burden). Ideally, we want to be able to
  502.         randomly interconnect multicast regions and use a shared tree
  503.         protocol, such as CBT, to dynamically build inter-domain shared
  504.         trees spanning only those domains with interested receivers (or
  505.         those leading to interested receivers).  It is still not clear
  506.         how we can achieve this efficiently and effectively in the pres-
  507.         ence of heterogeneous multicast regions/domains, each with their
  508.         differing multicast forwarding rules. Besides this, there is the
  509.         issue of core router discovery in the inter-domain environment.
  510.         These, and other outstanding issues regarding inter-domain mul-
  511.         ticast routing, are discussed in [10].
  512.  
  513.         Clearly therefore, significant aspects of the inter-domain mul-
  514.         ticast routing (IDMR) architecture remain areas of ongoing
  515.         research.  When an IDMR architecture can be fully defined, new
  516.         CBT interoperability mechanisms will be specified as deemed nec-
  517.         essary to accommodate the IDMR architecture.
  518.  
  519.  
  520. 4.2.  CBT Components & Functions
  521.  
  522.    The CBT protocol is designed to build and maintain a shared multicast
  523.    distribution tree that spans only those networks and links leading to
  524.    interested receivers.
  525.  
  526.    To achieve this, a host first expresses its interest in joining a
  527.    group by multicasting an IGMP host membership report [5] across its
  528.    attached link. On receiving this report, a local CBT aware router
  529.    invokes the tree joining process (unless it has already) by generat-
  530.    ing a JOIN_REQUEST message, which is sent to the next hop on the path
  531.    towards the group's core router (how the local router discovers which
  532.    core to join is discussed in section 4.2.1). This join message must
  533.    be explicitly acknowledged (JOIN_ACK) either by the core router
  534.    itself, or by another router that is on the unicast path between the
  535.    sending router and the core, which itself has already successfully
  536.    joined the tree.
  537.  
  538.    The join message sets up transient join state in the routers it tra-
  539.    verses, and this state consists of <group, incoming interface, outgo-
  540.    ing interface>. "Incoming interface" and "outgoing interface" may be
  541.    "previous hop" and "next hop", respectively, if the corresponding
  542.    links do not support multicast transmission. "Previous hop" is taken
  543.    from the incoming control packet's IP source address, and "next hop"
  544.  
  545.  
  546.  
  547. Expires September 1997                                         [Page 10]
  548.  
  549.  
  550.  
  551. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  552.  
  553.  
  554.    is gleaned from the routing table - the next hop to the specified
  555.    core address. This transient  state eventually times out unless it is
  556.    "confirmed" with a join acknowledgement (JOIN_ACK) from upstream. The
  557.    JOIN_ACK traverses the reverse path of the corresponding join mes-
  558.    sage, which is possible due to the presence of the transient join
  559.    state. Once the acknowledgement reaches the router that originated
  560.    the join message, the new receiver can receive traffic sent to the
  561.    group.
  562.  
  563.    Loops cannot be created in a CBT tree because a) there is only one
  564.    active core per group, and b) tree building/maintenance scenarios
  565.    which may lead to the creation of tree loops are avoided.  For exam-
  566.    ple, if a router's upstream neighbour becomes unreachable, the router
  567.    immediately "flushes" all of its downstream branches, allowing them
  568.    to individually rejoin if necessary.  Transient unicast loops do not
  569.    pose a threat because a new join message that loops back on itself
  570.    will never get acknowledged, and thus eventually times out.
  571.  
  572.    The state created in routers by the sending or receiving of a
  573.    JOIN_ACK is bi-directional - data can flow either way along a tree
  574.    "branch", and the state is group specific - it consists of the group
  575.    address and a list of local interfaces over which join messages for
  576.    the group have previously been acknowledged. There is no concept of
  577.    "incoming" or "outgoing" interfaces, though it is necessary to be
  578.    able to distinguish the upstream interface from any downstream inter-
  579.    faces. In CBT, these interfaces are known as the "parent" and "child"
  580.    interfaces, respectively. We recommend the parent be distinguished as
  581.    such by a single bit in each multicast forwarding cache entry.
  582.  
  583.    With regards to the information contained in the multicast forwarding
  584.    cache, on link types not supporting native multicast transmission an
  585.    on-tree router must store the address of a parent and any children.
  586.    On links supporting multicast however, parent and any child informa-
  587.    tion is represented with local interface addresses (or similar iden-
  588.    tifying information, such as an interface "index") over which the
  589.    parent or child is reachable.
  590.  
  591.    When a multicast data packet arrives at a router, the router uses the
  592.    group address as an index into the multicast forwarding cache. A copy
  593.    of the incoming multicast data packet is forwarded over each inter-
  594.    face (or to each address) listed in the entry except the incoming
  595.    interface.
  596.  
  597.    Each router that comprises a CBT multicast tree, except the core
  598.    router, is responsible for maintaining its upstream link, provided it
  599.  
  600.  
  601.  
  602. Expires September 1997                                         [Page 11]
  603.  
  604.  
  605.  
  606. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  607.  
  608.  
  609.    has interested downstream receivers, i.e. the child interface list is
  610.    non-NULL. A child interface is one over which a member host is
  611.    directly attached, or one over which a downstream on-tree router is
  612.    attached.  This "tree maintenance" is achieved by each downstream
  613.    router periodically sending a "keepalive" message (ECHO_REQUEST) to
  614.    its upstream neighbour, i.e. its parent router on the tree. One
  615.    keepalive message is sent to represent entries with the same parent,
  616.    thereby improving scalability on links which are shared by many
  617.    groups.  On multicast capable links, a keepalive is multicast to the
  618.    "all-cbt-routers" group (IANA assigned as 224.0.0.15); this has a
  619.    suppressing effect on any other router for which the link is its par-
  620.    ent link.  If a parent link does not support multicast transmission,
  621.    keepalives are unicast.
  622.  
  623.    The receipt of a keepalive message over a valid child interface imme-
  624.    diately prompts a response (ECHO_REPLY), which is either unicast or
  625.    multicast, as appropriate.
  626.  
  627.    The ECHO_REQUEST does not contain any group information; the
  628.    ECHO_REPLY does, but only periodically. To maintain consistent infor-
  629.    mation between parent and child,
  630.     the parent periodically reports, in a ECHO_REPLY, all groups for
  631.    which it has state, over each of its child interfaces for those
  632.    groups. This group-carrying echo reply is not prompted explicitly by
  633.    the receipt of an echo request message.  A child is notified of the
  634.    time to expect the next echo reply message containing group informa-
  635.    tion in an echo reply prompted by a child's echo request. The fre-
  636.    quency of  parent group reporting is at the granularity of minutes.
  637.  
  638.    It cannot be assumed all of the routers on a multi-access link have a
  639.    uniform view of unicast routing; this is particularly the case when a
  640.    multi-access link spans two or more unicast routing domains. This
  641.    could lead to multiple upstream tree branches being formed (an error
  642.    condition) unless steps are taken to ensure all routers on the link
  643.    agree which is the upstream router for a particular group. CBT
  644.    routers attached to a multi-access link participate in an explicit
  645.    election mechanism that elects a single router, the designated router
  646.    (DR), as the link's upstream router for all groups. Since the DR
  647.    might not be the link's best next-hop for a particular core router,
  648.    this may result in join messages being re-directed back across a
  649.    multi-access link. If this happens, the re-directed join message is
  650.    unicast across the link by the DR to the best next-hop, thereby pre-
  651.    venting a looping scenario. This re-direction only ever applies to
  652.    join messages.  Whilst this is suboptimal for join messages, which
  653.    are generated infrequently, multicast data never traverses a link
  654.  
  655.  
  656.  
  657. Expires September 1997                                         [Page 12]
  658.  
  659.  
  660.  
  661. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  662.  
  663.  
  664.    more than once (either natively, or encapsulated).
  665.  
  666.    In all but the exception case described above, all CBT control mes-
  667.    sages are multicast over multicast supporting links to the "all-cbt-
  668.    routers" group, with IP TTL 1. When a CBT control message is sent
  669.    over a non-multicast supporting link, it is explicitly addressed to
  670.    the appropriate next hop.
  671.  
  672.  
  673. 4.2.1.  Core Router Discovery
  674.  
  675.    Core router discovery is by far the most controversial and difficult
  676.    aspect of shared tree multicast architectures, particularly in the
  677.    context of inter-domain multicast routing (IDMR).  There have been
  678.    many proposals over the past three years or so, including advertising
  679.    core addresses in a multicast session directory like "sdr" [11], man-
  680.    ual placement, and the HPIM [12] approach of strictly dividing up the
  681.    multicast address space into many "hierarchical scopes" and using
  682.    explicit advertising of core routers between scope levels.
  683.  
  684.    For intra-domain core discovery, CBT has decided to adopt the "boot-
  685.    strap" mechanism currently specified with the PIM sparse mode proto-
  686.    col [7]. This bootstrap mechanism is scalable, robust, and does not
  687.    rely on underlying multicast routing support to deliver core router
  688.    information; this information is distributed via traditional unicast
  689.    hop-by-hop forwarding.
  690.  
  691.    It is expected that the bootstrap mechanism will be specified inde-
  692.    pendently as a "generic" RP/Core discovery mechanism in its own sepa-
  693.    rate document. It is unlikely at this stage that the bootstrap mecha-
  694.    nism will be appended to a well-known network layer protocol, such as
  695.    IGMP [5] or ICMP [13], though this would facilitate its ubiquitous
  696.    (intra-domain) deployment. Therefore, each multicast routing protocol
  697.    requiring the bootstrap mechanism must implement it as part of the
  698.    multicast routing protocol itself.
  699.  
  700.    A summary of the operation of the bootstrap mechanism follows. It is
  701.    assumed that all routers within the domain implement the "bootstrap"
  702.    protocol, or at least forward bootstrap protocol messages.
  703.  
  704.    A subset of the domain's routers are configured to be CBT candidate
  705.    core routers. Each candidate core router periodically (default every
  706.    60 secs) advertises itself to the domain's Bootstrap Router (BSR),
  707.    using  "Core Advertisement" messages.  The BSR is itself elected
  708.    dynamically from all (or participating) routers in the domain.  The
  709.  
  710.  
  711.  
  712. Expires September 1997                                         [Page 13]
  713.  
  714.  
  715.  
  716. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  717.  
  718.  
  719.    domain's elected BSR collects "Core Advertisement" messages from can-
  720.    didate core routers and periodically advertises a candidate core set
  721.    (CC-set) to each other router in the domain, using traditional hop-
  722.    by-hop unicast forwarding. The BSR uses "Bootstrap Messages" to
  723.    advertise the CC-set. Together, "Core Advertisements" and "Bootstrap
  724.    Messages" comprise the "bootstrap" protocol.
  725.  
  726.    When a router receives an IGMP host membership report from one of its
  727.    directly attached hosts, the local router uses a hash function on the
  728.    reported group address, the result of which is used as an index into
  729.    the CC-set. This is how local routers discover which core to use for
  730.    a particular group.
  731.  
  732.    Note the hash function is specifically tailored such that a small
  733.    number of consecutive groups always hash to the same core. Further-
  734.    more, bootstrap messages can carry a "group mask", potentially limit-
  735.    ing a CC-set to a particular range of groups. This can help reduce
  736.    traffic concentration at the core.
  737.  
  738.    If a BSR detects a particular core as being unreachable (it has not
  739.    announced its availability within some period), it deletes the rele-
  740.    vant core from the CC-set sent in its next bootstrap message. This is
  741.    how a local router discovers a group's core is unreachable; the
  742.    router must re-hash for each affected group and join the new core
  743.    after removing the old state. The removal of the "old" state follows
  744.    the sending of a QUIT_NOTIFICATION upstream, and a FLUSH_TREE message
  745.    downstream.
  746.  
  747.  
  748. 4.2.2.  CBT Control Message Retransmission Strategy
  749.  
  750.    Certain CBT control messages illicit a response of some sort. Lack of
  751.    response may be due to an upstream router crashing, or the loss of
  752.    the original message, or its response. To detect these events, CBT
  753.    retransmits those control messages for which it expects a response,
  754.    if that response is not forthcoming within the retransmission-
  755.    interval, which varies depending on the type of message involved.
  756.    There is an upper bound (typically 3) on the number of retransmis-
  757.    sions of the original message before an exception condition is
  758.    raised.
  759.  
  760.    For example, the exception procedure for lack of response to a
  761.    JOIN_REQUEST is to rehash the corresponding group to another core
  762.    router from the advertised CC-set, then restart the joining process.
  763.  
  764.  
  765.  
  766.  
  767. Expires September 1997                                         [Page 14]
  768.  
  769.  
  770.  
  771. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  772.  
  773.  
  774.    The exception procedure for lack of response to an ECHO_REQUEST is to
  775.    send a QUIT_NOTIFICATION upstream and a FLUSH_TREE message downstream
  776.    for the group. If this is router has group members attached, it
  777.    establishes if the group's core is still active (it appears in the
  778.    most recent CC-set advertisement from the BSR), and if so restarts
  779.    the joining process to that core. If the contents of the CC-set indi-
  780.    cate the core is unreachable, the router must rehash the group, then
  781.    restart the joining process towards the newly elected core.
  782.  
  783.  
  784.  
  785. 4.2.3.  Non-Member Sending
  786.  
  787.    If a non-member sender's local router is already on-tree for the
  788.    group being sent to, the subnet's upstream router simply forwards the
  789.    data packet over all outgoing interfaces corresponding to that
  790.    group's forwarding cache entry. This is in contrast to PIM-SM [7]
  791.    which must encapsulate data from a non-member sender, irrespective of
  792.    whether the local router has joined the tree. This is due to PIM's
  793.    uni-directional state.
  794.  
  795.    If the sender's subnet is not attached to the group tree, the local
  796.    DR must encapsulate the data packet and unicast it to the group's
  797.    core router, where it is decapsulated and disseminated over all tree
  798.    interfaces, as specified by the core's forwarding cache entry for the
  799.    group. The data packet encapsulation method is IP-in-IP [14].
  800.  
  801.    Routers in between a non-member sender and the group's core need not
  802.    know anything about the multicast group, and indeed may even be mul-
  803.    ticast-unaware. This makes CBT particulary attractive for applica-
  804.    tions with non-member senders.
  805.  
  806.  
  807.  
  808. 5.  Interoperability with Other Multicast Routing Protocols
  809.  
  810.  
  811.    See "interoperability" in section 4.1.
  812.  
  813.    The interoperability mechanisms for interfacing CBT with DVMRP are
  814.    defined in [15].
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822. Expires September 1997                                         [Page 15]
  823.  
  824.  
  825.  
  826. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  827.  
  828.  
  829. 6.  Summary
  830.  
  831.    This document presents an architecture for intra- and inter-domain
  832.    multicast routing, though some aspects of inter-domain multicast
  833.    routing remain to be solved (e.g. inter-domain core router discov-
  834.    ery). We motivated this architecture by describing how an inter-
  835.    domain multicast routing algorithm must scale to large numbers of
  836.    groups present in the internetwork, and discussed why most other
  837.    existing algorithms are less suited to inter-domain multicast rout-
  838.    ing.  We followed by describing the features and components of the
  839.    architecture, illustrating its simplicity and scalability. Finally,
  840.    the Appendix summarizes simulation results comparing CBT with PIM.
  841.  
  842.  
  843.  
  844. 7.  Acknowledgements
  845.  
  846.    Special thanks goes to Paul Francis, NTT Japan, for the original
  847.    brainstorming sessions that brought about this work.
  848.  
  849.    Thanks also to Bibb Cain et al. (Harris Corporation) for allowing the
  850.    publication of their simulation results in the Appendix, and the
  851.    duplication of figures 3 and 4.
  852.  
  853.    The participants of the IETF IDMR working group have provided useful
  854.    feedback since the inception of CBT.
  855.  
  856.  
  857.    References
  858.  
  859.   [1] Core Based Trees (CBT) Multicast Routing: Protocol Specification;
  860.   A.  Ballardie; ftp://ds.internic.net/internet-drafts/draft-ietf-idmr-
  861.   cbt-spec-**.txt.  Working draft, March 1997.
  862.  
  863.  
  864.   [2] Multicast Routing in a Datagram Internetwork; S. Deering, PhD The-
  865.   sis, 1991; ftp://gregorio.stanford.edu/vmtp/sd-thesis.ps.
  866.  
  867.   [3] Mechanisms for Broadcast and Selective Broadcast; D. Wall; PhD
  868.   thesis, Stanford University, June 1980. Technical Report #90.
  869.  
  870.   [4] Assigned Numbers; J. Reynolds and J. Postel; RFC 1700, October
  871.   1994.
  872.  
  873.   [5] Internet Group Management Protocol, version 2 (IGMPv2); W. Fenner;
  874.  
  875.  
  876.  
  877. Expires September 1997                                         [Page 16]
  878.  
  879.  
  880.  
  881. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  882.  
  883.  
  884.   ftp://ds.internic.net/internet-drafts/draft-ietf-idmr-igmp-v2-**.txt.
  885.   Working draft, 1996.
  886.  
  887.   [6] Distance Vector Multicast Routing Protocol (DVMRP); T. Pusateri;
  888.   ftp://ds.internic.net/internet-drafts/draft-ietf-idmr-dvmrp-v3-**.txt.
  889.   Working draft, 1997.
  890.  
  891.   [7] Protocol Independent Multicast (PIM) Sparse Mode/Dense Mode Speci-
  892.   fications; D. Estrin et al; ftp://netweb.usc.edu/pim   Working drafts,
  893.   1996.
  894.  
  895.   [8] Multicast Extensions to OSPF; J. Moy; RFC 1584; March 1994.
  896.  
  897.   [9] Reverse path forwarding of  broadcast packets; Y.K. Dalal and R.M.
  898.   Metcalfe; Communications of the ACM, 21(12):1040--1048, 1978.
  899.  
  900.   [10] Some Issues for an Inter-Domain Multicast Routing Protocol; D.
  901.   Meyer; ftp://ds.internic.net/internet-drafts/draft-ietf-mboned-imrp-
  902.   some-issues-**.txt.  Working draft, 1997.
  903.  
  904.   [11] SDP: Session Description Protocol; M. Handley and V. Jacobson;
  905.   ftp://ds.internic.net/internet-drafts/draft-ietf-mmusic-sdp-02.txt;
  906.   Working draft, 1996.
  907.  
  908.   [12] Hierarchical Protocol Independent Multicast; M. Handley, J.
  909.   Crowcroft, I. Wakeman.  Available from:
  910.   http://www.cs.ucl.ac.uk/staff/M.Handley/hpim.ps  and
  911.   ftp://cs.ucl.ac.uk/darpa/IDMR/hpim.ps   Work done 1995.
  912.  
  913.   [13] Internet Control Message Protocol (ICMP); J. Postel; RFC 792;
  914.   September 1981.
  915.  
  916.   [14] IP Encapsulation within IP; C. Perkins; RFC 2003; October 1996.
  917.  
  918.   [15] CBT - Dense Mode Multicast Interoperability; A. Ballardie;
  919.   ftp://ds.internic.net/internet-drafts/draft-ietf-idmr-cbt-
  920.   dvmrp-**.txt.  Working draft, March 1997.
  921.  
  922.   [16] Performance and Resource Cost Comparisons of Multicast Routing
  923.   Algorithms for Distributed Interactive Simulation Applications; T.
  924.   Billhartz, J. Bibb Cain, E.  Farrey-Goudreau, and D. Feig. Available
  925.   from: http://www.epm.ornl.gov/~sgb/pubs.html; July 1995.
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932. Expires September 1997                                         [Page 17]
  933.  
  934.  
  935.  
  936. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  937.  
  938.  
  939. Author Information
  940.  
  941.    Tony Ballardie,
  942.    Research Consultant
  943.  
  944.    e-mail: ABallardie@acm.org
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987. Expires September 1997                                         [Page 18]
  988.  
  989.  
  990.  
  991. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  992.  
  993.  
  994.    APPENDIX Part 1: Comparisons & Simulation Results
  995.  
  996.    Part 1 of this appendix summarises the results of in-depth simula-
  997.    tions carried out by Harris Corp., USA, investigating the performance
  998.    and resource cost comparisons of multicast algorithms for distributed
  999.    interactive simulation (DIS) applications [16].  More precisely, the
  1000.    report summarises the work on the Real-time Information Transfer &
  1001.    Networking (RITN) program, comparing the cost and performance of PIM
  1002.    and CBT in a DIS environment. As we said earlier, DIS applications
  1003.    have wide-ranging requirements. We feel it is important to take into
  1004.    account a wide range of requirements so that future applications can
  1005.    be accommodated with ease; most other multicast architectures are
  1006.    tailored to the requirements of applications in the current Internet,
  1007.    particularly audio and video applications.  Figure 3 shows a compari-
  1008.    son of application requirements.
  1009.  
  1010.    We also present results into the study of whether source-based trees
  1011.    or shared trees are the best choice for multicasting in the RITN pro-
  1012.    gram.  In the study of shortest-path trees (SPTs) vs. shared trees,
  1013.    PIM Dense-Mode and PIM-SM with SPTs were used as SPTs, with CBT and
  1014.    PIM-SM used as shared trees. This section assumes the reader is
  1015.    familiar with the different modes of PIM [7].
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042. Expires September 1997                                         [Page 19]
  1043.  
  1044.  
  1045.  
  1046. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  1047.  
  1048.  
  1049.  
  1050.  
  1051.      |--------------|----------------------------------------------------|
  1052.      |              |                    Paradigm                        |
  1053.      |              |----------------------------------------------------|
  1054.      | Requirement  |             |  audio/video    |    audio/video     |
  1055.      |              |    DIS      | lecture dist'n  |     conference     |
  1056.      =====================================================================
  1057.      |   senders    |    many     |  small number   |   small number     |
  1058.      ---------------------------------------------------------------------
  1059.      |  receivers   |also senders |  many recvrs    |  also senders      |
  1060.      ---------------------------------------------------------------------
  1061.      | no. of grps  |             |                 |                    |
  1062.      | per appl'n   |    many     | one or few      |  one or few        |
  1063.      ---------------------------------------------------------------------
  1064.      | Data tx      |  real time  |  real time      |  real time         |
  1065.      ---------------------------------------------------------------------
  1066.      | e2e delay    |    small    |  non-critical   |   moderate         |
  1067.      ---------------------------------------------------------------------
  1068.      |  set up      |  real time  | non real time   |   non real time    |
  1069.      ---------------------------------------------------------------------
  1070.      | join/leave   | rapid for   | rapid for       | can be rapid for   |
  1071.      | dynamics     | participants| receivers       |  participants      |
  1072.      ---------------------------------------------------------------------
  1073.      |              | must be     | must be scalable|                    |
  1074.      | scalability  | scalable to | to large n/ws   |   need scalability |
  1075.      |              | large n/ws &| and large nos   |   large n/ws       |
  1076.      |              | large grps, | of recvrs per   |                    |
  1077.      |              | with large  | group           |                    |
  1078.      |              | nos senders |                 |                    |
  1079.      |              | & recvrs per|                 |                    |
  1080.      |              | group       |                 |                    |
  1081.      ---------------------------------------------------------------------
  1082.      |              | based upon  |                 |                    |
  1083.      | multicast    | the DIS     |  rooted on src  | incl participants  |
  1084.      |   tree       | virtual     |  and includes   | and can slowly move|
  1085.      |              | space, with |  current recvrs | over phys topology |
  1086.      |              | rapid mvmt  |                 |                    |
  1087.      |              | over phys   |                 |                    |
  1088.      |              | topology    |                 |                    |
  1089.      ---------------------------------------------------------------------
  1090.  
  1091.               Figure 3: Comparison of Multicast Requirements
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097. Expires September 1997                                         [Page 20]
  1098.  
  1099.  
  1100.  
  1101. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  1102.  
  1103.  
  1104.    The following criteria were considered in the simulations:
  1105.  
  1106.    +o    end-to-end delay
  1107.  
  1108.    +o    group join time
  1109.  
  1110.    +o    scalability (all participants are both senders & receivers)
  1111.  
  1112.    +o    bandwidth utilization
  1113.  
  1114.    +o    overhead traffic
  1115.  
  1116.    +o    protocol complexity
  1117.  
  1118.    A brief summary of the the results of the evaluation follow. For a
  1119.    detailed description of the simulations and test environments, refer
  1120.    to [16].
  1121.  
  1122.    +o    End-to-end delay. It was shown that PIM-DM and PIM-SM with SPTs
  1123.         deliver packets between 13% and 31% faster than CBT. PIM-SM has
  1124.         about the same delay characteristics as CBT. Processing delay
  1125.         was not taken into account here, and this stands in CBT's
  1126.         favour, since PIM routers are likely to have much larger routing
  1127.         tables, and thus, much greater search times.
  1128.  
  1129.    +o    Join time. There was very little difference between any of the
  1130.         algorithms.
  1131.  
  1132.    +o    Bandwidth efficiency. It was shown that PIM-SM with shared
  1133.         trees, and PIM-SM with SPTs both required only about 4% more
  1134.         bandwidth in total, to deliver data to hosts. PIM-DM however, is
  1135.         very bandwidth inefficient, but this improves greatly as the
  1136.         network becomes densely populated with group receivers.
  1137.  
  1138.    +o    Overhead comparisons (for tree creation, maintenance, and tear-
  1139.         down).  CBT exhibited the lowest overhead percentage, even less
  1140.         than PIM-SM with shared trees. PIM-DM was shown to have more
  1141.         than double the overhead of PIM-SM with SPTs due to the periodic
  1142.         broadcasting & pruning.
  1143.  
  1144.         The Harris simulations [16] measured the average number of rout-
  1145.         ing table entries required at each router for CBT, PIM-DM, PIM-
  1146.         SM with SPTs, and PIM-SM with shared trees. The following param-
  1147.         eters were used in the simulations:
  1148.  
  1149.  
  1150.  
  1151.  
  1152. Expires September 1997                                         [Page 21]
  1153.  
  1154.  
  1155.  
  1156. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  1157.  
  1158.  
  1159.          +  N = number of active multicast groups in the network.
  1160.  
  1161.          +  n = average number of senders to a group.
  1162.  
  1163.          +  b = fraction of groups moving to source tree in PIM-SM.
  1164.  
  1165.          +  c = average percentage of routers on a shared tree for a
  1166.          group (or source tree for a particular sender).
  1167.  
  1168.          +  s = average percentage of routers on a source-based tree for
  1169.          a group (but not on shared tree).
  1170.  
  1171.          +  d = average number of hops from a host to the RP.
  1172.  
  1173.          +  r = total number of routers in the network.
  1174.  
  1175.          The following results were calculated, given b = 1, c = 0.5,
  1176.          s = 0.25, and d/r = 0.05. The formulae for the calculation are
  1177.          given Part 2 of this Appendix.
  1178.  
  1179.  
  1180.          |--------------|----------------------------------------------------|
  1181.          |              |               Group size parameters                |
  1182.          |              |----------------------------------------------------|
  1183.          |   Protocol   |   N = 1000  | N = 1000  | N = 20,000  | N = 20,000 |
  1184.          |              |    n = 10   |  n = 200  |   n = 10    |   n = 200  |
  1185.          =====================================================================
  1186.          |              |             |           |             |            |
  1187.          |     CBT      |     500     |    500    |   10,000    |   10,000   |
  1188.          ---------------------------------------------------------------------
  1189.          |              |             |           |             |            |
  1190.          |  PIM-Dense   |   10,000    |  200,000  |   200,000   |  4,000,000 |
  1191.          ---------------------------------------------------------------------
  1192.          |  PIM-Sparse  |             |           |             |            |
  1193.          |   with SPT   |    8000     |  150,500  |   160,000   |  3,010,000 |
  1194.          ---------------------------------------------------------------------
  1195.          | PIM-Sparse,  |             |           |             |            |
  1196.          | shared tree  |    1000     |   1,500   |   20,000    |   210,000  |
  1197.          ---------------------------------------------------------------------
  1198.  
  1199.                 Figure 4: Comparison of Router State Requirements
  1200.  
  1201.     +o    Complexity comparisons. Protocol complexity, protocol traffic
  1202.          overhead, and routing table size were considered here. CBT was
  1203.          found to be considerably simpler than all other schemes, on all
  1204.  
  1205.  
  1206.  
  1207. Expires September 1997                                         [Page 22]
  1208.  
  1209.  
  1210.  
  1211. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  1212.  
  1213.  
  1214.          counts.
  1215.  
  1216.  
  1217. Simulation Conclusions
  1218.  
  1219.    In comparing CBT with the other shared tree architecture, PIM, CBT
  1220.    was found to be more favourable in terms of scalability, complexity,
  1221.    and overhead. Other characteristics were found to be similar.
  1222.  
  1223.    When comparing SPTs with shared trees, we find that the end-to-end
  1224.    delays of shared trees are usually acceptable, and can be improved by
  1225.    strategic core placement.  Routing table size is another important
  1226.    factor in support of shared trees, as figures 1 and 4 clearly illus-
  1227.    trate.
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262. Expires September 1997                                         [Page 23]
  1263.  
  1264.  
  1265.  
  1266. INTERNET-DRAFT         CBT Multicast Architecture            March 1997
  1267.  
  1268.  
  1269.    Appendix: Part 2
  1270.  
  1271.    The following formulae were used by Harris Corp. in calculating the
  1272.    values in figure 4. The meaning of the formulae arguments precedes
  1273.    figure 4.
  1274.  
  1275.    +o    average no. of entries in each PIM-DM router is approximated by:
  1276.  
  1277.         T(PIM-DM) ~ N * n
  1278.  
  1279.    +o    average no. of entries a router maintains is the likelihood, c,
  1280.         that the router will be on a shared tree, times the total num-
  1281.         ber, N, of shared trees:
  1282.  
  1283.         T(CBT) = N * c
  1284.  
  1285.    +o    average no. of entries a router maintains due to each src based
  1286.         tree is the average no. of hops, d, from a host to the RP,
  1287.         divided by the number of routers, r, in the network:
  1288.  
  1289.         T(PIM-SM, shared tree) = N * c + N * n * d/r
  1290.  
  1291.    +o    average no. of routing table entries for PIM-SM with some groups
  1292.         setting up source-based trees:
  1293.  
  1294.         T(PIM, SPT) = N * [B * n + 1] * c + b * n * s
  1295.  
  1296.    For more detailed information on these formulae, refer to [16].
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317. Expires September 1997                                         [Page 24]
  1318.  
  1319.