idnits 2.17.1 draft-ietf-lisp-nexagon-14.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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (September 5, 2021) is 936 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Outdated reference: A later version (-38) exists of draft-ietf-lisp-rfc6830bis-36 Summary: 0 errors (**), 0 flaws (~~), 2 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 LISP Working Group S. Barkai 2 Internet-Draft B. Fernandez-Ruiz 3 Intended status: Informational S. ZionB 4 Expires: January 1, 2022 R. Tamir 5 Nexar Inc. 6 A. Rodriguez-Natal 7 F. Maino 8 Cisco Systems 9 A. Cabellos-Aparicio 10 J. Paillisse Vilanova 11 Technical University of Catalonia 12 D. Farinacci 13 lispers.net 14 September 5, 2021 16 Network-Hexagons: H3-LISP GeoState & Mobility Network 17 draft-ietf-lisp-nexagon-14 19 Abstract 21 This document specifies the use of H3 and LISP for Geolocation 22 services, the utilization of geospatial data for mobility use-cases, 23 supporting fresh HDMaps, Intelligent Driving, Cruise-Parking assists. 24 This is achieved by: 25 - Predefined addressable geospatial abstraction of road-segments. 26 - EID Interface for detections and Uploads to geospatial-context. 27 - EID Routing & Sharing hazards, blockages, parking, inventory.. 28 - Compute-First brokering of geospatial production / consumption. 29 - Predefined EID geospatial mcast channels to subscribed clients. 31 Status of This Memo 33 This Internet-Draft is submitted in full conformance with the 34 provisions of BCP 78 and BCP 79. 36 Internet-Drafts are working documents of the Internet Engineering 37 Task Force (IETF). Note that other groups may also distribute 38 working documents as Internet-Drafts. The list of current Internet- 39 Drafts is at https://datatracker.ietf.org/drafts/current/. 41 Internet-Drafts are draft documents valid for a maximum of six months 42 and may be updated, replaced, or obsoleted by other documents at any 43 time. It is inappropriate to use Internet-Drafts as reference 44 material or to cite them other than as "work in progress." 46 This Internet-Draft will expire on January 1, 2022. 48 Copyright Notice 50 Copyright (c) 2021 IETF Trust and the persons identified as the 51 document authors. All rights reserved. 53 This document is subject to BCP 78 and the IETF Trust's Legal 54 Provisions Relating to IETF Documents 55 (https://trustee.ietf.org/license-info) in effect on the date of 56 publication of this document. Please review these documents 57 carefully, as they describe your rights and restrictions with respect 58 to this document. Code Components extracted from this document must 59 include Simplified BSD License text as described in Section 4.e of 60 the Trust Legal Provisions and are provided without warranty as 61 described in the Simplified BSD License. 63 Table of Contents 65 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 66 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 67 3. Definition of Terms . . . . . . . . . . . . . . . . . . . . . 3 68 4. Deployment Assumptions . . . . . . . . . . . . . . . . . . . 4 69 5. Mobility Clients Network Services . . . . . . . . . . . . . . 4 70 6. Mobility Unicast-Multicast . . . . . . . . . . . . . . . . . 5 71 7. Security Considerations . . . . . . . . . . . . . . . . . . . 6 72 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6 73 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 74 10. Normative References . . . . . . . . . . . . . . . . . . . . 8 75 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 77 1. Introduction 79 The Locator/ID Separation Protocol (LISP) [I-D.ietf-lisp-rfc6830bis] 80 splits IP addresses in two different namespaces, Endpoint Identifiers 81 (EIDs) and Routing Locators (RLOCs). LISP uses map-and-encap approach 82 (1) a Mapping System (distributed database) that stores and resolves 83 EID-RLOC mappings and on (2) LISP tunnel routers (xTRs) encapsulating 84 and decapsulating data packets based on content of those mappings. 86 H3 (https://h3geo.org)is a geospatial indexing system using hexagonal 87 grid that can be subdivided into finer and finer hexagonal grids, 88 combining the benefits of a hexagonal grid with hierarchy. 89 H3 supports sixteen resolutions. Each finer resolution has cells with 90 1/7 the area of the coarser resolution. Hexagons cannot be perfectly 91 subdivided into seven hexagons, so the finer cells are approximately 92 contained within a parent cell. Each cell is identified by 64bit HID. 94 The Berkeley Deep Drive (BDD) (https://bdd-data.berkeley.edu) Industry 95 Consortium investigates computer vision technologies for automotive 96 applications and for taxonomy of published automotive classification. 98 These standards are combined to create an in-network state reflecting 99 condition of each hexagonal tile (~1sqm) in every road. The mobility 100 H3-LISP network maps & encapsulates traffic between client endpoint 101 identifiers (EID) and addressable geospatial contexts (H3-HID=>EID). 103 The H3-LISP mobility network bridges timing and location gaps between 104 production and consumption of information by clients of mobility data: 105 o information producers: vision, sensory, LIADR, AI applications 106 o information consumers: driving-apps, map-apps, command & control 108 This is achieved by putting the physical world on a shared addressable 109 geospatial context-grid of road-segments represented at the edge. 110 Geospatial state sharing is done using this brokered-network of tile 111 representation, an indirection which solves key issues in v2v 112 information sharing. For example multiple vision perspectives, geo 113 privacy, cyber security. These challenges arise when clients are 114 asked to communicate directly when they do not really need to. 115 A communication pattern which causes complexity and exposures. 117 In non brokered v2v models, for a situation observable by some end 118 points, it is unclear if the need-to-know end-points will receive: 119 i. consistent, ii. conflicting, iii. multiple, or iv. no indications. 120 As an example, when a vehicle experiences a sudden highway slow-down, 121 sees brake lights or senses an accelerometer slowdown, there is no 122 clear way for it to share this data with vehicles 20-30sec away. 123 Or, when a vehicle crosses an intersection, observing opposite-lane 124 obstruction such as: construction, double-park, commercial loading, 125 garbage truck, or stopped school-bus.. there is no clear way for it 126 to alert approachers from another direction as it drives away. 128 Geospatial context indirection helps communicate advanced vision and 129 radar annotations. As these are evolving technologies, relaying road 130 enumerations using peer-to-peer poses interoperability challenges. 132 These peer-to-peer limitations are inherent yet unnecessary, in most 133 situations vehicles are not really proper peers. They happen to be in 134 the same place at the same time. H3-LISP mobility network solves these 135 limitations of direct vehicle-to-vehicle communication by brokering 136 exchanges using addressable geospatial context. Bridging timing, 137 security, privacy, and interoperability gaps between endpoints. 138 Brokering is achieved by clients communicating via context, 139 addressable tiles which aggregated and relay data using H3 EIDs. 141 Clients can provide drivers with heads-up alerts on hazards/obstacles 142 beyond the line of sight of driver and in-car sensors: over traffic, 143 around blocks, far-side junction, beyond road turns or curvatures. 144 This highlights the importance of networks for road safety 145 and role in Autonomous Vehicle (AV) operation support (AV-OSS). 147 To summarize the H3-LISP mobility use-case solution principles are: 149 (1) MicroPartition: 64bit indexed geo-state per H3.r15 road-tiles 150 (2) EnumState: 64bit state values of tile condition representation 151 (3) Grouping: EID per H3.r9 geo-context for its H3.r15 road-tiles 152 (4) Channels: H3.r9 EIDs multicast address for geo-state updates 153 (5) Scale: EID addressable contexts distributed for throughput 154 (6) Overlay: tunneled-network routes the mobility-network traffic 155 (7) Signal-free: overlay is used to map-register for mcast channels 156 (8) Layering: overlay tunnels used between client EIDs and H3 EIDs 157 (9) Access: client/server XTRs tunnel traffic to-from the LISP RTRs 158 (10) Control: RTRs register-resolve H3 EIDs and mcast subscriptions 159 |-0-|-1-|-2-|-3-|-4-|-5-|-6-|-7-|-8-|-9-|-A-|-B-|-C-|-D-|-E-|-F-| 160 | H3 Hexagon ID Key | 161 |-0-|-1-|-2-|-3-|-4-|-5-|-6-|-7-|-8-|-9-|-A-|-B-|-C-|-D-|-E-|-F-| 162 | H3 Hexagon State-Value | 163 |---------------------------------------------------------------| 165 Figure 1: 64 bit H3 ID, 64 bit compiled state value 167 Each H3.r9 hexagon is an EID context with corresponding H3 hexagon ID. 168 Bound to that context is a LISP xTR specified to encapsulate packets 169 to and from EID context and LISP Edge. Edge RTRs are used to re 170 -tunnel packets from clients to services. Each service is also a 171 multicast source for updating clients on the state of the H3.r15 172 tiles, aggregated by the EID addressable geospatial context. 174 2. Requirements Language 176 3. Definition of Terms 178 H3ServiceEID: Is an addressable aggregation of H3.r15 tiles. 179 It functions as geospatial data association context for filtering, 180 verifying, localizing, and propagating vehicles data uploads. 181 It is a designated destination for physical world annotations, 182 and an (s,g) source of multicast themed update channels. 183 H3ServiceEID is itself an H3 hexagon, large enough to provide 184 geo-spatial compute context, but not too large as to over-burden 185 subscribers with too much information. For Mobility Network it is 186 H3.r9. It has a light-weight LISP protocol stack to tunnel packets 187 aka ServerXTR. The EID is an IPv6 EID that contains the H3 64-bit 188 address numbering scheme. 190 ServerXTR: Is a data-plane only LISP protocol stack implementation, it 191 co-exists with H3ServiceEID process. When the server roams, the xTR 192 is with it. ServerXTR encaps/decaps packets to/from EdgeRTRs. 194 MobilityClient: Is a roaming application that may be a part of an 195 automobile, part of a navigation application, part of municipal, 196 state or federal government command and control application, or a 197 street view consumer application. It has a light-weight LISP 198 data-plane stack to tunnel packets, aka ClientXTR. 200 MobilityClient EID: Is the IPv6 EID used by the Mobility Clients 201 to source packets. The destination of such packets are only 202 H3ServiceEIDs. The EID format is opaque and is assigned as 203 part of the MobilityClient mobility-network authorization. 205 ClientXTR: Is a data-plane only LISP protocol stack implementation 206 co-located with the Mobility Client application. It encaps/ 207 decaps packets from/to applications to/from EdgeRTRs. 209 EdgeRTR: Is the core scale and structure of the LISP mobility network. 210 EdgeRTRs proxy H3ServiceEIDs and MobilityClient H3ServiceEID mcast 211 registration. EdgeRTRs aggregate MobilityClients/H3Services using 212 tunnels to facilitate hosting-providers and mobile-providers for 213 accessing the mobility network. EdgeRTRs decapsulate packets 214 from ClientXTRs, ServerXTRs and re-encaps packets to the clients 215 and servers tunnels. EdgeRTRs glean H3ServiceEIDs/MobilityClient 216 EIDs when they decapsulates packets. EdgeRTRs store H3ServiceEIDs 217 and RLOCs of where the H3ServiceEID is currently reachable from 218 the map-cache. These mappings are registered to the LISP mapping 219 so other EdgeRTRs know where to encapsulate for such EIDs. These 220 mappings may be provisioned by dev-ops when H3Services are 221 assigned EdgeRTRs. EdgeRTRs do not register MobilityClients' EIDs 222 at the mapping as these are temporary-renewed while using the 223 mobility network. Enterprises may provide their own EdgeRTRs to 224 protect geo-privacy. 226 ___ ___ 227 H3ServiceEIDs ___ / \ H3ServiceEIDs ___ / \ 228 ___ / | H3.r9 | ___ / | H3.r9 | 229 / | H3.r9 \ ___ / / | H3.r9 \ ___ / 230 | H3.r9 \ ___ / sXTR | H3.r9 \ ___ / sXTR 231 \ ___ / sXTR | \ ___ / sXTR | 232 sXTR | | sXTR | | 233 | | | | | | 234 | | | | | | 235 + - - + - - EdgeRTR EdgeRTR - + - + - - + 236 || ( ( (( || 237 ( ) 238 ( Network Hexagons ) 239 ( H3-LISP ) 240 ( Mobility Network ) 241 (( ) 242 || (( (()) () || 243 || || 244 = = = = = = = = = = = = = = 245 || || 246 EdgeRTR EdgeRTR 247 .. .. .. .. 248 .. .. .. .. 249 ((((|)))) ((((|)))) ((((|)))) ((((|)))) 250 /|\ RAN /|\ /|\ RAN /|\ 251 .. .. 252 .. .. 253 .. Road tiled by 1 sqm H3.r15 ID-Ed Geo-States .. 254 .. .. 255 .. ___ ___ ___ .. 256 .. ............. / \/ \/ \ << cXTR::MobilityClientB 257 .. - - - - - - - H3.r15 H3.r15 H3.r15 - - - - - - - - - - - - 258 MobilityClientA::cXTR >> \ ___ /\ ___ / ....................... 260 Figure 2: H3.r15 state representation, H3.r9 state aggregation 262 Figure 2 above describes the following entities: 263 - MobilityClientA sees MobilityClientB future, and, vice versa 264 - Clients: share information using addressable state routed by LISP 265 - ClientXTR (cXTR): encapsulates over access network to EdgeRTR 266 - ServerXTR (sXTR): encapsulates over cloud network to EdgeRTR 267 - H3-LISP Mobility: overlay which spans cXTRs to sXTRs 268 - Uploads: routed to appropriate tile by the LISP network 269 - EdgeRTRs: perform multicast replication to edges and then cXTRs 270 - Clients: receive tile-by-tile geo-state updates via the multicast 272 4. Deployment Assumptions 274 The specification described in this document makes the following 275 deployment assumptions: 277 (1) Unique 64-bit HID is associated with each H3 geo-spatial tile 278 (2) MobilityClients and H3ServiceEIDs share this well known index 279 (3) 64-bit BDD state value is associated with each H3-indexed tile 280 (4) Tile state is compiled 16 fields of 4-bits, or max 16 enums 282 0 1 2 3 4 5 6 283 |-0-|-1-|-2-|-3-|-4-|-5-|-6-|-7-|-8-|-9-|-A-|-B-|-C-|-D-|-E-|-F-| 284 0123012301230123012301230123012301230123012301230123012301230123 286 Figure 3: Nibble based representation, 16 fields x 16 enumerations 288 We name the nibbles using hexadecimal index according to the 289 position where the most significant nibble has index 0. 290 Values are defined in section 9. 292 Subscription of MobilityClients to mobility-network is renewed 293 while on the move and is not intended as the basic connectivity. 294 MobilityClients use DNS/AAA to obtain temporary EIDs/EdgeRTRs 295 and use (LISP) data-plane tunnels to communicate using their 296 temporary EIDs with the dynamically assigned EdgeRTRs. 298 MobilityClient are otherwise unaware of the LISP network control 299 plane and simply regard the data-plane tunnels as a virtual 300 private network (VPN) that supports IPv6 EID to upload (Ucast) 301 and Subscribe-to (Mcast) H3Services. 303 In order to get access to the MobilityVPN, MobilityClients first 304 authenticate with the MobilityVPN AAA Server. DIAMETER [RFC6733] 305 based AAA is typically done at the provider edge (PE) by gateways. 306 However, the typical case involves several types of CPE connected 307 to a specific service provider. The Mobility VPN, on the other hand, 308 may overlay a number of wireless networks and cloud-edge providers. 309 It also involves dozens of Car-OEM, Driving-Applications, Smart- 310 City vendors. This is why we require clients to first go through 311 AAA in order to get both a MobilityClientEID and EdgeRTR RLOC. 313 ClientXTR performs the following steps to use the mobility network: 314 1) obtain the address of the mobility network AAA server using DNS 315 2) obtain MobilityClientEID and EdgeRTR(s) from AAA DIAMETER server 316 3) renew authorization from AAA while using the mobility network 317 MobilityClient DomainNameServer DIAMETER-AAA MobilityEdgeRTR 318 | | | | 319 | nslookup nexagon | | | 320 |------------------->| | | 321 |<-------------------| | | 322 | Mobility AAA IP | | | 323 | | | | 324 | AAR(AVP:IMSI/User/Password/Toyota) | | 325 |--------------------------------------->| | 326 | | | ACR(AVP ClientEID)| 327 | | |------------------>| 328 | | |<------------------| 329 | | | ACA(AVP ClientEID)| 330 | AAA (Client::EID,EdgeRTR::RLOC) | | 331 |<---------------------------------------| | 332 | | | | 333 . . 334 . . 335 . Activity: . 336 | Upload to IPv6 H3ServiceEID, Subscribe MLDv2 H3ServiceEID | 337 |----------------------------------------------------------->| 338 . . 339 . . 340 |<-----------------------------------------------------------| 341 | Signal freeing multicast Updates from H3ServiceEIDs | 342 . . 343 . . 344 . . 345 | | | | 346 | AAR(Interim) | | 347 |--------------------------------------->| ACR (Interim) | 348 | | |------------------>| 349 | | |<------------------| 350 | | | ACA (Interim) | 351 |<---------------------------------------| | 352 | AAA (Interim) | | 354 Figure 4: DNS and AAA Exchange for nexagon-network login 356 Using this network login and re-login method we ensure that: 357 - MobilityClientEIDs serve as credentials with the EdgeRTRs 358 - EdgeRTRs are provisioned to whitelist MobilityClient EIDs 359 - EdgeRTRs are not tightly coupled to H3.r9 areas (privacy/balance) 360 - MobilityClients do not need to update EdgeRTRs while roaming 362 The same EdgeRTR may serve several H3.r9 areas for ride continuity 363 and several EdgeRTRs may load balance an H3.r9 area with high 364 density of MobilityClients. When a MobilityClient ClientXTR is 365 homed to EdgeRTR, it is able to communicate with H3ServiceEIDs. 367 5. Mobility Clients Network Services 369 The mobility network functions as a standard LISP overlay. 370 The overlay delivers unicast and multicast packets across: 371 - multiple access-networks and radio-access specifications 372 - multiple edge providers, public, private, and hybrid clouds 374 We use data-plane XTRs in the stack of each mobility client/server. 375 ClientXTRs and ServerXTRs are homed to one or more EdgeRTRs. 376 This structure allows for MobilityClients to "show up" at any time, 377 behind any network provider in a given mobility network admin/NAT 378 domain, and for any H3ServiceEID to be instantiated, moved, or 379 failed-over to any rack in any cloud-provider. LISP overlay enables 380 these roaming mobility network elements to communicate uninterrupted. 381 This quality is insured by the LISP RFCs. The determination of 382 identities for MobilityClients to always refer to the correct 383 H3ServiceEID is insured by H3 geo-spatial HIDs. 385 There are two options to associate ClientXTRs with LISP EdgeRTRs: 387 i. Semi-random load-balancing by DNS/AAA 389 In this option we assume that in a given metro edge a pool of 390 EdgeRTRs can distribute the Mobility Clients load randomly between 391 them and that EdgeRTRs are topologically equivalent. Each RTR uses 392 LISP to tunnel traffic to and from other EdgeRTRs for MobilityClient 393 with H3Service exchanges. MobilityClients home to EdgeRTRs. 395 ii. Topological by anycast 397 In this option we align an EdgeRTR with topological aggregation. 398 Mobility Clients are roaming in an area home to that RTR and so 399 is the H3 Server. There is only one hop across the edge overlay 400 between clients and servers and mcast replication is more 401 focused, but clients need to keep re-homing as they move. 403 To summarize the H3LISP mobility network layout: 405 (1) Mobility-Clients traffic is tunneled via data-plane ClientXTRs 406 ClientXTRs are (multi) homed to EdgeRTR(s) 407 (2) H3ServiceEID traffic is tunneled via data-plane ServerXTR 408 ServerXTRs are (multi) homed to EdgeRTR(s) 409 (3) EdgeRTRs use mapping service to resolve Ucast HIDs to RTR RLOCs 410 EdgeRTRs also register to (Source, Group) H3ServiceEID multicasts 412 MobilityClients <> ClientXTR EdgeRTR v 413 v 414 v < < < < Map-Assisted Mobility-Network Overlay < < < < v 415 v 416 > > > > EdgeRTR ServerXTR <> H3ServiceEID 418 Figure 5: The Data Flow Between MobilityClients and H3ServiceEIDs 420 6. Mobility Unicast and Multicast 422 Regardless of the way a given ClientXTR was associated with EdgeRTR, 423 an authenticated MobilityClient EID can send: [64bitH3.15ID :: 424 64bitState]annotations to the H3.r9 H3ServiceEID. The H3.r9 EID can 425 be calculated by clients algorithmically from the H3.15 localization. 427 The ClientXTR encapsulates MobilityClient EID and H3ServiceEID from 428 the ClientXTR with the destination of the EdgeRTR RLOC LISP port. 429 EdgeRTRs then re-encapsulate annotation packets either to a remote 430 EdgeRTR (option 1) or to homed H3ServiceEID ServerXTR (option 2). 431 The remote EdgeRTR aggregating H3ServiceEIDs re-encapsulates 432 MobilityClient EID to the ServerXTR, to the H3ServiceEID. 434 The headers consist of the following fields: 436 Outer headers = 40 (IPv6) + 8 (UDP) + 8 (LISP) = 56 437 Inner headers = 40 (IPv6) + 8 (UDP) + 4 (Nexagon Header) = 52 438 1500 (MTU) - 56 - 52 = 1392 bytes of effective payload 440 Nexagon Header Type allows for kv tupples of vkkk flooding 441 Type 0: reserved 442 Type 1:key-value, key-value.. 1392 / (8 + 8) = 87 pairs 443 Type 2:value, key,key,key.. (1392 - 8) / 8 = 173 H3-R15 IDs 444 Type 3-255: unassigned 446 Nexagon Header GZIP allows for compression, very effective for H3IDs 447 At this point we designate 001 value if content was GZIP compressed. 448 Additional values may be added in the future for compression types. 450 Nexagon Header Reserved bits 451 Nexagon Header kv count (in any format) 453 0 1 2 3 454 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 455 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ \ 456 |Version| Traffic Class | Flow Label | | 457 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 458 | Payload Length | Next Header | Hop Limit | | 459 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 460 | | | 461 + + | 462 | | | 463 + Source MobilityClientEID + | 464 | | IPv6 465 + + | 466 | | | 467 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 468 | | | 469 + + | 470 | | | 471 + Dest H3ServiceEID + | 472 | | | 473 + + | 474 | | / 475 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 476 | Source Port = xxxx | Dest Port = xxxx | \ 477 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ UDP 478 | UDP Length | UDP Checksum | / 479 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ \ 480 | Type |gzip | Reserved | Pair Count = X| Nexgon 481 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / 482 | | 483 + 64 Bit H3-R15 ID + 484 | | 485 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 486 | | 487 + 64 Bit State + 488 | | 489 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 490 | | 491 + 64 Bit H3-R15 ID + 492 | | 493 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 494 | | 495 + 64 Bit State + 496 | | 497 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 499 Figure 6: Uploaded detections packet format 500 To Summarize Unicast: 502 (1) MobilityClients can send annotations are localized to H3.r15 503 tile. These annotations are sent to H3.r9 mobility H3ServiceEIDs 504 (2) MobilityClient EID and H3ServiceEID HID are encapsulated: 505 XTR <> RTR <> RTR <> XTR 506 * RTRs can map-resolve re-tunnel HIDs 507 (3) RTRs re-encapsulate original source-dest to ServerXTRs 508 ServerXTRs decapsulate packets to H3ServiceEID 510 Each H3.r9 Server is also an IP Multicast Source used to update 511 subscribers on the aggregate state of the H3.r15 tiles in the H3.r9 512 server. This forms a multipoint to multipoint state channel per H3 513 location, where the aggregation has compute-first propagation. 515 We use [RFC8378] signal-free multicast to implement mcast channels in 516 the overlay. The mobility network has many channels, with thousands 517 subscribers per channel. MobilityClients driving through/subscribing 518 to an H3.r9 area can explicitly issue an [RFC4604] MLDv2 in order to 519 subscribe, or, may be subscribed implicitly by the EdgeRTR. 521 The advantage of explicit client MLDv2 registration as [RFC8378] 522 trigger is that clients manage their own mobility mcast handover per 523 location-direction vectors, and that it allows for otherwise silent 524 non annotating clients. The advantage of EdgeRTR implicit registration 525 is that less signaling required. 527 MLDv2 signaling messages are encapsulated between the ClientXTR and 528 EdgeRTR, therefore there is no requirement for the underlying network 529 to support native multicast. If native access multicast is supported 530 then MobilityClient registration to H3ServiceEID safety channels may 531 be integrated with it, in which case mobile packet-core element 532 supporting it will use this standard to register with the 533 appropriate H3.r9 channels in its area. 535 Multicast update packets are of the following structure: 537 0 1 2 3 538 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 539 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ \ 540 |Version| Traffic Class | Flow Label | | 541 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 542 | Payload Length | Next Header | Hop Limit | | 543 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 544 | | | 545 + + | 546 | | | 547 + Source H3-R9 EID Address + | 548 | | IPv6 549 + + | 550 | | | 551 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 552 | | | 553 + + | 554 | | | 555 + Group Address + | 556 | | | 557 + + | 558 | | / 559 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 560 | Source Port = xxxx | Dest Port = xxxx | \ 561 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ UDP 562 | UDP Length | UDP Checksum | / 563 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ \ 564 | |Nexagon 565 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / 566 ~ Nexagons Payload ~ 567 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 569 Figure 7: Mcast update packet header 571 0 1 2 3 572 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 573 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ \ 574 | Type = 1 |gzip | Reserved | Pair Count = X|Nexagon 575 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / 576 | | 577 + 64 Bit H3-R15 ID + 578 | | 579 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 580 | | 581 + 64 Bit State + 582 | | 583 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 584 | | 585 + 64 Bit H3-R15 ID + 586 | | 587 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 588 | | 589 + 64 Bit State + 590 | | 591 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 593 Figure 8: Mcast update payload, key-value, key-value.. 595 0 1 2 3 596 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 597 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ \ 598 | Type = 2 |gzip | Reserved |H3R15 Count = X|Nexagon 599 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / 600 | | 601 + 64 Bit State + 602 | | 603 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 604 | | 605 + 64 Bit H3-R15 ID + 606 | | 607 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 608 | | 609 + 64 Bit H3-R15 ID + 610 | | 611 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 612 | | 613 + 64 Bit H3-R15 ID + 614 | | 615 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 617 Figure 9: Mcast update payload, value, key, key.. for larger areas 619 The remote EdgeRTRs homing MobilityClients in turn replicate the 620 packet to the MobilityClients registered with them. 622 We expect an average of 600 H3.r15 tiles of the full 7^6 (~100K) 623 possible in H3.r9 to be part of any road. The H3.r9 server can 624 transmit the status of all 600 or just those with meaningful states 625 based on updated SLA and policy. 627 To Summarize: 629 (1) H3LISP Clients tune to H3.r9 mobility updates using [RFC8378] 630 H3LISP Client issue MLDv2 registration to H3.r9 HIDs 631 ClientXTRs encapsulate MLDv2 to EdgeRTRs who register (s,g). 633 (2) ServerXTRs encapsulate updates to EdgeRTRs who map-resolve (s,g) 634 RLOCs EdgeRTRs replicate mobility update and tunnel to registered 635 EdgeRTRs Remote EdgeRTRs replicate updates to ClientXTRs. 637 7. Security Considerations 639 The nexagon layer3 v2n network is inherently more secure and private 640 then peer to peer alternatives because of the indirection. No car or 641 infrastructure element communicates directly with MobilityClients. 642 All information is conveyed using shared addressable geo-state. 643 MobilityClients receive information only from geospatial channels 644 originating from a trusted broker. MobilityClients have no indication 645 as to the origin of the information. This is an important step towards 646 better privacy, security, extendability, and interoperability compared 647 with legacy layer2 protocols. 649 In order to be able to use the nexagon mobility network for a given 650 period, the mobility clients go through a DNS/AAA stage by which they 651 obtain their clientEID identifiers-credentials and the RLOCs of 652 EdgeRTRs they may use as gateways to the network. This MobilityClient 653 <> EdgeRTR interface is the most sensitive in this network to privacy 654 and security considerations. 656 The traffic on the MobilityClient<>EdgeRTR interface is tunneled, and 657 its UDP content may be encrypted; still, the EdgeRTR will know based 658 on the LISP headers alone the MobilityClient RLOC and H3-R9 (~0.1sqkm) 659 geo-spatial area to which a given client uploads or subscribes to. 661 For this reason we envision the ability of enterprise or groups of 662 users to "bring their own" EdgeRTRs. BYO-RTR masks individual clients' 663 RLOC to H3-R9 association and is pre-provisioned to be able to use the 664 mapping system and be on a white-list of EdgeRTRs aggregating 665 H3ServiceEIDs. If the EdgeRTR functionality is delivered by 5GCore UPF 666 then the only entity which can correlate underlay IP, User, and Geo- 667 location is the regulated carrier, which can do so anyway. 669 Beyond this hop, the mapping system does not hold MobilityClientEIDs, 670 and remote EdgeRTRs are only aware of MobilityClient ephemeral EIDs, 671 not actual RLOC or any other mobile-device identifiers. EdgeRTRs 672 register in the mapping (s,g) H3-R9 multicast groups. Which clients 673 use which EdgeRTR is not in the mapping system, only the AAA server is 674 aware of that. The H3ServiceEIDs themselves decrypt and parse actual 675 H3-R15 annotations; they also consider during this MobilityClientEID 676 credentials to avoid "fake-news", but again these are only temporary 677 EIDs allocated to clients in order to be able to use the mobility 678 network and not for their actual IP. 680 H3Services are provisioned to their EdgeRTRs, in the EdgeRTRs, and 681 optionally also in the mapping system. 683 In summary of main risk mitigations for the lisp-nexagon interface: 685 (1) tapping: all communications are through dynamic tunnels therefore 686 may be encrypted using IP-Sec or other supported point to point 687 underlay standards. These are not static tunnels but LISP re-tunneling 688 routers (RTRs) perform all nexagon Overlay aggregation. 690 (2) spoofing: it is very hard to guess a MobilityClientEID valid for 691 a short period of time. Clients and H3Services EIDs are whitelisted 692 in EdgeRTRs, Clients using the AAA procedure, H3Services via dev-ops. 694 (3) impersonating: efforts to use MobilityClients and H3Services RLOCs 695 should be caught by the underlying service provider edge and access 696 networks. EID impersonating is caught by EdgeRTR EID RLOC whitelist 697 mismatch. 699 (4) credibility: the interface crowd-sources geo-state and does not 700 assume to trust single detections. Credit history track to 701 MobilityClientEIDs by as part of normal H3Services fact checking, 702 aggregate scores affect AAA credentials. 704 (5) privacy: Only EdgeRTRs are aware of both clients' RLOC and 705 geo-location, only AAA is aware of client IDs credentials and credit 706 but not geo-location. Aggregate credit score span all H3Services 707 administratively without source. 709 8. Acknowledgments 711 We would like to kindly thank Joel Halperin for helping structure the 712 AAA section and Geo-Privacy provisions, Luigi Lannone promoting LISP 713 Compute First Networking (CFN) use-cases and shepherding this draft 714 to completion. 716 9. IANA Considerations 718 State enum fields of H3 tiles: 720 Field 0x0: Traffic Direction { 721 0x0 - null 722 0x1 - Lane North 723 0x2 - Lane North + 30 724 0x3 - Lane North + 60 725 0x4 - Lane North + 90 726 0x5 - Lane North + 120 727 0x6 - Lane North + 150 728 0x7 - Lane North + 180 729 0x8 - Lane North + 210 730 0x9 - Lane North + 240 731 0xA - Lane North + 270 732 0xB - Lane North + 300 733 0xC - Lane North + 330 734 0xD - junction 735 0xE - shoulder 736 0xF - sidewalk 737 } 739 field 0x1: Persistent or Structural { 740 0x0 - null 741 0x1- pothole light 742 0x2 - pothole severe 743 0x3 - speed-bump low 744 0x4 - speed-bump high 745 0x5 - icy 746 0x6 - flooded 747 0x7 - snow-cover 748 0x8 - snow-deep 749 0x9 - construction cone 750 0xA - gravel 751 0xB - choppy 752 0xC - blind-curve 753 0xD - steep-slope 754 0xE - low-bridge 755 0xF - unassigned 756 } 757 field 0x2: Transient Condition { 758 0x0 - null 759 0x1 - pedestrian 760 0x2 - bike scooter 761 0x3 - stopped car / truck 762 0x4 - moving car / truck 763 0x5 - first responder vehicle 764 0x6 - sudden slowdown 765 0x7 - oversized over-height vehicle 766 0x8 - red-light-breach 767 0x9 - light collision (fender bender) 768 Ax - hard collision / casualty 769 0xB - collision course 770 0xC - collision debris 771 0xD - hard brake 772 0xE - sharp corner 773 0xF - freeing-parking 774 } 776 field 0x3: Traffic-light Cycle { 777 0x0 - null 778 0x1 - 1 seconds to green 779 0x2 - 2 seconds to green 780 0x3 - 3 seconds to green 781 0x4 - 4 seconds to green 782 0x5 - 5 seconds to green 783 0x6 - 6 seconds to green 784 0x7 - 7 seconds to green 785 0x8 - 8 seconds to green 786 0x9 - 9 seconds to green 787 0xA - 10 seconds or less 788 0xB - 20 seconds or less 789 0xC - 30 seconds or less 790 0xD - 60 seconds or less 791 0xE - green now 792 0xF - red now 793 } 794 field 0x4: Impacted Tile from Neighboring { 795 0x0 - null 796 0x1 - epicenter 797 0x2 - light yellow 798 0x3 - yellow 799 0x4 - light orange 800 0x5 - orange 801 0x6 - light red 802 0x7 - red 803 0x8 - light blue 804 0x9 - blue 805 0xA - green 806 0xB - light green 807 0xC - unassigned 808 0xD - unassigned 809 0xE - unassigned 810 0xF - unassigned 811 } 812 field 0x5: Transient, Cycle, Impacted, Valid for Next{ 813 0x0 - null 814 0x1 - 1sec 815 0x2 - 5sec 816 0x3 - 10sec 817 0x4 - 20sec 818 0x5 - 40sec 819 0x6 - 60sec 820 0x7 - 2min 821 0x8 - 3min 822 0x9 - 4min 823 0xA - 5min 824 0xB - 10min 825 0xC - 15min 826 0xD - 30min 827 0xE - 60min 828 0xF - 24hours 829 } 830 field 0x6: LaneRightsSigns { 831 0x0 - null 832 0x1 - yield 833 0x2 - speedLimit 834 0x3 - straightOnly 835 0x4 - noStraight 836 0x5 - rightOnly 837 0x6 - noRight 838 0x7 - rightStraight 839 0x8 - leftOnly 840 0x9 - leftStraight 841 0xA - noLeft 842 0xB - noUTurn 843 0xC - noLeftU 844 0xD - bikeLane 845 0xE - HOVLane 846 0xF - Stop 847 } 848 field 0x7: MovementSigns { 849 0x0 - null 850 0x1 - keepRight 851 0x2 - keepLeft 852 0x3 - stayInLane 853 0x4 - doNotEnter 854 0x5 - noTrucks 855 0x6 - noBikes 856 0x7 - noPeds 857 0x8 - oneWay 858 0x9 - parking 859 0xA - noParking 860 0xB - noStandaing 861 0xC - noPassing 862 0xD - loadingZone 863 0xE - railCross 864 0xF - schoolZone 865 } 866 field 0x8: CurvesIntersectSigns { 867 0x0 - null 868 0x1 - turnsLeft 869 0x2 - turnsRight 870 0x3 - curvesLeft 871 0x4 - curvesRight 872 0x5 - reversesLeft 873 0x6 - reversesRight 874 0x7 - windingRoad 875 0x8 - hairPin 876 0x9 - pretzelTurn 877 0xA - crossRoads 878 0xB - crossT 879 0xC - crossY 880 0xD - circle 881 0xE - laneEnds 882 0xF - roadNarrows 883 } 884 field 0x9: Current Tile Speed { 885 0x0 - null 886 0x1 - < 5kmh 887 0x2 - < 10kmh 888 0x3 - < 15kmh 889 0x4 - < 20kmh 890 0x5 - < 30kmh 891 0x6 - < 40kmh 892 0x7 - < 50kmh 893 0x8 - < 60kmh 894 0x9 - < 80kmh 895 0xA - < 100kmh 896 0xB - < 120kmh 897 0xC - < 140kmh 898 0xD - < 160kmh 899 0xE - > 160kmh 900 0xF - queuedTraffic 901 } 903 field 0xA: Vehicle / Pedestrian Traffic { 904 0x0 - null 905 0x1 - probability of ped/vehicle on tile close to 100% 906 0x2 - 95% 907 0x3 - 90% 908 0x4 - 85% 909 0x5 - 80% 910 0x6 - 70% 911 0x7 - 60% 912 0x8 - 50% 913 0x9 - 40% 914 0xA - 30% 915 0xB - 20% 916 0xC - 15% 917 0xD - 10% 918 0xE - 5% 919 0xF - probability of ped/vehicle on tile close to 0%, empty 920 } 922 filed 0xB - reserved 923 field 0xC - reserved 924 field 0xD - reserved 925 field 0xE - reserved 926 field 0xF - reserved 928 Reserved fields and values are for future RFC extensions 929 10. Normative References 931 [I-D.ietf-lisp-rfc6830bis] 932 Farinacci, D., Fuller, V., Meyer, D., Lewis, D., and A. 933 Cabellos-Aparicio, "The Locator/ID Separation Protocol 934 (LISP)", draft-ietf-lisp-rfc6830bis-36 (work in progress), 935 September 2020. 937 [RFC8378] Farinacci, D., Moreno, V., "Signal-Free Locator/ID 938 Separation Protocol (LISP) Multicast", RFC8378, 939 DOI 10.17487/RFC8378, May 2018, 940 . 942 [RFC6733] Fajardo, V., Ed., Arkko, J., Loughney, J., and G. Zorn, 943 Ed., "Diameter Base Protocol", RFC 6733, 944 DOI 10.17487/RFC6733, October 2012, 945 . 947 [RFC4604] Holbrook, H. Cain, B. Haberman, B., "Using Internet Group 948 Management Protocol Version 3 (IGMPv3) and Multicast 949 Listener DiscoveryProtocol Version 2 (MLDv2) for 950 Source-Specific Multicast", RFC4604, 951 DOI 10.17487/RFC4604, August 2006, 952 . 954 Authors' Addresses 956 Sharon Barkai 957 Nexar 958 CA 959 USA 961 Email: sbarkai@gmail.com 963 Bruno Fernandez-Ruiz 964 Nexar 965 London 966 UK 968 Email: b@getnexar.com 970 S ZionB 971 Nexar 972 Israel 974 Email: sharon@fermicloud.io 975 Rotem Tamir 976 Nexar 977 Israel 979 rotemtamir@getnexar.com 981 Alberto Rodriguez-Natal 982 Cisco Systems 983 170 Tasman Drive 984 San Jose, CA 985 USA 987 Email: natal@cisco.com 989 Fabio Maino 990 Cisco Systems 991 170 Tasman Drive 992 San Jose, CA 993 USA 995 Email: fmaino@cisco.com 997 Albert Cabellos-Aparicio 998 Technical University of Catalonia 999 Barcelona 1000 Spain 1002 Email: acabello@ac.upc.edu 1004 Jordi Paillisse-Vilanova 1005 Technical University of Catalonia 1006 Barcelona 1007 Spain 1009 Email: jordip@ac.upc.edu 1011 Dino Farinacci 1012 lispers.net 1013 San Jose, CA 1014 USA 1016 Email: farinacci@gmail.com