One document matched: draft-ietf-isis-genapp-04.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 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 RFC5226 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5226.xml">
<!ENTITY RFC5304 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5304.xml">
<!ENTITY RFC5305 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5305.xml">
<!ENTITY RFC5310 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5310.xml">
<!ENTITY I-D.ietf-isis-mi SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-ietf-isis-mi-03.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-04.txt" ipr="trust200902"
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="10" month="November" year="2010" />
<!-- 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
type-length-value (TLVs) which may be sent in IS-IS Protocol Data Units
(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 Intermediate System to
Internediate System (IS-IS) protocol. However, the increasing use of
IS-IS Link State Protocol Data Units (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 MUST occur in the context
of a non-zero instance of the IS-IS protocol as defined in <xref
target="I-D.ietf-isis-mi"></xref> except where the rules for the use of
the zero instance set out later in this document are followed.</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 IS-IS top level and sub-TLV codepoints
required</t>
<t>Minimize the depth of sub-TLV levels required</t>
</list></t>
<t>In order to support these goals, a new IANA registry is required.
This registry will manage the assignment of IS-IS GENINFO Application
Identifiers. These numbers are unsigned 16 bit numbers ranging in value
from 1 to 65535. Application specific sub-TLV codepoints are unsigned 8
bit numbers ranging in value from 0 to 255. The assignment of the
sub-TLV codepoints is scoped by the Application Identifier. Management
of the application specific sub-TLV codepoints is outside the scope of
this document.</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 IANA
registry defined later in this document.
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></t>
</section>
<section title="Use of sub-TLVs in GENINFO TLV">
<t></t>
<t><xref target="RFC5305"></xref> introduced the definition and use of
sub-TLVs. One of the advantages of using sub-TLVs 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 sub-TLVs which they do
not understand.</t>
<t>GENINFO TLVs MAY include sub-TLVs in the application specific
information as deemed necessary and appropriate for each application.
The scope of the codepoints used in such sub-TLVs is defined by the
combination of the GENINFO TLV codepoint and the Application ID i.e.
the sub-TLV codepoints are private to the application. Such sub-TLVs
are referred to as APPsub-TLVs.</t>
<t>Additional levels of APPsub-TLVs may be required when there is
variable information which is scoped by a specific APPsub-TLV. These
"nested" sub-TLVs MUST be encoded in the same manner as sub-TLVs i.e.
with a one-octet Type field, a one-octet Length field, and zero or
more octets of Value.</t>
<t></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 Application ID in the GENINFO
TLV. When it is necessary to advertise sets of information with the same
Application ID 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 GENINFO
TLV.</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>
<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 Application ID, 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 MUST occur in the context of a
non-zero instance of the IS-IS protocol as defined in <xref
target="I-D.ietf-isis-mi"></xref> except when the use in the zero
instance is defined in a Standards Track RFC.</t>
<t>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>If desirable, independent control of the flooding scope for
information related to two different applications can be achieved by
utilizing separate non-zero protocol instances for each
application.<xref target="I-D.ietf-isis-mi"></xref>.</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 advertised in the GENINFO TLV MUST
NOT alter basic IS-IS protocol operation including (but not limited to)
the establishment of adjacencies, the update process, and the decision
process.</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 a public
specification as discussed in <xref target="RFC5226"></xref>.</t>
<t>The public specification MUST include:</t>
<t><list style="symbols">
<t>a description of the sub-TLV allocation policy</t>
<t>discussion of security issues</t>
<t>discussion of the rate of change of the information being
advertised</t>
<t>justification for the use of GENINFO</t>
</list></t>
</section>
<section title="Security Considerations">
<t>The introduction and use of the new TLV codepoint for GENINFO in and
of itself raises no new security issues for IS-IS.</t>
<t>It is possible that information advertised in a GENINFO TLV by a
given Application MAY introduce new security issues. The public
specification which defines the use of GENINFO by that Application MUST
include a discussion of the security issues. Where appropriate, it is
recommended that either <xref target="RFC5304"></xref> or <xref
target="RFC5310"></xref> be used.</t>
</section>
<section title="IANA Considerations">
<t>This document defines a new IS-IS TLV that needs to be reflected in
the IS-IS 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. The new registry will
manage the assignment of 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. The value 0 is reserved.
Registration procedure is "Expert Review" as defined in <xref
target="RFC5226"></xref>. The expert MUST verify that the public
specification which defines the use of GENINFO for the application
adequately discusses all points mentioned in Section 7 of this
document.</t>
<t>The following information MUST be specified in the registry:</t>
<t><list style="symbols">
<t>ID Value (1-65535)</t>
<t>Description</t>
<t>Allowed in Instance zero (Y/N)</t>
<t>Reference Specification</t>
</list></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>
&RFC2119;
&RFC4971;
&RFC5226;
&RFC5304;
&RFC5305;
&RFC5310;
&I-D.ietf-isis-mi;
</references>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-23 05:27:18 |