draft-ietf-geopriv-lis-discovery-02.txt   draft-ietf-geopriv-lis-discovery-03.txt 
GEOPRIV M. Thomson GEOPRIV M. Thomson
Internet-Draft J. Winterbottom Internet-Draft J. Winterbottom
Intended status: Standards Track Andrew Intended status: Standards Track Andrew
Expires: January 12, 2009 July 11, 2008 Expires: March 14, 2009 September 10, 2008
Discovering the Local Location Information Server (LIS) Discovering the Local Location Information Server (LIS)
draft-ietf-geopriv-lis-discovery-02 draft-ietf-geopriv-lis-discovery-03
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 34 skipping to change at page 1, line 34
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on January 12, 2009. This Internet-Draft will expire on March 14, 2009.
Abstract Abstract
A method is described for the discovery of a Location Information A method is described for the discovery of a Location Information
Server. The method uses a Dynamic Host Configuration Protocol (DHCP) Server. The method uses a Dynamic Host Configuration Protocol (DHCP)
option. DHCP options are defined for both IPv4 and IPv6 DHCP. A option. DHCP options are defined for both IPv4 and IPv6 DHCP. A
URI-enabled NAPTR (U-NAPTR) method is described for use where the URI-enabled NAPTR (U-NAPTR) method is described for use where the
DHCP option is unsuccessful. This document defines a U-NAPTR DHCP option is unsuccessful. This document defines a U-NAPTR
Application Service for a LIS, with a specific Application Protocol Application Service for a LIS, with a specific Application Protocol
for the HTTP Enabled Location Delivery (HELD) protocol. The held: for the HTTP Enabled Location Delivery (HELD) protocol.
URI scheme, the product of the discovery process, is defined by this
document.
Table of Contents Table of Contents
1. Introduction and Overview . . . . . . . . . . . . . . . . . . 3 1. Introduction and Overview . . . . . . . . . . . . . . . . . . 3
1.1. DHCP Discovery . . . . . . . . . . . . . . . . . . . . . . 3 1.1. DHCP Discovery . . . . . . . . . . . . . . . . . . . . . . 3
1.2. U-NAPTR Discovery . . . . . . . . . . . . . . . . . . . . 3 1.2. U-NAPTR Discovery . . . . . . . . . . . . . . . . . . . . 3
1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4
2. The held: URI . . . . . . . . . . . . . . . . . . . . . . . . 5 2. LIS Discovery Using DHCP . . . . . . . . . . . . . . . . . . . 5
3. LIS Discovery Using DHCP . . . . . . . . . . . . . . . . . . . 6 2.1. DHCPv4 Option for a LIS Address . . . . . . . . . . . . . 5
3.1. DHCPv4 Option for a LIS Address . . . . . . . . . . . . . 6 2.2. DHCPv6 Option for a LIS Address . . . . . . . . . . . . . 5
3.2. DHCPv6 Option for a LIS Address . . . . . . . . . . . . . 6 3. U-NAPTR for LIS Discovery . . . . . . . . . . . . . . . . . . 7
4. U-NAPTR for LIS Discovery . . . . . . . . . . . . . . . . . . 8 4. Determining the Access Network Domain Name . . . . . . . . . . 8
5. Determining the Access Network Domain Name . . . . . . . . . . 9 4.1. DHCP Domain Name Option . . . . . . . . . . . . . . . . . 8
5.1. DHCP Domain Name Option . . . . . . . . . . . . . . . . . 9 4.2. Reverse DNS . . . . . . . . . . . . . . . . . . . . . . . 8
5.2. Reverse DNS . . . . . . . . . . . . . . . . . . . . . . . 9 4.2.1. Determining an External IP Address using STUN . . . . 9
5.2.1. Determining an External IP Address . . . . . . . . . . 10 4.2.2. Alternate Methods for External IP Addresses . . . . . 10
6. Discovery Order . . . . . . . . . . . . . . . . . . . . . . . 13 5. Overall Discovery Procedure . . . . . . . . . . . . . . . . . 12
6.1. Virtual Private Networks (VPNs) . . . . . . . . . . . . . 14 5.1. Virtual Private Networks (VPNs) . . . . . . . . . . . . . 13
7. Access Network Guidance . . . . . . . . . . . . . . . . . . . 15 6. Access Network Guidance . . . . . . . . . . . . . . . . . . . 14
8. Security Considerations . . . . . . . . . . . . . . . . . . . 17 7. Security Considerations . . . . . . . . . . . . . . . . . . . 16
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17
9.1. Registration of DHCPv4 and DHCPv6 Option Codes . . . . . . 18 8.1. Registration of DHCPv4 and DHCPv6 Option Codes . . . . . . 17
9.2. Registration of a Location Server Application Service 8.2. Registration of a Location Server Application Service
Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
9.3. Registration of a Location Server Application Protocol 8.3. Registration of a Location Server Application Protocol
Tag for HELD . . . . . . . . . . . . . . . . . . . . . . . 18 Tag for HELD . . . . . . . . . . . . . . . . . . . . . . . 17
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 20 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 19
11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 20
11.1. Normative References . . . . . . . . . . . . . . . . . . . 21 10.1. Normative References . . . . . . . . . . . . . . . . . . . 20
11.2. Informative References . . . . . . . . . . . . . . . . . . 22 10.2. Informative References . . . . . . . . . . . . . . . . . . 20
Appendix A. Residential Broadband LIS Discovery Example . . . . . 23 Appendix A. Residential Broadband LIS Discovery Example . . . . . 22
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 26 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 25
Intellectual Property and Copyright Statements . . . . . . . . . . 27 Intellectual Property and Copyright Statements . . . . . . . . . . 26
1. Introduction and Overview 1. Introduction and Overview
Discovering a Location Information Server (LIS) is an important part Discovering a Location Information Server (LIS) is an important part
of the location acquisition process. The LIS is an access network of the location acquisition process. The LIS is an access network
service that needs to be discovered before it can be used. This service that needs to be discovered before it can be used. This
document describes a method that a host can use to discover a URI for document describes a method that a host can use to discover a URI for
a LIS. a LIS.
The product of a discovery process, such as the one described in this The product of a discovery process, such as the one described in this
document, is the address of the service. In this document, the document, is the address of the service. In this document, the
result is a URI, which identifies a LIS. The held: URI scheme, which result is a URI, which identifies a LIS.
identifies a LIS that supports HELD, is defined in Section 2.
The discovery process requires that the host first attempt LIS
discovery using Dynamic Host Configuration protocol (DHCP). If DHCP
is not available, or the option is not supported by the network, the
host attempts to discover the LIS using the DNS and URI-enabled
Naming Authority Pointer (U-NAPTR). Finally, the host can rely on
proprietary methods for determining the address of the LIS, including
static configuration.
The URI result from the discovery process is suitable for location The URI result from the discovery process is suitable for location
configuration only; that is, the client MUST dereference the URI configuration only; that is, the client MUST dereference the URI
using the process described in HELD using the process described in HELD
[I-D.ietf-geopriv-http-location-delivery]. URIs discovered in this [I-D.ietf-geopriv-http-location-delivery]. URIs discovered in this
way are not "location by reference" URIs; dereferencing one of them way are not "location by reference" URIs; dereferencing one of them
provides the location of the requester only. Clients MUST NOT embed provides the location of the requester only. Clients MUST NOT embed
these URIs in fields in other protocols designed to carry the these URIs in fields in other protocols designed to carry the
location of the client. location of the client.
The discovery process requires that the host first attempt LIS
discovery using Dynamic Host Configuration protocol (DHCP). If DHCP
is not available, or the option is not supported by the network, the
host attempts to discover the LIS using the DNS and URI-enabled
Naming Authority Pointer (U-NAPTR). Finally, the host can rely on
proprietary methods for determining the address of the LIS, including
static configuration.
1.1. DHCP Discovery 1.1. DHCP Discovery
DHCP ([RFC2131], [RFC3315]) is a commonly used mechanism for DHCP ([RFC2131], [RFC3315]) is a commonly used mechanism for
providing bootstrap configuration information allowing a host to providing bootstrap configuration information allowing a host to
operate in a specific network environment. The bulk of DHCP operate in a specific network environment. The bulk of DHCP
information is largely static; consisting of configuration information is largely static; consisting of configuration
information that does not change over the period that the host is information that does not change over the period that the host is
attached to the network. Physical location information might change attached to the network. Physical location information might change
over this time, however the address of the LIS does not. Thus, DHCP over this time, however the address of the LIS does not. Thus, DHCP
is suitable for configuring a host with the address of a LIS. is suitable for configuring a host with the address of a LIS.
skipping to change at page 4, line 10 skipping to change at page 4, line 8
Where DHCP is not available, the DNS might be able to provide a URI. Where DHCP is not available, the DNS might be able to provide a URI.
This document describes a method that uses URI-enabled NAPTR This document describes a method that uses URI-enabled NAPTR
(U-NAPTR) [RFC4848], a Dynamic Delegation Discovery Service (DDDS) (U-NAPTR) [RFC4848], a Dynamic Delegation Discovery Service (DDDS)
profile that supports URI results. profile that supports URI results.
For the LIS discovery DDDS application, an Application Service tag For the LIS discovery DDDS application, an Application Service tag
"LIS" and an Application Protocol tag "HELD" are created and "LIS" and an Application Protocol tag "HELD" are created and
registered with the IANA. Taking a domain name, this U-NAPTR registered with the IANA. Taking a domain name, this U-NAPTR
application uses the two tags to determine the LIS URI. application uses the two tags to determine the LIS URI.
Determining the domain name to be used is a critical part of the A domain name is the crucial input to the U-NAPTR resolution process.
resolution process. The second part of this document describes how a Section 4 of this document describes several methods for deriving an
domain name can be derived. Several methods are described that appropriate domain name.
address different scenarios.
1.3. Terminology 1.3. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
This document also uses the term "host" to refer to an end host, This document also uses the term "host" to refer to an end host,
consistent with its use in DHCP documents. In RFC3693 [RFC3693] consistent with its use in DHCP documents. In RFC3693 [RFC3693]
parlance, the host is the Device, which might also be the Target. parlance, the host is the Device, which might also be the Target.
The terms "access network" refers to the network that a host connects The terms "access network" refers to the network that a host connects
to for Internet access. The "access network provider" is the entity to for Internet access. The "access network provider" is the entity
that operates the access network. This is consistent with the that operates the access network. This is consistent with the
definition in [I-D.ietf-geopriv-l7-lcp-ps] which combines the definition in [I-D.ietf-geopriv-l7-lcp-ps] which combines the
Internet Access Provider (IAP) and Internet Service Provider (ISP). Internet Access Provider (IAP) and Internet Service Provider (ISP).
The access network provider is responsible for allocating the host an The access network provider is responsible for allocating the host a
IP address and for directly or indirectly providing a LIS service. public IP address and for directly or indirectly providing a LIS
service.
2. The held: URI
This section defines the held: URI scheme. A host acquires a held:
URI as the output of the discovery process in this document. It is
able to use this URI to retrieve its own location from a LIS, using
the HELD protocol [I-D.ietf-geopriv-http-location-delivery]. Other
uses for this URI scheme are not precluded, but are out of scope for
this document.
The held: URI scheme is defined based on a restricted subset of the
syntax defined in [RFC3986]. This definition follows the guildelines
from [RFC4395] with the qualifier that the syntax is designed to be
largely compatible with that used by http: URIs to limit the impact
on HELD implementations.
Using the ABNF [RFC5234] definitions from [RFC3986], the following
ABNF defines the format of a held: URI:
HELD-URI = "held://" host ":" port [ path-absolute ] [ "?" query ]
There is no default port for HELD. Nor is there a different scheme
for a "secure" variant using an additional 's' character (see Section
4 of [RFC3025]). HELD requires that TLS be implemented; private
agreements on the use of unsecured TCP, or the
TLS_NULL_NULL_WITH_NULL cipher suite are possible, but are not the
concern of this document.
The held: URI is not intended to be human-readable text, therefore it
is encoded entirely in US-ASCII. The following are examples of held:
URIs:
held://lis.example.com:49152/thisLocation?token=xyz987
held://lis.example.com:5432/THISLOCATION?foobar=abc123
held://lis.example.com:5432/THISlocation?foobar=ABC123
held://lis.example.com:9876/civic
Other than the scheme and the "host" portion, URIs are case sensitive
and exact equivalency is required for HELD-URI comparisons. For
example, in the above examples, although similar in information, the
2nd and 3rd URIs are not considered equivalent.
3. LIS Discovery Using DHCP 2. LIS Discovery Using DHCP
DHCP allows the access network provider to specify the address of a DHCP allows the access network provider to specify the address of a
LIS as part of network configuration. If the host is able to acquire LIS as part of network configuration. If the host is able to acquire
a LIS URI using DHCP then this URI is used directly; the U-NAPTR a LIS URI using DHCP then this URI is used directly; the U-NAPTR
process is not necessary if this option is provided. process is not necessary if this option is provided.
This document registers DHCP options for a LIS address for both IPv4 This document registers DHCP options for a LIS address for both IPv4
and IPv6. and IPv6.
3.1. DHCPv4 Option for a LIS Address 2.1. DHCPv4 Option for a LIS Address
This section defines a DHCP for IPv4 (DHCPv4) option for the address This section defines a DHCP for IPv4 (DHCPv4) option for the address
of a LIS. of a LIS.
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LIS_URI | Length | URI ... . | LIS_URI | Length | URI ... .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| URI ... | URI ...
skipping to change at page 6, line 39 skipping to change at page 5, line 39
LIS_URI: The IANA assigned option number (TBD). LIS_URI: The IANA assigned option number (TBD).
Length: The length of the URI in octets. Length: The length of the URI in octets.
URI: The address of the LIS. This URI SHOULD NOT be more than 253 URI: The address of the LIS. This URI SHOULD NOT be more than 253
bytes in length, but MAY be extended by concatenating multiple bytes in length, but MAY be extended by concatenating multiple
option values, as described in [RFC3396]. The URI MUST NOT be option values, as described in [RFC3396]. The URI MUST NOT be
NULL terminated. NULL terminated.
3.2. DHCPv6 Option for a LIS Address 2.2. DHCPv6 Option for a LIS Address
This section defines a DHCP for IPv6 (DHCPv6) option for the address This section defines a DHCP for IPv6 (DHCPv6) option for the address
of a LIS. The DHCPv6 option for this parameter is similarly of a LIS. The DHCPv6 option for this parameter is similarly
formatted to the DHCPv4 option. formatted to the DHCPv4 option.
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_LIS_URI | Length | | OPTION_LIS_URI | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| URI ... | URI ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: DHCPv6 LIS URI Option Figure 2: DHCPv6 LIS URI Option
OPTION_LIS_URI: The IANA assigned option number (TBD). OPTION_LIS_URI: The IANA assigned option number (TBD).
Length: The length of the URI in octets. Length: The length of the URI in octets.
URI: The address of the LIS. The URI MUST NOT be NULL terminated. URI: The address of the LIS. The URI MUST NOT be NULL terminated.
4. U-NAPTR for LIS Discovery 3. U-NAPTR for LIS Discovery
U-NAPTR resolution for a LIS takes a domain name as input and U-NAPTR resolution for a LIS takes a domain name as input and
produces a URI that identifies the LIS. This process also requires produces a URI that identifies the LIS. This process also requires
an Application Service tag and an Application Protocol tag, which an Application Service tag and an Application Protocol tag, which
differentiate LIS-related NAPTR records from other records for that differentiate LIS-related NAPTR records from other records for that
domain. domain.
Section 9.2 defines an Application Service tag of "LIS", which is Section 8.2 defines an Application Service tag of "LIS", which is
used to identify the location service for a particular domain. The used to identify the location service for a particular domain. The
Application Protocol tag "HELD", defined in Section 9.3, is used to Application Protocol tag "HELD", defined in Section 8.3, is used to
identify a LIS that understands the HELD protocol identify a LIS that understands the HELD protocol
[I-D.ietf-geopriv-http-location-delivery]. [I-D.ietf-geopriv-http-location-delivery].
The NAPTR records in the following example demonstrate the use of the The NAPTR records in the following example demonstrate the use of the
Application Service and Protocol tags. Iterative NAPTR resolution is Application Service and Protocol tags. Iterative NAPTR resolution is
used to delegate responsibility for the LIS service from used to delegate responsibility for the LIS service from
"zonea.example.com." and "zoneb.example.com." to "zonea.example.com." and "zoneb.example.com." to
"outsource.example.com.". "outsource.example.com.".
zonea.example.com. zonea.example.com.
skipping to change at page 8, line 40 skipping to change at page 7, line 40
) )
zoneb.example.com. zoneb.example.com.
;; order pref flags ;; order pref flags
IN NAPTR 100 10 "" "LIS:HELD" ( ; service IN NAPTR 100 10 "" "LIS:HELD" ( ; service
"" ; regex "" ; regex
outsource.example.com. ; replacement outsource.example.com. ; replacement
) )
outsource.example.com. outsource.example.com.
;; order pref flags ;; order pref flags
IN NAPTR 100 10 "u" "LIS:HELD" ( ; service IN NAPTR 100 10 "u" "LIS:HELD" ( ; service
"!*.!held://lis.outsource.example.com/!" ; regex "!*.!https://lis.outsource.example.com/!" ; regex
. ; replacement . ; replacement
) )
Figure 3: Sample LIS:HELD Service NAPTR Records Figure 3: Sample LIS:HELD Service NAPTR Records
Details for the "LIS" Application Service tag and the "HELD" Details for the "LIS" Application Service tag and the "HELD"
Application Protocol tag are included in Section 9. Application Protocol tag are included in Section 8.
5. Determining the Access Network Domain Name 4. Determining the Access Network Domain Name
The U-NAPTR discovery method described in Section 4 requires that the The U-NAPTR discovery method described in Section 3 requires that the
domain name applicable to the access network is known. An domain name applicable to the access network is known. An
unconfigured host might not have this information, therefore it must unconfigured host might not have this information, therefore it must
determine this value before the U-NAPTR method can be attempted. determine this value before the U-NAPTR method can be attempted.
This section describes several methods for discovering a domain name This section describes several methods for discovering a domain name
for the local access network. Each method is attempted where for the local access network. Each method is attempted where
applicable until a domain name is derived. If a domain name is applicable until a domain name is derived. If a domain name is
successfully derived but that domain name does not produce any successfully derived but that domain name does not produce any
U-NAPTR records, alternative methods can be attempted to determine U-NAPTR records, alternative methods can be attempted to determine
additional domain names. Reattempting with different methods is additional domain names. Reattempting with different methods is
particularly applicable when NAT is used, as is shown in particularly applicable when NAT is used, as is shown in
Section 5.2.1. Section 4.2.1.
5.1. DHCP Domain Name Option 4.1. DHCP Domain Name Option
For IP version 4, Dynamic Host Configuration Protocol (DHCP) option For IP version 4, Dynamic Host Configuration Protocol (DHCP) option
15 [RFC2131] includes the domain name suffix for the host. If DHCP 15 [RFC2131] includes the domain name suffix for the host. If DHCP
and option 15 are available, this value should be used as input the and option 15 are available, this value should be used as input the
U-NAPTR procedure. U-NAPTR procedure.
Alternatively, a fully qualified domain name (FQDN) for the host Alternatively, a fully qualified domain name (FQDN) for the host
might be provided by the server ([RFC4702] for DHCPv4, [RFC4704] for might be provided by the server ([RFC4702] for DHCPv4, [RFC4704] for
DHCPv6). The domain part of the FQDN can be used as input to the DHCPv6). The domain part of the FQDN can be used as input to the
U-NAPTR resolution and is obtained by removing the first label. If U-NAPTR resolution and is obtained by removing the first label. If
the host has provided a fully qualified domain name using this the host has provided a fully qualified domain name using this
option, it SHOULD NOT be used - the domain known to the host might option, it SHOULD NOT be used - the domain known to the host might
not be the same as that of the access network. not be the same as that of the access network.
Note that this method is only attempted if the LIS address option is Note that these options should only be used if the LIS address option
not available, but it SHOULD be attempted if DHCP is available. is not available; they SHOULD be used if DHCP is available.
5.2. Reverse DNS 4.2. Reverse DNS
DNS "PTR" records in the "in-addr.arpa." domain can be used to DNS "PTR" records in the "in-addr.arpa." domain can be used to
determine the domain name of a host, and therefore, the name of the determine the domain name of a host, and therefore, the name of the
domain for that host. The use of the "in-addr.arpa." domain is domain for that host. The use of the "in-addr.arpa." domain is
described in [RFC1034] and results in the domain name of the host. described in [RFC1034] and results in the domain name of the host.
Likewise, IPv6 hosts use the "ip6.arpa." domain. In the majority of Likewise, IPv6 hosts use the "ip6.arpa." domain. In the majority of
cases, the domain part of this name (everything excluding the first cases, the domain part of this name (everything excluding the first
label) is also the domain name for the access network. Assuming that label) is also the domain name for the access network. Assuming that
this is true, this domain name can be used as input to the U-NAPTR this is true, this domain name can be used as input to the U-NAPTR
process. process.
skipping to change at page 10, line 24 skipping to change at page 9, line 24
domain name that is different from the domain name of the access domain name that is different from the domain name of the access
network. This might occur in some hosting configurations, such as network. This might occur in some hosting configurations, such as
where a number of web server hosts, with widely varying domain names, where a number of web server hosts, with widely varying domain names,
are co-located. From the above example, the access network provider are co-located. From the above example, the access network provider
allocated "10.1.2.3" to the host; therefore, they also need to allocated "10.1.2.3" to the host; therefore, they also need to
control the DNS domain "example.com" and the associated NAPTR control the DNS domain "example.com" and the associated NAPTR
records. DNS Security Extensions (DNSSEC) [RFC4033] provides a records. DNS Security Extensions (DNSSEC) [RFC4033] provides a
cryptographic means of validating this association, through data cryptographic means of validating this association, through data
origin authentication. origin authentication.
5.2.1. Determining an External IP Address 4.2.1. Determining an External IP Address using STUN
Reverse DNS relies on knowing the IP address of a host within the Reverse DNS relies on knowing the IP address of a host within the
access domain. Initially, this SHOULD be attempted using the IP access domain. Initially, this SHOULD be attempted using the IP
address that is assigned to a local interface on the host. However, address that is assigned to a local interface on the host. However,
when a NAT device is used, the IP address of the NAT device is when a NAT device exists between the device and the Internet, the
substituted for the source IP address. If a NAT device exists public IP address of the NAT device is substituted for the source IP
between the host and the access network, the host does not have any address. The IP address of the NAT device and the corresponding
direct way to determine the IP address that it is effectively using domain name can be used to discover the LIS.
within the access network. The IP address of the NAT device and the
corresponding domain name can be used to discover the LIS.
In order to use reverse DNS in this configuration, the hosts need to In order to use reverse DNS in this configuration, the hosts need to
know the IP address that the NAT device uses. The following sections know the IP address that the NAT device uses. A host can use the
describe some possible methods. Session Traversal Utilities for NAT (STUN)
[I-D.ietf-behave-rfc3489bis] to determine a public IP address. The
host uses the "Binding Request" message and the resulting
"XOR-MAPPED-ADDRESS" parameter that is returned in the response.
These methods are particularly useful in residential broadband These methods are particularly useful in residential broadband
configurations. A large proportion of residential broadband services configurations. A large proportion of residential broadband services
employ a NAT device so that several hosts can share the same Internet employ a NAT device so that several hosts can share the same Internet
access. Since the network behind the NAT device are generally very access. Since the network behind the NAT device are generally very
small, both in numbers and geographical area, it isn't necessary for small, both in numbers and geographical area, it isn't necessary for
a LIS to operate within that network; the hosts are able to access a a LIS to operate within that network; the hosts are able to access a
LIS in the access network outside of the NAT device. LIS in the access network outside of the NAT device.
5.2.1.1. UPnP The following figure shows a typical home broadband deployment
scenario. In this scenario, the public address of the Router/NAT can
If a NAT device complies with the Universal Plug and Play (UPnP) be used to discover the LIS in the access network.
specification [UPnP-IGD-WANIPConnection1], the WANIPConnection part
can be used to query the device for its public IP address. The
"GetExternalIPAddress" function provides the external address for a
particular network connection.
UPnP defines a method for discovering UPnP-enabled hosts in a
network; the host does not need any prior configuration to employ
this method.
The following figure demonstrates a deployment scenario where this
type of discovery is useful.
+-----+ +-----+
| LIS | | LIS |
+--+--+ +--+--+
/ ________ / ________
+------+ +------------+ / +-----+ (/ \) +------+ +------------+ / (/ \) +------+
| Host |-----| Router/NAT |----+----| NAT |----(( Internet )) | Host |-----| Router/NAT |----+----(( Internet ))----| STUN |
+------+ ^ +------------+ ^ +-----+ (\________/) +------+ ^ +------------+ ^ (\________/) +------+
| | | |
Private (Home) Private Network Home Network Access Network
Network (Access Network) (Private)
If the LIS is discoverable based on the private address range used by
the Access Network, the address provided by the UPnP internet gateway
device (the Router/NAT device) can be used as an input to the
discovery process. This requires that the Access Network Provider
DNS server be used by the host. Reverse DNS (PTR) records need to be
provided for the private address range used in the access network.
5.2.1.2. STUN
A host can use the Session Traversal Utilities for NAT (STUN)
[I-D.ietf-behave-rfc3489bis] to determine a public IP address. The
host uses the "Binding Request" message and the resulting
"XOR-MAPPED-ADDRESS" parameter that is returned in the response.
Using STUN requires cooperation from a publicly accessible STUN Using STUN requires cooperation from a publicly accessible STUN
server. The host also requires configuration information that server. The host also requires configuration information that
identifies the STUN server, or a domain name that can be used for identifies the STUN server, or a domain name that can be used for
STUN server discovery. STUN server discovery. To be selected for this purpose, the STUN
server needs to provide the public reflexive transport address of the
Given that a STUN service is typically operated in conjunction with host; STUN servers that provide private addresses for any reason are
some other service and it is only ever intended for use with that not appropriate for LIS discovery.
service, STUN potentially has further limitations. If the service is
operated behind a NAT, the address provided by the STUN server could
be in the private address range used by the provider of that server.
+-----+
| LIS |
+--+--+ +------+
\ ________ ,--| STUN |
+------+ +-----+ \ (/ \) +-----+ / +------+
| Host |-----| NAT |--+-(( Internet ))---| NAT |----<
+------+ ^ +-----+ (\________/) +-----+ ^ \ +---------+
| | `-| (Other) |
Private Private +---------+
Network Network
STUN servers used for discovery need to be able to see and provide 4.2.2. Alternate Methods for External IP Addresses
the public reflexive transport address of the host.
5.2.1.3. Other Options Alternative methods for determining other IP addresses MAY be used by
the host. Universal Plug and Play (UPnP) [UPnP-IGD-WANIPConnection1]
and NAT Port Mapping Protocol (NAT-PMP) [I-D.cheshire-nat-pmp] are
both able to provide the external address of a routing device.
Proprietary methods for determining other addresses might also be
available. Because there is no assurance that these methods will be
supported by any access network these methods are not mandated.
The source IP address in any IP packet can be used to determine the The source IP address in any IP packet can be used to determine the
public IP address of a host. While the STUN method uses a small part public IP address of a host. While the STUN method uses a small part
of a more sophisticated protocol, this principle can be applied using of a more sophisticated protocol, this principle can be applied using
any other protocol. Like STUN, this method requires prior knowledge any other protocol. Like STUN, this method requires prior knowledge
of the publicly accessible server and the method that it supports. of the publicly accessible server and the method that it supports.
For instance, a publicly accessible host could be configured to For instance, a publicly accessible host could be configured to
respond to a UDP packet on a predefined port; the data of the respond to a UDP packet on a predefined port; the data of the
response could contain the source IP address that was in the request. response could contain the source IP address that was in the request.
Alternatively, a HTTP server at a particular URL could be configured Alternatively, a HTTP server at a particular URL could be configured
to respond to a GET request with a "text/plain" body containing the to respond to a GET request with a "text/plain" body containing the
IP address of the requester. HTTP proxies render this method IP address of the requester. HTTP proxies render this method
unusable; in particular, transparent HTTP proxies might affect the unusable; in particular, transparent HTTP proxies might affect the
results of this method without the knowledge of the host. Such results of this method without the knowledge of the host. Such
services already exist on the public Internet. services already exist on the public Internet.
6. Discovery Order The discovery procedure assumes that the correct LIS is in a network
segment that is closer to the host. Each network segment between the
host and LIS decreases the chance that the LIS is able to correctly
determine a location for the host.
The previous sections described a set of procedures that allow a Discovery methods follow an order of precedence. The exception is
device to determine the LIS associated with the local access network. for alternative methods of determining the hosts IP address in each
Some networks maintain a topology analogous to an onion and are network segment; precedence is given to addresses in the network
comprised of layers, or segments, separating hosts from the Internet segments closer to the host. Therefore, the host attempts to use the
through intermediate networks. It is best therefore for a host to IP address assigned to its local network interface before attempting
discover the LIS logically closest to it, and this can best be done to determine alternative IP addresses. Precedence is given to
by applying the discovery techniques in the following order: methods that provide an IP address in network segments closer to the
host, since these networks are more likely to have knowledge of the
physical network access. Methods for determining addresses on the
public Internet are given lower precedence.
5. Overall Discovery Procedure
To claim compliance with this document, a host MUST support both DHCP
discovery and U-NAPTR discovery. Further, the host MUST support
retrieval of domain name from DHCP and reverse DNS, using a local
interface address and the reflexive transport address provided by
STUN. Additional methods for determining the IP address of the host
in different network segments are optional.
These individual components of discovery are combined into a single
discovery procedure. Some networks maintain a topology analogous to
an onion and are comprised of layers, or segments, separating hosts
from the Internet through intermediate networks. Applying the
individual discovery methods in the following order provides a higher
probability that a host discovers the LIS physically closest to it:
1. DHCP LIS URI Option 1. DHCP LIS URI Option
2. DNS U-NAPTR Discovery, using the domain name from: 2. DNS U-NAPTR Discovery, using the domain name from:
A. DHCP Domain Name Option A. DHCP Domain Name Option
B. Reverse DNS, using the hosts IP address from: B. Reverse DNS, using the IP address from:
1. the local network interface and immediate network segment 1. the local network interface and immediate network segment
2. the network segment adjacent to the immediate segment, as 2. the public reflexive transport address, as revealed by
revealed by UPnP STUN
3. the public Internet, as revealed by STUN; or the network
segment where the STUN server resides
(4.) any network segment, as revealed by other method + any network segment, as revealed by an alternative method
3. Static configuration 3. Static configuration
A host that has multiple network interfaces could potentially be
served by a different access network on each interface, each with a
different LIS. The host SHOULD attempt to discover the LIS
applicable to each network interface, stopping when a LIS is
successfully discovered on any interface.
A host that discovers a LIS URI MUST attempt to verify that the LIS A host that discovers a LIS URI MUST attempt to verify that the LIS
is able to provide location information. For the HELD protocol, the is able to provide location information. For the HELD protocol, the
host MUST make a location request to the LIS. If the LIS responds to host MUST make a location request to the LIS. If the LIS responds to
this request with the "notLocatable" error code (see Section 4.3.2 of this request with the "notLocatable" error code (see Section 4.3.2 of
[I-D.ietf-geopriv-http-location-delivery]), the host MUST mark that [I-D.ietf-geopriv-http-location-delivery]), the host MUST continue
LIS as bad and continue the discovery process. the discovery process and not make further requests to that LIS on
that network interface.
DHCP discovery MUST be attempted before DNS discovery. This allows DHCP discovery MUST be attempted before DNS discovery. This allows
the network access provider a direct and explicit means of the network access provider a direct and explicit means of
configuring a LIS address. DNS discovery is used as a failsafe, configuring a LIS address. DNS discovery is used as a failsafe,
providing a means to discover a LIS where the DHCP infrastructure providing a means to discover a LIS where the DHCP infrastructure
does not support the LIS URI option. does not support the LIS URI option.
Static host configuration MAY be used to provide a LIS address if Static host configuration MAY be used to provide a LIS address if
both DHCP and DNS methods fail. Note however, that if a host has both DHCP and DNS methods fail. Note however, that if a host has
moved from its customary location, static configuration might moved from its customary location, static configuration might
indicate a LIS that is unable to provide a location. User indicate a LIS that is unable to provide a location.
interaction is NOT RECOMMENDED; the discovery process is not easily
diagnosed by a user. If the discovery process fails, user interaction is NOT RECOMMENDED.
The discovery process is not easily diagnosed by a user.
LIS discovery through DNS requires the host to determine the domain LIS discovery through DNS requires the host to determine the domain
name of the local access network. Where DHCP is available, the DHCP name of the local access network. Where DHCP is available, the DHCP
domain name option (Section 5.1) can be used to provide this domain name option (Section 4.1) can be used to provide this
information. If the domain name cannot be determined from DHCP, or information. If the domain name cannot be determined from DHCP, or
the resulting domain name fails to yield a valid LIS address then the resulting domain name fails to yield a valid LIS address then
reverse DNS is used. reverse DNS is used.
The discovery procedure assumes that the correct LIS is in a network 5.1. Virtual Private Networks (VPNs)
segment that is closer to the host. Each network segment between the
host and LIS decreases the chance that the LIS is able to correctly
determine a location for the host.
Discovery methods follow an order of precedence. The exception is
for alternative methods of determining the hosts IP address in each
network segment; precedence is given to addresses in the network
segments closer to the host. Therefore, the host MUST attempt to use
the IP address assigned to its local network interface before
attempting to determine its IP address. Precedence is given to
methods, like UPnP that provide an IP address in adjacent network
segments. Methods for determining addresses on the public Internet
are given lower precedence.
To claim compliance with this document, a host MUST support both DHCP
discovery and U-NAPTR discovery. Further, the host MUST support
retrieval of domain name from DHCP and reverse DNS, using a local
interface address, UPnP and STUN. Additional methods for determining
the IP address of the host in different network segments are
optional.
6.1. Virtual Private Networks (VPNs)
Where a host has multiple network interfaces the host MAY
independently discover the LIS corresponding to the access networks
reached by each network interface. Resolving which LIS to contact
for location information is a host application issue.
LIS discovery over a VPN network interface SHOULD NOT be performed LIS discovery over a VPN network interface SHOULD NOT be performed
since such a LIS does not have the physical presence generally since such a LIS does not have the physical presence generally
necessary to determine location. However, since not all VPN necessary to determine location. However, since not all interfaces
interfaces can be detected by hosts, a LIS SHOULD NOT provide connected to a VPN can be detected by hosts, a LIS SHOULD NOT provide
location information in response to requests originating from a VPN location information in response to requests originating from a VPN
pool. This ensures that even if a host discovers a LIS over the VPN, pool. This ensures that even if a host discovers a LIS over the VPN,
it does not rely on a LIS that is unable to provide accurate location it does not rely on a LIS that is unable to provide accurate location
information. The exception to this is where the LIS and host are information. The exception to this is where the LIS and host are
able to determine a location without access network support. able to determine a location without access network support.
7. Access Network Guidance 6. Access Network Guidance
In order to successfully discover a LIS, a host relies on information In order to successfully discover a LIS, a host relies on information
provided by the access network. DHCP and DNS servers need to be able provided by the access network. DHCP and DNS servers need to be able
to provide the data that the device depends on. This section to provide the data that the device depends on. This section
provides guidance on what information needs to be made available to a provides guidance on what information needs to be made available to a
host for it to successfully discover a LIS. host for it to successfully discover a LIS.
Access networks that provide both a LIS and a DHCP server must Access networks that provide both a LIS and a DHCP server must
provide the DHCP option for the LIS address. Since DHCP must be provide the DHCP option for the LIS address. Since DHCP must be
attempted first, if it can be guaranteed that DHCP can be used by all attempted first, if it can be guaranteed that DHCP can be used by all
skipping to change at page 15, line 33 skipping to change at page 14, line 33
LIS URI from a domain name; and the reverse DNS records that enable LIS URI from a domain name; and the reverse DNS records that enable
the discovery of a domain name based on the IP address of the host. the discovery of a domain name based on the IP address of the host.
Access networks that provide a LIS should also provide reverse DNS Access networks that provide a LIS should also provide reverse DNS
records for all IP addresses they administer. For each domain that records for all IP addresses they administer. For each domain that
is referenced in reverse DNS records, a NAPTR record in that domain is referenced in reverse DNS records, a NAPTR record in that domain
must be provided for the "LIS:HELD" service that can be used to must be provided for the "LIS:HELD" service that can be used to
resolve the address of a LIS. resolve the address of a LIS.
The requirement for PTR and NAPTR records extends to both public and The requirement for PTR and NAPTR records extends to both public and
private addresses used by access networks. A host that uses UPnP to private addresses used by access networks. A host that discovers the
discover the external address of a router must be able to use the external address of a router by proprietary means must be able to use
resulting private address as input to a reverse DNS lookup and the resulting private address as input to a reverse DNS lookup and
U-NAPTR discovery. Similarly, a host that discovers a public U-NAPTR discovery. Similarly, a host that discovers a public
reflexive transport address using STUN should be able to use the reflexive transport address using STUN must be able to use the public
public address. address.
The following figure shows the addresses provided by UPnP (the The following figure shows the addresses that could be revealed by a
private address marked with '{U}') and STUN (the public address first hop method, like UPnP [UPnP-IGD-WANIPConnection1] or NAT-PMP
marked with '{S}'). The access network provider should provide the [I-D.cheshire-nat-pmp] (the private address marked with '{N}') and
necessary DNS records for both of these addresses. STUN (the public address marked with '{S}'). The access network
provider should provide the necessary DNS records for both of these
addresses.
+-----+ +------+ +-----+ +------+
| LIS | | STUN | | LIS | | STUN |
+--+--+ +---+--+ +--+--+ +---+--+
{U} / {S} _____/__ {N} / {S} _____/__
+------+ +------------+ / / +-----+ / (/ \) +------+ +------------+ / / +-----+ / (/ \)
| Host |-----| Router/NAT |----+----| NAT |----(( Internet )) | Host |-----| Router/NAT |----+----| NAT |----(( Internet ))
+------+ ^ +------------+ ^ +-----+ (\________/) +------+ ^ +------------+ ^ +-----+ (\________/)
| | | |
Private (Home) Private Network Home Network Access Network
Network (Access Network) (Private) (Private)
For the LIS to be discoverable using the public address provided by
STUN, the LIS requires a public IP address. An access network
provider cannot assume that hosts are able to reliably route packets
to an addresses in the private address space.
Note: The DHCP domain name option is notably absent from this Note: The DHCP domain name option is notably absent from this
guidance. The domain name option provides a quicker and more guidance. The domain name option provides a quicker and more
reliable means to discover the domain name in the case where a reliable means to discover the domain name in the case where a
DHCP server does not support the LIS URI option. If DHCP is DHCP server does not support the LIS URI option. If DHCP is
available, it is expected that access network providers use the available, it is expected that access network providers use the
LIS URI option. LIS URI option.
8. Security Considerations 7. Security Considerations
The primary attack against the methods described in this document is The primary attack against the methods described in this document is
one that would lead to impersonation of a LIS. The LIS is one that would lead to impersonation of a LIS. The LIS is
responsible for providing location information and this information responsible for providing location information and this information
is critical to a number of network services; furthermore, a host does is critical to a number of network services; furthermore, a host does
not necessarily have a prior relationship with a LIS. Several not necessarily have a prior relationship with a LIS. Several
methods are described here that can limit the probablity of, or methods are described here that can limit the probablity of, or
provide some protection against, such an attack. provide some protection against, such an attack.
The address of a LIS is usually well-known within an access network; The address of a LIS is usually well-known within an access network;
skipping to change at page 18, line 5 skipping to change at page 17, line 5
to ensure that the reverse DNS record and the resulting domain are to ensure that the reverse DNS record and the resulting domain are
provided by the same entity before this method is used. Without this provided by the same entity before this method is used. Without this
assurance, the host cannot be certain that the access network assurance, the host cannot be certain that the access network
provider has provided the NAPTR record for the domain name that is provider has provided the NAPTR record for the domain name that is
provided. provided.
Hosts behind NAT devices are also subject to attacks when retrieving Hosts behind NAT devices are also subject to attacks when retrieving
their public IP address. [I-D.ietf-behave-rfc3489bis] describes some their public IP address. [I-D.ietf-behave-rfc3489bis] describes some
means of mitigating this attack for STUN. means of mitigating this attack for STUN.
9. IANA Considerations 8. IANA Considerations
9.1. Registration of DHCPv4 and DHCPv6 Option Codes 8.1. Registration of DHCPv4 and DHCPv6 Option Codes
The IANA is requested to assign an option code for the DHCPv4 option The IANA is requested to assign an option code for the DHCPv4 option
for a LIS address, as described in Section 3.1 of this document. for a LIS address, as described in Section 2.1 of this document.
The IANA is requested to assign an option code for the DHCPv6 option The IANA is requested to assign an option code for the DHCPv6 option
for a LIS address, as described in Section 3.2 of this document. for a LIS address, as described in Section 2.2 of this document.
9.2. Registration of a Location Server Application Service Tag 8.2. Registration of a Location Server Application Service Tag
This section registers a new S-NAPTR/U-NAPTR Application Service tag This section registers a new S-NAPTR/U-NAPTR Application Service tag
for a LIS, as mandated by [RFC3958]. for a LIS, as mandated by [RFC3958].
Application Service Tag: LIS Application Service Tag: LIS
Intended usage: Identifies a service that provides a host with its Intended usage: Identifies a service that provides a host with its
location information. location information.
Defining publication: RFCXXXX Defining publication: RFCXXXX
Related publications: HELD [I-D.ietf-geopriv-http-location-delivery] Related publications: HELD [I-D.ietf-geopriv-http-location-delivery]
Contact information: The authors of this document Contact information: The authors of this document
Author/Change controller: The IESG Author/Change controller: The IESG
9.3. Registration of a Location Server Application Protocol Tag for 8.3. Registration of a Location Server Application Protocol Tag for
HELD HELD
This section registers a new S-NAPTR/U-NAPTR Application Protocol tag This section registers a new S-NAPTR/U-NAPTR Application Protocol tag
for the HELD [I-D.ietf-geopriv-http-location-delivery] protocol, as for the HELD [I-D.ietf-geopriv-http-location-delivery] protocol, as
mandated by [RFC3958]. mandated by [RFC3958].
Application Service Tag: HELD Application Service Tag: HELD
Intended Usage: Identifies the HELD protocol. Intended Usage: Identifies the HELD protocol.
skipping to change at page 20, line 5 skipping to change at page 19, line 5
Terminal NAPTR Record Type(s): U Terminal NAPTR Record Type(s): U
Defining Publication: RFCXXXX Defining Publication: RFCXXXX
Related Publications: HELD [I-D.ietf-geopriv-http-location-delivery] Related Publications: HELD [I-D.ietf-geopriv-http-location-delivery]
Contact Information: The authors of this document Contact Information: The authors of this document
Author/Change Controller: The IESG Author/Change Controller: The IESG
10. Acknowledgements 9. Acknowledgements
The authors would like to thank Leslie Daigle for her work on The authors would like to thank Leslie Daigle for her work on
U-NAPTR; Peter Koch for his feedback on the DNS aspects of this U-NAPTR; Peter Koch for his feedback on the DNS aspects of this
document; Andy Newton for constructive suggestions with regards to document; Andy Newton for constructive suggestions with regards to
document direction; Hannes Tschofenig and Richard Barnes for input document direction; Hannes Tschofenig and Richard Barnes for input
and reviews; Dean Willis for constructive feedback. and reviews; Dean Willis for constructive feedback.
11. References 10. References
11.1. Normative References 10.1. Normative References
[RFC1034] Mockapetris, P., "Domain names - concepts and facilities", [RFC1034] Mockapetris, P., "Domain names - concepts and facilities",
STD 13, RFC 1034, November 1987. STD 13, RFC 1034, November 1987.
[RFC2131] Droms, R., "Dynamic Host Configuration Protocol", [RFC2131] Droms, R., "Dynamic Host Configuration Protocol",
RFC 2131, March 1997. RFC 2131, March 1997.
[RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C.,
and M. Carney, "Dynamic Host Configuration Protocol for and M. Carney, "Dynamic Host Configuration Protocol for
IPv6 (DHCPv6)", RFC 3315, July 2003. IPv6 (DHCPv6)", RFC 3315, July 2003.
skipping to change at page 21, line 35 skipping to change at page 20, line 35
Domain Name (FQDN) Option", RFC 4702, October 2006. Domain Name (FQDN) Option", RFC 4702, October 2006.
[RFC4704] Volz, B., "The Dynamic Host Configuration Protocol for [RFC4704] Volz, B., "The Dynamic Host Configuration Protocol for
IPv6 (DHCPv6) Client Fully Qualified Domain Name (FQDN) IPv6 (DHCPv6) Client Fully Qualified Domain Name (FQDN)
Option", RFC 4704, October 2006. Option", RFC 4704, October 2006.
[RFC4848] Daigle, L., "Domain-Based Application Service Location [RFC4848] Daigle, L., "Domain-Based Application Service Location
Using URIs and the Dynamic Delegation Discovery Service Using URIs and the Dynamic Delegation Discovery Service
(DDDS)", RFC 4848, April 2007. (DDDS)", RFC 4848, April 2007.
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66,
RFC 3986, January 2005.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008.
[I-D.ietf-behave-rfc3489bis] [I-D.ietf-behave-rfc3489bis]
Rosenberg, J., Mahy, R., Matthews, P., and D. Wing, Rosenberg, J., Mahy, R., Matthews, P., and D. Wing,
"Session Traversal Utilities for (NAT) (STUN)", "Session Traversal Utilities for (NAT) (STUN)",
draft-ietf-behave-rfc3489bis-16 (work in progress), draft-ietf-behave-rfc3489bis-18 (work in progress),
July 2008. July 2008.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
11.2. Informative References 10.2. Informative References
[RFC3025] Dommety, G. and K. Leung, "Mobile IP Vendor/
Organization-Specific Extensions", RFC 3025,
February 2001.
[RFC3118] Droms, R. and W. Arbaugh, "Authentication for DHCP [RFC3118] Droms, R. and W. Arbaugh, "Authentication for DHCP
Messages", RFC 3118, June 2001. Messages", RFC 3118, June 2001.
[RFC3693] Cuellar, J., Morris, J., Mulligan, D., Peterson, J., and [RFC3693] Cuellar, J., Morris, J., Mulligan, D., Peterson, J., and
J. Polk, "Geopriv Requirements", RFC 3693, February 2004. J. Polk, "Geopriv Requirements", RFC 3693, February 2004.
[RFC3958] Daigle, L. and A. Newton, "Domain-Based Application [RFC3958] Daigle, L. and A. Newton, "Domain-Based Application
Service Location Using SRV RRs and the Dynamic Delegation Service Location Using SRV RRs and the Dynamic Delegation
Discovery Service (DDDS)", RFC 3958, January 2005. Discovery Service (DDDS)", RFC 3958, January 2005.
[RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S.
Rose, "DNS Security Introduction and Requirements", Rose, "DNS Security Introduction and Requirements",
RFC 4033, March 2005. RFC 4033, March 2005.
[RFC4367] Rosenberg, J. and IAB, "What's in a Name: False [RFC4367] Rosenberg, J. and IAB, "What's in a Name: False
Assumptions about DNS Names", RFC 4367, February 2006. Assumptions about DNS Names", RFC 4367, February 2006.
[RFC4395] Hansen, T., Hardie, T., and L. Masinter, "Guidelines and
Registration Procedures for New URI Schemes", BCP 115,
RFC 4395, February 2006.
[I-D.ietf-geopriv-l7-lcp-ps] [I-D.ietf-geopriv-l7-lcp-ps]
Tschofenig, H. and H. Schulzrinne, "GEOPRIV Layer 7 Tschofenig, H. and H. Schulzrinne, "GEOPRIV Layer 7
Location Configuration Protocol; Problem Statement and Location Configuration Protocol; Problem Statement and
Requirements", draft-ietf-geopriv-l7-lcp-ps-08 (work in Requirements", draft-ietf-geopriv-l7-lcp-ps-08 (work in
progress), June 2008. progress), June 2008.
[I-D.ietf-geopriv-http-location-delivery] [I-D.ietf-geopriv-http-location-delivery]
Barnes, M., Winterbottom, J., Thomson, M., and B. Stark, Barnes, M., Winterbottom, J., Thomson, M., and B. Stark,
"HTTP Enabled Location Delivery (HELD)", "HTTP Enabled Location Delivery (HELD)",
draft-ietf-geopriv-http-location-delivery-08 (work in draft-ietf-geopriv-http-location-delivery-09 (work in
progress), July 2008. progress), September 2008.
[UPnP-IGD-WANIPConnection1] [UPnP-IGD-WANIPConnection1]
UPnP Forum, "Internet Gateway Device (IGD) Standardized UPnP Forum, "Internet Gateway Device (IGD) Standardized
Device Control Protocol V 1.0: WANIPConnection:1 Service Device Control Protocol V 1.0: WANIPConnection:1 Service
Template Version 1.01 For UPnP Version 1.0", DCP 05-001, Template Version 1.01 For UPnP Version 1.0", DCP 05-001,
Nov 2001. Nov 2001.
[I-D.cheshire-nat-pmp]
Cheshire, S., "NAT Port Mapping Protocol (NAT-PMP)",
draft-cheshire-nat-pmp-03 (work in progress), April 2008.
Appendix A. Residential Broadband LIS Discovery Example Appendix A. Residential Broadband LIS Discovery Example
This example shows how LIS discovery using U-NAPTR and DNS might be This example shows how LIS discovery using U-NAPTR and DNS might be
performed in a residential broadband scenario. The assumed network performed in a residential broadband scenario. The assumed network
topology for this network is shown in Figure 4. topology for this network is shown in Figure 4.
__________ __________ +-----+
+----------------+ ( ) ( ) | DNS |
| NAT | ( ACCESS ) ( ) (DHCP Server) +-----+
| (Home Router) |-------( NETWORK )-------( INTERNET ) \ | ________
| 192.0.2.75 | ( my.isp.net ) ( ) +------+ +--------+ | (/ \)
+----------------+ ( ) ( ) | Host |-----| Router |-------+---+---(( Internet ))
| ---------- ---------- +------+ +--------+ | (\________/)
| : {192.168.0.55} {192.0.2.75} | \
| : +-----+ \
+----------------+ +-----------------+ | LIS | +--------+
| DEVICE | | VOICE SERVICE | . +-----+ . | STUN |
| | | PROVIDER (VSP) | : : | Server |
| 192.168.0.55 | | STUN SERVER | | Access | +--------+
+----------------+ +-----------------+ |<-- Network -->|
(my.isp.net)
Figure 4: Example Network Topology Figure 4: Example Network Topology
In this example, the host sits behind a home router that includes a In this example, the host sits behind a home router that includes a
NAT function. The host is assigned an address from the private NAT function. The host is assigned an address from the private
192.168.x.x address range, in this case 192.168.0.55. The outbound 192.168.x.x address range, in this case 192.168.0.55. The outbound
IP address provided to the home router is public and and belongs to IP address provided to the home router is public and and belongs to
the my.isp.net domain; in this example the home router is assigned the my.isp.net domain; in this example the home router is assigned
192.0.2.75, which is also given the domain name 192-0-2- 192.0.2.75, which is also given the domain name 192-0-2-
75.my.isp.net. 75.my.isp.net.
skipping to change at page 24, line 10 skipping to change at page 23, line 10
server is provided by a Voice Service Provider (VSP) that the owner server is provided by a Voice Service Provider (VSP) that the owner
of the host purchases a voice service from. The address of the STUN of the host purchases a voice service from. The address of the STUN
server is configured on the host. The VSP is a separate entity on server is configured on the host. The VSP is a separate entity on
the public Internet with no relation to the access network provider. the public Internet with no relation to the access network provider.
The sequence diagram below shows each of the failed attempts to The sequence diagram below shows each of the failed attempts to
discover the LIS, followed by the successful discovery using the STUN discover the LIS, followed by the successful discovery using the STUN
server, reverse DNS and the DNS discovery method. server, reverse DNS and the DNS discovery method.
+-------+ +--------+ +-----+ +-----+ +--------+ +-------+ +--------+ +-----+ +-----+ +--------+
| HOST | | HOME | | DNS | | LIS | | STUN | | Host | | Router | | DNS | | LIS | | STUN |
| | | ROUTER | | | | | | SERVER |
+---+---+ +----+---+ +--+--+ +--+--+ +---+----+ +---+---+ +----+---+ +--+--+ +--+--+ +---+----+
| | | | | | | | | |
1 +--- DHCPINFORM -->| | | | 1 +--- DHCPINFORM -->| | | |
| | | | | | | | | |
2 |<---- DHCPACK ----+ | | | 2 |<---- DHCPACK ----+ | | |
| | | | | | | | | |
3 +------- DNS: PTR ------------->| | | 3 +------- DNS: PTR ------------->| | |
| 55.0.168.192.in-addr.arpa. | | | | 55.0.168.192.in-addr.arpa. | | |
| | | | | | | | | |
4 |<------ DNS: no domain --------+ | | 4 |<------ DNS: no domain --------+ | |
| | | | | | | | | |
5 +----- UPnP: ----->| | | | 5 +---------------- STUN: Binding Request --------------->|
| ssdp:discover | | | |
| | | | |
6 | (no response) | | | |
| | | | |
7 +---------------- STUN: Binding Request --------------->|
| | | | | | | | | |
8 |<------- STUN: XOR-MAPPED-ADDRESS = (192.0.2.75) ------+ 6 |<-------- STUN: XOR-MAPPED-ADDRESS (192.0.2.75) -------+
| | | | | | | | | |
9 +------- DNS: PTR ------------->| | | 7 +------- DNS: PTR ------------->| | |
| 75.2.0.192.in-addr.arpa. | | | | 75.2.0.192.in-addr.arpa. | | |
| | | | | | | | | |
10 |<--- 192-0-2-205.my.isp.net ---+ | | 8 |<--- 192-0-2-205.my.isp.net ---+ | |
| | | | | | | | | |
11 +--- DNS: NAPTR my.isp.net ---->| | | 9 +--- DNS: NAPTR my.isp.net ---->| | |
| | | | | | | | | |
12 |<--- https://lis.my.isp.net/ --+ | | 10 |<--- https://lis.my.isp.net/ --+ | |
| | | | | | | | | |
13 +-------- HELD: locationRequest ----------->| | 11 +-------- HELD: locationRequest ----------->| |
| | | | | | | | | |
. . . . . . . . . .
Figure 5: LIS Discovery Sequence Figure 5: LIS Discovery Sequence
1. The host makes a DHCP request for the LIS URI option. To reduce 1. The host makes a DHCP request for the LIS URI option. To reduce
the overall time required in case the LIS URI is unknown, the the overall time required in case the LIS URI option is not
host also requests the domain name option. available, the host also requests the domain name option.
2. The DHCP server (in the home router) responds but does not have 2. The DHCP server (in the home router) responds but cannot provide
either datum. Therefore, the host is unable to use the DHCP either option. Therefore, the host is unable to use the DHCP
method, or use the domain name to perform U-NAPTR discovery. method, or use the domain name to perform U-NAPTR discovery.
3. The host then attempts reverse DNS based on its IP address 3. The host then attempts reverse DNS based on its IP address
(192.168.0.55). The host makes a DNS PTR request for (192.168.0.55). The host makes a DNS PTR request for
"55.0.168.192.in-addr.arpa." "55.0.168.192.in-addr.arpa."
4. The DNS has no knowledge of the private network segment and so
indicates that there is no such domain.
4. The DNS server has no knowledge of the private network segment 5. The host contacts a STUN server, which is configured on the
and so indicates that there is no such domain.
5. The host then must determine its address in a different network
segment. It first attempts to discover this using UPnP. The
host broadcasts a UPnP discovery message, attempting to locate a
UPnP capable device that supports the WANIPConnection profile.
6. There are no UPnP devices on the network and the UPnP discovery
message is unanswered.
7. The host contacts a STUN server, which is configured on the
host. It sends a Binding Request to the STUN server. host. It sends a Binding Request to the STUN server.
8. The STUN server responds to the Binding Request, including the 6. The STUN server responds to the Binding Request, including the
XOR-MAPPED-ADDRESS parameter. The host decodes this parameter, XOR-MAPPED-ADDRESS parameter, which reveals the IP address of
which reveals the IP address of the home router: 192.0.2.75. the home router: "192.0.2.75".
9. The host requests the domain name assigned to 192.0.2.75. It 7. The host requests the domain name assigned to 192.0.2.75. It
makes a DNS PTR request to "75.2.0.192.in-addr.arpa." makes a DNS PTR request to "75.2.0.192.in-addr.arpa."
10. The DNS server indicates that 192.0.2.75 is assigned the name 8. The DNS server indicates that 192.0.2.75 is assigned the name
"192-0-2-75.my.isp.net." "192-0-2-75.my.isp.net."
11. The host removes the host part of the domain name and makes a 9. The host removes the host part of the domain name and makes a
DNS NAPTR request for the domain "my.isp.net." DNS NAPTR request for the domain "my.isp.net."
12. The DNS server provides all NAPTR records for the "my.isp.net." 10. The DNS server provides all NAPTR records for the "my.isp.net."
domain. The host finds the record with a service tag of domain. The host finds the record with a service tag of
"LIS:HELD" and retrieves the URI from the regexp field. The URI "LIS:HELD" and retrieves the URI from the regexp field. The URI
of the LIS is found to be "https://lis.my.isp.net/". of the LIS is found to be "https://lis.my.isp.net/".
13. The host sends a HELD "locationRequest" to the LIS. 11. The host sends a HELD "locationRequest" to the LIS.
Authors' Addresses Authors' Addresses
Martin Thomson Martin Thomson
Andrew Andrew
PO Box U40 PO Box U40
Wollongong University Campus, NSW 2500 Wollongong University Campus, NSW 2500
AU AU
Phone: +61 2 4221 2915 Phone: +61 2 4221 2915
 End of changes. 84 change blocks. 
317 lines changed or deleted 212 lines changed or added

This html diff was produced by rfcdiff 1.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/