IPFIX Working Group O. Festor Internet-Draft Inria Intended Status: Informational A. Lahmadi Expires: January 15, 2014 Universite de Lorraine - LORIA R. Hofstede A. Pras University of Twente July 14, 2013 Information Elements for IPFIX Metering Process Location draft-festor-ipfix-metering-process-location-01 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 January 15, 2014. Copyright Notice Copyright (c) 2013 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 January 15, 2014 [Page 1] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 Abstract This document defines a set of Information Elements for the IP Flow Information Export (IPFIX) protocol to include location information of any device (both fixed and mobile) that acts as an IPFIX Flow Exporter. The specified Information Elements support both geodetic and civic location data. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Relationships with GEOPRIV . . . . . . . . . . . . . . . . . . 5 3. Location Information . . . . . . . . . . . . . . . . . . . . . 5 3.1. Geospatial Location Information . . . . . . . . . . . . . . 5 3.2. Civic Location Information . . . . . . . . . . . . . . . . 6 4. Location Information Elements . . . . . . . . . . . . . . . . . 6 4.1. locationGeodeticCRSCode . . . . . . . . . . . . . . . . . . 6 4.2. locationGeodeticPosLat . . . . . . . . . . . . . . . . . . 7 4.3. locationGeodeticPosLng . . . . . . . . . . . . . . . . . . 7 4.4. locationGeodeticPosAlt . . . . . . . . . . . . . . . . . . 7 4.5. locationGeodeticRadius . . . . . . . . . . . . . . . . . . 7 4.6. locationGeodeticHeight . . . . . . . . . . . . . . . . . . 7 4.7. locationGeodeticSemiMajorAxis . . . . . . . . . . . . . . . 8 4.8. locationGeodeticSemiMinorAxis . . . . . . . . . . . . . . . 8 4.9. locationGeodeticVerticalAxis . . . . . . . . . . . . . . . 8 4.10. locationGeodeticOrientation . . . . . . . . . . . . . . . 8 4.11. locationGeodeticInnerRadius . . . . . . . . . . . . . . . 9 4.12. locationGeodeticOuterRadius . . . . . . . . . . . . . . . 9 4.13. locationGeodeticStartAngle . . . . . . . . . . . . . . . . 9 4.14. locationGeodeticOpeningAngle . . . . . . . . . . . . . . . 9 4.15. locationCivicType . . . . . . . . . . . . . . . . . . . . 10 4.16. locationCivicValue . . . . . . . . . . . . . . . . . . . . 10 4.17. locationMethod . . . . . . . . . . . . . . . . . . . . . . 10 4.18. locationTime . . . . . . . . . . . . . . . . . . . . . . . 10 5. Guidelines for Using Location Information Elements . . . . . . 11 6. Recommended Templates for Geodetic and Civic Location Export . 11 6.1. Geodetic Point Location Template . . . . . . . . . . . . . 11 6.2. Geodetic Circle and Sphere Locations Template . . . . . . . 12 6.3. Geodetic Ellipse Location Template . . . . . . . . . . . . 13 6.4. Geodetic Arc Band Location Template . . . . . . . . . . . . 14 6.5. Geodetic Ellipsoid Location Template . . . . . . . . . . . 16 6.6. Geodetic Polygon Location Template . . . . . . . . . . . . 17 6.7. Geodetic Prism Location Template . . . . . . . . . . . . . 20 6.8. Civic Location Template . . . . . . . . . . . . . . . . . . 22 6.9. Compound Location Template . . . . . . . . . . . . . . . . 23 7. Security Considerations . . . . . . . . . . . . . . . . . . . . 24 FESTOR, et al. Expires January 15, 2014 [Page 2] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 25 8.1. locationMethod Sub-Registry . . . . . . . . . . . . . . . . 25 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 25 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 25 10.1. Normative References . . . . . . . . . . . . . . . . . . . 25 10.2. Informative References . . . . . . . . . . . . . . . . . . 26 Appendix A. Example Implementation . . . . . . . . . . . . . . . . 27 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 28 FESTOR, et al. Expires January 15, 2014 [Page 3] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 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 smartphones, 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 measurements. Hence, exporting location information associated to traffic Flows is desirable in various situations. The IPFIX protocol [RFC5101] has been designed for the purpose of exporting IP traffic Flows by means of 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 collector for storage and analysis. The collected information is 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. 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 FESTOR, et al. Expires January 15, 2014 [Page 4] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 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 coordinates and civic location. Geospatial coordinates are made up of latitude, longitude and altitude coordinates, while civic locations encompass 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 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 FESTOR, et al. Expires January 15, 2014 [Page 5] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 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 have 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 geodetic 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 geodetic 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 geodetic and civic location, together with IPFIX Information Elements already defined for exporting IP traffic Flows. 4.1. locationGeodeticCRSCode 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 (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. FESTOR, et al. Expires January 15, 2014 [Page 6] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 Data Type: unsigned16 Data Type Semantics: identifier PEN (provisional): 12559 (INRIA) ElementId: 401 4.2. locationGeodeticPosLat Description: Denotes the coordinate information value of the latitude. Data Type: float64 PEN (provisional): 12559 (INRIA) ElementId (provisional): 402 4.3. locationGeodeticPosLng Description: Denotes the coordinate information value of the longitude. Data Type: float64 PEN (provisional): 12559 (INRIA) ElementId (provisional): 403 4.4. locationGeodeticPosAlt Description: Denotes the coordinate information value of the altitude. Data Type: float64 PEN (provisional): 12559 (INRIA) ElementId (provisional): 404 4.5. locationGeodeticRadius 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 4.6. locationGeodeticHeight Description: Denotes the height value (in meters) of a location described using a prism shape. FESTOR, et al. Expires January 15, 2014 [Page 7] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 Data Type: float32 Data Type Semantics: quantity PEN (provisional): 12559 (INRIA) ElementId (provisional): 406 4.7. locationGeodeticSemiMajorAxis Description: Denotes the length (in meters) of a semi-major axis of a location described using an elliptical area in a two- dimensional CRS or an ellipsoid in a three-dimensional CRS. Data Type: float32 Data Type Semantics: quantity PEN (provisional): 12559 (INRIA) ElementId (provisional): 407 4.8. locationGeodeticSemiMinorAxis Description: Denotes the length (in meters) of a semi-minor axis of a location described using an elliptical area in a two-dimensional CRS or an ellipsoid in a three-dimensional CRS. Data Type: float32 Data Type Semantics: quantity PEN (provisional): 12559 (INRIA) ElementId (provisional): 408 4.9. locationGeodeticVerticalAxis Description: Denotes the length (in meters) of a vertical axis of a location described using an ellipsoid area in three-dimensional CRS. Data Type: float32 Data Type Semantics: quantity PEN (provisional): 12559 (INRIA) ElementId (provisional): 409 4.10. locationGeodeticOrientation Description: Denotes the angle to express the orientation of a semi- major axis from the center point of a location described using an elliptical area in a two-dimensional CRS or an ellipsoid in a three-dimensional CRS. FESTOR, et al. Expires January 15, 2014 [Page 8] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 Data Type: float32 Data Type Semantics: quantity PEN (provisional): 12559 (INRIA) ElementId (provisional): 410 4.11. locationGeodeticInnerRadius Description: Denotes the inner radius value (in meters) of a location described using an arc band shape. Data Type: float32 Data Type Semantics: quantity PEN (provisional): 12559 (INRIA) ElementId (provisional): 411 4.12. locationGeodeticOuterRadius Description: Denotes the outer radius value (in meters) of a location described using an arc band shape. Data Type: float32 Data Type Semantics: quantity PEN (provisional): 12559 (INRIA) ElementId (provisional): 412 4.13. locationGeodeticStartAngle Description: Denotes the start angle value from the north of a location described using an arc band shape. Data Type: float32 Data Type Semantics: quantity PEN (provisional): 12559 (INRIA) ElementId (provisional): 413 4.14. locationGeodeticOpeningAngle Description: Denotes the opening angle value of a location described using an arc band shape. Data Type: float32 Data Type Semantics: quantity PEN (provisional): 12559 (INRIA) ElementId (provisional): 414 FESTOR, et al. Expires January 15, 2014 [Page 9] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 4.15. locationCivicType Description: Denotes the civic location information type as specified in [RFC4776]. Data Type: unsigned8 PEN (provisional): 12559 (INRIA) ElementId (provisional): 415 4.16. locationCivicValue 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): 416 4.17. locationMethod Description: Denotes the way in which the location information has been obtained. The locationMethod sub-registry is defined in Section 8.2. Data Type: unsigned8 Data Type Semantics: identifier PEN (provisional): 12559 (INRIA) ElementId (provisional): 417 4.18. locationTime Description: Denotes the time when the location information is derived on the device running 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): 418 FESTOR, et al. Expires January 15, 2014 [Page 10] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 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. Guideline #1: Location Information Elements MUST describe a discrete location defined as a place, point, area or volume, in which a Metering Process (i.e. device) 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 geodetic 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 the same place. Guideline #4: When the location of a device changes, the current Flow Record MUST be expired by the Metering Process. 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 Geodetic and Civic Location Export The following Templates are defined as recommended Templates for exporting geodetic and civic location information. The geodetic templates are related to the eight shapes that can be used for specifying a location as a point, area or volume. 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. Geodetic Point Location Template The point shape is the simplest form of a geodetic location, which SHOULD be used when there is no known uncertainty. The following Template is defined for exporting a 2D geodetic point location: FESTOR, et al. Expires January 15, 2014 [Page 11] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 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 = 256 | Field Count = 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationMethod = 417 | Field Length = 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationTime = 418 | Field Length = 4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticCRSCode = 401 | Field Length = 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticPosLat = 402 | Field Length = 8 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticPosLng = 403 | Field Length = 8 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: Template for exporting a 2D point-based (geodetic) location For illustration, the following presents an example data record to export a 2D geodetic 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 = 256 | Length = 28 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locMethod = 3 | locationTime = 1234555555 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 4 |locationGeodeticCRSCode = 4326 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticPostLat = 48.690855 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 6 - 8 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GeodeticPosLng = 6.172851 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 6 - 8 | Padding (opt) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: Data record of a geodetic 2D point location 6.2. Geodetic Circle and Sphere Locations Template The circle Template is suitable for exporting the location of Flows observed within a circle shape where its center is represented using a geodetic point position and its radius represent the uncertainty. FESTOR, et al. Expires January 15, 2014 [Page 12] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 This template SHOULD contain the locationGeodeticPosAlt information element to export a geodetic sphere location. Template record for Geodetic Circle (ID = 301) | locationMethod(417)[1] | locationTime(418)[4] | locationGeodeticCRSCode(401)[2] | locationGeodeticRadius(405)[4] | locationGeodeticPosLat(402)[8] | locationGeodeticPosLng(403)[8] Figure 3: Template for exporting a circle-based (geodetic) location The following presents an example of a data record carrying a circle- based (geodetic) 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 |locationGeodeticCRSCode = 4326 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticRadius = 850.24 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticPosLat = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 42.5463 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticPostLng = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.2512 | Padding (opt) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 4: Data record of a circle-based geodetic location 6.3. Geodetic Ellipse Location Template The ellipse Template is suitable for exporting the location of Flows observed within an ellipse shape where the uncertainty is represented using the semi-major, semi-minor axis and the orientation. The center of the ellipse is represented using a geodetic 2D point position. FESTOR, et al. Expires January 15, 2014 [Page 13] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 Template record for Geodetic Ellipse (ID = 302) | locationMethod(417)[1] | locationTime(418)[4] | locationGeodeticCRSCode(401)[2] | locationGeodeticSemiMajorAxis(407)[4] | locationGeodeticSemiMinorAxis(408)[4] | locationGeodeticOrientation(410)[4] | locationGeodeticPosLat(402)[8] | locationGeodeticPosLng(403)[8] Figure 5: Template for exporting an ellipse-based (geodetic) location The following presents an example data record carrying an ellipse- based (geodetic) 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 = 302 | Length = 40 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locMethod = 3 | locationTime = 1234555555 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 4 |locationGeodeticCRSCode = 4326 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticSemiMajorAxis = 1275 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticSemiMinorAxis = 670 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticOrientation = 43.2 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticPosLat = ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 42.5463 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticPosLng = ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.2512 | Padding (opt) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 6: Data record of an ellipse-based geodetic location 6.4. Geodetic Arc Band Location Template The arc band Template is suitable for exporting the location of Flows observed within an arc shape where its inner, outer radius and the start, opening angles are used to represent the uncertainty. The center of the arc is represented using a geodetic 2D point position. FESTOR, et al. Expires January 15, 2014 [Page 14] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 Template record for Geodetic Arc Band (ID = 303) | locationMethod(417)[1] | locationTime(418)[4] | locationGeodeticCRSCode(401)[2] | locationGeodeticInnerRadius(411)[4] | locationGeodeticOuterRadius(412)[4] | locationGeodeticStartAngle(413)[4] | locationGeodeticOpeningAngle(414)[4] | locationGeodeticPosLat(402)[8] | locationGeodeticPosLng(403)[8] Figure 7: Template for exporting an arc band-based (geodetic) location The following presents an example data record carrying an arc band- based (geodetic) 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 = 303 | Length = 44 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locMethod = 3 | locationTime = 1234555555 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 4 |locationGeodeticCRSCode = 4326 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticInnerRadius = 3594 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticOuterRaidus = 4148 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticStartAngle = 20 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | . ... GeodeticOpeningAngle = 120 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticPosLat = .. | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 42.5463 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticPosLng = ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.2512 | Padding (opt) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 8: Data record of an arc band-based geodetic location FESTOR, et al. Expires January 15, 2014 [Page 15] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 6.5. Geodetic Ellipsoid Location Template The ellipsoid Template is suitable for exporting the location of Flows observed within an ellipsoid shape where its inherent properties represent the uncertainty. The center of the ellipsoid is represented using a geodetic 3D point position where the latitude, longitude and altitude fields SHOULD be defined. Template record for Geodetic Ellipsoid (ID = 304) | locationMethod(417)[1] | locationTime(418)[4] | locationGeodeticCRSCode(401)[2] | locationGeodeticSemiMajorAxis(407)[4] | locationGeodeticSemiMinorAxis(408)[4] | locationGeodeticVerticalAxis(409)[4] | locationGeodeticOrientation(410)[4] | locationGeodeticPosLat(402)[8] | locationGeodeticPosLng(403)[8] | locationGeodeticPosAlt(404)[8] Figure 9: Template for exporting an ellipsoid-based (geodetic) location The following presents an example data record carrying an ellipsoid- based (geodetic) location: FESTOR, et al. Expires January 15, 2014 [Page 16] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 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 = 52 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locMethod = 3 | locationTime = 1234555555 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 4 |locationGeodeticCRSCode = 4979 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticSemiMajorAxis = 7.7156 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticSemiMinorAxis = 3.31 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticVerticalAxis = 28.7 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticOrientation = 90 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticPosLat = .. | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 42.5463 | location .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticPosLng = ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.2512 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticPosAlt = ... | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 26.3 | Padding (opt) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 10: Data record of an ellipsoid-based geodetic location 6.6. Geodetic Polygon Location Template The polygon Template is suitable for exporting a variable-length list of geodetic point positions of a single location forming a polygon shape where a Flow has been observed. It relies on a subTemplateList data type to export the list of geodetic point-based positions. This template requires [RFC6313] compliant Exporting and Collecting Processes. Figure 11 depicts an example of such a subTemplate for exporting each element of the list. FESTOR, et al. Expires January 15, 2014 [Page 17] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 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 = 16 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Template ID = 259 | Field Count = 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticPosLat = 402 | Field Length = 8 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationgeodeticPosLng = 403 | Field Length = 8 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 11: Template for exporting a geodetic 2D point-based position Template record for Geodetic Polygon (ID = 300) | locationMethod(417)[1] | locationTime(418)[4] | locationGeodeticCRSCode(401)[2] +-subTemplateList(292)[0XFFFF] +-Geodetic 2D Point position template record(259)[16] Figure 12: Template for exporting a polygon-based (geodetic) location The following presents an example data record carrying a two- dimensional, polygon (geodetic) location with four geodetic point positions. Note that the first and last point-based positions are identical. Each point-based position is defined as an element of a subTemplateList Information Element with semantic "allOf". FESTOR, et al. Expires January 15, 2014 [Page 18] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 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 = 81 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locMethod = 3 | locationTime = 1234555555 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 4 |locationGeodeticCRSCode = 4326 | 255 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Geodetic Point List length = 67 |semantic=allOf| Template ID = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... 259 | locationGeodeticPostLat1 = ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 43.311 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 8 | locationGeodeticPostLng1 = ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.422 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 8 | locationGeodeticPostLat2 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 43.111 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 8 | locationGeodeticPostLng2 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.322 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 8 | locationGeodeticPostLat3 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 43.311 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 8 | locationGeodeticPostLng3 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.222 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 8 | locationGeodeticPostLat4 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 43.311 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 8 | locationGeodeticPostLng4 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.422 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 8 | +-+-+-+-+-+-+-+-+ Figure 13: Data record of a polygon-based geodetic location FESTOR, et al. Expires January 15, 2014 [Page 19] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 6.7. Geodetic Prism Location Template The prism Template is suitable for exporting the location of Flows observed within a prism shape where its height represents the uncertainty. The Template relies on a subTemplatelist data type to define the variable-length list of geodetic 3D point positions forming the prism. For each 3D geodetic point-based position the latitude, longitude and altitude fields SHOULD be defined. Each point position 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 Geodetic Prism (ID = 305) | locationMethod(417)[1] | locationTime(418)[4] | locationGeodeticCRSCode(401)[2] | locationGeodeticHeight(406)[4] +-subTemplateList(292)[0xFFFF] +-Geodetic 3D-Point template record(310)[24] | locationGeodeticPosLat(402)[8] | locationGeodeticPosLng(403)[8] | locationGeodeticPosAlt(404)[8] Figure 14: Template for exporting a prism-based (geodetic) location The following presents an example data record carrying a prism-based (geodetic) 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 = 305 | Length = 117 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locMethod = 3 | locationTime = 1234555555 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 4 |locationGeodeticCRSCode = 4979 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticHeight = 2.4 | 255 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Geodetic Point list length = 99|semantic=allOf | Template ID = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | .. 207 | locationGeodeticPostLat1 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 42.556844 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 8 | locationGeodeticPosLng1 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.248157 | FESTOR, et al. Expires January 15, 2014 [Page 20] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 8 | locationGeodeticPosAlt1 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 36.6 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 8 | locationGeodeticPosLat2 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 42.656844 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 8 | locationGeodeticPosLng2 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.248157 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 8 | locationGeodeticPosAlt2 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 36.6 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 8 | locationGeodeticPosLat4 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 42.65844 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 8 | locationGeodeticPosLng4 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.348157 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 8 | locationGeodeticPosAlt4 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 36.6 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 8 | locationGeodeticPosLat5 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 42.556844 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 8 | locationGeodeticPosLng5 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.248157 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 8 | locationGeodeticPosAlt5 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 36.6 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 8 | +-+-+-+-+-+-+-+-+ Figure 15: Data record of a prism-based geodetic location FESTOR, et al. Expires January 15, 2014 [Page 21] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 6.8. Civic Location Template A civic-based location data record consists of a tuple of (locationCivicType, locationCivicValue) 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 = 308) | locationMethod(417)[1] | locationTime(418)[4] +-subTemplateList (292)[0xFFFF] +-Civic element Template Record (ID = 310) | locationCivicType(415)[1] | locationCivicValue(416)[v] Figure 19: Template for exporting a civic location The "Civic element" Template record, as shown in Figure 19, 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 Templates described in Figure 19, 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 = 308 | Length = 58 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locMethod = 3 | locationTime = 1234555555 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 4 | 255 |Civic elements list length = 48| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | semantic=allOf| Civic element TemplateID = 210| CivicType=21 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 21 | CivicValue = INRIA Nancy-Grand | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Est ... | CivicType=25 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 10 | CivicValue = Building | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | B ... | CivicType=28 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 10 | CivicValue = Office | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 123 ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ FESTOR, et al. Expires January 15, 2014 [Page 22] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 Figure 20: Data record of a civic location Note that the values of the locationCivicType are defined in [RFC4776]. 6.9. Compound Location Template A compound location is used to describe a location, represented by a composite of both civic and geodetic information. An example situation is a two-dimensional geodetic 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 geodetic and civic information. To represent the above example, the following Template is defined: Template record for Compound Location (ID = 311) | locationTime(418)[4] +-subTemplateMultiList(293)[0XFFFF] +-Geodetic Template record (ID = 312) | locationMethod(417)[1] | locationGeodeticCRSCode(401)[2] | locationGeodeticPosLat(402)[8] | locationGeodeticPosLng(403)[8] +-Civic location Template record (ID = 313) | locationMethod(417)[1] | locationCivicType(415)[1] | locationCivicValue(416)[v] Figure 18: Template for exporting a compound location A data record encoded using the Template shown in Figure 16 is represented as follows: FESTOR, et al. Expires January 15, 2014 [Page 23] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 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 = 211 | Length = 64 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationTime = 12345555555555 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 255 | Attributes List Length = 53 | semantic=allOf| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Template ID = 312 | Geodetic Attr Length = 19 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locMethod = 3 |locationGeodeticCRSCode = 4326 | location... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticPosLat1 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -34.407 | location ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... GeodeticPosLng1 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 150.8883 | Template ID = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... 313 | Civic location Attr length=25 | locMethod=3 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationType=8| CivicType = 21| 21 | CivicValue = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | INRIA Nancy-Grand Grand Est ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 19: 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 that contain location information raises greater privacy issues for users than 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 to convey location information. Otherwise, the same security considerations as those defined for the IPFIX protocol and the IPFIX information model apply. FESTOR, et al. Expires January 15, 2014 [Page 24] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 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 January 15, 2014 [Page 25] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 [RFC5102] Quittek, J., Bryant, S., Claise, B., Aitken, P., and J. Meyer, "Information Model for IP Flow Information Export", RFC 5102, January 2008. [RFC5101] Claise, B., Ed., "Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of IP Traffic Flow Information", RFC 5101, January 2008. [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 Parameter Registry", http://www.epsg-registry.org, August FESTOR, et al. Expires January 15, 2014 [Page 26] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 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 January 15, 2014 [Page 27] INTERNET DRAFT IPFIX Metering Process Location July 14, 2013 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 January 15, 2014 [Page 28]