One document matched: draft-thomson-geopriv-held-beep-02.txt
Differences from draft-thomson-geopriv-held-beep-01.txt
GEOPRIV M. Thomson
Internet-Draft J. Winterbottom
Intended status: Standards Track Andrew
Expires: January 4, 2009 July 3, 2008
A BEEP Binding for the HELD Protocol
draft-thomson-geopriv-held-beep-02
Status of This Memo
By submitting this Internet-Draft, each author represents that any
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
aware will be disclosed, in accordance with Section 6 of 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 4, 2009.
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 4, 2009 [Page 1]
Internet-Draft HELD over BEEP July 2008
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 . . . . . . . . . . . . . . . . . . . . . . 5
2.4. Asynchronous Message Exchange . . . . . . . . . . . . . . 5
3. The "held+beep:" URI . . . . . . . . . . . . . . . . . . . . . 5
3.1. Location By-Reference and the BEEP Binding . . . . . . . . 6
4. LIS Discovery and Authentication for BEEP . . . . . . . . . . 6
5. Security Considerations . . . . . . . . . . . . . . . . . . . 7
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
6.1. BEEP Profile Registration . . . . . . . . . . . . . . . . 7
6.2. URN sun-namespace registration for
'urn:ietf:params:xml:ns:geopriv:held:beep' . . . . . . . . 7
6.3. Registration of the "held+beep:" URI Scheme . . . . . . . 8
6.4. Registration of a LIS Application Protocol Tag for
HELD over BEEP . . . . . . . . . . . . . . . . . . . . . . 9
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9
7.1. Normative References . . . . . . . . . . . . . . . . . . . 9
7.2. Informative References . . . . . . . . . . . . . . . . . . 11
Thomson & Winterbottom Expires January 4, 2009 [Page 2]
Internet-Draft HELD over BEEP July 2008
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).
[I-D.winterbottom-geopriv-lis2lis-req] and
[I-D.winterbottom-geopriv-held-lis2lis-bcp] describe use cases and an
application of HELD where 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].
2. The HELD BEEP Profile
The BEEP profile for HELD is identified as:
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 4, 2009 [Page 3]
Internet-Draft HELD over BEEP July 2008
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 MUST be empty, as shown in the example below.
<start number="1" serverName="lis.example.com">
<profile uri="urn:ietf:params:xml:ns:geopriv:held:beep"/>
</start>
The "serverName" attribute on the "start" message serves the same
purpose as the HTTP [RFC2616] "Host" header in informing the server
of the name it is known by.
Similarly, the response to channel initialization MUST be 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 request, which may be either a
"locationRequest", "createContext" or "updateContext". Each "RPY"
frame includes a response, either a PIDF-LO (i.e. "presence"), or a
"contextResponse".
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
Thomson & Winterbottom Expires January 4, 2009 [Page 4]
Internet-Draft HELD over BEEP July 2008
2.3. Error Handling
The HELD BEEP binding does not use the BEEP "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,
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 acheive any substantial throughput, multiple
BEEP channels would be necessary. This approach does not scale well
as response times increase.
It is RECOMMENDED that for HELD on BEEP that both peers use
asynchronous BEEP [I-D.thomson-beep-async]. 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. The "held+beep:" URI
A new URI form is defined to describe a BEEP binding instance. The
"held+beep:" URI includes server, port and an identifier that can be
used to construct a location reference. The "held+beep:" URI is
constructed as shown in Figure 1 using ABNF [RFC4234] and the
definitions for URI components from [RFC3986].
; all undefined items are specified in RFC 3986
HB-URI = "held+beep" ":" hier-part [ "?" query ]
hier-part = "//" authority path-abempty / path-absolute
/ path-rootless / path-empty
authority = host ":" port
Figure 1: The "held+beep:" URI
There is no well-known port for this binding; therefore, the port
component of the URI MUST be included.
Thomson & Winterbottom Expires January 4, 2009 [Page 5]
Internet-Draft HELD over BEEP July 2008
3.1. Location By-Reference and the BEEP Binding
The "path" and "query" components of the "held+beep:" URI are used in
a similar fashion to the analagous components in HTTP/1.1 [RFC2616].
These components can be conveyed for each request by including them
in the MIME headers for each request.
The "Request-URI" header includes an absolute path and optional query
components. The header is shown in Figure 2, using ABNF [RFC4234].
Request-URI-Header = "Request-URI" ":" Request-URI
; Request-URI from RFC 2616
Figure 2: The Request-URI Header
This header is modelled on the "Request-URI" field in HTTP/1.1
[RFC2616] and it follows the same rules. See Section 5.1.2 of
[RFC2616] for details on how to use this header. A value of "*"
implies that no location URI is being used, this value should be
assumed when the header is omitted. A value of "*" is assumed if a
"held+beep:" URI does not contain path or query elements.
4. LIS Discovery and Authentication for BEEP
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 makes discovery
unnecessary. In addition, authentication details and methods can be
pre-configured on both nodes. This section outlines how discovery
can be performed for a LIS that supports the BEEP binding.
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 acquire information about the client
(and in turn, their clients).
For persistent connections, it is RECOMMENDED that the LIS also
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 MUST be implemented, the mandatory methods in
[RFC4346] are assumed to be present. Alternative authentication
methods can be negotiated between the LIS and its clients.
Thomson & Winterbottom Expires January 4, 2009 [Page 6]
Internet-Draft HELD over BEEP July 2008
5. Security Considerations
TLS [RFC4346] SHOULD be used for HELD over BEEP unless
confidentiality, message integrity and authentication are assured
through other means (e.g. dedicated media). It is RECOMMENDED that
BEEP peers establish a TLS connection immediately, rather than
relying on the TLS tuning profile in BEEP.
6. IANA Considerations
6.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
6.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).
Thomson & Winterbottom Expires January 4, 2009 [Page 7]
Internet-Draft HELD over BEEP July 2008
XML:
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.3. Registration of the "held+beep:" URI Scheme
This section registers the "held+beep:" URI scheme with the IANA,
following the guidelines in [RFC4395].
URI scheme name: held+beep
Status: permanent
URI scheme syntax: See Figure 1 in Section 3.
URI scheme semantics: A held+beep URI defines a means of accessing a
LIS, or it can be used to convey a location URI, see Section 3.
Encoding considerations: A held+beep URI is not designed to include
internationalized text, it is created and consumed by automated
processes only. Internationalized domain names [RFC3490] can be
included in the authority part of the URI, but path components are
not intended for user entry.
Applications/protocols that use this URI scheme name: The held+beep
URI is used by Location Information Servers (LIS) as a means of
describing a service, or as a location reference.
Interoperability considerations: No specific considerations.
Thomson & Winterbottom Expires January 4, 2009 [Page 8]
Internet-Draft HELD over BEEP July 2008
Security considerations: No specific considerations.
Contact: IETF, GEOPRIV working group, (geopriv@ietf.org), Martin
Thomson (martin.thomson@andrew.com).
References: RFCXXXX (this document), RFCXXXX (HELD)
6.4. Registration of a LIS Application Protocol Tag for HELD over BEEP
This section registers a new S-NAPTR Application Protocol tag for the
BEEP binding of the HELD [I-D.ietf-geopriv-http-location-delivery]
protocol, as mandated by [RFC3958].
Application Service Tag: HELD+BEEP
Intended Usage: Identifies the HELD protocol over BEEP
Applicable Service Tag(s): LIS
Terminal NAPTR Record Type(s): S
Defining Publication: RFCXXXX
Related Publications: HELD [I-D.ietf-geopriv-http-location-delivery]
Contact Information: The authors of this document
Author/Change Controller: The IESG
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.
[RFC3080] Rose, M., "The Blocks
Extensible Exchange
Protocol Core",
RFC 3080, March 2001.
[RFC3958] Daigle, L. and A.
Thomson & Winterbottom Expires January 4, 2009 [Page 9]
Internet-Draft HELD over BEEP July 2008
Newton, "Domain-Based
Application Service
Location Using SRV RRs
and the Dynamic
Delegation Discovery
Service (DDDS)",
RFC 3958, January 2005.
[RFC4346] Dierks, T. and E.
Rescorla, "The Transport
Layer Security (TLS)
Protocol Version 1.1",
RFC 4346, April 2006.
[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-07 (work in
progress), April 2008.
[RFC4234] Crocker, D., Ed. and P.
Overell, "Augmented BNF
for Syntax
Specifications: ABNF",
RFC 4234, October 2005.
[RFC3986] Berners-Lee, T.,
Fielding, R., and L.
Masinter, "Uniform
Resource Identifier
(URI): Generic Syntax",
STD 66, RFC 3986,
January 2005.
[RFC2616] Fielding, R., Gettys,
J., Mogul, J., Frystyk,
H., Masinter, L., Leach,
P., and T. Berners-Lee,
"Hypertext Transfer
Protocol -- HTTP/1.1",
RFC 2616, June 1999.
[RFC2119] Bradner, S., "Key words
for use in RFCs to
Thomson & Winterbottom Expires January 4, 2009 [Page 10]
Internet-Draft HELD over BEEP July 2008
Indicate Requirement
Levels", BCP 14,
RFC 2119, March 1997.
7.2. Informative References
[RFC3490] Faltstrom, P., Hoffman,
P., and A. Costello,
"Internationalizing
Domain Names in
Applications (IDNA)",
RFC 3490, March 2003.
[RFC3688] Mealling, M., "The IETF
XML Registry", BCP 81,
RFC 3688, January 2004.
[RFC4395] Hansen, T., Hardie, T.,
and L. Masinter,
"Guidelines and
Registration Procedures
for New URI Schemes",
BCP 115, RFC 4395,
February 2006.
[I-D.thomson-beep-async] Thomson, M.,
"Asynchronous Channels
for the Blocks
Extensible Exchange
Protocol (BEEP)", draft-
thomson-beep-async-00
(work in progress),
May 2008.
[I-D.winterbottom-geopriv-lis2lis-req] Winterbottom, J. and S.
Norreys, "LIS to LIS
Protocol Requirements",
draft-winterbottom-
geopriv-lis2lis-req-01
(work in progress),
November 2007.
[I-D.winterbottom-geopriv-held-lis2lis-bcp] Winterbottom, J. and M.
Thomson, "Using HELD for
Inter-LIS
Communication", draft-
winterbottom-geopriv-
held-lis2lis-bcp-00
Thomson & Winterbottom Expires January 4, 2009 [Page 11]
Internet-Draft HELD over BEEP July 2008
(work in progress),
November 2007.
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 4, 2009 [Page 12]
Internet-Draft HELD over BEEP July 2008
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Thomson & Winterbottom Expires January 4, 2009 [Page 13]
| PAFTECH AB 2003-2026 | 2026-04-24 03:04:02 |