[Docs] [txt|pdf] [Tracker] [Email] [Diff1] [Diff2] [Nits]

Versions: 00 01 02 03 04 05 06 07 08 09 10 11

LISP Working Group                                                    S. Barkai
Internet-Draft                                                B. Fernandez-Ruiz
Intended status: Experimental                                        O. Serfaty
Expires: September 4, 2019                                            Nexar Inc.
                                                             A. Rodriguez-Natal
                                                                       F. Maino
                                                                  Cisco Systems
                                                           A. Cabellos-Aparicio
                                                          J. Paillissé Vilanova
                                              Technical University of Catalonia
                                                                   D. Farinacci
                                                                    lispers.net
                                                                 April 29  2019


                      H3-LISP Based Geospatial Mobility Network
                            draft-barkai-lisp-nexagon-01


Abstract

   This document specifies the use of H3 and LISP for mobility network, publish
   and subscribe to shared road safety - maintenance - traffic conditions.


Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on September 4, 2018.

Copyright Notice

   Copyright (c) 2019 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Requirements Language . . . . . . . . . . . . . . . . . . . .   3
   3.  Deployment Assumptions  . . . . . . . . . . . . . . . . . . .   3
   4.  H3LISP Clients-Network-Servers  . . . . . . . . . . . . . . .   4
   5.  H3LISP Clients-Servers Unicast  . . . . . .  . . . . . . . . .   5
   6.  H3LISP Servers-Clients Multicast  . . . . . . . . . . . . . .   7
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   8.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .   8
   9.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
   10. Normative References  . . . . . . . . . . . . . . . . . . . .   8
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   8

1.  Introduction

  (1) The Locator/ID Separation Protocol (LISP) [RFC6830] splits current IP
  addresses in two different namespaces, Endpoint Identifiers (EIDs) and
  Routing Locators (RLOCs). LISP uses a map-and-encap approach that relies on
  (1) a Mapping System (distributed database) that stores and disseminates
  EID-RLOC mappings and on (2) LISP tunnel routers (xTRs) that encapsulate
  and decapsulate data packets based on the content of those mappings.

  (2) H3 is a geospatial indexing system using a hexagonal grid that can be
  (approximately) subdivided into finer and finer hexagonal grids,
  combining the benefits of a hexagonal grid with hierarchical subdivisions.
  H3 supports sixteen resolutions. Each finer resolution has cells with one
  seventh the area of the coarser resolution. Hexagons cannot be perfectly
  subdivided into seven hexagons, so the finer cells are only approximately
  contained within a parent cell. Each cell is identified by a 64bit int.

  (3) The Berkeley Deep Drive (BDD) Industry Consortium investigates state-of-
  the-art technologies in computer vision and machine learning for automotive
  applications, BDD based taxonomy of published automotive scene classification.

  These standards are combined to create in-network key-value state-blackboard -
  reflecting the state of each 1sqm hexagon tile of each road. The lisp network
  maps traffic form vehicle endpoint IP identifiers (EID) to routing location
  (RLOC) of H3 server EID-ed hexagon identifier (HID).

  Th lisp network blackboard bridges timing-location gaps of vision & sensory
  (publishers) - and - driving apps/smart-infrastructure (subscribers).
  Drivers (EID) communicate with blackboard tiles (HID), EID<=> RLOC <=> HID,
  small tiles to publish, large tiles to subscribe to regional information.

  One of of the key use-cases is providing drivers with 20-30 seconds preemptive
  heads-up on potential hazards and obstacles beyond line of site: over traffic,
  around blocks, beyond turns and curvatures.

  (1) LISP blackboard keys are 64bit H3 IDs referring to ~1sqm H3 level 15
  (2) LISP blackboard values are 64bit compiled-states of each H3 road-tile
  (3) LISP blackboard pub-sub regions are at H3 level-12 containing l15 tiles
  (4) LISP Blackboard is sharded to scale state-updates and edge propagation
  (5) Edge XTRs use the H3 IDs to map traffic to and from H3Servers
  (6) Edge XTRs are also used to replicate bulk state multicast to clients
  (7) Bulk updates multicast-replication can use native ran-access multicast


                  ___              ___             ___
                /     \          /     \          /    \
               | H3-R9 |        | H3-R9 |        |      |
           ---  \ ___ / ---  --- \_____/ ---  --- \____/ ---
          v    StackXTR     v    StackXTR    v    StackXTR    v
          v                 v  \    |     /  v                v
                              CloudEdgeRTRs 1..n
                                    ||
                        <LISP MapAssisted Overlay>
                                    ||
                            NetworkEdgeRTRs 1..m
                                    /|\

           ((((|))))                               ((((|))))
              /|\                                     /|\
              RAN                                     RAN

       ..................../    \/    \/    \...........<< SubscriberXTR
  - - - - - - - - - - - - -H3-R15  --  H3-R15 - - - - - - -
      PublisherXTR >> .....\____/\____/\____/..........



2.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

3.  Deployment Assumptions

   The specification described in this document makes the following
   deployment assumptions:

   (1) A unique 64-bit H3-Tile identifier is associated with each geo-location
   (2) Clients (Publisher/Subscriber) and network (Blackboard) share this index
   (3) A 64-bit automotive BDD state value is associated with each hexagon tile
   (4) Hexagon state is compiled 16 fields of 4-bit (nibble) up-to 16 enums each

  |-0-|-1-|-2-|-3-|-4-|-5-|-6-|-7-|-8-|-9-|-A-|-B-|-C-|-D-|-E-|-F-|
   0123012301230123012301230123012301230123012301230123012301230123


   |-0-|-1-|-2-|-3-|-4-|-5-|-6-|-7-|-8-|-9-|-A-|-B-|-C-|-D-|-E-|-F-|
   |                        H3 Hexagon ID Key                      |
   |-0-|-1-|-2-|-3-|-4-|-5-|-6-|-7-|-8-|-9-|-A-|-B-|-C-|-D-|-E-|-F-|
   |                      H3 Hexagon State-Value                   |
   |---------------------------------------------------------------|



4. H3LISP Clients-Network-Servers

  In order to overlay the mobility network across:
   - multiple access-network providers / radio-access technologies
   - multiple cloud-edge hosting providers both public and private
  We use signal-free XTRs in the stack of each mobility client and server.
  stack XTRs are homed to one or more RTRs at the cloud or network edge.

  This structure allows for each mobility client to "show-up" at any time,
  behind any network or cloud provider in a given mobility administrative
  domain, and still be able to communicate un-interrupted with the mobility
  network clients and servers.

  There are two options for how we associate StackXTRs with EdgeRTRs:

  I. semi-random based on rough administrative DNS based load-balanced partition
  II. geo-spatial, where a well known any-cast RTR aggregates each H3.r9 hexagon

  To summarize the H3LISP mobility network layout:

   (1) Mobility-Clients' stack tunneled via signal-free XTR interface
       Clients stack-XTRs multi-homed to Edge RTRs
   (2) H3Server stack is tunneled using signal-free XTR Interface
       Server stack-XTRs are multi-homed to Edge RTRs
   (3) Edge RTRs use mapping service to resolve H3-IP to RTR RLOCs
       This allows H3LISP end-points to roam between providers in a domain.



                  Clients <> StackXTR <Network Provider > EdgeRTR
                                          ||
                      < Map-Assisted Mobility-Network Overlay>
                                          ||
                     EdgeRTR <Cloud Provider> StackXTR<>Servers


5. H3LISP Clients-Servers Unicast

  Which ever way a stack XTR is homed to an Edge RTR, via DNS metro load-balance
  or via a well known  geo-spatial map of VIPs (a few 10Ks per large metro area),
  an authenticated, authorized client EID can send a 64bitH3.res15::64bitState
  annotation to the H3.res9 EID server. The H3.res9 IP EID can be calculated by
  the client algorithmically form the H3.res15 localized tile ID.

  The Stack XTR encapsulates the mobility client EID and the H3Server EID in a
  packet sourced from the XTR network provider IP stack port, destined to the
  EdgeRTR RLOC IP, Lisp port. Edge RTRs then re-encapsulate annotation packets
  either to remote RTR (optionI) or to homed H3Server StackXTR (option2).
  In option1 only the remote Edge RTR aggregating H3Servers re-encapsulates
  CellEID, ClientEID, tileID, TileState packet to server stack XTR.

  To Summarize:

   (1) Mobility Clients can send annotation state localized an H3.r15 tile
       These annotations are sent to an H3.res9 mobility server
   (2) Source Client EID and Dest H3 EID are encapsulated XTR <> RTR
       * RTRs can map-resolve re-tunnel H3 EID to remote RTR RLOC
   (3) RTRs re-encapsulate original source-dest to stack XTRs
       Stack XTRs decapsulate packet and serve the original EIDs packet




6. H3LISP Servers-Clients Multicast

  Each H3.res9 Mobility Server used by clients to update H3.res15 tile state,
  is also an IP Multicast channel used to update subscribers on the aggregate
  state of the tiles in the cell.

  We can use rfc8378 signal free multicast to implement cell channels in the
  overlay. Since the mobility network has many channels and relatively few
  subscribers per each connected through natural RTR fan-out this multicast
  method is both simple and effective. Clients driving to or subscribing to a
  geo-cell issue an IGMP report in-order to subscribe. IGMP messages are
  encapsulated between the stack XTR and the Edge RTR, therefore no need for the
  underlying network to support native multicast.

  Edge RTRs note the subscribed client stack XTRs and if need be register them
  selves as channel subscribers in the mapping system. This is done at the
  first subscription request, if additional clients homed to the same RTR
  register for the same channels.

  Upon receiving a multicast packet the Edge RTR homing H3.res9 Servers resolve
  the remote RTR registered for the channel and replicate the packet to them.
` The remote RTRs homing clients in-turn replicate the packet to the registered
  homed clients.We expect an average of 600 H3.res15 tiles of the full 10K
  to be part of any road. The H3.res9 server can transmit the status of all
  600 or just those with meaningful state based on policy. As long as the
  refresh rate and update latency matches that of the registered clients SLA.

   Summary:

   (1) H3LISP Clients tune to H3 mobility updates using rfc8378
       H3LISP Client issue IGMP-Report registration to H3 multicast EIDs
       Stack XTRs encapsulate IGMP-report to Edge RTRs who register the EID

       *H3LISP Servers send periodic mobility update packet through stack XTR
       based on channel SLA

   (2) Stack XTRs encapsulate to Edge RTRs who map-resolve registered RLOCs
       Edge RTRs replicate mobility update and tunnel to registered RTRs
       Remote Edge RTRs replicate updates to registered Clients through XTRs



7.  Security Considerations

   The way to provide a security association between the ITRs and the
   Map-Servers must be evaluated according to the size of the
   deployment.  For small deployments, it is possible to have a shared
   key (or set of keys) between the ITRs and the Map-Servers.  For
   larger and Internet-scale deployments, scalability is a concern and
   further study is needed.

8.  Acknowledgments

   This work is partly funded by the ANR LISP-Lab project #ANR-
   13-INFR-009 (https://lisplab.lip6.fr).

9.  IANA Considerations

Formal H3 to IPv6 EID mapping

State of H3 tile enum fields:

Field 0x describes the "freshness" of the state {
 0x: less than 1Sec
 1x: less than 10Sec
 2x: less than 20Sec
 3x: less than 40Sec
 4x: less than 1min
 5x: less than 2min
 6x: less than 5min
 7x: less than 15min
 8x: less than 30min
 9x: less than 1hour
 Ax: less than 2hours
 Bx: less than 8hours
 Cx: less than 24hours
 Dx: less than 1week
 Ex: less than 1month
 Fx: more than 1month
}

field 1x: persistent weather or structural {
 0x - null
 1x - pothole
 2x - speed-bump
 3x - icy
 4x - flooded
 5x - snow-cover
 6x - snow-deep
 7x - construction cone
 8x - curve
}

field 2x: transient or moving obstruction {
 0x - null
 1x - pedestrian
 2x - bike
 3x - stopped car / truck
 4x - moving car / truck
 5x - first responder vehicle
 6x - sudden slowdown
 7x - oversized-vehicle
}

field 3x: traffic-light timer countdown {
 0x - green now
 1x - 1 seconds to green
 2x - 2 seconds to green
 3x - 3 seconds to green
 4x - 4 seconds to green
 5x - 5 seconds to green
 6x - 6 seconds to green
 7x - 7 seconds to green
 8x - 8 seconds to green
 9x - 9 seconds to green
 Ax - 10 seconds or less
 Bx - 20 seconds or less
 Cx - 30 seconds or less
 Dx - 40 seconds or less
 Ex - 50 seconds or less
 Fx - minute or more left
}

field 4x: impacted tile from neighboring {
 0x - not impacted
 1x - light yellow
 2x - yellow
 3x - light orange
 4x - orange
 5x - light red
 6x - red
 7x - light blue
 8x - blue
}

field 5x: incidents {
 0x - clear
 1x - light collision (fender bender)
 2x - hard collision
 3x - collision with casualty
 4x - recent collision residues
 5x - hard break
 6x - sharp cornering
}
field 6x - compiled tile safety rating {

}
field 7x: SignLaneRights {
 0x - stop
 1x - yield
 2x - speedLimit
 3x - straightOnly
 4x - noStraight
 5x - rightOnly
 6x - noRight
 7x - leftOnly
 8x - noLeft
 9x - noUTurn
 10x - noLeftU
 11x - bikeLane
 12x - HOVLane
}

field 8x: SignMovement {
0x - noPass
1x - keepRight
2x - keepLeft
3x - stayInLane
4x - doNotEnter
5x - noTrucks
6x - noBikes
7x - noPeds
8x - oneWay
9x - parking
10x - noParking
11x - noStandaing
12x - loadingZone
13x - truckRoute
14x - railCross
15x - School
}

field 9x: SignCurvesIntersect {
0x - turnsLeft
1x - turnsRight
2x - curvesLeft
3x - curvesRight
4x - reversesLeft
5x - reversesRight
6x - windingRoad
7x - hairPin
8x - 270Turn
9x - pretzelTurn
10x - crossRoads
11x - crossT
12x - crossY
13x - circle
14x - laneEnds
15x - roadNarrows
}
field Ax - reserved
field Bx - reserved
field Cx - reserved
field Dx - reserved
field Ex - reserved
field Fx - reserved





10.  Normative References

   [I-D.ietf-lisp-rfc6833bis]
              Fuller, V., Farinacci, D., and A. Cabellos-Aparicio,
              "Locator/ID Separation Protocol (LISP) Control-Plane",
              draft-ietf-lisp-rfc6833bis-07 (work in progress), December
              2017.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC6830]  Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The
              Locator/ID Separation Protocol (LISP)", RFC 6830,
              DOI 10.17487/RFC6830, January 2013,
              <https://www.rfc-editor.org/info/rfc6830>.

Authors' Addresses


   Sharon Barkai
   Nexar
   CA
   USA

   Email: sharon.barkai@getnexar.com


   Bruno Fernandez-Ruiz
   Nexar
   London
   UK

   Email: b@getnexar.com



   Ohad Serfaty
   Nexar
   Israel

   Email: ohad@getnexar.com


   Alberto Rodriguez-Natal
   Cisco Systems
   170 Tasman Drive
   San Jose, CA
   USA

   Email: natal@cisco.com



   Fabio Maino
   Cisco Systems
   170 Tasman Drive
   San Jose, CA
   USA

   Email: fmaino@cisco.com


   Albert Cabellos-Aparicio
   Technical University of Catalonia
   Barcelona
   Spain

   Email: acabello@ac.upc.edu

   Jordi Paillissé-Vilanova
   Technical University of Catalonia
   Barcelona
   Spain

   Email: jordip@ac.upc.edu

   Dino Farinacci
   lispers.net
   San Jose, CA
   USA

   Email: farinacci@gmail.com


Html markup produced by rfcmarkup 1.129d, available from https://tools.ietf.org/tools/rfcmarkup/