Inter-Domain Multicast Routing (IDMR)                      A. Ballardie
INTERNET-DRAFT                                               Consultant

                                                          November 1997.


      Core Based Tree (CBT) Multicast Border Router Specification


Status of this Memo

   This document is an Internet Draft.  Internet Drafts are working doc-
   uments of the Internet Engineering Task Force (IETF), its Areas, and
   its Working Groups. Note that other groups may also distribute work-
   ing documents as Internet Drafts).

   Internet Drafts are draft documents valid for a maximum of six
   months. Internet Drafts may be updated, replaced, or obsoleted by
   other documents at any time.  It is not appropriate to use Internet
   Drafts as reference material or to cite them other than as a "working
   draft" or "work in progress."

   Please check the I-D abstract listing contained in each Internet
   Draft directory to learn the current status of this or any other In-
   ternet Draft.


Abstract

   This document specifies the behaviour of a CBT multicast border
   router (BR) attaching a CBT multicast domain/region (stub or transit)
   to an inter-domain multicast tree, which may be source-rooted or
   shared, data driven or explicit join.

   This draft assumes a CBT domain's multicast border routers have im-
   plemented Multicast BGP (or other mechanism) such that they can main-
   tain ''come from'' (multicast) paths that reflect local multicast poli-
   cy. These may be independent of unicast (''go to'') paths and policy.
   Provision for this capability in BGP is described in [1].

   The document provides guidelines that are intended to be generally
   aligned with the mechanisms described in the ''Interoperability Rules
   for Multicast Routing Protocols'' [2]. Certain aspects of those rules
   may be interpreted and implemented differently, and therefore some
   discretion is left to the implementor.



Expires June 1998                                               [Page 1]


INTERNET-DRAFT      CBT Border Router Specification        November 1997


   This document assumes the reader is familiar with  the CBT protocol
   [3].



1.  Changes from Previous Revision


   +o    removed the need for the ABR group

   +o    provided reasons for 'a priori' creation of (*, core) state
        between active core routers and Border Routers (BRs)

   +o    explained the role and interaction (with examples) of DWRs

   +o    explained how source-specific inter-domain control messages are
        processed and propogated



2.  Interoperability Model & Assumptions

   The interoperability model and mechanisms we present assume:

   +o    CBT domain's multicast border routers have implemented Multicast
        BGP (or other mechanism, e.g. static configuration) such that
        they can maintain "come from" (multicast) paths that reflect
        local multicast policy. These may be independent of unicast ("go
        to") paths and policy.

   +o    logically, a BR has at least two "components", each component
        being associated with a particular multicast routing protocol.
        Each component may have more than one associated interface which
        is running the particular multicast protocol associated with the
        component. One of these components is a CBT component. Figure 1
        provides an example (logical) representation of a border router.

   +o    all components share a common multicast forwarding cache of
        (S,G) entries for the purpose of inter-domain multicast routing.
        S (source) may or may not be wildcarded (*) - if so, this
        denotes an inter-domain shared tree forwarding entry.

        To ensure that all components have a consistent view of the
        shared cache a BR's components must be able to communicate with
        each other; how is implementation dependent.  Additionally, each



Expires June 1998                                               [Page 2]


INTERNET-DRAFT      CBT Border Router Specification        November 1997


        component may have a separate multicast forwarding cache spe-
        cific to that component's multicast routing protocol.

   +o    the presence of a domain-wide reporting (DWR) mechanism [4],
        enabling the dynamic and timely reporting of group joining and
        leaving inside a CBT domain to the domain's border routers. DWRs
        are only necessary for inter-domain scoped groups; they need not
        be sent for intra-domain scoped (administratively scoped [5])
        groups.

   +o    CBT component(s) know <core, group> mappings of active groups
        present inside a CBT domain.

   +o    mixed multicast protocol LANs are not permitted.

   +o    The term "region" and "domain" are used interchangeably through-
        out.


                  ------------X----------------------X--X--------
                  |     |           |             |         |   |    X = component
                  |     | comp A    |             | comp B  |   |            interface
                  |     -------------             -----------   |
                  |                                             |    comp = component
                  |         -----------------------------       |
                  |         |     Shared Multicast      |       |
                  |         |   Forwarding Cache (S,G)  |       |
                  |         -----------------------------       |
                  |                                             |
                  |     ------------              ----------    |
                  |     |  comp C   |             | comp D  |   |
                  |     |           |             |         |   |
                  ----------X----X----------------------X--------


              Figure 1: Example Representation of a Border Router



3.  Overview

   CBT border routers (BRs) must implement Multicast BGP [1] (or other
   mechanism, e.g. static configuration), enabling them to maintain
   "come from" (multicast) paths for particular source networks (or pre-
   fixes) that may be independent of the unicast ("go to") paths to



Expires June 1998                                               [Page 3]


INTERNET-DRAFT      CBT Border Router Specification        November 1997


   those networks (or prefixes). This implies the specification of mul-
   ticast policies that may be separate and independent of unicast poli-
   cies for a particular prefix. Multicast BGP is only implemented on a
   BR's inter-domain (external) component(s).

   These policies dictate over which (single) BR multicast traffic from
   a particular source is received over. This BR is known as the Desig-
   nated BR (D-BR) for that source (or prefix). Consequently, explicit
   D-BR election is not needed.  For any external network (or prefix),
   only the domain's elected designated border router for that network
   (or prefix) may import multicast data packets from that network (pre-
   fix) into the CBT domain.

   All BRs of all CBT domain types (transit and stub) must belong to
   each active CBT tree inside the domain. This is necessary so that
   externally sourced multicast traffic can be injected onto the correct
   internal distribution tree if group members exist inside the domain
   (as discovered by a domain-wide reporting mechanism). It also pro-
   vides a means for data traffic to transit the CBT domain irrespective
   of the presence of internal group members. Finally, it provides a
   means for getting internally sourced data to the domain's BRs so that
   it may be forwarded beyond the domain boundary (if appropriate).

   A domain's BRs discover internal <core, group> mappings either dynam-
   ically via a bootstrap mechanism [6] or statically (manual configura-
   tion).

   At initialization time, each of a domain's BRs joins each (active)
   internal core router, thereby creating (*, core) state. This repre-
   sents aggregated state (one tree) for all groups using a particular
   core.  Setting up one tree per group could potentially result in a
   considerable amount of replicated state in the routers on a path
   between a core and a domain BR, which is why we opted for (*, core)
   state rather than (*, G) state. The 'a priori' tree building option
   was chosen because, for (inter-domain) data sourced inside a CBT
   domain, it is not possible to build tree branches from the relevant
   core to the BRs - currently, BRs discover cores, cores do not (cannot
   necessarily) discover BRs. Therefore, BR-core tree branches have to
   be built in advance.

   Internal routes are exported via each of a CBT domain's BRs (or route
   export may be limited to some subset of the domain's BRs, according
   to local policy).

   External routes need not be imported into a CBT domain for the



Expires June 1998                                               [Page 4]


INTERNET-DRAFT      CBT Border Router Specification        November 1997


   purpose of multicast forwarding inside the domain. However, transit
   CBT domains may be required to propogate external routes across the
   domain to neighbouring domains. In the absence of iBGP [10] or simi-
   lar mechanism, an "all-border-routers" (ABR) group could be set up
   for this purpose.



4.  BR Component Interactions

   The precise nature of interactions between a border router's inter-
   domain (external) component(s) and the CBT (internal) component(s) is
   dependent on the inter-domain multicast protocol in use. Such inter-
   actions are therefore outside the scope of this draft.

   From the perspective of an inter-domain multicast tree, any domain
   belonging to the tree can be abstractly viewed as a single router
   with directly attached subnets (the domain's subnets). Control mes-
   sages generated by an inter-domain BR component are handled/inter-
   preted only by BR inter-domain components.  Continuing with our
   abstraction, if a particular inter-domain control message must be
   forwarded by our abstract router, it must be passed from one inter-
   face to another. In reality, this represents the propogation of the
   control message across the (CBT) domain, and this is achieved using
   iBGP, or unicast encapsulation, as appropriate.

   Let's take two different examples to expand our explanation: in the
   first example, the CBT domain is part of a source-rooted inter-domain
   multicast tree. The inter-domain multicast protocol is DVMRP [7]. In
   the second example, the CBT domain is part of an inter-domain shared
   tree (shared tree of domains), with the inter-domain multicast proto-
   col being GUM [8]. In both examples, the CBT domain is assumed to be
   a transit domain.

   In the first example, the inter-domain multicast protocol, DVMRP, is
   data driven.  When an externally sourced data packet arrives at a CBT
   domain BR, the BR external component decides whether to accept the
   packet or discard it. For any particular source, only one of the
   domain's BRs will accept the packet.

   If the packet is accepted, the BR forwards the packet over the rele-
   vant (*, core) tree branch, and any directly attached subnets with
   group member(s).  The BR also sends a DWR Report [4] for the group.

   If a CBT domain BR's external components receives a source specific



Expires June 1998                                               [Page 5]


INTERNET-DRAFT      CBT Border Router Specification        November 1997


   DVMRP "prune" message, the BR decides whether to accept it. If it is
   accepted, it is sent (unicast) to the Designated Border Router (D-BR)
   for the specified source (S) - the D-BR is the upstream (injecting)
   BR for the specified source. The BR also sends a DWR Leave message
   for the group, which may be suppressed if either a) internal group
   member(s) exist, or b) there exists at least one domain BR which is
   not yet able to send a DWR Leave message [4] after previously sending
   a DWR Report (join) message - either data is still arriving, or the
   group forwarding state timer for S has not yet expired.

   If the D-BR for S (its external component) is satisfied there exist
   no internal group members, and there are no downstream interested
   receivers (gleaned from the DWR mechanism), the D-BR can propogate
   the DVMRP prune message to its external upstream neighbour wrt S.

   Now with the second example, assume one of a domain's BR's external
   components receives an explicit join message from an external neigh-
   bouring domain.  The receipt of an explicit join triggers the sending
   of a DWR Report inside the domain for the specified group, G.

   If the included group address falls within a group prefix indicating
   this domain is the group's root domain, the explicit join need not be
   propogated further.

   If this domain is not the root domain for G, the explicit join is
   unicast to the domain BR that is upstream with respect to the root
   domain. This BR is the D-BR (upstream BR) for this group on the
   shared tree.  The D-BR propogates the join to its external upstream
   neighbour wrt G.

   The processing rules following the receipt of a "prune" message by a
   CBT domain's external BR component are exactly the same as those
   described for the first example, with the addition that there are (*,
   G) prunes to consider as well as (S, G) prunes.



4.1.  Propogation of (S, G) Joins/Prunes

   As described above, control messages generated or received by a
   domain's BR external component(s) are only processed by BR external
   components. This makes it possible for CBT domains to correctly pro-
   cess source-specific control messages. These messages can effect
   changes to a BR's shared forwarding cache, which consists of (S, G)
   entries.



Expires June 1998                                               [Page 6]


INTERNET-DRAFT      CBT Border Router Specification        November 1997


   In this draft we have assumed that each of a multicast domain's BRs
   maintains a Multicast RIB [1] - we do not mandate how the information
   in this RIB is discovered, but one possibility is the use of BGP-4+
   [1].  Whatever the mechanism, a BR knows which of the multicast
   domain's BRs is injecting for which sources (prefixes).

   This information makes it easy to process source-specific control
   messages, such as (S, G) joins/prunes - the message is processed by
   the receiving BR, then unicast to the injecting BR for S (i.e. the D-
   BR for S).



5.  CBT Domain Core Placement with Inter-Domain BGMP/GUM

   For the case where BGMP is deployed as the inter-domain multicast
   protocol, it may be beneficial to place a CBT domain's core routers
   at the domain boundary such that the groups that map to a particular
   core router correspond to those that map to a particular domain. This
   preferences inter-domain multicast packet distribution - the paths
   between any receivers inside the CBT domain may be sub-optimal due to
   the positioning of the core on the domain boundary. However, this may
   not have a significant impact on performance inside the domain.

   Implicit in Boundary Router core positioning is that most/all exter-
   nally sourced multicast packets arrive via the root-domain. If this
   is not the case (e.g. an (S, G) join was previously forwarded by the
   CBT domain BRs creating (S, G) state in the BR external components)
   packet distribution and performance inside the CBT domain is impacted
   no differently than when a packet is sourced inside the domain and
   there exist internal group member(s).

   Unlike the PIM [9] case, irrespective of core router positioning, no
   encapsulation is necessary inside the CBT domain.



6.  Routing Information Flow

   Internal routes are exported via each of a CBT domain's BRs (or route
   export may be limited to some subset of the domain's BRs, according
   to local policy).

   External routes need not be imported into a CBT domain for the pur-
   pose of multicast forwarding inside the domain. However, transit CBT



Expires June 1998                                               [Page 7]


INTERNET-DRAFT      CBT Border Router Specification        November 1997


   domains may be required to propogate external routes across the
   domain to neighbouring domains. iBGP or similar alternate mechanism
   is used for this purpose.


   Acknowledgements

   Special thanks goes to Paul Francis, NTT Japan, for the original
   brainstorming sessions that led to the development of CBT.

   <to be completed>



References

  [1] Multiprotocol Extensions to BGP-4; T. Bates et al.
  ftp://ds.internic.net/internet-drafts/draft-ietf-idr-bgp4-multiproto-
  col-01.txt

  [2] Interoperability Rules for Multicast Routing Protocols; D. Thaler;
  ftp://home.merit.edu/pub/users/thalerd/interop.ps; November 1996.

  [3] Core Based Trees (CBT) Multicast Routing: Protocol Specification;
  A.  Ballardie; RFC 2189; ftp://ds.internic.net/rfc/rfc2189.txt.
  September 1997.

  [4] Domain Wide Multicast Group Membership Reports; W. Fenner; Dis-
  tributed to the IDMR mailing list, November 1997. To appear as a Work-
  ing Draft.

  [5] ftp://ds.internic.net/internet-drafts/draft-finlayson-ttl-admin-
  scope-00.txt; R. Finlayson; Working Draft, March 1997.

  [6] A Dynamic Bootstrap Mechanism for Rendezvous-based Multicast Rout-
  ing; D. Estrin et al.; Technical Report, available from:
  http//netweb.usc.edu/pim

  [7] Distance Vector Multicast Routing Protocol (DVMRP); T. Pusateri;
  ftp://ds.internic.net/internet-drafts/draft-ietf-idmr-dvmrp-v3-**.txt.
  Working draft, 1997.

  [8] Grand Unified Multicast (GUM); D. Thaler, D. Estrin, and D. Meyer
  (Editors); ftp://ds.internic.net/internet-drafts/draft-ietf-idmr-
  gum-01.txt; Working Draft, October 1997.



Expires June 1998                                               [Page 8]


INTERNET-DRAFT      CBT Border Router Specification        November 1997


  [9] Protocol Independent Multicast (PIM) Sparse Mode Specification; D.
  Estrin et al; RFC 2117; ftp://ds.internic.net/rfc/rfc2117.txt.  August
  1997.

  [10] A Border Gateway Protocol 4 (BGP-4); Y. Rekhter and T. Li; RFC
  1771, March 1995.  ftp://ds.internic.net/rfc/rfc1771.txt










































Expires June 1998                                               [Page 9]


INTERNET-DRAFT      CBT Border Router Specification        November 1997


Author Information:

   Tony Ballardie,
   Research Consultant.
   e-mail: ABallardie@acm.org











































Expires June 1998                                              [Page 10]