One document matched: draft-ginsberg-isis-mi-bis-01.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-ginsberg-isis-mi-bis-01.txt"
ipr="trust200902">
<front>
<title abbrev="draft-iginsberg-isis-mi-bis.txt">IS-IS
Multi-Instance</title>
<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="Stefano Previdi" initials="S" 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="Wim Henderickx" initials="W" surname="Henderickx">
<organization>Nokia</organization>
<address>
<postal>
<street/>
<city/>
<code/>
<country>BE</country>
</postal>
<email>wim.henderickx@nokia.com</email>
</address>
</author>
<date day="20" month="April" year="2016"/>
<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 [ISO10589] 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 that 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>Another existing protocol limitation is that a given instance
supports a single Update Process operating on a single Link State
Database (LSDB). This document defines an extension to IS-IS to allow
non-zero instances of the protocol to support multiple Update Processes.
Each Update Process is associated with a topology and a unique topology
specific LSDB. Non-zero instances of the protocol are only supported by
MI-RTRs. Legacy routers support the standard or zero instance of the
protocol. The behavior of the standard instance is not changed in any
way by the extensions defined in this document.</t>
<t>MI-IS-IS might be used to support topology-specific routing. Two
methods of supporting such a use are defined in this document. One
supports the use of [RFC5120] within a reserved instance specific
topology. The second is an alternative to [RFC5120] which supports
topology-specific flooding of link state information.</t>
<t>MI-IS-IS might also be used to support advertisement of information
on behalf of applications [RFC6823]. The advertisement of information
not directly related to the operation of the IS-IS protocol can
therefore be done in a manner that 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
instance-specific 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 (ITIDs) 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 [ISO10589] 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 a PDU with an IS-IS instance using a
unique 16-bit number. The IID-TLV is carried in all IS-IS PDUs that
are associated with a non-zero instance; this includes IIHs, Sequence
Number PDUs (SNPs) and Link State PDUs (LSPs)) .</t>
<t>Multiple instances of IS-IS may coexist on the same circuit and on
the same physical router. IIDs MUST be unique within the same routing
domain.</t>
<t>IID #0 is reserved for the standard instance supported by legacy
systems. IS-IS PDUs associated with the standard 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.
An IID-TLV with IID = 0 MUST NOT appear in an SNP or LSP. When
the TLV appears (with a non-zero IID) in an SNP or LSP, exactly
one ITID MUST be present indicating the instance-specific topology
with which the PDU is associated. If no ITIDs or multiple ITIDs are
present or the IID is zero, 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.
ITID #0 is reserved for a specific use case as described later
in this document. ITID #0 MUST NOT be supported in combination
with any non-zero ITID. If multiple ITIDs are advertised in
an IIH and one of the ITIDs is #0 then the PDU MUST be ignored.
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. The purge
procedure is described in [RFC6233] and [RFC6232].</t>
<t>It is recommended that (when present) the IID-TLV(s) be the first
TLVs in the PDU. This allows determination of the association of a PDU
with a particularf instance more quickly.</t>
<t>A PDU without an IID-TLV belongs to the standard instance.</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 that pertain 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 that 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 subsections describe the additional rules an MI-RTR MUST
follow when establishing adjacencies for non-zero instances.</t>
<section title="Point-to-Point Adjacencies">
<t>MI-RTRs include the IID-TLV in the point-to-point Hello PDUs
associated with non-zero instances that they originate. Upon
reception of an IIH, an MI-RTR inspects the received IID-TLV and if
the IID matches any of the IIDs that 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 IID #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 that
advertise support for the instances that 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 that 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. Among MI-RTRs operating on a broadcast
circuit, if the set of supported ITIDs for a given non-zero IID is
inconsistent, connectivity for the topology (or topologies)
associated with the ITIDs not supported by some MI-RTRs can be
compromised.</t>
</section>
</section>
<section title="Interoperability Considerations">
<t>[ISO10589] 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>When sending SNPs, LSPs, and LAN IIHs for the standard instance
(IID #0) an MI-RTR will use the AllL1IS and AllL2IS ISIS MAC layer
addresses (as defined in [ISO10589]) as the destination address.
When sending SNPs, LSPs, and LAN IIHs for any non-zero IID an MI-RTR
will use one of two new dedicated layer 2 multicast addresses
(AllL1MI-ISs or AllL2MI- IS) as the destination address. These
addresses are specified in Section 6.</t>
<t>When operating in point-to-point mode on a broadcast circuit
[RFC5309], an MI-RTR will use AllL1IS, AllL2IS, or AllIS MAC-layer
address when sending point-to-point IIHs associated with the
standard instance. When sending point-to-point IIHs for a non-zero
IID an MI-RTR MUST use one of the two new multicast addresses
(AllL1MI-ISs or AllL2MI- IS) as the destination address (either
address will do).</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, AllL2IS, or
AllIS 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, AllL2IS, or AllIS 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 that 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 or absence of the IID-TLV in an IIH indicates that
the neighbor does or does not support this extension, respectively.
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 the standard
instance.</t>
<t>Point-to-point adjacency setup MUST be done through the use of
the 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 with 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 subsections 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-to-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 that
identifies the application to which the TLV applies [RFC6823].</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
that 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 that are interested in that subset. In the simplest
case, a one-to-one mapping between a given application and an ITID
allows the information associated with that application to be flooded
only to MI-RTRs that 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. Such a possibility 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 that support that ITID.</t>
<t>When multiple ITIDs are supported by an instance ITID #0 MUST NOT
be supported.</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 that 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 Identifiers (MTIDs) are defined to
identify the topologies that 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>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 and single IS-IS Update
Process is used in support of all topologies. In such cases if an MI-RTR
uses the extensions in support of the BFD Enabled TLV [RFC6213] , the
ITID MUST 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 support [RFC5120] multi-topology within a non-zero
instance when ITID #0 is supported. When ITID #0 is supported it MUST be
the only ITID supported by that instance. In such cases if an MI-RTR
uses the extensions in support of the BFD Enabled TLV [RFC6213] , the
[RFC5120] MTID MUST be used as specified in [RFC6213].</t>
<t>An MI-RTR MUST NOT support [RFC5120] multi-topology within a non-zero
instance when any non-zero ITID is supported. The following TLVs MUST
NOT be sent in an LSP associated with a non-zero instance which supports
a non-zero ITID and such an LSP MUST be ignored when received:</t>
<figure>
<artwork><![CDATA[
TLV 222 - MT IS Neighbors
TLV 235 - MT IP Reachability
TLV 237 - MT IPv6 Reachability
]]></artwork>
</figure>
</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 all of the topology-specific LSP databases 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>Per [RFC6822], IANA has registered a new IS-IS TLV, which is
reflected in the "IS-IS TLV Codepoints" registry:</t>
<figure>
<artwork><![CDATA[
Type Description IIH LSP SNP Purge
---- --------------------- --- --- --- -----
7 Instance Identifier y y y y
]]></artwork>
</figure>
<t/>
<t>Per [RFC6822], IANA has registered two EUI-48 multicast addresses
from the IANA-managed EUI address space as specified in [RFC7042]. The
addresses are as follows:</t>
<t><figure>
<artwork><![CDATA[ 01-00-5E-90-00-02 AllL1MI-ISs
01-00-5E-90-00-03 AllL2MI-ISs
]]></artwork>
</figure></t>
</section>
<section anchor="Security" title="Security Considerations">
<t>Security concerns for IS-IS are addressed in [ISO10589, [RFC5304],
and [RFC5310].</t>
</section>
<section anchor="Acknowledgements" title="Acknowledgements">
<t>For the first version of this specification the authors acknowledged
contributions made by Dino Farinacci and Tony Li.</t>
<t>For the new version of this specification the authors would like to
acknowledge Paul Wells.</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.RFC.6822"?>
<?rfc include="reference.RFC.6823"?>
<?rfc ?>
<?rfc ?>
<reference anchor="ISO10589">
<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""/>
<date month="Nov" year="2002"/>
</front>
</reference>
</references>
<references title="Informative References">
<?rfc include='reference.RFC.5309'?>
<?rfc include='reference.RFC.7042'?>
</references>
<section title="Changes to RFC 6822">
<t>RFC 6822 prohibited the use of RFC 5120 Multi-Topology (MT) support
in a non-zero instance. However, deployment experience since the writing
of RFC 6822 has revealed a desire to be able to support RFC 5120 style
MT using multiple non-zero instances as an alternative means of
controlling leaking of information between L1 areas while also
supporting incongruent topologies for different address families. The
rules have therefore been relaxed to allow use of RFC 5120 MT in a
non-zero instance so long as ITID #0 is the only instance topology
(ITID) supported by the instance. Note that this change is not backwards
compatible with implementations strictly following RFC 6822. As of this
writing all known implementations are compatible with this change.</t>
<t>A suggestion has been added to place the IID-TLV as the first TLV in
a PDU to speed recognition of the correct instance when parsing a
received PDU.</t>
<t>Clarification that the IID-TLV is only included in Pt-Pt IIHs
associated with non-zero instances has been added. This addresses Errata
ID #4519.</t>
<t>Clarification of the appropriate MAC multicast addresses to use when
sending PDUs on a broadcast interface for both standard instance and
non-zero instances has been provided. This addresses Errata ID
#4520.</t>
</section>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-23 11:00:26 |