< draft-ietf-isis-traffic-03.txt   draft-ietf-isis-traffic-04.txt >
Network Working Group Tony Li Network Working Group Henk Smit
INTERNET DRAFT Procket Networks INTERNET DRAFT Tony Li
Henk Smit
Procket Networks Procket Networks
June 2001 December 2002
IS-IS extensions for Traffic Engineering IS-IS extensions for Traffic Engineering
<draft-ietf-isis-traffic-03.txt> <draft-ietf-isis-traffic-04.txt>
Status Status
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC 2026 except that the right to all provisions of Section 10 of RFC 2026 except that the right to
produce derivative works is not granted. produce derivative works is not granted.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet- Drafts as reference time. It is inappropriate to use Internet- Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
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.
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
1.0 Abstract Abstract
This document describes extensions to the IS-IS protocol to support This document describes extensions to the IS-IS protocol to support
Traffic Engineering [1]. The IS-IS protocol is specified in [2], Traffic Engineering.
with extensions for supporting IPv4 specified in [3].
This document extends the IS-IS protocol by specifying new This document extends the IS-IS protocol by specifying new
information that a Intermediate System (IS) [router] can place in information that an Intermediate System [router] can place in Link
Link State Protocol Data Units (LSPs). This information describes State Protocol Data Units. This information describes additional
additional information about the state of the network that is useful details of the state of the network that are useful for traffic
for traffic engineering computations. engineering computations.
2.0 Introduction 1.0 Introduction
An IS-IS LSP is composed of a fixed header and a number of tuples, The IS-IS protocol is specified in ISO 10589 [1], with extensions for
each consisting of a Type, a Length, and a Value. Such tuples are supporting IPv4 specified in RFC 1195 [3]. Each Intermediate System
commonly known as TLVs, and are a good way of encoding information in (IS) [router] advertises one or more IS-IS Link State Protocol Data
a flexible and extensible format. Units (LSPs) with routing information. Each LSP is composed of a
fixed header and a number of tuples, each consisting of a Type, a
Length, and a Value. Such tuples are commonly known as TLVs, and are
a good way of encoding information in a flexible and extensible
format.
The changes in this document include the design of new TLVs to The changes in this document include the design of new TLVs to
replace the existing IS Neighbor TLV, IP Reachability TLV and add replace the existing IS Neighbor TLV, IP Reachability TLV and add
additional information. Mechanisms and procedures to migrate to the additional information. Mechanisms and procedures to migrate to the
new TLVs are not discussed in this document. new TLVs are not discussed in this document.
The primary goal of these extensions is to add more information about The primary goal of these extensions is to add more information about
the characteristics of a particular link to an IS-IS's LSP. the characteristics of a particular link to an IS-IS's LSP. The
Secondary goals include increasing the dynamic range of the IS-IS characteristics described in this document are needed for Traffic
metric and improving the encoding of IP prefixes. The router id is Engineering [4] (TE). Secondary goals include increasing the dynamic
useful for traffic engineering purposes because it describes a single range of the IS-IS metric and improving the encoding of IP prefixes.
address that can always be used to reference a particular router. The router id is useful for traffic engineering purposes because it
describes a single address that can always be used to reference a
particular router.
This document is a publication of the IS-IS Working Group within the This document is a publication of the IS-IS Working Group within the
IETF, and is a contribution to ISO IEC JTC1/SC6, for eventual IETF, and is a contribution to ISO IEC JTC1/SC6, for eventual
inclusion with ISO 10589 [2]. inclusion with ISO 10589 [1].
3.0 Introducing Sub-TLVs 2.0 Introducing Sub-TLVs
This document introduces a new way to encode routing information in This document introduces a new way to encode routing information in
IS-IS. The new object is called a sub-TLV. Sub-TLVs are similar to IS-IS. The new object is called a sub-TLV. Sub-TLVs are similar to
regular TLVs. They use the same concepts as regular TLVs. The regular TLVs. They use the same concepts as regular TLVs. The
difference is that TLVs exist inside IS-IS packets, while sub-TLVs difference is that TLVs exist inside IS-IS packets, while sub-TLVs
exist inside TLVs. TLVs are used to add extra information to IS-IS exist inside TLVs. TLVs are used to add extra information to IS-IS
packets. Sub-TLVs are used to add extra information to particular packets. Sub-TLVs are used to add extra information to particular
TLVs. Each sub-TLV consists of three fields. A one-octet Type field, TLVs. Each sub-TLV consists of three fields. A one-octet Type field,
a one-octet Length field, and zero or more octets of Value. The Type a one-octet Length field, and zero or more octets of Value. The Type
field indicates the type of items in the Value field. The Length field indicates the type of items in the Value field. The Length
field indicates the length of the Value field in octets. Each sub- field indicates the length of the Value field in octets. Each sub-
TLV can potentially hold multiple items. The number of items in a TLV can potentially hold multiple items. The number of items in a
sub-TLV can be computed from the length of the whole sub-TLV, when sub-TLV can be computed from the length of the whole sub-TLV, when
the length of each item is known. Unknown sub-TLVs are to be ignored the length of each item is known. Unknown sub-TLVs are to be ignored
and skipped on receipt. and skipped on receipt.
4.0 The extended IS reachability TLV The Sub-TLV type space is managed by the IETF IS-IS WG
(http://www.ietf.org/html.charters/isis-charter.html). New type
values are allocated following review on the IETF IS-IS mailing list.
This will normally require publication of additional documentation
describing how the new type is used. In the event that the IS-IS
working group has disbanded the review shall be performed by a
Designated Expert assigned by the responsible Area Director.
3.0 The extended IS reachability TLV
The extended IS reachability TLV is TLV type 22. The extended IS reachability TLV is TLV type 22.
The existing IS reachability (TLV type 2, defined in ISO 10589 [2])
The existing IS reachability (TLV type 2, defined in ISO 10589 [1])
contains information about a series of IS neighbors. For each contains information about a series of IS neighbors. For each
neighbor, there is a structure that contains the default metric, the neighbor, there is a structure that contains the default metric, the
delay, the monetary cost, the reliability, and the 7-octet ID of the delay, the monetary cost, the reliability, and the 7-octet ID of the
adjacent neighbor. Of this information, the default metric is adjacent neighbor. Of this information, the default metric is
commonly used. The default metric is currently one octet, with one commonly used. The default metric is currently one octet, with one
bit used to indicate that the metric is present and one bit used to bit used to indicate that the metric is present and one bit used to
indicate whether the metric is internal or external. The remaining 6 indicate whether the metric is internal or external. The remaining 6
bits are used to store the actual metric, resulting a possible metric bits are used to store the actual metric, resulting a possible metric
range of 0-63. This limitation is one of the restrictions that we range of 0-63. This limitation is one of the restrictions that we
would like to lift. would like to lift.
skipping to change at page 3, line 33 skipping to change at line 130
plus one octet to indicate the pseudonode number if the neighbor is plus one octet to indicate the pseudonode number if the neighbor is
on a LAN interface. Thus, the existing TLV consumes 11 octets per on a LAN interface. Thus, the existing TLV consumes 11 octets per
neighbor, with 4 octets for metric and 7 octets for neighbor neighbor, with 4 octets for metric and 7 octets for neighbor
identification. To indicate multiple adjacencies, this structure is identification. To indicate multiple adjacencies, this structure is
repeated within the IS reachability TLV. Because the TLV is limited repeated within the IS reachability TLV. Because the TLV is limited
to 255 octets of content, a single TLV can describe up to 23 to 255 octets of content, a single TLV can describe up to 23
neighbors. The IS reachability TLV can be repeated within the LSP neighbors. The IS reachability TLV can be repeated within the LSP
fragments to describe further neighbors. fragments to describe further neighbors.
The proposed extended IS reachability TLV contains a new data The proposed extended IS reachability TLV contains a new data
structure, consisting of structure, consisting of:
7 octets of system Id and pseudonode number
3 octets of default metric 7 octets of system Id and pseudonode number
1 octet of length of sub-TLVs 3 octets of default metric
0-244 octets of sub-TLVs, 1 octet of length of sub-TLVs
where each sub-TLV consists of a sequence of 0-244 octets of sub-TLVs,
1 octet of sub-type where each sub-TLV consists of a sequence of
1 octet of length 1 octet of sub-type
0-242 octets of value 1 octet of length of the value field of the sub-TLV
0-242 octets of value
Thus, if no sub-TLVs are used, the new encoding requires 11 octets Thus, if no sub-TLVs are used, the new encoding requires 11 octets
and can contain up to 23 neighbors. Please note that while the and can contain up to 23 neighbors. Please note that while the
encoding allows for 255 octets of sub-TLVs, the maximum value cannot encoding allows for 255 octets of sub-TLVs, the maximum value cannot
fit in the overall IS reachability TLV. The practical maximum is 255 fit in the overall IS reachability TLV. The practical maximum is 255
octets minus the 11 octets described above, or 244 octets. Further, octets minus the 11 octets described above, or 244 octets. Further,
there is no defined mechanism for extending the sub-TLV space for a there is no defined mechanism for extending the sub-TLV space for a
particular neighbor. Thus, wasting sub-TLV space is discouraged. particular neighbor. Thus, wasting sub-TLV space is discouraged.
The metric octets are encoded as a 24-bit unsigned integer. Note that The metric octets are encoded as a 24-bit unsigned integer. Note that
the metric field in the new extended IP reachability TLV is encoded the metric field in the new extended IP reachability TLV is encoded
as a 32-bit unsigned integer. These different sizes were chosen so as a 32-bit unsigned integer. These different sizes were chosen so
that it is very unlikely that the cost of an intra-area route has to that it is very unlikely that the cost of an intra-area route has to
be chopped off to fit in the metric field of an inter-area route. be chopped off to fit in the metric field of an inter-area route.
To preclude overflow within an SPF implementation, all metrics To preclude overflow within a SPF implementation, all metrics greater
greater than or equal to MAX_PATH_METRIC shall be considered to have than or equal to MAX_PATH_METRIC SHALL be considered to have a metric
a metric of MAX_PATH_METRIC. It is easiest to select MAX_PATH_METRIC of MAX_PATH_METRIC. It is easiest to select MAX_PATH_METRIC such
such that MAX_PATH_METRIC plus a single link metric does not overflow that MAX_PATH_METRIC plus a single link metric does not overflow the
the number of bits for internal metric calculation. We assume that number of bits for internal metric calculation. We assume that this
this is 32 bits. Thus, MAX_PATH_METRIC is 4,261,412,864 (0xFE000000, is 32 bits. Thus, MAX_PATH_METRIC is 4,261,412,864 (0xFE000000, 2^32
2^32 - 2^25). - 2^25).
If a link is advertised with the maximum link metric (2^24 - 1), this If a link is advertised with the maximum link metric (2^24 - 1), this
link should not be considered during the normal SPF computation. link MUST NOT be considered during the normal SPF computation. This
This will allow advertisement of a link for other purposes than will allow advertisement of a link for other purposes than building
building the normal Shortest Path Tree. An example is a link that is the normal Shortest Path Tree. An example is a link that is available
available for traffic engineering, but not for hop-by-hop routing. for traffic engineering, but not for hop-by-hop routing.
Certain sub-TLVs are proposed here: Certain sub-TLVs are proposed here:
Sub-TLV type Length (octets) Name
3 4 Administrative group (color) Sub-TLV type Length (octets) Name
6 4 IPv4 interface address 3 4 Administrative group (color)
8 4 IPv4 neighbor address 6 4 IPv4 interface address
9 4 Maximum link bandwidth 8 4 IPv4 neighbor address
10 4 Reservable link bandwidth 9 4 Maximum link bandwidth
11 32 Unreserved bandwidth 10 4 Reservable link bandwidth
18 3 TE Default metric 11 32 Unreserved bandwidth
250-254 Reserved for cisco specific extensions 18 3 TE Default metric
255 Reserved for future expansion 250-254 Reserved for cisco specific extensions
255 Reserved for future expansion
Each of these sub-TLVs is described below. Unless stated otherwise, Each of these sub-TLVs is described below. Unless stated otherwise,
multiple occurrences of the information are supported by multiple multiple occurrences of the information are supported by multiple
inclusions of the sub-TLV. inclusions of the sub-TLV.
4.1 Sub-TLV 3: Administrative group (color, resource class) 3.1 Sub-TLV 3: Administrative group (color, resource class)
The administrative group sub-TLV contains a 4-octet bit mask assigned The administrative group sub-TLV contains a 4-octet bit mask assigned
by the network administrator. Each set bit corresponds to one by the network administrator. Each set bit corresponds to one
administrative group assigned to the interface. administrative group assigned to the interface.
By convention the least significant bit is referred to as 'group 0', By convention the least significant bit is referred to as 'group 0',
and the most significant bit is referred to as 'group 31'. and the most significant bit is referred to as 'group 31'.
4.2 Sub-TLV 6: IPv4 interface address This sub-TLV is OPTIONAL. This sub-TLV SHOULD appear at most once in
each extended IS reachability TLV.
3.2 Sub-TLV 6: IPv4 interface address
This sub-TLV contains a 4-octet IPv4 address for the interface This sub-TLV contains a 4-octet IPv4 address for the interface
described by the (main) TLV. This sub-TLV can occur multiple times. described by the (main) TLV. This sub-TLV can occur multiple times.
Implementations MUST NOT inject a /32 prefix for the interface Implementations MUST NOT inject a /32 prefix for the interface
address into their routing or forwarding table, because this can lead address into their routing or forwarding table, because this can lead
to forwarding loops when interacting with systems that do not support to forwarding loops when interacting with systems that do not support
this sub-TLV. this sub-TLV.
If a router implements the basic TLV extensions in this document, it If a router implements the basic TLV extensions in this document, it
is free to add or omit this sub-TLV to the description of an MAY add or omit this sub-TLV to the description of an adjacency. If
adjacency. If a router implements traffic engineering, it must a router implements traffic engineering, it MUST include this sub-
include this sub-TLV. TLV.
4.3 Sub-TLV 8: IPv4 neighbor address 3.3 Sub-TLV 8: IPv4 neighbor address
This sub-TLV contains a single IPv4 address for a neighboring router This sub-TLV contains a single IPv4 address for a neighboring router
on this link. This sub-TLV can occur multiple times. on this link. This sub-TLV can occur multiple times.
Implementations MUST NOT inject a /32 prefix for the neighbor address Implementations MUST NOT inject a /32 prefix for the neighbor address
into their routing or forwarding table, because this can lead to into their routing or forwarding table, because this can lead to
forwarding loops when interacting with systems that do not support forwarding loops when interacting with systems that do not support
this sub-TLV. this sub-TLV.
If a router implements the basic TLV extensions in this document, it If a router implements the basic TLV extensions in this document, it
is free to add or omit this sub-TLV to the description of an MAY add or omit this sub-TLV to the description of an adjacency. If
adjacency. If a router implements traffic engineering, it must a router implements traffic engineering, it MUST include this sub-TLV
include this sub-TLV on point-to-point adjacencies. on point-to-point adjacencies.
4.4 Sub-TLV 9: Maximum link bandwidth 3.4 Sub-TLV 9: Maximum link bandwidth
This sub-TLV contains the maximum bandwidth that can be used on this This sub-TLV contains the maximum bandwidth that can be used on this
link in this direction (from the system originating the LSP to its link in this direction (from the system originating the LSP to its
neighbors). This is useful for traffic engineering. neighbors). This is useful for traffic engineering.
The maximum link bandwidth is encoded in 32 bits in IEEE floating The maximum link bandwidth is encoded in 32 bits in IEEE floating
point format. The units are bytes (not bits!) per second. point format. The units are bytes (not bits!) per second.
4.5 Sub-TLV 10: Maximum reservable link bandwidth This sub-TLV is optional. This sub-TLV SHOULD appear at most once in
each extended IS reachability TLV.
3.5 Sub-TLV 10: Maximum reservable link bandwidth
This sub-TLV contains the maximum amount of bandwidth that can be This sub-TLV contains the maximum amount of bandwidth that can be
reserved in this direction on this link. Note that for reserved in this direction on this link. Note that for
oversubscription purposes, this can be greater than the bandwidth of oversubscription purposes, this can be greater than the bandwidth of
the link. the link.
The maximum reservable link bandwidth is encoded in 32 bits in IEEE The maximum reservable link bandwidth is encoded in 32 bits in IEEE
floating point format. The units are bytes (not bits!) per second. floating point format. The units are bytes (not bits!) per second.
4.6 Sub-TLV 11: Unreserved bandwidth This sub-TLV is optional. This sub-TLV SHOULD appear at most once in
each extended IS reachability TLV.
This sub-TLV contains the amount of bandwidth reservable on this 3.6 Sub-TLV 11: Unreserved bandwidth
This sub-TLV contains the amount of bandwidth reservable in this
direction on this link. Note that for oversubscription purposes, direction on this link. Note that for oversubscription purposes,
this can be greater than the bandwidth of the link. this can be greater than the bandwidth of the link.
Because of the need for priority and preemption, each head end needs Because of the need for priority and preemption, each head end needs
to know the amount of reserved bandwidth at each priority level. to know the amount of reserved bandwidth at each priority level.
Thus, this sub-TLV contains eight 32 bit IEEE floating point numbers. Thus, this sub-TLV contains eight 32 bit IEEE floating point numbers.
The units are bytes (not bits!) per second. The values correspond to The units are bytes (not bits!) per second. The values correspond to
the bandwidth that can be reserved with a setup priority 0 through 7, the bandwidth that can be reserved with a setup priority 0 through 7,
arranged in increasing order with priority 0 occurring at the start arranged in increasing order with priority 0 occurring at the start
of the sub-TLV, and priority 7 at the end of the sub-TLV. of the sub-TLV, and priority 7 at the end of the sub-TLV.
For stability reasons, rapid changes in the values in this sub-TLV For stability reasons, rapid changes in the values in this sub-TLV
should not cause rapid generation of LSPs. SHOULD NOT cause rapid generation of LSPs.
4.7 Sub-TLV 18: Traffic Engineering Default metric This sub-TLV is optional. This sub-TLV SHOULD appear at most once in
each extended IS reachability TLV.
3.7 Sub-TLV 18: Traffic Engineering Default metric
This sub-TLV contains a 24-bit unsigned integer. This metric is This sub-TLV contains a 24-bit unsigned integer. This metric is
administratively assigned and can be used to present a differently administratively assigned and can be used to present a differently
weighted topology to traffic engineering SPF calculations. weighted topology to traffic engineering SPF calculations.
To preclude overflow within an SPF implementation, all metrics To preclude overflow within a SPF implementation, all metrics greater
greater than or equal to MAX_PATH_METRIC shall be considered to have than or equal to MAX_PATH_METRIC SHALL be considered to have a metric
a metric of MAX_PATH_METRIC. It is easiest to select MAX_PATH_METRIC of MAX_PATH_METRIC. It is easiest to select MAX_PATH_METRIC such
such that MAX_PATH_METRIC plus a single link metric does not overflow that MAX_PATH_METRIC plus a single link metric does not overflow the
the number of bits for internal metric calculation. We assume that number of bits for internal metric calculation. We assume that this
this is 32 bits. Thus, MAX_PATH_METRIC is 4,261,412,864 (0xFE000000, is 32 bits. Thus, MAX_PATH_METRIC is 4,261,412,864 (0xFE000000, 2^32
2^32 - 2^25). - 2^25).
If a link is advertised without this sub-TLV, traffic engineering SPF This sub-TLV is optional. This sub-TLV SHOULD appear at most once in
calculations must use the normal default metric of this link, which each extended IS reachability TLV. If a link is advertised without
is advertised in the fixed part of the extended IS reachability TLV. this sub-TLV, traffic engineering SPF calculations MUST use the
normal default metric of this link, which is advertised in the fixed
part of the extended IS reachability TLV.
5.0 The extended IP reachability TLV 4.0 The extended IP reachability TLV
The extended IP reachability TLV is TLV type 135. The extended IP reachability TLV is TLV type 135.
The existing IP reachability TLVs (TLV type 128 and TLV type 130, The existing IP reachability TLVs (TLV type 128 and TLV type 130,
defined in RFC 1195 [3]) carry IP prefixes in a format that is defined in RFC 1195 [3]) carry IP prefixes in a format that is
analogous to the IS neighbor TLV from ISO 10589 [2]. They carry four analogous to the IS neighbor TLV from ISO 10589 [1]. They carry four
metrics, of which only the default metric is commonly used. Of this, metrics, of which only the default metric is commonly used. Of this,
the default metric has a possible range of 0-63. This limitation is the default metric has a possible range of 0-63. This limitation is
one of the restrictions that we would like to lift. one of the restrictions that we would like to lift.
In addition, route redistribution (a.k.a. route leaking) has a key In addition, route redistribution (a.k.a. route leaking) has a key
problem that was not fully addressed by the existing IP reachability problem that was not fully addressed by the existing IP reachability
TLVs. RFC 1195 [3] allows a router to advertise prefixes upwards in TLVs. RFC 1195 [3] allows a router to advertise prefixes upwards in
the level hierarchy. Unfortunately there were no mechanisms defined the level hierarchy. Unfortunately there were no mechanisms defined
to advertise prefixes downwards in the level hierarchy. to advertise prefixes downwards in the level hierarchy.
To address these two issues, the proposed extended IP reachability To address these two issues, the proposed extended IP reachability
TLV provides for a 32 bit metric and adds one bit to indicate that a TLV provides for a 32 bit metric and adds one bit to indicate that a
prefix has been redistributed 'down' in the hierarchy. prefix has been redistributed 'down' in the hierarchy.
The proposed extended IP reachability TLV contains a new data The proposed extended IP reachability TLV contains a new data
structure, consisting of: structure, consisting of:
4 octets of metric information
1 octet of control information, consisting of 4 octets of metric information
1 bit of up/down information 1 octet of control information, consisting of
1 bit indicating the existence of sub-TLVs 1 bit of up/down information
6 bits of prefix length 1 bit indicating the presence of sub-TLVs
0-4 octet of IPv4 prefix 6 bits of prefix length
0-250 optional octets of sub-TVLs, if present consisting of 0-4 octet of IPv4 prefix
1 octet of length of sub-TLVs 0-250 optional octets of sub-TVLs, if present consisting of
0-249 octets of sub-TLVs, 1 octet of length of sub-TLVs
where each sub-TLV consists of a sequence of 0-249 octets of sub-TLVs,
1 octet of sub-type where each sub-TLV consists of a sequence of
1 octet of length 1 octet of sub-type
0-247 octets of value 1 octet of length of the value field of the sub-TLV
0-247 octets of value
This data structure can be replicated within the TLV, not to exceed This data structure can be replicated within the TLV, not to exceed
the maximum length of the TLV. the maximum length of the TLV.
The 6 bits of prefix length can have the values 0-32 and indicate the The 6 bits of prefix length can have the values 0-32 and indicate the
number of significant bits in the prefix. The prefix is encoded in number of significant bits in the prefix. The prefix is encoded in
the minimal number of octets for the given number of significant the minimal number of octets for the given number of significant
bits. This implies: bits. This implies:
Significant bits Octets Significant bits Octets
0 0 0 0
1-8 1 1-8 1
9-16 2 9-16 2
17-24 3 17-24 3
25-32 4 25-32 4
The remaining bits of prefix are transmitted as zero and ignored upon The remaining bits of prefix are transmitted as zero and ignored upon
receipt. receipt.
If a prefix is advertised with a metric larger then MAX_PATH_METRIC If a prefix is advertised with a metric larger then MAX_PATH_METRIC
(0xFE000000, see paragraph 4.0), this prefix should not be considered (0xFE000000, see paragraph 4.0), this prefix MUST NOT be considered
during the normal SPF computation. This will allow advertisement of a during the normal SPF computation. This allows advertisement of a
prefix for other purposes than building the normal IP routing table. prefix for other purposes than building the normal IP routing table.
5.1 The up/down bit 4.1 The up/down bit
Without any additional mechanisms, if routers were allowed to Without any additional mechanisms, if routers were allowed to
redistribute IP prefixes freely in both directions between level 1 redistribute IP prefixes freely in both directions between level 1
and level 2, those routers can not determine looping of routing and level 2, those routers can not determine looping of routing
information. A problem occurs when a router learns an prefix via information. A problem occurs when a router learns a prefix via
level 2 routing and advertises that prefix down into a level 1 area, level 2 routing and advertises that prefix down into a level 1 area,
where another router might pick up the route and advertise the prefix where another router might pick up the route and advertise the prefix
back up into the level 2 backbone. If the original source withdraws back up into the level 2 backbone. If the original source withdraws
the prefix, those two routers might end up having a routing loop the prefix, those two routers might end up having a routing loop
between them, where part of the looped path is via level 1 routing between them, where part of the looped path is via level 1 routing
and the other part of the looped path is via level 2 routing. The and the other part of the looped path is via level 2 routing. The
solution that RFC 1195 [3] poses is to allow only advertising solution that RFC 1195 [3] poses is to allow only advertising
prefixes upward in the level hierarchy, and to disallow the prefixes upward in the level hierarchy, and to disallow the
advertising of prefixes downward in the hierarchy. advertising of prefixes downward in the hierarchy.
To prevent this looping of prefixes between levels, a new bit of To prevent this looping of prefixes between levels, a new bit of
information is defined in the new extended IP reachability TLV. This information is defined in the new extended IP reachability TLV. This
bit is called the up/down bit. The up/down bit shall be set to 0 bit is called the up/down bit. The up/down bit SHALL be set to 0
when a prefix is first injected into IS-IS. If a prefix is when a prefix is first injected into IS-IS. If a prefix is
advertised from a higher level to a lower level (e.g. level two to advertised from a higher level to a lower level (e.g. level two to
level one), the bit shall be set to 1, to indicate that the prefix level one), the bit SHALL be set to 1, to indicate that the prefix
has traveled down the hierarchy. Prefixes that have the up/down bit has traveled down the hierarchy. Prefixes that have the up/down bit
set to 1 may only be advertised down the hierarchy, i.e. to lower set to 1 may only be advertised down the hierarchy, i.e. to lower
levels. levels.
These semantics apply even if IS-IS is extended in the future to have These semantics apply even if IS-IS is extended in the future to have
additional levels. By insuring that prefixes follow only the IS-IS additional levels. By insuring that prefixes follow only the IS-IS
hierarchy, we have insured that the information does not loop, hierarchy, we have insured that the information does not loop,
thereby insuring that there are no persistent forwarding loops. thereby insuring that there are no persistent forwarding loops.
If a prefix is advertised from an area to another area at the same If a prefix is advertised from an area to another area at the same
level, then the up/down bit shall be set to 1. This situation can level, then the up/down bit SHALL be set to 1. This situation can
arise when a router implements multiple virtual routers at the same arise when a router implements multiple virtual routers at the same
level, but in different areas. level, but in different areas.
The semantics of the up/down bit in the new extended IP reachability The semantics of the up/down bit in the new extended IP reachability
TLV are identical to the semantics of the up/down bit defined in TLV are identical to the semantics of the up/down bit defined in RFC
RFC 2966 [4]. 2966 [2].
5.2 Expandability of the extended IP reachability TLV with sub-TLVs 4.2 Expandability of the extended IP reachability TLV with sub-TLVs
The extended IP reachability TLV can hold sub-TLVs that apply to a The extended IP reachability TLV can hold sub-TLVs that apply to a
particular prefix. This allows for easy future extensions. If there particular prefix. This allows for easy future extensions. If there
are no sub-TLVs associated with a prefix, the bit indicating the are no sub-TLVs associated with a prefix, the bit indicating the
presence of sub-TLVs shall be set to 0. If this bit is set to 1, the presence of sub-TLVs SHALL be set to 0. If this bit is set to 1, the
first octet after the prefix will be interpreted as the length of first octet after the prefix will be interpreted as the length of all
sub-TLVs. Please note that while the encoding allows for 255 octets sub-TLVs associated with this IPv4 prefix. Please note that while
of sub-TLVs, the maximum value cannot fit in the overall extended IP the encoding allows for 255 octets of sub-TLVs, the maximum value
reachability TLV. The practical maximum is 255 octets minus the 5-9 cannot fit in the overall extended IP reachability TLV. The practical
octets described above, or 250 octets. maximum is 255 octets minus the 5-9 octets described above, or 250
octets.
This document does not define any sub-TLVs yet for the extended IP This document does not define any sub-TLVs yet for the extended IP
reachability TLV. reachability TLV.
6.0 The Traffic Engineering router ID TLV 5.0 The Traffic Engineering router ID TLV
The Traffic Engineering router ID TLV is TLV type 134. The Traffic Engineering router ID TLV is TLV type 134.
The router ID TLV contains the 4-octet router ID of the router The router ID TLV contains the 4-octet router ID of the router
originating the LSP. This is useful in several regards: originating the LSP. This is useful in several regards:
For traffic engineering, it guarantees that we have a single stable For traffic engineering, it guarantees that we have a single stable
address that can always be referenced in a path that will be address that can always be referenced in a path that will be
reachable from multiple hops away, regardless of the state of the reachable from multiple hops away, regardless of the state of the
node's interfaces. node's interfaces.
If OSPF is also active in the domain, traffic engineering can compute If OSPF is also active in the domain, traffic engineering can compute
the mapping between the OSPF and IS-IS topologies. the mapping between the OSPF and IS-IS topologies.
If a router does not implement traffic engineering it MAY add or omit
the Traffic Engineering router ID TLV. If a router implements
traffic engineering, it MUST include this TLV in its LSP. This TLV
SHOULD not be included more than once in a LSP.
If a router advertises the Traffic Engineering router ID TLV in its If a router advertises the Traffic Engineering router ID TLV in its
LSP, and if it advertises BGP routes with the BGP next hop attribute LSP, and if it advertises prefixes via the Border Gateway Protocol
set to the BGP router ID, in that case the Traffic Engineering router (BGP) with the BGP next hop attribute set to the BGP router ID, in
ID should be the same as the BGP router ID. that case the Traffic Engineering router ID SHOULD be the same as the
BGP router ID.
Implementations MUST NOT inject a /32 prefix for the router ID into Implementations MUST NOT inject a /32 prefix for the router ID into
their forwarding table, because this can lead to forwarding loops their forwarding table, because this can lead to forwarding loops
when interacting with systems that do not support this TLV. when interacting with systems that do not support this TLV.
7.0 Security Considerations Normative References
This document raises no new security issues for IS-IS. [1] ISO 10589, "Intermediate System to Intermediate System Intra-
Domain Routeing Exchange Protocol for use in Conjunction with the
Protocol for Providing the Connectionless-mode Network Service (ISO
8473)" [Also republished as RFC 1142]
8.0 Acknowledgments [2] RFC 2966, "Domain-wide Prefix Distribution with Two-Level IS-IS",
T. Li, T. Przygienda, H. Smit, October 2000.
The authors would like to thank Yakov Rekhter and Dave Katz for their Informative References
comments on this work.
9.0 References [3] RFC 1195, "Use of OSI IS-IS for routing in TCP/IP and dual
environments", R.W. Callon, December 1990
[1] RFC 2702, "Requirements for Traffic Engineering Over MPLS," D. [4] RFC 2702, "Requirements for Traffic Engineering Over MPLS," D.
Awduche, J. Malcolm, J. Agogbua, M. O'Dell, and J. McManus, September Awduche, J. Malcolm, J. Agogbua, M. O'Dell, and J. McManus, September
1999. 1999.
[2] ISO 10589, "Intermediate System to Intermediate System Intra- Security Considerations
Domain Routeing Exchange Protocol for use in Conjunction with the
Protocol for Providing the Connectionless-mode Network Service (ISO
8473)" [Also republished as RFC 1142]
[3] RFC 1195, "Use of OSI IS-IS for routing in TCP/IP and dual This document raises no new security issues for IS-IS.
environments", R.W. Callon, December 1990
[4] RFC 2966, "Domain-wide Prefix Distribution with Two-Level IS-IS", Acknowledgments
T. Li, T. Przygienda, H. Smit, October 2000.
10.0 Authors' Addresses The authors would like to thank Yakov Rekhter and Dave Katz for their
comments on this work.
Authors' Addresses
Tony Li Tony Li
Procket Networks, Inc. Procket Networks, Inc.
1100 Cadillac Court 1100 Cadillac Court
Milpitas, CA 95035 Milpitas, CA 95035
Email: tli@procket.com Email: tli@procket.com
Voice: +1 408 6357900 Voice: +1 408 6357900
Fax: +1 408 6356166 Fax: +1 408 6356166
Henk Smit Henk Smit
Procket Networks, Inc. Email: hhwsmit@freeler.nl
1100 Cadillac Court
Milpitas, CA 95035
Email: henk@procket.com
Voice: +1 408 6357900
Fax: +1 408 6356166
 End of changes. 61 change blocks. 
139 lines changed or deleted 184 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/