OSPF Advertisement of Tunnel EncapsulationsCapitalonlinexiaohu.xu@capitalonline.netOrangebruno.decraene@orange.comNTT Network Innovations940 Stewart DrSunnyvaleCA94085United States of Americarobert@raszuk.netTelefonica I+Dluismiguel.contrerasmurillo@telefonica.comVerizonluay.jalil@verizon.comBGPNetworks use tunnels for a variety of reasons. A large variety of
tunnel types are defined, and the tunnel encapsulator router needs to select a
type of tunnel that is supported by the tunnel decapsulator router. This document
defines how to advertise, in OSPF Router Information Link State Advertisements (LSAs),
the list of tunnel encapsulations supported by the tunnel decapsulator.IntroductionNetworks use tunnels for a variety of reasons, such as:
Partial deployment of IPv6 in IPv4 networks or IPv4 in IPv6
networks, as described in , where IPvx
tunnels are used between IPvx-enabled routers so as to traverse
non-IPvx routers.
Remote Loop-Free Alternate (RLFA) repair tunnels as described in
, where tunnels are used between the Point
of Local Repair and the selected PQ node.
The tunnel encapsulator router needs to select a type of tunnel that is
supported by the tunnel decapsulator router. This document
defines how to advertise, in OSPF Router Information Link State Advertisements (LSAs),
the list of tunnel encapsulations supported by the tunnel decapsulator.
In this document, OSPF refers to both OSPFv2
and OSPFv3 .TerminologyThis memo makes use of the terms defined in .
The key words "MUST", "MUST NOT",
"REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT",
"RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are
to be interpreted as
described in BCP 14
when, and only when, they appear in all capitals, as shown here.
Tunnel Encapsulations TLVRouters advertise their supported tunnel encapsulation type(s) by
advertising a new TLV of the OSPF Router Information (RI) Opaque LSA
, referred to as the "Tunnel Encapsulations TLV".
This TLV is applicable to both OSPFv2 and OSPFv3.The Type code of the Tunnel Encapsulations TLV is 13, the
Length value is variable, and the Value field contains one or more
Tunnel Sub-TLVs, as defined in .
Each Tunnel Sub-TLV indicates a particular encapsulation
format that the advertising router supports, along with the parameters
corresponding to the tunnel type.The Tunnel Encapsulations TLV MAY appear more than once
within a given OSPF Router Information (RI) Opaque LSA. If the Tunnel
Encapsulations TLV appears more than once in an OSPF Router
Information LSA, the set of all Tunnel Sub-TLVs from all Tunnel
Encapsulations TLVs SHOULD be considered. The scope of
the advertisement depends on the
application, but it is recommended that it SHOULD be
domain wide.Tunnel Sub-TLVThe Tunnel Sub-TLV is structured as shown in .
Tunnel Type (2 octets):
Identifies the type of tunneling
technology signaled. Tunnel types are shared with the BGP
extension and hence are
defined in the IANA registry "BGP Tunnel Encapsulation Attribute
Tunnel Types". Unknown tunnel types are to be ignored upon
receipt.
Length (2 octets):
Unsigned 16-bit integer indicating the total
number of octets of the Tunnel Parameter Sub-TLVs field.
Tunnel Parameter Sub-TLVs (variable):
Zero or more Tunnel Parameter
Sub-TLVs, as defined in .
If a Tunnel Sub-TLV is invalid, it MUST be ignored and skipped. However,
other Tunnel Sub-TLVs MUST be considered.Tunnel Parameter Sub-TLVsA Tunnel Parameter Sub-TLV is structured as shown in .
Tunnel Parameter Sub-Type (2 octets):
Each sub-type defines a
parameter of the Tunnel Sub-TLV. Sub-types are
registered in the IANA registry "OSPF Tunnel Parameter Sub-TLVs"
(see ).
Tunnel Parameter Length (2 octets):
Unsigned 16-bit integer indicating the
total number of octets of the Tunnel Parameter Value field.
Tunnel Parameter Value (variable):
Encodings of the Value field depend on
the sub-TLV type. The following subsections
define the encoding in detail.
Any unknown Tunnel Parameter sub-type MUST be ignored
and skipped upon receipt. When a reserved
value (see ) is seen in an LSA, it
MUST be treated as an invalid Tunnel Parameter Sub-TLV. When a Tunnel Parameter Value has an incorrect syntax or semantics, it MUST be treated as an invalid Tunnel Parameter Sub-TLV. If a Tunnel Parameter Sub-TLV is invalid, its
Tunnel Sub-TLV MUST be ignored. However,
other Tunnel Sub-TLVs MUST be considered.Encapsulation Sub-TLVThis sub-TLV type is 1. The syntax, semantics, and usage of its
Value field are defined in Section "Encapsulation Sub-TLVs for
Particular Tunnel Types" of .Protocol Type Sub-TLVThis sub-TLV type is 2. The syntax, semantics, and usage of its
Value field are defined in Section "Protocol Type Sub-TLV" of
.Tunnel Egress Endpoint Sub-TLVThe Tunnel Egress Endpoint Sub-TLV specifies the address of the egress endpoint of the tunnel -- that is, the address of the router that will decapsulate the payload.This sub-TLV type is 3. It MUST be present once and only once in a given Tunnel Sub-TLV. The Value field contains two subfields:
a two-octet Address Family subfield
an Address subfield, whose length depends upon the Address Family
The Address Family subfield contains a value from IANA's "Address
Family Numbers" registry. In this document, we assume that the
Address Family is either IPv4 or IPv6; use of other address families
is outside the scope of this document.If the Address Family subfield contains the value for IPv4, the
Address subfield MUST contain an IPv4 address (a /32 IPv4 prefix).
In this case, the Length field of the Tunnel Egress Endpoint Sub-TLV MUST contain the value 6.If the Address Family subfield contains the value for IPv6, the
address subfield MUST contain an IPv6 address (a /128 IPv6 prefix).
In this case, the Length field of the Tunnel Egress Endpoint Sub-TLV MUST
contain the value 18 (0x12). IPv6 link-local addresses are not valid
values of the IP address field.Color Sub-TLVThis sub-TLV type is 4. It may appear zero or more times in a given
Tunnel Sub-TLV. The Value field is a 4-octet opaque unsigned
integer.The color value is user-defined and configured locally on the
advertising routers. It may be used by service providers to define
policies on the tunnel encapsulator routers, for example, to control the
selection of the tunnel to use.This color value can be referenced by BGP routes carrying the Color
Extended Community . If the
tunnel is used to reach the BGP next hop of BGP routes, then attaching
a Color Extended Community to those routes expresses the
willingness of the BGP speaker to use a tunnel of the same color.Load-Balancing Block Sub-TLVThis sub-TLV type is 5. The syntax, semantics, and usage of its
Value field are defined in .DS Field Sub-TLVThis sub-TLV type is 6. The syntax, semantics, and usage of its
Value field are defined in Section "DS Field"
of .UDP Destination Port Sub-TLVThis sub-TLV type is 7. The syntax, semantics, and usage of its
Value field are defined in Section "UDP Destination Port" of .OperationThe advertisement of a Tunnel Encapsulations Sub-TLV indicates that the advertising router
supports a particular tunnel decapsulation along with the parameters to
be used for the tunnel. The decision to use that tunnel is driven by the
capability of the tunnel encapsulator router to support the encapsulation type and
the policy on the tunnel encapsulator router. The Color Sub-TLV (see ) may be used as an input to this policy. Note that
some tunnel types may require the execution of an explicit tunnel setup
protocol before they can be used to transit data. A tunnel MUST NOT be
used if there is no route toward the IP address specified in the
Tunnel Egress Endpoint Sub-TLV (see ) or if the route is
not advertised in the same OSPF domain.IANA ConsiderationsOSPF Router Information (RI) TLVs RegistryIANA has allocated the following new code point in the
"OSPF Router Information (RI) TLVs" registry.
Addition to OSPF Router Information (RI) TLVs Registry
Value
TLV Name
Reference
13
Tunnel Encapsulations
RFC 9013
OSPF Tunnel Parameter Sub-TLVs RegistryIANA has created a new subregistry called the "OSPF Tunnel
Parameter Sub-TLVs" registry under the "Open Shortest Path
First (OSPF) Parameters" registry. The registration procedures are as follows:
The values in the range 1-34999 are to be allocated using the
"Standards Action" registration procedure defined in .
The values in the range 35000-65499 are to be allocated using the
"First Come First Served" registration procedure.
The initial contents of the registry are as follows:
Initial Contents of OSPF Tunnel Parameter Sub-TLVs Registry
Value
TLV Name
Reference
0
Reserved
RFC 9013
1
Encapsulation
RFC 9013 & RFC 9012
2
Protocol Type
RFC 9013 & RFC 9012
3
Endpoint
RFC 9013
4
Color
RFC 9013
5
Load-Balancing Block
RFC 9013 & RFC 5640
6
DS Field
RFC 9013 & RFC 9012
7
UDP Destination Port
RFC 9013 & RFC 9012
8-65499
Unassigned
65500-65534
Experimental
RFC 9013
65535
Reserved
RFC 9013
Security ConsiderationsSecurity considerations applicable to softwires can be found in the
mesh framework . In general, security issues of
the tunnel protocols signaled through this OSPF capability extension are
inherited.If a third party is able to modify any of the information that is
used to form encapsulation headers, choose a tunnel type, or
choose a particular tunnel for a particular payload type, user data
packets may end up getting misrouted, misdelivered, and/or dropped.
However, since an OSPF routing domain is usually a well-controlled network
under a single administrative domain, the possibility of the above attack is very low.We note that the last paragraph of forbids the establishment of a tunnel toward
arbitrary destinations. It prohibits a destination outside of the OSPF
domain. This prevents a third
party that has gained access to an OSPF router from being able to send
the traffic to other destinations, e.g., for inspection purposes.Security considerations for the base OSPF protocol are covered in
and .ReferencesNormative ReferencesThe BGP Tunnel Encapsulation AttributeInformative ReferencesAcknowledgementsThis document is partially inspired by .The authors would like to thank ,
, , and for their
valuable comments on this
document. Special thanks should be given to for his multiple
detailed reviews of this document and help. The authors would like to
thank , , , , , and
for their Last Call reviews. The authors also thank
, , , , ,
, and for their AD reviews.ContributorsHuaweiuma.chunduri@gmail.com