home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_j_p / draft-ietf-mboned-pmbr-spec-00.txt < prev    next >
Text File  |  1997-02-24  |  15KB  |  480 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group          
  8. Internet Draft                                   Deborah Estrin (USC)
  9.                                                     Ahmed Helmy (USC)
  10.                                                  David Thaler (UMICH)
  11.  
  12. draft-ietf-mboned-pmbr-spec-00.txt                      Feb 3, 1997
  13.  
  14.  
  15.  
  16.  
  17.    PIM Multicast Border Router (PMBR) specification for connecting  PIM-
  18.    SM domains to a DVMRP Backbone
  19.  
  20.  
  21.  
  22.    Status of This Memo
  23.  
  24.    This document is an Internet  Draft.   Internet  Drafts  are  working
  25.    documents  of  the Internet Engineering Task Force (IETF), its Areas,
  26.    and its Working Groups. (Note that other groups may  also  distribute
  27.    working documents as Internet Drafts).
  28.  
  29.    Internet Drafts are draft  documents  valid  for  a  maximum  of  six
  30.    months.  Internet  Drafts  may  be updated, replaced, or obsoleted by
  31.    other documents at any time.  It is not appropriate to  use  Internet
  32.    Drafts  as  reference  material  or  to  cite  them  other  than as a
  33.    ``working'' draft'' or ``work in progress.''
  34.  
  35.    Please check the I-D abstract  listing  contained  in  each  Internet
  36.    Draft  directory  to  learn  the  current status of this or any other
  37.    Internet Draft.
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57. Estrin,Helmy,Thaler                                           [Page 1]
  58.  
  59.  
  60.  
  61.  
  62.  
  63. Internet Draft             PMBR specification                   Feb 1997
  64.  
  65.  
  66. 1 Assumptions
  67.  
  68.    This document specifies  the  behavior  of  PIM-SM  Multicast  Border
  69.    Routers (PMBRs) that connect PIM-SM to DVMRP networks. We assume that
  70.    the    reader    is    familiar    with    the    PIM-SM     protocol
  71.    specification.[Estrin96]
  72.  
  73.    The following assumptions are made regarding  the  PMBR  architecture
  74.    and connectivity:
  75.  
  76.  
  77.  
  78.         1    The PMBR is located at the boundary of a  PIM-SM  multicast
  79.              domain,  and connects the domain to a multicast domain that
  80.              does  not  run  PIM-SM.  In  this  document  we  focus   on
  81.              connectivity to DVMRP speaking domains.
  82.  
  83.  
  84.         2    The  PMBR  implements  the  multicast  protocols   of   the
  85.              multicast domains to which its interfaces are connected; in
  86.              this document this  implies  PIM-SM  and  DVMRP.  Any  PMBR
  87.              implementation  can  be  logically  viewed  as  having  two
  88.              components;   one   implementing   PIM-SM    and    another
  89.              implementing DVMRP.
  90.  
  91.  
  92.         3    Only one multicast protocol is implemented  per  interface;
  93.              mixed  multicast  protocol  LANs  on  the  border  are  not
  94.              permitted. Interfaces are classified as  either  PIM-SM  or
  95.              DVMRP   interfaces.  Each  component  owns  the  interfaces
  96.              corresponding  to  its  type.  The  PIM-SM   component   is
  97.              responsible  for  adding or deleting PIM-SM interfaces from
  98.              iif and oif entries of the  multicast  routing  table,  and
  99.              similarly the DVMRP component is responsible for adding and
  100.              deleting DVMRP interfaces.
  101.  
  102.  
  103.         4    The multicast backbone is running DVMRP.
  104.  
  105.  
  106.         5    A PMBR is used at all interconnection points between PIM-SM
  107.              and DVMRP regions.
  108.  
  109.  
  110.      2 Overview and example
  111.  
  112.         The PMBR has two primary roles. First it must pull down  packets
  113.         generated  within  the  PIM-SM  domain  and inject them into the
  114.  
  115.  
  116.  
  117. Estrin,Helmy,Thaler                                           [Page 2]
  118.  
  119.  
  120.  
  121.  
  122.  
  123. Internet Draft             PMBR specification                   Feb 1997
  124.  
  125.  
  126.         DVMRP  backbone.   Second,  it  must  import  packets  generated
  127.         outside the PIM-SM domain so that they can be delivered to group
  128.         members inside  the  PIM-SM  domain,  using  PIM-SM  mechanisms.
  129.         Furthermore,  in case of transit networks, the PMBR acts to pass
  130.         the multicast traffic through the PIM domain.
  131.  
  132.      3 Detailed Message Processing
  133.  
  134.         This section discusses, in more detail, the  message  processing
  135.         in  each  of  the  PMBR  components.  Only  deviations  from the
  136.         standard behaviors, or additions thereto,  are  discussed.   The
  137.         assumed  standard  behavior for PIM-SM and DVMRP is described in
  138.         PIM-SMv2  spec   [Estrin96]   and   DVMRP   spec   [Pusateri96],
  139.         respectively.   We  assume  that the forwarding entries are only
  140.         (S,G) forwarding entries.  The internal  communication  protocol
  141.         between the components is assumed to support the internal signal
  142.         types:  `Join',  `Prune',  `Creation',  and  `Deletion  Request'
  143.         signals.   All  these internal signals are (S,G) specific.  (The
  144.         internal communication protocol between the  components  of  the
  145.         PMBR is not specified in this document, and is an implementation
  146.         issue.)
  147.  
  148.      3.1 The PIM-SM Component
  149.  
  150.      3.1.1 Receiving Bootstrap messages
  151.  
  152.           Upon receiving a Bootstrap message, the PIM-SM Component  does
  153.         the following:
  154.  
  155.  
  156.  
  157.         1    The received Bootstrap message is processed as in  standard
  158.              PIM  (see  section  `Receiving and Forwarding Bootstrap' in
  159.              PIM-SMv2 spec).
  160.  
  161.  
  162.         2    If the Bootstrap message is accepted, a (*,*,RP)  state  is
  163.              set  up for every new RP in the RP-Set whose mask indicates
  164.              that  the  RP  supports  non-local  groups  (for   example,
  165.              239.X.X.X is considered locally scoped and PMBRs do not set
  166.              (*,*,RP) state for RPs supporting only that portion of  the
  167.              address  space). The (*,*,RP) states trigger (*,*,RP) Joins
  168.              towards the corresponding RPs.
  169.  
  170.          (*,*,RP) Joins  are  periodically  sent  off  of  the  (*,*,RP)
  171.         entries, as in
  172.          standard PIM. (*,*,RP) entries at the PMBRs are not deleted  if
  173.         the
  174.  
  175.  
  176.  
  177. Estrin,Helmy,Thaler                                           [Page 3]
  178.  
  179.  
  180.  
  181.  
  182.  
  183. Internet Draft             PMBR specification                   Feb 1997
  184.  
  185.  
  186.          (*,*,RP) entry timer expires; they are deleted only when the
  187.          corresponding RP is removed from the RP-Set.
  188.  
  189.      3.1.2 Receiving data packets from a PIM-SM interface
  190.  
  191.         When a data packet is received on a PIM-SM interface:
  192.  
  193.  
  194.  
  195.         1    The PIM-SM  component  processes  the  data  packet  as  in
  196.              standard PIM,
  197.  
  198.         2    If the packet for (S,G) is accepted, there was no  previous
  199.              (S,G) entry, and `G' is a non-local group, then a new (S,G)
  200.              forwarding entry is  created.  In  this  case  an  internal
  201.              `Creation' signal is sent to the DVMRP component.
  202.  
  203.         3    The packet is forwarded  to  the  outgoing  interface  list
  204.              (oiflist) of the new entry (including the oifs added by the
  205.              DVMRP component, if any).
  206.  
  207.  
  208.      3.1.3 Receiving Register-Stop
  209.  
  210.           Register-Stop messages are processed as in standard  PIM  (see
  211.         section
  212.           `Sending Registers and Receiving Register-Stops'  in  PIM-SMv2
  213.         spec).
  214.           Further, if the (S,G) forwarding entry  oiflist  becomes  null
  215.         (an
  216.           entry set up for sending Registers is not  considered  a  null
  217.         oiflist entry,
  218.           since this indicates a virtual encapsulation  interface),  and
  219.         the iif
  220.           is a DVMRP interface, an internal `Prune' is sent to the DVMRP
  221.         component.
  222.  
  223.      3.1.4 Receiving PIM Join/Prune messages
  224.  
  225.         When a PIM Join/Prune message is received on a PIM-SM interface:
  226.  
  227.  
  228.  
  229.         1    The  PIM-SM  component  processes  the  Join/Prune  as   in
  230.              standard PIM
  231.  
  232.         2    If any affected (S,G) forwarding  entry's  oiflist  changed
  233.              from  null  to  non-null  and  a DVMRP interface as iif, an
  234.  
  235.  
  236.  
  237. Estrin,Helmy,Thaler                                           [Page 4]
  238.  
  239.  
  240.  
  241.  
  242.  
  243. Internet Draft             PMBR specification                   Feb 1997
  244.  
  245.  
  246.              internal `Join' is sent to the DVMRP component.
  247.  
  248.         3    If the last oif is deleted from any (S,G) forwarding entry,
  249.              whose iif is a DVMRP interface, an internal `Prune' is sent
  250.              to the DVMRP component, for the corresponding entry(ies).
  251.  
  252.  
  253.      3.1.5 Receiving PIM Asserts
  254.  
  255.         When a PIM Assert is received on a PIM-SM interface:
  256.  
  257.  
  258.  
  259.         1    The PIM-SM component processes the Assert  as  in  standard
  260.              PIM
  261.  
  262.         2    If due to the Assert processing, the last  oif  is  deleted
  263.              from  any  (S,G)  forwarding entry(ies); where S is reached
  264.              via DVMRP interface, an internal `Prune' signal is sent  to
  265.              the DVMRP component, for the corresponding entry(ies).
  266.  
  267.  
  268.      3.1.6 Register-bit timer expiry
  269.  
  270.         When the Register-bit timer expires  for  an  (S,G)  entry,  for
  271.         which iif is a DVMRP interface:
  272.  
  273.  
  274.  
  275.         1    The PIM-SM component modifies the (S,G) forwarding entry to
  276.              support  unicasting  Registers  with the Border-bit set, to
  277.              the corresponding RP.
  278.  
  279.         2    If the forwarding  entry  had  null  oiflist,  an  internal
  280.              `Join' is sent to the DVMRP component.
  281.  
  282.  
  283.      3.1.7 (S,G) forwarding entry timeout
  284.  
  285.         When a (S,G) entry timer expires in  the  PIM-SM  component,  an
  286.         internal   `Deletion  Request'  signal  is  sent  to  the  DVMRP
  287.         component.
  288.  
  289.      3.1.8 Switching to the Shortest Path Tree (SPT)
  290.  
  291.         Switching to the SPT is done according to standard PIM. In  this
  292.         context  the  PMBR  acts  as  a  DR  for external receivers.  In
  293.         addition, if there is a (S,G) entry for which  S is reached  via
  294.  
  295.  
  296.  
  297. Estrin,Helmy,Thaler                                           [Page 5]
  298.  
  299.  
  300.  
  301.  
  302.  
  303. Internet Draft             PMBR specification                   Feb 1997
  304.  
  305.  
  306.         a  PIM-SM interface, and the oiflist includes  DVMRP interfaces,
  307.         the PMBR may switch to the SPT.
  308.  
  309.      3.1.9 Receiving Internal Join
  310.  
  311.         When the PIM-SM component receives an internal Join, the Join is
  312.         processed  as  a  standard  PIM  (S,G) Join. However, instead of
  313.         restarting the oif timer, the entry timer for the  corresponding
  314.         entry is restarted.
  315.  
  316.      3.1.10 Receiving Internal Prune
  317.  
  318.         The internal Prune is handled  by  the  PIM-SM  component  as  a
  319.         standard PIM (S,G) Prune.
  320.  
  321.      3.1.11 Receiving Internal Creation Signal
  322.  
  323.         When the PIM-SM  component  receives  a  `Creation'  signal  for
  324.         (S,G),  if  S  is  reached  via  a  DVMRP  interface, the PIM-SM
  325.         component modifies the (S,G) forwarding entry to support sending
  326.         PIM Registers with the Border bit set, to the corresponding RP.
  327.  
  328.      3.1.12 Receiving Internal Deletion Request Signal
  329.  
  330.         If the entry timer for the (S,G) forwarding entry has expired in
  331.         the PIM-SM component the entry is deleted.
  332.  
  333.      3.1.13 Routing Updates For PIM-SM transit domains we  require  that
  334.         the  PIM-SM  component  (as  well  as all PIM internal routers),
  335.         implement the DVMRP routing  information  exchange  protocol  to
  336.         support  consistant  RPF computation on both sides of the PIM-SM
  337.         domain. The PIM-SM component exchanges routing updates with  the
  338.         DVMRP component of the PMBR, according to standard DVMRP.
  339.  
  340.      3.2 The DVMRP Component
  341.  
  342.      3.2.1 Receiving data packets from a DVMRP interface
  343.  
  344.           Upon receiving data packets from a DVMRP interface,
  345.           the following actions are taken:
  346.  
  347.  
  348.         1    The DVMRP component processes the packet according to DVMRP
  349.              rules.
  350.  
  351.         2    If a packet for (S,G) is accepted, for which there  was  no
  352.              previous  (S,G)  state,  a  (S,G)  state is created, and an
  353.              internal `Creation' signal is sent to the PIM-SM component.
  354.  
  355.  
  356.  
  357. Estrin,Helmy,Thaler                                           [Page 6]
  358.  
  359.  
  360.  
  361.  
  362.  
  363. Internet Draft             PMBR specification                   Feb 1997
  364.  
  365.  
  366.         3    The packet is forwarded to the oiflist  of  the  new  entry
  367.              (including oifs added by the PIM-SM component, if any).
  368.  
  369.  
  370.  
  371.      3.2.2 Receiving DVMRP (S,G) Prunes
  372.  
  373.         When a DVMRP Prune message for (S,G)  is  received  on  a  DVMRP
  374.         interface, the DVMRP component performs the following:
  375.  
  376.  
  377.  
  378.         1    The DVMRP component processes the Prune  message  according
  379.              to DVMRP rules.
  380.  
  381.         2    If the oiflist for the corresponding  entry  becomes  null,
  382.              and  the  iif  for  the  entry  is  a  PIM-SM interface, an
  383.              internal `Prune' signal is sent to the PIM-SM component.
  384.  
  385.  
  386.      3.2.3 Receiving DVMRP (S,G) Graft
  387.  
  388.         When a DVMRP Graft message is received on a DVMRP interface, for
  389.         a  source  reached  via  a PIM-SM interface, the DVMRP component
  390.         performs the following:
  391.  
  392.  
  393.  
  394.         1    The DVMRP component processes the Graft  message  according
  395.              to DVMRP rules.
  396.  
  397.         2    If the matching  entry  previously  had  null  oiflist,  an
  398.              internal `Join' is sent to the PIM-SM component.
  399.  
  400.  
  401.      3.2.4 (S,G) Prune timeout
  402.  
  403.         When an interface Prune timer expires, for a (S,G) entry;  where
  404.         S  is  reached  via  a  PIM-SM  interface,  the  DVMRP component
  405.         performs the following:
  406.  
  407.  
  408.         1    The timeout is processed as in standard DVMRP
  409.  
  410.         2    If the forwarding entry previously had a null  oiflist,  an
  411.              internal `Join' is sent to the PIM-SM component.
  412.  
  413.  
  414.  
  415.  
  416.  
  417. Estrin,Helmy,Thaler                                           [Page 7]
  418.  
  419.  
  420.  
  421.  
  422.  
  423. Internet Draft             PMBR specification                   Feb 1997
  424.  
  425.  
  426.      3.2.5 Receiving Internal Join
  427.  
  428.         The internal Join is treated as a DVMRP Graft.
  429.  
  430.      3.2.6 Receiving Internal Prune
  431.  
  432.         The internal Prune is treated as a DVMRP Prune.
  433.  
  434.      3.2.7 Receiving Internal Creation signal
  435.  
  436.         When the DVMRP component receives an internal `Creation'  signal
  437.         for a (S,G) forwarding entry, the following is performed:
  438.  
  439.  
  440.  
  441.         1    All dependent downstream DVMRP interfaces,  for  the  given
  442.              source,  are  added  to  the  oiflist  of the corresponding
  443.              forwarding entry, as specified by DVMRP.
  444.  
  445.         2    If S is reached via a DVMRP interface,  a  DVMRP  Graft  is
  446.              sent upstream.
  447.  
  448.  
  449.      3.2.8 Receiving Internal Deletion Request signal
  450.  
  451.         If the entry timer has expired in the DVMRP component, the entry
  452.         is deleted.
  453.  
  454.      4 References
  455.  
  456.         [Estrin96] Protocol Independent Multicast Sparse-Mode  (PIM-SM):
  457.         Protocol
  458.                     Specification.
  459.                     D. Estrin, D. Farinacci, A. Helmy, D. Thaler,
  460.                     S. Deering, M. Handley,  V.  Jacobson,  G.  Liu,  P.
  461.         Sharma,  L. Wei,
  462.                     December 1997
  463.  
  464.         [Pusateri96] Distance Vector Multicast Routing (DVMRP): Protocol
  465.         Specification.            Tomas Pusateri,
  466.                      September 1996
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477. Estrin,Helmy,Thaler                                           [Page 8]
  478. Expire in six months
  479.  
  480.