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-pim-arch-04.txt < prev    next >
Text File  |  1996-11-19  |  65KB  |  1,566 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                             Steven Deering (XEROX)
  8. Internet Draft                                      Deborah Estrin (USC)
  9. Expire in six months                              Dino Farinacci (CISCO)
  10.                                                       Mark Handley (UCL)
  11.                                                        Ahmed Helmy (USC)
  12.                                                       Van Jacobson (LBL)
  13.                                                      Chinggung Liu (USC)
  14.                                                      Puneet Sharma (USC)
  15.                                                     David Thaler (UMICH)
  16.                                                       Liming Wei (CISCO)
  17.  
  18. draft-ietf-idmr-pim-arch-04.txt                        October 24, 1996
  19.  
  20.  
  21.  
  22.  
  23.    Protocol Independent Multicast-Sparse Mode (PIM-SM):  Motivation  and
  24.    Architecture
  25.  
  26.  
  27.  
  28.    Status of This Memo
  29.  
  30.    This document is an Internet  Draft.   Internet  Drafts  are  working
  31.    documents  of  the Internet Engineering Task Force (IETF), its Areas,
  32.    and its Working Groups. (Note that other groups may  also  distribute
  33.    working documents as Internet Drafts).
  34.  
  35.    Internet Drafts are draft  documents  valid  for  a  maximum  of  six
  36.    months.  Internet  Drafts  may  be updated, replaced, or obsoleted by
  37.    other documents at any time.  It is not appropriate to  use  Internet
  38.    Drafts  as  reference  material  or  to  cite  them  other  than as a
  39.    ``working'' draft'' or ``work in progress.''
  40.  
  41.    Please check the I-D abstract  listing  contained  in  each  Internet
  42.    Draft  directory  to  learn  the  current status of this or any other
  43.    Internet Draft.
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 1]
  56.  
  57.  
  58.  
  59.  
  60.  
  61. Internet Draft            PIM-SM Architecture                   Oct 1996
  62.  
  63.  
  64.                               Abstract 
  65.  
  66.  
  67.    Traditional multicast  routing  mechanisms  (e.g.  DVMRP  and
  68.    MOSPF  [1][2])  were intended for use within regions where groups are
  69.    widely represented or bandwidth is universally plentiful. When  group
  70.    members, and senders to those group members, are distributed
  71.    sparsely across a wide area, these schemes are not  efficient;  data
  72.    packets  or  membership report information are periodically sent over
  73.    many links that do  not lead to receivers or  senders,  respectively.
  74.    This  characteristic  lead  the  Internet  community  to  investigate
  75.    multicast   routing   architectures   that   efficiently    establish
  76.    distribution  trees across wide-area internets, where many groups are
  77.    sparsely represented and where bandwidth is not  uniformly  plentiful
  78.    due   to   the  distances  and  multiple  administrations  traversed.
  79.    Efficiency is evaluated  in  terms  of  the  state,  control  message
  80.    processing,  and  data  packet  processing required across the entire
  81.    network in order to deliver data packets to the members of the group.
  82.  
  83.    The   Protocol   Independent    Multicast--Sparse    Mode    (PIM-SM)
  84.    architecture:
  85.  
  86.  
  87.         (a)   maintains the traditional IP multicast  service  model  of
  88.              receiver-initiated membership;
  89.  
  90.         (b)    uses  explicit  joins  that  propagate  hop-by-hop   from
  91.              members' directly connected routers toward the distribution
  92.              tree.
  93.  
  94.         (c)   builds a shared multicast distribution tree centered at  a
  95.              Rendezvous Point, and then builds source-specific trees for
  96.              those sources whose data traffic warrants it.
  97.  
  98.         (d)   is not dependent on a specific unicast  routing  protocol;
  99.              and
  100.  
  101.         (e)   uses soft-state mechanisms to adapt to underlying  network
  102.              conditions and group dynamics.
  103.  
  104.         The robustness, flexibility,  and  scaling  properties  of  this
  105.         architecture  make  it well suited to large heterogeneous inter-
  106.         networks.
  107.  
  108.         This document motivates and describes the  PIM-SM  architecture.
  109.         Companion  documents  describe  the detailed protocol mechanisms
  110.         for PIM-SM and PIM-DM, respectively [3][4].
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 2]
  119.  
  120.  
  121.  
  122.  
  123.  
  124. Internet Draft            PIM-SM Architecture                   Oct 1996
  125.  
  126.  
  127.      1 Introduction
  128.  
  129.         This document describes an architecture for efficiently  routing
  130.         to  multicast  groups that may span wide-area (and inter-domain)
  131.         internets. We refer to  the  approach  as  Protocol  Independent
  132.         Multicast-Sparse  Mode  (PIM-SM)  because it is not dependent on
  133.         any  particular  unicast  routing  protocol.   Throughout   this
  134.         document  we will use the shorter term PIM, to mean PIM-SM. When
  135.         we are referring to the PIM Dense  Mode  protocol  we  will  say
  136.         PIM-DM explicitly.
  137.  
  138.         The most significant innovation  in  this  architecture  is  the
  139.         efficient support of sparse, wide area groups. This  sparse mode
  140.         (SM) of operation  complements  the  traditional   dense-mode
  141.         approach  to multicast routing for campus networks, as developed
  142.         by Deering [5][6] and implemented in  MOSPF  and  DVMRP  [1][2].
  143.         These traditional dense mode multicast schemes were intended for
  144.         use within regions  where  a  group  is  widely  represented  or
  145.         bandwidth is universally plentiful. However, when group members,
  146.         and senders to those groups, are distributed sparsely  across
  147.         a  wide  area, these schemes are not efficient; data packets (in
  148.         the case of DVMRP) or membership report information (in the case
  149.         of  MOSPF)  are occasionally sent over many links that do not
  150.         lead to receivers or senders, respectively. The purpose of  this
  151.         work  is  to  develop  a  multicast  routing  architecture  that
  152.         efficiently establishes distribution trees even when members are
  153.         sparsely  distributed.  Efficiency  is evaluated in terms of the
  154.         state, control message, and data packet overhead required across
  155.         the  entire  network  in  order  to  deliver data packets to the
  156.         members of the group.
  157.  
  158.  
  159.      1.1 Definition of Terms (Glossary):
  160.         Following  is  a list  of  terms  and  definitions 
  161.         used throughout this document, in alphabetical order.
  162.         This is a subset of  the  glossary  list  that  appears  in  the
  163.         protocol specification.
  164.  
  165.  
  166.         *    Asserts. The  process  of  choosing  a  single  router  to
  167.              forward  multicast  packets from a particular source onto a
  168.              particular LAN segment. The need for  Asserts  arises  when
  169.              a LAN segment has multiple directly-connected routers with 
  170.              routes to the source.
  171.  
  172.  
  173.         *    Bootstrap router (BSR). A BSR is a  dynamically  elected
  174.              router   within   a  PIM  domain.  It  is  responsible  for
  175.              constructing the RP-Set and originating Bootstrap messages.
  176.  
  177.  
  178.  
  179. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 3]
  180.  
  181.  
  182.  
  183.  
  184.  
  185. Internet Draft            PIM-SM Architecture                   Oct 1996
  186.  
  187.  
  188.         *    Candidate-BSR (C-BSR). A C-BSR is a router configured to
  189.              participate in the BSR election and act as BSRs if elected.
  190.  
  191.  
  192.         *    Dense-mode (DM). A generic term referring to a multicast
  193.              routing protocol that is optimized for dense groups. DVMRP,
  194.              MOSPF, and Dense-mode PIM are examples.
  195.  
  196.  
  197.         *    Designated  Router  (DR).  The  DR  is  the  highest  IP
  198.              addressed  PIM  router on a multi-access LAN. Normally, the
  199.              DR sets up multicast route entries and sends  corresponding
  200.              Join/Prune  and  Register  messages  on behalf of directly-
  201.              connected receivers and sources, respectively. The  DR  may
  202.              or  may  not be the same router as the IGMP Querier. The DR
  203.              may or may not be the long-term, last-hop  router  for  the
  204.              group, or a particular source that is sending to the group;
  205.              a router on the LAN that has a lower metric  route  to  the
  206.              data source, or to the group's RP, may take over that role.
  207.  
  208.  
  209.         *    Incoming interface (iif). The iif of a  multicast  route
  210.              entry  indicates  the  interface  from which multicast data
  211.              packets are accepted for forwarding. The iif is initialized
  212.              when the entry is created.
  213.  
  214.  
  215.         *    Join list. The Join list is one of two lists of IP unicast
  216.              addresses  that  is  included in a Join/Prune message; each
  217.              address refers to  a  source  or  RP.  It  indicates  those
  218.              sources  or  RPs  to  which  downstream receiver(s) wish to
  219.              join.
  220.  
  221.  
  222.         *    Last-hop router. The last-hop router is the router which
  223.              forwards   multicast  data  packets  to  directly-connected
  224.              member hosts. In general the last-hop router is the DR  for
  225.              the  LAN.  However,  under  various conditions described in
  226.              this document a parallel router connected to the  same  LAN
  227.              may take over as the last-hop router in place of the DR.
  228.  
  229.  
  230.         *    Member. A host that desires to receive multicast datagrams
  231.              for a group. This host need not be a sender to the group. A
  232.              Member is synonymously called a  Receiver.
  233.  
  234.  
  235.         *    Outgoing interface  (oif)  list.  Each  multicast  route
  236.  
  237.  
  238.  
  239. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 4]
  240.  
  241.  
  242.  
  243.  
  244.  
  245. Internet Draft            PIM-SM Architecture                   Oct 1996
  246.  
  247.  
  248.              entry
  249.  
  250.              has an oif list containing the outgoing interfaces to which
  251.              multicast packets matching that entry should be forwarded.
  252.  
  253.  
  254.         *    Prune List. The Prune  list  is  the  second  list  of  IP
  255.              unicast addresses that is included in a Join/Prune message.
  256.              It indicates those sources or  RPs  from  which  downstream
  257.              receiver(s) wish to prune.
  258.  
  259.  
  260.         *    PIM Multicast Border Router (PMBR). A  PMBR  connects  a
  261.              PIM domain to other multicast routing domain(s).
  262.  
  263.  
  264.  
  265.         *    Rendezvous  Point  (RP).  Each  multicast  group  has  a
  266.              shared-tree  via which receivers hear of sources. The RP is
  267.              the root of this per-group shared tree, called the RP-Tree.
  268.              Candidate-RPs  are routers configured to participate as RPs
  269.              for some (or all) groups.
  270.  
  271.  
  272.         *    RP-Set. The BSR for a PIM region constructs a set of  RP
  273.              IP addresses based on Candidate-RP advertisements received.
  274.              The RP-Set information is distributed to all PIM routers in
  275.              a domain in a Bootstrap message.
  276.  
  277.  
  278.         *    Reverse Path Forwarding (RPF). RPF is used to select the
  279.              appropriate  incoming interface for a multicast route entry
  280.              . The RPF neighbor for an IP address X is the the  next-hop
  281.              router  used to forward packets toward X. The RPF interface
  282.              is the interface to that RPF neighbor. In the  common  case
  283.              this  is  the next hop used by the unicast routing protocol
  284.              for sending unicast packets toward X. For example, in cases
  285.              where  unicast  and  multicast routes are not congruent, it
  286.              can be different.
  287.  
  288.  
  289.         *    Route entry. A multicast route entry is state maintained
  290.              in a router along the distribution tree and is created, and
  291.              updated based on incoming control  messages,  and  in  some
  292.              cases  data  packets. The route entry may be different from
  293.              the forwarding entry; the latter is used  to  forward  data
  294.              packets  in  real time. Typically a forwarding entry is not
  295.              created until data packets arrive, the  forwarding  entry's
  296.  
  297.  
  298.  
  299. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 5]
  300.  
  301.  
  302.  
  303.  
  304.  
  305. Internet Draft            PIM-SM Architecture                   Oct 1996
  306.  
  307.  
  308.              iif  and  oif list are copied from the route entry, and the
  309.              forwarding entry may be flushed and recreated at will.
  310.  
  311.  
  312.         *    Shared Tree (RP tree). The set of paths  connecting  all
  313.              receivers  of  a group to its RP is the RP tree. A receiver
  314.              on the RP tree receives packets from  all  sources  of  the
  315.              group,  except  those  sources  that were pruned off the RP
  316.              tree.
  317.  
  318.  
  319.         *    Shortest path tree (SPT).  The  SPT  is  the  multicast
  320.              distribution  tree  created  by  the  merger  of all of the
  321.              shortest paths that connect receivers  to  the  source  (as
  322.              determined by unicast routing).
  323.  
  324.  
  325.         *    Source. A host that sends multicast datagrams to a  group.
  326.              A  Source  is  not  required  to  be  a member. A Source is
  327.              synonymously called a Sender.
  328.  
  329.  
  330.  
  331.         *    Sparse  Mode  (SM).  Sparse  mode  PIM  uses   explicit
  332.              Join/Prune messages and Rendezvous points in place of Dense
  333.              Mode PIM's and DVMRP's broadcast and prune mechanism.
  334.  
  335.  
  336.         *    Wildcard (WC) multicast route entry. Wildcard  multicast
  337.              route entries are those entries that may be used to forward
  338.              packets for any source  sending  to  the  specified  group.
  339.              Wildcard  bits  in  the  join  list of a Join/Prune message
  340.              represent either a (*,G) or (*,*,RP)  join;  in  the  prune
  341.              list they represent a (*,G) prune.
  342.  
  343.  
  344.         *    (S,G) route entry.  (S,G)  is  a  source-specific  route
  345.              entry.  It  may  be  created  in  response to data packets,
  346.              Join/Prune messages, or Asserts. The (S,G) state in routers
  347.              creates a source-rooted, shortest path (or reverse shortest
  348.              path) distribution tree. (S,G)RPT bit entries  are  source-
  349.              specific  entries  on the shared RP-Tree; these entries are
  350.              used to prune particular sources off of the shared tree.
  351.  
  352.  
  353.         *    (*,G) route entry. Group members join the shared RP-Tree
  354.              for  a  particular group. This tree is represented by (*,G)
  355.              multicast route entries along the  shortest  path  branches
  356.  
  357.  
  358.  
  359. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 6]
  360.  
  361.  
  362.  
  363.  
  364.  
  365. Internet Draft            PIM-SM Architecture                   Oct 1996
  366.  
  367.  
  368.              between the RP and the group members.
  369.  
  370.  
  371.         *    (*,*,RP)  route  entry.  PMBRs  join  toward  all   RPs
  372.              supporting  non-local  groups,  within  their PIM domain in
  373.              order to pull packets generated within the  region  out  to
  374.              the  borders  of the region. The routers along the shortest
  375.              path branches between the RP(s) and the PMBRs keep (*,*,RP)
  376.              state and use it to determine how to deliver packets toward
  377.              the PMBRs if data packets arrive for which there is  not  a
  378.              longer match.
  379.  
  380.  
  381.      1.2 Background
  382.  
  383.         In the traditional dense-mode IP multicast model, established by
  384.         Deering  [6], a  multicast address is assigned to the collection
  385.         of receivers for a multicast  group.  Senders  simply  use  that
  386.         address  as  the  destination  address  of a packet to reach all
  387.         members of the group. The separation of  senders  and  receivers
  388.         allows  any  host,  member  or non-member, to send to a group. A
  389.         group membership protocol (IGMP) [7][8] is used for  routers  to  
  390.         learn the existence of members on their directly attached 
  391.         subnetworks.
  392.         This receiver-initiated join procedure  has  very  good  scaling
  393.         properties;  as  the  group grows, it becomes more likely that a
  394.         new receiver will be able to splice onto a nearby branch of  the
  395.         distribution  tree. A multicast routing protocol, in the form of
  396.         an extension to  existing  unicast  protocols  (e.g.  DVMRP,  an
  397.         extension  to  a  RIP-like  distance-vector unicast protocol; or
  398.         MOSPF, an extension to the link-state unicast protocol OSPF), is
  399.         executed on routers to construct multicast packet delivery paths
  400.         and to accomplish multicast data packet forwarding.
  401.  
  402.         In the case of link-state protocols, changes of group membership
  403.         on  a  subnetwork  are  detected  by one of the routers directly
  404.         attached to that subnetwork,  and  that  router  broadcasts  the
  405.         information to all other routers in the same routing domain [9].
  406.         Each router  maintains  an  up-to-date  image  of  the  domain's
  407.         topology  through  the unicast link-state routing protocol. Upon
  408.         receiving a multicast data packet, the router uses the  topology
  409.         information  and  the  group membership information to determine
  410.         the shortest-path tree (SPT) from the packet's source subnetwork
  411.         to  its  destination  group  members. Broadcasting of membership
  412.         information is one major factor preventing link-state  multicast
  413.         from  scaling  to  larger,  wide-area, networks --- every router
  414.         must receive and store membership information for every group in
  415.         the domain. The other major factor is the processing cost of the
  416.         Dijkstra shortest-path-tree calculations  performed  to  compute
  417.  
  418.  
  419.  
  420. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 7]
  421.  
  422.  
  423.  
  424.  
  425.  
  426. Internet Draft            PIM-SM Architecture                   Oct 1996
  427.  
  428.  
  429.         the delivery trees for all active multicast sources [10] for all
  430.         groups, thus limiting  its  applicability  on  an  internet-wide
  431.         basis.
  432.  
  433.         Distance-vector multicast routing protocols construct  multicast
  434.         distribution  trees  using  variants  of Reverse Path Forwarding
  435.         (RPF) [11]. When the first data packet is sent to a group from a
  436.         particular source subnetwork, and a router receiving this packet
  437.         has no knowledge  about  the  group,  the  router  forwards  the
  438.         incoming   packet   out   all  interfaces  except  the  incoming
  439.         interface.  (Some  schemes  reduce  the   number   of   outgoing
  440.         interfaces further by using unicast routing protocol information
  441.         to keep track of child-parent  information  [6][2].)  A  special
  442.         mechanism  is  used  to avoid forwarding of data packets to leaf
  443.         subnetworks with  no  members  in  that  group  (also  known  as
  444.         truncated  broadcasting).  Also if the arriving data packet does
  445.         not come through the interface that  the  router  uses  to  send
  446.         packets  to  the  source  of the data packet, the data packet is
  447.         silently dropped; thus the term Reverse  Path  Forwarding  [11].
  448.         When  a  router  attached  to a leaf subnetwork, receives a data
  449.         packet addressed to a new group, if it finds no members  present
  450.         on  its  attached subnetworks, it sends a prune message upstream
  451.         towards the source of the data packet. The prune messages  prune
  452.         the  tree  branches not leading to group members, thus resulting
  453.         in a source-specific shortest-path tree with all  leaves  having
  454.         members.  Pruned  branches  will  ``grow  back'' after a time-out
  455.         period; these branches will again be pruned if there  are  still
  456.         no  multicast  members  and data packets are still being sent to
  457.         the group.
  458.  
  459.         Compared with  the  total  number  of  destinations  within  the
  460.         greater  internet,  the  number  of  destinations  having  group
  461.         members of any particular wide-area group  is  likely  to  be
  462.         small.  More  importantly,  bandwidth limitations, and therefore
  463.         data and control message overhead, should not be  ignored  in  a
  464.         wide  area  context.  In  the  case of distance-vector multicast
  465.         schemes, routers that are not on  the  multicast  delivery  tree
  466.         still have to carry the periodic truncated-broadcast of packets,
  467.         and process the subsequent pruning of branches  for  all  active
  468.         groups.   One  particular  distance-vector  multicast  protocol,
  469.         DVMRP, has been deployed in hundreds of regions connected by the
  470.         MBONE   [12].  However,  its  occasional  broadcasting  behavior
  471.         severely limits its  capability  to  scale  to  larger  networks
  472.         supporting  much  larger  numbers  of  groups, many of which are
  473.         sparse.
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 8]
  481.  
  482.  
  483.  
  484.  
  485.  
  486. Internet Draft            PIM-SM Architecture                   Oct 1996
  487.  
  488.  
  489.      1.3 Extending multicast to the wide area: scaling issues
  490.  
  491.         The scalability of a multicast  protocol  can  be  evaluated  in
  492.         terms  of  its  overhead  growth  with the size of the internet,
  493.         numbers of receivers or sources per group, number of groups, and
  494.         distribution   of  group  receivers  and  senders.  Overhead  is
  495.         evaluated in terms of resources consumed in routers  and  links,
  496.         i.e., state, processing, and bandwidth.
  497.  
  498.         Existing dense-mode  link-state  and  distance-vector  multicast
  499.         routing schemes have good scaling properties only when multicast
  500.         groups densely populate the network of  interest,  or  when  the
  501.         overhead  of  dense-mode operation is negligible relative to the
  502.         network resources. When most of the  subnets  or  links  in  the
  503.         (inter)network  have  group members, then the bandwidth, storage
  504.         and  processing  overhead  of  broadcasting  membership  reports
  505.         (link-state),  or  data  packets (distance-vector) is warranted,
  506.         since the information or data packets are needed in  most  parts
  507.         of  the  network  anyway. The emphasis of our work is to develop
  508.         multicast protocols  that  will  also  efficiently  support  the
  509.         sparsely distributed groups that are likely to be most prevalent
  510.         in   wide-area,   multi-administration,   inter-networks   where
  511.         resources must be used more conservatively.
  512.  
  513.      1.4 Overhead and tree types
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.                 [Figures are present only in the postscript version]
  524.                        Fig. 1  Example of Multicast Trees
  525.  
  526.  
  527.         The examples in Figure 1 illustrate the inadequacies  of  dense-
  528.         mode  mechanisms when supporting sparse, wide area groups. There
  529.         are three domains that communicate via an internet. There  is  a
  530.         member of a particular group, G, located in each of the domains.
  531.         There are no other members of this group currently active in the
  532.         internet.  If  a traditional IP multicast routing mechanism such
  533.         as DVMRP is used, then when a source in domain
  534.          A starts to send  to  the  group,  its  data  packets  will  be
  535.         broadcast throughout the entire internet. Subsequently all those
  536.         sites that do not have local members will  send  prune  messages
  537.  
  538.  
  539.  
  540. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 9]
  541.  
  542.  
  543.  
  544.  
  545.  
  546. Internet Draft            PIM-SM Architecture                   Oct 1996
  547.  
  548.  
  549.         and  the  distribution  tree  will stabilize to that illustrated
  550.         with bold lines  in  Figure  1(b).  However,  periodically,  the
  551.         source's   packets  will  be  broadcast  throughout  the  entire
  552.         internet when the pruned-off branches times out.
  553.  
  554.         Thus far we have motivated our design by contrasting it  to  the
  555.         traditional  dense-mode IP multicast routing protocols. The Core
  556.         Based Tree (CBT) protocol [13] was proposed to  address  similar
  557.         scaling problems in support of sparse-mode multicast. CBT uses a
  558.         single delivery tree for each group, rooted at one  of  a  small
  559.         set  of  ``core'' routers and shared by all senders to the group.
  560.         CBT does not exhibit the  occasional  broadcasting  or  flooding
  561.         behavior  of earlier protocols. However, CBT does so at the cost
  562.         of imposing a single shared tree for each multicast group.
  563.  
  564.         If CBT were used to support the example group, then a core might
  565.         be defined in domain A, and the distribution tree illustrated in
  566.         Figure 1(c) would be established. This distribution  tree  would
  567.         also be used by sources sending from domains B and C. This would
  568.         result in concentration of all  sources'  traffic  on  the  path
  569.         indicated  with  bold  lines.  We  refer  to  this  as   traffic
  570.         concentration. This is a potentially significant issue with 
  571.         any protocol that imposes a single shared tree per group. In
  572.         addition, the packets traveling from  Y to  Z  will  not  travel
  573.         via the shortest path used by unicast packets between  Y and  Z.
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.         [Figures are present only in the postscript version]
  581.         Fig. 2  Comparison of shortest-path trees and center-based tree
  582.  
  583.  
  584.         We need to know the kind of degradations a core-based  tree  can
  585.         incur in average networks. David Wall [14] proved that the bound
  586.         on maximum delay of an optimal core-based tree (which he  called
  587.         a  center-based tree) is 2 times the shortest-path delay. To
  588.         get a better understanding of how well optimal core-based  trees
  589.         perform  in  average  cases,  we simulated an optimal core-based
  590.         tree algorithm over large number of different random graphs.  We
  591.         measured  the  maximum delay within each group, and experimented
  592.         with graphs of different node degrees. We show the ratio of  the
  593.         CBT  maximum  delay  versus  shortest-path tree maximum delay in
  594.         Figure 2(a). For each node degree, we tried  500  different  50-
  595.         node  graphs  with  10-member  groups chosen randomly. It can be
  596.         seen that the maximum delays of core-based  trees  with  optimal
  597.  
  598.  
  599.  
  600. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 10]
  601.  
  602.  
  603.  
  604.  
  605.  
  606. Internet Draft            PIM-SM Architecture                   Oct 1996
  607.  
  608.  
  609.         core  placement,  are up to 1.4 times greater than shortest-path
  610.         trees. Note that although some error bars  in  the  delay  graph
  611.         extend  below  1,  there are no real data points below 1 --- the
  612.         distribution is not symmetric, for more details  see  [15].  For
  613.         interactive  applications  where  low latency is critical, it is
  614.         desirable to use the shortest-path trees  to  avoid  the  longer
  615.         delays of an optimal core-based tree.
  616.  
  617.         With respect to the potential traffic concentration problem,  we
  618.         also   conducted   simulations  in  randomly  generated  50-node
  619.         networks. In each network, there  were  300  active  groups  all
  620.         having  40  members,  of  which 32 members were also senders. We
  621.         measured the number  of  traffic  flows  on  each  link  of  the
  622.         network,  then  recorded  the maximum number within the network.
  623.         For each  node  degree  between  three  and  eight,  500  random
  624.         networks  were  generated,  and  the  measured maximum number of
  625.         traffic flows were averaged. Figure 2(b) shows  a  plot  of  the
  626.         measurements  in  networks  with  different  node  degrees. This
  627.         experiment demonstrates situations  in  which  CBT  may  exhibit
  628.         significantly greater traffic concentrations.
  629.  
  630.         It is evident to us that both tree types have  their  advantages
  631.         and  disadvantages. One type of tree may perform very well under
  632.         one class of conditions, while the other type may be  better  in
  633.         other  situations.  For  example,  shared trees may perform very
  634.         well for large numbers of low data rate sources (e.g.,  resource
  635.         discovery  applications),  while SPT(s) may be better suited for
  636.         high data rate sources (e.g., real  time  teleconferencing).  It
  637.         would  be  ideal  to flexibly support both types of trees within
  638.         one multicast architecture, so that the selection of tree  types
  639.         becomes  a configuration decision within a multicast protocol. A
  640.         more complete analysis of these tradeoffs can be found in  [15].
  641.         PIM  is  designed  to address the two issues addressed above: to
  642.         avoid the overhead of broadcasting packets  when  group  members
  643.         sparsely  populate  the  internet,  and  to  do so in a way that
  644.         supports  good-quality  distribution  trees  for   heterogeneous
  645.         applications.
  646.  
  647.         In PIM, a multicast router can choose to use shortest-path trees
  648.         or  a  group-shared  tree. The last-hop routers of the receivers
  649.         can make this decision  independently.  A  receiver  could  even
  650.         choose  different  types  of  trees  for  different  sources. In
  651.         general, we recommend that routers be  configured  to  join  the
  652.         shortest  path  tree  for  a  source when the source's data rate
  653.         exceeds a configured threshold.
  654.  
  655.         The  capability  to  support  different  tree   types   is   the
  656.         fundamental  difference  between  PIM  and  CBT. There are other
  657.  
  658.  
  659.  
  660. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 11]
  661.  
  662.  
  663.  
  664.  
  665.  
  666. Internet Draft            PIM-SM Architecture                   Oct 1996
  667.  
  668.  
  669.         significant protocol engineering differences as well,  the  most
  670.         significant  of  which  is  PIM's  use of soft state reliability
  671.         mechanisms. CBT uses explicit hop-by-hop mechanisms  to  achieve
  672.         reliable  delivery of control messages. As described in the next
  673.         section, PIM uses periodic refreshes as  its  primary  means  of
  674.         reliability.   This  approach  reduces  the  complexity  of  the
  675.         protocol and  covers  a  wide  range  of  protocol  and  network
  676.         failures  in  a  single  simple  mechanism.  Although soft-state
  677.         refreshing can introduce additional message  protocol  overhead,
  678.         we  introduce  the  notion  of  scalable  timers to address such
  679.         concerns.
  680.  
  681.      1.5 Document organization
  682.  
  683.         In the remainder of this  document  we  enumerate  the  specific
  684.         design requirements for wide-area multicast routing (section
  685.          2),  summarize  the  architectural  components  and   functions
  686.         (section   3),  enumerate  several  protocol engineering choices
  687.         made in the design of PIM protocols (section  4),  and  consider
  688.         the  use  of  aggregation  to  address  the  scalability problem
  689.         (section  5). Protocol details can be found in [3].
  690.  
  691.      2 Requirements
  692.  
  693.         We had several design objectives in  mind  when  designing  this
  694.         architecture:
  695.  
  696.  
  697.         *    Sparse-Mode Regions 
  698.  
  699.         We define a sparse  mode  region  as one in which
  700.  
  701.              (a)   the number of  networks/domains  with  group  members
  702.                   present   is  significantly  smaller  than  number  of
  703.                   networks/domains in the region as a whole;
  704.  
  705.              (b)   group members span an area that is too large/wide  to
  706.                   rely on scope control; and
  707.  
  708.              (c)   the region spanned by the group is  not  sufficiently
  709.                   resource  rich  to  ignore  the  overhead  of  traditional
  710.                   schemes.
  711.  
  712.              Groups in sparse-mode regions are not necessarily ``small'';
  713.              therefore we must support dynamic groups with large numbers
  714.              of participants (i.e. receivers and senders).
  715.  
  716.  
  717.  
  718.  
  719.  
  720. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 12]
  721.  
  722.  
  723.  
  724.  
  725.  
  726. Internet Draft            PIM-SM Architecture                   Oct 1996
  727.  
  728.  
  729.         *    High-Quality Data Distribution
  730.  
  731.              We wish to support low-delay data distribution when  needed
  732.              by  the  application.  In  particular, we avoid  imposing a
  733.              single shared tree in which data packets are  forwarded  to
  734.              receivers along a common tree, independent of their source.
  735.              Source-specific trees are superior when
  736.  
  737.  
  738.              (a)   multiple sources send data simultaneously  and  would
  739.                   experience  poor  service  when  the  traffic  is  all
  740.                   concentrated on a single shared tree, or
  741.  
  742.              (b)   the path lengths between sources and destinations  in
  743.                   the   shortest-path   tree  (SPTs)  are  significantly
  744.                   shorter than in the shared tree.
  745.  
  746.  
  747.  
  748.         *     Routing Protocol Independence
  749.  
  750.              The protocol should make use of  existing  unicast  routing
  751.              functionality to adapt to topology changes, but at the same
  752.              time be independent of the  particular  protocol  employed.
  753.              This  independence has another advantage that the multicast
  754.              domain  boundaries  may  extend   beyond   unicast   domain
  755.              boundaries.  This  allows  network  designers  to take into
  756.              consideration the multicast  requirements  and  not  to  be
  757.              burdened  with unicast topology restrictions. We accomplish
  758.              this by letting the multicast  protocol  make  use  of  the
  759.              unicast routing tables, independent of how those tables are
  760.              computed.
  761.  
  762.  
  763.  
  764.         *     Interoperability with dense mode protocols
  765.  
  766.              We require interoperability with traditional RPF and  link-
  767.              state  multicast  routing,  both  intra-domain  and  inter-
  768.              domain.  For  example,  the  intra-domain  portion   of   a
  769.              distribution  tree  may  be  established  by  some other IP
  770.              multicast protocol, and the inter-domain portion by PIM; or
  771.              vice  versa.  In  some cases it will be necessary to impose
  772.              some additional protocol or configuration overhead in order
  773.              to interoperate with some intra-domain routing protocols.
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 13]
  781.  
  782.  
  783.  
  784.  
  785.  
  786. Internet Draft            PIM-SM Architecture                   Oct 1996
  787.  
  788.  
  789.         *     Robustness
  790.  
  791.              The protocol should be able to gracefully adapt to  routing
  792.              changes. We achieve this by
  793.  
  794.  
  795.              (a)   using  soft state refreshment mechanisms,
  796.  
  797.              (b)   avoiding a single point of failure by  using  an  RP-
  798.                   Set, and
  799.  
  800.              (c)   adapting along with (and based  on)  unicast  routing
  801.                   changes  to  deliver  multicast  service  so  long  as
  802.                   unicast packets are being serviced.
  803.  
  804.  
  805.  
  806.         *     Scalability
  807.  
  808.              We provide mechanisms for scaling with  group  and  network
  809.              size.  These  mechanisms  address  the  forms  of overhead:
  810.              control messages and  state.  Bandwidth  consumed  by  data
  811.              packets  is  already minimized through the use of explicit-
  812.              join sparse mode. Control  message  overhead  can  also  be
  813.              limited  to  a  fixed  percentage  of the link bandwidth by
  814.              adjusting the frequency of periodic messages on a  link  by
  815.              link   basis.  This  method  of  controlling  overhead  was
  816.              proposed by Van Jacobson.
  817.  
  818.              State overhead can be managed  in  such  a  way  that  each
  819.              router  can  unilaterally  choose  its  own  tradeoff point
  820.              between the amount of state maintained and  the  amount  of
  821.              bandwidth   consumed  by  unneeded  flooding  of  multicast
  822.              packets.
  823.  
  824.  
  825.  
  826.      3 PIM Components and Functions: Overview
  827.  
  828.         In this section we describe the architectural components of PIM.
  829.         The  detailed  protocol  mechanisms  are  described  in  [3]. As
  830.         described,  traditional   multicast   routing   protocols   were
  831.         optimized   for   densely   distributed   groups   or  uniformly
  832.         bandwidth-rich regions, and rely on data driven actions  in  all
  833.         network  routers  to  establish efficient distribution trees. In
  834.         contrast, sparse-mode multicast constrains data distribution  so
  835.         that  packets  reach  only routers that are on the path to group
  836.         members. PIM differs from existing IP multicast schemes  in  two
  837.  
  838.  
  839.  
  840. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 14]
  841.  
  842.  
  843.  
  844.  
  845.  
  846. Internet Draft            PIM-SM Architecture                   Oct 1996
  847.  
  848.  
  849.         fundamental ways:
  850.  
  851.  
  852.         *    Routers with local (or downstream) members join  a  sparse-
  853.              mode  PIM  distribution tree by sending explicit Join/Prune
  854.              messages; in dense-mode IP multicast membership is  assumed
  855.              and  multicast  data packets are sent until routers without
  856.              local (or downstream) members send explicit prune  messages
  857.              to remove themselves from the distribution tree.
  858.  
  859.         *    Whereas dense-mode IP multicast tree construction  is  data
  860.              driven,  sparse-mode  PIM  must  use  per-group  Rendezvous
  861.              Point for receivers  to  ``meet''  new  sources.  Rendezvous
  862.              Points (RP) are used by senders to announce their existence
  863.              and by receivers to learn about new senders of a group.  In
  864.              SM, the shared-tree join state is stored in anticipation of
  865.              data packets, whereas DM does not create state until a data
  866.              packet  arrives.  The  source-specific  trees and associate
  867.              state are data-driven in PIM, as in PIM-DM.
  868.  
  869.  
  870.         The shortest-path-tree state maintained in  routers  is  roughly
  871.         the  same  type  as  the  multicast  routing information that is
  872.         currently maintained by routers running  existing  IP  multicast
  873.         protocols  such  as  MOSPF,  i.e., source (S), multicast address
  874.         (G), outgoing interface set (oif),  incoming  interface  (iif).  
  875.         We  refer  to this information as the multicast routing
  876.         entry for (S,G). For all routers containing a (S,G) entry, their
  877.         oif's and iif together form a shortest-path tree rooted
  878.         at S.
  879.  
  880.  
  881.         An entry for a shared tree can match packets from any source for
  882.         its  associated  group  if  the  packets  come through the right
  883.         incoming interface, we denote such an entry (*,G). A (*,G) entry
  884.         keeps  the  same information a (S,G) entry keeps, except that it
  885.         saves the RP address in place of the source address. There is  a
  886.         wildcard  flag  (WC-bit)  indicating  that  this  is a wild card
  887.         entry, and an RPT-bit indicating that  this  is  a  shared  tree
  888.         entry.
  889.  
  890.  
  891.  
  892.  
  893.  
  894.                  [Figures are present only in the postscript version]
  895.                  Fig. 3  How senders rendezvous with receivers
  896.  
  897.  
  898.  
  899.  
  900. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 15]
  901.  
  902.  
  903.  
  904.  
  905.  
  906. Internet Draft            PIM-SM Architecture                   Oct 1996
  907.  
  908.  
  909.         Figure 3 shows a simple scenario of  a  sender  and  a  receiver
  910.         joining  a multicast group via an RP. When the receiver wants to
  911.         join a multicast group, its last-hop PIM router ( A  in  fig  3)
  912.         sends  a Join/Prune message towards the RP for the group. If the
  913.         last-hop router does not have RP information, it  is  considered
  914.         an  error.  Processing  of  this message by intermediate routers
  915.         sets up the multicast tree branch from the RP to  the  receiver.
  916.         When   sources   start  sending  to  the  multicast  group,  the
  917.         designated router ( D in fig 3) sends  a  PIM-Register  message,
  918.         encapsulating  the data packet, to the RP for that group. If the
  919.         source's data rate  warrants  a  source-specific  tree,  the  RP
  920.         responds  by  sending  a  Join/Prune message towards the source.
  921.         Processing of these messages by intermediate routers (there  are
  922.         no  intermediate routers between the RP and the source in fig 3)
  923.         sets up a packet delivery path from the source to the RP.
  924.  
  925.         If source-specific distribution trees are desired (based on  the
  926.         source's  data  rate or some other configuration parameter), the
  927.         last-hop  PIM  router  for  each  member  eventually  joins  the
  928.         source-rooted  distribution  tree  for  each source by sending a
  929.         Join/Prune message towards the source, including the  source  in
  930.         the  Join list. After data packets are received on the new path,
  931.         router  B in fig 3 sends a PIM-prune  message  towards  the  RP,
  932.         including the source S in the prune list.
  933.          B knows, by checking  the  incoming  interface  in  it  routing
  934.         table,  that  it  is at a point where the shortest-path tree and
  935.         the RP  tree  branches  diverge.  A  flag,  called  SPT-bit,  is
  936.         included  in  (S,G)  entries  to indicate whether the transition
  937.         from shared tree  to  shortest-path  tree  has  completed.  This
  938.         minimizes   the   chance  of  losing  data  packets  during  the
  939.         transition.
  940.  
  941.         Each PIM router must be able to map a multicast group address to
  942.         that  group's  RP  (an  IP  address).  To  do  so,  an RP-Set is
  943.         distributed to all PIM routers within a region, and each  router
  944.         runs  the  same  hash  function  to  map from group address to a
  945.         particular RP in the RP-Set. In this way all  routers  within  a
  946.         PIM  region  map  a particular group address to the same RP. The
  947.         RP-Set is constructed and distributed by  a  dynamically-elected
  948.         bootstrap  router  (BSR)  within the region. Only a single RP is
  949.         active for a group at any one point in  time,  and  the  BSR  is
  950.         responsible  for  keeping  the RP-Set up to date. Therefore, all
  951.         candidate RPs within the  region  send  periodic  advertisements
  952.         (liveness indication) to the BSR.
  953.  
  954.         PIM avoids explicit enumeration of  receivers.  In  general,  in
  955.         many  existing  and  anticipated  applications,  the  number  of
  956.         receivers is much larger than the number of  sources,  and  when
  957.  
  958.  
  959.  
  960. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 16]
  961.  
  962.  
  963.  
  964.  
  965.  
  966. Internet Draft            PIM-SM Architecture                   Oct 1996
  967.  
  968.  
  969.         the number of sources is very large, the average data rate tends
  970.         to be lower (e.g. resource discovery). In  any  finite  capacity
  971.         network  there  is  an  upper  bound  on  the data rate that any
  972.         individual  host  can  send  or  receive.  Therefore  there  are
  973.         fundamental  bounds on the number of high data rate sources that
  974.         can simultaneously send to the same group. However, there are no
  975.         such  bounds  on  the  number  of  low datarate sources that can
  976.         simultaneously send to the same group. If there are  very  large
  977.         numbers  of sources sending to a group, but the sources' average
  978.         data rates are low, then it may be more efficient to support the
  979.         group  with  a  shared  tree  instead  which has less per-source
  980.         overhead; therefore we suggest  triggering  Shortest  Path  Tree
  981.         (SPT)  Join/Prune  messages  only  after the last hop router has
  982.         received a threshold datarate from  the  particular  source.  If
  983.         sources  are  low  data  rate,  these  Join/Prunes  will  not be
  984.         triggered and receivers will receive packets via the shared tree
  985.         instead  and  no source specific tree state will be constructed.
  986.         Issues  of  group-specific   state   proliferation   and   state
  987.         aggregation  are  discussed  further  in section  5. In summary,
  988.         data packets from the source will travel to the RP  in  Register
  989.         messages,  and  from  the  RP  will  travel to receivers via the
  990.         distribution paths established by the Join/Prune  messages  sent
  991.         upstream  from receivers towards the RP. If the RP and receivers
  992.         initiate  shortest  path  tree  Join/Prunes,  the  sources  data
  993.         packets  will  longest  match on the source specific (S,G) state
  994.         instead of traveling via the RP  distribution  tree.  Some  data
  995.         packets  will  continue  to travel from the sources to the RP in
  996.         order to reach new receivers. Similarly, receivers will continue
  997.         to receive some data packets via the RP tree in order to pick up
  998.         new senders. However, when source-specific tree distribution  is
  999.         used,  most  data  packets  will  arrive  at  receivers  over  a
  1000.         shortest-path   distribution   tree.   At   times   when   group
  1001.         participation is not changing, and all receivers have joined the
  1002.         shortest path tree(s), the  RP  can  inform  source(s)  to  stop
  1003.         sending data-encapsulating Register messages.
  1004.  
  1005.  
  1006.  
  1007.      4 Protocol Engineering Design Features
  1008.  
  1009.         In this section we describe engineering features embodied in the
  1010.         PIM  protocols:  robustness,  interaction  with  other multicast
  1011.         protocols, and multicast service interfaces.
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 17]
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026. Internet Draft            PIM-SM Architecture                   Oct 1996
  1027.  
  1028.  
  1029.      4.1 Robustness features
  1030.  
  1031.         There are several areas in which PIM is designed for robustness.
  1032.  
  1033.      4.1.1 Lost PIM messages
  1034.  
  1035.         The protocol is fairly robust to lost  control  messages.  If  a
  1036.         PIM-Register  message  gets lost then data packets will continue
  1037.         to be encapsulated in subsequent PIM-Register messages until the
  1038.         first  hop  router receives a Register-stop message message from
  1039.         the RP. If a new Join/Prune message (carrying join  information)
  1040.         is  lost  over an off-tree link (i.e. a link that is not already
  1041.         part of the mutlicast distribution tree), then for the remainder
  1042.         of  the refresh period, packets will not be forwarded on the new
  1043.         path, causing join latency; or in the case of prune information,
  1044.         packets will continue to be forwarded until the refresh is sent,
  1045.         causing leave latency.
  1046.  
  1047.         All outgoing-interface state that is cached is timed out after a
  1048.         period equal to `3.5' times the refresh period (e.g., default of
  1049.         210 seconds for the default 60 second refresh interval).  As  in
  1050.         other  multicast routing protocols, this longer timeout interval
  1051.         allows individual packets to be lost without adversely affecting
  1052.         the  routing function. When a routing entry has no more outgoing
  1053.         interfaces it is scheduled to be deleted some time later  and  a
  1054.         prune  can  be  sent  upstream (if no prune is sent upstream the
  1055.         upstream  state  will  eventually  time  out  anyway  since   no
  1056.         Join/Prunes  will  be  received  to  refresh  the  join  state.)
  1057.         Initially PIM messages are configured to be refreshed  every  60
  1058.         seconds.  However, in the future a scalable timer mechanism will
  1059.         be deployed in which the rate is a function  of  the  amount  of
  1060.         state  in  a  router  and  link bandwidth (i.e., for lower speed
  1061.         links the rate will be slower and for higher speed links it  may
  1062.         be higher).
  1063.  
  1064.      4.1.2 Multiple Rendezvous Points and RP failure scenarios
  1065.  
  1066.         If only a single RP were available to be used  for  a  multicast
  1067.         group,  group  communication would be disrupted if the RP became
  1068.         unreachable. Assigning a set of available RPs greatly  increases
  1069.         the  robustness of the system. A small set of PIM routers within
  1070.         a domain are configured to act as  Candidate  RPs  (C-RPs),  and
  1071.         periodically send C-RP Advertisements to the elected BSR. At any
  1072.         point in time only a single RP is active for a  group.  However,
  1073.         when  the  BSR  detects  that  a  particular  RP  is  no  longer
  1074.         reachable, the BSR deletes the unreachable RP(s) from the RP-Set
  1075.         next  distributed within the periodic Bootstrap message, and all
  1076.         PIM routers within the  region  rehash  affected  groups  (i.e.,
  1077.  
  1078.  
  1079.  
  1080. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 18]
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086. Internet Draft            PIM-SM Architecture                   Oct 1996
  1087.  
  1088.  
  1089.         those that were previously hashed to the now-unreachable RP).
  1090.  
  1091.  
  1092.      4.2 Interaction with other multicast protocols
  1093.  
  1094.         The basic difference between traditional  IP  multicast  routing
  1095.         and  PIM  is  that the former is completely data driven; we will
  1096.         refer to traditional IP multicast routing as  ``dense  mode''  for
  1097.         the  purposes  of  this  discussion.  Four  important behavioral
  1098.         differences result:
  1099.  
  1100.  
  1101.         *    Dense  mode  sends  and  stores  explicit  prune  state  in
  1102.              response  to  unwanted  data  packets. Sparse mode requires
  1103.              explicit joining; the default action is to  not  send  data
  1104.              packets where they have not been requested.
  1105.  
  1106.  
  1107.         *    Sparse mode stores shared-tree join state  in  anticipation
  1108.              of  data packets; Dense-mode routers do not store any state
  1109.              until data packets are sent (i.e. for active data sources).
  1110.              The  difference  is  not very significant for active groups
  1111.              (i.e., PIM would have one additional tree active);  however
  1112.              for  idle  groups dense mode has the advantage of having no
  1113.              state at all, whereas PIM would  have  state  for  the  one
  1114.              shared-tree.
  1115.  
  1116.  
  1117.         *    Sparse mode relies on the concept of an RP for data  to  be
  1118.              delivered  to  receivers  who  request  to  join the group.
  1119.              Dense-mode groups do not require an RP; broadcast  is  used
  1120.              as the rendezvous mechanism.
  1121.  
  1122.  
  1123.         *    Sparse mode  relies  on  periodic  refreshing  of  explicit
  1124.              Join/Prune messages. Dense mode does not need to send prune
  1125.              messages periodically because of its data driven nature.
  1126.  
  1127.         In simplified terms, the cost  of  dense  mode  is  the  default
  1128.         broadcast  behavior  and maintenance of prune state, whereas the
  1129.         cost of sparse mode is the need for RPs and  RP-tree  state  for
  1130.         idle  groups.  If  all  members  of a group are located within a
  1131.         bandwidth-rich region, the group may be supported in a  strictly
  1132.         dense  mode  using  scope  control.  However, such groups cannot
  1133.         include any members beyond the indicated scope, without imposing
  1134.         broadcast and prune overhead on the larger scope needed to reach
  1135.         the remote receiver. PIM is designed to address the more general
  1136.         problem  of groups that are not a priori limited to intra-domain
  1137.  
  1138.  
  1139.  
  1140. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 19]
  1141.  
  1142.  
  1143.  
  1144.  
  1145.  
  1146. Internet Draft            PIM-SM Architecture                   Oct 1996
  1147.  
  1148.  
  1149.         membership and may therefore span domains.
  1150.  
  1151.         In the case of multi-access LANs, some interesting issues  arise
  1152.         because  of possibility of parallel routers forwarding duplicate
  1153.         packets onto the LAN. In SM we must be particularly careful with
  1154.         the  operation of the RPtree because the RPF check that prevents
  1155.         routing loops is dependent on information stored in the  router,
  1156.         and  not based on the source address found in the packet header.
  1157.         As a result it is conceivable that a packet could be  routed  in
  1158.         elaborate  loops  because  different routers are using different
  1159.         criteria for accepting the packet. To solve  this  problem  each
  1160.         router  on  a multi-access LAN sends Assert messages when a data
  1161.         packet from a source arrives on the outgoing interface  for  the
  1162.         associated  (S,G)  or  the  (*,G)  entry.  All routers listen to
  1163.         Assert messages, compare the metrics included therein, and  only
  1164.         one router remains the forwarder for that source to that LAN.
  1165.  
  1166.         We also wish to interoperate with  networks  that  do  not  have
  1167.         routers  modified  to  generate  and  interpret  PIM  Join/Prune
  1168.         messages. We have to address two functions: pulling data out  to
  1169.         the  dense-mode  cloud,  and  importing data into the PIM region
  1170.         from a dense mode region:
  1171.  
  1172.  
  1173.         *    In PIM, joining a distribution tree is not passive, routers
  1174.              with  local  members  must  take  explicit  join  action to
  1175.              receive data packets. This creates problems when  a  dense-
  1176.              mode region, wishes to interoperate with PIM. To do so, one
  1177.              of two things must happen:
  1178.  
  1179.  
  1180.              1    Either, PMBR's on the border  between  PIM  and  dense
  1181.                   mode  regions  join  to all of the PIM region's RPs to
  1182.                   pull out all packets generated within the PIM  region.
  1183.                   Or,
  1184.  
  1185.              2    The PMBR on the border of a  dense  mode  region  must
  1186.                   receive some indication of membership within the dense
  1187.                   mode cloud, and must generate PIM explicit  Join/Prune
  1188.                   messages  to  pull  the  data  down  to the dense mode
  1189.                   cloud.
  1190.  
  1191.              The first of these two approaches is appropriate  when  the
  1192.              PIM  region  is  a stub or multihomed and is connected to a
  1193.              dense mode backbone. The second of these two approaches  is
  1194.              appropriate  when  the dense mode region is connecting to a
  1195.              PIM backbone.
  1196.  
  1197.  
  1198.  
  1199.  
  1200. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 20]
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206. Internet Draft            PIM-SM Architecture                   Oct 1996
  1207.  
  1208.  
  1209.         *    The PMBRs at the border between PIM and dense mode  regions
  1210.              must  act  as  DRs  for  the sources external to the PIM-SM
  1211.              domain. In other words the PMBR  sets  up  source  specific
  1212.              state and sends Registers on behalf of external sources.
  1213.  
  1214.         The  details  of  these  mechanisms  are  described  in  [3][19].
  1215.  
  1216.      4.3 Multicast service interface
  1217.  
  1218.         The multicast interface for hosts is unchanged. Hosts need  only
  1219.         learn  about  and  communicate  their  interest  in  joining  to
  1220.         multicast addresses.
  1221.  
  1222.  
  1223.      5 Scaling and Aggregation
  1224.  
  1225.         There   are   several   motivations   for   aggregating   source
  1226.         information;  the  most  important  are PIM message size and the
  1227.         amount of memory used for multicast routing entries.
  1228.  
  1229.         One might consider using the highest level  aggregate  available
  1230.         for an address when setting up the multicast routing entry. This
  1231.         is optimal with respect to  routing  entry  space.  It  is  also
  1232.         optimal  with respect to PIM message size. However, PIM messages
  1233.         will carry very coarse information and when the messages  arrive
  1234.         at  routers  closer  to the source(s) where more specific routes
  1235.         exist there will be a large fanout and PIM messages will  travel
  1236.         towards  all members of the aggregate which would be inefficient
  1237.         in most/many cases.
  1238.  
  1239.         Traditional IP multicast routing (dense mode) does not have this
  1240.         problem   since   prune  messages  can  carry  most  fine  grain
  1241.         information which are triggered based on data  packets.  If  the
  1242.         prune  messages are lost, subsequent data triggers the prune. On
  1243.         the other hand, graft messages may be  subject  to  the  fan-out
  1244.         problem.  In  this  case,  they  are  sent as far as the message
  1245.         information takes it. The penalty is increased join latency.
  1246.  
  1247.         If PIM is being used for inter-domain routing, and routers  were
  1248.         able  to  map  from  IP  address  to domain identifier, then one
  1249.         possibility would be to use the domain  level  aggregate  for  a
  1250.         source  in  PIM  messages  (Autonomous  System  (AS)  numbers or
  1251.         Routing Domain Identifiers (RDIs)). Then the PIM  message  would
  1252.         travel  to  the  PMBRs  of  the domain and the PMBRs can use the
  1253.         internal multicast protocol's mechanism for propagating the join
  1254.         within    the   domain   (e.g.   send   appropriate   link-state
  1255.         advertisement in MOSPF or register a ``local member'' and do  not
  1256.  
  1257.  
  1258.  
  1259. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 21]
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265. Internet Draft            PIM-SM Architecture                   Oct 1996
  1266.  
  1267.  
  1268.         prune  in  the case of RPF). However this approach requires that
  1269.         it is both possible and efficient  to  map  from  IP  to  domain
  1270.         address  when  processing  data  packets,  as  well  as  control
  1271.         packets.
  1272.  
  1273.         We address the issues  of  control  traffic  and  state  scaling
  1274.         separately  below.  The  detailed  mechanisms  have not yet been
  1275.         incorporated into the protocol specification as they  are  still
  1276.         being designed.
  1277.  
  1278.  
  1279.      5.1 Containing control traffic overhead
  1280.  
  1281.         To control the bandwidth consumed by periodic control  messages,
  1282.         we  adopt a technique proposed by one of the authors (Jacobson),
  1283.         called scalable  timers.  The  timers  controlling  periodic
  1284.         refreshing  of  control  messages  are  set  such that the total
  1285.         overhead is a small fixed percentage of the link bandwidth.
  1286.  
  1287.         Eventually, PIM should use the  scalable  timer  approach;  this
  1288.         approach  was  initially proposed by Van Jacobson and a detailed
  1289.         design and analysis was reported in [18]. In this  approach  the
  1290.         refresh interval is determined by the sender of the information.
  1291.         The sender can adjust the frequency  of  control  messages  (and
  1292.         therefore  the  timeout  period at the control message receiver)
  1293.         depending upon the amount of state that it has  to  communicate,
  1294.         or  refresh,  over  a  particular  link. It can thereby keep the
  1295.         amount of control traffic to some small percentage of  the  link
  1296.         bandwidth. In this case the receiver of the control messages may
  1297.         infer the appropriate refresh interval based on  measurement  of
  1298.         arriving   control   traffic,   and   set   its  timeout  values
  1299.         accordingly.
  1300.  
  1301.  
  1302.         In the absence  of  more  experimentation  with  scalable  timer
  1303.         mechanisms,  the  current PIM protocol specifies that the sender
  1304.         of control messages communication hold-time  values  explicitly.
  1305.         Therefore,  a  router  tells  its  neighbors how long to keep it
  1306.         reachable by advertising the  holdtime  in  PIM-Hello  messages.
  1307.         Likewise,  Join/Prune messages indicate how long state should be
  1308.         kept. This allows the sender to change its frequency without the
  1309.         receivers requiring any special configuration information.
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 22]
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325. Internet Draft            PIM-SM Architecture                   Oct 1996
  1326.  
  1327.  
  1328.      5.2 Containing state overhead
  1329.  
  1330.         PIM-SM maintains less source-specific state than do  dense  mode
  1331.         protocols.  The  more  important  issue  faced  by  all existing
  1332.         multicast routing schemes is how to reduce the amount of  group-
  1333.         specific state. This remains an open area of investigation.
  1334.  
  1335.  
  1336.  
  1337.  
  1338.      6 Conclusions
  1339.  
  1340.         We have presented a solution to the problem of routing multicast
  1341.         packets in large, wide-area internets. Our approach
  1342.  
  1343.  
  1344.         (a)     uses   constrained,    receiver-initiated,    membership
  1345.              advertisement for sparsely distributed multicast groups;
  1346.  
  1347.         (b)   supports both shared and shortest path tree types  in  one
  1348.              protocol;
  1349.  
  1350.         (c)   does not depend on a particular unicast protocol; and
  1351.  
  1352.         (d)   uses soft state mechanisms to  reliably  and  responsively
  1353.              maintain multicast trees.
  1354.  
  1355.         The architecture accommodates graceful and efficient  adaptation
  1356.         to  varying  types of multicast groups, and to different network
  1357.         conditions.
  1358.  
  1359.  
  1360.  
  1361.      7 Acknowledgments
  1362.  
  1363.         Tony Ballardie, Scott Brim, Jon Crowcroft, Paul  Francis,  Lixia
  1364.         Zhang  and  John  Zwiebel provided detailed comments on previous
  1365.         drafts. The authors  of  CBT  and  membership  of  the  IDMR  WG
  1366.         provided  many  of the motivating ideas for this work and useful
  1367.         feedback on design details.
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.         References
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 23]
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385. Internet Draft            PIM-SM Architecture                   Oct 1996
  1386.  
  1387.  
  1388.    1.   J.Moy. Multicast extension to ospf.
  1389.          Internet Draft, September 1992.
  1390.  
  1391.  
  1392.    2.   D.Waitzman S.Deering,  C.Partridge.  Distance  vector  multicast
  1393.         routing protocol, nov 1988. RFC1075.
  1394.  
  1395.  
  1396.    3.   D.Estrin, D.Farinacci, A.Helmy, D.Thaler, S.Deering,  M.Handley,
  1397.         V.Jacobson,  C.Liu,  P.Sharma,  and  L.Wei. Protocol independent
  1398.         multicast  -  sparse  mode  (pim-sm):  Protocol   specification.
  1399.         Proposed Experimental RFC, September 1996.
  1400.  
  1401.  
  1402.    4.   D.Estrin, D.Farinacci, A.Helmy, V.Jacobson, and L.Wei.  Protocol
  1403.         independent   multicast   -   dense   mode   (pim-dm):  Protocol
  1404.         specification.  Proposed Experimental RFC, September 1996.
  1405.  
  1406.  
  1407.    5.   S.Deering  and  D.Cheriton.  Multicast   routing   in   datagram
  1408.         internetworks and extended lans.
  1409.          ACM Transactions on Computer Systems, pages 85--111, May 1990.
  1410.  
  1411.  
  1412.    6.   S.Deering.  Multicast Routing in a  Datagram  Internetwork.  PhD
  1413.         thesis, Stanford University, 1991.
  1414.  
  1415.  
  1416.    7.   S.Deering.  Host  extensions  for  ip  multicasting,  aug  1989.
  1417.         RFC1112.
  1418.  
  1419.  
  1420.    8.   W.Fenner. Internet group management protocol, version 2.
  1421.          Internet Draft, May 1996.
  1422.  
  1423.  
  1424.    9.   J.Moy. Ospf version 2, oct 1991. RFC1247.
  1425.  
  1426.  
  1427.    10.  J.Moy. Mospf: Analysis and experience.
  1428.          Internet Draft, July 1993.
  1429.  
  1430.  
  1431.    11.  Y.K.  Dalal  and  R.M.  Metcalfe.  Reverse  path  forwarding  of
  1432.         broadcast packets.
  1433.          Communications of the ACM, 21(12):1040--1048, 1978.
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 24]
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445. Internet Draft            PIM-SM Architecture                   Oct 1996
  1446.  
  1447.  
  1448.    12.  Ron Frederick. Ietf audio  videocast.
  1449.          Internet Society News, 1(4):19, 1993.
  1450.  
  1451.  
  1452.    13.  A.J. Ballardie, P.F. Francis, and J.Crowcroft. Core based trees.
  1453.         In  Proceedings of the ACM SIGCOMM, San Francisco, 1993.
  1454.  
  1455.  
  1456.    14.  David Wall.  Mechanisms for Broadcast and  Selective  Broadcast.
  1457.         PhD thesis, Stanford University, June 1980. Technical Report N0.
  1458.         190.
  1459.  
  1460.  
  1461.    15.  L.Wei and  D.Estrin.  The  trade-offs  of  multicast  trees  and
  1462.         algorithms.   In   Proceedings  of  the  1994  international
  1463.         conference  on  computer  communications  and   networks,   San
  1464.         Francisco, September 1994.
  1465.  
  1466.    16.  S.Deering,   D.Estrin,   D.Farinacci,   B.Fenner,    V.Jacobson,
  1467.         M.Handley,   D.Thaler,   L.Wei,  and  A.Helmy.  Interoperability
  1468.         mechanisms for pim-sm and dvmrp.
  1469.          Internet Draft, January 1996.
  1470.  
  1471.  
  1472.    17.  D.Estrin, D.Farinacci, A.Helmy, D.Thaler, S.Deering,  M.Handley,
  1473.         V.Jacobson,  C.Liu,  P.Sharma,  and  L.Wei. Pim multicast border
  1474.         router (pmbr) specification for connecting pim-sm domains  to  a
  1475.         dvmrp backbone.  Internet Draft, September 1996.
  1476.  
  1477.  
  1478.    18.  P.Sharma, D.Estrin, S.Floyd, and V.Jacobson. Scalable timers for
  1479.         soft state protocols.
  1480.          Infocom 97, June 1996.
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499. Deering,Estrin,Farinacci,Handley,Helmy,Jacobson,Liu,Sharma,Thaler,Wei [Page 25]
  1500.  
  1501.  
  1502. Addresses of Authors:
  1503.  
  1504. Deborah Estrin
  1505. Computer Science Dept/ISI
  1506. University of Southern Calif.
  1507. Los Angeles, CA 90089
  1508. estrin@usc.edu
  1509.  
  1510. Dino Farinacci
  1511. Cisco Systems Inc.   
  1512. 170 West Tasman Drive, 
  1513. San Jose, CA 95134
  1514. dino@cisco.com
  1515.  
  1516. Ahmed Helmy
  1517. Computer Science Dept.
  1518. University of Southern Calif.
  1519. Los Angeles, CA 90089
  1520. ahelmy@catarina.usc.edu
  1521.  
  1522. David Thaler
  1523. EECS Department
  1524. University of Michigan
  1525. Ann Arbor, MI 48109
  1526. thalerd@eecs.umich.edu
  1527.  
  1528. Stephen Deering
  1529. Xerox PARC
  1530. 3333 Coyote Hill Road
  1531. Palo Alto, CA 94304
  1532. deering@parc.xerox.com
  1533.  
  1534. Mark Handley
  1535. Department of Computer Science
  1536. University College London
  1537. Gower Street
  1538. London, WC1E 6BT
  1539. UK
  1540. m.handley@cs.ucl.ac.uk
  1541.  
  1542. Van Jacobson
  1543. Lawrence Berkeley Laboratory
  1544. 1 Cyclotron Road
  1545. Berkeley, CA 94720
  1546. van@ee.lbl.gov
  1547.  
  1548. Ching-gung  Liu
  1549. Computer Science Dept.
  1550. University of Southern Calif.
  1551. Los Angeles, CA 90089
  1552. charley@catarina.usc.edu
  1553.  
  1554. Puneet Sharma 
  1555. Computer Science Dept.
  1556. University of Southern Calif.
  1557. Los Angeles, CA 90089
  1558. puneet@catarina.usc.edu
  1559.  
  1560. Liming Wei
  1561. Cisco Systems Inc.
  1562. 170 West Tasman Drive,
  1563. San Jose, CA 95134
  1564. lwei@cisco.com
  1565.  
  1566.