draft-ietf-opes-architecture-03.txt | draft-ietf-opes-architecture-04.txt | |||
---|---|---|---|---|
Network Working Group Abbie. Barbir | Network Working Group A. Barbir | |||
Internet-Draft Nortel Networks | Internet-Draft Nortel Networks | |||
Expires: January 31, 2003 R. Chen | Expires: June 11, 2003 R. Chen | |||
AT&T Labs | AT&T Labs | |||
M. Hofmann | M. Hofmann | |||
Bell Labs/Lucent Technologies | Bell Labs/Lucent Technologies | |||
H. Orman | H. Orman | |||
Purple Streak Development | Purple Streak Development | |||
R. Penno | R. Penno | |||
Nortel Networks | Nortel Networks | |||
G. Tomlinson | December 11, 2002 | |||
The Tomlinson Group | ||||
August 2, 2002 | ||||
An Architecture for Open Pluggable Edge Services (OPES) | An Architecture for Open Pluggable Edge Services (OPES) | |||
draft-ietf-opes-architecture-03 | draft-ietf-opes-architecture-04 | |||
Status of this Memo | Status of this Memo | |||
This document is an Internet-Draft and is in full conformance with | This document is an Internet-Draft and is in full conformance with | |||
all provisions of Section 10 of RFC2026. | all provisions of Section 10 of RFC2026. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
other groups may also distribute working documents as Internet- | other groups may also distribute working documents as | |||
Drafts. | Internet-Drafts. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
The list of current Internet-Drafts can be accessed at http:// | The list of current Internet-Drafts can be accessed at http:// | |||
www.ietf.org/ietf/1id-abstracts.txt. | www.ietf.org/ietf/1id-abstracts.txt. | |||
The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
This Internet-Draft will expire on January 31, 2003. | This Internet-Draft will expire on June 11, 2003. | |||
Copyright Notice | Copyright Notice | |||
Copyright (C) The Internet Society (2002). All Rights Reserved. | Copyright (C) The Internet Society (2002). All Rights Reserved. | |||
Abstract | Abstract | |||
This memo defines an architecture for a cooperative application | This memo defines an architecture that enables the creation of an | |||
service in which a data provider, a data consumer, and zero or more | application service in which a data provider, a data consumer, and | |||
application entities cooperatively realize a data stream service. | zero or more application entities cooperatively implement a data | |||
stream service. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. The Architecture . . . . . . . . . . . . . . . . . . . . . . 4 | 2. The Architecture . . . . . . . . . . . . . . . . . . . . . . 4 | |||
2.1 OPES Entities . . . . . . . . . . . . . . . . . . . . . . . 4 | 2.1 OPES Entities . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
2.1.1 Data Dispatcher . . . . . . . . . . . . . . . . . . . . . . 4 | 2.1.1 Data Dispatcher . . . . . . . . . . . . . . . . . . . . . . 5 | |||
2.2 OPES Flows . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2.2 OPES Flows . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
2.3 OPES Rules . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 2.3 OPES Rules . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
2.4 Callout Servers . . . . . . . . . . . . . . . . . . . . . . 7 | 2.4 Callout Servers . . . . . . . . . . . . . . . . . . . . . . 7 | |||
2.5 Tracing Facility . . . . . . . . . . . . . . . . . . . . . . 8 | 2.5 Tracing Facility . . . . . . . . . . . . . . . . . . . . . . 9 | |||
3. Security and Privacy Considerations . . . . . . . . . . . . 10 | 3. Security and Privacy Considerations . . . . . . . . . . . . 11 | |||
3.1 Trust Domains . . . . . . . . . . . . . . . . . . . . . . . 10 | 3.1 Trust Domains . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
3.2 Callout protocol . . . . . . . . . . . . . . . . . . . . . . 11 | 3.2 Establishing Trust and Service Authorization . . . . . . . . 12 | |||
3.3 Privacy . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | 3.3 Callout protocol . . . . . . . . . . . . . . . . . . . . . . 13 | |||
3.4 Establishing trust . . . . . . . . . . . . . . . . . . . . . 11 | 3.4 Privacy . . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
3.5 End-to-end Integrity . . . . . . . . . . . . . . . . . . . . 12 | 3.5 End-to-end Integrity . . . . . . . . . . . . . . . . . . . . 14 | |||
4. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 4. IAB Architectural and Policy Considerations for OPES . . . . 15 | |||
References . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 4.1 IAB consideration (2.1) One-party consent . . . . . . . . . 15 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 14 | 4.2 IAB consideration (2.2) IP-layer communications . . . . . . 15 | |||
A. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 16 | 4.3 IAB consideration (3.1 and 3.2) Notification . . . . . . . . 15 | |||
Full Copyright Statement . . . . . . . . . . . . . . . . . . 17 | 4.4 IAB consideration (3.3) Non-blocking . . . . . . . . . . . . 15 | |||
4.5 IAB consideration (4.1) URI resolution . . . . . . . . . . . 15 | ||||
4.6 IAB consideration (4.2) Reference validity . . . . . . . . . 16 | ||||
4.7 IAB consideration (4.3) Application addressing extensions . 16 | ||||
4.8 IAB consideration (5.1) Privacy . . . . . . . . . . . . . . 16 | ||||
5. Security Considerations . . . . . . . . . . . . . . . . . . 17 | ||||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . 18 | ||||
7. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . 19 | ||||
Normative References . . . . . . . . . . . . . . . . . . . . 20 | ||||
Informative References . . . . . . . . . . . . . . . . . . . 21 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 21 | ||||
A. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 23 | ||||
Intellectual Property and Copyright Statements . . . . . . . 24 | ||||
1. Introduction | 1. Introduction | |||
When supplying a data stream service between a provider and a | When supplying a data stream service between a provider and a | |||
consumer, the need may arise to provision the use of other | consumer, the need may arise to provision the use of other | |||
application entities, in addition to the provider and consumer. For | application entities, in addition to the provider and consumer. For | |||
example, some party may wish to customize a data stream as a service | example, some party may wish to customize a data stream as a service | |||
to a consumer. The customization step might be based on the | to a consumer. The customization step might be based on the | |||
customer's resource availability (e.g., display capabilities). | customer's resource availability (e.g., display capabilities). | |||
In some cases in may be beneficial to provide a customization service | In some cases it may be beneficial to provide a customization service | |||
at a network location between the provider and consumer host rather | at a network location between the provider and consumer host rather | |||
than at one of these endpoints. For certain services performed on | than at one of these endpoints. For certain services performed on | |||
end-user behalf this may be the only option of service deployment. | behalf of the end-user, this may be the only option of service | |||
In this case, one or more additional application entities may | deployment. In this case, zero or more additional application | |||
participate in the data stream service. There are many possible | entities may participate in the data stream service. There are many | |||
provisioning scenarios which make a data stream service attractive. | possible provisioning scenarios which make a data stream service | |||
In [1] a description of several scenarios is provided. | attractive. The OPES Use Cases and Deployment Scenarios [1] document | |||
provides examples of OPES services. The document discusses services | ||||
that modify requests, services that modify responses and services | ||||
that create responses. It is recommended that the document on OPES | ||||
Use Cases and Deployment Scenarios [1] be read before reading this | ||||
document. | ||||
This document presents the architectural components of Open Pluggable | This document presents the architectural components of Open Pluggable | |||
Edge Services (OPES) that are needed in order to perform a data | Edge Services (OPES) that are needed in order to perform a data | |||
stream service. The architecture addresses the IAB considerations | stream service. The architecture addresses the IAB considerations | |||
described in [2]. These considerations are covered in the various | described in [2]. These considerations are covered in various parts | |||
parts of the document, specifically with respect to tracing (Section | of the document. Section 2.5 addresses tracing, section 3 addresses | |||
2.5) and security considerations (Section 3). | security considerations. In section 4 a summary of IAB | |||
considerations and how the architecture addresses them is provided. | ||||
The document is organized as follows: Section 2 introduces the OPES | The document is organized as follows: Section 2 introduces the OPES | |||
architecture. Section 3 discusses security considerations. Section | architecture. Section 3 discusses OPES security and privacy | |||
4 provides a summary of the architecture and the requirements for | considerations. Section 4 addresses IAB considerations for OPES. | |||
interoperability. | Section 5 discusses security considerations. Section 6 addresses | |||
IANA considerations. Section 7 provides a summary of the | ||||
architecture and the requirements for interoperability. | ||||
2. The Architecture | 2. The Architecture | |||
The architecture of Open Pluggable Edge Services (OPES) can be | The architecture of Open Pluggable Edge Services (OPES) can be | |||
described in terms of three interrelated concepts, mainly: | described in terms of three interrelated concepts, mainly: | |||
o OPES entities: processes operating in the network; | o OPES entities: processes operating in the network; | |||
o OPES flows: data flows that are cooperatively realized by the | o OPES flows: data flows that are cooperatively realized by the | |||
OPES entities; and, | OPES entities; and, | |||
o OPES rules: these specify when and how to execute OPES | o OPES rules: these specify when and how to execute OPES services. | |||
intermediary services. | ||||
2.1 OPES Entities | 2.1 OPES Entities | |||
An OPES entity is an application that operates on a data flow between | An OPES entity is an application that operates on a data flow between | |||
a data provider application and a data consumer application. OPES | a data provider application and a data consumer application. OPES | |||
entities can be: | entities can be: | |||
o an OPES service application, which analyzes and possibly | o an OPES service application, which analyzes and possibly | |||
transforms messages exchanged between the data provider | transforms messages exchanged between the data provider | |||
application and the data consumer application; | application and the data consumer application; | |||
o a data dispatcher, which invokes an OPES service application based | o a data dispatcher, which invokes an OPES service application based | |||
on OPES ruleset and application-specific knowledge. | on an OPES ruleset and application-specific knowledge. | |||
In the network, OPES entities reside inside OPES processors. The | The cooperative behavior of OPES entities introduces additional | |||
cooperative behavior of OPES entities introduces additional | ||||
functionality for each data flow provided that it matches the OPES | functionality for each data flow provided that it matches the OPES | |||
rules. | rules. In the network, OPES entities reside inside OPES processors. | |||
In the current work, an OPES processor MUST include a data | ||||
dispatcher. Furthermore, the data provider and data consumer | ||||
applications are not considered as OPES entities. | ||||
In the current work, the data provider and data consumer applications | In order to provide verifiable system integrity (see section 3.1 on | |||
are not considered as OPES entities. The OPES architecture is | trust domains below), facilitate deployment of end-to-end encryption | |||
largely independent of the protocol that is used by the OPES entities | and data integrity control , OPES processors MUST be: | |||
to exchange data. However, this document selects HTTP [4] as the | ||||
example for the underlying protocol in OPES flows. | o explicitly addressable at the IP layer by the end user (data | |||
consumer application). This requirement does not preclude a chain | ||||
of OPES processors with the first one in the chain explicitly | ||||
addressed at the IP layer by the end user (data consumer | ||||
application). | ||||
o consented to by either the data consumer or data provider | ||||
application. The details of this process is beyond the scope of | ||||
the current work. | ||||
The OPES architecture is largely independent of the protocol that is | ||||
used by the data provider application and the data consumer | ||||
application to exchange data. However, this document selects HTTP | ||||
[3] as the example for the underlying protocol in OPES flows. | ||||
2.1.1 Data Dispatcher | 2.1.1 Data Dispatcher | |||
Data dispatchers include a ruleset that can be compiled from several | Data dispatchers include a ruleset that can be compiled from several | |||
sources and must resolve into an unambiguous result. The combined | sources and MUST resolve into an unambiguous result. The combined | |||
ruleset enables an OPES processor to determine which service | ruleset enables an OPES processor to determine which service | |||
applications to invoke for which data flow. Accordingly, the data | applications to invoke for which data flow. Accordingly, the data | |||
dispatcher constitutes an enhanced policy enforcement point, where | dispatcher constitutes an enhanced policy enforcement point, where | |||
policy rules are evaluated, service-specific data handlers and state | policy rules are evaluated, service-specific data handlers and state | |||
information is maintained, as depicted in Figure 1. | information is maintained, as depicted in Figure 1. | |||
--------------------------------------------------------------------- | ||||
+----------+ | +----------+ | |||
| callout | | | callout | | |||
| server | | | server | | |||
+----------+ | +----------+ | |||
|| | || | |||
|| | || | |||
|| | || | |||
|| | || | |||
+--------------------------+ | +--------------------------+ | |||
| +----------+ || | | | +-----------+ || | | |||
| | OPES | || | | | | OPES | || | | |||
| | service | || | | | | service | || | | |||
| | appl | || | | | |application| || | | |||
| +----------+ || | | | +-----------+ || | | |||
| +----------------------+ | | | +----------------------+ | | |||
OPES flow <---->| | data dispatcher and | |<----> OPES flow | OPES flow <---->| | data dispatcher and | |<----> OPES flow | |||
| | policy enforcement | | | | | policy enforcement | | | |||
| +----------------------+ | | | +----------------------+ | | |||
| OPES | | | OPES | | |||
| processor | | | processor | | |||
+--------------------------+ | +--------------------------+ | |||
Figure 1: Data Dispatchers | Figure 1: Data Dispatchers | |||
--------------------------------------------------------------------- | The architecture allows for more than one policy enforcement point to | |||
be present on an OPES flow. | ||||
The architecture allows more than one policy enforcement point to be | ||||
present on an OPES flow. | ||||
2.2 OPES Flows | 2.2 OPES Flows | |||
An OPES flow is a cooperative undertaking between a data provider | An OPES flow is a cooperative undertaking between a data provider | |||
application, a data consumer application, zero or more OPES service | application, a data consumer application, zero or more OPES service | |||
applications, and zero or more data dispatchers. | applications, and one or more data dispatchers. | |||
In order to understand the trust relationships between OPES entities, | Since policies are enforced by data dispatchers, the presence of at | |||
each is labeled as residing in an administrative domain. Entities | least one data dispatcher is required in the OPES flow. | |||
associated with a given OPES flow may reside in one or more | ||||
administrative domains. | ||||
For example, Figure 2 depicts a data flow (also known as an "OPES | data OPES OPES data | |||
flow"), that spans two administrative domains. | provider processor A processor N consumer | |||
--------------------------------------------------------------------- | +-----------+ +-----------+ . +-----------+ +-----------+ | |||
| data | | OPES | . | OPES | | data | | ||||
| consumer | | service | . | service | | provider | | ||||
|application| |application| . |application| |application| | ||||
+-----------+ +-----------+ . +-----------+ +-----------+ | ||||
| | | | . | | | | | ||||
| HTTP | | HTTP | . | HTTP | | HTTP | | ||||
| | | | . | | | | | ||||
+-----------+ +-----------+ . +-----------+ +-----------+ | ||||
| TCP/IP | | TCP/IP | . | TCP/IP | | TCP/IP | | ||||
+-----------+ +-----------+ . +-----------+ +-----------+ | ||||
|| || || . || || || | ||||
================ =====.======== =========== | ||||
consumer administrative domain provider administrative domain | | <----------------- OPES flow -------------------> | | |||
+------------------------------+ +------------------------------+ | ||||
| | | | | ||||
| data OPES | | OPES data | | ||||
| consumer processor | | processor provider | | ||||
| | | | | ||||
| +----------+ +--------+ | | +--------+ +----------+ | | ||||
| | data | | OPES | | | | OPES | | data | | | ||||
| | consumer | |service | | | |service | | provider | | | ||||
| | appl | | appl | | | | appl | | appl | | | ||||
| +----------+ +--------+ | | +--------+ +----------+ | | ||||
| | | | | | | | | | | | | ||||
| | HTTP | | HTTP | | | | HTTP | | HTTP | | | ||||
| | | | | | | | | | | | | ||||
| +----------+ +--------+ | | +--------+ +----------+ | | ||||
| | TCP/IP | | TCP/IP | | | | TCP/IP | | TCP/IP | | | ||||
| +----------+ +--------+ | | +--------+ +----------+ | | ||||
| || || || | | || || || | | ||||
| ============= ================= ============= | | ||||
| | | | | ||||
+------------------------------+ +------------------------------+ | ||||
| <----------------- OPES flow -----------------> | | ||||
Figure 2: An OPES flow | Figure 2: An OPES flow | |||
--------------------------------------------------------------------- | ||||
Figure 2 depicts two data dispatchers that are present in the OPES | Figure 2 depicts two data dispatchers that are present in the OPES | |||
flow. However, the architecture allows for zero or more data | flow. The architecture allows for one or more data dispatchers to be | |||
dispatchers to be present in any flow. | present in any flow. | |||
2.3 OPES Rules | 2.3 OPES Rules | |||
OPES policy regarding services and the data provided to them is | OPES policy regarding services and the data provided to them is | |||
determined by a ruleset consisting of OPES rules. The rules consist | determined by a ruleset consisting of OPES rules. The rules consist | |||
of a set of conditions and related actions. The ruleset is the | of a set of conditions and related actions. The ruleset is the | |||
superset of all OPES rules on the processor. The OPES ruleset | superset of all OPES rules on the processor. The OPES ruleset | |||
determines which service applications will operate on a data stream. | determines which service applications will operate on a data stream. | |||
The communication of data stream elements to an application is | In this model, all data dispatchers are invoked for all flows. | |||
performed by data dispatchers. In this model, all data filters are | ||||
invoked for all flows. | ||||
In order to ensure predictable behavior, the OPES architecture | In order to ensure predictable behavior, the OPES architecture | |||
requires the use of a standardized schema for the purpose of defining | requires the use of a standardized schema for the purpose of defining | |||
and interpreting the ruleset. The OPES architecture does not require | and interpreting the ruleset. The OPES architecture does not require | |||
a mechanism for configuring a ruleset into a data dispatcher. This | a mechanism for configuring a ruleset into a data dispatcher. This | |||
is treated as a local matter for each implementation (e.g., through | is treated as a local matter for each implementation (e.g., through | |||
the use of a text editor, secure upload protocol, and so on). Future | the use of a text editor, secure upload protocol, and so on), as long | |||
revisions of the architecture may introduce such a requirement. | as such mechanism complies with the requirements set forth in section | |||
3. | ||||
2.4 Callout Servers | 2.4 Callout Servers | |||
The evaluation of OPES ruleset determines which service applications | The evaluation of the OPES ruleset determines which service | |||
will operate on a data stream. How the ruleset is evaluated is not | applications will operate on a data stream. How the ruleset is | |||
the subject of the architecture, except to note that it must result | evaluated is not the subject of the architecture, except to note that | |||
in the same unambiguous result in all implementations. | it MUST result in the same unambiguous result in all implementations. | |||
In some cases it may be useful for the OPES processor to distribute | In some cases it may be useful for the OPES processor to distribute | |||
the responsibility of service evaluation by communicating with one or | the responsibility of service execution by communicating with one or | |||
more callout servers. A data dispatcher invokes the services of a | more callout servers. A data dispatcher invokes the services of a | |||
callout server by using the OPES callout protocol (OCP). The | callout server by using the OPES callout protocol (OCP). The | |||
requirements for the OCP are given in [7]. The OCP is application- | requirements for the OCP are given in [6]. The OCP is application- | |||
agnostic, being unaware of the semantics of the encapsulated | agnostic, being unaware of the semantics of the encapsulated | |||
application protocol (e.g., HTTP). However, the OCP must | application protocol (e.g., HTTP). However, the data dispatcher MUST | |||
incorporate a service aware vectoring capability that parses the data | incorporate a service aware vectoring capability that parses the data | |||
flow according to the ruleset and delivers the data to the OPES | flow according to the ruleset and delivers the data to either the | |||
service application that can be local or remote. | local or remote OPES service application. | |||
In this model, OPES applications may be executed either on the same | ||||
processor (or even in the same application environment) with the | ||||
dispatcher or on a different OPES processor through OCP. The general | ||||
interaction situation is depicted in Figure 3, which illustrates the | ||||
positions and interaction of different components of OPES | ||||
architecture. | ||||
--------------------------------------------------------------------- | The general interaction situation is depicted in Figure 3, which | |||
illustrates the positions and interaction of different components of | ||||
OPES architecture. | ||||
+--------------------------+ | +--------------------------+ | |||
| +----------+ | | | +-----------+ | | |||
| | OPES | | | | | OPES | | | |||
| | service | | +---------------+ +-----------+ | | | service | | +---------------+ +-----------+ | |||
| | appl | | |Callout Server | | Callout | | | |application| | | Callout | | Callout | | |||
| +----------+ | | A | | Server | | | +-----------+ | | Server A | | Server X | | |||
| || | | +--------+ | | X | | | || | | +--------+ | | | | |||
| +----------------------+ | | | OPES | | | | | | +----------------------+ | | | OPES | | | | | |||
| | data dispatcher | | | | Service| | | +--------+| | | | data dispatcher | | | | Service| | | +--------+| | |||
| +----------------------+ | | | App2 | | | | OPES || | | +----------------------+ | | | Appl A | | | | OPES || | |||
| || | | +--------+ | | |Service || | | || || | | +--------+ | | |Service || | |||
| +-------+ | | || | | | AppX || | | +---------+ +-------+ | | || | | | Appl X || | |||
| +---------+ | | | | +--------+ | ... | +--------|| | | | HTTP | | | | | +--------+ | ... | +--------|| | |||
| | HTTP | | OCP |=========| | OCP | | | || | | | | | | OCP |=========| | OCP | | | || | | |||
| +---------| +-------+ | | +--------+ | | +------+ | | | +---------+ +-------+ | | +--------+ | | +------+ | | |||
| +---------+ || | +---------------+ | | OCP | | | | | | || | +---------------+ | | OCP | | | |||
| | | =======================================| | | | | | TCP/IP | =======================================| | | | |||
| | | | | +------+ | | | | | | | +------+ | | |||
| | TCP/IP | | | | | | +---------+ | +-----------+ | |||
=====| | |============== OPES ====== | | | +--------||-||-------------+ | |||
| +---------+ | Data Flow +-----------+ | || || | |||
+--------------------------+ | +--------+ || || +--------+ | |||
|data |== =========================================|data | | ||||
|producer| |consumer| | ||||
+--------+ +--------+ | ||||
Figure 3: Interaction of OPES Entities | Figure 3: Interaction of OPES Entities | |||
--------------------------------------------------------------------- | ||||
2.5 Tracing Facility | 2.5 Tracing Facility | |||
The OPES architecture requires that each data dispatcher to provide | The OPES architecture requires that each data dispatcher provides | |||
tracing facilities that allow the appropriate verification of its | tracing facilities that allow the appropriate verification of its | |||
operation. The OPES architecture requires that tracing be feasible | operation. The OPES architecture requires that tracing be feasible | |||
on the OPES flow per OPES processor using in-band annotation. One | on the OPES flow per OPES processor using in-band annotation. One of | |||
of those annotations could be a URI with more detailed information on | those annotations could be a URI with more detailed information on | |||
the transformation that occurred to the data on the OPES flow. | the OPES services being executed in the OPES flow. | |||
Providing the ability for in-band annotation MAY require header | Providing the ability for in-band annotation MAY require header | |||
extensions on the application protocol that is used (e.g., HTTP). | extensions on the application protocol that is used (e.g., HTTP). | |||
However, the presence of an OPES processor in the data request/ | However, the presence of an OPES processor in the data request/ | |||
response flow SHALL NOT interfere with the operations of non-OPES | response flow SHALL NOT interfere with the operations of non-OPES | |||
aware clients and servers. The support of these extensions to the | aware clients and servers. The support of these extensions to the | |||
base protocol HTTP is not required by non-OPES clients and servers. | base protocol HTTP is not required by non-OPES clients and servers. | |||
OPES processors must obey tracing, reporting and notification | OPES processors MUST obey tracing, reporting and notification | |||
requirements set by the center of authority in the trust domain to | requirements set by the center of authority in the trust domain to | |||
which OPES processor belongs. As part of these requirements OPES | which OPES processor belongs. As part of these requirements OPES | |||
processor may be instructed to reject or ignore such requirements | processor may be instructed to reject or ignore such requirements | |||
that originate from other trust domains. | that originate from other trust domains. | |||
3. Security and Privacy Considerations | 3. Security and Privacy Considerations | |||
Each data flow must be secured in accordance with several policies. | Each data flow MUST be secured in accordance with several policies. | |||
The primary stakeholders are the data consumer and the data provider. | The primary stakeholders are the data consumer and the data provider. | |||
The secondary stakeholders are the entities to which they may have | The secondary stakeholders are the entities to which they may have | |||
delegated their trust. The other stakeholders are the owners of the | delegated their trust. The other stakeholders are the owners of the | |||
callout servers. Any of these parties may be participants in the | callout servers. Any of these parties may be participants in the | |||
OPES flow. | OPES flow. | |||
These parties must have a model, explicit or implicit, describing | These parties MUST have a model, explicit or implicit, describing | |||
their trust policy; which of the other parties are trusted to operate | their trust policy; which of the other parties are trusted to operate | |||
on data, and what security enhancements are required for | on data, and what security enhancements are required for | |||
communication. The trust might be delegated for all data, or it | communication. The trust might be delegated for all data, or it | |||
might be restricted to granularity as small as an application data | might be restricted to granularity as small as an application data | |||
unit. | unit. | |||
All parties that are involved in enforcing policies must communicate | All parties that are involved in enforcing policies MUST communicate | |||
the policies to the parties that are involved. These parties are | the policies to the parties that are involved. These parties are | |||
trusted to adhere to the communicated policies. | trusted to adhere to the communicated policies. | |||
In order to delegate fine-grained trust, the parties must convey | In order to delegate fine-grained trust, the parties MUST convey | |||
policy information by implicit contract, by a setup protocol, by a | policy information by implicit contract, by a setup protocol, by a | |||
dynamic negotiation protocol, or in-line with application data | dynamic negotiation protocol, or in-line with application data | |||
headers. | headers. | |||
3.1 Trust Domains | 3.1 Trust Domains | |||
The delegation of authority starts at either a data consumer or data | The delegation of authority starts at either a data consumer or data | |||
provider and moves to more distant entities in a "stepwise" fashion. | provider and moves to more distant entities in a "stepwise" fashion. | |||
Stepwise means A delegates to B and B delegates to C and so forth. | Stepwise means A delegates to B and B delegates to C and so forth. | |||
The entities thus "colored" by the delegation are said to form a | The entities thus "colored" by the delegation are said to form a | |||
trust domain with respect to the original delegating party. Here, | trust domain with respect to the original delegating party. Here, | |||
"Colored" means that if the first step in the chain is the data | "Colored" means that if the first step in the chain is the data | |||
provider, then the stepwise delegation "colors" the chain with that | provider, then the stepwise delegation "colors" the chain with that | |||
data "provider" color. The only colors that are defined are the data | data "provider" color. The only colors that are defined are the data | |||
"provider" and the data "consumer". Delegation of authority | "provider" and the data "consumer". Delegation of authority | |||
(coloring) propagates from the content producer start of authority or | (coloring) propagates from the content producer start of authority or | |||
from the content consumer start of authority, that may be different | from the content consumer start of authority, that may be different | |||
from the end points in the data flow. | from the end points in the data flow. | |||
Figure 4 illustrates administrative domains and out-of-band rules and | ||||
policy distribution. | ||||
provider administrative domain consumer administrative domain | ||||
+------------------------------+ +-------------------------------+ | ||||
| +--------------+ | | +--------------+ | | ||||
| |Provider | <- out-of-band rules, -> |Consumer | | | ||||
| |Administrative|~~>~~~: policies and ~<~|Administrative| | | ||||
| |Authority | : service authorization : |Authority | | | ||||
| +--------------+ : | | : +--------------+ | | ||||
| : : | | : : | | ||||
| : : | | : : | | ||||
| +----------+ : | | : +----------+ | | ||||
| | callout | +---------+ | | +---------+ | callout | | | ||||
| | server |====| | | | | |====| server | | | ||||
| +----------+ | | | | | | +----------+ | | ||||
| | OPES | | | | OPES | | | ||||
| +----------+ |processor| | | |processor| +----------+ | | ||||
| | | | | | | | | | | | | ||||
| | data | | | | | | | | data | | | ||||
| | provider | | | | | | | | consumer | | | ||||
| | | +---------+ | | +---------+ +----------+ | | ||||
| +----------+ || || | | || || +----------+ | | ||||
| || || || | | || || || | | ||||
| ============= ================= =========== | | ||||
| | | | | ||||
+-------------------------------+ +-------------------------------+ | ||||
| <----------------- OPES flow -----------------> | | ||||
Figure 4: OPES administrative domains and policy distribution | ||||
In order to understand the trust relationships between OPES entities, | ||||
each is labeled as residing in an administrative domain. Entities | ||||
associated with a given OPES flow may reside in one or more | ||||
administrative domains. | ||||
An OPES processor may be in several trust domains at any time. There | An OPES processor may be in several trust domains at any time. There | |||
is no restriction on whether the OPES processors are authorized by | is no restriction on whether the OPES processors are authorized by | |||
data consumers and/or data providers. The original party has the | data consumers and/or data providers. The original party has the | |||
option of forbidding or limiting redelegation. | option of forbidding or limiting redelegation. | |||
An OPES processor must have a representation of its trust domain | An OPES processor MUST have a representation of its trust domain | |||
memberships that it can report in whole or in part for tracing | memberships that it can report in whole or in part for tracing | |||
purposes. It must include the name of the party which delegated each | purposes. It MUST include the name of the party that delegated each | |||
privilege to it. | privilege to it. | |||
3.2 Callout protocol | 3.2 Establishing Trust and Service Authorization | |||
The OPES processor will have configuration policy specifying what | ||||
privileges the callout servers have and how they are to be | ||||
identified. OPES uses standard protocols for authentication and | ||||
otherwise security communication with callout servers. | ||||
An OPES processor will have a trusted method for receiving | ||||
configuration information such as rules for the data dispatcher, | ||||
trusted callout servers, primary parties that opt-in or opt-out of | ||||
individual services, etc. | ||||
Protocol(s) for policy/rule distribution are out of scope for this | ||||
document, but the OPES architecture assumes the existence of such a | ||||
mechanism. | ||||
Requirements for authorization mechanism are set in a separate | ||||
document. | ||||
Certain service requests, positive or negative, may be done in-band | ||||
(for example OPES service bypass request, e.g. User agent can insert | ||||
an HTTP header like "Bypass-OPES"). Such requests MUST be | ||||
authenticated. The way OPES entities will honor such requests is | ||||
subordinate to the authorization policies effective at that moment. | ||||
3.3 Callout protocol | ||||
The determination of whether or not OPES processors will use the | The determination of whether or not OPES processors will use the | |||
measures that are described in the previous section during their | measures that are described in the previous section during their | |||
communication with callout servers depends on the details of how the | communication with callout servers depends on the details of how the | |||
primary parties delegated trust to the OPES processors and the trust | primary parties delegated trust to the OPES processors and the trust | |||
relationship between the OPES processors and the callout server. If | relationship between the OPES processors and the callout server. If | |||
the OPES processors are in a single administrative domain with strong | the OPES processors are in a single administrative domain with strong | |||
confidentiality guarantees, then encryption may be optional. | confidentiality guarantees, then encryption may be optional. | |||
However, it is recommended that for all cases that encryption and | However, it is recommended that for all cases that encryption and | |||
strong authentication be used. | strong authentication be used. | |||
If the delegation mechanism names the trusted parties and their | If the delegation mechanism names the trusted parties and their | |||
privileges in some way that permits authentication, then the OPES | privileges in some way that permits authentication, then the OPES | |||
processors will be responsible for enforcing the policy and for using | processors will be responsible for enforcing the policy and for using | |||
authentication as part of that enforcement. | authentication as part of that enforcement. | |||
The callout servers must be aware of the policy governing the | The callout servers MUST be aware of the policy governing the | |||
communication path. They must not, for example, communicate | communication path. They MUST not, for example, communicate | |||
confidential information to auxiliary servers outside the trust | confidential information to auxiliary servers outside the trust | |||
domain. | domain. | |||
A separate security association must be used for each channel | A separate security association MUST be used for each channel | |||
established between an OPES processor and a callout server. The | established between an OPES processor and a callout server. The | |||
channels must be separate for different primary parties. | channels MUST be separate for different primary parties. | |||
3.3 Privacy | 3.4 Privacy | |||
Some data from data consumers is considered "private" or "sensitive", | Some data from data consumers is considered "private" or "sensitive", | |||
and OPES processors must both advise the primary parties of the their | and OPES processors MUST both advise the primary parties of their | |||
privacy policy and respect the policies of the primary parties. The | privacy policy and respect the policies of the primary parties. The | |||
privacy information must be conveyed on a per-flow basis. | privacy information MUST be conveyed on a per-flow basis. This can | |||
be accomplished by using current available privacy techniques such as | ||||
P3P [9] and HTTP privacy capabilities. | ||||
The callout servers must also participate in handling of private | The callout servers MUST also participate in the handling of private | |||
data, and they must be prepared to announce their own capabilities | data, and they MUST be prepared to announce their own capabilities | |||
and to enforce the policy required by the primary parties. | and to enforce the policy required by the primary parties. | |||
3.4 Establishing trust | ||||
The OPES processor will have configuration policy specifying what | ||||
privileges the callout servers have and how they are to be | ||||
identified. This is especially critical for third-party (fourth- | ||||
party, etc.) callout servers. OPES uses standard protocols for | ||||
authenticating and otherwise security communication with callout | ||||
servers. | ||||
An OPES processor will have a trusted method for receiving | ||||
configuration information such as rules for the data dispatcher, | ||||
trusted callout servers, primary parties that opt-in or opt-out of | ||||
individual services, etc. | ||||
3.5 End-to-end Integrity | 3.5 End-to-end Integrity | |||
Digital signature techniques can be used to mark data changes in such | Digital signature techniques can be used to mark data changes in such | |||
a way that a third-party can verify that the changes are or are not | a way that a third-party can verify that the changes are or are not | |||
consistent with the originating party's policy. This requires an | consistent with the originating party's policy. This requires an | |||
inline manner of specifying policy and its binding to data, a trace | inline manner of specifying policy and its binding to data, a trace | |||
of changes and the party making the changes, and strong identities | of changes and the party making the changes, and strong identities | |||
and authentication methods. | and authentication methods. | |||
Strong end-to-end integrity can fulfill some of the functions | Strong end-to-end integrity can fulfill some of the functions | |||
required by "tracing". | required by "tracing". | |||
4. Summary | 4. IAB Architectural and Policy Considerations for OPES | |||
This section addresses the IAB considerations for OPES [2] and | ||||
summarizes how the architecture addresses them. | ||||
4.1 IAB consideration (2.1) One-party consent | ||||
The IAB recommends that all OPES services are explicitly authorized | ||||
by one of the application-layer end-hosts (that is, either the data | ||||
consumer application or the data provider application). | ||||
The current work requires that either the data consumer application | ||||
or the data provider application consent to OPES services. These | ||||
requirements have been addressed in sections 2 (section 2.1) and 3. | ||||
4.2 IAB consideration (2.2) IP-layer communications | ||||
The IAB recommends that OPES processors must be explicitly addressed | ||||
at the IP layer by the end user (data consumer application). | ||||
This requirement has been addressed in section 2.1, whereby the | ||||
architecture requires that OPES processors be addressable at the IP | ||||
layer by the data consumer application. | ||||
4.3 IAB consideration (3.1 and 3.2) Notification | ||||
The IAB recommends that the OPES architecture incorporates tracing | ||||
facilities. Tracing enables data consumer and data provider | ||||
applications to detect and respond to actions performed by OPES | ||||
processors that are deemed inappropriate to the data consumer or data | ||||
provider applications. | ||||
Section 3.2 of this document discusses the tracing and notification | ||||
facilities that must be supported by OPES services. | ||||
4.4 IAB consideration (3.3) Non-blocking | ||||
The OPES architecture requires the specification of extensions to | ||||
HTTP. These extension will provide the data consumer application to | ||||
request a non-OPES version of the content from the data provider | ||||
application. These requirements is covered in Section 3.2 | ||||
4.5 IAB consideration (4.1) URI resolution | ||||
This consideration recommends that OPES documentation must be clear | ||||
in describing that OPES services as being applied to the result of | ||||
URI resolution, not as URI resolution itself. | ||||
This requirement has been addressed in sections 2.5 and 3.2, whereby | ||||
the proposed architecture requires OPES entities to document all the | ||||
transformations that have been performed. | ||||
4.6 IAB consideration (4.2) Reference validity | ||||
This consideration recommends that all proposed services must define | ||||
their impact on inter- and intra-document reference validity. | ||||
This requirement has been addressed in section 2.5 and throughout the | ||||
document whereby OPES entities is required to document the performed | ||||
transformations. | ||||
4.7 IAB consideration (4.3) Application addressing extensions | ||||
This consideration recommends that any OPES services that cannot be | ||||
achieved while respecting the above two considerations may be | ||||
reviewed as potential requirements for Internet application | ||||
addressing architecture extensions, but must not be undertaken as ad | ||||
hoc fixes. | ||||
The current work does not require extensions of the Internet | ||||
application addressing architecture. | ||||
4.8 IAB consideration (5.1) Privacy | ||||
This consideration recommends that the overall OPES framework must | ||||
provide for mechanisms for end users to determine the privacy | ||||
policies of OPES intermediaries. | ||||
This consideration has been addressed in section 3. | ||||
5. Security Considerations | ||||
The proposed work has to deal with security from various prospective. | ||||
There are security and privacy issues that relate to data consumer | ||||
application, callout protocol and the OPES flow. In [7] threat | ||||
analysis of OPES entities are discussed. | ||||
6. IANA Considerations | ||||
The proposed work will evaluate current protocols for OCP. If the | ||||
work determines that a new protocol need to be developed, then there | ||||
may be a need to request new numbers from IANA. | ||||
7. Summary | ||||
Although the architecture supports a wide range of cooperative | Although the architecture supports a wide range of cooperative | |||
transformation services, it has few requirements for | transformation services, it has few requirements for | |||
interoperability. | interoperability. | |||
The necessary and sufficient elements are specified in the following | The necessary and sufficient elements are specified in the following | |||
documents: | documents: | |||
o the OPES ruleset schema [6] which defines the syntax and semantics | o the OPES ruleset schema [5] which defines the syntax and semantics | |||
of the rules interpreted by a data dispatcher; and, | of the rules interpreted by a data dispatcher; and, | |||
o the OPES callout protocol (OCP) [7] which defines the requirements | o the OPES callout protocol (OCP) [6] which defines the requirements | |||
for the protocol between a data dispatcher and a callout server. | for the protocol between a data dispatcher and a callout server. | |||
References | Normative References | |||
[1] McHenry, S., et. al, "OPES Scenarios and Use Cases", Internet- | [1] McHenry, S., et. al, "OPES Scenarios and Use Cases", | |||
Draft TBD, May 2002. | Internet-Draft TBD, May 2002. | |||
[2] Floyd, S. and L. Daigle, "IAB Architectural and Policy | [2] Floyd, S. and L. Daigle, "IAB Architectural and Policy | |||
Considerations for Open Pluggable Edge Services", RFC 3238, | Considerations for Open Pluggable Edge Services", RFC 3238, | |||
January 2002. | January 2002. | |||
[3] Westerinen, A., Schnizlein, J., Strassner, J., Scherling, M., | [3] Fielding, R., Gettys, J., Mogul, J., Nielsen, H., Masinter, L., | |||
Quinn, B., Herzog, S., Huynh, A., Carlson, M., Perry, J. and S. | ||||
Waldbusser, "Terminology for Policy-Based Management", RFC 3198, | ||||
November 2001. | ||||
[4] Fielding, R., Gettys, J., Mogul, J., Nielsen, H., Masinter, L., | ||||
Leach, P. and T. Berners-Lee, "Hypertext Transfer Protocol -- | Leach, P. and T. Berners-Lee, "Hypertext Transfer Protocol -- | |||
HTTP/1.1", RFC 2616, June 1999. | HTTP/1.1", RFC 2616, June 1999. | |||
[5] OPES working group, "OPES Service Authorization and Enforcement | [4] OPES working group, "OPES Service Authorization and Enforcement | |||
Requirements", Internet-Draft TBD, May 2002. | Requirements", Internet-Draft TBD, May 2002. | |||
[6] OPES working group, "OPES Ruleset Schema", Internet-Draft TBD, | [5] OPES working group, "OPES Ruleset Schema", Internet-Draft TBD, | |||
May 2002. | May 2002. | |||
[7] A. Beck et al., "Requirements for OPES Callout Protocols", | [6] A. Beck et al., "Requirements for OPES Callout Protocols", | |||
Internet-Draft http://www.ietf.org/internet-drafts/draft-ietf- | Internet-Draft http://www.ietf.org/internet-drafts/ | |||
opes-protocol-reqs-00.txt, May 2002. | draft-ietf-opes-protocol-reqs-03.txt, December 2002. | |||
[7] A. Barbir et al., "Security Threats and Risks for Open Pluggable | ||||
Edge Services", Internet-Draft http://www.ietf.org/ | ||||
internet-drafts/draft-ietf-opes-threats-00.txt, October 2002. | ||||
Informative References | ||||
[8] Westerinen, A., Schnizlein, J., Strassner, J., Scherling, M., | ||||
Quinn, B., Herzog, S., Huynh, A., Carlson, M., Perry, J. and S. | ||||
Waldbusser, "Terminology for Policy-Based Management", RFC 3198, | ||||
November 2001. | ||||
[9] L. Cranor, et. al, "The Platform for Privacy Preferences 1.0 | ||||
(P3P1.0) Specification", W3C Recommendation 16 http:// | ||||
www.w3.org/TR/2002/REC-P3P-20020416/ , April 2002. | ||||
Authors' Addresses | Authors' Addresses | |||
Abbie Barbir | Abbie Barbir | |||
Nortel Networks | Nortel Networks | |||
3500 Carling Avenue | 3500 Carling Avenue | |||
Nepean, Ontario K2H 8E9 | Nepean, Ontario K2H 8E9 | |||
Canada | Canada | |||
Phone: +1 613 763 5229 | Phone: +1 613 763 5229 | |||
skipping to change at page 15, line 25 | skipping to change at page 22, line 4 | |||
Room 4F-513 | Room 4F-513 | |||
101 Crawfords Corner Road | 101 Crawfords Corner Road | |||
Holmdel, NJ 07733 | Holmdel, NJ 07733 | |||
US | US | |||
Phone: +1 732 332 5983 | Phone: +1 732 332 5983 | |||
EMail: hofmann@bell-labs.com | EMail: hofmann@bell-labs.com | |||
Hilarie Orman | Hilarie Orman | |||
Purple Streak Development | Purple Streak Development | |||
EMail: ho@alum.mit.edu | EMail: ho@alum.mit.edu | |||
Reinaldo Penno | Reinaldo Penno | |||
Nortel Networks | Nortel Networks | |||
4555 Great America Parkway | 2305 Mission College Boulevard | |||
Santa Clara, CA 95054 | San Jose, CA 95134 | |||
US | US | |||
Phone: | ||||
EMail: rpenno@nortelnetworks.com | EMail: rpenno@nortelnetworks.com | |||
Gary Tomlinson | Appendix A. Acknowledgements | |||
The Tomlinson Group | ||||
EMail: gary@tomlinsongroup.net | This document is the product of OPES WG. Oskar Batuner (Independent | |||
consultant) and Andre Beck (Lucent) are additional authors that have | ||||
contributed to this current document. | ||||
Appendix A. Acknowledgements | Earlier versions of this work was done by Gary Tomlinson (The | |||
Tomlinson Group) and Michael Condry (Intel). | ||||
The authors gratefully acknowledge the contributions of: Marshall T. | The authors gratefully acknowledge the contributions of: John Morris, | |||
Rose, John Morris, Oskar Batuner, Mark Baker and Ian Cooper. | Mark Baker, Ian Cooper and Marshall T. Rose. | |||
Intellectual Property Statement | ||||
The IETF takes no position regarding the validity or scope of any | ||||
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 | ||||
copyrights, patents or patent applications, or other proprietary | ||||
rights which may cover technology that may be required to practice | ||||
this standard. Please address the information to the IETF Executive | ||||
Director. | ||||
Full Copyright Statement | Full Copyright Statement | |||
Copyright (C) The Internet Society (2002). All Rights Reserved. | Copyright (C) The Internet Society (2002). All Rights Reserved. | |||
This document and translations of it may be copied and furnished to | This document and translations of it may be copied and furnished to | |||
others, and derivative works that comment on or otherwise explain it | others, and derivative works that comment on or otherwise explain it | |||
or assist in its implementation may be prepared, copied, published | or assist in its implementation may be prepared, copied, published | |||
and distributed, in whole or in part, without restriction of any | and distributed, in whole or in part, without restriction of any | |||
kind, provided that the above copyright notice and this paragraph are | kind, provided that the above copyright notice and this paragraph are | |||
included on all such copies and derivative works. However, this | included on all such copies and derivative works. However, this | |||
document itself may not be modified in any way, such as by removing | document itself may not be modified in any way, such as by removing | |||
the copyright notice or references to the Internet Society or other | the copyright notice or references to the Internet Society or other | |||
Internet organizations, except as needed for the purpose of | Internet organizations, except as needed for the purpose of | |||
developing Internet standards in which case the procedures for | developing Internet standards in which case the procedures for | |||
copyrights defined in the Internet Standards process must be | copyrights defined in the Internet Standards process must be | |||
followed, or as required to translate it into languages other than | followed, or as required to translate it into languages other than | |||
English. | English. | |||
The limited permissions granted above are perpetual and will not be | The limited permissions granted above are perpetual and will not be | |||
revoked by the Internet Society or its successors or assigns. | revoked by the Internet Society or its successors or assignees. | |||
This document and the information contained herein is provided on an | This document and the information contained herein is provided on an | |||
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING | "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING | |||
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING | TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING | |||
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION | BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION | |||
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF | HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF | |||
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | |||
Acknowledgement | Acknowledgement | |||
End of changes. | ||||
This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/ |