Internet DRAFT - draft-festor-ipfix-metering-process-location

draft-festor-ipfix-metering-process-location



 



IPFIX Working Group                                            O. Festor
Internet-Draft                                                     Inria
Intended Status: Informational                                A. Lahmadi
Expires: July 18, 2014                    Universite de Lorraine - LORIA
                                                             R. Hofstede
                                                                 A. Pras
                                                    University of Twente
                                                        January 14, 2014


        Information Elements for IPFIX Metering Process Location
            draft-festor-ipfix-metering-process-location-02

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), its areas, and its working groups. Note that other
   groups may also distribute working documents as Internet-Drafts.

   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."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on July 18, 2014.

Copyright Notice

   Copyright (c) 2014 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
   (http://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.


 


FESTOR, et al.           Expires July 18, 2014                  [Page 1]

INTERNET DRAFT      IPFIX Metering Process Location     January 14, 2014


Abstract

   This document defines a set of Information Elements for the IP Flow
   Information Export (IPFIX) protocol for exporting location
   information of any device (both fixed and mobile) that acts as an
   IPFIX Flow Exporter. The specified Information Elements support both
   geospatial and civic location data. 

Table of Contents

   1. Introduction  . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1. Motivation  . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . .  4
   2. Relationships with GEOPRIV  . . . . . . . . . . . . . . . . . .  4
   3. Location Information  . . . . . . . . . . . . . . . . . . . . .  4
     3.1. Geospatial Location Information . . . . . . . . . . . . . .  4
     3.2. Civic Location Information  . . . . . . . . . . . . . . . .  5
   4. Location Information Elements . . . . . . . . . . . . . . . . .  5
     4.1. geospatialLocationCRSCode . . . . . . . . . . . . . . . . .  5
     4.2. geospatialLocationLat . . . . . . . . . . . . . . . . . . .  6
     4.3. geospatialLocationLng . . . . . . . . . . . . . . . . . . .  6
     4.4. geospatialLocationAlt . . . . . . . . . . . . . . . . . . .  6
     4.5. geospatialLocationRadius  . . . . . . . . . . . . . . . . .  6
     4.6. civicLocationType . . . . . . . . . . . . . . . . . . . . .  7
     4.7. civicLocationValue  . . . . . . . . . . . . . . . . . . . .  7
     4.8. locationMethod  . . . . . . . . . . . . . . . . . . . . . .  7
     4.9. locationTime  . . . . . . . . . . . . . . . . . . . . . . .  7
   5. Guidelines for Using Location Information Elements  . . . . . .  7
   6. Recommended Templates for Geospatial and Civic Location
      Export  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  8
     6.1. Geospatial Point Location Template  . . . . . . . . . . . .  8
     6.2. Geospatial Circle Location Template . . . . . . . . . . . .  9
     6.3. Geospatial List Template  . . . . . . . . . . . . . . . . . 10
     6.4. Civic Location Template . . . . . . . . . . . . . . . . . . 13
     6.5. Compound Location Template  . . . . . . . . . . . . . . . . 14
   7. Security Considerations . . . . . . . . . . . . . . . . . . . . 15
   8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 16
     8.1. locationMethod Sub-Registry . . . . . . . . . . . . . . . . 16
   9. Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . 16
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16
     10.1. Normative References . . . . . . . . . . . . . . . . . . . 16
     10.2. Informative References . . . . . . . . . . . . . . . . . . 17
   Appendix A. Example Implementation . . . . . . . . . . . . . . . . 18
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 19




 


FESTOR, et al.           Expires July 18, 2014                  [Page 2]

INTERNET DRAFT      IPFIX Metering Process Location     January 14, 2014


1. Introduction

   The importance of geographic location information in the Internet is
   growing rapidly. It can be used for business advertisements,
   admission control and security analysis, for example. Most mobile
   devices, such as smart phones, tablets and sensors, have capabilities
   for determining and exposing their geographic location. Besides that,
   they are accountable for an increasing share of the overall network
   traffic. In contrast to fixed devices, which usually have their
   physical location configured in a static manner, mobile devices can
   exploit several location systems for obtaining their location. This
   type of information is already used by a wide range of applications
   and services, such as navigation systems and friend finder services.
   Relating the location information of a device to this network traffic
   can be beneficial to many network management and measurement
   applications, including traffic profiling, anomaly detection and
   provider-independent network measurements. Hence, exporting location
   information associated to traffic Flows is desirable in various
   situations.

   The IPFIX protocol [RFC7011] has been designed for the purpose of
   exporting IP traffic Flows based on Information Elements. This
   document defines a set of IPFIX Information Elements that provide a
   means for Metering Processes to encapsulate location information
   within exported Flows. This will be done by relying on existing
   location information formats, as they have been developed in other
   standardization areas for encoding civic locations, geographic
   coordinates, etc. In summary, this document defines the IPFIX
   Information Elements that are suitable for encapsulating pre-existing
   location information data.

1.1. Motivation

   A typical IPFIX Metering Process is used for aggregating IP traffic
   and related measurement data into Flow Records at a fixed Observation
   Point. After expiration, Flow Records are sent to a Flow Collector
   for storage and analysis. The collected information is typically
   represented in a purely time-based manner, which means that Flow
   Records provide an aggregated view on network traffic over time.
   However, when Metering Processes are running on devices with a
   (frequently) changing physical location, data analysis applications
   may need to be aware of these movements since they are likely to
   affect the behavior of the network in terms of routing, throughput,
   etc. An example scenario is a virtualized environment, where virtual
   machines change location during migration from one server to another,
   or even between data centers. Thus, a location-aware metering process
   will be able to associate their Flows to their current locations.

 


FESTOR, et al.           Expires July 18, 2014                  [Page 3]

INTERNET DRAFT      IPFIX Metering Process Location     January 14, 2014


   In fact, we are not dealing anymore with Flows associated to a fixed
   Observation Point, but with a multitude of sub-Flows for which the
   Observation Point locations have to be reported. To facilitate this,
   location information needs to be obtained and processed by the
   Metering Process in an IPFIX Flow Exporter. In the end, it will be
   beneficial when network management applications are able to relate
   service quality parameters to location changes, instead of assuming a
   single location for all observed parameters.

1.2. Terminology

   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].

2. Relationships with GEOPRIV

   Associating geographic location information with network traffic on
   the Internet has been addressed by the GEOPRIV working group. There,
   a Dynamic Host Configuration Protocol (DHCPv4 and DHCPv6) option
   containing civic address information has been specified in [RFC4776].
   A similar option for geospatial information has been defined in
   [RFC6225]. The group has also defined a set of requirements to be
   respected when collecting and using Location Objects related to a
   specific user [RFC3693]. These requirements include usage policies
   and privacy preferences associated to the Location Object as
   expressed by a user. All the security and privacy requirements
   defined in [RFC3693] concern location data collection, and usage MAY
   be applied to the IPFIX protocol when conveying location information.
   The GEOPRIV working group has extended the XML-based Presence
   Information Data Format in [RFC5491], to allow the encapsulation of
   location information within a presence document.

3. Location Information

   The location of a device can generally be defined in two ways, namely
   by geospatial location coordinates and civic location information.
   Geospatial location coordinates are made up of latitude, longitude
   and altitude coordinates, while civic location information
   encompasses abstract notions of a location, such as "in the kitchen",
   "in Bakerstreet" or "in a train approaching Nancy, France". The usage
   of these two types of location representations are addressed by the
   GEOPRIV group in [RFC5491] and [RFC5139], respectively. This document
   assumes that devices use one or more existing mechanisms for the
   purpose of retrieving location information and therefore does not
   define any new mechanisms for location retrieval.

3.1. Geospatial Location Information
 


FESTOR, et al.           Expires July 18, 2014                  [Page 4]

INTERNET DRAFT      IPFIX Metering Process Location     January 14, 2014


   To obtain geospatial location information, one needs to rely on a
   numeric coordinate system. Such systems provide location information
   either in two dimensions (latitude and longitude) or three dimensions
   (latitude, longitude and altitude). Relying on a single point of
   location is normally not considered sufficient, since an area or
   volume of uncertainty SHALL be specified. In theory, this area or
   volume represents a coverage in which the device has a high
   probability of being found, and the point is the centroid for the
   area or volume. In [GeoShape] a set of geometric areas and volumes
   has been specified to define a location with uncertainty. A standard
   set of Coordinate Reference Systems (CRS) and units of measure are
   also specified in [GeoShape]. Implementations MUST specify distances
   and heights in meters as defined in EPSG 9001. Angular measures MUST
   be specified using degrees as identified by the EPSG 9102 code. The
   values of EPSG codes can be resolved by using the CRS Registry
   Service operated by the Oil and Gas Producers Association [OGP].

3.2. Civic Location Information

   In contrast to geospatial location information, which relies on
   numeric data formats, the civic location format conveys pure textual
   information. It is applicable to device locations in buildings, for
   example. It MAY be a civic address closely related to a postal
   address, commonly used by local postal services for delivering mail.
   It MAY also be some approximated information, such as "living room",
   "Office 123 in Building 2". The civic location information format has
   been addressed in [RFC4776], where a set of parameters are provided
   to describe civic locations. In contrast to geospatial location
   information, which is the geospatial location of the device as a set
   of latitude, longitude and altitude coordinates represented by a CRS,
   civic location information can often be interpreted even if
   incomplete. For example, while geospatial information is not
   available inside buildings, civic location information can still
   provide an estimation of a device's location. 

4. Location Information Elements

   The following Information Elements can be used for exporting
   location-related information of a Metering Process. They SHALL be
   used for exporting geospatial and civic location, together with IPFIX
   Information Elements already defined for exporting IP traffic Flows. 
   
4.1. geospatialLocationCRSCode

   Description: Denotes the Coordinate Reference System (CRS) codes
      according to which the location coordinates are organized and
      related to the real world, as specified in [GEOSHAPE]. In this
      document we mandate the use of the World Geodetic System 1984
 


FESTOR, et al.           Expires July 18, 2014                  [Page 5]

INTERNET DRAFT      IPFIX Metering Process Location     January 14, 2014


      (WGS84) [WGS84] coordinate reference system and the usage of the
      European petroleum survey group (EPSG) code 4326 for two-
      dimensional (2D) shape representations and EPSG 4979 for three-
      dimensional (3D) volume representations. 

   Data Type: unsigned16
   Data Type Semantics: identifier
   PEN (provisional): 12559 (Inria)
   ElementId: 401

4.2. geospatialLocationLat

   Description: Denotes the coordinate information value of the
      latitude.

   Data Type: float64
   PEN (provisional): 12559 (Inria)
   ElementId (provisional): 402

4.3. geospatialLocationLng

   Description: Denotes the coordinate information value of the
      longitude.

   Data Type: float64
   PEN (provisional): 12559 (Inria)
   ElementId (provisional): 403

4.4. geospatialLocationAlt

   Description: Denotes the coordinate information value of the
      altitude.

   Data Type: float64
   PEN (provisional): 12559 (Inria)
   ElementId (provisional): 404

4.5. geospatialLocationRadius

   Description: Denotes a radius value (in meters) of a location
      described using a circular area in a two-dimensional CRS or 
      a sphere shape in a three-dimensional CRS.

   Data Type: float32
   Data Type Semantics: quantity
   PEN (provisional): 12559 (Inria)
   ElementId (provisional): 405

 


FESTOR, et al.           Expires July 18, 2014                  [Page 6]

INTERNET DRAFT      IPFIX Metering Process Location     January 14, 2014


4.6. civicLocationType

   Description: Denotes the civic location information type as 
      specified in [RFC4776].

   Data Type: unsigned8
   PEN (provisional): 12559 (Inria)
   ElementId (provisional): 406

4.7. civicLocationValue

   Description: Denotes a civic location information element that MUST
      be encoded as a UTF-8 string. The location information MAY be a
      civic address as specified in [RFC4776] or information on 
      proximity to known objects.

   Data Type: string
   PEN (provisional): 12559 (Inria)
   ElementId (provisional): 407

4.8. locationMethod

   Description: Denotes the way in which the location information has
      been obtained. The locationMethod sub-registry is defined in
      Section 8.1.

   Data Type: unsigned8
   Data Type Semantics: identifier
   PEN (provisional): 12559 (Inria)
   ElementId (provisional): 408

4.9. locationTime 

   Description: Denotes the time when the location information is 
      obtained on a device acting as an IPFIX Flow Exporter. The time
      is expressed in seconds since January 1, 1970, 00:00:00 UTC.

   Data Type: dateTimeSeconds
   Data Type Semantics: quantity
   PEN (provisional): 12559 (Inria)
   ElementId (provisional): 409

5. Guidelines for Using Location Information Elements

   The specified location Information Elements in this document SHALL be
   used by a Metering Process for constructing an IPFIX location
   Template with respect to the following conventions.

 


FESTOR, et al.           Expires July 18, 2014                  [Page 7]

INTERNET DRAFT      IPFIX Metering Process Location     January 14, 2014


   Guideline #1: Location Information Elements MUST describe a discrete
       location defined as a place, point or area in which a
       Metering Process (i.e., IPFIX Flow Exporter) can be found.

   Guideline #2: In situations where a discrete location can be
       described in multiple ways, each location SHOULD be described by
       means of a separate Template. A compound Template containing a
       subTemplateMultiList field [RFC6313] SHOULD be used in which each
       top-level element corresponds to a different location Template.
       For example, the location of a device being at the fifth floor of
       a particular building can be described using both a geospatial
       point (the location of the building) and civic information (fifth
       floor of a building).

   Guideline #3: Exporting more than one location in a Flow Record MUST
       only be done if the different location descriptions refer to
       different places.

   Guideline #4: A Metering Process MAY apply time-based Flow
       expiration policies as described in Section 5.1.1 of [RFC5470],
       or location-/distance-based expiration policies. For example,
       a Metering Process MAY expire current Flows when the device
       moves from one room to another.

   Guideline #5: When another type of location data is available and
       needed to be sent, the Flow Exporter MUST send the template of
       the new location format.

6. Recommended Templates for Geospatial and Civic Location Export

   The following Templates are defined as recommended Templates for
   exporting geospatial and civic location information. The geospatial
   templates are related to a point, circle or area shapes. The
   definition and usage of the shapes is covered in [GeoSHAPE]. Civic
   locations can be exported using a Template containing a
   subTemplateList [RFC6313], where each element of the list corresponds
   to a Template.

6.1. Geospatial Point Location Template

   The point shape is the simplest form of a geospatial location, which
   SHOULD be used when there is no known uncertainty. The following
   Template is defined for exporting a 2D geospatial point location:





 


FESTOR, et al.           Expires July 18, 2014                  [Page 8]

INTERNET DRAFT      IPFIX Metering Process Location     January 14, 2014


    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     
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    
   | Set ID = 2                    |        Length = 28            |    
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    
   | Template ID = 300             |        Field Count = 2        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    
   | locationMethod = 408          |        Field Length = 1       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
   | locationTime = 409            |        Field Length = 4       |   
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
   | geospatialLocationCRSCode=401 |        Field Length = 2       |  
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    
   | geospatialLocationLat = 402   |        Field Length = 8       |   
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    
   | geospatialLocationLng = 403   |        Field Length = 8       |    
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    

 Figure 1: Template for exporting a 2D point-based geospatial location

   For illustration, the following presents an example Data Record to
   export a 2D geospatial point location:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Set ID = 300            |          Length = 28          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | locMethod = 3 |       locationTime = 1234555555               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | ... octet 4   |geospatialLocationCRSCode=4326 |geospatial ... |  
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            ... LocationLat = 48.690855                        |  
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | ... octet 6 - 8                               |geospatial ... |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     LocationLng = 6.172851                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | ... octet 6 - 8                             | Padding (opt)   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 

        Figure 2: Data Record of a geospatial 2D point location

6.2. Geospatial Circle Location Template

   The circle Template is suitable for exporting the location of a flow
   observed within a circle shape where its center is represented using
   a geospatial point position and its radius represents the
 


FESTOR, et al.           Expires July 18, 2014                  [Page 9]

INTERNET DRAFT      IPFIX Metering Process Location     January 14, 2014


   uncertainty.

   Template Record for Geospatial Circle (ID = 301)
    | locationMethod(408)[1]
    | locationTime(409)[4]
    | geospatialLocationCRSCode(401)[2]
    | geospatialLocationRadius(405)[4]
    | geospatialLocationLat(402)[8]
    | geospatialLocationLng(403)[8]

  Figure 3: Template for exporting a circle-based geospatial location

   The following presents an example of a Data Record carrying a circle-
   based geospatial location:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Set ID = 301            |          Length = 32          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | locMethod = 3 |       locationTime = 1234555555               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | ... octet 4   |geospatialLocationCRSCode=4326 | geospatial ...|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         ... LocationRadius = 850.24           | geospatial ...|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         ... LocationPosLat =                                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 42.5463                       | geospatial ...|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         ... LocationLng =                                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 -73.2512                      | Padding (opt) |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Figure 4: Data Record of a circle-based geospatial location

6.3. Geospatial List Template

   The list locations Template is suitable for exporting a variable-
   length list of different geospatial point positions of a single flow.
   For example, it could be used to export the start and the end
   locations of a flow. The template relies on a subTemplateList data
   type to export the list of geospatial point-based positions. This
   template requires [RFC6313] compliant Exporting and Collecting
   Processes. Figure 5 depicts an example of such a subTemplate for
   exporting each element of the list.

 


FESTOR, et al.           Expires July 18, 2014                 [Page 10]

INTERNET DRAFT      IPFIX Metering Process Location     January 14, 2014


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Set ID = 2                   |        Length = 20            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Template ID = 302            |        Field Count = 2        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  locationTime = 409           |        Field Length = 4       |   
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |  geospatialLocationLat = 402  |        Field Length = 8       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  geospatialLocationLng = 403  |        Field Length = 8       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

 Figure 5: Template for exporting a geospatial 2D point-based position

   Template Record for Geospatial List (ID = 303)
    | locationMethod(408)[1]
    | geospatialLocationCRSCode(401)[2]
    +-subTemplateList(292)[0XFFFF]
      +-Geospatial 2D Point position Template Record(302)[16]

    Figure 6: Template for exporting a geospatial list of locations

   The following presents an example Data Record carrying a list of two
   geospatial point positions. Each point-based position is defined as
   an element of a subTemplateList Information Element with semantic
   "allOf".




















 


FESTOR, et al.           Expires July 18, 2014                 [Page 11]

INTERNET DRAFT      IPFIX Metering Process Location     January 14, 2014


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Set ID = 303            |          Length = 53          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | locMethod = 3 |geospatialLocationCRSCode=4326 |      255      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    
   |Geospatial Point List length=43 |semantic=allOf| Template ID = |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | ... 302       |      locationTime = ...                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |... 1234555555 |  geospatialLocationLat1 = ...                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                43.311                         | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | ... octet 8   |  geospatialLocationPostLng1 =  ...            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                 -73.422                       | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | ... octet 8   |      locationTime = ...                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |... 1234555555 | geospatialLocationLat2 =                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                  43.111                       | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | ... octet 8   |  geospatialLocationtLng2 =                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                  -73.322                      | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | ... octet 8   | 
   +-+-+-+-+-+-+-+-+

  Figure 7: Data Record of a geospatial list of point-based locations















 


FESTOR, et al.           Expires July 18, 2014                 [Page 12]

INTERNET DRAFT      IPFIX Metering Process Location     January 14, 2014


6.4. Civic Location Template

   A civic-based location Data Record consists of a tuple of
   (civicLocationType, civicLocationValue) Information Elements. Each
   tuple is defined as an element of a subTemplateList Information
   Element with semantic "allOf". This template requires [RFC6313]
   compliant Exporting and Collecting Processes.

   Template Record for Civic location (ID = 304)
    | locationMethod(408)[1]
    | locationTime(409)[4]
    +-subTemplateList (292)[0xFFFF]
      +-Civic element Template Record (ID = 305)
        | civiLocationType(406)[1]
        | civicLocationValue(407)[v]

           Figure 8: Template for exporting a civic location

   The "Civic element" Template Record, as shown in Figure 8, MUST be
   defined for each tuple. For the purpose of illustration, we consider
   exporting the civic location "Inria Nancy-Grand Est, Building B,
   Office 123" obtained through DHCP. Using the Template described in
   Figure 8, the resulting Data Record is as follows:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Set ID = 304            |          Length = 62          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | locMethod = 3 |       locationTime = 1234555555               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | ... octet 4   |   255         |Civic elements list length = 50| 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | semantic=allOf| Civic element TemplateID = 305| CivicType=21  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     21        |       CivicValue = Inria Nancy-Grand          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                            Est ...            | CivicType=25  | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     10        |       CivicValue = Building                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              B ...            | CivicType=28  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     10        |       CivicValue = Office                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                            123 ...                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

 


FESTOR, et al.           Expires July 18, 2014                 [Page 13]

INTERNET DRAFT      IPFIX Metering Process Location     January 14, 2014


               Figure 9: Data Record of a civic location 

   Note that the values of the civiLocationType are defined in
   [RFC4776].

6.5. Compound Location Template

   A compound location is used to describe a location, represented by a
   composite of both civic and geospatial information. An example
   situation is a two-dimensional geospatial 2D point position
   (latitude, longitude) describing a location of a building, and a
   civic element representing the floor in that building. A
   subTemplateMultiList [RFC6313] SHOULD be used to export a Template
   for both geospatial and civic information. To represent the above
   example, the following Template is defined:

   Template Record for Compound Location (ID = 306)
    | locationTime(409)[4]
    +-subTemplateMultiList(293)[0XFFFF]
      +-Geospatial Template Record (ID = 307)
        | locationMethod(408)[1]
        | geospatialLocationCRSCode(401)[2]
        | geospatialLocationLat(402)[8]
        | geospatialLocationLng(403)[8]
      +-Civic location Template Record (ID = 308)
        | locationMethod(408)[1]
        | civicLocationType(406)[1]
        | civicLocationValue(407)[v]

         Figure 10: Template for exporting a compound location 

   A data Record encoded using the Template shown in Figure 11 is
   represented as follows:















 


FESTOR, et al.           Expires July 18, 2014                 [Page 14]

INTERNET DRAFT      IPFIX Metering Process Location     January 14, 2014


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Set ID = 311            |          Length = 64          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  locationTime = 12345555555555                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     255       |  Attributes List Length = 53  | semantic=allOf|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          Template ID = 312    |  Geospatial Attr Length = 19  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | locMethod = 3 |geospatialLocationCRSCode=4326 |geospatial ... |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                   ... LocationLat1 =                          |  
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          -34.407              |geospatial ... |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                   ... LocationLng1 =                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           150.8883            | Template ID = |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | ... 313       | Civic location Attr length=25 |  locMethod=3  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | CivicType = 21|     21        |  CivicValue = Inria ...       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Nancy-Grand Grand Est ...              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             Figure 11: Data Record of a compound location

7. Security Considerations

   The use of location information on the Internet has been discussed in
   "GeoPriv Requirements" [RFC3693], while the threats facing Internet
   protocols that carry location information are detailed in [RFC3694].
   Support for Flow Record anonymization, as expressed in [RFC6235], is
   strongly recommended, since the dissemination of Flow Records
   including location information raises greater privacy issues than the
   dissemination of regular Flow Records. The applicability and analysis
   of these security requirements for the IPFIX protocol - especially in
   the case where location information is conveyed - is however outside
   of the scope of this document. This document only specifies the new
   IPFIX Information Elements for exporting location information.
   Otherwise, the same security considerations as those defined for the
   IPFIX protocol and the IPFIX information model apply.



 


FESTOR, et al.           Expires July 18, 2014                 [Page 15]

INTERNET DRAFT      IPFIX Metering Process Location     January 14, 2014


8. IANA Considerations

   This document specifies several new IPFIX Information Elements and
   types that need to be registered with IANA.

8.1. locationMethod Sub-Registry

   The values of the location methods are enumerated within an IANA
   registry [RFC4119]. However, integer identifiers for these methods
   need to be registered with IANA as described below.

      +--------+--------------+----------------------------------------+
      | Number | Method       | Description                            |
      +--------+--------------+----------------------------------------+
      |0       | GPS          | Global Positioning System              |
      |1       | A-GPS        | GPS with assistance                    |
      |2       | Manual       | Entered manually by a user             |
      |3       | DHCP         | Provided by DHCP [RFC5985]             |
      |4       | Triangulation| Triangulated from time-of-arrival,     |
      |        |              | signal strength or similar measurement |
      |5       | Cell         | Location of the cellular radio antenna |
      |6       | 802.11       | IEEE 802.11 access point location      |
      +--------+--------------+----------------------------------------+


9. Acknowledgements

   The authors were partly funded by FLAMINGO, a Network of Excellence
   project (ICT-318488) supported by the European Commission under its
   Seventh Framework Programme, and the EIT ICT Labs activity "Smart
   Networks at the Edge".

10. References

10.1. Normative References


   [GeoShape] Thomson, M. and C. Reed, "GML 3.1.1 PIDF-LO Shape
              Application Schema for use by the Internet Engineering
              Task Force (IETF)", Candidate OpenGIS Implementation
              Specification 06-142r1, Version: 1.0, April 2007.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC6313]  Claise, B., Dhandapani, G., Aitken, P., and S. Yates,
              "Export of Structured Data in IP Flow Information Export
              (IPFIX)", RFC 6313, July 2011.
 


FESTOR, et al.           Expires July 18, 2014                 [Page 16]

INTERNET DRAFT      IPFIX Metering Process Location     January 14, 2014


   [RFC7011]  Claise, B., Ed., Trammell, B., Ed., and P. Aitken,
              "Specification of the IP Flow Information Export (IPFIX)
              Protocol for the Exchange of Flow Information", STD 77,
              RFC 7011, September 2013.

   [RFC5470]  Sadasivan, G., Brownlee, N., Claise, B., and J. Quittek,
              "Architecture for IP Flow Information Export", RFC 5470,
              March 2009.

   [RFC4776]  Schulzrinne, H., "Dynamic Host Configuration Protocol
              (DHCPv4 and DHCPv6) Option for Civic Addresses
              Configuration Information", RFC 4776, November 2006.

   [RFC6225]  Polk, J., Linsner, M., Thomson, M., and B. Aboba, Ed.,
              "Dynamic Host Configuration Protocol Options for
              Coordinate-Based Location Configuration Information",
              RFC 6225, July 2011.

   [RFC5139]  Thomson, M. and J. Winterbottom, "Revised Civic Location
              Format for Presence Information Data Format Location
              Object (PIDF-LO)", RFC 5139, February 2008.

   [RFC5491]  Winterbottom, J., Thomson, M., and H. Tschofenig, "GEOPRIV
              Presence Information Data Format Location Object (PIDF-LO)
              Usage Clarification, Considerations, and Recommendations",
              RFC 5491, March 2009.

   [RFC3693]  Cuellar, J., Morris, J., Mulligan, D., Peterson, J., and
              J. Polk, "Geopriv Requirements", RFC 3693, February 2004.

   [RFC6235]  Boschi, E. and B. Trammell, "IP Flow Anonymization
              Support", RFC 6235, May 2011.


10.2. Informative References

   [NFDUMP]   Haag, P., "NFDUMP", http://nfdump.sourceforge.net, May
              2013.

   [NFSEN]    Haag, P., "NfSen", http://nfsen.sourceforge.net, January
              2012.

   [SURFMAP]  Hofstede, R., Fioreze, T., "SURFmap: A Network Monitoring
              Tool Based on the Google Maps API", Proceedings of the
              IFIP/IEEE International Symposium on Integrated Network
              Management, 2009, June 2009.

   [OGP]      Oil and Gas Producers Association, "EPSG Geodetic
 


FESTOR, et al.           Expires July 18, 2014                 [Page 17]

INTERNET DRAFT      IPFIX Metering Process Location     January 14, 2014


              Parameter Registry", http://www.epsg-registry.org, August
              2011.

   [RFC5513]  Farrel, A., "IANA Considerations for Three Letter
              Acronyms", RFC 5513, April 1 2009.




Appendix A. Example Implementation

This appendix is intended to show an example application that relies on
the set of IPFIX Information Elements described in this document. This
application, named SURFmap, is a network monitoring tool based on the
Google Maps API and uses Flow data to visualize network Flows on a map
[SURFMAP]. By default, geolocation databases are used for retrieving the
(estimated) physical location associated to an IP address. The
Information Elements described in this document, however, will allow
SURFmap to use the absolute location information exported for Flows.

SURFmap has been developed in the past as a plugin to NfSen [NFSEN].
NfSen provides a Web-frontend to nfdump [NFDUMP], which is a set of
tools for flow data collection and processing, among others. To support
collection and processing of Flow Records containing any of the new
Information Elements (e.g. by SURFmap), an extension to nfdump has been
developed.

The following presents a set of Flow Records that have been exported by
a mobile Flow Exporter. Several fields, such as destination IP address
and port number, location timestamp and location method have been left
out for the sake of space. It is clear that the mobile device has moved
while exporting Flow Records, as the latitude and longitude coordinates
have changed over time.

Start time       Src IP Addr:Port   Pkts  Bytes  Latitude Longtitude
20:19:21.852  173.194.40.113:443       9   2730 48.690855   6.172851
20:21:42.307  91.202.200.229:80       13   9137 48.690855   6.172851
20:21:42.307    10.21.20.232:59521    15   1547 48.690855   6.172851
20:22:38.084   73.194.40.113:80        8   1799 48.690855   6.172851
20:22:38.084    10.21.20.232:34056     9    877 48.690855   6.172851
21:17:13.498   173.194.45.80:443      12   2830 48.713145    6.17526
21:17:13.498    10.21.20.232:49233    15   2301 48.713145    6.17526
21:17:16.919    10.21.20.232:15572     1     72 48.744506   6.154815
21:17:16.919     172.20.2.39:53        1    257 48.744506    6.15481




 


FESTOR, et al.           Expires July 18, 2014                 [Page 18]

INTERNET DRAFT      IPFIX Metering Process Location     January 14, 2014


Authors' Addresses


Olivier Festor
Inria
615 rue du Jardin Botanique
54600 Villers-les-Nancy
France

Phone: +33 3 83 59 30 66
Email: Olivier.Festor@inria.fr


Abdelkader Lahmadi
Universite de Lorraine - LORIA
615 rue du Jardin Botanique
54600 Villers-les-Nancy
France

Phone: +33 3 83 59 30 00
Email: Abdelkader.Lahmadi@loria.fr


Rick Hofstede
University of Twente
P.O. Box 217
7500 AE Enschede
The Netherlands 

Phone: +31 53 489 2013
Email: r.j.hofstede@utwente.nl


Aiko Pras
University of Twente
P.O. Box 217
7500 AE Enschede
The Netherlands 

Phone: +31 53 489 3778
Email: a.pras@utwente.nl










FESTOR, et al.           Expires July 18, 2014                 [Page 19]