One document matched: draft-ietf-isis-genapp-00.xml
<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
There has to be one entity for each item to be referenced.
An alternate method (rfc include) is described in the references. -->
<!ENTITY RFC1195 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1195.xml">
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC4971 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4971.xml">
<!ENTITY RFC3784 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3784.xml">
<!ENTITY RFC3906 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3906.xml">
<!ENTITY MI-IS-IS SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.previdi-isis-mi.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs),
please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
(Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space
(using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="std" docName="draft-ietf-isis-genapp-00.txt" ipr="full3978"
updates="">
<!-- category values: std, bcp, info, exp, and historic
ipr values: full3667, noModification3667, noDerivatives3667
you can add the attributes updates="NNNN" and obsoletes="NNNN"
they will automatically be output with "(if approved)" -->
<!-- ***** FRONT MATTER ***** -->
<front>
<!-- The abbreviated title is used in the page header - it is only necessary if the
full title is longer than 39 characters -->
<title abbrev="">Advertising Generic Information in IS-IS</title>
<!-- add 'role="editor"' below for the editors if appropriate -->
<!-- Another author who claims to be an editor -->
<author fullname="Les Ginsberg" initials="L." surname="Ginsberg">
<organization>Cisco Systems</organization>
<address>
<postal>
<street>510 McCarthy Blvd.</street>
<city>Milpitas</city>
<region>Ca.</region>
<code>95035</code>
<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>00142 - Roma</city>
<region></region>
<code></code>
<country>Italy</country>
</postal>
<email>sprevidi@cisco.com</email>
</address>
</author>
<author fullname="Mike Shand" initials="M." surname="Shand">
<organization>Cisco Systems</organization>
<address>
<postal>
<street>250, Longwater Avenue.</street>
<!-- Reorder these if your country does things differently -->
<city>Reading</city>
<region>Berks</region>
<code>RG2 6GB</code>
<country>UK</country>
</postal>
<email>mshand@cisco.com</email>
<!-- uri and facsimile elements may also be added -->
</address>
</author>
<date day="30" month="October" year="2007" />
<!-- If the month and year are both specified and are the current ones, xml2rfc will fill
in the current day for you. If only the current year is specified, xml2rfc will fill
in the current day and month for you. If the year is not the current one, it is
necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the
purpose of calculating the expiry date). With drafts it is normally sufficient to
specify just the year. -->
<!-- Meta-data Declarations -->
<!-- WG name at the upperleft corner of the doc,
IETF is fine for individual submissions.
If this element is not present, the default is "Network Working Group",
which is used by the RFC Editor as a nod to the history of the IETF. -->
<!-- Keywords will be incorporated into HTML output
files in a meta tag but they have no effect on text or nroff
output. If you submit your draft to the RFC Editor, the
keywords will be used for the search engine. -->
<abstract>
<t>This draft describes the manner in which generic application
information (i.e. information not directly related to the operation of
the IS-IS protocol) SHOULD be advertised in IS-IS LSPs and defines
guidelines which SHOULD be used when flooding such information.</t>
</abstract>
</front>
<middle>
<section title="Conventions used in this Document">
<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 <xref
target="RFC2119"></xref>.</t>
</section>
<section title="Overview">
<t><xref target="ISO10589"></xref> defines the format of TLVs which may
be sent in IS-IS PDUs. The first octet of a TLV encodes the "type" or
"codepoint" which provides a scope for the information and information
format which follows. The protocol is therefore limited to 256 different
codepoints which may be assigned. This number has proved generous as
regards the information required for correct operation of the IS-IS
protocol. However, the increasing use of IS-IS LSPs for advertisement of
generic information (GENINFO) not directly related to the operation of
the IS-IS protocol places additional demands on the TLV encoding space
which has the potential to consume a significant number of TLV
codepoints. This document therefore defines an encoding format for
GENINFO which minimizes the consumption of TLV codepoints and also
maximizes the flexibility of the formats which can be used to represent
GENINFO.</t>
<t>This document also discusses optimal behavior associated with the
advertisement and flooding of LSPs containing GENINFO in order to avoid
the advertisement of stale information and minimize the presence of
duplicate or conflicting information when advertisements are
updated.</t>
<t>The manner in which the information contained in GENINFO TLVs is
exchanged between an instance of the IS-IS protocol and the application
which generates/consumes the GENINFO is outside the scope of this
specification.</t>
<t>In order to minimize the impact advertisement of GENINFO may have on
the operation of routing, such advertisements SHOULD occur in the
context of a non-zero instance of the IS-IS protocol as defined in <xref
target="I-D.previdi-isis-mi"></xref>.</t>
<t></t>
</section>
<section title="Encoding Format for GENINFO">
<t>The encoding format defined below has the following goals regarding
the advertisement of GENINFO in IS-IS LSPs:</t>
<t><list style="symbols">
<t>Minimize the number of codepoints required</t>
<t>Minimize the depth of subTLV levels required</t>
</list></t>
<t>In order to support these goals, a new IANA registry is required.
This registry is required to manage the assignment of IS-IS GENINFO
Application Identifiers. These numbers are unsigned 16 bit numbers
ranging in value from 1 to 65535. The registry is also required to
manage the assignment of application specific subTLV codepoints. These
numbers are unsigned 8 bit numbers ranging in value from 0 to 255. The
assignment of the subTLV codepoints is scoped by the Application
Identifier.</t>
<t></t>
<section title="GENINFO TLV">
<t></t>
<t>The GENINFO TLV supports the advertisement of application specific
information which is not directly related to the operation of the
IS-IS protocol.</t>
<t><figure>
<preamble></preamble>
<artwork><![CDATA[ Type 251
Length # of octets in the value field (3 to 255)
Value
No. of octets
+-----------------------+
| Flags | 1
+-----------------------+
| Application ID | 2
+-----------------------+
| Application |
| IP Address Info | 0 to 20
+-----------------------+
| Additional Application| 0 to (252 -
| Specific Information | len of IP Address info)
+-----------------------+
Flags
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
| Rsvd |V|I|D|S|
+-+-+-+-+-+-+-+-+
The following bit flags are defined.
S bit (0x01): If the S bit is set(1), the GENINFO TLV
MUST be flooded across the entire routing domain. If
the S bit is not set(0), the TLV MUST NOT be leaked
between levels. This bit MUST NOT be altered during the
TLV leaking.
D bit (0x02): When the GENINFO TLV is leaked from
level-2 to level-1, the D bit MUST be set. Otherwise
this bit MUST be clear. GENINFO TLVs with the D bit set
MUST NOT be leaked from level-1 to level-2. This is to
prevent TLV looping.
I bit (0x04): When the I bit is set the 4 octet IPv4
address associated with the application immediately
follows the Application ID.
V bit (0x08): When the V bit is set, the 16 octet IPv6
address associated with the application immediately
follows either the Application ID (if I bit is clear)
or the IPv4 address (if I bit is set).
Application ID
An identifier assigned to this application via the
GENINFO-REG.
Application IPv4 Address Info
The IPv4 address associated with the application. This
is not necessarily an address of a router running the
IS-IS protocol.
Application IPv6 Address Info
The IPv6 address associated with the application. This
is not necessarily an address of a router running the
IS-IS protocol.
Additional Application Specific Information
Each application may define additional information to
be encoded in a GENINFO TLV following the fixed
information. Definition of such information is beyond
the scope of this document.
]]></artwork>
<postamble></postamble>
</figure></t>
<t>The Application ID in combination with the Application IPv4/IPv6
Address Information uniquely identifies the GENINFO Application
Context (GENINFO-CTX).</t>
<t></t>
</section>
<section title="Use of subTLVs in GENINFO TLV">
<t></t>
<t><xref target="RFC3784"></xref> introduced the definition and use of
subTLVs. One of the advantages of using subTLVs rather than fixed
encoding of information inside a TLV is to allow for the addition of
new information in a backwards compatible manner i.e. just as with
TLVs, implementations are required to ignore subTLVs which they do not
understand.</t>
<t>GENINFO TLVs MAY include subTLVs in the application specific
information as deemed necessary and appropriate for each application.
The scope of the codepoints used in such subTLVs is defined by the
GENINFO TLV codepoint AND the Application ID i.e. the subTLV
codepoints are private to the application. Such subTLVs are referred
to as APPSUBTLVs and MUST be assigned via the GENINFO-REG IANA
registry.</t>
<t>Additional levels of APPSUBTLVs may be required when there is
variable information which is scoped by a specific APPSUBTLV. These
"nested" subTLVs MUST be encoded in the same manner as subTLVs i.e.
with a one-octet Type field, a one-octet Length field, and zero or
more octets of Value. These types MUST also be assigned via the
GENINFO-REG IANA registry.</t>
<t>The use of additional levels of subTLVs is discouraged due to the
inherent inefficiency in encoding introduced because the parent subTLV
must encode the nested subTLV length. While this inefficiency is small
(one additional octet), it may be sufficient to extend the total
information about a single application object beyond the carrying
capacity of a single GENINFO TLV. Given that each Application ID can
utilize the full range of subTLV codepoints (0 to 255) without
conflict with any other application, the need to be frugal in the use
of APPSUBTLV codepoints is greatly reduced.</t>
<t></t>
</section>
<section title="Standardization Requirements">
<t></t>
<t>GENINFO is intended to advertise information on behalf of
applications whose operations have been defined in public documents.
Therefore the uses of GENINFO MUST be standardized.</t>
<t>GENINFO is NOT intended to be used for proprietary or experimental
purposes.</t>
</section>
</section>
<section title="GENINFO Flooding Procedures">
<t>This section describes procedures which apply to the propagation of
LSPs which contain GENINFO TLVs. These procedures have been previously
discussed in <xref target="RFC4971"></xref>. This section is intended to
serve as a reference specification for future documents which define the
use of GENINFO TLV(s) for a specific application - eliminating the need
to repeat the definition of these procedures in the application specific
documents.</t>
<t>Each GENINFO TLV contains information regarding exactly one
application instance as identified by the GENINFO-CTX. When it is
necessary to advertise sets of information with the same GENINFO-CTX
which have different flooding scopes, a router MUST originate a minimum
of one GENINFO TLV for each required flooding scope. GENINFO TLVs which
contain information having area/level scope will have the S bit clear.
These TLVs MUST NOT be leaked into another level. GENINFO TLVs which
contain information which has domain scope will have the S bit set.
These TLVs MUST be leaked into other IS-IS levels. When a TLV is leaked
from level-2 to level-1, the D bit MUST be set in the level-1 LSP
advertisement.</t>
<section title="Leaking Procedures">
<t>When leaking GENINFO TLVs downward from Level-2 into Level-1, if
the originator of the TLV is a Level-1 router in another area, it is
possible that multiple copies of the same TLV may be received from
multiple L2 routers in the originating area. A router performing
downward leaking MUST check for such duplication by comparing the
contents of the TLVs. The set of LSPs generated by a router for a
given level MUST NOT contain two or more copies of the same
GENTLV.</t>
<t>In order to prevent the use of stale GENINFO information, a system
MUST NOT use a GENINFO TLV present in an LSP of a system which is not
currently reachable via Level-x paths, where "x" is the level (1 or 2)
associated with the LSP in which the GENINFO TLV appears. Note that
leaking a GENINFO TLV is one of the uses which is prohibited under
these conditions. The following example illustrates what might occur
in the absence of this restriction.</t>
<t>Example: If Level-1 router A generates a GENINFO TLV and floods it
to two L1/L2 routers S and T, they will flood it into the Level-2
sub-domain. Now suppose the Level-1 area partitions, such that A and S
are in one partition and T is in another. IP routing will still
continue to work, but if A now issues a revised version of the GENINFO
TLV, or decides to stop advertising it, S will follow suit, but T will
continue to advertise the old version until the LSP times out.</t>
<t>Routers in other areas have to choose whether to trust T's copy of
A's GENINFO TLV or S's copy of A's information and they have no
reliable way to choose. By making sure that T stops leaking A's
information, this removes the possibility that other routers will use
stale information from A.</t>
</section>
<t></t>
<section title="Minimizing Update Confusion">
<t></t>
<t>If an update to a TLV is advertised in an LSP with a different
number than the LSP associated with the old advertisement, the
possibility exists that other systems can temporarily have either 0
copies of a particular advertisement or 2 copies of a particular
advertisement, depending on the order in which new copies of the LSP
which had the old advertisement and the LSP which has the new
advertisement arrive at other systems.</t>
<t>Whenever possible, an implementation SHOULD advertise the update to
a GENINFO TLV in the LSP with the same number as the advertisement
which it replaces. Where this is not possible, the two affected LSPs
SHOULD be flooded as an atomic action.</t>
<t>Systems which receive an update to an existing GENINFO TLV can
minimize the potential disruption associated with the update by
employing a holddown time prior to processing the update so as to
allow for the receipt of multiple LSPs associated with the same update
prior to beginning processing.</t>
<t></t>
</section>
<section title="Interpreting Attribute Information">
<t>Where a receiving system has two copies of a GENINFO TLV with the
same GENINFO-CTX, attribute information in the two TLVs which does not
conflict MUST be considered additive. When information in the two
GENINFO TLVs conflicts i.e there are different settings for a given
attribute, the procedure used to choose which copy shall be used is
undefined.</t>
<t></t>
</section>
</section>
<section title="Use of a Separate Protocol Instance">
<t>The use of the IS-IS flooding mechanism as a means of reliably and
efficiently propagating information is understandably attractive.
However, it is prudent to remember that the primary purpose of that
mechanism is to flood information necessary for the correct operation of
the IS-IS protocol. Flooding of information not directly related to the
use of the IS-IS protocol in support of routing degrades the operation
of the protocol. Degradation occurs because the frequency of LSP updates
is increased and because the processing of non-routing information in
each router consumes resources whose primary responsibility is to
efficiently respond to reachability changes in the network.</t>
<t>Advertisement of GENINFO therefore SHOULD occur in the context of a
non-zero instance of the IS-IS protocol as defined in <xref
target="I-D.previdi-isis-mi"></xref>. The use of a separate instance of
the protocol allows both the flooding and the processing of the
non-routing information to be decoupled from the information necessary
to support correct routing of data in the network. The flooding and
processing of non-routing information can then be prioritized
appropriately.</t>
<t>Use of a separate protocol instance to advertise GENINFO does not
eliminate the need to use prudence in the frequency with which such
information is updated. One of the most egregious oversights is a
failure to appropriately dampen changes in the information to be
advertised, which can lead to flooding storms. Documents which specify
the use of the mechanisms defined here MUST define the expected rate of
change of the information to be advertised.</t>
<t></t>
</section>
<section title="Applicability of GENINFO TLV">
<t>The GENINFO TLV supports the advertisement of application specific
information in IS-IS LSPs which is not directly related to the operation
of the IS-IS protocol. Information which is not directly used by the
IS-IS Decision process falls into this category. The Decision Process is
defined by <xref target="ISO10589"></xref> and extended by <xref
target="RFC1195"></xref> and <xref target="RFC3906"></xref>.</t>
<t>The IS-IS WG of the IETF acts as the authority to determine whether
information proposed to be advertised in IS-IS LSPs falls under this
definition.</t>
<t>The applicability statement above is expected to cover some
information currently being advertised by IS-IS in previously defined
TLVs. It is expected and seen as desirable that an effort be made to
migrate the advertisement of such information to utilize the procedures
defined in this document.</t>
</section>
<section title="Security Considerations">
<t>This document raises no new security issues for IS-IS.</t>
</section>
<section title="IANA Considerations">
<t>This document defines a new ISIS TLV that needs to be reflected in
the ISIS TLV code-point registry:</t>
<figure>
<preamble></preamble>
<artwork><![CDATA[Type Description IIH LSP SNP
---- ----------------------------------- --- --- ---
251 Generic Information n y n
]]></artwork>
<postamble></postamble>
</figure>
<t>This document also defines a new registry which needs to be
created.</t>
<t>The new registry is required to manage two types of assigned
numbers:</t>
<t>1)Application Identifiers which may be used in the Generic
Information TLV. These identifiers are unsigned 16 bit numbers ranging
in value from 1 to 65535.</t>
<t>2)Application specific subTLV codepoints which may be used in a
GENINFO TLV when a specific Application Identifier is used. These
numbers are unsigned 8 bit numbers ranging in value from 0 to 255.</t>
</section>
<section title="Acknowledgements">
<t>The authors would like to thank JP Vasseur and David Ward for
providing the need to produce this document and Tony Li for making sure
it was done with appropriate wisdom and prudence.</t>
</section>
<!-- -->
</middle>
<!-- *****BACK MATTER ***** -->
<back>
<!-- References split into informative and normative -->
<!-- There are 2 ways to insert reference entries from the citation libraries:
1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
(for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")
Both are cited textually in the same manner: by using xref elements.
If you use the PI option, xml2rfc will, by default, try to find included files in the same
directory as the including file. You can also define the XML_LIBRARY environment variable
with a value containing a set of directories to search. These can be either in the local
filing system or remote ones accessed by http (http://domain/dir/... ).-->
<references title="Normative References">
<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)</title>
<author>
<organization abbrev="ISO">International Organization for
Standardization</organization>
</author>
<date month="Nov" year="2002" />
</front>
<seriesInfo name="ISO/IEC" value="10589:2002, Second Edition" />
</reference>
&RFC1195;
&RFC2119;
&RFC4971;
</references>
<references title="Informative References">
&RFC3784;
&RFC3906;
&MI-IS-IS;
</references>
</back>
</rfc>| PAFTECH AB 2003-2026 | 2026-04-24 02:58:12 |