LISP Working Group S. Barkai
Internet-Draft B. Fernandez-Ruiz
Intended status: Informational R. Tamir
Expires: September 10, 2022 Nexar Inc.
A. Rodriguez-Natal
F. Maino
Cisco Systems
A. Cabellos-Aparicio
J. Paillisse Vilanova
Technical University of Catalonia
D. Farinacci
lispers.net
June 14, 2022
Network-Hexagons: Mobility Geolocation Edge Network Using LISP
draft-ietf-lisp-nexagon-29
Abstract
Geolocation-Services aggregate data uploads from vehicles using edge
compute locations and process them to verified, localized, geospatial
detection-channels. Channels' updates are used by mobility clients
for crowed-sourced dynamic mapping and driving applications.
Geolocation Services are broken to shards (areas) and are mapped
dynamically to compute locations per road activity. Services dynamics
combined with clients IP Anchors dynamics causes coherency, context-
switching, geo-privacy, and service continuity key issues.
These issues are resolved using dataflow virtualization, inline
indirection between mobility clients and Geolocation Services.
LISP overlay network-virtualization offers a fully distributed
dataflow virtualization at the edge networking level. Geolocation
mobility-network based on LISP is described in this document.
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 July 30, 2022.
Barkai, et al. Expires July 30, 2022 [Page 1]
Internet-Draft LISP June 2022
Copyright Notice
Copyright (c) 2022 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. Definition of Terms . . . . . . . . . . . . . . . . . . . . . 5
3. Deployment Assumptions . . . . . . . . . . . . . . . . . . . 7
4. Mobility Clients-Services Networking . . . . . . . . . . . . 10
5. Mobility Unicast and Multicast . . . . . . . . . . . . . . . 11
6. Security Considerations . . . . . . . . . . . . . . . . . . . 17
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 18
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19
9. Normative References . . . . . . . . . . . . . . . . . . . . 30
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 31
1. Introduction
Geolocation-Services aggregate data uploads from vehicles using edge
compute locations and process them to verified, localized, geospatial
detection-channels. Channels' updates are used by mobility clients
for crowed-sourced dynamic mapping and driving applications.
Geolocation Services are broken to shards (areas) along formal
geospatial grid lines. These shards are mapped dynamically to edge
compute locations per road activity in the shard area marked by the
grid lines. This service dynamics combined with clients IP Anchors
dynamics causes key issues:
- Coherency of (moving) Geolocation shards IPs in clients
- Context-switching between Geolocation shards while driving
- Geo-privacy of clients interacting with Geolocation shards
- Subscription continuity when clients switch IP Anchors
Barkai, et al. Expires July 30, 2022 [Page 2]
Internet-Draft LISP June 2022
Resolving these key-issues is achievable through examining Geolocation
functional schematics which are comprised of:
- Addressable queues for uploads from mobility clients in vehicles
- Addressable detection channels subscribed to by mobility clients
- State & functions used to transform uploads to detection channels
Dataflow virtualization is based on LISP Endpoint Identifiers (EID):
- EID addressing of queues based on grid identifiers
- EID addressing of detection channels themed topics
- EID addressing of mobility clients assigned-renewed
These mobility EIDs, geospatial for services, ephemeral for clients,
allows for dynamic and portable shard allocation, algorithmic context-
switching between shards while driving, channel service continuity,
and preservation of IP geo-privacy of mobility clients. Mobility EIDs
enable portability (*) of Geolocation queues and channels.
EIDs of mobility clients enable channel subscription continuity
when mobile carriers are switched for reception or other reasons.
Client EIDs are ephemeral and make it difficult for mobility service
providers to track mobility clients.
(*) Functions are assumed to be available in any compute location and
current-state used for Geolocation consolidation regenerates.
Barkai, et al. Expires July 30, 2022 [Page 3]
Internet-Draft LISP June 2022
Note 1: The breakdown of Geolocations Services to area-shards is done
based on geospatial grid lines known to both mobility clients and
Geolocation Services. We use H3 [H3] hierarchical hexagonal grid
because of its clear shard adjacency properties. Each grid-tile
in each resolution has a unique 64bit identifier (HID). In
addition to shards and HID to EID mapping, the same grid is used to
localize road detections. We refer to h3.rB as the lower resolution
shard tile, and h3.rS as the detection higher resolution tile.
The mappings: GPS to h3.rS to H3.rB to EID are therefore algorithmic.
Sizeof (h3.rB) / Sizeof (h3.rS) x density-factor / MTU (1500 Bytes) ~
number of message needed for a shard to convey a state snapshot.
____
/ \
Off-Peak Allocation Addressable >> States >> Addressable
_ _ _ _ Upload Queues \ ____/ Channels
/ \/ \ / \/ \ ---- /\ f1()..fn() \/
\_/\_/ \_/\_/ ----
/ \/ \ / \/ \ ---- Peak Geolocation Allocation
\_/\_/ \_/\_/ ---- _ _ _ _ _ _ _ _
/ \/ \ / \/ \ ---- / \/ \ / \/ \ / \/ \ / \/ \ ----
\_/\_/ \_/\_/ ---- \_/\_/ \_/\_/ \_/\_/ \_/\_/ ----
/ \/ \ / \/ \ ---- / \/ \ / \/ \ / \/ \ / \/ \ ----
\_/\_/ \_/\_/ ---- \_/\_/ \_/\_/ \_/\_/ \_/\_/ ----
^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
Site Site Standby Site Site Site Site Standby
Figure 1: Geolocation Grid-Shard Schematics and Dynamic Allocation
Note 2: LISP solution for dataflow virtualization is an application
network. In order for clients and services to use it there needs to be
a formal provisioning step. For the clients this step will require
Authentication Authorization and Accounting (AAA) procedure by which
clients are assigned and renew EIDs and XTRs to be used to communicate
with services. This process may be done in various vendor specific
methods, in this document we use a Diameter[RFC6733] AAA service, this
is meant as a life-cycle example only.
Note 3: In order to make the notion of geospatial detection concrete,
we add to the 64bit HID of "where" is a detection, 64bit of "what" is
the detection. These 64bits are detailed in a bit-mask of possible
detections based on a taxonomy defined by Berkeley Deep Drive (BDD)
consortium [BDD]. It is meant as a baseline that can be extended in
additional specifications, proven sufficient in implementations.
Barkai, et al. Expires July 30, 2022 [Page 4]
Internet-Draft LISP June 2022
2. Definition of Terms
Based on [I-D.ietf-lisp-rfc6830bis][I-D.ietf-lisp-rfc6833bis]
H3ServiceEID: Is an EID addressable Geolocation Service shard.
It is a designated destination for geospatial detections,
and an (S,G) source of multicast of themed detection channels.
It has a light-weight LISP protocol stack to tunnel packets
via ServerXTR. The EID is IPv6 and contains HID in the lower bits.
ServerXTR: Is a data-plane only LISP protocol stack implementation, it
is co-located with H3ServiceEID process. ServerXTR encapsulates and
decapsulates packets to and from EdgeRTRs.
MobilityClient: Is an application that may be a part of a vehicle
system, part of a navigation application, gov-muni application etc.
It has light-weight LISP data-plane stack to packets via ClientXTR.
MobilityClientEID: Is the IPv6 EID used by the Mobility Clients.
The destination of such packets are H3ServiceEIDs. The EID format
is assigned as part of the MobilityClient mobility-network AAA.
ClientXTR: Is a data-plane only LISP protocol stack implementation
co-located with the Mobility Client application. It encapsulates
and decapsulates packets to and from EdgeRTRs.
EdgeRTR: EdgeRTR network connect MobilityClients H3ServiceEIDs.
They also manage MobilityClients multicast registrations [RFC8378].
EdgeRTRs aggregate MobilityClients/H3Services using tunnels to
facilitate hosting-providers and mobile-providers for accessing the
mobility-network. EdgeRTRs decapsulate packets from ClientXTRs,
ServerXTRs and re-encapsulates packets to clients and servers via
tunnels. EdgeRTRs glean H3ServiceEIDs and MobilityClient EIDs when
they decapsulates packets. EdgeRTRs store H3ServiceEIDs and route-
locations (RLOC) of where the H3ServiceEID is currently using
map-cache. Mappings are registered to the LISP mapping system
[I-D.ietf-lisp-rfc6833bis].These mappings may be provisioned
when H3Services are assigned EdgeRTRs. EdgeRTRs do not register
MobilityClients' EIDs. Enterprises may provide their own EdgeRTRs
to protect geo-privacy.
Barkai, et al. Expires July 30, 2022 [Page 5]
Internet-Draft LISP June 2022
___ ___
H3ServiceEIDs ___ / \ H3ServiceEIDs ___ / \
___ / | h3.rB | ___ / | h3.rB |
/ | h3.rB \ ___ / / | h3.rB \ ___ /
| h3.rB \ ___ / sXTR | h3.rB \ ___ / sXTR
\ ___ / sXTR | \ ___ / sXTR |
sXTR | | sXTR | |
| | | | | |
| | | | | |
+ - - + - - EdgeRTR EdgeRTR - + - + - - +
|| ( ( (( ||
( )
( Network Hexagons )
( H3-LISP )
( mobility-network )
(( )
|| (( (()) () ||
|| ||
= = = = = = = = = = = = = =
|| ||
EdgeRTR EdgeRTR
.. .. .. ..
.. .. .. ..
((((|)))) ((((|)))) ((((|)))) ((((|))))
/|\ RAN /|\ /|\ RAN /|\
.. ..
.. ..
Uploads Upstream Uploads Upstream
Channels Downstream h3.rS Tiled Road Channels Downstream
.. ___ ___ ___ ..
.. << movment << / \/ \/ \ << cXTR::MobilityClientB
.. - - - - - - - - h3.rS h3.rS h3.rS - - - - - - - - - - - -
MobilityClientA::cXTR >> \ ___ /\ ___ / >> movement >> .......
Figure 2: Geolocation clients and services interaction
Figure 2 above describes:
- MobilityClientA detections used by MobilityClientB, and vice versa
- Clients: share information via grid-addressable Geolocation Service
- ClientXTR (cXTR): tunnels packets over access networks to EdgeRTR
- ServerXTR (sXTR): tunnels packets over edge networks to EdgeRTR
- Uploads: routed to appropriate Geolocation Service using EdgeRTRs
- Channels: originate from Geolocation Services replicated by EdgeRTRs
Barkai, et al. Expires July 30, 2022 [Page 6]
Internet-Draft LISP June 2022
3. Deployment Assumptions
I. We assume detections can be localized to h3.rS tiles and can be
enumerated. Compact detection enumeration format is described bellow:
0 1 2 3 4 5 6 7
+-------+-------+-------+-------+-------+-------+-------+-------+
|-0-|-1-|-2-|-3-|-4-|-5-|-6-|-7-|-8-|-9-|-A-|-B-|-C-|-D-|-E-|-F-|
|012301230123012301230123 Index 01230123012301230123012301230123
+---------------------------------------------------------------+
Figure 3: Nibble based representation of tile detection state
State is 16 fields x 16 enumerations. Nibbles are named using
hexadecimal index according to the position where the most significant
nibble has index 0. Values are defined in section 8.
II. Authorization of MobilityClients to mobility-network is renewed
while driving. DNS/AAA described procedure described bellow can be
used to obtain EIDs/EdgeRTRs and enable use of the mobility-network.
Barkai, et al. Expires July 30, 2022 [Page 7]
Internet-Draft LISP June 2022
Diameter [RFC6733] based AAA can be used to accommodate many types
of mobility clients in a rich eco-system: vehicle systems, driving
and navigation applications, smart-city and consumer applications.
ClientXTRs steps to use the mobility-network are:
1) obtain the address of the mobility-network AAA using DNS
2) obtain MobilityClientEIDs and EdgeRTRs from AAA procedure
3) renew authorization from AAA while using the mobility-network
Barkai, et al. Expires July 30, 2022 [Page 8]
Internet-Draft LISP June 2022
MobilityClient DomainNameServer Diameter-AAA MobilityEdgeRTR
| | | |
| nslookup <www.xxx> | | |
|------------------->| | |
|<-------------------| | |
| Mobility AAA IP | | |
| [RFC6733] | | |
| AAR(AVP:IMSI/User/Password/Toyota) | |
|--------------------------------------->| [RFC6733] |
| | | ACR(AVP ClientEID)|
| | |------------------>|
| | |<------------------|
| | | ACA(AVP ClientEID)|
| AAA (ClientEID,EdgeRTR::RLOC) | |
|<---------------------------------------| |
| | | |
. .
. Upload to IPv6 H3ServiceEID, Subscribe MLDv2 H3ServiceEID .
. .
| |
|----------------------------------------------------------->|
. .
. .
|<-----------------------------------------------------------|
| |
. .
. Signal freeing multicast Updates from H3ServiceEID .
. .
| | | |
| AAR(temporary) | |
|--------------------------------------->| ACR (temporary) |
| | |------------------>|
| | |<------------------|
| | | ACA (temporary) |
|<---------------------------------------| |
| AAA (temporary) | |
Figure 4: Example DNS and AAA Exchange for mobility-network usage
Barkai, et al. Expires July 30, 2022 [Page 9]
Internet-Draft LISP June 2022
4. Mobility Clients-Services Networking
The mobility-network functions as a standard LISP overlay.
The overlay delivers unicast and multicast packets across:
- multiple access-networks providers and technologies
- multiple cloud, edge and metro-area network providers
We use data-plane XTRs in the stack of each mobility client/server.
ClientXTRs and ServerXTRs are associated to EdgeRTRs.
This structure allows for MobilityClients to "show up" at any of
mobility-network location behind any network provider. It allows for
any H3ServiceEID to be instantiated, moved, or failed-over to any
compute location on any edge provider.
In this specification we assume semi-random association between
ClientXTRs and EdgeRTRs assigned by the AAA procedure. We assume that
in a given metro edge a pool of EdgeRTRs can distribute the Mobility
Clients load randomly between them and that EdgeRTRs are topologically
equivalent. Each RTR uses LISP to tunnel traffic to and from other
EdgeRTRs forMobilityClient and H3Service exchanges.
MobilityClient == ClientXTR ClientXTR == MobilityClient
(encrypted) || || (encrypted)
Mobility-network EdgeRTRs
|| ||
H3ServiceEID == ServerXTR ServerXTR == H3ServiceEID
Figure 5: LISP network connecting MobilityClients and H3ServiceEIDs
Barkai, et al. Expires July 30, 2022 [Page 10]
Internet-Draft LISP June 2022
5. Mobility Unicast and Multicast
The day in a life of unicast detection upload:
1. A client detects condition of interest using AI camera
2. The client uses its GPS to establish its h3.rS location
3. It then estimates the h3.rS location of the detection
4. The h3.rS used to calculate the h3.rB and H3ServerEID
5. Sends (encrypted) location-detection via its ClientXTR
Outer Header src/dest: ClientXTR RLOC, EdgeRTR RLOC
Inner Header src/dest: ClientEID, H3ServiceEID
6. EdgeRTR gleans and caches ClientEID and ClientXTR RLOC
7. EdgeRTR resolved RLOC of remote EdgeRTR, and re-tunnels:
Outer Header src/dest: EdgeRTR RLOC, remote EdgeRTR RLOC
Inner Header src/dest: ClientEID, H3ServiceEID
8. Remote EdgeRTR lookups H3ServerEID ServerXTR RLOC, re-tunnels:
Outer Header src/dest: EdgeRTR RLOC, ServerXTR RLOC
Inner Header src/dest: ClientEID, H3ServiceEID
9. ServerXTR delivers ClientEID message to H3ServiceEID
The detection message headers consist of the following fields:
Outer headers size = 40 (IPv6) + 8 (UDP) + 8 (LISP) = 56
Inner headers size = 40 (IPv6) + 8 (UDP) + 4 (Nexagon Header) = 52
1500 (MTU) - 56 - 52 = 1392 bytes of effective payload size
Nexagon Header allows for key-value (kv) tuples or value-key,key
..(vkkk) using the same formats of key and value outlined bellow
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\
| Type |gzip | Reserved | Pair Count = X|Nexagon
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+/
Figure 6: Nexagon Header format
Type 0:reserved
Type 1:key-value, key-value.. 1392 / (8 + 8) = 87 pairs
Type 2:value, key,key,key.. (1392 - 8) / 8 = 173 h3.rS IDs
Type 3-255: unassigned
Nexagon Header GZIP field: 0x000 no compression, or GZIP version.
The compression refers to entire kv or vkkk payload.
Nexagon Header Reserved bits
Nexagon Header key and value count (in any format)
(*) Reserved fields are specified as being set to 0 on transmission,
ignored when received. Packets with unsupported gzip version ignored.
Barkai, et al. Expires July 30, 2022 [Page 11]
Internet-Draft LISP June 2022
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ \
|Version| Traffic Class | Flow Label | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| Payload Length | Next Header | Hop Limit | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| | |
+ + |
| | |
+ Source MobilityClientEID + |
| | IPv6
+ + |
| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| | |
+ + |
| | |
+ Dest H3ServiceEID + |
| | |
+ + |
| | /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port = xxxx | Dest Port = xxxx | \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ UDP
| UDP Length | UDP Checksum | /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ \
| Type |gzip | Reserved | Pair Count = X|Nexagon
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ /
| |
+ 64bit h3.rS ID +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ 64bit State +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ 64bit h3.rS ID +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ 64bit State +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 7: Uploaded detections packet format
Barkai, et al. Expires July 30, 2022 [Page 12]
Internet-Draft LISP June 2022
Each H3Service is also an IP Multicast Source used to update
subscribers on the aggregate state of the h3.rS tiles in the h3.rB
area. We use [RFC8378] signal-free multicast to implement channels
in the overlay. The mobility-network has many channels, with thousands
subscribers per channel. MobilityClients driving through/subscribing
to an h3.rB area can explicitly issue based on any mechanism supported
by [RFC8378], for example multicast report specified in [RFC4604],
in order to subscribe. Multicast report messages are encapsulated
between the ClientXTR and EdgeRTR.
The day in a life of multicast update:
1. H3ServiceEID determines change or timing requiring an update
2. H3ServiceEID sends (S,G) update message via its ServerXTR
Outer Header src/dest: ServerXTR RLOC, EdgeRTR RLOC
Inner Header (S,G): H3ServerEID, EID chosen for theme
3. EdgeRTR resolves subscribed remote EdgeRTRs, replicates
Outer Header src/dest: EdgeRTR RLOC, remote EdgeRTR RLOC
Inner Header (S,G): H3ServerEID, EID chosen for theme
4. EdgeRTRs lookp subscribed ClientEIDs ClientXTRs RLOCs, replicate
Outer Header src/dest: EdgeRTR RLOC, ClientXTR RLOC
Inner Header (S,G): H3ServerEID, EID chosen for theme
5. ClientXTR delivers update message to clientEID
Note: there may be more than one ClientEID in the same process using the
same ClientXTR. For example multiple layers of map or heads-up display,
Such vendor specific multiplexing implementation is unspecified here.
Barkai, et al. Expires July 30, 2022 [Page 13]
Internet-Draft LISP June 2022
Multicast update packets are of the following structure:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ \
|Version| Traffic Class | Flow Label | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| Payload Length | Next Header | Hop Limit | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| | |
+ + |
| | |
+ Source H3ServiceEID + |
| | IPv6
+ + |
| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| | |
+ + |
| | |
+ Group Address + |
| | |
+ + |
| | /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port = xxxx | Dest Port = xxxx | \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ UDP
| UDP Length | UDP Checksum | /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ \
| |Nexagon
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ /
~ Nexagons Payload ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 8: multicast update packet header
Barkai, et al. Expires July 30, 2022 [Page 14]
Internet-Draft LISP June 2022
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ \
| Type = 1 |gzip | Reserved | Pair Count = X|Nexagon
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ /
| |
+ 64bit h3.rS ID +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ 64bit State +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ 64bit h3.rS ID +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ 64bit State +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 9: multicast update payload, key-value, key-value..
Barkai, et al. Expires July 30, 2022 [Page 15]
Internet-Draft LISP June 2022
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ \
| Type = 2 |gzip | Reserved |H3R15 Count = X|Nexagon
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ /
| |
+ 64bit State +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ 64bit h3.rS ID +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ 64bit h3.rS ID +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ 64bit h3.rS ID +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 10: multicast update payload, value, key, key.. for larger areas
Barkai, et al. Expires July 30, 2022 [Page 16]
Internet-Draft LISP June 2022
6. Security Considerations
The LISP mobility-network is inherently secure and private.
All information is conveyed to clients using provisioned Geolocation
Services. MobilityClients receive information only via geospatial
channels originating at provisioned services, replicated by EdgeRTRs.
MobilityClients have no indication as to the origin of the raw data.
In order to be able to use the mobility-network for a given period,
the mobility clients go through a DNS/AAA stage by which they
obtain their clientEID identifiers-credentials and the RLOCs of
EdgeRTRs they may use as gateways to the network.
This MobilityClient to EdgeRTR interface is the most sensitive from
privacy and security perspective. The traffic on this interface is
tunneled, its content may be encrypted between ClientXTR to EdgeRTR.
Still, the EdgeRTR will know based on headers the client RLOC, and the
h3.rB area a client engages with services about.
Enterprises such as vehicle OEMs or carriers can "bring their own"
EdgeRTRs (BYO_RTR). BYO-RTRs are pre-provisioned to be able to use the
mapping system and are put on the approved list of the other EdgeRTRs.
A carrier offering EdgeRTR services on multiaccess edge compute (MEC)
is optimal for security and also for traffic steering and replication.
Beyond client to EdgeRTR hop, the mapping system does not hold
MobilityClientEIDs, and remote EdgeRTRs are only aware of clients
ephemeral EIDs. When EdgeRTRs register in the mapping for channels,
they do not register which clients use which EdgeRTR.
The H3ServiceEIDs decrypt and parse actual h3.rS detections. They also
consider MobilityClientEID credentials encoded in the client EID and
assigned by the AAA functions. This helps avoid "fake-news", e.g.
poorly made or poorly localized detections.
H3Services are associated with EdgeRTRs, provisioned in the EdgeRTRs
and in the mapping system.
Barkai, et al. Expires July 30, 2022 [Page 17]
Internet-Draft LISP June 2022
In summary of main risk mitigations for the lisp mobility-network:
(1) tapping: all communications are through tunnels therefore
may be encrypted using IP-Sec or other supported point to point
underlay standards.
(2) spoofing: it is very hard to guess a MobilityClientEID valid for
a short period of time. Clients and H3Services EIDs are provisioned
in EdgeRTRs, Clients using the AAA procedure, H3Services via dev-ops.
(3) credibility: the interface crowd-sources geo-state and does not
assume to trust single detections. Credit history track to
MobilityClientEIDs by as part of normal H3Services fact checking,
aggregate scores affect AAA credentials.
(4) privacy: Only EdgeRTRs are aware of both clients' RLOC and
geo-location, only AAA is aware of client IDs credentials and credit
but not geo-location. Aggregate credit score span all H3Services
administratively without source.
7. Acknowledgments
We would like to kindly thank Joel Halperin for helping structure the
AAA section and Geo-Privacy provisions, Luigi Lannone for promoting
such LISP Compute First Networking (CFN) use-cases, helping structure
the IANA section, and shepherding this draft to completion. We would
like to thank George Ericson for help clarifying Geolocation Services
terminology through joint work on the AECC specifications and papers,
and Lei Zhong for helping term the dataflow virtualization solution.
Barkai, et al. Expires July 30, 2022 [Page 18]
Internet-Draft LISP June 2022
8. IANA Considerations
This section provides guidance to the Internet Assigned Numbers
Authority (IANA) regarding registration of values related to the LISP
specification, in accordance with BCP 26 [RFC8126].
IANA is asked to create a registry named NEXAGON Parameters.
Such registry should be populated with the following sub registries.
Nexagon Header Bits
+----------+---------------+------------+---------------------------+
| Spec | IANA Name | Bit | Description |
| Name | | Position | |
+----------+---------------+------------+---------------------------+
| Type | nexagon-type | 0-7 | Type of key-value encoding|
| gzip | nexagon-gzip | 8-10 | gzip major version used |
| PairCount| nexagon-pairs | 24-31 | key-value pair count |
+----------+---------------+------------+---------------------------+
State Enumeration Field 0x0: Traffic Direction:
+-------+--------------------+-----------------+
| Value | Description | Reference |
+-------+--------------------+-----------------+
| 0x0 | Null | [This Document] |
| | | |
| 0x1 | Lane North | [This Document] |
| | | |
| 0x2 | Lane North + 30 | [This Document] |
| | | |
| 0x3 | Lane North + 60 | [This Document] |
| | | |
| 0x4 | Lane North + 90 | [This Document] |
| | | |
| 0x5 | Lane North + 120 | [This Document] |
| | | |
| 0x6 | Lane North + 150 | [This Document] |
| | | |
| 0x7 | Lane North + 180 | [This Document] |
| | | |
| 0x8 | Lane North + 210 | [This Document] |
| | | |
| 0x9 | Lane North + 240 | [This Document] |
| | | |
| 0xA | Lane North + 270 | [This Document] |
| | | |
| 0xB | Lane North + 300 | [This Document] |
| | | |
| 0xC | Lane North + 330 | [This Document] |
| | | |
| 0xD | Junction | [This Document] |
| | | |
| 0xE | Shoulder | [This Document] |
| | | |
| 0xF | Sidewalk | [This Document] |
+-------+--------------------+-----------------+
Barkai, et al. Expires July 30, 2022 [Page 19]
Internet-Draft LISP June 2022
State Enumeration Field 0x1: Persistent Condition:
+-------+--------------------+-----------------+
| Value | Description | Reference |
+-------+--------------------+-----------------+
| 0x0 | Null | [This Document] |
| | | |
| 0x1 | Pothole Light | [This Document] |
| | | |
| 0x2 | Pothole Deep | [This Document] |
| | | |
| 0x3 | Speed-bump Low | [This Document] |
| | | |
| 0x4 | Speed-bump High | [This Document] |
| | | |
| 0x5 | Icy | [This Document] |
| | | |
| 0x6 | Flooded | [This Document] |
| | | |
| 0x7 | Snow-cover | [This Document] |
| | | |
| 0x8 | Deep Snow | [This Document] |
| | | |
| 0x9 | Cone | [This Document] |
| | | |
| 0xA | Gravel | [This Document] |
| | | |
| 0xB | Choppy | [This Document] |
| | | |
| 0xC | Blind-Curve | [This Document] |
| | | |
| 0xD | Steep | [This Document] |
| | | |
| 0xE | Low-bridge | [This Document] |
| | | |
| 0xF | Other | [This Document] |
+-------+--------------------+-----------------+
Barkai, et al. Expires July 30, 2022 [Page 20]
Internet-Draft LISP June 2022
State Enumeration Field 0x2: Transient Condition:
+-------+--------------------+-----------------+
| Value | Description | Reference |
+-------+--------------------+-----------------+
| 0x0 | Null | [This Document] |
| | | |
| 0x1 | Jaywalker | [This Document] |
| | | |
| 0x2 | Bike or Scooter | [This Document] |
| | | |
| 0x3 | Stopped Vehicle | [This Document] |
| | | |
| 0x4 | Moving on Shoulder | [This Document] |
| | | |
| 0x5 | First Responder | [This Document] |
| | | |
| 0x6 | Sudden Slowdown | [This Document] |
| | | |
| 0x7 | Oversize Vehicle | [This Document] |
| | | |
| 0x8 | Light/Sign Breach | [This Document] |
| | | |
| 0x9 | Collision Light | [This Document] |
| | | |
| 0xA | Collision Severe | [This Document] |
| | | |
| 0xB | Collision Debris | [This Document] |
| | | |
| 0xC | Collision Course | [This Document] |
| | | |
| 0xD | Vehicle Hard Brake | [This Document] |
| | | |
| 0xE | Vehicle Sharp Turn | [This Document] |
| | | |
| 0xF | Freed-up Parking | [This Document] |
+-------+--------------------+-----------------+
Barkai, et al. Expires July 30, 2022 [Page 21]
Internet-Draft LISP June 2022
State Enumeration Field 0x3: Traffic-light Counter:
+-------+--------------------+-----------------+
| Value | Description | Reference |
+-------+--------------------+-----------------+
| 0x0 | Null | [This Document] |
| | | |
| 0x1 | 1 Second to Green | [This Document] |
| | | |
| 0x2 | 2 Second to Green | [This Document] |
| | | |
| 0x3 | 3 Second to Green | [This Document] |
| | | |
| 0x4 | 4 Second to Green | [This Document] |
| | | |
| 0x5 | 5 Second to Green | [This Document] |
| | | |
| 0x6 | 6 Second to Green | [This Document] |
| | | |
| 0x7 | 7 Second to Green | [This Document] |
| | | |
| 0x8 | 8 Second to Green | [This Document] |
| | | |
| 0x9 | 9 Second to Green | [This Document] |
| | | |
| 0xA | 10 Second to Green | [This Document] |
| | | |
| 0xB | 20 Second to Green | [This Document] |
| | | |
| 0xC | 30 Second to Green | [This Document] |
| | | |
| 0xD | 60 Second to Green | [This Document] |
| | | |
| 0xE | Green Now | [This Document] |
| | | |
| 0xF | Red Now | [This Document] |
+-------+--------------------+-----------------+
Barkai, et al. Expires July 30, 2022 [Page 22]
Internet-Draft LISP June 2022
State Enumeration Field 0x4: Impacted Tile:
+-------+--------------------+-----------------+
| Value | Description | Reference |
+-------+--------------------+-----------------+
| 0x0 | Null | [This Document] |
| | | |
| 0x1 | Epicenter | [This Document] |
| | | |
| 0x2 | 2 Tiles Away | [This Document] |
| | | |
| 0x3 | 3 Tiles Away | [This Document] |
| | | |
| 0x4 | 4 Tiles Away | [This Document] |
| | | |
| 0x5 | 5 Tiles Away | [This Document] |
| | | |
| 0x6 | 6 Tiles Away | [This Document] |
| | | |
| 0x7 | 7 Tiles Away | [This Document] |
| | | |
| 0x8 | 8 Tiles Away | [This Document] |
| | | |
| 0x9 | 9 Tiles Away | [This Document] |
| | | |
| 0xA | 10 Tiles Away | [This Document] |
| | | |
| 0xB | 20 Tiles Away | [This Document] |
| | | |
| 0xC | 30 Tiles Away | [This Document] |
| | | |
| 0xD | 60 Tiles Away | [This Document] |
| | | |
| 0xE | <100 Tiles Away | [This Document] |
| | | |
| 0xF | <200 Tiles Away | [This Document] |
+-------+--------------------+-----------------+
Barkai, et al. Expires July 30, 2022 [Page 23]
Internet-Draft LISP June 2022
State Enumeration Field 0x5: Expected Duration:
+-------+--------------------+-----------------+
| Value | Description | Reference |
+-------+--------------------+-----------------+
| 0x0 | Null | [This Document] |
| | | |
| 0x1 | Next 1 Second | [This Document] |
| | | |
| 0x2 | Next 5 Seconds | [This Document] |
| | | |
| 0x3 | Next 10 Seconds | [This Document] |
| | | |
| 0x4 | Next 20 Seconds | [This Document] |
| | | |
| 0x5 | Next 40 Seconds | [This Document] |
| | | |
| 0x6 | Next 60 Seconds | [This Document] |
| | | |
| 0x7 | Next 2 Minutes | [This Document] |
| | | |
| 0x8 | Next 3 Minutes | [This Document] |
| | | |
| 0x9 | Next 4 Minutes | [This Document] |
| | | |
| 0xA | Next 5 Minutes | [This Document] |
| | | |
| 0xB | Next 10 Minutes | [This Document] |
| | | |
| 0xC | Next 15 Minutes | [This Document] |
| | | |
| 0xD | Next 30 Minutes | [This Document] |
| | | |
| 0xE | Next 60 Minutes | [This Document] |
| | | |
| 0xF | Next 24 Hours | [This Document] |
+-------+--------------------+-----------------+
Barkai, et al. Expires July 30, 2022 [Page 24]
Internet-Draft LISP June 2022
State Enumeration Field 0x6: Lane Right Sign:
+-------+--------------------+-----------------+
| Value | Description | Reference |
+-------+--------------------+-----------------+
| 0x0 | Null | [This Document] |
| | | |
| 0x1 | Yield | [This Document] |
| | | |
| 0x2 | Speed Limit | [This Document] |
| | | |
| 0x3 | Straight Only | [This Document] |
| | | |
| 0x4 | No Straight | [This Document] |
| | | |
| 0x5 | Right Only | [This Document] |
| | | |
| 0x6 | No Right | [This Document] |
| | | |
| 0x7 | Left Only | [This Document] |
| | | |
| 0x8 | No Left | [This Document] |
| | | |
| 0x9 | Right Straight | [This Document] |
| | | |
| 0xA | Left Straight | [This Document] |
| | | |
| 0xB | No U Turn | [This Document] |
| | | |
| 0xC | No Left or U | [This Document] |
| | | |
| 0xD | Bike Lane | [This Document] |
| | | |
| 0xE | HOV Lane | [This Document] |
| | | |
| 0xF | Stop | [This Document] |
+-------+--------------------+-----------------+
Barkai, et al. Expires July 30, 2022 [Page 25]
Internet-Draft LISP June 2022
State Enumeration Field 0x7: Movement Sign:
+-------+--------------------+-----------------+
| Value | Description | Reference |
+-------+--------------------+-----------------+
| 0x0 | Null | [This Document] |
| | | |
| 0x1 | Keep Right | [This Document] |
| | | |
| 0x2 | Keep Left | [This Document] |
| | | |
| 0x3 | Stay in Lane | [This Document] |
| | | |
| 0x4 | Do Not Enter | [This Document] |
| | | |
| 0x5 | No Trucks | [This Document] |
| | | |
| 0x6 | No Bikes | [This Document] |
| | | |
| 0x7 | No Peds | [This Document] |
| | | |
| 0x8 | One Way | [This Document] |
| | | |
| 0x9 | Parking | [This Document] |
| | | |
| 0xA | No Parking | [This Document] |
| | | |
| 0xB | No Standing | [This Document] |
| | | |
| 0xC | No Passing | [This Document] |
| | | |
| 0xD | Loading Zone | [This Document] |
| | | |
| 0xE | Rail Crossing | [This Document] |
| | | |
| 0xF | School Zone | [This Document] |
+-------+--------------------+-----------------+
Barkai, et al. Expires July 30, 2022 [Page 26]
Internet-Draft LISP June 2022
State Enumeration Field 0x8: Curves & Intersections:
+-------+--------------------+-----------------+
| Value | Description | Reference |
+-------+--------------------+-----------------+
| 0x0 | Null | [This Document] |
| | | |
| 0x1 | Turns Left | [This Document] |
| | | |
| 0x2 | Turns Right | [This Document] |
| | | |
| 0x3 | Curves Left | [This Document] |
| | | |
| 0x4 | Curves Right | [This Document] |
| | | |
| 0x5 | Reverses Left | [This Document] |
| | | |
| 0x6 | Reverses Right | [This Document] |
| | | |
| 0x7 | Winding Road | [This Document] |
| | | |
| 0x8 | Hair Pin | [This Document] |
| | | |
| 0x9 | Pretzel Turn | [This Document] |
| | | |
| 0xA | Cross Roads | [This Document] |
| | | |
| 0xB | Cross T | [This Document] |
| | | |
| 0xC | Cross Y | [This Document] |
| | | |
| 0xD | Circle | [This Document] |
| | | |
| 0xE | Lane Ends | [This Document] |
| | | |
| 0xF | Road Narrows | [This Document] |
+-------+--------------------+-----------------+
Barkai, et al. Expires July 30, 2022 [Page 27]
Internet-Draft LISP June 2022
State Enumeration Field 0x9: Tile Traffic Speed:
+-------+--------------------+-----------------+
| Value | Description | Reference |
+-------+--------------------+-----------------+
| 0x0 | Null | [This Document] |
| | | |
| 0x1 | < 1 m/sec | [This Document] |
| | | |
| 0x2 | < 2 m/sec | [This Document] |
| | | |
| 0x3 | < 3 m/sec | [This Document] |
| | | |
| 0x4 | < 4 m/sec | [This Document] |
| | | |
| 0x5 | < 5 m/sec | [This Document] |
| | | |
| 0x6 | < 6 m/sec | [This Document] |
| | | |
| 0x7 | < 7 m/sec | [This Document] |
| | | |
| 0x8 | < 8 m/sec | [This Document] |
| | | |
| 0x9 | < 9 m/sec | [This Document] |
| | | |
| 0xA | < 10 m/sec | [This Document] |
| | | |
| 0xB | < 20 m/sec | [This Document] |
| | | |
| 0xC | < 30 m/sec | [This Document] |
| | | |
| 0xD | < 40 m/sec | [This Document] |
| | | |
| 0xE | < 50 m/sec | [This Document] |
| | | |
| 0xF | > 50 m/sec | [This Document] |
+-------+--------------------+-----------------+
Barkai, et al. Expires July 30, 2022 [Page 28]
Internet-Draft LISP June 2022
State Enumeration Field 0xA: Pedestrian Curb Density:
+-------+--------------------+-----------------+
| Value | Description | Reference |
+-------+--------------------+-----------------+
| 0x0 | Null | [This Document] |
| | | |
| 0x1 | 100% | [This Document] |
| | | |
| 0x2 | 95% | [This Document] |
| | | |
| 0x3 | 90% | [This Document] |
| | | |
| 0x4 | 85% | [This Document] |
| | | |
| 0x5 | 80% | [This Document] |
| | | |
| 0x6 | 70% | [This Document] |
| | | |
| 0x7 | 60% | [This Document] |
| | | |
| 0x8 | 50% | [This Document] |
| | | |
| 0x9 | 40% | [This Document] |
| | | |
| 0xA | 30% | [This Document] |
| | | |
| 0xB | 20% | [This Document] |
| | | |
| 0xC | 15% | [This Document] |
| | | |
| 0xD | 10% | [This Document] |
| | | |
| 0xE | 5% | [This Document] |
| | | |
| 0xF | No Peds | [This Document] |
+-------+--------------------+-----------------+
State enumeration fields 0xB, 0xC, 0xD, 0xE, 0xF, are unassigned.
IANA can assign them on a "First Come First Served" basis
according to [RFC8126].
Barkai, et al. Expires July 30, 2022 [Page 29]
Internet-Draft LISP June 2022
9. Normative References
[I-D.ietf-lisp-rfc6830bis]
Farinacci, D., Fuller, V., Meyer, D., Lewis, D., and A.
Cabellos-Aparicio, "The Locator/ID Separation Protocol
(LISP)", draft-ietf-lisp-rfc6830bis-38 (work in progress),
May 2020.
[I-D.ietf-lisp-rfc6833bis]
Farinacci, D., Maino, F., Fuller, V., and A. Cabellos,
"Locator/ID Separation Protocol (LISP) Control-Plane",
draft-ietf-lisp-rfc6833bis-31 (work in progress), May
2020.
[RFC4604] Holbrook, H., Cain, B., and B. Haberman, "Using Internet
Group Management Protocol Version 3 (IGMPv3) and Multicast
Listener Discovery Protocol Version 2 (MLDv2) for Source-
Specific Multicast", RFC 4604, DOI 10.17487/RFC4604,
August 2006, <https://www.rfc-editor.org/info/rfc4604>.
[RFC6733] Fajardo, V., Ed., Arkko, J., Loughney, J., and G. Zorn,
Ed., "Diameter Base Protocol", RFC 6733,
DOI 10.17487/RFC6733, October 2012,
<http://www.rfc-editor.org/info/rfc6733>.
[RFC8126] Cotton, M., Leiba, B., Narten, T., "Guidelines for
Writing an IANA Considerations Section in RFCs", RFC8126,
DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/info/rfc8126>.
[RFC8378] Farinacci, D., Moreno, V., "Signal-Free Locator/ID
Separation Protocol (LISP) Multicast", RFC8378,
DOI 10.17487/RFC8378, May 2018,
<https://www.rfc-editor.org/info/rfc8378>.
[H3] Uber Technologies Inc. [n.d.]. H3: Ubers Hexagonal
Hierarchical Spatial Index, May 2021,
<https://eng.uber.com/h3>.
[BDD] Fisher Yu, Wenqi Xian, Yingying Chen, Fangchen Liu, Mike
Liao, Vashisht Madhavan, and Trevor Darrell. BDD100K: A
diverse driving video database with scalable annotation
tooling. arXiv:1805.04687, 2018. 2, 3
,https://doi.org/10.48550/arXiv.1805.04687.
Barkai, et al. Expires July 30, 2022 [Page 30]
Internet-Draft LISP June 2022
Authors' Addresses
Sharon Barkai
Nexar
CA
USA
Email: sbarkai@gmail.com
Bruno Fernandez-Ruiz
Nexar
London
UK
Email: b@getnexar.com
Rotem Tamir
Nexar
Israel
rotemtamir@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
Barkai, et al. Expires July 30, 2022 [Page 31]
Internet-Draft LISP June 2022
Albert Cabellos-Aparicio
Technical University of Catalonia
Barcelona
Spain
Email: acabello@ac.upc.edu
Jordi Paillisse-Vilanova
Technical University of Catalonia
Barcelona
Spain
Email: jordip@ac.upc.edu
Dino Farinacci
lispers.net
San Jose, CA
USA
Email: farinacci@gmail.com
Barkai, et al. Expires July 30, 2022 [Page 32]