Showing content from https://www.rfc-editor.org/rfc/rfc9013.xml below:
Introduction Networks 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 . Terminology This 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 TLV Routers 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-TLV The Tunnel Sub-TLV is structured as shown in . Tunnel Sub-TLV 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Tunnel Type (2 octets) | Length (2 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Tunnel Parameter Sub-TLVs | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
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-TLVs A Tunnel Parameter Sub-TLV is structured as shown in . Tunnel Parameter Sub-TLV +---------------------------------------------+ | Tunnel Parameter Sub-Type (2 octets) | +---------------------------------------------+ | Tunnel Parameter Length (2 octets) | +---------------------------------------------+ | Tunnel Parameter Value (variable) | | | +---------------------------------------------+
-
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-TLV This 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-TLV This 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-TLV The 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
Tunnel Egress Endpoint Sub-TLV 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Address Family | Address ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + ~ (variable length) ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 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-TLV This 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-TLV This sub-TLV type is 5. The syntax, semantics, and usage of its Value field are defined in . DS Field Sub-TLV This 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-TLV This sub-TLV type is 7. The syntax, semantics, and usage of its Value field are defined in Section "UDP Destination Port" of . Operation The 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 Considerations OSPF Router Information (RI) TLVs Registry IANA 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 Registry IANA 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 Considerations Security 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 .
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4