One document matched: draft-thomson-geopriv-held-beep-05.txt
Differences from draft-thomson-geopriv-held-beep-04.txt
GEOPRIV M. Thomson
Internet-Draft J. Winterbottom
Intended status: Standards Track Andrew
Expires: January 8, 2010 July 7, 2009
A BEEP Binding for the HELD Protocol
draft-thomson-geopriv-held-beep-05
Status of This Memo
This Internet-Draft is submitted to IETF 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 8, 2010.
Copyright Notice
Copyright (c) 2009 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 in effect on the date of
publication of this document (http://trustee.ietf.org/license-info).
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document.
Abstract
A BEEP binding is described for HELD. This binding is more suitable
than the basic HTTP binding in scenarios where multiple messages are
sent between the same two parties.
Thomson & Winterbottom Expires January 8, 2010 [Page 1]
Internet-Draft HELD over BEEP July 2009
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . 3
2. The HELD BEEP Profile . . . . . . . . . . . . . . . . . . . . . 3
2.1. Channel Initialization . . . . . . . . . . . . . . . . . . 4
2.2. Message Exchange Pattern . . . . . . . . . . . . . . . . . 4
2.3. Error Handling . . . . . . . . . . . . . . . . . . . . . . 4
2.4. Asynchronous Message Exchange . . . . . . . . . . . . . . . 5
3. Location Dereference and the BEEP Binding . . . . . . . . . . . 5
4. Security Considerations . . . . . . . . . . . . . . . . . . . . 5
4.1. LIS Discovery and Authentication . . . . . . . . . . . . . 6
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7
5.1. BEEP Profile Registration . . . . . . . . . . . . . . . . . 7
5.2. URN sun-namespace registration for
'urn:ietf:params:xml:ns:geopriv:held:beep' . . . . . . . . 7
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.1. Normative References . . . . . . . . . . . . . . . . . . . 8
7.2. Informative References . . . . . . . . . . . . . . . . . . 9
Thomson & Winterbottom Expires January 8, 2010 [Page 2]
Internet-Draft HELD over BEEP July 2009
1. Introduction
The HTTP binding for HELD [I-D.ietf-geopriv-http-location-delivery]
provides a basis for the protocol, which does not encumber
implementations with a complex protocol stack. However, some
applications require that a requester make multiple requests in
parallel to a Location Information Server (LIS). Where a requester
is able to retrieve location information for large numbers of
Targets, a more efficient protocol is useful. In these
circumstances, relying on HTTP is suboptimal.
The HTTP binding is not suitable in volume scenarios because HTTP
suffers from head-of-queue blocking. This prevents multiple requests
from being processed in parallel. In order to achieve higher
throughput, the requester must establish multiple TCP connections in
parallel. This causes HTTP to be unsuitable for applications where
multiple parallel requests are expected by increasing the overheads.
BEEP [RFC3080] provides a framing scheme that allows for parallel
requests. BEEP uses MIME [RFC2045] for its messages, which means
that no significant modifications are required to carry HELD
messages. This document describes a BEEP profile for HELD.
1.1. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
This document covers the use of HELD as a location configuration
protocol and a location dereference protocol (see
[I-D.ietf-geopriv-lbyr-requirements]). For simplicity, the term
Location Information Server (LIS) is used to refer to the server role
for both protocols. LIS in place of Location Server (LS), which is
the more correct term for the location dereference protocol.
2. The HELD BEEP Profile
The BEEP profile for HELD is identified using the URN:
urn:ietf:params:xml:ns:geopriv:held:beep
This identifier is used in the BEEP "profile" element during channel
creation.
The HELD channel is a simple continuous channel that does not require
any state information. Requests and their respective responses are
always in the request-response form ("MSG"/"RPY").
Thomson & Winterbottom Expires January 8, 2010 [Page 3]
Internet-Draft HELD over BEEP July 2009
2.1. Channel Initialization
The HELD profile is started with a single "profile" request. No
additional parameters are required. When initiating a channel the
"profile" element is empty, as shown in the example below.
<start number="1">
<profile uri="urn:ietf:params:xml:ns:geopriv:held:beep"/>
</start>
Similarly, the response to channel initialization is empty.
<profile uri="urn:ietf:params:xml:ns:geopriv:held:beep"/>
2.2. Message Exchange Pattern
The BEEP binding for HELD requires only the "MSG"/"RPY" message
exchange. Each "MSG" frame contains a HELD request; for example a
"locationRequest". Each "RPY" frame includes a response; for
example, a "locationResponse".
The following exchange demonstrates how a simple HELD location
request and response are encapsulated. The "C:" and "S:" prefixes on
lines are used following the convention in [RFC3080].
C: MSG 1 7 . 544 125
C: Content-Type: application/held+xml
C:
C: <?xml version="1.0"?>
C: <locationRequest xmlns="urn:ietf:params:xml:ns:geopriv:held"/>
C: END
S: RPY 1 7 . 1902 695
S: Content-Type: application/held+xml
S:
S: <?xml version="1.0"?>
S: <locationResponse xmlns="urn:ietf:params:xml:ns:geopriv:held">
S: <!-- PIDF-LO contents not shown -->
S: </locationResponse>
S: END
2.3. Error Handling
Consistent with the HTTP binding, the BEEP binding for HELD does not
use the "ERR" message to indicate errors at the HELD protocol level.
Errors in handling HELD Requests are indicated to the requester in a
"RPY" message.
Errors in the BEEP message that are unrelated to the HELD protocol,
Thomson & Winterbottom Expires January 8, 2010 [Page 4]
Internet-Draft HELD over BEEP July 2009
such as MIME formatting problems, are indicated using the BEEP "ERR"
message. This "ERR" message MAY either be empty or it could include
textual feedback.
2.4. Asynchronous Message Exchange
A HELD request can take varying amounts of time to process. The
"responseTime" attribute in HELD is used to indicate an upper bound
on this time. BEEP channels are serial in nature and BEEP mandates
that the serving peer process requests in order. With these
constraints, in order to achieve any substantial throughput, multiple
BEEP channels would be necessary. This approach does not scale well
for larger numbers of requests as response times increase.
It is RECOMMENDED that for HELD on BEEP that both peers use
asynchronous BEEP channels [RFC5573]. Asynchronous BEEP enables the
use of a single channel for multiple requests without constraints on
how requests are processed or on the order of responses.
Asynchronous BEEP greatly increases the potential throughput of a
channel, particularly for profiles like HELD that could have widely
varying response times. Without asynchronous BEEP, multiple channels
MAY be used to increase throughput.
3. Location Dereference and the BEEP Binding
The HELD BEEP binding can be used for dereferencing of location URIs
([I-D.ietf-geopriv-lbyr-requirements],
[I-D.winterbottom-geopriv-deref-protocol]). A location URI is
indicated in a "Request-URI" MIME header of the BEEP "MSG" frame.
The "Request-URI" header includes an absolute path and optional query
components. The folloring using ABNF [RFC5234] shows the format of
the "Request-URI" header:
Request-URI-Header = "Request-URI" ":" ( absolute-URI / "*" )
; absolute-URI from RFC 3986
The "Request-URI" header includes an absolute URI [RFC3986]. The
absolute URI indicates location URI that is being dereferenced, or
the string "*". A value of "*" indicates that the request is a
location configuration protocol request (i.e. no location URI is
being dereferenced). The header MAY be omitted for a location
configuration protocol request, and a value of "*" is inferred.
4. Security Considerations
TLS [RFC5246] MUST be used for HELD over BEEP unless confidentiality,
message integrity and authentication are assured through other means
Thomson & Winterbottom Expires January 8, 2010 [Page 5]
Internet-Draft HELD over BEEP July 2009
(e.g. dedicated media). Section 4.1 includes guidelines on
authentication requirements.
4.1. LIS Discovery and Authentication
This profile is most suited to situations where a client and LIS
exchange a large number of requests over a prolonged period. It is
anticipated that the client and LIS are known to each other.
Based on this assumption, it is reasonable for the LIS and its
clients to have pre-existing configuration that is used instead of a
discovery process. In addition, authentication details and methods
can be pre-configured on both nodes. Therefore, no protocol
mechanisms are specified for arranging discovery and authentication
for this profile.
Regardless of the method used to determine the address of the LIS, a
client MUST authenticate the LIS. This prevents any LIS spoofing
attacks that could be used to provide falsified information or to
acquire information about the client (and in turn, their clients).
Authentication for the case where HELD is used as a location
configuration protocol is covered in
[I-D.ietf-geopriv-lis-discovery].
If this profile is used for dereferencing location URIs, the
authenticated LIS identity MUST be used to determine whether the LIS
is authorized to serve particular location URIs. The client
authenticates the LIS for each location URI. Depending on the URI
scheme, the LIS identity is validated against the URI. If a LIS
cannot be identified as authoritative for a particular URI, clients
MUST NOT request information from that LIS for that URI.
For location URIs that include a host name, such as "https:" or
"pres:" URIs, the guidelines in Section 3.1 of [RFC2818] can be
applied to determine if LIS identity matches the URI.
It might also be necessary for the LIS to authenticate clients. Some
authorization decision is likely to be necessary in order for a
client to initiate a large volume of requests, which could represent
significant load on a LIS.
This document does not mandate any specific authentication method;
however, since TLS is required, the mandatory authentication methods
for TLS are assumed to be present. Alternative authentication
methods can be negotiated between the LIS and its clients.
Thomson & Winterbottom Expires January 8, 2010 [Page 6]
Internet-Draft HELD over BEEP July 2009
5. IANA Considerations
5.1. BEEP Profile Registration
This section outlines the HELD BEEP binding in the form described in
[RFC3080].
Profile Identification: urn:ietf:params:xml:ns:geopriv:held:beep
Messages exchanged during Channel Creation: none
Messages starting one-to-one exchanges: HELD request messages from
[I-D.ietf-geopriv-http-location-delivery] and extension documents.
Messages in positive replies: HELD request messages from
[I-D.ietf-geopriv-http-location-delivery] and extension documents.
Messages in negative replies: The HELD "error" message
Messages in one-to-many exchanges: none
Message Syntax: c.f., HELD [I-D.ietf-geopriv-http-location-delivery]
Message Semantics: c.f., HELD
[I-D.ietf-geopriv-http-location-delivery]
Contact Information: c.f., the "Author's Address" section of this
document
5.2. URN sun-namespace registration for
'urn:ietf:params:xml:ns:geopriv:held:beep'
This section registers a new XML namespace,
"urn:ietf:params:xml:ns:geopriv:held:beep", as per the guidelines in
[RFC3688].
URI: urn:ietf:params:xml:ns:geopriv:held:beep
Registrant Contact: IETF, GEOPRIV working group,
(geopriv@ietf.org), Martin Thomson (martin.thomson@andrew.com).
XML:
Thomson & Winterbottom Expires January 8, 2010 [Page 7]
Internet-Draft HELD over BEEP July 2009
BEGIN
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>HELD BEEP Binding</title>
</head>
<body>
<h1>Namespace for HELD BEEP Binding Profile</h1>
<h2>urn:ietf:params:xml:ns:geopriv:held:beep</h2>
[[NOTE TO IANA/RFC-EDITOR: Please update RFC URL and replace XXXX
with the RFC number for this specification.]]
<p>See <a href="[[RFC URL]]">RFCXXXX</a>.</p>
</body>
</html>
END
6. Acknowledgements
Thanks to Francis Brosnan Blazquez for sharing his BEEP expertise in
reviewing this document.
7. References
7.1. Normative References
[RFC2045] Freed, N. and N.
Borenstein, "Multipurpose
Internet Mail Extensions
(MIME) Part One: Format of
Internet Message Bodies",
RFC 2045, November 1996.
[RFC2818] Rescorla, E., "HTTP Over
TLS", RFC 2818, May 2000.
[RFC3080] Rose, M., "The Blocks
Extensible Exchange
Protocol Core", RFC 3080,
March 2001.
[RFC3986] Berners-Lee, T., Fielding,
R., and L. Masinter,
"Uniform Resource
Identifier (URI): Generic
Syntax", STD 66, RFC 3986,
January 2005.
Thomson & Winterbottom Expires January 8, 2010 [Page 8]
Internet-Draft HELD over BEEP July 2009
[RFC5234] Crocker, D. and P.
Overell, "Augmented BNF
for Syntax Specifications:
ABNF", STD 68, RFC 5234,
January 2008.
[RFC5246] Dierks, T. and E.
Rescorla, "The Transport
Layer Security (TLS)
Protocol Version 1.2",
RFC 5246, August 2008.
[RFC5573] Thomson, M., "Asynchronous
Channels for the Blocks
Extensible Exchange
Protocol (BEEP)",
RFC 5573, June 2009.
[I-D.ietf-geopriv-http-location-delivery] Barnes, M., Winterbottom,
J., Thomson, M., and B.
Stark, "HTTP Enabled
Location Delivery (HELD)",
draft-ietf-geopriv-http-
location-delivery-15 (work
in progress), June 2009.
[I-D.ietf-geopriv-lis-discovery] Thomson, M. and J.
Winterbottom, "Discovering
the Local Location
Information Server (LIS)",
draft-ietf-geopriv-lis-
discovery-11 (work in
progress), May 2009.
[RFC2119] Bradner, S., "Key words
for use in RFCs to
Indicate Requirement
Levels", BCP 14, RFC 2119,
March 1997.
7.2. Informative References
[RFC3688] Mealling, M., "The IETF
XML Registry", BCP 81,
RFC 3688, January 2004.
[I-D.winterbottom-geopriv-deref-protocol] Winterbottom, J.,
Tschofenig, H.,
Thomson & Winterbottom Expires January 8, 2010 [Page 9]
Internet-Draft HELD over BEEP July 2009
Schulzrinne, H., Thomson,
M., and M. Dawson, "An
HTTPS Location
Dereferencing Protocol
Using HELD", draft-
winterbottom-geopriv-
deref-protocol-03 (work in
progress), February 2009.
[I-D.ietf-geopriv-lbyr-requirements] Marshall, R.,
"Requirements for a
Location-by-Reference
Mechanism", draft-ietf-
geopriv-lbyr-requirements-
07 (work in progress),
February 2009.
Authors' Addresses
Martin Thomson
Andrew
PO Box U40
Wollongong University Campus, NSW 2500
AU
Phone: +61 2 4221 2915
EMail: martin.thomson@andrew.com
URI: http://www.andrew.com/
James Winterbottom
Andrew
PO Box U40
Wollongong University Campus, NSW 2500
AU
Phone: +61 2 4221 2938
EMail: james.winterbottom@andrew.com
URI: http://www.andrew.com/
Thomson & Winterbottom Expires January 8, 2010 [Page 10]
| PAFTECH AB 2003-2026 | 2026-04-24 03:03:58 |