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