<?xml version="1.0"?>
<?xml-stylesheet type='text/xsl'
	href='http://xml.resource.org/authoring/rfc2629.xslt' ?>

<?rfc strict='yes' ?>
<?rfc toc='yes' ?>
<?rfc symrefs='yes' ?>
<?rfc editing='no' ?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd">

<rfc ipr="full2026" docName="draft-ietf-opes-iab-01">

<front>
	<title>OPES Treatment of IAB Considerations</title>

	<?rfc include='author.barbir.xml' ?>
	<?rfc include='author.rousskov.xml' ?>

	<date day="27" month="August" year="2003" />

	<area>Applications</area>
	<workgroup>Open Pluggable Edge Services</workgroup>
	<keyword>Internet-Draft</keyword>
	<keyword>OPES</keyword>
	<keyword>security considerations</keyword>
	<keyword>privacy considerations</keyword>
	<keyword>IAB considerations</keyword>

	<abstract>

		<t>IETF Internet Architecture Board (IAB) expressed nine
		architecture-level considerations when Open Pluggable Edge Services
		(OPES) working group was being chartered at the IETF.  The
		working group was chartered under the condition that IAB
		considerations were addressed by the group. This document describes
		how OPES addresses those considerations.</t>

	</abstract>

</front>

<middle>

<section anchor="intro" title="Introduction">

	<t>The Open Pluggable Edge Services (OPES) architecture <xref
	target="I-D.ietf-opes-architecture" />, enables cooperative application
	services (OPES services) between a data provider, a data consumer, and
	zero or more OPES processors.  The application services under
	consideration analyze and possibly transform application-level messages
	exchanged between the data provider and the data consumer.</t>

	<t>In the process of chartering OPES, the IAB made
	recommendations on issues that OPES solutions should be required to
	address. These recommendations were formulated in the form of specific
	IAB <xref target="RFC3238">considerations</xref>.  IAB emphasized that
	its considerations did not recommend specific solutions and did not
	mandate specific functional requirements. Addressing an IAB
	consideration may involve showing appropriate protocol mechanisms or
	demonstrating that the issue does not apply. Addressing a
	consideration does not necessarily mean supporting technology implied
	by the consideration wording.</t>

	<t>The primary goal of this document is to show that all IAB
	considerations are addressed by OPES, to the extent those
	considerations can be addressed by an IETF working group. Limitations
	of OPES working group ability to address certain aspects of IAB
	considerations are explicitly documented.</t>

	<t>There are nine IAB <xref target="RFC3238">considerations</xref>
	that OPES has to address. In the core of this document are the
	corresponding nine "Consideration" sections. For each IAB
	consideration, its section contains general discussion as well as
	references to specific OPES mechanisms relevant to the
	consideration.</t>

</section>



<section anchor="terminology" title="Terminology">

	<t>This document does not introduce any new terminology but
	uses terminology from other OPES documents it quotes.</t>

</section>

<section anchor="cons-2.1" title="Consideration (2.1) One-party consent">

	<t>"An OPES framework standardized in the IETF must require that the
	use of any OPES service be explicitly authorized by one of the
	application-layer end-hosts (that is, either the content provider or
	the client)."<xref target="RFC3238" /></t>

	<t>OPES architecture requires that "OPES processors MUST be consented
	to by either the data consumer or data provider application" <xref
	target="I-D.ietf-opes-architecture" />. This requirement alone cannot
	prevent consent-less introduction of OPES processors. In
	<xref target="I-D.ietf-opes-end-comm" />, the OPES architecture
	enables concerned parties to detect unwanted OPES processors
	by examining OPES traces. The use of traces in OPES is
	mandatory.</t>

	<t>Tracing mechanism on its own is unable to detect
	processors that are in violation of OPES specifications.
	Examples include OPES processors operating in stealth mode.
	However, the OPES architecture allows the use of content
	signature to verify the authenticity of performed
	adaptations. Content signatures is a strong but expensive
	mechanism that can detect any modifications of signed content
	provided the content provider is willing to sign the data and
	the client is willing to either check the signature or relay
	received content to content provider for signature
	verification.</t>
	
	<t>OPES adaptations may include copying and other forms of non-modifying
	access to content. These kinds of adaptations cannot be detected by
	the above mentioned mechanisms. Thus, "passive" OPES processors can
	operate without consent. If presence of such processors is a concern,
	content encryption can be used. A passive processor is no different
	from a proxy or intermediary operating outside of OPES framework.
	No OPES mechanism can prevent non-modifying access to content.</t>

</section>

<section anchor="cons-2.2" title="Consideration (2.2) IP-layer communications">

	<t>"For an OPES framework standardized in the IETF, the OPES intermediary
	must be explicitly addressed at the IP layer by the end user."<xref
	target="RFC3238" /></t>

	<t>OPES architecture requires that "OPES processors MUST be addressable at
	the IP layer by the end user (data consumer application)" <xref
	target="I-D.ietf-opes-architecture" />. IAB and the architecture draft
	mention an important exception: addressing the first OPES processor in a
	chain of processors is sufficient. That is, a chain of OPES processors is
	viewed as a single OPES "system" at the address of the first chain
	element.</t>

	<t>The notion of a chain is not strictly defined by IAB. For the purpose
	of addressing this consideration, we consider a group of OPES processors
	working on a given application transaction. Such a group would necessarily
	form a single processing chain, with a single "exit" OPES processor (the
	processor that adapted the given message last). OPES architecture
	essentially requires that last OPES processor to be explicitly addressable
	at the IP layer by the end user. Note that chain formation, including its
	exit point may depend on an application message and other dynamic factors
	such as time of day or system load.</t>

	<t>Furthermore, if OPES processing is an internal processing step at data
	consumer or provider side, then the last OPES processor may reside in a
	private address space of the side's network and may not be explicitly
	addressable. In such situations, the processing side must designate an
	addressable point on the same processing chain. That designated point may
	not be, strictly speaking, an OPES processor, but it will suffice as such
	as far as IAB considerations are concerned -- the other side will be able
	to address it explicitly at the IP layer and it will represent the OPES
	processing chain to the outside world.</t>

	<t>Designating an addressable processing point avoids the conflict between
	narrow interpretation of IAB consideration and real system designs:  It is
	irrational to expect a content provider to provide access to internal
	hosts participating in content generation, whether OPES processors are
	involved or not. Moreover, providing such access would serve little
	practical purpose because internal OPES processors are not likely to be
	able to answer any end user queries, being completely out of content
	generation context. For example, an OPES processor adding
	customer-specific information to XML pages may not understand or be aware
	of any final HTML content that the end user receives and may not be able
	to map end user request to any internal user identification. Since OPES
	requires the end of the message processing chain to be addressable, the
	conflict does not exist -- OPES places no requirements on the internal
	architecture of data producer systems while requiring the entire
	OPES-related content production "system" to be addressable at the
	IP layer.</t>

	<figure anchor="opes-chainr">
		<artwork><![CDATA[
Public/Private Domain                              |   Private Domain
                                                   | 
+--------------+                                   |   +------+
| Data         |     *-------*     +----------+    |   | OPES | 
| Consumer     |<-->/ Network \<-->| Public IP|    |   +------+ 
| Application  |    \(Public) /    | Address  |<-->|      .
+--------------+     *-------*     | OPES     |    |      .
                                   +----------+    |      .
                                                   |    +------+
                                                   |    | OPES |
                                                   |    +------+
                                                   |
]]></artwork>
	</figure>
 
	<t>(XXX: should we add a picture showing internal and external OPES
	intermediaries? more pictures showing other OPES layouts? Move to
	architecture draft?)</t>

</section>

<section anchor="cons-notifications" title="Notification Considerations">

	<t>This section discusses how OPES framework addresses IAB Notification
	considerations 3.1 and 3.2.</t>

<section anchor="notif-vs-trace" title="Notification versus trace">

    <t>Before specific considerations are discussed, the relationship between
	IAB notifications and OPES tracing has to be explained. OPES framework
	concentrates on tracing rather than notification. The tracing
	specification <xref target="I-D.ietf-opes-end-comm" /> defines "OPES
	trace" as "application message information about OPES entities that
	adapted that message" and "OPES tracing" as "the process of including,
	manipulating, and interpreting an OPES trace" (XXX: keep these in sync).
	Thus, OPES trace follows the application message it traces. The trace is
	for the recipient of the application message. Traces are implemented as
	extensions of application protocols being adapted and traced.</t>

	<t>As opposed to an OPES trace, provider notification (as implied by IAB)
	notifies the sender of the application message rather than the recipient.
	Thus, notifications propagate in the opposite direction of traces.
	Supporting notifications directly would require a new protocol. Figure XXX
	illustrates the differences between a trace and notification from a single
	application message point of view.</t>


	<figure anchor="figure_noification_dir">
		<artwork><![CDATA[
sender --[message A]---> OPES --[message A' + trace]--> recipient
   ^                       V                               
   |                       |                               
   +-<-- [notification] ---+]]></artwork>
	</figure>


	<t>Since notifications cannot be piggy-backed to application messages,
	they create new messages and may at least double the number of messages
	the sender has to process (more if several intermediaries on the message
	path emit notifications). Moreover, associating notifications with
	application messages may require duplicating application message
	information in notifications and/or maintaining a sender state until
	notification is received, increasing performance overhead of
	notifications. These concerns call for optional notification, with a
	special protocol to enable notifications when needed.</t>
	
	<t>The level of available details in notifications versus provider
	interest in supporting notification is another concern.  Experience shows
	that content providers often require very detailed information about user
	actions to be interested in notifications at all. For example, Hit
	Metering protocol [XXX] has been designed to supply content providers with
	proxy cache hit counts, in an effort to reduce cache busting behavior
	which was caused by content providers desire to get accurate site "access
	counts". However, the Hit Metering protocol is currently not widely
	deployed because the protocol does not supply content providers with
	information such as client IP addresses, browser versions, or cookies.</t>

	<t>Hit Metering experience is relevant because Hit Metering protocol was
	designed to do for HTTP caching intermediaries what OPES notifications are
	meant to do for OPES intermediaries. Performance requirements call for
	state reduction via aggregation of notifications while provider
	preferences call for state preservation or duplication. Achieving the
	right balance when two sides belong to different organizations and have
	different optimization priorities may be impossible.</t>

	<t>Thus, instead of explicitly supporting notifications on a protocol
	level, OPES concentrates on tracing facilities and supports notifications
	indirectly, using those tracing facilities. In other words, the IAB choice
	of "Notification" label is interpreted as "Notification assistance" (i.e.
	making notifications meaningful) and is not interpreted as a "Notification
	protocol".</t>

</section>

<section anchor="trace-example" title="An example of an OPES trace for HTTP">

	<t>The example below illustrates adaptations done to HTTP request at an
	OPES intermediary operated by the client ISP. Both original (as sent by an
	end user) and adapted (as received by the origin web server) requests are
	shown. The primary adaptation is the modification of HTTP "Accept" header.
	The secondary adaptation is the addition of an "OPES-Via" HTTP extension
	header.</t>

	<figure anchor="figure_http_trace_req_orig">
		<artwork><![CDATA[
GET /pub/WWW/ HTTP/1.1
Host: www.w3.org
Accept: text/plain
]]></artwork>
	</figure>

  <t>... may be adapted by an ISP OPES system to become:</t>

	<figure anchor="figure_http_trace_req_adapt">
		<artwork><![CDATA[
GET /pub/WWW/ HTTP/1.1
Host: www.w3.org
Accept: text/plain; q=0.5, text/html, text/x-dvi; q=0.8
OPES-Via: http://www.isp-example.com/opes/?client-hash=1234567
]]></artwork>
	</figure>

	<t>The example below illustrates adaptations done to HTTP response at an
	OPES intermediary operated by a Content Distribution Network (CDN). Both
	original (as sent by the origin web server) and adapted (as received by
	the end user) responses are shown. The primary adaptation is the
	conversion from HTML markup to plain text. The secondary adaptation is the
	addition of an "OPES-Via" HTTP extension header.</t>

	<figure anchor="figure_http_trace_resp_orig">
		<artwork><![CDATA[
HTTP/1.1 200 OK
Content-Length: 12345
Content-Encoding: text/html

<html><head><h1>Available Documenta...
]]></artwork>
	</figure>

  <t>... may be adapted by a CDN OPES system to become:</t>

	<figure anchor="figure_http_trace_resp_adapt">
		<artwork><![CDATA[
HTTP/1.1 200 OK
Content-Length: 2345
Content-Encoding: text/plain
OPES-Via: http://www.cdn-example.com/opes/?site=7654321&service=h2t

AVAILABLE DOCUMENTA...
]]></artwork>
	</figure>


	<t>In the above examples, "OPES-Via" header values contain URLs that may
	point to OPES-specific documents such as description of the OPES operator
	and its privacy policy.  Those documents may be parameterized to allow for
	customizations specific to the transaction being traced (e.g., client or
	even transaction identifier may be used to provide more information about
	performed adaptations). Traced OPES URLs may be later used to 
	request OPES bypass. (XXX: OPES specs will need to define OPES-Via
	format and semantics)</t>

</section>

<section anchor="cons-3.1" title="Consideration (3.1) Notification">

	<t>"The overall OPES framework needs to assist
	content providers in detecting and responding to client-centric
	actions by OPES intermediaries that are deemed inappropriate by the
	content provider."<xref target="RFC3238" /></t>

	<t>OPES tracing mechanisms assist content providers in detecting
	client-centric actions by OPES intermediaries. Specifically, a compliant
	OPES intermediary or system notifies a content provider of its presence by
	including its tracing information in the application protocol requests.
	An OPES system MUST leave its trace (XXX quote tracing draft) <xref
	target="I-D.ietf-opes-end-comm" />.  Detection
	assistance has its limitations. Some OPES intermediaries may work
	exclusively on responses and may not have a chance to trace the request.
	Moreover, some application protocols may not have explicit requests (e.g.,
	a content push service).</t>

	<t>OPES tracing mechanisms assist content providers in responding to
	client-centric actions by OPES intermediaries. Specifically, OPES traces
	MUST include identification of OPES systems and SHOULD include a list of
	adaptation actions performed on provider's content. This tracing
	information may be included in the application request. Usually, however,
	this information will be included in the application response, an adapted
	version of which does not reach the content provider. If OPES end points
	cooperate, then notification can be assisted with traces. Content
	providers that suspect or experience difficulties can do any of the
	following:</t>

	<t><list style="symbol">

	<t>Check whether requests they receive pass through OPES intermediaries.
	   Presence of OPES tracing info will determine that.  This check is only
	   possible for request/response protocols. For other protocols (e.g.,
	   broadcast or push), the provider would have to assume that OPES
	   intermediaries are involved until proven otherwise.</t>

	<t>If OPES intermediaries are suspected, request OPES traces from
	   potentially affected user(s). The trace will be a part of the
	   application message received by the user software. If users cooperate,
	   the provider(s) have all the information they need. If users do not
	   cooperate, the provider(s) cannot do much about it (they might be able
	   to deny service to uncooperative users in some cases).</t>

	<t>Some traces may indicate that more information is available by
	   accessing certain resources on the specified OPES intermediary or
	   elsewhere. Content providers may query for more information in that
	   case.</t>

	<t>If everything else fails, providers can enforce no-adaptation policy
	   using appropriate OPES bypass mechanisms and/or end-to-end encryption
	   mechanisms.</t>

	</list></t>

	<t>OPES detection and response assistance is limited to application
	protocols with support for tracing extensions. For example, <xref
	target="RFC2616">HTTP</xref> has such support while DNS over UDP does
	not.</t>

	<t>(XXX: should we prohibit adaptation of application protocols that
	do not allow for tracing?)</t>

</section>

<section anchor="cons-3.2" title="Consideration (3.2) Notification">

	<t>"The overall OPES framework should assist end users in detecting the
	behavior of OPES intermediaries, potentially allowing them to identify
	imperfect or compromised intermediaries."<xref target="RFC3238" /></t>

	<t>OPES tracing mechanisms assist end users in detecting OPES
	intermediaries. Specifically, a compliant OPES intermediary or system
	notifies an end user of its presence by including its tracing information
	in the application protocol messages sent to the client.  An OPES
	intermediary MUST leave its trace (XXX quote tracing draft) <xref
	target="I-D.ietf-opes-end-comm" />.  Detection
	assistance has its limitations. Some OPES intermediaries may work
	exclusively on requests and may not have a chance to trace the response.
	Moreover, some application protocols may not have explicit responses
	(e.g., event logging service).</t>

	<t>OPES detection assistance is limited to application protocols with
	support for tracing extensions. For example, <xref
	target="RFC2616">HTTP</xref> has such support while DNS over UDP does
	not.</t>

	<t>(XXX: should we prohibit adaptation of application protocols that
	do not allow for tracing?)</t>

</section>

<section anchor="cons-3.3" title="Consideration (3.3) Non-blocking">

	<t>"If there exists a "non-OPES" version of content
	available from the content provider, the OPES architecture must not
	prevent users from retrieving this "non-OPES" version from the
	content provider."<xref target="RFC3238" /></t>

	<t>OPES intermediaries MUST support a bypass feature (XXX quote bypass
	draft) <xref
	target="I-D.ietf-opes-end-comm" />. If an application message includes bypass instructions and an OPES
	intermediary is not configured to ignore them, the matching OPES
	intermediary will not process the message. An intermediary may be
	configured to ignore bypass instructions only if no non-OPES version of
	content is available.  Bypass may generate content errors since some OPES
	services may be essential but may not be configured as such.</t>

	<t>Bypass support has limitations similar to the two notification-related
	considerations above. (XXX: but it is possible to instruct all
	OPES intermediaries to bypass an application message without
	knowing all OPES intermediaries IDs).</t>

    <t>(XXX: Ideally, this section need to be polished further -- if there is
	no non-OPES version of the content, most IAB considerations probably do
	not apply because there is really no adaptation, only creation of content;
	and we should not restrict content creation.)</t>

</section>

</section>

<section anchor="cons-4.1" title="Consideration (4.1) URI resolution">

	<t>"OPES documentation must be clear in describing
	these services as being applied to the result of URI resolution, not
	as URI resolution itself."<xref target="RFC3238" /></t>

	<t>"OPES Scenarios and Use Cases" <xref
	target="I-D.ietf-opes-scenarios">specification</xref> documents content
	adaptations that are in scope of the OPES framework (XXX provide a quote).
	These adaptations do not include URI resolution (XXX check). In some
	environments, it is technically possible to adapt URIs (and other kinds of
	identifiers or addresses) using documented OPES mechanisms.</t>

</section>

<section anchor="cons-4.2" title="Consideration (4.2) Reference validity">

	<t>"All proposed services must define their impact on inter- and
	intra-document reference validity."<xref target="RFC3238" /></t>

	<t>OPES working group does not propose adaptation services. However, OPES
	tracing requirements include identification of OPES intermediaries and
	services (for details, see "Notification" consideration sections in this
	document). It is required that provided identification can be used to
	locate information about the OPES intermediaries, including the
	description of impact on reference validity (XXX quote tracing draft) <xref
	target="I-D.ietf-opes-end-comm" />.</t>

</section>

<section anchor="cons-4.3" title="Consideration (4.3) Addressing extensions">

	<t>"Any services that cannot be achieved while respecting the above
	two considerations may be reviewed as potential requirements for
	Internet application addressing architecture extensions, but must not
	be undertaken as ad hoc fixes."<xref target="RFC3238" /></t>

	<t>OPES framework does not contain ad hoc fixes. This and other OPES
	documents should be sufficient to inform service creators of IAB
	considerations. If a service does URI resolution or silently affects
	document reference validity, the authors are requested to review service
	impact on Internet application addressing architecture and work within
	IETF on potential extension requirements. Such actions would be outside of
	the current OPES framework.</t>

</section>

<section anchor="cons-5.1" title="Consideration (5.1) Privacy">

	<t>"The overall OPES framework must provide for mechanisms
	for end users to determine the privacy policies of OPES
	intermediaries."<xref target="RFC3238" /></t>

	<t>OPES tracing mechanisms allow end users to identify OPES intermediaries
	(for details, see "Notification" consideration sections in this document).
	It is required that provided identification can be used to locate
	information about the OPES intermediaries, including their privacy
	policies.</t>

	<t>The terms "privacy" and "privacy policy" are not defined in this
	context (by IAB or OPES working group). OPES tracing mechanisms allow end
	users and content providers to identify OPES intermediaries. It is
	believed that once an intermediary is identified, it would be possible to
	locate relevant information about that intermediary, including information
	relevant to requesters perception of privacy policy or reference
	validity. (XXX: should we move this paragraph into a separate section and
	expand it? one the other hand, it is probably the job of the architecture
	draft to define these things so that we can refer to them from here.)</t>

</section>

<section anchor="sec" title="Security Considerations">

	<t>XXX.</t>

</section>

<section anchor="compliance" title="Compliance">

	<t>This document may be perceived as a proof of OPES compliance with IAB
	implied recommendations. However, this document does not introduce any
	compliance subjects. Compliance of OPES implementations is defined in
	other OPES documents discussed above.</t>

</section>

<section anchor="todo" title="To-do">

	<t><list style="hanging">

		<t hangText="security section:">Does this document
		have any original security matters worth documenting?</t>

		<t hangText="normative IDs:">To be normative, OPES Internet-Drafts
		must be replaced with corresponding RFCs when the latter are
		published.</t>

		<t hangText="architecture draft:">Should architecture draft talk about
		external/internal OPES intermediaries, OPES systems, and privacy
		policies? Should this document be limited to a compilation of
		references from other OPES drafts, or should we introduce/discuss new
		concepts here?</t>

	</list></t>

</section>

<!--

<appendix anchor="section_acks" title="Acknowledgements">

	<t>Authors gratefully acknowledges the contributions of:
	Oskar Batuner (Independent Consultant),
	Markus Hofmann (Bell Labs), Hilarie Orman (The Purple Streak),
	Reinaldo Penno (Nortel Networks), Martin Stecher (Webwasher) as well
	as an anonymous OPES working group participant.</t>

	<t>Special thanks to Marshall Rose for his xml2rfc tool.</t>

</appendix>
-->


<appendix anchor="section_change_log" title="Change Log">

	<t>Internal WG revision control ID: $Id: iab-cons.xml,v 1.19 2003/08/28 03:48:32 rousskov Exp $</t>

	<t><list style="hanging">

	<t hangText="head-sid15"><list style="symbols">

		<t>Added a figure showing a chain of internal OPES intermediaries
		behind a public IP address. Needs more work. More cases?</t>

	</list></t>

	<t hangText="head-sid14"><list style="symbols">

		<t>Rewrote the Introduction to the IP addressing consideration.  Do
		NOT explain how IAB considerations, if interpreted literary, do not
		satisfy important real-world constraints. Instead, use the "chain of
		OPES intermediaries" exception introduced by IAB itself to show that
		OPES architecture addresses IAB concerns as long as the "chain" is
		defined/formed for a given application message rather than being a
		statically configured application routing table of sorts. IAB had to
		add the "chain" exception to cover one of the most obvious real-world
		usage scenario. We use the very same exception to cover all usage
		scenarios we care about.</t>

		<t>Polished text explaining the differences between tracing and
		notification mechanisms.</t>

		<t>Added examples of OPES/HTTP traces.</t>

		<t>Be careful not to imply that all OPES intermediaries must obey
		bypass instructions. Bypass should be ignored when no non-OPES version
		of the content exists. Ideally, this may need to be polished further
		-- if there is no non-OPES version of the content, most IAB
		considerations probably do not apply because there is really no
		adaptation, only creation of content (and we should not restrict
		content creation).</t>

		<t>Added references to OPES "Communications" draft <xref
		target="I-D.ietf-opes-end-comm" />.</t>

	</list></t>

	<t hangText="head-sid9"><list style="symbols">

		<t>Polished to meet new xml2rfc strict requirements.</t>

	</list></t>

	<t hangText="head-sid8"><list style="symbols">

		<t>Added unpolished meat for all nine considerations.</t>

		<t>Added Abbie Barbir as an author.</t>

	</list></t>

	<t hangText="head-sid7"><list style="symbols">

		<t>Initial revision</t>

	</list></t>

	</list></t>

</appendix>

</middle>

<back>
<references title="Normative References">

<!-- <?rfc include='reference.RFC.2119.xml' ?>  -->
<!-- <?rfc include='reference.RFC.2234.xml' ?> -->

<?rfc include='reference.I-D.ietf-opes-end-comm.xml' ?>
<?rfc include='reference.I-D.ietf-opes-architecture.xml' ?>
<?rfc include='reference.I-D.ietf-opes-scenarios.xml' ?>
<?rfc include='reference.RFC.3238.xml' ?>

</references>

<references title="Informative References">

<!--
	<?rfc include='reference.I-D.ietf-opes-protocol-reqs.xml' ?>
	<?rfc include='reference.I-D.ietf-fax-esmtp-conneg.xml' ?>
	<?rfc include='reference.RFC.3080.xml' ?>
-->

	<?rfc include='reference.RFC.2616.xml' ?>

</references>

</back>

</rfc>
