draft-ietf-opes-iab-05.txt   rfc3914.txt 
Open Pluggable Edge Services A. Barbir Network Working Group A. Barbir
Internet-Draft Nortel Networks Request for Comments: 3914 Nortel Networks
Expires: October 11, 2004 A. Rousskov Category: Informational A. Rousskov
The Measurement Factory The Measurement Factory
April 12, 2004 October 2004
OPES Treatment of IAB Considerations Open Pluggable Edge Services (OPES) Treatment of
draft-ietf-opes-iab-05 IAB Considerations
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This memo provides information for the Internet community. It does
all provisions of Section 10 of RFC2026. not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
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 October 11, 2004.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2004). All Rights Reserved. Copyright (C) The Internet Society (2004).
Abstract Abstract
IETF Internet Architecture Board (IAB) expressed nine IETF Internet Architecture Board (IAB) expressed nine architecture-
architecture-level considerations for the Open Pluggable Edge level considerations for the Open Pluggable Edge Services (OPES)
Services (OPES) framework. This document describes how OPES framework. This document describes how OPES addresses those
addresses those considerations. considerations.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Consideration (2.1) 'One-party consent' . . . . . . . . . . . 5 3. Consideration (2.1) 'One-party consent' . . . . . . . . . . . 3
4. Consideration (2.2) 'IP-layer communications' . . . . . . . . 6 4. Consideration (2.2) 'IP-layer communications' . . . . . . . . 4
5. Notification Considerations . . . . . . . . . . . . . . . . . 8 5. Notification Considerations . . . . . . . . . . . . . . . . . 5
5.1 Notification versus trace . . . . . . . . . . . . . . . . . . 8 5.1. Notification versus trace. . . . . . . . . . . . . . . . 6
5.2 An example of an OPES trace for HTTP . . . . . . . . . . . . . 10 5.2. An example of an OPES trace for HTTP . . . . . . . . . . 8
5.3 Consideration (3.1) 'Notification' . . . . . . . . . . . . . . 11 5.3. Consideration (3.1) 'Notification' . . . . . . . . . . . 9
5.4 Consideration (3.2) 'Notification' . . . . . . . . . . . . . . 12 5.4. Consideration (3.2) 'Notification' . . . . . . . . . . . 10
6. Consideration (3.3) 'Non-blocking' . . . . . . . . . . . . . . 13 6. Consideration (3.3) 'Non-blocking' . . . . . . . . . . . . . . 10
7. Consideration (4.1) 'URI resolution' . . . . . . . . . . . . . 14 7. Consideration (4.1) 'URI resolution' . . . . . . . . . . . . . 11
8. Consideration (4.2) 'Reference validity' . . . . . . . . . . . 15 8. Consideration (4.2) 'Reference validity' . . . . . . . . . . . 11
9. Consideration (4.3) 'Addressing extensions' . . . . . . . . . 16 9. Consideration (4.3) 'Addressing extensions' . . . . . . . . . 12
10. Consideration (5.1) 'Privacy' . . . . . . . . . . . . . . . . 17 10. Consideration (5.1) 'Privacy' . . . . . . . . . . . . . . . . 12
11. Consideration 'Encryption' . . . . . . . . . . . . . . . . . . 18 11. Consideration 'Encryption' . . . . . . . . . . . . . . . . . . 12
12. Security Considerations . . . . . . . . . . . . . . . . . . . 19 12. Security Considerations . . . . . . . . . . . . . . . . . . . 13
13. Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . 20 13. Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . 13
A. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . . 21 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Normative References . . . . . . . . . . . . . . . . . . . . . 24 14.1. Normative References . . . . . . . . . . . . . . . . . . 14
Informative References . . . . . . . . . . . . . . . . . . . . 25 14.2. Informative References . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 25 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15
Intellectual Property and Copyright Statements . . . . . . . . 26 Full Copyright Statement . . . . . . . . . . . . . . . . . . . . . 16
1. Introduction 1. Introduction
The Open Pluggable Edge Services (OPES) architecture The Open Pluggable Edge Services (OPES) architecture [RFC3835],
[I-D.ietf-opes-architecture], enables cooperative application enables cooperative application services (OPES services) between a
services (OPES services) between a data provider, a data consumer, data provider, a data consumer, and zero or more OPES processors.
and zero or more OPES processors. The application services under The application services under consideration analyze and possibly
consideration analyze and possibly transform application-level transform application-level messages exchanged between the data
messages exchanged between the data provider and the data consumer. provider and the data consumer.
In the process of chartering OPES, the IAB made recommendations on In the process of chartering OPES, the IAB made recommendations on
issues that OPES solutions should be required to address. These issues that OPES solutions should be required to address. These
recommendations were formulated in the form of a specific IAB recommendations were formulated in the form of a specific IAB
considerations document [RFC3238]. In that document, IAB emphasized considerations document [RFC3238]. In that document, IAB emphasized
that its considerations did not recommend specific solutions and did that its considerations did not recommend specific solutions and did
not mandate specific functional requirements. Addressing an IAB not mandate specific functional requirements. Addressing an IAB
consideration may involve showing appropriate protocol mechanisms or consideration may involve showing appropriate protocol mechanisms or
demonstrating that the issue does not apply. Addressing a demonstrating that the issue does not apply. Addressing a
consideration does not necessarily mean supporting technology implied consideration does not necessarily mean supporting technology implied
skipping to change at page 4, line 8 skipping to change at page 3, line 30
There are nine formal IAB considerations [RFC3238] that OPES has to There are nine formal IAB considerations [RFC3238] that OPES has to
address. In the core of this document are the corresponding nine address. In the core of this document are the corresponding nine
"Consideration" sections. For each IAB consideration, its section "Consideration" sections. For each IAB consideration, its section
contains general discussion as well as references to specific OPES contains general discussion as well as references to specific OPES
mechanisms relevant to the consideration. mechanisms relevant to the consideration.
2. Terminology 2. Terminology
This document does not introduce any new terminology but uses This document does not introduce any new terminology but uses
terminology from other OPES documents it quotes. terminology from other OPES documents.
3. Consideration (2.1) 'One-party consent' 3. Consideration (2.1) 'One-party consent'
"An OPES framework standardized in the IETF must require that the use "An OPES framework standardized in the IETF must require that the use
of any OPES service be explicitly authorized by one of the of any OPES service be explicitly authorized by one of the
application-layer end-hosts (that is, either the content provider or application-layer end-hosts (that is, either the content provider or
the client)."[RFC3238] the client)."[RFC3238]
OPES architecture requires that "OPES processors MUST be consented to OPES architecture requires that "OPES processors MUST be consented to
by either the data consumer or data provider application" by either the data consumer or data provider application" [RFC3835].
[I-D.ietf-opes-architecture]. While this requirement directly While this requirement directly satisfies IAB concern, no requirement
satisfies IAB concern, no requirement alone can prevent consent-less alone can prevent consent-less introduction of OPES processors. In
introduction of OPES processors. In other words, OPES framework other words, OPES framework requires one-party consent but cannot
requires one-party consent but cannot guarantee it in the presence of guarantee it in the presence of incompliant OPES entities.
incompliant OPES entities.
In [I-D.ietf-opes-end-comm], the OPES architecture enables concerned In [RFC3897], the OPES architecture enables concerned parties to
parties to detect unwanted OPES processors by examining OPES traces. detect unwanted OPES processors by examining OPES traces. While the
While the use of traces in OPES is mandatory, a tracing mechanism on use of traces in OPES is mandatory, a tracing mechanism on its own
its own cannot detect processors that are in violation of OPES cannot detect processors that are in violation of OPES
specifications. Examples include OPES processors operating in specifications. Examples include OPES processors operating in
stealth mode. However, the OPES architecture allows the use of stealth mode. However, the OPES architecture allows the use of
content signature to verify the authenticity of performed content signature to verify the authenticity of performed
adaptations. Content signatures is a strong but expensive mechanism adaptations. Content signatures is a strong but expensive mechanism
that can detect any modifications of signed content provided that the that can detect any modifications of signed content provided that the
content provider is willing to sign the data and that the client is content provider is willing to sign the data and that the client is
willing to either check the signature or relay received content to willing to either check the signature or relay received content to
the content provider for signature verification. the content provider for signature verification.
OPES entities may copy or otherwise access content without modifying OPES entities may copy or otherwise access content without modifying
skipping to change at page 5, line 47 skipping to change at page 4, line 24
then content encryption can be used. A passive processor is no then content encryption can be used. A passive processor is no
different from any intermediary operating outside of OPES framework. different from any intermediary operating outside of OPES framework.
No OPES mechanism (existing or foreseeable) can prevent non-modifying No OPES mechanism (existing or foreseeable) can prevent non-modifying
access to content. access to content.
In summary, the one-party consent is satisfied by including the In summary, the one-party consent is satisfied by including the
corresponding requirement in the IAB architecture document. That corresponding requirement in the IAB architecture document. That
requirement alone cannot stop incompliant OPES entities to perform requirement alone cannot stop incompliant OPES entities to perform
consent-less adaptations, but OPES framework allows for various means consent-less adaptations, but OPES framework allows for various means
of detecting and/or preventing such adaptations. These means of detecting and/or preventing such adaptations. These means
typically introduce overheads and require some level of typically introduce overheads and require some level of producer-
producer-consumer cooperation. consumer cooperation.
4. Consideration (2.2) 'IP-layer communications' 4. Consideration (2.2) 'IP-layer communications'
"For an OPES framework standardized in the IETF, the OPES "For an OPES framework standardized in the IETF, the OPES
intermediary must be explicitly addressed at the IP layer by the end intermediary must be explicitly addressed at the IP layer by the end
user."[RFC3238] user" [RFC3238].
The OPES architecture requires that "OPES processors MUST be The OPES architecture requires that "OPES processors MUST be
addressable at the IP layer by the end user (data consumer addressable at the IP layer by the end user (data consumer
application)" [I-D.ietf-opes-architecture]. The IAB and the application)" [RFC3835]. The IAB and the architecture documents
architecture documents mention an important exception: addressing the mention an important exception: addressing the first OPES processor
first OPES processor in a chain of processors is sufficient. That is, in a chain of processors is sufficient. That is, a chain of OPES
a chain of OPES processors is viewed as a single OPES "system" at the processors is viewed as a single OPES "system" at the address of the
address of the first chain element. first chain element.
The notion of a chain is not strictly defined by IAB. For the purpose The notion of a chain is not strictly defined by IAB. For the
of addressing this consideration, a group of OPES processors working purpose of addressing this consideration, a group of OPES processors
on a given application transaction is considered. Such a group would working on a given application transaction is considered. Such a
necessarily form a single processing chain, with a single "exit" OPES group would necessarily form a single processing chain, with a single
processor (i.e., the processor that adapted the given message last). "exit" OPES processor (i.e., the processor that adapted the given
The OPES architecture essentially requires that last OPES processor message last). The OPES architecture essentially requires that last
to be explicitly addressable at the IP layer by the data consumer OPES processor to be explicitly addressable at the IP layer by the
application. The chain formation, including its exit point may depend data consumer application. The chain formation, including its exit
on an application message and other dynamic factors such as time of point may depend on an application message and other dynamic factors
the day or system load. such as time of the day or system load.
Furthermore, if OPES processing is an internal processing step at a Furthermore, if OPES processing is an internal processing step at a
data consumer or a data provider application side, then the last OPES data consumer or a data provider application side, then the last OPES
processor may reside in a private address space and may not be processor may reside in a private address space and may not be
explicitly addressable from the outside. In such situations, the explicitly addressable from the outside. In such situations, the
processing side must designate an addressable point on the same processing side must designate an addressable point on the same
processing chain. That designated point may not be, strictly processing chain. That designated point may not be, strictly
speaking, an OPES processor, but it will suffice as such as far as speaking, an OPES processor, but it will suffice as such as far as
IAB considerations are concerned -- the data consumer application IAB considerations are concerned -- the data consumer application
will be able to address it explicitly at the IP layer and it will will be able to address it explicitly at the IP layer and it will
represent the OPES processing chain to the outside world. represent the OPES processing chain to the outside world.
Designating an addressable processing point avoids the conflict Designating an addressable processing point avoids the conflict
between narrow interpretation of the IAB consideration and real between narrow interpretation of the IAB consideration and real
system designs. It is irrational to expect a content provider to system designs. It is irrational to expect a content provider to
provide access to internal hosts participating in content generation, provide access to internal hosts participating in content generation,
whether OPES processors are involved or not. Moreover, providing such whether OPES processors are involved or not. Moreover, providing
access would serve little practical purpose because internal OPES such access would serve little practical purpose because internal
processors are not likely to be able to answer any data consumer OPES processors are not likely to be able to answer any data consumer
queries, being completely out of content generation context. For queries, being completely out of content generation context. For
example, an OPES processor adding customer-specific information to example, an OPES processor adding customer-specific information to
XML pages may not understand or be aware of any final HTML content 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 that the data consumer application receives and may not be able to
map end user request to any internal user identification. Since OPES map end user request to any internal user identification. Since OPES
requires the end of the message processing chain to be addressable, requires the end of the message processing chain to be addressable,
the conflict does not exist. OPES places no requirements on the the conflict does not exist. OPES places no requirements on the
internal architecture of data producer systems while requiring the internal architecture of data producer systems while requiring the
entire OPES-related content production "system" to be addressable at entire OPES-related content production "system" to be addressable at
the IP layer. the IP layer.
skipping to change at page 8, line 10 skipping to change at page 6, line 5
| | | |
| | | |
Figure 1 Figure 1
5. Notification Considerations 5. Notification Considerations
This section discusses how OPES framework addresses IAB Notification This section discusses how OPES framework addresses IAB Notification
considerations 3.1 and 3.2. considerations 3.1 and 3.2.
5.1 Notification versus trace 5.1. Notification versus trace
Before specific considerations are discussed, the relationship Before specific considerations are discussed, the relationship
between IAB notifications and OPES tracing has to be explained. OPES between IAB notifications and OPES tracing has to be explained. OPES
framework concentrates on tracing rather than notification. The OPES framework concentrates on tracing rather than notification. The OPES
Communications specification [I-D.ietf-opes-end-comm] defines "OPES Communications specification [RFC3897] defines "OPES trace" as
trace" as information about OPES adaptations that is embedded in an application message information about OPES entities that adapted the
application message. Thus, OPES trace follows the application message message. Thus, OPES trace follows the application message it traces.
it traces. The trace is for the recipient of the application message. The trace is for the recipient of the application message. Traces
Traces are implemented as extensions of application protocols being are implemented as extensions of application protocols being adapted
adapted and traced. and traced.
As opposed to an OPES trace, provider notification (as implied by As opposed to an OPES trace, provider notification (as implied by
IAB) notifies the sender of the application message rather than the IAB) notifies the sender of the application message rather than the
recipient. Thus, notifications propagate in the opposite direction of recipient. Thus, notifications propagate in the opposite direction
traces. Supporting notifications directly would require a new of traces. Supporting notifications directly would require a new
protocol. Figure 2 illustrates the differences between a trace and protocol. Figure 2 illustrates the differences between a trace and
notification from a single application message point of view. notification from a single application message point of view.
sender --[message A]--> OPES --[message A']--> recipient sender --[message A]--> OPES --[message A']--> recipient
^ V [with trace] ^ V [with trace]
| | | |
+-<-- [notification] ---+ +-<-- [notification] ---+
Figure 2 Figure 2
Since notifications cannot be piggy-backed to application messages, Since notifications cannot be piggy-backed to application messages,
they create new messages and may double the number of messages the 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 sender has to process. The number of messages that need to be
is larger if several intermediaries on the message path generate proceed is larger if several intermediaries on the message path
notifications. Associating notifications with application messages generate notifications. Associating notifications with application
may require duplicating application message information in messages may require duplicating application message information in
notifications and may require maintaining a sender state until notifications and may require maintaining a sender state until
notification is received. These actions increase the performance notification is received. These actions increase the performance
overhead of notifications. overhead of notifications.
The level of available details in notifications versus provider The level of available details in notifications versus provider
interest in supporting notification is another concern. Experience interest in supporting notification is another concern. Experience
shows that content providers often require very detailed information shows that content providers often require very detailed information
about user actions to be interested in notifications at all. For about user actions to be interested in notifications at all. For
example, Hit Metering protocol [RFC2227] has been designed to supply example, Hit Metering protocol [RFC2227] has been designed to supply
content providers with proxy cache hit counts, in an effort to reduce content providers with proxy cache hit counts, in an effort to reduce
skipping to change at page 9, line 20 skipping to change at page 7, line 16
designed to do for HTTP caching intermediaries what OPES designed to do for HTTP caching intermediaries what OPES
notifications are meant to do for OPES intermediaries. Performance notifications are meant to do for OPES intermediaries. Performance
requirements call for state reduction via aggregation of requirements call for state reduction via aggregation of
notifications while provider preferences call for state preservation notifications while provider preferences call for state preservation
or duplication. Achieving the right balance when two sides belong to or duplication. Achieving the right balance when two sides belong to
different organizations and have different optimization priorities different organizations and have different optimization priorities
may be impossible. may be impossible.
Thus, instead of explicitly supporting notifications at the protocol Thus, instead of explicitly supporting notifications at the protocol
level, OPES concentrates on tracing facilities. In essence, OPES level, OPES concentrates on tracing facilities. In essence, OPES
supports notifications indirectly, using tracing facilities. In other supports notifications indirectly, using tracing facilities. In
words, the IAB choice of "Notification" label is interpreted as other words, the IAB choice of "Notification" label is interpreted as
"Notification assistance" (i.e. making notifications meaningful) and "Notification assistance" (i.e., making notifications meaningful) and
is not interpreted as a "Notification protocol". is not interpreted as a "Notification protocol".
The above concerns call for making notification optional. The OPES The above concerns call for making notification optional. The OPES
architecture allows for an efficient and meaningful notification architecture allows for an efficient and meaningful notification
protocol to be implemented in certain OPES environments. For protocol to be implemented in certain OPES environments. For
example, an OPES callout server attached to a gateway or firewall may example, an OPES callout server attached to a gateway or firewall may
scan outgoing traffic for signs of worm or virus activity and notify scan outgoing traffic for signs of worm or virus activity and notify
a local Intrusion Detection System (IDS) of potentially compromised a local Intrusion Detection System (IDS) of potentially compromised
hosts (e.g., servers or client PCs) inside the network. Such hosts (e.g., servers or client PCs) inside the network. Such
notifications may use OPES tracing information to pinpoint the notifications may use OPES tracing information to pinpoint the
skipping to change at page 10, line 8 skipping to change at page 8, line 5
may be about the number of certain advertisements inserted (i.e., the may be about the number of certain advertisements inserted (i.e., the
number of "impressions" delivered to the customer) or even the number number of "impressions" delivered to the customer) or even the number
of ad "clicks" the customer made (e.g., if the node hosts content of ad "clicks" the customer made (e.g., if the node hosts content
linked from the ads). Callout services doing ad insertion may lack linked from the ads). Callout services doing ad insertion may lack
details (e.g., a customer ID/address or a web server authentication details (e.g., a customer ID/address or a web server authentication
token) to contact the content producer directly in this case. Thus, token) to contact the content producer directly in this case. Thus,
OPES trace produced by an OPES service becomes essential in enabling OPES trace produced by an OPES service becomes essential in enabling
meaningful notifications that the CDN node sends to the content meaningful notifications that the CDN node sends to the content
producer. producer.
5.2 An example of an OPES trace for HTTP 5.2. An example of an OPES trace for HTTP
The example below illustrates adaptations done to HTTP request at an The example below illustrates adaptations done to HTTP request at an
OPES processor operated by the client ISP. Both original (as sent by OPES processor operated by the client ISP. Both original (as sent by
an end user) and adapted (as received by the origin web server) an end user) and adapted (as received by the origin web server)
requests are shown. The primary adaptation is the modification of requests are shown. The primary adaptation is the modification of
HTTP "Accept" header. The secondary adaptation is the addition of an HTTP "Accept" header. The secondary adaptation is the addition of an
OPES-System HTTP extension header [I-D.ietf-opes-http]. OPES-System HTTP extension header [I-D.ietf-opes-http].
GET /pub/WWW/ HTTP/1.1 GET /pub/WWW/ HTTP/1.1
Host: www.w3.org Host: www.w3.org
skipping to change at page 10, line 35 skipping to change at page 8, line 31
GET /pub/WWW/ HTTP/1.1 GET /pub/WWW/ HTTP/1.1
Host: www.w3.org Host: www.w3.org
Accept: text/plain; q=0.5, text/html, text/x-dvi; q=0.8 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 OPES-System: http://www.isp-example.com/opes/?client-hash=1234567
Figure 4 Figure 4
The example below illustrates adaptations done to HTTP response at an The example below illustrates adaptations done to HTTP response at an
OPES intermediary operated by a Content Distribution Network (CDN). OPES intermediary operated by a Content Distribution Network (CDN).
Both original (as sent by the origin web server) and adapted (as Both original (as sent by the origin web server) and adapted (as
received by the end user) responses are shown. The primary adaptation received by the end user) responses are shown. The primary
is the conversion from HTML markup to plain text. The secondary adaptation is the conversion from HTML markup to plain text. The
adaptation is the addition of an OPES-System HTTP extension header. secondary adaptation is the addition of an OPES-System HTTP extension
header.
HTTP/1.1 200 OK HTTP/1.1 200 OK
Content-Length: 12345 Content-Length: 12345
Content-Encoding: text/html Content-Encoding: text/html
<html><head><h1>Available Documenta... <html><head><h1>Available Documenta...
Figure 5 Figure 5
... may be adapted by a CDN OPES system to become: ... may be adapted by a CDN OPES system to become:
skipping to change at page 11, line 11 skipping to change at page 8, line 52
Figure 5 Figure 5
... may be adapted by a CDN OPES system to become: ... may be adapted by a CDN OPES system to become:
HTTP/1.1 200 OK HTTP/1.1 200 OK
Content-Length: 2345 Content-Length: 2345
Content-Encoding: text/plain Content-Encoding: text/plain
OPES-System: http://www.cdn-example.com/opes/?site=7654&svc=h2t OPES-System: http://www.cdn-example.com/opes/?site=7654&svc=h2t
AVAILABLE DOCUMENTA... AVAILABLE DOCUMENTA...
Figure 6 Figure 6
In the above examples, OPES-System header values contain URIs that In the above examples, OPES-System header values contain URIs that
may point to OPES-specific documents such as description of the OPES may point to OPES-specific documents such as description of the OPES
operator and its privacy policy. Those documents may be operator and its privacy policy. Those documents may be
parameterized to allow for customizations specific to the transaction parameterized to allow for customizations specific to the transaction
being traced (e.g., client or even transaction identifier may be used being traced (e.g., client or even transaction identifier may be used
to provide more information about performed adaptations). An OPES-Via to provide more information about performed adaptations). An OPES-
header may be used to provide a more detailed trace of specific OPES Via header may be used to provide a more detailed trace of specific
entities within an OPES System that adapted the message. Traced OPES OPES entities within an OPES System that adapted the message. Traced
URIs may be later used to request OPES bypass OPES URIs may be later used to request OPES bypass [RFC3897].
[I-D.ietf-opes-end-comm].
5.3 Consideration (3.1) 'Notification' 5.3. Consideration (3.1) 'Notification'
"The overall OPES framework needs to assist content providers in "The overall OPES framework needs to assist content providers in
detecting and responding to client-centric actions by OPES detecting and responding to client-centric actions by OPES
intermediaries that are deemed inappropriate by the content intermediaries that are deemed inappropriate by the content provider"
provider."[RFC3238] [RFC3238].
OPES tracing mechanisms assist content providers in detecting OPES tracing mechanisms assist content providers in detecting
client-centric actions by OPES intermediaries. Specifically, a client-centric actions by OPES intermediaries. Specifically, a
compliant OPES intermediary or system notifies a content provider of compliant OPES intermediary or system notifies a content provider of
its presence by including its tracing information in the application its presence by including its tracing information in the application
protocol requests. An OPES system MUST leave its trace protocol requests. An OPES system MUST leave its trace [RFC3897].
[I-D.ietf-opes-end-comm]. Detection assistance has its limitations. Detection assistance has its limitations. Some OPES intermediaries
Some OPES intermediaries may work exclusively on responses and may may work exclusively on responses and may not have a chance to trace
not have a chance to trace the request. Moreover, some application the request. Moreover, some application protocols may not have
protocols may not have explicit requests (e.g., a content push explicit requests (e.g., a content push service).
service).
OPES tracing mechanisms assist content providers in responding to OPES tracing mechanisms assist content providers in responding to
client-centric actions by OPES intermediaries. Specifically, OPES client-centric actions by OPES intermediaries. Specifically, OPES
traces MUST include identification of OPES systems and SHOULD include traces MUST include identification of OPES systems and SHOULD include
a list of adaptation actions performed on provider's content. This a list of adaptation actions performed on provider's content. This
tracing information may be included in the application request. tracing information may be included in the application request.
Usually, however, this information will be included in the Usually, however, this information will be included in the
application response, an adapted version of which does not reach the application response, an adapted version of which does not reach the
content provider. If OPES end points cooperate, then notification can content provider. If OPES end points cooperate, then notification
be assisted with traces. Content providers that suspect or experience can be assisted with traces. Content providers that suspect or
difficulties can do any of the following: experience difficulties can do any of the following:
o Check whether requests they receive pass through OPES o Check whether requests they receive pass through OPES
intermediaries. Presence of OPES tracing info will determine that. intermediaries. Presence of OPES tracing info will determine
This check is only possible for request/response protocols. For that. This check is only possible for request/response protocols.
other protocols (e.g., broadcast or push), the provider would have For other protocols (e.g., broadcast or push), the provider would
to assume that OPES intermediaries are involved until proven have to assume that OPES intermediaries are involved until proven
otherwise. otherwise.
o If OPES intermediaries are suspected, request OPES traces from o If OPES intermediaries are suspected, request OPES traces from
potentially affected user(s). The trace will be a part of the potentially affected user(s). The trace will be a part of the
application message received by the user software. If involved application message received by the user software. If involved
parties cooperate, the provider(s) may have access to all the parties cooperate, the provider(s) may have access to all the
needed information. Certainly, lack of cooperation may hinder needed information. Certainly, lack of cooperation may hinder
access to tracing information. To encourage cooperation, data access to tracing information. To encourage cooperation, data
providers might be able to deny service to uncooperative users. providers might be able to deny service to uncooperative users.
skipping to change at page 12, line 33 skipping to change at page 10, line 26
this case. this case.
o If everything else fails, providers can enforce no-adaptation o If everything else fails, providers can enforce no-adaptation
policy using appropriate OPES bypass mechanisms and/or end-to-end policy using appropriate OPES bypass mechanisms and/or end-to-end
encryption mechanisms. encryption mechanisms.
OPES detection and response assistance is limited to application OPES detection and response assistance is limited to application
protocols with support for tracing extensions. For example, HTTP protocols with support for tracing extensions. For example, HTTP
[RFC2616] has such support while DNS over UDP does not. [RFC2616] has such support while DNS over UDP does not.
5.4 Consideration (3.2) 'Notification' 5.4. Consideration (3.2) 'Notification'
"The overall OPES framework should assist end users in detecting the "The overall OPES framework should assist end users in detecting the
behavior of OPES intermediaries, potentially allowing them to behavior of OPES intermediaries, potentially allowing them to
identify imperfect or compromised intermediaries."[RFC3238] identify imperfect or compromised intermediaries" [RFC3238].
OPES tracing mechanisms assist end users in detecting OPES OPES tracing mechanisms assist end users in detecting OPES
intermediaries. Specifically, a compliant OPES intermediary or system intermediaries. Specifically, a compliant OPES intermediary or
notifies an end user of its presence by including its tracing system notifies an end user of its presence by including its tracing
information in the application protocol messages sent to the client. information in the application protocol messages sent to the client.
An OPES system MUST leave its trace [I-D.ietf-opes-end-comm]. An OPES system MUST leave its trace [RFC3897]. However, detection
However, detection assistance has its limitations. Some OPES systems assistance has its limitations. Some OPES systems may work
may work exclusively on requests and may not have a chance to trace exclusively on requests and may not have a chance to trace the
the response. Moreover, some application protocols may not have response. Moreover, some application protocols may not have explicit
explicit responses (e.g., event logging service). responses (e.g., event logging service).
OPES detection assistance is limited to application protocols with OPES detection assistance is limited to application protocols with
support for tracing extensions. For example, HTTP [RFC2616] has such support for tracing extensions. For example, HTTP [RFC2616] has such
support while DNS over UDP does not. support while DNS over UDP does not.
6. Consideration (3.3) 'Non-blocking' 6. Consideration (3.3) 'Non-blocking'
"If there exists a "non-OPES" version of content available from the "If there exists a "non-OPES" version of content available from the
content provider, the OPES architecture must not prevent users from content provider, the OPES architecture must not prevent users from
retrieving this "non-OPES" version from the content retrieving this "non-OPES" version from the content provider"
provider."[RFC3238] [RFC3238].
"OPES entities MUST support a bypass feature" "OPES entities MUST support a bypass feature" [RFC3897]. If an
[I-D.ietf-opes-end-comm]. If an application message includes bypass application message includes bypass instructions and an OPES
instructions and an OPES intermediary is not configured to ignore intermediary is not configured to ignore them, the matching OPES
them, the matching OPES intermediary will not process the message. An intermediary will not process the message. An OPES intermediary may
OPES intermediary may be configured to ignore bypass instructions be configured to ignore bypass instructions only if no non-OPES
only if no non-OPES version of content is available. Bypass may version of content is available. Bypass may generate content errors
generate content errors since some OPES services may be essential but since some OPES services may be essential but may not be configured
may not be configured as such. as such.
Bypass support has limitations similar to the two Bypass support has limitations similar to the two notification-
notification-related considerations above. related considerations above.
7. Consideration (4.1) 'URI resolution' 7. Consideration (4.1) 'URI resolution'
"OPES documentation must be clear in describing these services as "OPES documentation must be clear in describing these services as
being applied to the result of URI resolution, not as URI resolution being applied to the result of URI resolution, not as URI resolution
itself."[RFC3238] itself" [RFC3238].
"OPES Scenarios and Use Cases" specification "OPES Scenarios and Use Cases" specification [RFC3752] documents
[I-D.ietf-opes-scenarios] documents content adaptations that are in content adaptations that are in scope of the OPES framework.
scope of the OPES framework. Scenarios include content adaptation of Scenarios include content adaptation of requests and responses.
requests and responses. These documented adaptations do not include These documented adaptations do not include URI resolution. In some
URI resolution. In some environments, it is technically possible to environments, it is technically possible to use documented OPES
use documented OPES mechanisms to resolve URIs (and other kinds of mechanisms to resolve URIs (and other kinds of identifiers or
identifiers or addresses). The OPES framework cannot effectively addresses). The OPES framework cannot effectively prevent any
prevent any specific kind of adaptation. specific kind of adaptation.
For example, a CDN node may substitute domain names in URLs with For example, a CDN node may substitute domain names in URLs with
CDN-chosen IP addresses, essentially performing a URI resolution on CDN-chosen IP addresses, essentially performing a URI resolution on
behalf of the content producer (i.e., the web site owner). An OPES 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 callout service running on a user PC may rewrite all HTML-embedded
advertisement URLs to point to a user-specified local image, advertisement URLs to point to a user-specified local image,
essentially performing a URI redirection on behalf of the content essentially performing a URI redirection on behalf of the content
consumer (i.e., the end user). Such URI manipulations are outside of consumer (i.e., the end user). Such URI manipulations are outside of
the OPES framework scope, but cannot be effectively eliminated from the OPES framework scope, but cannot be effectively eliminated from
the real world. the real world.
8. Consideration (4.2) 'Reference validity' 8. Consideration (4.2) 'Reference validity'
"All proposed services must define their impact on inter- and "All proposed services must define their impact on inter- and intra-
intra-document reference validity."[RFC3238] document reference validity" [RFC3238].
The OPES framework does not propose adaptation services. However, The OPES framework does not propose adaptation services. However,
OPES tracing requirements include identification of OPES OPES tracing requirements include identification of OPES
intermediaries and services (for details, see "Notification" intermediaries and services (for details, see "Notification"
consideration sections in this document). It is required that consideration sections in this document). It is required that
provided identification can be used to locate information about the provided identification can be used to locate information about the
OPES intermediaries, including the description of impact on reference OPES intermediaries, including the description of impact on reference
validity [I-D.ietf-opes-end-comm]. validity [RFC3897].
9. Consideration (4.3) 'Addressing extensions' 9. Consideration (4.3) 'Addressing extensions'
"Any services that cannot be achieved while respecting the above two "Any services that cannot be achieved while respecting the above two
considerations may be reviewed as potential requirements for Internet considerations may be reviewed as potential requirements for Internet
application addressing architecture extensions, but must not be application addressing architecture extensions, but must not be
undertaken as ad hoc fixes."[RFC3238] undertaken as ad hoc fixes" [RFC3238].
OPES framework does not contain ad hoc fixes. This document in OPES framework does not contain ad hoc fixes. This document in
combination with and other OPES documents should be sufficient to combination with and other OPES documents should be sufficient to
inform service creators of IAB considerations. If a service does URI inform service creators of IAB considerations. If a service does URI
resolution or silently affects document reference validity, the resolution or silently affects document reference validity, the
authors are requested to review service impact on Internet authors are requested to review service impact on Internet
application addressing architecture and work within IETF on potential application addressing architecture and work within IETF on potential
extension requirements. Such actions would be outside of the current extension requirements. Such actions would be outside of the current
OPES framework. OPES framework.
10. Consideration (5.1) 'Privacy' 10. Consideration (5.1) 'Privacy'
"The overall OPES framework must provide for mechanisms for end users "The overall OPES framework must provide for mechanisms for end users
to determine the privacy policies of OPES intermediaries."[RFC3238] to determine the privacy policies of OPES intermediaries" [RFC3238].
OPES tracing mechanisms allow end users to identify OPES OPES tracing mechanisms allow end users to identify OPES
intermediaries (for details, see "Notification" consideration intermediaries (for details, see "Notification" consideration
sections in this document). It is required that provided sections in this document). It is required that provided
identification can be used to locate information about the OPES identification can be used to locate information about the OPES
intermediaries, including their privacy policies. intermediaries, including their privacy policies.
The term "privacy policy" is not defined in this context (by IAB or The term "privacy policy" is not defined in this context (by IAB or
OPES working group). OPES tracing mechanisms allow end users and OPES working group). OPES tracing mechanisms allow end users and
content providers to identify an OPES system and/or intermediaries. content providers to identify an OPES system and/or intermediaries.
skipping to change at page 18, line 14 skipping to change at page 13, line 6
11. Consideration 'Encryption' 11. Consideration 'Encryption'
"If OPES is chartered, the OPES working group will also have to "If OPES is chartered, the OPES working group will also have to
explicitly decide and document whether the OPES architecture must be explicitly decide and document whether the OPES architecture must be
compatible with the use of end-to-end encryption by one or more ends 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 of an OPES-involved session. If OPES was compatible with end-to-end
encryption, this would effectively ensure that OPES boxes would be encryption, this would effectively ensure that OPES boxes would be
restricted to ones that are known, trusted, explicitly addressed at restricted to ones that are known, trusted, explicitly addressed at
the IP layer, and authorized (by the provision of decryption keys) by the IP layer, and authorized (by the provision of decryption keys) by
at least one of the ends."[RFC3238] at least one of the ends" [RFC3238].
The above quoted requirement was not explicitly listed as on of the The above quoted requirement was not explicitly listed as on of the
IAB considerations, but still needs to be addressed. The context of IAB considerations, but still needs to be addressed. The context of
the quote implies that the phrase "end-to-end encryption" refers to 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 encryption along all links of the end-to-end path, with the OPES
intermediaries as encrypting/decrypting participants or hops (e.g., intermediaries as encrypting/decrypting participants or hops (e.g.,
encryption between the provider and the OPES intermediaries, and encryption between the provider and the OPES intermediaries, and
between the OPES intermediaries and the client). between the OPES intermediaries and the client).
Since OPES processors are regular hops on the application protocol Since OPES processors are regular hops on the application protocol
path, OPES architecture allows for such encryption, provided the path, OPES architecture allows for such encryption, provided the
application protocol being adapted supports it. Hop-by-hop encryption application protocol being adapted supports it. Hop-by-hop
would do little good for the overall application message path encryption would do little good for the overall application message
protection if callout services have to receive unencrypted content. path protection if callout services have to receive unencrypted
To allow for complete link encryption coverage, OPES callout protocol content. To allow for complete link encryption coverage, OPES
(OCP) supports encryption of OCP connections between an OPES callout protocol (OCP) supports encryption of OCP connections between
processor and a callout server via optional (negotiated) transport an OPES processor and a callout server via optional (negotiated)
encryption mechanisms [I-D.ietf-opes-ocp-core]. transport encryption mechanisms [I-D.ietf-opes-ocp-core].
For example, TLS encryption [RFC2817] can be used among HTTP hops For example, TLS encryption [RFC2817] can be used among HTTP hops
(some of which could be OPES processors) and between each OPES (some of which could be OPES processors) and between each OPES
processor and a callout server. processor and a callout server.
12. Security Considerations 12. Security Considerations
This document does not define any mechanisms that may be subject to This document does not define any mechanisms that may be subject to
security considerations. This document scope is to address specific security considerations. This document scope is to address specific
IAB considerations. Security of OPES mechanisms are discussed in IAB considerations. Security of OPES mechanisms are discussed in
Security Considerations sections of the corresponding OPES framework Security Considerations sections of the corresponding OPES framework
documents. documents.
For example, OPES tracing mechanisms assist content providers and For example, OPES tracing mechanisms assist content providers and
consumers in protecting content integrity and confidentiality by consumers in protecting content integrity and confidentiality by
requiring OPES intermediaries to disclose their presence. Security of requiring OPES intermediaries to disclose their presence. Security
the tracing mechanism is discussed in the Security Considerations of the tracing mechanism is discussed in the Security Considerations
section of [I-D.ietf-opes-end-comm]. section of [RFC3897].
13. Compliance 13. Compliance
This document may be perceived as a proof of OPES compliance with IAB This document may be perceived as a proof of OPES compliance with IAB
implied recommendations. However, this document does not introduce implied recommendations. However, this document does not introduce
any compliance subjects. Compliance of OPES implementations is any compliance subjects. Compliance of OPES implementations is
defined in other OPES documents discussed above. defined in other OPES documents discussed above.
Appendix A. Change Log 14. References
RFC Editor Note: This section is to be removed during the final
publication of the document.
Internal WG revision control ID: $Id: iab-cons.xml,v 1.36 2004/04/12
16:06:52 rousskov Exp $
2004/04/08
* Replaced "Cable Company ISP" Notification example with two new
examples to address IESG uncertainty about the meaning of the
old convoluted example.
* 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.
* 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.
* 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.
* 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.
2003/11/18
* Added an example where an efficient and meaningful notification
protocol can be implemented in OPES.
* Assume Communications draft will contain wording about
documenting impact on reference validity.
* 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.
2003/10/24
* Addressed hop-by-hop encryption concerns mentioned in the IAB
draft.
* Polished IP addressing figure.
* Removed resolved XXXs.
2003/10/01
* Polishing (Abbie Barbir).
2003/09/23
* Added a reference to Optional Notification section of the
ietf-opes-end-comm draft.
* Fixed "Consideration (3.3) Non-blocking" section position.
head-sid15
* Added a figure showing a chain of internal OPES intermediaries
behind a public IP address. Needs more work. More cases?
head-sid14
* 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.
* Polished text explaining the differences between tracing and
notification mechanisms.
* Added examples of OPES/HTTP traces.
* 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).
* Added references to OPES "Communications" draft
[I-D.ietf-opes-end-comm].
head-sid9
* Polished to meet new xml2rfc strict requirements.
head-sid8
* Added unpolished meat for all nine considerations.
* Added Abbie Barbir as an author.
head-sid7
* Initial revision
Normative References 14.1. Normative References
[I-D.ietf-opes-end-comm] [RFC3238] Floyd, S. and L. Daigle, "IAB
Barbir, A., "OPES entities and end points communication", Architectural and Policy Considerations
draft-ietf-opes-end-comm-06 (work in progress), December for Open Pluggable Edge Services", RFC
2003. 3238, January 2002.
[I-D.ietf-opes-architecture] [RFC3752] Barbir, A., Burger, E., Chen, R.,
Barbir, A., "An Architecture for Open Pluggable Edge McHenry, S., Orman, H. and R. Penno,
Services (OPES)", draft-ietf-opes-architecture-04 (work in "Open Pluggable Edge Services (OPES)
progress), December 2002. Use Cases and Deployment Scenarios",
RFC 3752, April 2004.
[I-D.ietf-opes-scenarios] [RFC3835] Barbir, A., Penno, R., Chen, R.,
Barbir, A., "OPES Use Cases and Deployment Scenarios", Hofmann, M., and H. Orman, "An
draft-ietf-opes-scenarios-01 (work in progress), August Architecture for Open Pluggable Edge
2002. Services (OPES)", RFC 3835, August
2004.
[RFC3238] Floyd, S. and L. Daigle, "IAB Architectural and Policy [RFC3897] Barbir, A., "Open Pluggable Edge
Considerations for Open Pluggable Edge Services", RFC Services (OPES) Entities and End Points
3238, January 2002. Communication", RFC 3897, September
2004.
Informative References 14.2. Informative References
[RFC2227] Mogul, J. and P. Leach, "Simple Hit-Metering and [RFC2227] Mogul, J. and P. Leach, "Simple
Usage-Limiting for HTTP", RFC 2227, October 1997. Hit-Metering and Usage-Limiting for
HTTP", RFC 2227, October 1997.
[RFC2616] Fielding, R., Gettys, J., Mogul, J., Nielsen, H., [RFC2616] Fielding, R., Gettys, J., Mogul, J.,
Masinter, L., Leach, P. and T. Berners-Lee, "Hypertext Frystyk, H., Masinter, L., Leach, P.
Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. and T. Berners-Lee, "Hypertext Transfer
Protocol -- HTTP/1.1", RFC 2616, June
1999.
[RFC2817] Khare, R. and S. Lawrence, "Upgrading to TLS Within HTTP/ [RFC2817] Khare, R. and S. Lawrence, "Upgrading
1.1", RFC 2817, May 2000. to TLS Within HTTP/1.1", RFC 2817, May
2000.
[I-D.ietf-opes-http] [I-D.ietf-opes-http] Rousskov, A. and M. Stecher, "HTTP
Rousskov, A. and M. Stecher, "HTTP adaptation with OPES", adaptation with OPES", Work in
draft-ietf-opes-http-01 (work in progress), October 2003. Progress, October 2003.
[I-D.ietf-opes-ocp-core] [I-D.ietf-opes-ocp-core] Rousskov, A., "OPES Callout Protocol
Rousskov, A., "OPES Callout Protocol Core", Core", Work in Progress, November 2003.
draft-ietf-opes-ocp-core-03 (work in progress), November
2003.
Authors' Addresses Authors' Addresses
Abbie Barbir Abbie Barbir
Nortel Networks Nortel Networks
3500 Carling Avenue 3500 Carling Avenue
Nepean, Ontario Nepean, Ontario
CA CA
Phone: +1 613 763 5229 Phone: +1 613 763 5229
EMail: abbieb@nortelnetworks.com EMail: abbieb@nortelnetworks.com
Alex Rousskov Alex Rousskov
The Measurement Factory The Measurement Factory
EMail: rousskov@measurement-factory.com EMail: rousskov@measurement-factory.com
URI: http://www.measurement-factory.com/ URI: http://www.measurement-factory.com/
Intellectual Property Statement Full Copyright Statement
The IETF takes no position regarding the validity or scope of any Copyright (C) The Internet Society (2004).
intellectual property 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; neither does it represent that it
has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11. Copies of
claims of rights made available for publication 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 implementors or users of this specification can
be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any This document is subject to the rights, licenses and restrictions
copyrights, patents or patent applications, or other proprietary contained in BCP 78, and except as set forth therein, the authors
rights which may cover technology that may be required to practice retain all their rights.
this standard. Please address the information to the IETF Executive
Director.
Full Copyright Statement This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/S HE
REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY 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.
Copyright (C) The Internet Society (2004). All Rights Reserved. Intellectual Property
This document and translations of it may be copied and furnished to The IETF takes no position regarding the validity or scope of any
others, and derivative works that comment on or otherwise explain it Intellectual Property Rights or other rights that might be claimed to
or assist in its implementation may be prepared, copied, published pertain to the implementation or use of the technology described in
and distributed, in whole or in part, without restriction of any this document or the extent to which any license under such rights
kind, provided that the above copyright notice and this paragraph are might or might not be available; nor does it represent that it has
included on all such copies and derivative works. However, this made any independent effort to identify any such rights. Information
document itself may not be modified in any way, such as by removing on the IETF's procedures with respect to rights in IETF Documents can
the copyright notice or references to the Internet Society or other be found in BCP 78 and BCP 79.
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be Copies of IPR disclosures made to the IETF Secretariat and any
revoked by the Internet Society or its successors or assignees. 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.
This document and the information contained herein is provided on an The IETF invites any interested party to bring to its attention any
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING copyrights, patents or patent applications, or other proprietary
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING rights that may cover technology that may be required to implement
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION this standard. Please address the information to the IETF at ietf-
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF ipr@ietf.org.
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgment Acknowledgement
Funding for the RFC Editor function is currently provided by the Funding for the RFC Editor function is currently provided by the
Internet Society. Internet Society.
 End of changes. 

This html diff was produced by rfcdiff 1.25, available from http://www.levkowetz.com/ietf/tools/rfcdiff/