IPFIX Working Group O. Festor Internet-Draft Inria Intended Status: Informational A. Lahmadi Expires: January 1, 2014 Universite de Lorraine - LORIA R. Hofstede A. Pras University of Twente June 30, 2013 Information Elements for IPFIX Metering Process Location draft-festor-ipfix-metering-process-location-00 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 1, 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 1, 2014 [Page 1] INTERNET DRAFT IPFIX Metering Process Location June 30, 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. locationType . . . . . . . . . . . . . . . . . . . . . . . 6 4.2. locationGeodeticCRSCode . . . . . . . . . . . . . . . . . . 7 4.3. locationGeodeticPosLat . . . . . . . . . . . . . . . . . . 7 4.4. locationGeodeticPosLng . . . . . . . . . . . . . . . . . . 7 4.5. locationGeodeticPosAlt . . . . . . . . . . . . . . . . . . 7 4.6. locationGeodeticRadius . . . . . . . . . . . . . . . . . . 8 4.7. locationGeodeticHeight . . . . . . . . . . . . . . . . . . 8 4.8. locationGeodeticSemiMajorAxis . . . . . . . . . . . . . . . 8 4.9. locationGeodeticSemiMinorAxis . . . . . . . . . . . . . . . 8 4.10. locationGeodeticVerticalAxis . . . . . . . . . . . . . . . 9 4.11. locationGeodeticOrientation . . . . . . . . . . . . . . . 9 4.12. locationGeodeticInnerRadius . . . . . . . . . . . . . . . 9 4.13. locationGeodeticOuterRadius . . . . . . . . . . . . . . . 9 4.14. locationGeodeticStartAngle . . . . . . . . . . . . . . . . 9 4.15. locationGeodeticOpeningAngle . . . . . . . . . . . . . . . 10 4.16. locationCivicType . . . . . . . . . . . . . . . . . . . . 10 4.17. locationCivicLength . . . . . . . . . . . . . . . . . . . 10 4.18. locationCivicValue . . . . . . . . . . . . . . . . . . . . 10 4.19. locationMethod . . . . . . . . . . . . . . . . . . . . . . 10 4.20. locationTime . . . . . . . . . . . . . . . . . . . . . . . 11 5. Guidelines for Using Location Information Elements . . . . . . 11 6. Recommended Templates for Geodetic and Civic Location Export . 12 6.1. Geodetic Point Template . . . . . . . . . . . . . . . . . . 12 6.2. Geodetic Location Template . . . . . . . . . . . . . . . . 12 6.3. Geodetic Polygon Template . . . . . . . . . . . . . . . . . 13 6.4. Geodetic Circle and Sphere Templates . . . . . . . . . . . 15 6.5. Geodetic Ellipse Template . . . . . . . . . . . . . . . . . 15 6.6. Geodetic Arc Band Template . . . . . . . . . . . . . . . . 16 6.7. Geodetic Ellipsoid Template . . . . . . . . . . . . . . . . 18 6.8. Geodetic Prism Template . . . . . . . . . . . . . . . . . . 19 FESTOR, et al. Expires January 1, 2014 [Page 2] INTERNET DRAFT IPFIX Metering Process Location June 30, 2013 6.9. Civic Location Template . . . . . . . . . . . . . . . . . . 21 6.10. Compound Location Template . . . . . . . . . . . . . . . . 23 7. Security Considerations . . . . . . . . . . . . . . . . . . . . 24 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 24 8.1. locationType Subregistry . . . . . . . . . . . . . . . . . 24 8.2. locationMethod Subregistry . . . . . . . . . . . . . . . . 25 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 25 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 25 10.1. Normative References . . . . . . . . . . . . . . . . . . . 25 10.2. Informative References . . . . . . . . . . . . . . . . . . 26 Appendix A. Example Implementation . . . . . . . . . . . . . . . . 28 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 29 FESTOR, et al. Expires January 1, 2014 [Page 3] INTERNET DRAFT IPFIX Metering Process Location June 30, 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 1, 2014 [Page 4] INTERNET DRAFT IPFIX Metering Process Location June 30, 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 RFC 2119 [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 1, 2014 [Page 5] INTERNET DRAFT IPFIX Metering Process Location June 30, 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. locationType Description: Denotes the location information type. The type identifiers are related to geodetic or symbolic location representations. The geodetic types are defined in [GeoShape] as a set of geometries to encode location information. This set is defined in [GeoShape] for two dimensional and three-dimensional shapes: Point (2D and 3D), Polygon (2D), Circle (2D), Ellipse (2D), Arc band (2D), Sphere (3D), Ellipsoid (3D), Prism (3D). The civic type represents a civic location information as specified FESTOR, et al. Expires January 1, 2014 [Page 6] INTERNET DRAFT IPFIX Metering Process Location June 30, 2013 in [RFC4776]. The locationType subregistry is defined in Section 8.1. Data Type: unsigned8 Data Type Semantics: identifier PEN (provisional): 12559 (INRIA) ElementId (provisional): 401 4.2. 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. Data Type: unsigned16 Data Type Semantics: identifier PEN (provisional): 12559 (INRIA) ElementId: 402 4.3. locationGeodeticPosLat Description: Denotes the coordinate information value of the latitude. Data Type: float64 PEN (provisional): 12559 (INRIA) ElementId (provisional): 403 4.4. locationGeodeticPosLng Description: Denotes the coordinate information value of the longitude. Data Type: float64 PEN (provisional): 12559 (INRIA) ElementId (provisional): 404 4.5. locationGeodeticPosAlt Description: Denotes the coordinate information value of the altitude. FESTOR, et al. Expires January 1, 2014 [Page 7] INTERNET DRAFT IPFIX Metering Process Location June 30, 2013 Data Type: float64 PEN (provisional): 12559 (INRIA) ElementId (provisional): 405 4.6. 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): 408 4.7. locationGeodeticHeight Description: Denotes the height value (in meters) of a location described using a prism shape. Data Type: float32 Data Type Semantics: quantity PEN (provisional): 12559 (INRIA) ElementId (provisional): 409 4.8. 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): 410 4.9. 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): 411 FESTOR, et al. Expires January 1, 2014 [Page 8] INTERNET DRAFT IPFIX Metering Process Location June 30, 2013 4.10. 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): 412 4.11. 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. Data Type: float32 Data Type Semantics: quantity PEN (provisional): 12559 (INRIA) ElementId (provisional): 413 4.12. 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): 414 4.13. 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): 415 4.14. locationGeodeticStartAngle Description: Denotes the start angle value from the north of a location described using an arc band shape. FESTOR, et al. Expires January 1, 2014 [Page 9] INTERNET DRAFT IPFIX Metering Process Location June 30, 2013 Data Type: float32 Data Type Semantics: quantity PEN (provisional): 12559 (INRIA) ElementId (provisional): 416 4.15. 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): 417 4.16. locationCivicType Description: Denotes the civic location information type as specified in [RFC4776]. Data Type: unsigned8 PEN (provisional): 12559 (INRIA) ElementId (provisional): 418 4.17. locationCivicLength Description: Denotes the length in octets of the locationCivicValue Information Element. Data Type: unsigned8 PEN (provisional): 12559 (INRIA) ElementId (provisional): 419 4.18. 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): 420 4.19. locationMethod Description: Denotes the way in which the location information has been obtained. The locationMethod subregistry is defined in FESTOR, et al. Expires January 1, 2014 [Page 10] INTERNET DRAFT IPFIX Metering Process Location June 30, 2013 Section 8.2. Data Type: unsigned8 Data Type Semantics: identifier PEN (provisional): 12559 (INRIA) ElementId (provisional): 421 4.20. locationTime Description: Denotes the time when the location information is derived on the device running an IPFIX Flow Exporter. The time is expressed in milliseconds since January 1, 1970, 00:00:00 UTC. Data Type: dateTimeMilliseconds Data Type Semantics: quantity PEN (provisional): 12559 (INRIA) ElementId (provisional): 422 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 located 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. FESTOR, et al. Expires January 1, 2014 [Page 11] INTERNET DRAFT IPFIX Metering Process Location June 30, 2013 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 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: 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 = 200 | Field Count = 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticPosLat = 403 | Field Length = 8 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationgeodeticPosLng = 404 | Field Length = 8 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: Template for exporting 2D point-based (geodetic) locations 6.2. Geodetic Location Template The Geodetic location template is suitable for exporting a list of geodetic points associated to a Flow. It uses a subTemplateList for exporting one or more geodetic point locations. Each geodetic element in the list MAY be defined using the template depicted in Figure 1. The following template defines a list of 2D geodetic point positions: Template record for Geodetic Location (ID = 201) | locationMethod(421)[1] | locationTime(422)[4] | locationType(401)[1] | locationGeodeticCRSCode(402)[2] + subTemplateList(292)[0XFFFF] |Geodetic Point template record(200)[16] Figure 2: Template for exporting a geodetic Location FESTOR, et al. Expires January 1, 2014 [Page 12] INTERNET DRAFT IPFIX Metering Process Location June 30, 2013 For illustration, the following presents an example data record carrying a single two-dimensional, point-based (geodetic) position: 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 = 73 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locMethod = 3 | locationTime = 1234555555 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 4 |locationType=0 |locationGeodeticCRSCode = 4326 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 255 |Geodetic Point list length = 19| oneOrMoreOf | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Template ID = 200 | locationGeodeticPostLat1 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -34.407 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 7 - 8 | locationGeodeticPosLng1 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 150.8883 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 7 - 8 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3: Data record of a geodetic location with a single 2D point 6.3. Geodetic Polygon Template The polygon template is suitable for exporting a list of geodetic point locations forming a polygon shape where the Flows have been observed. It relies on a subTemplateList data type to export the list of location points. Template record for Geodetic Polygon (ID = 202) | locationMethod(421)[1] | locationTime(422)[4] | locationType(401)[1] | locationGeodeticCRSCode(402)[2] + subTemplateList(292)[0XFFFF] |Geodetic Point template record(200)[16] Figure 4: Template for exporting polygon-based (geodetic) locations The following presents an example data record carrying a two- dimensional, polygon (geodetic) location: FESTOR, et al. Expires January 1, 2014 [Page 13] INTERNET DRAFT IPFIX Metering Process Location June 30, 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 = 301 | Length = 82 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locMethod = 3 | locationTime = 1234555555 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 4 |locationType=1 |locationGeodeticCRSCode = 4326 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 255 |Geodetic Point List length = 67 |semantic=allOf| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Template ID = 200 | locationGeodeticPostLat1 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 43.311 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 7 - 8 | locationGeodeticPostLng1 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.422 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 7 - 8 | locationGeodeticPostLat2 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 43.111 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 7 - 8 | locationGeodeticPostLng2 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.322 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 7 - 8 | locationGeodeticPostLat3 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 43.311 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 7 - 8 | locationGeodeticPostLng3 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.222 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 7 - 8 | locationGeodeticPostLat4 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 43.311 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 7 - 8 | locationGeodeticPostLng4 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.422 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 7 - 8 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 5: Data record of a polygon based geodetic location FESTOR, et al. Expires January 1, 2014 [Page 14] INTERNET DRAFT IPFIX Metering Process Location June 30, 2013 6.4. Geodetic Circle and Sphere Templates 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 template and its radius represent the uncertainty. Template record for Geodetic Circle (ID = 203) | locationMethod(421)[1] | locationTime(422)[4] | locationType(401)[1] | locationInfoCRSCode(402)[2] | locationGeodeticRadius(408)[4] + Geodetic Point Template record (200)[16] Figure 6: 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 = 203 | Length = 32 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locMethod = 3 | locationTime = 1234555555 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 4 |locationType=2 |locationGeodeticCRSCode = 4326 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticRadius = 850.24 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticPosLat = ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 42.5463 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticPostLng = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.2512 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 7: Data record of a circle-based geodetic location 6.5. Geodetic Ellipse 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 point template record. FESTOR, et al. Expires January 1, 2014 [Page 15] INTERNET DRAFT IPFIX Metering Process Location June 30, 2013 Template record for Geodetic Ellipse (ID = 204) | locationMethod(421)[1] | locationTime(422)[4] | locationType(401)[1] | locationInfoCRSCode(402)[2] | locationGeodeticSemiMajorAxis(410)[4] | locationGeodeticSemiMinorAxis(411)[4] | locationGeodeticOrientation(413)[4] + Geodetic Point Template record (200)[16] Figure 8: Template for exporting ellipse-based (geodetic) locations 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 = 204 | Length = 40 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locMethod = 3 | locationTime = 1234555555 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 4 |locationType=3 |locationGeodeticCRSCode = 4326 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticSemiMajorAxis = 1275 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticSemiMinorAxis = 670 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticOrientation = 43.2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticPosLat = ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 42.5463 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticPosLng = ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.2512 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 9: Data record of an ellipse-based geodetic location 6.6. Geodetic Arc Band 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 point template record. FESTOR, et al. Expires January 1, 2014 [Page 16] INTERNET DRAFT IPFIX Metering Process Location June 30, 2013 Template record for Geodetic Arc Band (ID = 205) | locationMethod(421)[1] | locationTime(4212)[4] | locationType(4101)[1] | locationInfoCRSCode(402)[2] | locationGeodeticInnerRadius(414)[4] | locationGeodeticOuterRadius(415)[4] | locationGeodeticStartAngle(416)[4] | locationGeodeticOpeningAngle(417)[4] + Geodetic Point Template record (200)[16] Figure 10: Template for exporting arc band-based (geodetic) locations 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 = 205 | Length = 44 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locMethod = 3 | locationTime = 1234555555 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 4 |locationType=4 |locationGeodeticCRSCode = 4326 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticInnerRadius = 3594 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticOuterRaidus = 4148 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticStartAngle = 20 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | . locationGeodeticOpeningAngle = 120 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticPosLat = .. | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 42.5463 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticPosLng = ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.2512 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 11: Data record of a arc band-based geodetic location FESTOR, et al. Expires January 1, 2014 [Page 17] INTERNET DRAFT IPFIX Metering Process Location June 30, 2013 6.7. Geodetic Ellipsoid 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 point template where the latitude, longitude and altitude fields SHOULD be defined. Template record for Geodetic Ellipsoid (ID = 206) | locationMethod(421)[1] | locationTime(422)[4] | locationType(401)[1] | locationGeodeticCRSCode(402)[2] | locationGeodeticSemiMajorAxis(410)[4] | locationGeodeticSemiMinorAxis(411)[4] | locationGeodeticVerticalAxis(412)[4] | locationGeodeticOrientation(413)[4] + Geodetic Point Template record (207)[24] | locationGeodeticPosLat(403)[8] | locationGeodeticPosLng(404)[8] | locationGeodeticPosAlt(405)[8] Figure 12: Template for exporting ellipsoid-based (geodetic) locations FESTOR, et al. Expires January 1, 2014 [Page 18] INTERNET DRAFT IPFIX Metering Process Location June 30, 2013 The following presents an example data record carrying an ellipsoid- 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 = 206 | Length = 52 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locMethod = 3 | locationTime = 1234555555 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 4 |locationType=6 |locationGeodeticCRSCode = 4979 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticSemiMajorAxis = 7.7156 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticSemiMinorAxis = 3.31 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticVerticalAxis = 28.7 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticOrientation = 90 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticPosLat = .. | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 42.5463 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticPosLng = ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.2512 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticPosAlt = ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 26.3 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 13: Data record of a ellipsoid-based geodetic location 6.8. Geodetic Prism 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 list of geodetic points forming the prism. For each geodetic point the latitude, longitude and altitude fields SHOULD be defined. FESTOR, et al. Expires January 1, 2014 [Page 19] INTERNET DRAFT IPFIX Metering Process Location June 30, 2013 Template record for Geodetic Prism (ID = 208) | locationMethod(421)[1] | locationTime(422)[4] | locationType(401)[1] | locationGeodeticCRSCode(402)[2] | locationGeodeticHeight(409)[4] | subTemplateList(292)[0xFFFF] + Geodetic Point template record(207)[24] | locationGeodeticPosLat(403)[8] | locationGeodeticPosLng(404)[8] | locationGeodeticPosAlt(405)[8] Figure 14: Template for exporting prism-based (geodetic) locations 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 = 208 | Length = 118 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locMethod = 3 | locationTime = 1234555555 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 4 |locationType=7 |locationGeodeticCRSCode = 4979 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticHeight = 2.4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 255 |Geodetic Point list length = 99|semantic=allOf | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Template ID = 207 | locationGeodeticPostLat1 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 42.556844 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 7 - 8 | locationGeodeticPosLng1 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.248157 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 7 - 8 | locationGeodeticPosAlt1 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 36.6 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 7 - 8 | locationGeodeticPosLat2 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 42.656844 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 7 - 8 | locationGeodeticPosLng2 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ FESTOR, et al. Expires January 1, 2014 [Page 20] INTERNET DRAFT IPFIX Metering Process Location June 30, 2013 | -73.248157 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 7 - 8 | locationGeodeticPosAlt2 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 36.6 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 7 - 8 | locationGeodeticPosLat4 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 42.65844 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 7 - 8 | locationGeodeticPosLng4 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.348157 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 7 - 8 | locationGeodeticPosAlt4 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 36.6 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 7 - 8 | locationGeodeticPosLat5 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 42.556844 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 7 - 8 | locationGeodeticPosLng5 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -73.248157 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 7 - 8 | locationGeodeticPosAlt5 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 36.6 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 7 - 8 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 15: Data record of a prism-based geodetic location 6.9. Civic Location Template A civic-based location data record consists of a tuple of (locationCivicType, locationCivicLength, locationCivicValue) Information Elements. Each tuple is defined as an element of a subTemplateList Information Element with semantic "allOf". FESTOR, et al. Expires January 1, 2014 [Page 21] INTERNET DRAFT IPFIX Metering Process Location June 30, 2013 Template record for Civic Location (ID = 209) | locationMethod(421)[1] | locationTime(422)[4] | locationType(401)[1] | subTemplateList (292)[0xFFFF] +-Civic element Template Record (ID = 210) | locationCivicType(418)[1] | locationCivicLength(419)[1] | locationCivicValue(420)[v] Figure 16: Template for exporting civic locations The "Civic element" template, as shown in Figure 16, MUST be defined for each tuple. As an illustration, we consider exporting the civic location "INRIA Nancy-Grand Est, Building B, Office 123" obtained through DHCP. Using the templates described in Figure 16, 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 = 209 | Length = 66 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locMethod = 3 | locationTime = 1234555555 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... octet 4 |locationType=8 | 255 |Civic elements | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ..list len=51 |semantic=allOf | Civic element TemplateID=210 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |CivicType=21 | CivicLength=21|CivicValue = INRIA Nancy-Grand | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Est ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |CivicType=25 | CivicLength=10|CivicValue = Building | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | B ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |CivicType=28 | CivicLength=10|CivicValue = Office | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 123 ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 17: Data record of a civic location Note that the values of the locationCivicType are defined in [RFC4776]. FESTOR, et al. Expires January 1, 2014 [Page 22] INTERNET DRAFT IPFIX Metering Process Location June 30, 2013 6.10. Compound Location Template A compound location is used to describe a location, represented by a composite of civic and geodetic information. An example situation is a two-dimensional geodetic point (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 = 211) |locationTime(422)[1] |subTemplateMultiList(293)[0XFFFF] +-- Geodetic Template record (ID = 212) |locationMethod(421)[1] |locationType(401)[1] |locationGeodeticCRSCode(402)[2] +-Geodetic Point template record(200)[16] +-- Civic location Template record (ID = 213) |locationMethod(421)[1] |locationType(401)[1] +-Civic element Template Record (ID = 210) Figure 18: Template for exporting compound locations A data record encoded using the Template shown in Figure 16 is represented 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 = 211 | Length = 65 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationTime = 12345555555555 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 255 | Attributes List Length = 54 | semantic=allOf| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Geodetic Template ID =212 | Geodetic Attr Length = 24 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locMethod = 3 |locationType =0| locationGeodeticCRSCode=4326 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticPostLat1 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | -34.407 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | locationGeodeticPosLng1 = | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 150.8883 | FESTOR, et al. Expires January 1, 2014 [Page 23] INTERNET DRAFT IPFIX Metering Process Location June 30, 2013 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Civic location Template ID=213| Civic location Attr length=29 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |locationMethod=3|locationType=8| CivicType = 21|CivicLength=21 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CivicValue = INRIA Nancy-Grand Grand Est | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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. 8. IANA Considerations This document specifies several new IPFIX Information Elements and types that need to be registered with the IANA. 8.1. locationType Subregistry +--------+--------------+-------------------+ | Number | label | Reference | +--------+--------------+-------------------+ |0 | Point | EPSG:4326-WGS 84 | |1 | Polygon | EPSG:4326-WGS 84 | |2 | Circle | EPSG:4326-WGS 84 | |3 | Ellipse | EPSG:4326-WGS 84 | |4 | Arc Band | EPSG:4326-WGS 84 | |5 | Sphere | EPSG:4979-WGS 84 | |6 | Ellipsoid | EPSG:4979-WGS 84 | |7 | Prism | EPSG:4979-WGS 84 | |8 | Civic | [RFC4776][RFC5139]| +--------+--------------+-------------------+ FESTOR, et al. Expires January 1, 2014 [Page 24] INTERNET DRAFT IPFIX Metering Process Location June 30, 2013 8.2. locationMethod Subregistry The values of the location methods are enumerated within an IANA registry [RFC4119]. However, integer identifiers for these methods need to be registered with the IANA as described in the following. +--------+--------------+----------------------------------------+ | 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 | Provided by IEEE 802.11 access point | +--------+--------------+----------------------------------------+ 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. [KEYWORDS] 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. [RFC5102] Quittek, J., Bryant, S., Claise, B., Aitken, P., and J. Meyer, "Information Model for IP Flow Information Export", RFC 5102, January 2008. FESTOR, et al. Expires January 1, 2014 [Page 25] INTERNET DRAFT IPFIX Metering Process Location June 30, 2013 [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 2011. [RFC5513] Farrel, A., "IANA Considerations for Three Letter Acronyms", RFC 5513, April 1 2009. FESTOR, et al. Expires January 1, 2014 [Page 26] INTERNET DRAFT IPFIX Metering Process Location June 30, 2013 FESTOR, et al. Expires January 1, 2014 [Page 27] INTERNET DRAFT IPFIX Metering Process Location June 30, 2013 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 1, 2014 [Page 28] INTERNET DRAFT IPFIX Metering Process Location June 30, 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 1, 2014 [Page 29]