ietf-openproxy
[Top] [All Lists]

Re: WG Last Call: draft-ietf-opes-architecture-00

2002-05-20 02:42:31

There's nothing like a last-call to raise a reviewer's priorities, right?-)

I approach this document on the assumption that (based on its title) it is to be a basis for designing and understanding OPES protocol elements. I think it starts off quite well, but then descends into a morass of vague hand-waving whose design intent is hard to fathom. Much of the later parts of the document seem to be a catalogue of requirements rather than the design elements that I would expect in an "architecture". For example, I would expect an "architecture" document to enumerate the various components that must be specified to make up the OPES specification.

Also, I think that there are some serious problems with tracing facilities sketched in section 2.6.

And I think that, as a starting point for other aspects of OPES design, it would be appropriate to include a collected glossary in this document.


And so to detail:

Section 1
---------

The first paragraph mentions customization based on geographical locality. Taking this as an example, I didn't notice anything later in the document about the source of information that an OPES processor might use as the basis for customization services. I think some discussion might be appropriate; e.g. is any such customization to be based on information provided by the party with respect of whom the customization is being performed? Or conversely, If I connect via an ISP in a foreign country, might I expect to get information customized for that country? I think such sources of information should at least be clearly identified in any trace information.


Section 2.0
-----------
Do OPES entiries include the provider and consumer? It's not clear to me. The second bullet here suggests "yes", but elsewhere suggests "no".


Section 2.1
-----------
The distinctive roles of OPES service application and data dispatchers aren't entirely clear. I would expect what you describe as an "Opes service application" that sits on the provider-consumer flow to contain the architectural elements you describe under "data dispatcher".


Section 2.2
-----------
Where you say "one or more OPES service applications" and "one or more data dispatchers" I think you mean "zero or more". Later you mention "zero or more..."

2nd para: I found this description rather woolly. Would any significant meaning be lost if the second sentence of this paragraph were to be deleted?


Section 2.3
-----------
It seems to me that the OPES rules are a cornerstone of the architecture, but very little is said about them.

Section 2.4
-----------
Maybe this is just a personal preference, but talking about "executing" a ruleset seems to be very implementation-choice-oriented; would "evaluating" not be closer to what you mean here?

You also discuss using "the OPES callout protocol", which seems to say there is a single such protocol. It is not clear to me why there needs to be a single such protocol, as different dispatcher/server combinations might use different protocols according to the needs of the application. For example, I'd imagine a session-oriented protocol appropriate for an HTTP callout service, but for processing email flows a callout protocol based on email style messaging, or file sharing, might be more appropriate.

Maybe there are reasons for defining a single protocol here: if so, I think they should be explained.

The final sentence of the final paragraph is impenetrable to me. What's this "...service aware vectoring capability that parses the data flow according to the ruleset..."?

And a typo in the final para:  "detremine".


Section 2.6
-----------
I think this section is very weak. It manages to impose questionable implementation decisions without providing any real guidance about how tracing is to be provided.

Specifically, it calls for "in-band annotation through header extensions on the application protocol". I believe that this approach will mean that the tracing facility is effectively unusable at Internet scale, because it depends on protocol extensions that will be largely unimplemented by the end systems who need access to the diagnostic information.

I recently encountered a real problem that will illustrate my concern here: my wife works from home as editorial manager for a website. Recently, she was reviewing website content and was getting old data when all the other parties involved were getting new data. This occurred with different browsers, after cache-flushing, etc., so was almost certainly not a local problem. It most likely was a fault in an intermediate transparent cache. Now, I think this is exactly the kind of problem that OPES tracing should be able to diagnose. For this to be useful, I'd say it must be possible to access the traces without any extensions to the protocol whose flow is being serviced by OPES.

The sort of design I might suggest would be that an OPES intermediary maintains an audit of services that are applied, possibly for a limited time. This audit should be accessible to affected clients using standard features of the protocol whose flow is being OPES-serviced.


Section 3
---------
I think this whole section needs more work -- I found this had a kind of motherhood-and-apple-pie flavour, without providing much in the way of real information about how the security issues are to be handled. Or at least determining what OPES component is responsible for what aspects of the security issues raised.


Section 3.2
-----------
This touches on an area where I take issue with the IAB requirements on OPES (and have posted my comments elsewhere).

[[
   The primary data flow occurs between the data provider and the data
   consumer.  OPES must not interfere with the capability of these
   parties to use end-to-end authentication and confidentiality.
]]

Consider the case of an employee working for a corporation. I is the employee or the corporation considered to be the "data provider" or "data consumer" here. I particular, is OPES required to allow an employee to send encrypted data out of the organization without examination by an intermediary system?

In terms of OPES architecture (as I understand it), I think the employee is the end system here, and the corporate network may contain OPES intermediaries that prohibit the data flows that OPES is hereby prohibited from interfering with. That is how content filtering systems with which I am familiar are deployed. I think the requirements need to be refined.

#g
--

At 10:01 PM 5/18/02 -0400, Markus Hofmann wrote:

Since there haven't been any comments on the published OPES Architecture draft so far, we're issuing a Working Group last call on this draft:

This is an OPES Working Group Last Call for comments on
draft-ietf-opes-architecture-00. This last call closes Sunday, June 2, 2002. Please post any final comments you have on the draft to this list by that date. If there are no substantive technical issues raised by June 2, we will forward this document to the IESG for publication as Informational.

The draft is available at

http://www.ietf.org/internet-drafts/draft-ietf-opes-architecture-00.txt

-------------------
Graham Klyne
<GK(_at_)NineByNine(_dot_)org>