One document matched: draft-ietf-isis-mi-06.xml


<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-ietf-isis-mi-06.txt"
     ipr="pre5378Trust200902">
  <front>
    <title abbrev="draft-ietf-isis-mi-06.txt">IS-IS Multi-Instance</title>

    <author fullname="Stefano Previdi" initials="S" role="editor"
            surname="Previdi">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street>Via Del Serafico 200</street>

          <city>Rome</city>

          <code>0144</code>

          <country>Italy</country>
        </postal>

        <email>sprevidi@cisco.com</email>
      </address>
    </author>

    <author fullname="Les Ginsberg" initials="L" surname="Ginsberg">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street>510 McCarthy Blvd.</street>

          <city>Milpitas</city>

          <code>95035</code>

          <region>CA</region>

          <country>USA</country>
        </postal>

        <email>ginsberg@cisco.com</email>
      </address>
    </author>

    <author fullname="Mike Shand" initials="M" surname="Shand">
      <address>
        <email>imc.shand@googlemail.com</email>
      </address>
    </author>

    <author fullname="Abhay Roy" initials="A" surname="Roy">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street>170 W. Tasman Dr.</street>

          <city>San Jose</city>

          <code>95134</code>

          <region>CA</region>

          <country>USA</country>
        </postal>

        <email>akr@cisco.com</email>
      </address>
    </author>

    <author fullname="Dave Ward" initials="D" surname="Ward">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street>3700 Cisco Way</street>

          <city>San Jose</city>

          <code>95134</code>

          <region>CA</region>

          <country>USA</country>
        </postal>

        <email>wardd@cisco.com</email>
      </address>
    </author>

    <date day="14" month="February" year="2012" />

    <area>Routing Area</area>

    <workgroup>Networking Working Group</workgroup>

    <keyword>Sample</keyword>

    <abstract>
      <t>This draft describes a mechanism that allows a single router to share
      one or more circuits among multiple Intermediate System To Intermediate
      System (IS-IS) routing protocol instances.</t>

      <t>Multiple instances allow the isolation of resources associated with
      each instance. Routers will form instance specific adjacencies. Each
      instance can support multiple topologies. Each topology has a unique
      Link State Database (LSDB). Each Protocol Data Unit (PDU) will contain a
      new Type Length Value (TLV) identifying the instance and the
      topology(ies) to which the PDU belongs.</t>
    </abstract>

    <note title="Requirements Language">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in RFC 2119 [RFC2119].</t>
    </note>
  </front>

  <middle>
    <section title="Introduction">
      <t>An existing limitation of the protocol defined by [IS-IS] is that
      only one instance of the protocol can operate on a given circuit. This
      document defines an extension to IS-IS to remove this restriction. The
      extension is referred to as "Multi-instance IS-IS" (MI-IS-IS).</t>

      <t>Routers which support this extension are referred to as
      "Multi-instance capable routers" (MI-RTR).</t>

      <t>The use of multiple instances enhances the ability to isolate the
      resources associated with a given instance both within a router and
      across the network. Instance specific prioritization for processing PDUs
      and performing routing calculations within a router may be specified.
      Instance specific flooding parameters may also be defined so as to allow
      different instances to consume network wide resources at different
      rates.</t>

      <t>A given instance MAY support multiple topologies. Each topology is
      associated with a unique LSDB and a topology specific IS-IS Update
      Process. This differs from [RFC5120] where a single LSDB/single IS-IS
      Update Process is used in support of all topologies.</t>

      <t>MI-IS-IS might be used to support topology specific routing. When
      used for this purpose it is an alternative to [RFC5120].</t>

      <t>MI-IS-IS might also be used to support advertisement of information
      on behalf of applications [I-D.ietf-isis-genapp]. The advertisement of
      information not directly related to the operation of the IS-IS protocol
      can therefore be done in a manner which minimizes its impact on the
      operation of routing.</t>

      <t>The above are examples of how MI-IS-IS might be used. The
      specification of uses of MI-IS-IS is outside the scope of this
      document.</t>
    </section>

    <section title="Elements Of Procedure">
      <t>An Instance Identifier (IID) is introduced to uniquely identify an
      IS-IS instance. The protocol extension includes a new TLV (IID-TLV) in
      each IS-IS PDU originated by an MI-RTR except as noted in this document.
      The IID-TLV identifies the unique instance as well as the
      topology/topologies to which the PDU applies. Each IS-IS PDU is
      associated with only one IS-IS instance.</t>

      <t>MI-RTRs form instance specific adjacencies. The IID-TLV included in
      Intermediate System-Intermediate System Hellos (IIH) includes the IID
      and the set of Instance Specific Topology Identifiers (ITID) that the
      sending IS supports. When multiple instances share the same circuit each
      instance will have a separate set of adjacencies.</t>

      <t>MI-RTRs support the exchange of topology specific Link State PDUs for
      the IID/ITID pairs that each neighbor supports. A unique IS-IS Update
      process [see IS-IS] operates for each IID/ITID pair. This MAY also imply
      IID/ITID specific routing calculations and IID/ITID specific routing and
      forwarding tables. However, this aspect is outside the scope of this
      specification.</t>

      <t>The mechanisms used to implement support of the separation of IS-IS
      instances and topology specific Update processes within a router are
      outside the scope of this specification.</t>

      <section title="Instance Identifier TLV">
        <t>A new TLV is defined in order to convey the IID and ITIDs
        supported. The IID-TLV associates PDUs with each IS-IS instance using
        a unique 16-bit number. The IID-TLV is carried in all IS-IS PDUs
        (Intermediate System to Intermediate System Hellos (IIH), Sequence
        Number PDUs (SNP) and Link State PDUs (LSP)) which are associated with
        a non-zero instance.</t>

        <t>Multiple instances of IS-IS may co-exist on the same circuit and on
        the same physical router. IIDs MUST be unique within the same routing
        domain.</t>

        <t>Instance identifier #0 is reserved for the standard instance
        supported by legacy systems. IS-IS PDUs associated with the legacy
        instance MUST NOT include an IID-TLV except where noted in this
        document.</t>

        <t>The IID-TLV MAY include one or more ITIDs. An ITID is a 16 bit
        identifier where all values (0 - 65535) are valid.</t>

        <t>The following format is used for the IID-TLV:</t>

        <figure>
          <artwork><![CDATA[  Type:   7 
  Length: 2 - 254 
  Value:  
                                         No. of octets
              +-------------------------+
              | IID (0 - 65535)         |     2
              +-------------------------+
              | Supported ITID          |     2
              +-------------------------+
              :                         :
              +-------------------------+
              | Supported ITID          |     2
              +-------------------------+

  When the IID = 0, the list of supported ITIDs MUST NOT be present.

  When the IID is non-zero and the TLV appears in an SNP or LSP, 
  exactly one ITID MUST be present indicating the topology with 
  which the PDU is associated. If no ITIDs or multiple ITIDs are
  present then the PDU MUST be ignored.

  When the IID is non-zero and the TLV appears in an IIH, the set 
  of ITIDs supported on the circuit over which the IIH is sent is 
  included. There MUST BE at least one ITID present. 

  Multiple IID-TLVs MAY appear in IIHs. If multiple IID-TLVs are
  present and the IID value in all IID-TLVs is not the same then
  the PDU MUST BE ignored.
]]></artwork>
        </figure>

        <t>A single IID-TLV will support advertisement of up to 126 ITIDs. If
        multiple IID-TLVs are present in an IIH PDU the supported set of ITIDs
        is the union of all ITIDs present in all IID-TLVs.</t>

        <t>When an LSP purge is initiated, the IID-TLV MUST be retained but
        the remainder of the body of the LSP SHOULD be removed. Purge
        procedure is described in [RFC6233] and [RFC6232].</t>

        <t>A PDU without an IID-TLV is assumed to belong to the standard
        instance (#0).</t>
      </section>

      <section title="Instance Membership">
        <t>Each MI-RTR is configured to be participating in one or more
        instances of IS-IS. For each non-zero instance in which it
        participates, an MI-RTR marks IS-IS PDUs (IIHs, LSPs or SNPs)
        generated pertaining to that instance by including the IID-TLV with
        the appropriate instance identifier.</t>
      </section>

      <section title="Use of Authentication">
        <t>When authentication is in use, the IID, if present, is first used
        to select the authentication configuration which is applicable. The
        authentication check is then performed as normal. When multiple ITIDs
        are supported, ITID specific authentication MAY be used in SNPs and
        LSPs.</t>
      </section>

      <section title="Adjacency Establishment">
        <t>In order to establish adjacencies, IS-IS routers exchange IIH PDUs.
        Two types of adjacencies exist in IS-IS: point-to-point and broadcast.
        The following sub-sections describe the additional rules an MI-RTR
        MUST follow when establishing adjacencies.</t>

        <section title="Point-to-Point Adjacencies">
          <t>MI-RTRs include the IID-TLV in the point-to-point hello PDUs they
          originate. Upon reception of an IIH, an MI-RTR inspects the received
          IID-TLV and if the IID matches any of the IIDs which the router
          supports on that circuit, normal adjacency establishment procedures
          are used to establish an instance specific adjacency. Note that the
          absence of the IID TLV implies instance ID #0. For instances other
          than IID #0, an adjacency SHOULD NOT be established unless there is
          at least one ITID in common.</t>

          <t>This extension allows an MI-RTR to establish multiple adjacencies
          to the same physical neighbor over a point-to-point circuit.
          However, as the instances are logically independent, the normal
          expectation of at most one neighbor on a given point-to-point
          circuit still applies.</t>
        </section>

        <section title="Multi-Access Adjacencies">
          <t>Multi-Access (broadcast) circuits behave differently than
          point-to-point in that PDUs sent by one router are visible to all
          routers and all routers must agree on the election of a Designated
          Intermediate System (DIS) independent of the set of ITIDs
          supported.</t>

          <t>MI-RTRs will establish adjacencies and elect a DIS per IS-IS
          instance. Each MI-RTR will form adjacencies only with routers which
          advertise support for the instances which the local router has been
          configured to support on that circuit. Since an MI-RTR is not
          required to support all possible instances on a LAN, it's possible
          to elect a different DIS for different instances.</t>
        </section>
      </section>

      <section title="Update Process Operation">
        <t>For non-zero instances, a unique Update Process exists for each
        supported ITID.</t>

        <section title="Update Process Operation on Point-to-Point Circuits">
          <t>On Point-to-Point circuits - including Point-to-Point Operation
          over LAN [RFC5309] - the ITID specific Update Process only operates
          on that circuit for those ITIDs which are supported by both ISs
          operating on the circuit.</t>
        </section>

        <section title="Update Process Operation on Broadcast Circuits">
          <t>On Broadcast circuits, a single DIS is elected for each supported
          IID independent of the set of ITIDs advertised in LAN IIHs. This
          requires that the DIS generate pseudo-node LSPs for all supported
          ITIDs and that the Update Process for all supported ITIDs operate on
          the Broadcast Circuit. In cases where the set of supported ITIDs for
          a given non-zero IID is inconsistent among the MI-RTRs operating on
          a broadcast circuit, connectivity for the topology(ies) associated
          with ITIDs not supported by some MI-RTRs operating on the circuit
          can be compromised.</t>
        </section>
      </section>

      <section title="Interoperability Considerations">
        <t>[IS-IS] requires that any TLV that is not understood is silently
        ignored without compromising the processing of the whole IS-IS PDU
        (IIH, LSP, SNP).</t>

        <t>To a router not implementing this extension, all IS-IS PDUs
        received will appear to be associated with the standard instance
        regardless of whether an IID TLV is present in those PDUs. This can
        cause interoperability issues unless the mechanisms and procedures
        discussed below are followed.</t>

        <section title="Interoperability Issues on Broadcast Circuits">
          <t>In order for routers to correctly interoperate with routers not
          implementing this extension and in order not to cause disruption, a
          specific and dedicated Media Access Control (MAC) address is used
          for multicasting IS-IS PDUs with any non-zero IID. Each level will
          use a specific layer 2 multicast address. Such an address allows
          MI-RTRs to exchange IS-IS PDUs with non-zero IIDs without these PDUs
          being processed by legacy routers and therefore no disruption is
          caused.</t>

          <t>An MI-RTR will use the AllL1IS and AllL2IS ISIS MAC layer
          addresses (as defined in [IS-IS]) when sending ISIS PDUs for the
          standard instance (IID #0). An MI-RTR will use two new (TBD)
          dedicated layer 2 multicast addresses (one for each level) when
          sending IS-IS PDUs for any non-zero IID.</t>

          <t>MI-RTRs MUST discard IS-IS PDUs received if either of the
          following is true:</t>

          <t><list style="symbols">
              <t>The destination multicast address is AllL1IS or AllL2IS and
              the PDU contains an IID-TLV</t>
            </list><list style="symbols">
              <t>The destination multicast address is one of the two new
              addresses and the PDU contains an IID-TLV with a zero value for
              the IID or has no IID-TLV.</t>
            </list></t>

          <t>NOTE: If the multicast addresses AllL1IS and/or AllL2IS are
          improperly used to send IS-IS PDUs for non-zero IIDs, legacy systems
          will interpret these PDUs as being associated with IID #0. This will
          cause inconsistencies in the LSDB in those routers, may incorrectly
          maintain adjacencies, and may lead to inconsistent DIS election.</t>
        </section>

        <section title="Interoperability using point-to-point circuits">
          <t>In order for an MI-RTR to interoperate over a point-to-point
          circuit with a router which does NOT support this extension, the
          MI-RTR MUST NOT send IS-IS PDUs for instances other than IID #0 over
          the point-to-point circuit as these PDUs may affect the state of IID
          #0 in the neighbor.</t>

          <t>The presence/absence of the IID-TLV in an IIH indicates that the
          neighbor does/does not support this extension. Therefore, all IIHs
          sent on a point-to-point circuit by an MI-RTR MUST include an
          IID-TLV. This includes IIHs associated with IID #0. Once it is
          determined that the neighbor does not support this extension, an
          MI-RTR MUST NOT send PDUs (including IIHs) for instances other than
          IID #0.</t>

          <t>Until an IIH is received from a neighbor, an MI-RTR MAY send IIHs
          for a non-zero instance. However, once an IIH with no IID TLV has
          been received - indicating that the neighbor is not an MI-RTR - the
          MI-RTR MUST NOT send IIHs for a non-zero instance. The temporary
          relaxation of the restriction on sending IIHs for non-zero instances
          allows a non-zero instance adjacency to be established on an
          interface on which an MI-RTR does NOT support instance #0.</t>

          <t>Point-to-point adjacency setup MUST be done through the use of
          three-way handshaking procedure as defined in [RFC5303] in order to
          prevent a non-MI capable neighbor from bringing up an adjacency
          prematurely based on reception of an IIH w an IID-TLV for a non-zero
          instance.</t>
        </section>
      </section>
    </section>

    <section title="Usage Guidelines">
      <t>As discussed above, MI-IS-IS extends IS-IS to support multiple
      instances on a given circuit. Each instance is uniquely identified by
      the IID and forms instance specific adjacencies. Each instance supports
      one or more topologies as represented by the ITIDs. All topologies
      associated with a given instance share the instance specific
      adjacencies. The set of topologies supported by a given IID MAY differ
      from circuit to circuit. Each topology has its own set of LSPs and runs
      a topology specific Update process. Flooding of topology specific LSPs
      is only performed on circuits on which both the local router and the
      neighbor(s) support a given topology (i.e. advertise the same ITID in
      the set of supported ITIDs sent in the IID-TLV included in IIHs).</t>

      <t>The following sub-sections provide some guidelines for usage of
      instances and topologies within each instance. While this represents
      examples based on the intent of the authors, implementors are not
      constrained by the examples.</t>

      <section title="One-One Mapping Between Topologies and Instances">
        <t>When the set of information to be flooded in LSPs is intended to be
        flooded to all MI-RTRs supporting a given IID a single topology MAY be
        used. The information contained in the single LSDB MAY still contain
        information associated with multiple applications as the GENINFO TLV
        for each application has an application specific ID which identifies
        the application to which the TLV applies [I-D.ietf-isis-genapp].</t>
      </section>

      <section title="Many-to-one Mapping Between Topologies and Instances">
        <t>When the set of information to be flooded in LSPs includes subsets
        which are of interest to a subset of the MI-RTRs supporting a given
        IID, support of multiple ITIDs allows each subset to be flooded only
        to those MI-RTRs which are interested in that subset. In the simplest
        case, a one-one mapping between a given application and an ITID allows
        the information associated with that application to be flooded only to
        MI-RTRs which support that application - but a many-to-one mapping
        between applications and a given ITID is also possible. When the set
        of application specific information is large, the use of multiple
        ITIDs provides significantly greater efficiencies as MI-RTRs only need
        to maintain the LSDB for applications of interest and that information
        only needs to be flooded over a topology defined by the MI-RTRs who
        support a given ITID.</t>

        <t>The use of multiple ITIDs also allows the dedication of a full LSP
        set (256 LSPs at each level) for the use of a given (set of)
        applications, thereby minimizing the possibility of exceeding the
        carrying capacity of an LSP set which might arise if information for
        all applications were to be included in a single LSP set.</t>

        <t>Note that the topology associated with each ITID MUST be fully
        connected in order for ITID specific LSPs to be successfully flooded
        to all MI-RTRs who support that ITID.</t>
      </section>

      <section title="Considerations for the Number of Instances">
        <t>The support of multiple topologies within the context of a single
        instance provides better scalability in support of multiple
        applications both in terms of the number of adjacencies which are
        required and in the flooding of topology specific LSDB. In many cases
        the use of a single non-zero instance would be sufficient and optimal.
        However, in cases where the set of topologies desired in support of a
        set of applications is largely disjoint from the set of topologies
        desired in support of a second set of applications, it could make
        sense to use multiple instances.</t>
      </section>
    </section>

    <section title="Relationship to M-ISIS">
      <t>[RFC5120] defines support for Multi-Topology Routing. In that
      document 12 bit Multi-topology IDs are defined to identify the
      topologies which an IS-IS instance (a "standard instance" as defined by
      this document) supports. There is no relationship between the
      Multi-topology IDs defined in [RFC5120] and the ITIDs defined in this
      document.</t>

      <t>If an MI-RTR uses the extensions in support of the BFD Enabled TLV
      [RFC6213] , the ITID SHOULD be used in place of the MTID in which case
      all 16 bits of the identifier field are useable.</t>

      <t>An MI-RTR MAY use the extensions defined in this document to support
      multiple topologies in the context of an instance with a non-zero IID.
      Each MI topology is associated with a unique LSDB identified by an ITID.
      An ITID specific IS-IS Update Process operates on each topology. This
      differs from [RFC5120] where a single LSDB/single IS-IS Update Process
      is used in support of all topologies. Although it is possible for an
      MI-RTR to use [RFC5120] multi-topology support within a non-zero
      instance such usage is seen as unnecessary and is discouraged.</t>
    </section>

    <section title="Graceful Restart Interactions">
      <t>[RFC5306] defines protocol extensions in support of graceful restart
      of a routing instance. The extensions defined there apply to MI-RTRs
      with the notable addition that as there are topology specific LSP
      databases each of these must be synchronized following restart in order
      for database synchronization to be complete. This involves the use of
      additional T2 timers. See [RFC5306] for further details.</t>
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <t>This document requires the definition of a new ISIS TLV that needs to
      be reflected in the ISIS TLV code-point registry:</t>

      <figure>
        <artwork><![CDATA[ 
 Type  Description            IIH  LSP  SNP  Purge 
 ----  ---------------------  ---  ---  ---  ----- 
  7    Instance Identifier     y    y    y     y 
]]></artwork>
      </figure>

      <t></t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>Security concerns for IS-IS are addressed in [IS-IS], [RFC5304], and
      [RFC5310].</t>

      <t>Use of the extensions defined here with authentication as defined in
      [RFC5304] or [RFC5310] will result in the discarding of purges by legacy
      systems which are in strict conformance with either of those RFCs. To
      avoid this issue an MI-RTR MAY omit the IID-TLV in purges for the
      standard instance (IID #0) until such time as all ISs in the network
      have been upgraded to support [RFC6232].</t>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>The authors would like to acknowledge contributions made by Dino
      Farinacci and Tony Li.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.2119"?>

      <?rfc include='reference.RFC.5304'?>

      <?rfc include='reference.RFC.5120'?>

      <?rfc include='reference.RFC.5303'?>

      <?rfc include='reference.RFC.5306'?>

      <?rfc include='reference.RFC.5310'?>

      <?rfc include='reference.RFC.6213'?>

      <?rfc include='reference.RFC.6232'?>

      <?rfc include='reference.RFC.6233'?>

      <?rfc include="reference.I-D.ietf-isis-genapp"?>

      <?rfc ?>

      <?rfc ?>

      <?rfc ?>

      <reference anchor="IS-IS">
        <front>
          <title>Intermediate system to Intermediate system intra-domain
          routeing information exchange protocol for use in conjunction with
          the protocol for providing the connectionless-mode Network Service
          (ISO 8473), ISO/IEC 10589:2002, Second Edition.</title>

          <author fullname="ISO "International Organization for Standardization""></author>

          <date month="Nov" year="2002" />
        </front>
      </reference>
    </references>

    <references title="Informative References">
      <?rfc include='reference.RFC.5309'?>
    </references>
  </back>
</rfc>

PAFTECH AB 2003-20262026-04-23 16:25:10