RFC 6915
Flow Identity Extension for HTTP-Enabled Location Delivery (HELD)
RFC 6915: Flow Identity Extension for HTTP-Enabled Location Delivery (HELD) π
Okay bestie, this one is by R. Bellis from Nominet UK, and it's a Standards Track doc dated April 2013 πΈ It's part of the ISSN 2070-1721 family. It updates RFC 6155 and doesn't list anything it obsoletes. Let's get into it π
Abstract β¨
RFC 6155 gives HELD (HTTP-Enabled Location Delivery) an extension where you can use an IP address and port number to ask for a Device's location based on one individual packet flow π¦
But some kinds of NAT need identifiers for both ends of the packet flow before the location request can be pinned down with no confusion at all π
So this document brings in an XML Schema and a URN Sub-Namespace for a Flow Identity Extension for HELD that handles that. It also updates RFC 6155 by deprecating the port number elements from that spec π
Status of This Memo
This is an Internet Standards Track document π₯
It's a product of the Internet Engineering Task Force (IETF), so it represents the consensus of the IETF community. It went through public review and got approved for publication by the Internet Engineering Steering Group (IESG). More info on Internet Standards is in Section 2 of RFC 5741 β¨
For the current status, any errata, and how to give feedback, check http://www.rfc-editor.org/info/rfc6915 π§
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) as they stood on the publication date. Please read these carefully, because they're literally your rights and restrictions for this doc π«Ά Code Components pulled out of this document must include Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as described in the Simplified BSD License π
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Conventions Used in This Document . . . . . . . . . . . . . . 3
3. Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. XML Schema . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
5.1. URN Sub-Namespace Registration for
urn:ietf:params:xml:ns:geopriv:held:flow . . . . . . . . . 6
5.2. XML Schema Registration . . . . . . . . . . . . . . . . . 7
6. Privacy Considerations . . . . . . . . . . . . . . . . . . . . 7
7. Security Considerations . . . . . . . . . . . . . . . . . . . 8
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8
9.1. Normative References . . . . . . . . . . . . . . . . . . . 8
9.2. Informative References . . . . . . . . . . . . . . . . . . 8
1. Introduction β¨
Okay so the Emergency Location Task Group at NICC Standards Limited (the UK's telecoms industry standards body) is the reason port number identifiers got added to HELD Identity [RFC6155]. That lets HELD [RFC5985] requests work for Devices that sit behind NAT devices πΈ
Then later analysis showed that with certain NAT devices, especially Carrier Grade NATs, you need the whole tuple of (Layer 3 protocol, Layer 4 protocol, source address, source port, destination address, destination port) to uniquely identify a flow, and from there the actual Device π³
So this document specifies an XML Schema and a URN Sub-Namespace for a Flow Identity Extension that covers this need. It also gives a more general way to identify a Device from the parameters of a network flow it's an endpoint of π¦
Here's the tea: the Location Recipient might not know ahead of time whether the Device is behind a NAT device. So the port number elements from Section 3.3 of [RFC6155] are deprecated and MUST NOT be used in new client implementations π Server implementations of this specification might still get requests from clients that only implemented [RFC6155], and those requests could contain the deprecated port element, so keep that in mind π
For implementation details this document doesn't cover, go check [RFC6155] and [RFC5985] π
2. Conventions Used in This Document π
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] π§
The terms "Device" and "Target" are used as defined in [RFC6280] β¨
3. Usage π
Here's an example HELD request, bestie π
<locationRequest xmlns="urn:ietf:params:xml:ns:geopriv:held"
responseTime="8">
<locationType exact="true">geodetic</locationType>
<flow xmlns="urn:ietf:params:xml:ns:geopriv:held:flow"
layer4="tcp" layer3="ipv4">
<src>
<address>192.0.2.25</address>
<port>1024</port>
</src>
<dst>
<address>198.51.100.238</address>
<port>80</port>
</dst>
</flow>
</locationRequest>
The <flow> element MUST contain:
- a
layer3attribute with a value of"ipv4"or"ipv6". - a
layer4attribute with a value of"udp"[RFC0768],"tcp"[RFC0793],"sctp"[RFC4960],"dccp"[RFC4340], or a decimal integer representing any applicable protocol from the IANA Assigned Internet Protocol Numbers Registry. - a
<src>element and a<dst>element whose child elements contain the Layer 3 address (which MUST conform to the relevant "IPv4address" or "IPv6address" grammar as defined in [RFC3986]) and the Layer 4 port number of each end of the flow.
and MAY optionally contain:
- a
targetattribute with a value of"src"(default) or"dst"to indicate which end of the flow corresponds to the Target of the<locationRequest>with respect to the HELD protocol π
4. XML Schema π
Here's the whole schema, no cap π₯
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="urn:ietf:params:xml:ns:geopriv:held:flow"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:flow="urn:ietf:params:xml:ns:geopriv:held:flow"
elementFormDefault="qualified">
<xs:annotation>
<xs:appinfo
source="urn:ietf:params:xml:schema:geopriv:held:flow">
HELD Flow Identity</xs:appinfo>
<xs:documentation
source="http://www.rfc-editor.org/rfc/rfc6915.txt">
This document defines Flow Identity elements for HELD.
</xs:documentation>
</xs:annotation>
<xs:element name="flow" type="flow:flowIdentity"/>
<xs:complexType name="flowIdentity">
<xs:sequence>
<xs:element name="src" type="flow:flowEndpoint"/>
<xs:element name="dst" type="flow:flowEndpoint"/>
</xs:sequence>
<xs:attribute name="target" default="src">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:pattern value="(src|dst)"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="layer3" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:pattern value="(ipv4|ipv6)"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="layer4" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:pattern value="(udp|tcp|sctp|dccp|\d+)"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="flowEndpoint">
<xs:all>
<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:token"/>
</xs:simpleType>
</xs:element>
<xs:element name="port">
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:minInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:schema>
9.2. Informative References π
Okay bestie, these are the "nice to know" reads that back up the spec. Here they are, all five, no cap π¦
- [RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, August 1980. πΈ
- [RFC0793] Postel, J., "Transmission Control Protocol", STD 7, RFC 793, September 1981. π
- [RFC4340] Kohler, E., Handley, M., and S. Floyd, "Datagram Congestion Control Protocol (DCCP)", RFC 4340, March 2006. β¨
- [RFC4960] Stewart, R., "Stream Control Transmission Protocol", RFC 4960, September 2007. π
- [RFC6280] Barnes, R., Lepinski, M., Cooper, A., Morris, J., Tschofenig, H., and H. Schulzrinne, "An Architecture for Location and Location Privacy in Internet Applications", BCP 160, RFC 6280, July 2011. π
Author's Address π«Ά
Meet the author! This is who to ping about it, iykyk π
Ray Bellis
Nominet UK
Edmund Halley Road
Oxford OX4 4DQ
United Kingdom
Phone: +44 1865 332211
EMail: ray.bellis@nominet.org.uk
URI: http://www.nominet.org.uk/
That's the whole RFC, babe! ππ
π¦ where this page comes from
- ietf: rfc6915 2013-04
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms