idnits 2.17.1 draft-templin-6man-omni-interface-27.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- == The 'Updates: ' line in the draft header should list only the _numbers_ of the RFCs which will be updated by this document (if approved); it should not include the word 'RFC' in the list. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (July 2, 2020) is 1387 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Looks like a reference, but probably isn't: '00' on line 893 -- Looks like a reference, but probably isn't: '03' on line 887 -- Looks like a reference, but probably isn't: '04' on line 888 -- Looks like a reference, but probably isn't: '07' on line 888 -- Looks like a reference, but probably isn't: '28' on line 889 -- Looks like a reference, but probably isn't: '31' on line 889 -- Looks like a reference, but probably isn't: '63' on line 893 -- Looks like a reference, but probably isn't: '64' on line 895 -- Looks like a reference, but probably isn't: '65' on line 895 -- Looks like a reference, but probably isn't: '66' on line 895 -- Looks like a reference, but probably isn't: '1' on line 972 -- Looks like a reference, but probably isn't: '2' on line 974 -- Looks like a reference, but probably isn't: '3' on line 974 == Missing Reference: 'N' is mentioned on line 978, but not defined == Missing Reference: 'RFCXXXX' is mentioned on line 1501, but not defined -- Looks like a reference, but probably isn't: '67' on line 1840 -- Looks like a reference, but probably isn't: '70' on line 1841 -- Looks like a reference, but probably isn't: '76' on line 1841 == Unused Reference: 'RFC2225' is defined on line 1684, but no explicit reference was found in the text == Unused Reference: 'RFC5175' is defined on line 1750, but no explicit reference was found in the text == Unused Reference: 'RFC7421' is defined on line 1791, but no explicit reference was found in the text == Unused Reference: 'RFC8754' is defined on line 1826, but no explicit reference was found in the text == Outdated reference: A later version (-13) exists of draft-ietf-intarea-tunnels-10 == Outdated reference: A later version (-11) exists of draft-templin-6man-dhcpv6-ndopt-10 == Outdated reference: A later version (-99) exists of draft-templin-intarea-6706bis-58 Summary: 0 errors (**), 0 flaws (~~), 11 warnings (==), 17 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group F. Templin, Ed. 3 Internet-Draft The Boeing Company 4 Updates: rfc4193, rfc4291, rfc4443, A. Whyman 5 rfc8201 (if approved) MWA Ltd c/o Inmarsat Global Ltd 6 Intended status: Standards Track July 2, 2020 7 Expires: January 3, 2021 9 Transmission of IPv6 Packets over Overlay Multilink Network (OMNI) 10 Interfaces 11 draft-templin-6man-omni-interface-27 13 Abstract 15 Mobile nodes (e.g., aircraft of various configurations, terrestrial 16 vehicles, seagoing vessels, enterprise wireless devices, etc.) 17 communicate with networked correspondents over multiple access 18 network data links and configure mobile routers to connect end user 19 networks. A multilink interface specification is therefore needed 20 for coordination with the network-based mobility service. This 21 document specifies the transmission of IPv6 packets over Overlay 22 Multilink Network (OMNI) Interfaces. 24 Status of This Memo 26 This Internet-Draft is submitted in full conformance with the 27 provisions of BCP 78 and BCP 79. 29 Internet-Drafts are working documents of the Internet Engineering 30 Task Force (IETF). Note that other groups may also distribute 31 working documents as Internet-Drafts. The list of current Internet- 32 Drafts is at https://datatracker.ietf.org/drafts/current/. 34 Internet-Drafts are draft documents valid for a maximum of six months 35 and may be updated, replaced, or obsoleted by other documents at any 36 time. It is inappropriate to use Internet-Drafts as reference 37 material or to cite them other than as "work in progress." 39 This Internet-Draft will expire on January 3, 2021. 41 Copyright Notice 43 Copyright (c) 2020 IETF Trust and the persons identified as the 44 document authors. All rights reserved. 46 This document is subject to BCP 78 and the IETF Trust's Legal 47 Provisions Relating to IETF Documents 48 (https://trustee.ietf.org/license-info) in effect on the date of 49 publication of this document. Please review these documents 50 carefully, as they describe your rights and restrictions with respect 51 to this document. Code Components extracted from this document must 52 include Simplified BSD License text as described in Section 4.e of 53 the Trust Legal Provisions and are provided without warranty as 54 described in the Simplified BSD License. 56 Table of Contents 58 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 59 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 60 3. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 7 61 4. Overlay Multilink Network (OMNI) Interface Model . . . . . . 7 62 5. Maximum Transmission Unit (MTU) and Fragmentation . . . . . . 11 63 5.1. Fragmentation Security Implications . . . . . . . . . . . 13 64 6. Frame Format . . . . . . . . . . . . . . . . . . . . . . . . 14 65 7. Link-Local Addresses (LLAs) . . . . . . . . . . . . . . . . . 14 66 8. Unique-Local Addresses (ULAs) . . . . . . . . . . . . . . . . 15 67 9. Address Mapping - Unicast . . . . . . . . . . . . . . . . . . 16 68 9.1. Sub-Options . . . . . . . . . . . . . . . . . . . . . . . 17 69 9.1.1. Pad1 . . . . . . . . . . . . . . . . . . . . . . . . 18 70 9.1.2. PadN . . . . . . . . . . . . . . . . . . . . . . . . 18 71 9.1.3. ifIndex-tuple (Type 1) . . . . . . . . . . . . . . . 18 72 9.1.4. ifIndex-tuple (Type 2) . . . . . . . . . . . . . . . 21 73 9.1.5. MS-Register . . . . . . . . . . . . . . . . . . . . . 21 74 9.1.6. MS-Release . . . . . . . . . . . . . . . . . . . . . 22 75 9.1.7. Network Access Identifier (NAI) . . . . . . . . . . . 23 76 9.1.8. Geo Coordiantes . . . . . . . . . . . . . . . . . . . 23 77 10. Address Mapping - Multicast . . . . . . . . . . . . . . . . . 23 78 11. Conceptual Sending Algorithm . . . . . . . . . . . . . . . . 24 79 11.1. Multiple OMNI Interfaces . . . . . . . . . . . . . . . . 24 80 12. Router Discovery and Prefix Registration . . . . . . . . . . 25 81 12.1. Multihop Router Discovery . . . . . . . . . . . . . . . 28 82 13. Secure Redirection . . . . . . . . . . . . . . . . . . . . . 29 83 14. AR and MSE Resilience . . . . . . . . . . . . . . . . . . . . 30 84 15. Detecting and Responding to MSE Failures . . . . . . . . . . 30 85 16. Transition Considerations . . . . . . . . . . . . . . . . . . 31 86 17. OMNI Interfaces on the Open Internet . . . . . . . . . . . . 31 87 18. Time-Varying MNPs . . . . . . . . . . . . . . . . . . . . . . 32 88 19. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 33 89 20. Security Considerations . . . . . . . . . . . . . . . . . . . 34 90 21. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 34 91 22. References . . . . . . . . . . . . . . . . . . . . . . . . . 35 92 22.1. Normative References . . . . . . . . . . . . . . . . . . 35 93 22.2. Informative References . . . . . . . . . . . . . . . . . 37 94 Appendix A. Type 1 ifIndex-tuple Traffic Classifier Preference 95 Encoding . . . . . . . . . . . . . . . . . . . . . . 40 96 Appendix B. VDL Mode 2 Considerations . . . . . . . . . . . . . 42 97 Appendix C. MN / AR Isolation Through L2 Address Mapping . . . . 43 98 Appendix D. Change Log . . . . . . . . . . . . . . . . . . . . . 44 99 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 46 101 1. Introduction 103 Mobile Nodes (MNs) (e.g., aircraft of various configurations, 104 terrestrial vehicles, seagoing vessels, enterprise wireless devices, 105 etc.) often have multiple data links for communicating with networked 106 correspondents. These data links may have diverse performance, cost 107 and availability properties that can change dynamically according to 108 mobility patterns, flight phases, proximity to infrastructure, etc. 109 MNs coordinate their data links in a discipline known as "multilink", 110 in which a single virtual interface is configured over the underlying 111 data links. 113 The MN configures a virtual interface (termed the "Overlay Multilink 114 Network (OMNI) interface") as a thin layer over the underlying Access 115 Network (ANET) interfaces. The OMNI interface is therefore the only 116 interface abstraction exposed to the IPv6 layer and behaves according 117 to the Non-Broadcast, Multiple Access (NBMA) interface principle, 118 while underlying interfaces appear as link layer communication 119 channels in the architecture. The OMNI interface connects to a 120 virtual overlay service known as the "OMNI link". The OMNI link 121 spans one or more Internetworks that may include private-use 122 infrastructures and/or the global public Internet itself. 124 Each MN receives a Mobile Network Prefix (MNP) for numbering 125 downstream-attached End User Networks (EUNs) independently of the 126 access network data links selected for data transport. The MN 127 performs router discovery over the OMNI interface (i.e., similar to 128 IPv6 customer edge routers [RFC7084]) and acts as a mobile router on 129 behalf of its EUNs. The router discovery process is iterated over 130 each of the OMNI interface's underlying interfaces in order to 131 register per-link parameters (see Section 12). 133 The OMNI interface provides a multilink nexus for exchanging inbound 134 and outbound traffic via the correct underlying interface(s). The 135 IPv6 layer sees the OMNI interface as a point of connection to the 136 OMNI link. Each OMNI link has one or more associated Mobility 137 Service Prefixes (MSPs) from which OMNI link MNPs are derived. If 138 there are multiple OMNI links, the IPv6 layer will see multiple OMNI 139 interfaces. 141 MNs may connect to multiple distinct OMNI links by configuring 142 multiple OMNI interfaces, e.g., omni0, omni1, omni2, etc. Each OMNI 143 interface is configured over a set of underlying interfaces and 144 provides a nexus for Safety-Based Multilink (SBM) operation. The IP 145 layer selects an OMNI interface based on SBM routing considerations, 146 then the selected interface applies Performance-Based Multilink (PBM) 147 to select the correct underlying interface. Applications can apply 148 Segment Routing [RFC8402] to select independent SBM topologies for 149 fault tolerance. 151 The OMNI interface interacts with a network-based Mobility Service 152 (MS) through IPv6 Neighbor Discovery (ND) control message exchanges 153 [RFC4861]. The MS provides Mobility Service Endpoints (MSEs) that 154 track MN movements and represent their MNPs in a global routing or 155 mapping system. 157 This document specifies the transmission of IPv6 packets [RFC8200] 158 and MN/MS control messaging over OMNI interfaces. 160 2. Terminology 162 The terminology in the normative references applies; especially, the 163 terms "link" and "interface" are the same as defined in the IPv6 164 [RFC8200] and IPv6 Neighbor Discovery (ND) [RFC4861] specifications. 165 Also, the Protocol Constants defined in Section 10 of [RFC4861] are 166 used in their same format and meaning in this document. The terms 167 "All-Routers multicast", "All-Nodes multicast" and "Subnet-Router 168 anycast" are the same as defined in [RFC4291] (with Link-Local scope 169 assumed). 171 The following terms are defined within the scope of this document: 173 Mobile Node (MN) 174 an end system with a mobile router having multiple distinct 175 upstream data link connections that are grouped together in one or 176 more logical units. The MN's data link connection parameters can 177 change over time due to, e.g., node mobility, link quality, etc. 178 The MN further connects a downstream-attached End User Network 179 (EUN). The term MN used here is distinct from uses in other 180 documents, and does not imply a particular mobility protocol. 182 End User Network (EUN) 183 a simple or complex downstream-attached mobile network that 184 travels with the MN as a single logical unit. The IPv6 addresses 185 assigned to EUN devices remain stable even if the MN's upstream 186 data link connections change. 188 Mobility Service (MS) 189 a mobile routing service that tracks MN movements and ensures that 190 MNs remain continuously reachable even across mobility events. 191 Specific MS details are out of scope for this document. 193 Mobility Service Endpoint (MSE) 194 an entity in the MS (either singular or aggregate) that 195 coordinates the mobility events of one or more MN. 197 Mobility Service Prefix (MSP) 198 an aggregated IPv6 prefix (e.g., 2001:db8::/32) advertised to the 199 rest of the Internetwork by the MS, and from which more-specific 200 Mobile Network Prefixes (MNPs) are derived. 202 Mobile Network Prefix (MNP) 203 a longer IPv6 prefix taken from an MSP (e.g., 204 2001:db8:1000:2000::/56) and assigned to a MN. MNs sub-delegate 205 the MNP to devices located in EUNs. 207 Access Network (ANET) 208 a data link service network (e.g., an aviation radio access 209 network, satellite service provider network, cellular operator 210 network, wifi network, etc.) that connects MNs. Physical and/or 211 data link level security between the MN and ANET are assumed. 213 Access Router (AR) 214 a first-hop router in the ANET for connecting MNs to 215 correspondents in outside Internetworks. 217 ANET interface 218 a MN's attachment to a link in an ANET. 220 Internetwork (INET) 221 a connected network region with a coherent IP addressing plan that 222 provides transit forwarding services for ANET MNs and INET 223 correspondents. Examples include private enterprise networks, 224 ground domain aviation service networks and the global public 225 Internet itself. 227 INET interface 228 a node's attachment to a link in an INET. 230 OMNI link 231 a Non-Broadcast, Multiple Access (NBMA) virtual overlay configured 232 over one or more INETs and their connected ANETs. An OMNI link 233 can comprise multiple INET segments joined by bridges the same as 234 for any link; the addressing plans in each segment may be mutually 235 exclusive and managed by different administrative entities. 237 OMNI interface 238 a node's attachment to an OMNI link, and configured over one or 239 more underlying ANET/INET interfaces. 241 OMNI Link-Local Address (LLA) 242 a link local IPv6 address per [RFC4291] constructed as specified 243 in Section 7. 245 OMNI Unique-Local Address (ULA) 246 a unique local IPv6 address per [RFC4193] constructed as specified 247 in Section 8. OMNI ULAs are statelessly derived from OMNI LLAs, 248 and vice-versa. 250 OMNI Option 251 an IPv6 Neighbor Discovery option providing multilink parameters 252 for the OMNI interface as specified in Section 9. 254 Multilink 255 an OMNI interface's manner of managing diverse underlying data 256 link interfaces as a single logical unit. The OMNI interface 257 provides a single unified interface to upper layers, while 258 underlying data link selections are performed on a per-packet 259 basis considering factors such as DSCP, flow label, application 260 policy, signal quality, cost, etc. Multilinking decisions are 261 coordinated in both the outbound (i.e. MN to correspondent) and 262 inbound (i.e., correspondent to MN) directions. 264 L2 265 The second layer in the OSI network model. Also known as "layer- 266 2", "link-layer", "sub-IP layer", "data link layer", etc. 268 L3 269 The third layer in the OSI network model. Also known as "layer- 270 3", "network-layer", "IPv6 layer", etc. 272 underlying interface 273 an ANET/INET interface over which an OMNI interface is configured. 274 The OMNI interface is seen as a L3 interface by the IP layer, and 275 each underlying interface is seen as a L2 interface by the OMNI 276 interface. 278 Mobility Service Identification (MSID) 279 Each MSE and AR is assigned a unique 32-bit Identification (MSID) 280 as specified in Section 7. 282 Safety-Based Multilink (SBM) 283 A means for ensuring fault tolerance through redundancy by 284 connecting multiple independent OMNI interfaces to independent 285 routing topologies (i.e., multiple independent OMNI links). 287 Performance Based Multilink (PBM) 288 A means for selecting underlying interface(s) for packet 289 trasnmission and reception within a single OMNI interface. 291 3. Requirements 293 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 294 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 295 "OPTIONAL" in this document are to be interpreted as described in BCP 296 14 [RFC2119][RFC8174] when, and only when, they appear in all 297 capitals, as shown here. 299 An implementation is not required to internally use the architectural 300 constructs described here so long as its external behavior is 301 consistent with that described in this document. 303 4. Overlay Multilink Network (OMNI) Interface Model 305 An OMNI interface is a MN virtual interface configured over one or 306 more underlying interfaces, which may be physical (e.g., an 307 aeronautical radio link) or virtual (e.g., an Internet or higher- 308 layer "tunnel"). The MN receives a MNP from the MS, and coordinates 309 with the MS through IPv6 ND message exchanges. The MN uses the MNP 310 to construct a unique OMNI LLA through the algorithmic derivation 311 specified in Section 7 and assigns the LLA to the OMNI interface. 313 The OMNI interface architectural layering model is the same as in 314 [RFC5558][RFC7847], and augmented as shown in Figure 1. The IP layer 315 therefore sees the OMNI interface as a single L3 interface with 316 multiple underlying interfaces that appear as L2 communication 317 channels in the architecture. 319 +----------------------------+ 320 | Upper Layer Protocol | 321 Session-to-IP +---->| | 322 Address Binding | +----------------------------+ 323 +---->| IP (L3) | 324 IP Address +---->| | 325 Binding | +----------------------------+ 326 +---->| OMNI Interface | 327 Logical-to- +---->| (OMNI LLA) | 328 Physical | +----------------------------+ 329 Interface +---->| L2 | L2 | | L2 | 330 Binding |(IF#1)|(IF#2)| ..... |(IF#n)| 331 +------+------+ +------+ 332 | L1 | L1 | | L1 | 333 | | | | | 334 +------+------+ +------+ 336 Figure 1: OMNI Interface Architectural Layering Model 338 The OMNI virtual interface model gives rise to a number of 339 opportunities: 341 o since OMNI LLAs are uniquely derived from an MNP, no Duplicate 342 Address Detection (DAD) or Muticast Listener Discovery (MLD) 343 messaging is necessary. 345 o ANET interfaces do not require any L3 addresses (i.e., not even 346 link-local) in environments where communications are coordinated 347 entirely over the OMNI interface. (An alternative would be to 348 also assign the same OMNI LLA to all ANET interfaces.) 350 o as ANET interface properties change (e.g., link quality, cost, 351 availability, etc.), any active ANET interface can be used to 352 update the profiles of multiple additional ANET interfaces in a 353 single message. This allows for timely adaptation and service 354 continuity under dynamically changing conditions. 356 o coordinating ANET interfaces in this way allows them to be 357 represented in a unified MS profile with provisions for mobility 358 and multilink operations. 360 o exposing a single virtual interface abstraction to the IPv6 layer 361 allows for multilink operation (including QoS based link 362 selection, packet replication, load balancing, etc.) at L2 while 363 still permitting L3 traffic shaping based on, e.g., DSCP, flow 364 label, etc. 366 o L3 sees the OMNI interface as a point of connection to the OMNI 367 link; if there are multiple OMNI links (i.e., multiple MS's), L3 368 will see multiple OMNI interfaces. 370 o Multiple independent OMNI interfaces can be used for increased 371 fault tolerance through Safety-Based Multilink (SBM), with 372 Performance-Based Multilink (PBM) applied within each interface. 374 Other opportunities are discussed in [RFC7847]. 376 Figure 2 depicts the architectural model for a MN connecting to the 377 MS via multiple independent ANETs. When an underlying interface 378 becomes active, the MN's OMNI interface sends native (i.e., 379 unencapsulated) IPv6 ND messages via the underlying interface. IPv6 380 ND messages traverse the ground domain ANETs until they reach an 381 Access Router (AR#1, AR#2, .., AR#n). The AR then coordinates with a 382 Mobility Service Endpoint (MSE#1, MSE#2, ..., MSE#m) in the INET and 383 returns an IPv6 ND message response to the MN. IPv6 ND messages 384 traverse the ANET at layer 2; hence, the Hop Limit is not 385 decremented. 387 +--------------+ 388 | MN | 389 +--------------+ 390 |OMNI interface| 391 +----+----+----+ 392 +--------|IF#1|IF#2|IF#n|------ + 393 / +----+----+----+ \ 394 / | \ 395 / <---- Native | IP ----> \ 396 v v v 397 (:::)-. (:::)-. (:::)-. 398 .-(::ANET:::) .-(::ANET:::) .-(::ANET:::) 399 `-(::::)-' `-(::::)-' `-(::::)-' 400 +----+ +----+ +----+ 401 ... |AR#1| .......... |AR#2| ......... |AR#n| ... 402 . +-|--+ +-|--+ +-|--+ . 403 . | | | 404 . v v v . 405 . <----- Encapsulation -----> . 406 . . 407 . +-----+ (:::)-. . 408 . |MSE#2| .-(::::::::) +-----+ . 409 . +-----+ .-(::: INET :::)-. |MSE#m| . 410 . (::::: Routing ::::) +-----+ . 411 . `-(::: System :::)-' . 412 . +-----+ `-(:::::::-' . 413 . |MSE#1| +-----+ +-----+ . 414 . +-----+ |MSE#3| |MSE#4| . 415 . +-----+ +-----+ . 416 . . 417 . . 418 . <----- Worldwide Connected Internetwork ----> . 419 ........................................................... 421 Figure 2: MN/MS Coordination via Multiple ANETs 423 After the initial IPv6 ND message exchange, the MN can send and 424 receive unencapsulated IPv6 data packets over the OMNI interface. 425 OMNI interface multilink services will forward the packets via ARs in 426 the correct underlying ANETs. The AR encapsulates the packets 427 according to the capabilities provided by the MS and forwards them to 428 the next hop within the worldwide connected Internetwork via optimal 429 routes. 431 OMNI links span one or more underlying Internetwork via a mid-layer 432 overlay encapsulation based on [RFC2473] and using [RFC4193] 433 addressing. Each OMNI link corresponds to a different overlay 434 (differentiated by an address codepoint) which may be carried over a 435 completely separate underlying topology. Each MN can facilitate SBM 436 by connecting to multiple OMNI links using a distinct OMNI interface 437 for each link. 439 5. Maximum Transmission Unit (MTU) and Fragmentation 441 The OMNI interface observes the link nature of tunnels, including the 442 Maximum Transmission Unit (MTU) and the role of fragmentation and 443 reassembly[I-D.ietf-intarea-tunnels]. The OMNI interface is 444 configured over one or more underlying interfaces that may have 445 diverse MTUs. 447 IPv6 underlying interfaces are REQUIRED to configure a minimum MTU of 448 1280 bytes [RFC8200]. The network therefore MUST forward packets of 449 at least 1280 bytes without generating an IPv6 Path MTU Discovery 450 (PMTUD) Packet Too Big (PTB) message [RFC8201]. The minimum MTU for 451 IPv4 underlying interfaces is only 68 bytes [RFC1122], meaning that a 452 packet smaller than the IPv6 minimum MTU may require fragmentation 453 when IPv4 encapsulation is used. Therefore, the Don't Fragment (DF) 454 bit in the IPv4 encapsulation header MUST be set to 0 456 The OMNI interface configures an MTU of 9180 bytes [RFC2492]; the 457 size is therefore not a reflection of the underlying interface MTUs, 458 but rather determines the largest packet the OMNI interface can 459 forward or reassemble. The OMNI interface therefore accommodates 460 packets as large as the OMNI interface MTU while generating IPv6 Path 461 MTU Discovery (PMTUD) Packet Too Big (PTB) messages [RFC8201] as 462 necessary (see below). For IPv4 packets with DF=0, the IP layer 463 performs IPv4 fragmentation if necessary to admit the fragments into 464 the OMNI interface. The interface may then internally apply further 465 IPv4 fragmentation prior to encapsulation to ensure that the IPv4 466 fragments are delivered to the final destination. 468 OMNI interfaces internally employ OMNI link encapsulation and 469 fragmentation/reassembly per [RFC2473]. The encapsulation inserts a 470 mid-layer IPv6 header between the inner IP packet and any outer IP 471 encapsulation headers. The OMNI interface returns internally- 472 generated PTB messages for packets admitted into the interface that 473 it deems too large (e.g., according to link performance 474 characteristics, reassembly cost, etc.) while either dropping or 475 forwarding the packet as necessary. The OMNI interface performs 476 PMTUD even if the destination appears to be on the same link since an 477 OMNI link node on the path may return a PTB. This ensures that the 478 path MTU is adaptive and reflects the current path used for a given 479 data flow. 481 OMNI interfaces perform encapsulation and fragmentation/reassembly as 482 follows: 484 o When an OMNI interface sends a packet toward a final destination 485 via an ANET peer, it sends without OMNI link encapsulation if the 486 packet is no larger than the underlying interface MTU. Otherwise, 487 it inserts an IPv6 header with source address set to the node's 488 own OMNI Unique Local Address (ULA) (see: Section 8) and 489 destination set to the OMNI ULA of the ANET peer. The OMNI 490 interface then uses IPv6 fragmentation to break the packet into a 491 minimum number of non-overlapping fragments, where the largest 492 fragment size is determined by the underlying interface MTU and 493 the smallest fragment is no smaller than 640 bytes. The OMNI 494 interface then sends the fragments to the ANET peer, which 495 reassembles before forwarding toward the final destination. 497 o When an OMNI interface sends a packet toward a final destination 498 via an INET interface, it sends packets no larger than 1280 bytes 499 (including any INET encapsulation headers) without inserting a 500 mid-layer IPv6 header if the destination is reached via an INET 501 address within the same OMNI link segment. Otherwise, it inserts 502 an IPv6 header with source address set to the node's OMNI ULA, 503 destination set to the ULA of the next hop OMNI node toward the 504 final destination and (if necessary) with a Segment Routing Header 505 with the remaining Segment IDs on the path to the final 506 destination. The OMNI interface then uses IPv6 fragmentation to 507 break the encapsulated packet into a minimum number of non- 508 overlapping fragments, where the largest fragment size (including 509 both the OMNI mid-layer IPv6 and outer-layer INET encapsulations) 510 is 1280 bytes and the smallest fragment is no smaller than 640 511 bytes. The OMNI interface then encapsulates the fragments in any 512 INET headers and sends them to the OMNI link neighbor, which 513 reassembles before forwarding toward the final destination. 515 OMNI interfaces unconditionally drop all OMNI link fragments smaller 516 than 640 bytes. In order to set the correct context for reassembly, 517 the OMNI interface that inserts the IPv6 header MUST also be the one 518 that inserts the IPv6 Fragment Header Identification value. While 519 not strictly required, sending all fragments of the same fragmented 520 mid-layer packet consecutively over the same underlying interface 521 with minimal inter-fragment delay may increase the likelihood of 522 successful reassembly. 524 Note that the OMNI interface can forward large packets via 525 encapsulation and fragmentation while at the same time returning 526 "advisory" PTB messages (subject to rate limiting). The receiving 527 node that performs reassembly can also send advisory PTB messages if 528 reassembly conditions become unfavorable. The OMNI interface can 529 therefore continuously forward large packets without loss while 530 returning advisory PTB messages recommending a smaller size. 532 OMNI interfaces that send advisory PTB messages set the ICMPv6 533 message header Code field to the value 1. Receiving nodes that 534 recognize the code reduce their estimate of the path MTU the same as 535 for ordinary "diagnistic" PTBs but do not regard the message as a 536 loss indication. Nodes that do not recognize the code treat the 537 message the same as a diagnostic PTB, but should heed the advice in 538 [RFC8201] regarding retransmissions. This document therefore updates 539 [RFC4443] and [RFC8201]. 541 5.1. Fragmentation Security Implications 543 As discussed in Section 3.7 of [I-D.ietf-intarea-frag-fragile], there 544 are four basic threats concerning IPv6 fragmentation; each of which 545 is addressed by a suitable mitigation as follows: 547 1. Overlapping fragment attacks - reassembly of overlapping 548 fragments is forbidden by [RFC8200]; therefore, this threat does 549 not apply to OMNI interfaces. 551 2. Resource exhaustion attacks - this threat is mitigated by 552 providing a sufficiently large OMNI interface reassembly cache 553 and instituting "fast discard" of incomplete reassemblies that 554 may be part of a buffer exhaustion attack. The reassembly cache 555 should be sufficiently large so that a sustained attack does not 556 cause excessive loss of good reassemblies but not so large that 557 (timer-based) data structure management becomes computationally 558 expensive. 560 3. Attacks based on predictable fragment identification values - 561 this threat is mitigated by selecting a suitably random ID value 562 per [RFC7739]. 564 4. Evasion of Network Intrusion Detection Systems (NIDS) - this 565 threat is mitigated by disallowing "tiny fragments" per the OMNI 566 interface fragmentation procedures specified above. 568 Additionally, IPv4 fragmentation includes a 16-bit Identification (IP 569 ID) field with only 65535 unique values, meaning that for even 570 moderately high data rates the field could wrap and apply to new 571 packets while the fragments of old packets using the same ID are 572 still alive in the network [RFC4963]. Since IPv6 provides a 32-bit 573 Identification value, however, this is not a concern for IPv6 574 fragmentation. 576 6. Frame Format 578 The OMNI interface transmits IPv6 packets according to the native 579 frame format of each underlying interface. For example, for 580 Ethernet-compatible interfaces the frame format is specified in 581 [RFC2464], for aeronautical radio interfaces the frame format is 582 specified in standards such as ICAO Doc 9776 (VDL Mode 2 Technical 583 Manual), for tunnels over IPv6 the frame format is specified in 584 [RFC2473], etc. 586 7. Link-Local Addresses (LLAs) 588 OMNI interfaces construct IPv6 Link-Local Addresses (i.e., "OMNI 589 LLAs") as follows: 591 o IPv6 MN OMNI LLAs encode the most-significant 112 bits of a MNP 592 within the least-significant 112 bits of the IPv6 link-local 593 prefix fe80::/16. For example, for the MNP 594 2001:db8:1000:2000::/56 the corresponding LLA is 595 fe80:2001:db8:1000:2000::. This updates the IPv6 link-local 596 address format specified in Section 2.5.6 of [RFC4291] by defining 597 a use for bits 11 - 63. 599 o IPv4-compatible MN OMNI LLAs are constructed as 600 fe80::ffff:[v4addr], i.e., the most significant 16 bits of the 601 prefix fe80::/16, followed by 64 '0' bits, followed by 16 '1' 602 bits, followed by a 32bit IPv4 address. For example, the 603 IPv4-Compatible MN OMNI LLA for 192.0.2.1 is fe80::ffff:192.0.2.1 604 (also written as fe80::ffff:c000:0201). 606 o MS OMNI LLAs are assigned to ARs and MSEs from the range 607 fe80::/96, and MUST be managed for uniqueness. The lower 32 bits 608 of the LLA includes a unique integer "MSID" value between 609 0x00000001 and 0xfeffffff, e.g., as in fe80::1, fe80::2, fe80::3, 610 etc., fe80::feff:ffff. The MSID 0x00000000 corresponds to the 611 link-local Subnet-Router anycast address (fe80::) [RFC4291]. The 612 MSID range 0xff000000 through 0xffffffff is reserved for future 613 use. 615 o The OMNI LLA range fe80::/32 is used as the service prefix for the 616 address format specified in Section 4 of [RFC4380] (see Section 17 617 for further discussion). 619 Since the prefix 0000::/8 is "Reserved by the IETF" [RFC4291], no 620 MNPs can be allocated from that block ensuring that there is no 621 possibility for overlap between the above OMNI LLA constructs. 623 Since MN OMNI LLAs are based on the distribution of administratively 624 assured unique MNPs, and since MS OMNI LLAs are guaranteed unique 625 through administrative assignment, OMNI interfaces set the 626 autoconfiguration variable DupAddrDetectTransmits to 0 [RFC4862]. 628 8. Unique-Local Addresses (ULAs) 630 OMNI links use IPv6 Unique Local Addresses (i.e., "OMNI ULAs") 631 [RFC4193] as the source and destination addresses in OMNI link IPv6 632 encapsulation headers. This document updates [RFC4193] by reserving 633 the ULA prefix fc80::/10 for mapping OMNI LLAs to routable OMNI ULAs. 635 Each OMNI link instance is identified by bits 10-15 of the OMNI 636 service prefix fc80::/10. For example, OMNI ULAs associated with 637 instance 0 are configured from the prefix fc80::/16, instance 1 from 638 fc81::/16, etc., up to instance 63 from fcbf::/16. OMNI ULAs are 639 configured in one-to-one correspondence with OMNI LLAs through 640 stateless prefix translation. For example, for OMNI link instance 641 fc80::/16: 643 o the OMNI ULA corresponding to fe80:2001:db8:1:2:: is simply 644 fc80:2001:db8:1:2:: 646 o the OMNI ULA corresponding to fe80::ffff:192.0.2.1 is simply 647 fc80::ffff:192.0.2.1 649 o the OMNI ULA corresponding to fe80::1000 is simply fc80::1000 651 o the OMNI ULA corresponding to fe80:: is simply fc80:: 653 Each OMNI interface assigns the Anycast OMNI ULA specific to the OMNI 654 link instance, e.g., the OMNI interface connected to instance 3 655 assigns the Anycast OMNI ULA fc83:. Routers that configure OMNI 656 interfaces advertise the OMNI service prefix (e.g., fc83::/16) into 657 the local routing system so that applications can direct traffic 658 according to SBM requirements. 660 The OMNI ULA presents an IPv6 address format that is routable within 661 the OMNI link routing system and can be used to convey link-scoped 662 messages across multiple hops using IPv6 encapsulation [RFC2473]. 663 The OMNI link extends across one or more underling Internetworks to 664 include all ARs and MSEs. All MNs are also considered to be 665 connected to the OMNI link, however OMNI link encapsulation is 666 omitted over ANET links when possible to conserve bandwidth (see: 667 Section 11). 669 The OMNI link can be subdivided into "segments" that often correspond 670 to different administrative domains or physical partitions. OMNI 671 nodes can use IPv6 Segment Routing [RFC8402] when necessary to 672 support efficient packet forwarding to destinations located in other 673 OMNI link segments. A full discussion of Segment Routing over the 674 OMNI link appears in [I-D.templin-intarea-6706bis]. 676 9. Address Mapping - Unicast 678 OMNI interfaces maintain a neighbor cache for tracking per-neighbor 679 state and use the link-local address format specified in Section 7. 680 IPv6 Neighbor Discovery (ND) [RFC4861] messages on MN OMNI interfaces 681 observe the native Source/Target Link-Layer Address Option (S/TLLAO) 682 formats of the underlying interfaces (e.g., for Ethernet the S/TLLAO 683 is specified in [RFC2464]). 685 MNs such as aircraft typically have many wireless data link types 686 (e.g. satellite-based, cellular, terrestrial, air-to-air directional, 687 etc.) with diverse performance, cost and availability properties. 688 The OMNI interface would therefore appear to have multiple L2 689 connections, and may include information for multiple underlying 690 interfaces in a single IPv6 ND message exchange. 692 OMNI interfaces use an IPv6 ND option called the "OMNI option" 693 formatted as shown in Figure 3: 695 0 1 2 3 696 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 697 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 698 | Type | Length | Prefix Length |R| Reserved | 699 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 700 | | 701 ~ Sub-Options ~ 702 | | 703 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 705 Figure 3: OMNI Option Format 707 In this format: 709 o Type is set to TBD. 711 o Length is set to the number of 8 octet blocks in the option. 713 o Prefix Length is set according to the IPv6 source address type. 714 For MN OMNI LLAs, the value is set to the length of the embedded 715 MNP. For IPv4-compatible MN OMNI LLAs, the value is set to 96 716 plus the length of the embedded IPv4 prefix. For MS OMNI LLAs, 717 the value is set to 128. 719 o R (the "Register/Release" bit) is set to 1/0 to request the 720 message recipient to register/release a MN's MNP. The OMNI option 721 may additionally include MSIDs for the recipient to contact to 722 also register/release the MNP. 724 o Reserved is set to the value '0' on transmission and ignored on 725 reception. 727 o Sub-Options is a Variable-length field, of length such that the 728 complete OMNI Option is an integer multiple of 8 octets long. 729 Contains one or more options, as described in Section 9.1. 731 9.1. Sub-Options 733 The OMNI option includes zero or more Sub-Options, some of which may 734 appear multiple times in the same message. Each consecutive Sub- 735 Option is concatenated immediately after its predecessor. All Sub- 736 Options except Pad1 (see below) are type-length-value (TLV) encoded 737 in the following format: 739 0 1 2 740 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 741 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- 742 | Sub-Type | Sub-length | Sub-Option Data ... 743 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- 745 Figure 4: Sub-Option Format 747 o Sub-Type is a 1-byte field that encodes the Sub-Option type. Sub- 748 Options defined in this document are: 750 Option Name Sub-Type 751 Pad1 0 752 PadN 1 753 ifIndex-tuple (Type 1) 2 754 ifIndex-tuple (Type 2) 3 755 MS-Register 4 756 MS-Release 5 757 Network Access Identifier 6 758 Geo Coordinates 7 760 Figure 5 762 Sub-Types 253 and 254 are reserved for experimentation, as 763 recommended in [RFC3692]. 765 o Sub-Length is a 1-byte field that encodes the length of the Sub- 766 Option Data, in bytes 768 o Sub-Option Data is a byte string with format determined by Sub- 769 Type 771 During processing, unrecognized Sub-Options are ignored and the next 772 Sub-Option processed until the end of the OMNI option. 774 The following Sub-Option types and formats are defined in this 775 document: 777 9.1.1. Pad1 779 0 780 0 1 2 3 4 5 6 7 781 +-+-+-+-+-+-+-+-+ 782 | Sub-Type=0 | 783 +-+-+-+-+-+-+-+-+ 785 Figure 6: Pad1 787 o Sub-Type is set to 0. 789 o No Sub-Length or Sub-Option Data follows (i.e., the "Sub-Option" 790 consists of a single zero octet). 792 9.1.2. PadN 794 0 1 2 795 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 796 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- 797 | Sub-Type=1 |Sub-length=N-2 | N-2 padding bytes ... 798 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- 800 Figure 7: PadN 802 o Sub-Type is set to 1. 804 o Sub-Length is set to N-2 being the number of padding bytes that 805 follow. 807 o Sub-Option Data consists of N-2 zero-valued octets. 809 9.1.3. ifIndex-tuple (Type 1) 810 0 1 2 3 811 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 812 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 813 | Sub-Type=2 | Sub-length=4+N| ifIndex | ifType | 814 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 815 | Provider ID | Link |S|I|RSV| Bitmap(0)=0xff|P00|P01|P02|P03| 816 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 817 |P04|P05|P06|P07|P08|P09|P10|P11|P12|P13|P14|P15|P16|P17|P18|P19| 818 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 819 |P20|P21|P22|P23|P24|P25|P26|P27|P28|P29|P30|P31| Bitmap(1)=0xff| 820 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 821 |P32|P33|P34|P35|P36|P37|P38|P39| ... 822 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- 824 Figure 8: ifIndex-tuple (Type 1) 826 o Sub-Type is set to 2. 828 o Sub-Length is set to 4+N (the number of Sub-Option Data bytes that 829 follow). 831 o Sub-Option Data contains an "ifIndex-tuple" (Type 1) encoded as 832 follows (note that the first four bytes must be present): 834 * ifIndex is set to an 8-bit integer value corresponding to a 835 specific underlying interface. OMNI options MAY include 836 multiple ifIndex-tuples, and MUST number each with an ifIndex 837 value between '1' and '255' that represents a MN-specific 8-bit 838 mapping for the actual ifIndex value assigned to the underlying 839 interface by network management [RFC2863] (the ifIndex value 840 '0' is reserved for use by the MS). Multiple ifIndex-tuples 841 with the same ifIndex value MAY appear in the same OMNI option. 843 * ifType is set to an 8-bit integer value corresponding to the 844 underlying interface identified by ifIndex. The value 845 represents an OMNI interface-specific 8-bit mapping for the 846 actual IANA ifType value registered in the 'IANAifType-MIB' 847 registry [http://www.iana.org]. 849 * Provider ID is set to an OMNI interface-specific 8-bit ID value 850 for the network service provider associated with this ifIndex. 852 * Link encodes a 4-bit link metric. The value '0' means the link 853 is DOWN, and the remaining values mean the link is UP with 854 metric ranging from '1' ("lowest") to '15' ("highest"). 856 * S is set to '1' if this ifIndex-tuple corresponds to the 857 underlying interface that is the source of the ND message. Set 858 to '0' otherwise. 860 * I is set to '0' ("Simplex") if the index for each singleton 861 Bitmap byte in the Sub-Option Data is inferred from its 862 sequential position (i.e., 0, 1, 2, ...), or set to '1' 863 ("Indexed") if each Bitmap is preceded by an Index byte. 864 Figure 8 shows the simplex case for I set to '0'. For I set to 865 '1', each Bitmap is instead preceded by an Index byte that 866 encodes a value "i" = (0 - 255) as the index for its companion 867 Bitmap as follows: 869 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- 870 | Index=i | Bitmap(i) |P[*] values ... 871 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- 873 Figure 9 875 * RSV is set to the value 0 on transmission and ignored on 876 reception. 878 * The remainder of the Sub-Option Data contains N = (0 - 251) 879 bytes of traffic classifier preferences consisting of a first 880 (indexed) Bitmap (i.e., "Bitmap(i)") followed by 0-8 1-byte 881 blocks of 2-bit P[*] values, followed by a second Bitmap (i), 882 followed by 0-8 blocks of P[*] values, etc. Reading from bit 0 883 to bit 7, the bits of each Bitmap(i) that are set to '1'' 884 indicate the P[*] blocks from the range P[(i*32)] through 885 P[(i*32) + 31] that follow; if any Bitmap(i) bits are '0', then 886 the corresponding P[*] block is instead omitted. For example, 887 if Bitmap(0) contains 0xff then the block with P[00]-P[03], 888 followed by the block with P[04]-P[07], etc., and ending with 889 the block with P[28]-P[31] are included (as shown in Figure 8). 890 The next Bitmap(i) is then consulted with its bits indicating 891 which P[*] blocks follow, etc. out to the end of the Sub- 892 Option. The first 16 P[*] blocks correspond to the 64 893 Differentiated Service Code Point (DSCP) values P[00] - P[63] 894 [RFC2474]. Any additional P[*] blocks that follow correspond 895 to "pseudo-DSCP" traffic classifier values P[64], P[65], P[66], 896 etc. See Appendix A for further discussion and examples. 898 * Each 2-bit P[*] field is set to the value '0' ("disabled"), '1' 899 ("low"), '2' ("medium") or '3' ("high") to indicate a QoS 900 preference level for underlying interface selection purposes. 901 Not all P[*] values need to be included in all OMNI option 902 instances of a given ifIndex-tuple. Any P[*] values 903 represented in an earlier OMNI option but omitted in the 904 current OMNI option remain unchanged. Any P[*] values not yet 905 represented in any OMNI option default to "medium". 907 9.1.4. ifIndex-tuple (Type 2) 909 0 1 2 3 910 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 911 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 912 | Sub-Type=3 | Sub-length=4+N| ifIndex | ifType | 913 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 914 | Provider ID | Link |S|Resvd| ~ 915 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ 916 ~ ~ 917 ~ RFC 6088 Format Traffic Selector ~ 918 ~ ~ 919 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 921 Figure 10: ifIndex-tuple (Type 2) 923 o Sub-Type is set to 3. 925 o Sub-Length is set to 4+N (the number of Sub-Option Data bytes that 926 follow). 928 o Sub-Option Data contains an "ifIndex-tuple" (Type 2) encoded as 929 follows (note that the first four bytes must be present): 931 * ifIndex, ifType, Provider ID, Link and S are set exactly as for 932 Type 1 ifIndex-tuples as specified in Section 9.1.3. 934 * the remainder of the Sub-Option body encodes a variable-length 935 traffic selector formatted per [RFC6088], beginning with the 936 "TS Format" field. 938 9.1.5. MS-Register 939 0 1 2 3 940 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 941 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 942 | Sub-Type=4 | Sub-length=4N | MSID[1] (bits 0 - 15) | 943 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 944 | MSID [1] (bits 16 - 32) | MSID[2] (bits 0 - 15) | 945 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 946 | MSID [2] (bits 16 - 32) | MSID[3] (bits 0 - 15) | 947 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 948 ... ... ... ... ... ... 949 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 950 | MSID [N] (bits 16 - 32) | 951 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 953 Figure 11: MS-Register Sub-option 955 o Sub-Type is set to 4. 957 o Sub-Length is set to 4N. 959 o A list of N 4 octet MSIDs is included in the following 4N octets. 960 The "wildcard" MSID value '0' in a Router Solicitation (RS) 961 message MS-Register sub-option requests the recipient to return 962 the MSID of a nearby MSE in a corresponding Router Advertisement 963 (RA) response. 965 9.1.6. MS-Release 967 0 1 2 3 968 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 969 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 970 | Sub-Type=5 | Sub-length=4N | MSID[1] (bits 0 - 15) | 971 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 972 | MSID [1] (bits 16 - 32) | MSID[2] (bits 0 - 15) | 973 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 974 | MSID [2] (bits 16 - 32) | MSID[3] (bits 0 - 15) | 975 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 976 ... ... ... ... ... ... 977 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 978 | MSID [N] (bits 16 - 32) | 979 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 981 Figure 12: MS-Release Sub-option 983 o Sub-Type is set to 5. 985 o Sub-Length is set to 4N. 987 o A list of N 4 octet MSIDs is included in the following 4N octets. 988 The wildcard MSID value '0' is ignored in MS-Release sub-options, 989 i.e., only non-zero values are processed. 991 9.1.7. Network Access Identifier (NAI) 993 0 1 2 3 994 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 995 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 996 | Sub-Type=6 | Sub-length=N |Network Access Identifier (NAI) 997 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ... 999 Figure 13: Network Access Identifier (NAI) Sub-option 1001 o Sub-Type is set to 6. 1003 o Sub-Length is set to N. 1005 o A Network Access Identifier (NAI) up to 253 bytes in length is 1006 coded per [RFC7542]. 1008 9.1.8. Geo Coordiantes 1010 0 1 2 3 1011 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 1012 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1013 | Sub-Type=7 | Sub-length=N | Geo Coordinates 1014 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ... 1016 Figure 14: Geo Coordinates Sub-option 1018 o Sub-Type is set to 7. 1020 o Sub-Length is set to N. 1022 o A set of Geo Coordinates up to 253 bytes in length (format TBD). 1023 Includes Latitude/Longitude at a minimum; may also include 1024 additional attributes such as altitude, heading, speed, etc.). 1026 10. Address Mapping - Multicast 1028 The multicast address mapping of the native underlying interface 1029 applies. The mobile router on board the MN also serves as an IGMP/ 1030 MLD Proxy for its EUNs and/or hosted applications per [RFC4605] while 1031 using the L2 address of the AR as the L2 address for all multicast 1032 packets. 1034 The MN uses Multicast Listener Discovery (MLDv2) [RFC3810] to 1035 coordinate with the AR, and ANET L2 elements use MLD snooping 1036 [RFC4541]. 1038 11. Conceptual Sending Algorithm 1040 The MN's IPv6 layer selects the outbound OMNI interface according to 1041 SBM considerations when forwarding data packets from local or EUN 1042 applications to external correspondents. Each OMNI interface 1043 maintains a neighbor cache the same as for any IPv6 interface, but 1044 with additional state for multilink coordination. 1046 After a packet enters the OMNI interface, an outbound underlying 1047 interface is selected based on PBM traffic selectors such as DSCP, 1048 application port number, cost, performance, message size, etc. OMNI 1049 interface multilink selections could also be configured to perform 1050 replication across multiple underlying interfaces for increased 1051 reliability at the expense of packet duplication. 1053 When an OMNI interface sends a packet over a selected outbound 1054 underlying interface, it omits OMNI link encapsulation if the packet 1055 does not require fragmentation and the neighbor can determine the 1056 OMNI ULAs through other means (e.g., the packet's destination, 1057 neighbor cache information, etc.). Otherwise, the OMNI interface 1058 inserts an IPv6 header with the OMNI ULAs and performs fragmentation 1059 if necessary. The OMNI interface also performs enacpsulation when 1060 the nearest AR is located multiple hops away as discussed in 1061 Section 12.1. 1063 OMNI interface multilink service designers MUST observe the BCP 1064 guidance in Section 15 [RFC3819] in terms of implications for 1065 reordering when packets from the same flow may be spread across 1066 multiple underlying interfaces having diverse properties. 1068 11.1. Multiple OMNI Interfaces 1070 MNs may connect to multiple independent OMNI links concurrently in 1071 support of SBM. Each OMNI interface is distinguished by its Anycast 1072 OMNI ULA (e.g., fc80::, fc81::, fc82::). The MN configures a 1073 separate OMNI interface for each link so that multiple interfaces 1074 (e.g., omni0, omni1, omni2, etc.) are exposed to the IPv6 layer. A 1075 different Anycast OMNI ULA is assigned to each interface, and the MN 1076 injects the service prefixes for the OMNI link instances into the EUN 1077 routing system. 1079 Applications in EUNs can use Segment Routing to select the desired 1080 OMNI interface based on SBM considerations. The Anycast OMNI ULA is 1081 written into the IPv6 destination address, and the actual destination 1082 (along with any additional intermediate hops) is written into the 1083 Segment Routing Header. Standard IP routing directs the packets to 1084 the MN's mobile router entity, and the Anycast OMNI ULA identifies 1085 the OMNI interface to be used for transmission to the next hop. When 1086 the MN receives the message, it replaces the IPv6 destination address 1087 with the next hop found in the routing header and transmits the 1088 message over the OMNI interface identified by the Anycast OMNI ULA. 1090 Multiple distinct OMNI links can therefore be used to support fault 1091 tolerance, load balancing, reliability, etc. The architectural model 1092 is similar to Layer 2 Virtual Local Area Networks (VLANs). 1094 12. Router Discovery and Prefix Registration 1096 MNs interface with the MS by sending RS messages with OMNI options 1097 under the assumption that a single AR on the ANET will process the 1098 message and respond. This places a requirement on each ANET, which 1099 may be enforced by physical/logical partitioning, L2 AR beaconing, 1100 etc. The manner in which the ANET ensures single AR coordination is 1101 link-specific and outside the scope of this document (however, 1102 considerations for ANETs that do not provide ARs that recognize the 1103 OMNI option are discussed in Section 17). 1105 For each underlying interface, the MN sends an RS message with an 1106 OMNI option with prefix registration information, ifIndex-tuples, MS- 1107 Register/Release suboptions, and with destination address set to 1108 link-scoped All-Routers multicast (ff02::2) [RFC4291]. Example MSID 1109 discovery methods are given in [RFC5214] and include data link login 1110 parameters, name service lookups, static configuration, a static 1111 "hosts" file, etc. The MN can also send an RS with an MS-Register 1112 suboption that includes a wildcard '0' MSID, i.e., instead of or in 1113 addition to any non-zero MSIDs. When the AR receives an RS with a 1114 wildcard MSID, it selects a nearby MSE (which may be itself) and 1115 returns an RA with the selected MSID in an MS-Register suboption. 1116 The AR selects only a single wildcard MSE (i.e., even if the RS MS- 1117 Register suboption included multiple '0' MSIDs) while also soliciting 1118 the MSEs corresponding to any non-zero MSIDs. 1120 MNs configure OMNI interfaces that observe the properties discussed 1121 in the previous section. The OMNI interface and its underlying 1122 interfaces are said to be in either the "UP" or "DOWN" state 1123 according to administrative actions in conjunction with the interface 1124 connectivity status. An OMNI interface transitions to UP or DOWN 1125 through administrative action and/or through state transitions of the 1126 underlying interfaces. When a first underlying interface transitions 1127 to UP, the OMNI interface also transitions to UP. When all 1128 underlying interfaces transition to DOWN, the OMNI interface also 1129 transitions to DOWN. 1131 When an OMNI interface transitions to UP, the MN sends RS messages to 1132 register its MNP and an initial set of underlying interfaces that are 1133 also UP. The MN sends additional RS messages to refresh lifetimes 1134 and to register/deregister underlying interfaces as they transition 1135 to UP or DOWN. The MN sends initial RS messages over an UP 1136 underlying interface with its OMNI LLA as the source and with 1137 destination set to All-Routers multicast. The RS messages include an 1138 OMNI option per Section 9 with valid prefix registration information, 1139 ifIndex-tuples appropriate for underlying interfaces and MS-Register/ 1140 Release sub-options. 1142 ARs process IPv6 ND messages with OMNI options and act as an MSE 1143 themselves and/or as a proxy for other MSEs. ARs receive RS messages 1144 and create a neighbor cache entry for the MN, then coordinate with 1145 any named MSEs in a manner outside the scope of this document. The 1146 AR returns RA messages with destination address set to the MN OMNI 1147 LLA (i.e., unicast), with source address set to its own OMNI LLA, 1148 with an OMNI option with valid prefix registration information, 1149 ifIndex-tuples, MS-Register/Release sub-options and with any 1150 information for the link that would normally be delivered in a 1151 solicited RA message. The AR sets the RA Cur Hop Limit, M and O 1152 flags, Router Lifetime, Reachable Time and Retrans Timer values, and 1153 includes any necessary options such as: 1155 o PIOs with (A; L=0) that include MSPs for the link [RFC8028]. 1157 o RIOs [RFC4191] with more-specific routes. 1159 o an MTU option that specifies the maximum acceptable packet size 1160 for this ANET interface. 1162 The AR coordinates with each Register/Release MSE then sends unicast 1163 RA responses to the MN without delay (therefore, the IPv6 ND 1164 MAX_RA_DELAY_TIME and MIN_DELAY_BETWEEN_RAS constants for multicast 1165 RAs do not apply). When the MSE processes the OMNI information, it 1166 first validates the prefix registration information then injects/ 1167 withdraws the MNP in the routing/mapping system and caches/discards 1168 the new Prefix Length, MNP and ifIndex-tuples. The MSE then informs 1169 the AR of registration success/failure, and the AR returns an RA 1170 message with an OMNI option per Section 9. The AR MAY also send 1171 periodic and/or event-driven unsolicited RA messages per [RFC4861]. 1173 The AR can combine the information from multiple MSEs into one or 1174 more "aggregate" RAs sent to the MN in order conserve ANET bandwidth. 1175 Each aggregate RA includes an OMNI option with MS-Register/Release 1176 sub-options with the MSEs represented by the aggregate. If an 1177 aggregate is sent, the RA message contents must consistently 1178 represent the combined information advertised by all represented 1179 MSEs. Note that since the AR uses its own OMNI LLA as the RA source 1180 address, the MN determines the addresses of the represented MSEs by 1181 examining the MS-Register/Release OMNI sub-options. Since these 1182 values already represent the MSEs for which the AR is acting as a 1183 proxy, OMNI nodes ignore the P(roxy) bit in the RA flags [RFC4389]. 1185 When the MN receives the RA message, it creates an OMNI interface 1186 neighbor cache entry for each MSID that has confirmed MNP 1187 registration via the L2 address of this AR. If the MN connects to 1188 multiple ANETs, it records the additional L2 AR addresses in each 1189 MSID neighbor cache entry (i.e., as multilink neighbors). The MN 1190 then manages its underlying interfaces according to their states as 1191 follows: 1193 o When an underlying interface transitions to UP, the MN sends an RS 1194 over the underlying interface with an OMNI option with R set to 1. 1195 The OMNI option contains at least one ifIndex-tuple with values 1196 specific to this underlying interface, and may contain additional 1197 ifIndex-tuples specific to this and/or other underlying 1198 interfaces. The option also includes any Register/Release MSIDs. 1200 o When an underlying interface transitions to DOWN, the MN sends an 1201 RS or unsolicited NA message over any UP underlying interface with 1202 an OMNI option containing an ifIndex-tuple for the DOWN underlying 1203 interface with Link set to '0'. The MN sends an RS when an 1204 acknowledgement is required, or an unsolicited NA when reliability 1205 is not thought to be a concern (e.g., if redundant transmissions 1206 are sent on multiple underlying interfaces). 1208 o When the Router Lifetime for a specific AR nears expiration, the 1209 MN sends an RS over the underlying interface to receive a fresh 1210 RA. If no RA is received, the MN marks the underlying interface 1211 as DOWN. 1213 o When a MN wishes to release from one or more current MSIDs, it 1214 sends an RS or unsolicited NA message over any UP underlying 1215 interfaces with an OMNI option with a Release MSID. Each MSID 1216 then withdraws the MNP from the routing/mapping system and informs 1217 the AR that the release was successful. 1219 o When all of a MNs underlying interfaces have transitioned to DOWN 1220 (or if the prefix registration lifetime expires), any associated 1221 MSEs withdraw the MNP the same as if they had received a message 1222 with a release indication. 1224 The MN is responsible for retrying each RS exchange up to 1225 MAX_RTR_SOLICITATIONS times separated by RTR_SOLICITATION_INTERVAL 1226 seconds until an RA is received. If no RA is received over a an UP 1227 underlying interface, the MN declares this underlying interface as 1228 DOWN. 1230 The IPv6 layer sees the OMNI interface as an ordinary IPv6 interface. 1231 Therefore, when the IPv6 layer sends an RS message the OMNI interface 1232 returns an internally-generated RA message as though the message 1233 originated from an IPv6 router. The internally-generated RA message 1234 contains configuration information that is consistent with the 1235 information received from the RAs generated by the MS. Whether the 1236 OMNI interface IPv6 ND messaging process is initiated from the 1237 receipt of an RS message from the IPv6 layer is an implementation 1238 matter. Some implementations may elect to defer the IPv6 ND 1239 messaging process until an RS is received from the IPv6 layer, while 1240 others may elect to initiate the process proactively. 1242 Note: The Router Lifetime value in RA messages indicates the time 1243 before which the MN must send another RS message over this underlying 1244 interface (e.g., 600 seconds), however that timescale may be 1245 significantly longer than the lifetime the MS has committed to retain 1246 the prefix registration (e.g., REACHABLETIME seconds). ARs are 1247 therefore responsible for keeping MS state alive on a shorter 1248 timescale than the MN is required to do on its own behalf. 1250 Note: On multicast-capable underlying interfaces, MNs should send 1251 periodic unsolicited multicast NA messages and ARs should send 1252 periodic unsolicited multicast RA messages as "beacons" that can be 1253 heard by other nodes on the link. If a node fails to receive a 1254 beacon after a timeout value specific to the link, it can initiate a 1255 unicast exchange to test reachability. 1257 12.1. Multihop Router Discovery 1259 On some ANET types (e.g., omni-directional ad-hoc wireless) a MN may 1260 be located multiple hops away from a node which has connectivity to 1261 the nearest ANET/INET service. Forwarding through these multiple 1262 hops would be conducted through the application of a Mobile Ad-hoc 1263 Network (MANET) routing protocol operating across the ANET 1264 interfaces. 1266 A MN located potentially multiple ANET hops away from the nearst AR 1267 prepares an RS message as normal then encapsulates the message in an 1268 IPv6 header with source address set to the ULA corresponding to the 1269 RS LLA source address, and with destination set to site-scoped All- 1270 Routers multicast (ff05::2)[RFC4291]. The MN then sends the 1271 encapsulated RS message via the ANET interface, where it will be 1272 received by zero or more nearby intermediate MNs. 1274 When an intermediate MN that particpates in the MANET routing 1275 protocol receives the encapsulated RS, it forwards the message 1276 according to its (ULA-based) MANET routing tables. This process 1277 repeats iteratively until the RS message is received by an ultimate 1278 MN that is within communications range of an AR, which forwards the 1279 message to the AR. 1281 When the AR receives the RS message, it coordinates with the MS the 1282 same as if the message were received as an ordinary link-local RS, 1283 since the inner Hop Limit will not have been decremented by the MANET 1284 multihop forwarding process. The AR then prepares an RA message with 1285 source address set to its own LLA and destination address set to the 1286 LLA of the original MN, then encapsulates the message in an IPv6 1287 header with source and destination set to the ULAs corresponding to 1288 the inner header. 1290 The AR then forwards the message to an MN within communications 1291 range, which forwards the message according to its MANET routing 1292 tables to an intermediate MN. The MANET forwarding process continues 1293 repetitively until the message is delivered to the original MN, which 1294 decapsulates the message and performs autoconfiguration the same as 1295 if it had received the RA directly from an AR. 1297 Note: An alternate approach to encapsulation of IPv6 ND messages for 1298 multihop forwarding would be to statelessly translate the IPv6 LLAs 1299 into ULAs and forward the messages without encapsulation. This would 1300 violate the [RFC4861] requirement that certain IPv6 ND messages must 1301 use link-local addresses and must not be accepted if received with 1302 Hop Limit less than 255. This document therefore advocates 1303 encapsulation since the overhead is nominal considering the 1304 infrequent nature and small size of IPv6 ND messages. Future 1305 documents may consider encapsulation avoidance through translation 1306 while updating [RFC4861]. 1308 13. Secure Redirection 1310 If the ANET link model is multiple access, the AR is responsible for 1311 assuring that address duplication cannot corrupt the neighbor caches 1312 of other nodes on the link. When the MN sends an RS message on a 1313 multiple access ANET link, the AR verifies that the MN is authorized 1314 to use the address and returns an RA with a non-zero Router Lifetime 1315 only if the MN is authorized. 1317 After verifying MN authorization and returning an RA, the AR MAY 1318 return IPv6 ND Redirect messages to direct MNs located on the same 1319 ANET link to exchange packets directly without transiting the AR. In 1320 that case, the MNs can exchange packets according to their unicast L2 1321 addresses discovered from the Redirect message instead of using the 1322 dogleg path through the AR. In some ANET links, however, such direct 1323 communications may be undesirable and continued use of the dogleg 1324 path through the AR may provide better performance. In that case, 1325 the AR can refrain from sending Redirects, and/or MNs can ignore 1326 them. 1328 14. AR and MSE Resilience 1330 ANETs SHOULD deploy ARs in Virtual Router Redundancy Protocol (VRRP) 1331 [RFC5798] configurations so that service continuity is maintained 1332 even if one or more ARs fail. Using VRRP, the MN is unaware which of 1333 the (redundant) ARs is currently providing service, and any service 1334 discontinuity will be limited to the failover time supported by VRRP. 1335 Widely deployed public domain implementations of VRRP are available. 1337 MSEs SHOULD use high availability clustering services so that 1338 multiple redundant systems can provide coordinated response to 1339 failures. As with VRRP, widely deployed public domain 1340 implementations of high availability clustering services are 1341 available. Note that special-purpose and expensive dedicated 1342 hardware is not necessary, and public domain implementations can be 1343 used even between lightweight virtual machines in cloud deployments. 1345 15. Detecting and Responding to MSE Failures 1347 In environments where fast recovery from MSE failure is required, ARs 1348 SHOULD use proactive Neighbor Unreachability Detection (NUD) in a 1349 manner that parallels Bidirectional Forwarding Detection (BFD) 1350 [RFC5880] to track MSE reachability. ARs can then quickly detect and 1351 react to failures so that cached information is re-established 1352 through alternate paths. Proactive NUD control messaging is carried 1353 only over well-connected ground domain networks (i.e., and not low- 1354 end ANET links such as aeronautical radios) and can therefore be 1355 tuned for rapid response. 1357 ARs perform proactive NUD for MSEs for which there are currently 1358 active MNs on the ANET. If an MSE fails, ARs can quickly inform MNs 1359 of the outage by sending multicast RA messages on the ANET interface. 1360 The AR sends RA messages to MNs via the ANET interface with an OMNI 1361 option with a Release ID for the failed MSE, and with destination 1362 address set to All-Nodes multicast (ff02::1) [RFC4291]. 1364 The AR SHOULD send MAX_FINAL_RTR_ADVERTISEMENTS RA messages separated 1365 by small delays [RFC4861]. Any MNs on the ANET interface that have 1366 been using the (now defunct) MSE will receive the RA messages and 1367 associate with a new MSE. 1369 16. Transition Considerations 1371 When a MN connects to an ANET link for the first time, it sends an RS 1372 message with an OMNI option. If the first hop AR recognizes the 1373 option, it returns an RA with its MS OMNI LLA as the source, the MN 1374 OMNI LLA as the destination, the P(roxy) bit set in the RA flags and 1375 with an OMNI option included. The MN then engages the AR according 1376 to the OMNI link model specified above. If the first hop AR is a 1377 legacy IPv6 router, however, it instead returns an RA message with no 1378 OMNI option and with a non-OMNI unicast source LLA as specified in 1379 [RFC4861]. In that case, the MN engages the ANET according to the 1380 legacy IPv6 link model and without the OMNI extensions specified in 1381 this document. 1383 If the ANET link model is multiple access, there must be assurance 1384 that address duplication cannot corrupt the neighbor caches of other 1385 nodes on the link. When the MN sends an RS message on a multiple 1386 access ANET link with an OMNI LLA source address and an OMNI option, 1387 ARs that recognize the option ensure that the MN is authorized to use 1388 the address and return an RA with a non-zero Router Lifetime only if 1389 the MN is authorized. ARs that do not recognize the option instead 1390 return an RA that makes no statement about the MN's authorization to 1391 use the source address. In that case, the MN should perform 1392 Duplicate Address Detection to ensure that it does not interfere with 1393 other nodes on the link. 1395 An alternative approach for multiple access ANET links to ensure 1396 isolation for MN / AR communications is through L2 address mappings 1397 as discussed in Appendix C. This arrangement imparts a (virtual) 1398 point-to-point link model over the (physical) multiple access link. 1400 17. OMNI Interfaces on the Open Internet 1402 OMNI interfaces configured over IPv6-enabled underlying interfaces on 1403 the open Internet without an OMNI-aware first-hop AR receive RA 1404 messages that do not include an OMNI option, while OMNI interfaces 1405 configured over IPv4-only underlying interfaces do not receive any 1406 (IPv6) RA messages at all. OMNI interfaces that receive RA messages 1407 without an OMNI option configure addresses, on-link prefxies, etc. on 1408 the underlying interface that received the RA according to standard 1409 IPv6 ND and address resolution conventions [RFC4861] [RFC4862]. OMNI 1410 interfaces configured over IPv4-only underlying interfaces configure 1411 IPv4 address information on the underlying interfaces using 1412 mechanisms such as DHCPv4 [RFC2131]. 1414 OMNI interfaces configured over underlying interfaces that connect to 1415 the open Internet can apply security services such as VPNs to connect 1416 to an MSE or establish a direct link to an MSE through some other 1417 means. In environments where an explicit VPN or direct link may be 1418 impractical, OMNI interfaces can instead use UDP/IP encapsulation per 1419 [RFC6081][RFC4380]. (SEcure Neighbor Discovery (SEND) and 1420 Cryptographically Generated Addresses (CGA) [RFC3971][RFC3972] or 1421 other protocol-specific security services can can also be used if 1422 additional authentication is necessary.) 1424 After estabishing a VPN or preparing for UDP/IP encapsulation, OMNI 1425 interfaces send control plane messages to interface with the MS. The 1426 control plane messages must be authenticated while data plane 1427 messages are delivered the same as for ordinary best-effort Internet 1428 traffic with basic source address-based data origin verification. 1429 Data plane communications via OMNI interfaces that connect over the 1430 open Internet without an explicit VPN should therefore employ 1431 transport- or higher-layer security to ensure integrity and/or 1432 confidentiality. 1434 OMNI interfaces in the open Internet are often located behind Network 1435 Address Translators (NATs). The OMNI interface accommodates NAT 1436 traversal using UDP/IP encapsulation and the mechanisms discussed in 1437 [RFC6081][RFC4380][I-D.templin-intarea-6706bis]. 1439 18. Time-Varying MNPs 1441 In some use cases, it is desirable, beneficial and efficient for the 1442 MN to receive a constant MNP that travels with the MN wherever it 1443 moves. For example, this would allow air traffic controllers to 1444 easily track aircraft, etc. In other cases, however (e.g., 1445 intelligent transportation systems), the MN may be willing to 1446 sacrifice a modicum of efficiency in order to have time-varying MNPs 1447 that can be changed every so often to defeat adversarial tracking. 1449 Prefix delegation services such as those discussed in 1450 [I-D.templin-6man-dhcpv6-ndopt] and [I-D.templin-intarea-6706bis] 1451 allow OMNI MNs that desire time-varying MNPs to obtain short-lived 1452 prefixes. In that case, the identity of the MN can be used as a 1453 prefix delegation seed (e.g., a DHCPv6 Device Unique IDentifier 1454 (DUID) [RFC8415]). The MN would then be obligated to renumber its 1455 internal networks whenever its MNP (and therefore also its OMNI 1456 address) changes. This should not present a challenge for MNs with 1457 automated network renumbering services, however presents limits for 1458 the durations of ongoing sessions that would prefer to use a constant 1459 address. 1461 19. IANA Considerations 1463 The IANA is instructed to allocate an official Type number TBD from 1464 the registry "IPv6 Neighbor Discovery Option Formats" for the OMNI 1465 option. Implementations set Type to 253 as an interim value 1466 [RFC4727]. 1468 The IANA is instructed to assign a new Code value "1" in the "ICMPv6 1469 Code Fields: Type 2 - Packet Too Big" registry. The registry should 1470 read as follows: 1472 Code Name Reference 1473 --- ---- --------- 1474 0 Diagnostic Packet Too Big [RFC4443] 1475 1 Advisory Packet Too Big [RFCXXXX] 1477 Figure 15: OMNI Option Sub-Type Values 1479 The IANA is instructed to allocate one Ethernet unicast address TBD2 1480 (suggest 00-00-5E-00-52-14 [RFC5214]) in the registry "IANA Ethernet 1481 Address Block - Unicast Use". 1483 The OMNI option also defines an 8-bit Sub-Type field, for which IANA 1484 is instructed to create and maintain a new registry entitled "OMNI 1485 option Sub-Type values". Initial values for the OMNI option Sub-Type 1486 values registry are given below; future assignments are to be made 1487 through Expert Review [RFC8126]. 1489 Value Sub-Type name Reference 1490 ----- ------------- ---------- 1491 0 Pad1 [RFCXXXX] 1492 1 PadN [RFCXXXX] 1493 2 ifIndex-tuple (Type 1) [RFCXXXX] 1494 3 ifIndex-tuple (Type 2) [RFCXXXX] 1495 4 MS-Register [RFCXXXX] 1496 5 MS-Release [RFCXXXX] 1497 6 Network Acceess Identifier [RFCXXXX] 1498 7 Geo Coordinates [RFCXXXX] 1499 8-252 Unassigned 1500 253-254 Experimental [RFCXXXX] 1501 255 Reserved [RFCXXXX] 1503 Figure 16: OMNI Option Sub-Type Values 1505 20. Security Considerations 1507 Security considerations for IPv6 [RFC8200] and IPv6 Neighbor 1508 Discovery [RFC4861] apply. OMNI interface IPv6 ND messages SHOULD 1509 include Nonce and Timestamp options [RFC3971] when transaction 1510 confirmation and/or time synchronization is needed. 1512 OMNI interfaces configured over secured ANET interfaces inherit the 1513 physical and/or link-layer security properties of the connected 1514 ANETs. OMNI interfaces configured over open INET interfaces can use 1515 symmetric securing services such as VPNs or can by some other means 1516 establish a direct link. When a VPN or direct link may be 1517 impractical, however, an asymmetric security service such as SEcure 1518 Neighbor Discovery (SEND) [RFC3971] with Cryptographically Generated 1519 Addresses (CGAs) [RFC3972], the authentication option specified in 1520 [RFC4380] or other protocol control message security mechanisms may 1521 be necessary. While the OMNI link protects control plane messaging, 1522 applications must still employ end-to-end transport- or higher-layer 1523 security services to protect the data plane. 1525 The Mobility Service MUST provide strong network layer security for 1526 control plane messages and forwading path integrity for data plane 1527 messages. In one example, the AERO service 1528 [I-D.templin-intarea-6706bis] constructs a spanning tree between 1529 mobility service elements and secures the links in the spanning tree 1530 with network layer security mechanisms such as IPsec [RFC4301] or 1531 Wireguard. Control plane messages are then constrained to travel 1532 only over the secured spanning tree paths and are therefore protected 1533 from attack or eavesdropping. Since data plane messages can travel 1534 over route optimized paths that do not strictly follow the spanning 1535 tree, however, end-to-end transport- or higher-layer security 1536 services are still required. 1538 Security considerations for specific access network interface types 1539 are covered under the corresponding IP-over-(foo) specification 1540 (e.g., [RFC2464], [RFC2492], etc.). 1542 Security considerations for IPv6 fragmentation and reassembly are 1543 discussed in Section 5.1. 1545 21. Acknowledgements 1547 The first version of this document was prepared per the consensus 1548 decision at the 7th Conference of the International Civil Aviation 1549 Organization (ICAO) Working Group-I Mobility Subgroup on March 22, 1550 2019. Consensus to take the document forward to the IETF was reached 1551 at the 9th Conference of the Mobility Subgroup on November 22, 2019. 1552 Attendees and contributors included: Guray Acar, Danny Bharj, 1553 Francois D'Humieres, Pavel Drasil, Nikos Fistas, Giovanni Garofolo, 1554 Bernhard Haindl, Vaughn Maiolla, Tom McParland, Victor Moreno, Madhu 1555 Niraula, Brent Phillips, Liviu Popescu, Jacky Pouzet, Aloke Roy, Greg 1556 Saccone, Robert Segers, Michal Skorepa, Michel Solery, Stephane 1557 Tamalet, Fred Templin, Jean-Marc Vacher, Bela Varkonyi, Tony Whyman, 1558 Fryderyk Wrobel and Dongsong Zeng. 1560 The following individuals are acknowledged for their useful comments: 1561 Michael Matyas, Madhu Niraula, Greg Saccone, Stephane Tamalet, Eric 1562 Vyncke. Pavel Drasil, Zdenek Jaron and Michal Skorepa are recognized 1563 for their many helpful ideas and suggestions. 1565 This work is aligned with the NASA Safe Autonomous Systems Operation 1566 (SASO) program under NASA contract number NNA16BD84C. 1568 This work is aligned with the FAA as per the SE2025 contract number 1569 DTFAWA-15-D-00030. 1571 22. References 1573 22.1. Normative References 1575 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1576 Requirement Levels", BCP 14, RFC 2119, 1577 DOI 10.17487/RFC2119, March 1997, 1578 . 1580 [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, 1581 "Definition of the Differentiated Services Field (DS 1582 Field) in the IPv4 and IPv6 Headers", RFC 2474, 1583 DOI 10.17487/RFC2474, December 1998, 1584 . 1586 [RFC3971] Arkko, J., Ed., Kempf, J., Zill, B., and P. Nikander, 1587 "SEcure Neighbor Discovery (SEND)", RFC 3971, 1588 DOI 10.17487/RFC3971, March 2005, 1589 . 1591 [RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)", 1592 RFC 3972, DOI 10.17487/RFC3972, March 2005, 1593 . 1595 [RFC4191] Draves, R. and D. Thaler, "Default Router Preferences and 1596 More-Specific Routes", RFC 4191, DOI 10.17487/RFC4191, 1597 November 2005, . 1599 [RFC4193] Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast 1600 Addresses", RFC 4193, DOI 10.17487/RFC4193, October 2005, 1601 . 1603 [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing 1604 Architecture", RFC 4291, DOI 10.17487/RFC4291, February 1605 2006, . 1607 [RFC4443] Conta, A., Deering, S., and M. Gupta, Ed., "Internet 1608 Control Message Protocol (ICMPv6) for the Internet 1609 Protocol Version 6 (IPv6) Specification", STD 89, 1610 RFC 4443, DOI 10.17487/RFC4443, March 2006, 1611 . 1613 [RFC4727] Fenner, B., "Experimental Values In IPv4, IPv6, ICMPv4, 1614 ICMPv6, UDP, and TCP Headers", RFC 4727, 1615 DOI 10.17487/RFC4727, November 2006, 1616 . 1618 [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, 1619 "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, 1620 DOI 10.17487/RFC4861, September 2007, 1621 . 1623 [RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless 1624 Address Autoconfiguration", RFC 4862, 1625 DOI 10.17487/RFC4862, September 2007, 1626 . 1628 [RFC6088] Tsirtsis, G., Giarreta, G., Soliman, H., and N. Montavont, 1629 "Traffic Selectors for Flow Bindings", RFC 6088, 1630 DOI 10.17487/RFC6088, January 2011, 1631 . 1633 [RFC8028] Baker, F. and B. Carpenter, "First-Hop Router Selection by 1634 Hosts in a Multi-Prefix Network", RFC 8028, 1635 DOI 10.17487/RFC8028, November 2016, 1636 . 1638 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 1639 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 1640 May 2017, . 1642 [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 1643 (IPv6) Specification", STD 86, RFC 8200, 1644 DOI 10.17487/RFC8200, July 2017, 1645 . 1647 [RFC8201] McCann, J., Deering, S., Mogul, J., and R. Hinden, Ed., 1648 "Path MTU Discovery for IP version 6", STD 87, RFC 8201, 1649 DOI 10.17487/RFC8201, July 2017, 1650 . 1652 22.2. Informative References 1654 [I-D.ietf-intarea-frag-fragile] 1655 Bonica, R., Baker, F., Huston, G., Hinden, R., Troan, O., 1656 and F. Gont, "IP Fragmentation Considered Fragile", draft- 1657 ietf-intarea-frag-fragile-17 (work in progress), September 1658 2019. 1660 [I-D.ietf-intarea-tunnels] 1661 Touch, J. and M. Townsley, "IP Tunnels in the Internet 1662 Architecture", draft-ietf-intarea-tunnels-10 (work in 1663 progress), September 2019. 1665 [I-D.templin-6man-dhcpv6-ndopt] 1666 Templin, F., "A Unified Stateful/Stateless Configuration 1667 Service for IPv6", draft-templin-6man-dhcpv6-ndopt-10 1668 (work in progress), June 2020. 1670 [I-D.templin-intarea-6706bis] 1671 Templin, F., "Asymmetric Extended Route Optimization 1672 (AERO)", draft-templin-intarea-6706bis-58 (work in 1673 progress), June 2020. 1675 [RFC1122] Braden, R., Ed., "Requirements for Internet Hosts - 1676 Communication Layers", STD 3, RFC 1122, 1677 DOI 10.17487/RFC1122, October 1989, 1678 . 1680 [RFC2131] Droms, R., "Dynamic Host Configuration Protocol", 1681 RFC 2131, DOI 10.17487/RFC2131, March 1997, 1682 . 1684 [RFC2225] Laubach, M. and J. Halpern, "Classical IP and ARP over 1685 ATM", RFC 2225, DOI 10.17487/RFC2225, April 1998, 1686 . 1688 [RFC2464] Crawford, M., "Transmission of IPv6 Packets over Ethernet 1689 Networks", RFC 2464, DOI 10.17487/RFC2464, December 1998, 1690 . 1692 [RFC2473] Conta, A. and S. Deering, "Generic Packet Tunneling in 1693 IPv6 Specification", RFC 2473, DOI 10.17487/RFC2473, 1694 December 1998, . 1696 [RFC2492] Armitage, G., Schulter, P., and M. Jork, "IPv6 over ATM 1697 Networks", RFC 2492, DOI 10.17487/RFC2492, January 1999, 1698 . 1700 [RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group 1701 MIB", RFC 2863, DOI 10.17487/RFC2863, June 2000, 1702 . 1704 [RFC3692] Narten, T., "Assigning Experimental and Testing Numbers 1705 Considered Useful", BCP 82, RFC 3692, 1706 DOI 10.17487/RFC3692, January 2004, 1707 . 1709 [RFC3810] Vida, R., Ed. and L. Costa, Ed., "Multicast Listener 1710 Discovery Version 2 (MLDv2) for IPv6", RFC 3810, 1711 DOI 10.17487/RFC3810, June 2004, 1712 . 1714 [RFC3819] Karn, P., Ed., Bormann, C., Fairhurst, G., Grossman, D., 1715 Ludwig, R., Mahdavi, J., Montenegro, G., Touch, J., and L. 1716 Wood, "Advice for Internet Subnetwork Designers", BCP 89, 1717 RFC 3819, DOI 10.17487/RFC3819, July 2004, 1718 . 1720 [RFC4301] Kent, S. and K. Seo, "Security Architecture for the 1721 Internet Protocol", RFC 4301, DOI 10.17487/RFC4301, 1722 December 2005, . 1724 [RFC4380] Huitema, C., "Teredo: Tunneling IPv6 over UDP through 1725 Network Address Translations (NATs)", RFC 4380, 1726 DOI 10.17487/RFC4380, February 2006, 1727 . 1729 [RFC4389] Thaler, D., Talwar, M., and C. Patel, "Neighbor Discovery 1730 Proxies (ND Proxy)", RFC 4389, DOI 10.17487/RFC4389, April 1731 2006, . 1733 [RFC4541] Christensen, M., Kimball, K., and F. Solensky, 1734 "Considerations for Internet Group Management Protocol 1735 (IGMP) and Multicast Listener Discovery (MLD) Snooping 1736 Switches", RFC 4541, DOI 10.17487/RFC4541, May 2006, 1737 . 1739 [RFC4605] Fenner, B., He, H., Haberman, B., and H. Sandick, 1740 "Internet Group Management Protocol (IGMP) / Multicast 1741 Listener Discovery (MLD)-Based Multicast Forwarding 1742 ("IGMP/MLD Proxying")", RFC 4605, DOI 10.17487/RFC4605, 1743 August 2006, . 1745 [RFC4963] Heffner, J., Mathis, M., and B. Chandler, "IPv4 Reassembly 1746 Errors at High Data Rates", RFC 4963, 1747 DOI 10.17487/RFC4963, July 2007, 1748 . 1750 [RFC5175] Haberman, B., Ed. and R. Hinden, "IPv6 Router 1751 Advertisement Flags Option", RFC 5175, 1752 DOI 10.17487/RFC5175, March 2008, 1753 . 1755 [RFC5213] Gundavelli, S., Ed., Leung, K., Devarapalli, V., 1756 Chowdhury, K., and B. Patil, "Proxy Mobile IPv6", 1757 RFC 5213, DOI 10.17487/RFC5213, August 2008, 1758 . 1760 [RFC5214] Templin, F., Gleeson, T., and D. Thaler, "Intra-Site 1761 Automatic Tunnel Addressing Protocol (ISATAP)", RFC 5214, 1762 DOI 10.17487/RFC5214, March 2008, 1763 . 1765 [RFC5558] Templin, F., Ed., "Virtual Enterprise Traversal (VET)", 1766 RFC 5558, DOI 10.17487/RFC5558, February 2010, 1767 . 1769 [RFC5798] Nadas, S., Ed., "Virtual Router Redundancy Protocol (VRRP) 1770 Version 3 for IPv4 and IPv6", RFC 5798, 1771 DOI 10.17487/RFC5798, March 2010, 1772 . 1774 [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 1775 (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, 1776 . 1778 [RFC6081] Thaler, D., "Teredo Extensions", RFC 6081, 1779 DOI 10.17487/RFC6081, January 2011, 1780 . 1782 [RFC6543] Gundavelli, S., "Reserved IPv6 Interface Identifier for 1783 Proxy Mobile IPv6", RFC 6543, DOI 10.17487/RFC6543, May 1784 2012, . 1786 [RFC7084] Singh, H., Beebee, W., Donley, C., and B. Stark, "Basic 1787 Requirements for IPv6 Customer Edge Routers", RFC 7084, 1788 DOI 10.17487/RFC7084, November 2013, 1789 . 1791 [RFC7421] Carpenter, B., Ed., Chown, T., Gont, F., Jiang, S., 1792 Petrescu, A., and A. Yourtchenko, "Analysis of the 64-bit 1793 Boundary in IPv6 Addressing", RFC 7421, 1794 DOI 10.17487/RFC7421, January 2015, 1795 . 1797 [RFC7542] DeKok, A., "The Network Access Identifier", RFC 7542, 1798 DOI 10.17487/RFC7542, May 2015, 1799 . 1801 [RFC7739] Gont, F., "Security Implications of Predictable Fragment 1802 Identification Values", RFC 7739, DOI 10.17487/RFC7739, 1803 February 2016, . 1805 [RFC7847] Melia, T., Ed. and S. Gundavelli, Ed., "Logical-Interface 1806 Support for IP Hosts with Multi-Access Support", RFC 7847, 1807 DOI 10.17487/RFC7847, May 2016, 1808 . 1810 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 1811 Writing an IANA Considerations Section in RFCs", BCP 26, 1812 RFC 8126, DOI 10.17487/RFC8126, June 2017, 1813 . 1815 [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., 1816 Decraene, B., Litkowski, S., and R. Shakir, "Segment 1817 Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, 1818 July 2018, . 1820 [RFC8415] Mrugalski, T., Siodelski, M., Volz, B., Yourtchenko, A., 1821 Richardson, M., Jiang, S., Lemon, T., and T. Winters, 1822 "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", 1823 RFC 8415, DOI 10.17487/RFC8415, November 2018, 1824 . 1826 [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., 1827 Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header 1828 (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, 1829 . 1831 Appendix A. Type 1 ifIndex-tuple Traffic Classifier Preference Encoding 1833 Adaptation of the OMNI option Type 1 ifIndex-tuple's traffic 1834 classifier Bitmap to specific Internetworks such as the Aeronautical 1835 Telecommunications Network with Internet Protocol Services (ATN/IPS) 1836 may include link selection preferences based on other traffic 1837 classifiers (e.g., transport port numbers, etc.) in addition to the 1838 existing DSCP-based preferences. Nodes on specific Internetworks 1839 maintain a map of traffic classifiers to additional P[*] preference 1840 fields beyond the first 64. For example, TCP port 22 maps to P[67], 1841 TCP port 443 maps to P[70], UDP port 8060 maps to P[76], etc. 1843 Implementations use Simplex or Indexed encoding formats for P[*] 1844 encoding in order to encode a given set of traffic classifiers in the 1845 most efficient way. Some use cases may be more efficiently coded 1846 using Simplex form, while others may be more efficient using Indexed. 1847 Once a format is selected for preparation of a single ifIndex-tuple 1848 the same format must be used for the entire Sub-Option. Different 1849 Sub-Options may use different formats. 1851 The following figures show coding examples for various Simplex and 1852 Indexed formats: 1854 0 1 2 3 1855 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 1856 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1857 | Sub-Type=2 | Sub-length=4+N| ifIndex | ifType | 1858 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1859 | Provider ID | Link |S|0|RSV| Bitmap(0)=0xff|P00|P01|P02|P03| 1860 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1861 |P04|P05|P06|P07|P08|P09|P10|P11|P12|P13|P14|P15|P16|P17|P18|P19| 1862 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1863 |P20|P21|P22|P23|P24|P25|P26|P27|P28|P29|P30|P31| Bitmap(1)=0xff| 1864 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1865 |P32|P33|P34|P35|P36|P37|P38|P39|P40|P41|P42|P43|P44|P45|P46|P47| 1866 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1867 |P48|P49|P50|P51|P52|P53|P54|P55|P56|P57|P58|P59|P60|P61|P62|P63| 1868 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1869 | Bitmap(2)=0xff|P64|P65|P67|P68| ... 1870 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- 1872 Figure 17: Example 1: Dense Simplex Encoding 1874 0 1 2 3 1875 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 1876 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1877 | Sub-Type=2 | Sub-length=4+N| ifIndex | ifType | 1878 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1879 | Provider ID | Link |S|0|RSV| Bitmap(0)=0x00| Bitmap(1)=0x0f| 1880 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1881 |P48|P49|P50|P51|P52|P53|P54|P55|P56|P57|P58|P59|P60|P61|P62|P63| 1882 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1883 | Bitmap(2)=0x00| Bitmap(3)=0x00| Bitmap(4)=0x00| Bitmap(5)=0x00| 1884 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1885 | Bitmap(6)=0xf0|192|193|194|195|196|197|198|199|200|201|202|203| 1886 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1887 |204|205|206|207| Bitmap(7)=0x00| Bitmap(8)=0x0f|272|273|274|275| 1888 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1889 |276|277|278|279|280|281|282|283|284|285|286|287| Bitmap(9)=0x00| 1890 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1891 |Bitmap(10)=0x00| ... 1892 +-+-+-+-+-+-+-+-+-+-+- 1894 Figure 18: Example 2: Sparse Simplex Encoding 1896 0 1 2 3 1897 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 1898 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1899 | Sub-Type=2 | Sub-length=4+N| ifIndex | ifType | 1900 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1901 | Provider ID | Link |S|1|RSV| Index = 0x00 | Bitmap = 0x80 | 1902 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1903 |P00|P01|P02|P03| Index = 0x01 | Bitmap = 0x01 |P60|P61|P62|P63| 1904 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1905 | Index = 0x10 | Bitmap = 0x80 |512|513|514|515| Index = 0x18 | 1906 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1907 | Bitmap = 0x01 |796|797|798|799| ... 1908 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- 1910 Figure 19: Example 3: Indexed Encoding 1912 Appendix B. VDL Mode 2 Considerations 1914 ICAO Doc 9776 is the "Technical Manual for VHF Data Link Mode 2" 1915 (VDLM2) that specifies an essential radio frequency data link service 1916 for aircraft and ground stations in worldwide civil aviation air 1917 traffic management. The VDLM2 link type is "multicast capable" 1918 [RFC4861], but with considerable differences from common multicast 1919 links such as Ethernet and IEEE 802.11. 1921 First, the VDLM2 link data rate is only 31.5Kbps - multiple orders of 1922 magnitude less than most modern wireless networking gear. Second, 1923 due to the low available link bandwidth only VDLM2 ground stations 1924 (i.e., and not aircraft) are permitted to send broadcasts, and even 1925 so only as compact layer 2 "beacons". Third, aircraft employ the 1926 services of ground stations by performing unicast RS/RA exchanges 1927 upon receipt of beacons instead of listening for multicast RA 1928 messages and/or sending multicast RS messages. 1930 This beacon-oriented unicast RS/RA approach is necessary to conserve 1931 the already-scarce available link bandwidth. Moreover, since the 1932 numbers of beaconing ground stations operating within a given spatial 1933 range must be kept as sparse as possible, it would not be feasible to 1934 have different classes of ground stations within the same region 1935 observing different protocols. It is therefore highly desirable that 1936 all ground stations observe a common language of RS/RA as specified 1937 in this document. 1939 Note that links of this nature may benefit from compression 1940 techniques that reduce the bandwidth necessary for conveying the same 1941 amount of data. The IETF lpwan working group is considering possible 1942 alternatives: [https://datatracker.ietf.org/wg/lpwan/documents]. 1944 Appendix C. MN / AR Isolation Through L2 Address Mapping 1946 Per [RFC4861], IPv6 ND messages may be sent to either a multicast or 1947 unicast link-scoped IPv6 destination address. However, IPv6 ND 1948 messaging should be coordinated between the MN and AR only without 1949 invoking other nodes on the ANET. This implies that MN / AR control 1950 messaging should be isolated and not overheard by other nodes on the 1951 link. 1953 To support MN / AR isolation on some ANET links, ARs can maintain an 1954 OMNI-specific unicast L2 address ("MSADDR"). For Ethernet-compatible 1955 ANETs, this specification reserves one Ethernet unicast address TBD2 1956 (see: Section 19). For non-Ethernet statically-addressed ANETs, 1957 MSADDR is reserved per the assigned numbers authority for the ANET 1958 addressing space. For still other ANETs, MSADDR may be dynamically 1959 discovered through other means, e.g., L2 beacons. 1961 MNs map the L3 addresses of all IPv6 ND messages they send (i.e., 1962 both multicast and unicast) to MSADDR instead of to an ordinary 1963 unicast or multicast L2 address. In this way, all of the MN's IPv6 1964 ND messages will be received by ARs that are configured to accept 1965 packets destined to MSADDR. Note that multiple ARs on the link could 1966 be configured to accept packets destined to MSADDR, e.g., as a basis 1967 for supporting redundancy. 1969 Therefore, ARs must accept and process packets destined to MSADDR, 1970 while all other devices must not process packets destined to MSADDR. 1971 This model has well-established operational experience in Proxy 1972 Mobile IPv6 (PMIP) [RFC5213][RFC6543]. 1974 Appendix D. Change Log 1976 << RFC Editor - remove prior to publication >> 1978 Differences from draft-templin-6man-omni-interface-25 to draft- 1979 templin-6man-omni-interface-26: 1981 o Further clarification on "aggregate" RA messages. 1983 o Expanded Security Considerations to discuss expectations for 1984 security in the Mobility Service. 1986 Differences from draft-templin-6man-omni-interface-20 to draft- 1987 templin-6man-omni-interface-21: 1989 o Safety-Based Multilink (SBM) and Performance-Based Multilink 1990 (PBM). 1992 Differences from draft-templin-6man-omni-interface-18 to draft- 1993 templin-6man-omni-interface-19: 1995 o SEND/CGA. 1997 Differences from draft-templin-6man-omni-interface-17 to draft- 1998 templin-6man-omni-interface-18: 2000 o Teredo 2002 Differences from draft-templin-6man-omni-interface-14 to draft- 2003 templin-6man-omni-interface-15: 2005 o Prefix length discussions removed. 2007 Differences from draft-templin-6man-omni-interface-12 to draft- 2008 templin-6man-omni-interface-13: 2010 o Teredo 2012 Differences from draft-templin-6man-omni-interface-11 to draft- 2013 templin-6man-omni-interface-12: 2015 o Major simplifications and clarifications on MTU and fragmentation. 2017 o Document now updates RFC4443 and RFC8201. 2019 Differences from draft-templin-6man-omni-interface-10 to draft- 2020 templin-6man-omni-interface-11: 2022 o Removed /64 assumption, resulting in new OMNI address format. 2024 Differences from draft-templin-6man-omni-interface-07 to draft- 2025 templin-6man-omni-interface-08: 2027 o OMNI MNs in the open Internet 2029 Differences from draft-templin-6man-omni-interface-06 to draft- 2030 templin-6man-omni-interface-07: 2032 o Brought back L2 MSADDR mapping text for MN / AR isolation based on 2033 L2 addressing. 2035 o Expanded "Transition Considerations". 2037 Differences from draft-templin-6man-omni-interface-05 to draft- 2038 templin-6man-omni-interface-06: 2040 o Brought back OMNI option "R" flag, and discussed its use. 2042 Differences from draft-templin-6man-omni-interface-04 to draft- 2043 templin-6man-omni-interface-05: 2045 o Transition considerations, and overhaul of RS/RA addressing with 2046 the inclusion of MSE addresses within the OMNI option instead of 2047 as RS/RA addresses (developed under FAA SE2025 contract number 2048 DTFAWA-15-D-00030). 2050 Differences from draft-templin-6man-omni-interface-02 to draft- 2051 templin-6man-omni-interface-03: 2053 o Added "advisory PTB messages" under FAA SE2025 contract number 2054 DTFAWA-15-D-00030. 2056 Differences from draft-templin-6man-omni-interface-01 to draft- 2057 templin-6man-omni-interface-02: 2059 o Removed "Primary" flag and supporting text. 2061 o Clarified that "Router Lifetime" applies to each ANET interface 2062 independently, and that the union of all ANET interface Router 2063 Lifetimes determines MSE lifetime. 2065 Differences from draft-templin-6man-omni-interface-00 to draft- 2066 templin-6man-omni-interface-01: 2068 o "All-MSEs" OMNI LLA defined. Also reserved fe80::ff00:0000/104 2069 for future use (most likely as "pseudo-multicast"). 2071 o Non-normative discussion of alternate OMNI LLA construction form 2072 made possible if the 64-bit assumption were relaxed. 2074 First draft version (draft-templin-atn-aero-interface-00): 2076 o Draft based on consensus decision of ICAO Working Group I Mobility 2077 Subgroup March 22, 2019. 2079 Authors' Addresses 2081 Fred L. Templin (editor) 2082 The Boeing Company 2083 P.O. Box 3707 2084 Seattle, WA 98124 2085 USA 2087 Email: fltemplin@acm.org 2089 Tony Whyman 2090 MWA Ltd c/o Inmarsat Global Ltd 2091 99 City Road 2092 London EC1Y 1AX 2093 England 2095 Email: tony.whyman@mccallumwhyman.com