<?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-05">

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

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

	<date day="12" month="April" year="2004" />

	<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 for the Open Pluggable Edge Services
		(OPES) framework.  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 a specific IAB
	considerations <xref target="RFC3238">document</xref>.  In that document,
	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 formal IAB
	recommendations are addressed by OPES, to the extent that those
	considerations can be addressed by an IETF working group. The limitations
	of OPES working group to address certain aspects of IAB
	considerations are also explicitly documented.</t>

	<t>IAB considerations <xref target="RFC3238">document</xref> contains many
	informal recommendations. For example, while the IAB informally requires
	OPES architecture to "protect end-to-end data integrity by supporting
	end-host detection and response to inappropriate behavior by OPES
	intermediaries", the IAB has chosen to formalize these requirements via a
	set of more specific recommendations, such as Notification considerations
	addressed in <xref target="cons-3.1" /> and <xref target="cons-3.2" />
	below. OPES framework addresses informal IAB recommendations by addressing
	corresponding formal considerations.</t>

	<t>There are nine formal 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" />. While this requirement directly
	satisfies IAB concern, no requirement alone can prevent consent-less
	introduction of OPES processors. In other words, OPES framework requires
	one-party consent but cannot guarantee it in the presence of incompliant
	OPES entities.</t>

	<t>In <xref target="I-D.ietf-opes-end-comm" />, the OPES architecture
	enables concerned parties to detect unwanted OPES processors by examining
	OPES traces. While the use of traces in OPES is mandatory, a tracing
	mechanism on its own cannot 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 that the content provider is
	willing to sign the data and that the client is willing to either check
	the signature or relay received content to the content provider for
	signature verification.</t>
	
	<t>OPES entities may copy or otherwise access content without modifying
	it. Such access cannot be detected using content signatures.  Thus,
	"passive" OPES entities can operate on signed content without the data
	consumer or provider consent.  If content privacy is a concern, then
	content encryption can be used. A passive processor is no different from
	any intermediary operating outside of OPES framework.  No OPES mechanism
	(existing or foreseeable) can prevent non-modifying access to content.</t>

	<t>In summary, the one-party consent is satisfied by including the
	corresponding requirement in the IAB architecture document. That
	requirement alone cannot stop incompliant OPES entities to perform
	consent-less adaptations, but OPES framework allows for various means of
	detecting and/or preventing such adaptations. These means typically
	introduce overheads and require some level of producer-consumer
	cooperation.</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>The 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" />. The IAB and the architecture
	documents 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, a group of OPES processors working on a
	given application transaction is considered. Such a group would
	necessarily form a single processing chain, with a single "exit" OPES
	processor (i.e., the processor that adapted the given message last). The
	OPES architecture essentially requires that last OPES processor to be
	explicitly addressable at the IP layer by the data consumer application.
	The chain formation, including its exit point may depend on an application
	message and other dynamic factors such as time of the day or system
	load.</t>

	<t>Furthermore, if OPES processing is an internal processing step at a
	data consumer or a data provider application side, then the last OPES
	processor may reside in a private address space and
	may not be explicitly addressable from the outside. 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
	data consumer application 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 the 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 data consumer 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 data consumer application 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[
Private Domain    | Public Domain     | Private Domain
                  |                   |              
+--------------+  |             +-------------+      +--------+
| Data         |  |             | OPES System |      |Data    |
| Consumer     |<--- network -->| with public |<---->|Provider|
| Application  |  |             | IP address  |      |App     |
+--------------+  |             +-------------+      +--------+
                  |                   |
                  |                   |          
]]></artwork>
	</figure>
 
</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 OPES Communications
	specification <xref target="I-D.ietf-opes-end-comm" /> defines "OPES
	trace" as information about OPES adaptations that is embedded in an
	application message. 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. <xref
	target="figure_noification_dir" /> illustrates the differences between a
	trace and notification from a single application message point of
	view.</t>

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


	<t>Since notifications cannot be piggy-backed to application messages,
	they create new messages and may double the number of messages the
	sender has to process. The number of messages that need to be proceed
	is larger if several intermediaries on the message path generate
	notifications. Associating notifications with application messages
	may require duplicating application message information in
	notifications and may require maintaining a sender state until
	notification is received. These actions increase the performance
	overhead of notifications.</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, <xref
	target="RFC2227">Hit Metering protocol</xref> 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 at the
	protocol level, OPES concentrates on tracing facilities. In essence,
	OPES supports notifications indirectly, using 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>

	<t>The above concerns call for making notification optional. The OPES
	architecture allows for an efficient and meaningful notification protocol
	to be implemented in certain OPES environments.  For example, an OPES
	callout server attached to a gateway or firewall may scan outgoing traffic
	for signs of worm or virus activity and notify a local Intrusion Detection
	System (IDS) of potentially compromised hosts (e.g., servers or client
	PCs) inside the network. Such notifications may use OPES tracing
	information to pinpoint the infected host (which could be another OPES
	entity). In this example, notifications are essentially sent back to the
	content producer (the local network) and use OPES tracing to supply
	details.</t>

	<t>Another environment where efficient and meaningful notification using
	OPES tracing is possible are Content Delivery Networks (CDNs).  A CDN node
	may use multiple content adaptation services to customize generic content
	supplied by the content producer (a web site). For example, a callout
	service may insert advertisements for client-local events.  The CDN node
	itself may not understand specifics of the ad insertion algorithm
	implemented at callout servers.  However, the node may use information in
	the OPES trace (e.g., coming from the callout service) to notify the
	content producer. Such notifications may be about the number of certain
	advertisements inserted (i.e., the number of "impressions" delivered to
	the customer) or even the number of ad "clicks" the customer made (e.g.,
	if the node hosts content linked from the ads).  Callout services doing ad
	insertion may lack details (e.g., a customer ID/address or a web server
	authentication token) to contact the content producer directly in this
	case. Thus, OPES trace produced by an OPES service becomes essential in
	enabling meaningful notifications that the CDN node sends to the content
	producer.</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 processor 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-System 
	HTTP extension header <xref target="I-D.ietf-opes-http"/>.</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-System: 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-System 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-System: http://www.cdn-example.com/opes/?site=7654&svc=h2t

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


	<t>In the above examples, OPES-System header values contain URIs 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). An OPES-Via header may be used to provide a more
	detailed trace of specific OPES entities within an OPES System that
	adapted the message. Traced OPES URIs may be later used to request OPES
	<xref target="I-D.ietf-opes-end-comm">bypass</xref>.</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 <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="symbols">

	<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 involved
	   parties cooperate, the provider(s) may have access to all the
	   needed information.  Certainly, lack of cooperation may hinder
	   access to tracing information. To encourage cooperation, data
	   providers might be able to deny service to uncooperative users.</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 this
	   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>

</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 system MUST leave its trace <xref
	target="I-D.ietf-opes-end-comm" />.  However, detection assistance has
	its limitations. Some OPES systems 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>

</section>

</section> <!-- notifications -->


<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 entities MUST support a bypass feature" <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 OPES
	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.</t>

</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.  Scenarios include
	content adaptation of requests and responses. These documented adaptations
	do not include URI resolution. In some environments, it is technically
	possible to use documented OPES mechanisms to resolve URIs (and other
	kinds of identifiers or addresses).  The OPES framework cannot effectively
	prevent any specific kind of adaptation.</t>

	<t>For example, a CDN node may substitute domain names in URLs with
	CDN-chosen IP addresses, essentially performing a URI resolution on behalf
	of the content producer (i.e., the web site owner). An OPES callout
	service running on a user PC may rewrite all HTML-embedded advertisement
	URLs to point to a user-specified local image, essentially performing a
	URI redirection on behalf of the content consumer (i.e., the end user).
	Such URI manipulations are outside of the OPES framework scope, but cannot
	be effectively eliminated from the real world.</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>The OPES framework 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 <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 document in
	combination with 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 term "privacy policy" is not defined in this context (by IAB or
	OPES working group). OPES tracing mechanisms allow end users and content
	providers to identify an OPES system and/or intermediaries. It is believed
	that once an OPES system is identified, it would be possible to locate
	relevant information about that system, including information relevant to
	requesters perception of privacy policy or reference validity.</t>

</section>

<section anchor="cons-encr" title="Consideration 'Encryption'">

	<t>"If OPES is chartered, the OPES working group will also have to
	explicitly decide and document whether the OPES architecture must be
	compatible with the use of end-to-end encryption by one or more ends
	of an OPES-involved session. If OPES was compatible with end-to-end
	encryption, this would effectively ensure that OPES boxes would be
	restricted to ones that are known, trusted, explicitly addressed at
	the IP layer, and authorized (by the provision of decryption keys) by
	at least one of the ends."<xref target="RFC3238" /></t>

	<t>The above quoted requirement was not explicitly listed as on of the
	IAB considerations, but still needs to be addressed. The context of
	the quote implies that the phrase "end-to-end encryption" refers to
	encryption along all links of the end-to-end path, with the OPES
	intermediaries as encrypting/decrypting participants or hops (e.g.,
	encryption between the provider and the OPES intermediaries, and
	between the OPES intermediaries and the client).</t>

	<t>Since OPES processors are regular hops on the application protocol
	path, OPES architecture allows for such encryption, provided the
	application protocol being adapted supports it. Hop-by-hop encryption
	would do little good for the overall application message path
	protection if callout services have to receive unencrypted content. To
	allow for complete link encryption coverage, OPES callout protocol
	(OCP) supports encryption of OCP connections between an OPES processor
	and a callout server via optional (negotiated) transport encryption
	mechanisms <xref target="I-D.ietf-opes-ocp-core" />.</t>

	<t>For example, <xref target="RFC2817">TLS encryption</xref> can be
	used among HTTP hops (some of which could be OPES processors) and
	between each OPES processor and a callout server.</t>

</section>

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

	<t>This document does not define any mechanisms that may be subject to
	security considerations. This document scope is to address specific IAB
	considerations. Security of OPES mechanisms are discussed in Security
	Considerations sections of the corresponding OPES framework documents.</t>

	<t>For example, OPES tracing mechanisms assist content providers and
	consumers in protecting content integrity and confidentiality by requiring
	OPES intermediaries to disclose their presence. Security of the tracing
	mechanism is discussed in the Security Considerations section of <xref
	target="I-D.ietf-opes-end-comm" />.</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>

<!--

<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>

</appendix>
-->


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

	<t>RFC Editor Note: This section is to be removed during
	the final publication of the document.</t>

	<t>Internal WG revision control ID: $Id: iab-cons.xml,v 1.36 2004/04/12 16:06:52 rousskov Exp $</t>

	<t><list style="hanging">

	<t hangText="2004/04/08"><list style="symbols">

		<t>Replaced "Cable Company ISP" Notification example with two new
		examples to address IESG uncertainty about the meaning of the old
		convoluted example.</t>

		<t>Polished text addressing "One-party consent" concern to better show
		why the concern is addressed. It is not clear whether the changes will
		address IESG review comment that "the WG does not seem to get it"
		[because?] the text does not "name situations where one-party consent
		does make sense". It is currently not clear how naming such situations
		can address IAB concern, and why naming such situations is in this
		document scope.</t>

		<t>Polished text discussing URI resolution consideration to talk more
		specifically about the resolution of URIs rather than (more general)
		adaptation of URIs and added examples. This change is meant to address
		IESG concern that URI resolution is not addressed or the corresponding
		description is confusing.</t>

		<t>Clarified in the Introduction that the purpose of this document is
		to address nine formal IAB considerations, and that we hope that
		addressing formal consideration is sufficient to address any informal
		ones that are scattered through the IAB Considerations document. This
		is meant to address IESG concern that some [informal] words from the
		IAB Consideration document do not explicitly appear in this
		document.</t>

		<t>Be more specific about where security of OPES mechanisms is
		discussed. Added an example of where security of OPES tracing
		mechanisms is discussed. This document is about addressing specific
		IAB considerations and is not a map/index to OPES mechanisms or their
		security. However, polished text and example may provide the reader
		with more direct clues on where to find security-related information
		that goes beyond the scope of this document.</t>

	</list></t>

	<t hangText="2003/11/18"><list style="symbols">

		<t>Added an example where an efficient and meaningful notification
		protocol can be implemented in OPES.</t>

		<t>Assume Communications draft will contain wording about documenting
		impact on reference validity.</t>

		<t>Use OPES-System HTTP header for examples and mention OPES-Via. We
		still need to get HTTP Adaptations draft in sync with this change, but
		the text now assumes that has been done.</t>

	</list></t>

	<t hangText="2003/10/24"><list style="symbols">

		<t>Addressed hop-by-hop encryption concerns mentioned
		in the IAB draft.</t>

		<t>Polished IP addressing figure.</t>

		<t>Removed resolved XXXs.</t>

	</list></t>

	<t hangText="2003/10/01"><list style="symbols">

		<t>Polishing (Abbie Barbir).</t>

	</list></t>

	<t hangText="2003/09/23"><list style="symbols">

		<t>Added a reference to Optional Notification section of
		the ietf-opes-end-comm draft.</t>

		<t>Fixed "Consideration (3.3) Non-blocking" section position.</t>

	</list></t>

	<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.2227.xml' ?>
	<?rfc include='reference.RFC.2616.xml' ?>
	<?rfc include='reference.RFC.2817.xml' ?>
	<?rfc include='reference.I-D.ietf-opes-http.xml' ?>
	<?rfc include='reference.I-D.ietf-opes-ocp-core.xml' ?>

</references>

</back>

</rfc>
