Subject: Re: draft-ietf-wrec-taxonomy-03a.txt

From: Joe Touch <[email-masked]>
Date: Mon, 22 Nov 1999 16:10:53 -0800 (PST)

> :: Transparent means "not detectable at some layer" - in this case,
> :: it is the application that cannot detect it.
> 
> Finding their presence really is not particularly hard [*].. 

At the application layer, it is. If you're only looking at the
application data in the packets, you can't tell it's been redirected
and responded by the cache. You need to look at the network layer
headers to know.

> we don't need to have this fight again though.. I'm in no way trying
> to get the taxonomy to rag on ntp's more.. I just want this definition
> to match the one for traffic redirection which says that it is "used
> to deploy (caching) proxies without the need to manually reconfigure
> individual user agents, or to force the use of a proxy where such use
> would not otherwise occur." the document already says that.

The primary reason for wanting a NTP is to avoid explicit 
client/downstream proxy configuration; however, that's not _what_
a NTP is, that's _why_ it is.

> I was pretty sure that the definition included in this paragraph was
> meant to mean (casually) "they give you a semantically similar
> response as the one a client would have received to the exact same
> request made not in their presence".. which is to say that to use
> them, the client need not take specific action... which is fine by
> me. Giving me an old coke when I ask for a soda from a store that used
> to serve coke but now serves pepsi is close.. it's probably even
> acceptable for a short period of time; but it's not "not detectable"
> at the application layer.

Agreed.

> :: >       A and B are clearly not true.. C is probably true, but I don't
> :: >     think it's the motivation for the statement.. so I think it must
> :: >     mean D.. so how about: "The use of this type of proxy requires no
> :: >     configuration either by the user or the client."
> :: 
> :: "No configuration", "user", and "client" do not necessarily apply.
> 
> I think you're just being contrary, but I'll bite. Why not?
> (understanding that user means 'operator of the user agent' not
> 'operator of the proxy')

No configuration - there are cases where an NTP is deployed to
avoid rewriting code at the proxy or client, but not to avoid
configuration. I.e., I might want to force all users of a particular
legacy network to a particular cache. It might still require
configuration of the clients - network-layer configuration, i.e.,
route-adds, tunnels, etc. It just doesn't require _application_ 
configuration.

User/client - maybe that's just my tripping up on the fact
that we're talking about the downstream entity, where user and
client refer to aspects of that entity. (sorry for nitpicking that, if so).

> :: No _application_ configuration might. But that's not the only intent
> :: of transparent. Not only is it not configurable, it isn't even detectable
> :: at the layers above it.
> 
> again: very detectable.. and problematic. also, application isn't
> a useful word without a definition in the taxonomy.

Are we going to define network too? 
Can't we assume some level of knowledge about basic networking terms?

> client is already
> there; we know exactly what it means (a client initiates a request and
> recevies a response, a server receives a request and sends a
> response).

The problem is that client is both a level (application layer) and
a place (where that application runs). There are things that happen
at the network layer ON the client, but not necessarily AT the client (application).
I was trying to distinguish between the two - maybe there is a better way?

Joe

---

From: Patrick McManus <[email-masked]>
Date: Tue, 23 Nov 1999 10:04:19 -0500 (EST)

[can't figure out what to quote - so for context we're talking about
2.5 - (network) transparent proxy in the taxonomy draft.. specifically
"The use of this type of proxy is transparent to both user and client"]

backing away a few feet from the paragraph, I wonder if we can just
drop the sentence. The basic meaning of it is already captured in
traffic redirection and a NTP is "a proxy that receives traffic as a
result of network traffic redirection".. so I think the basics are
really covered. but if that won't fly..

Problems with the current definition
  1] recursive use of transparent
  2] lack of agreement on what 'transparent' might mean (undetectable
      vs configuration-free)
  3] joe maintains that it's not necessarily undetectable or
  configuration free to a user (who may need  to specify routes
  through it).. the value of doing this instead of just telling the
  application to use a proxy totally escapes me though, unless you've
  got a client that just doesn't know how to use a proxy. 
  4] I maintain it's not undetectable to a client (for various
   applicaiton level protocol reasons previously detailed)

which leaves us with configuration-free for clients.

:: No configuration - there are cases where an NTP is deployed to
:: avoid rewriting code at the proxy or client, but not to avoid
:: configuration.

client, I concur.. but proxy? At a minimum an origin server style
request needs to be translated into a proxy style request.. 

In any event I had suggested "The use of this type of proxy requires
no configuration either by the user or the client." How about "The use
of this type of proxy requires no configuration by the client." Where
'client' is defined in 2.1 as "a program that establishes connections
for the purposes of sending requests." It doesn't say anything about
the rest of any sytem elements that may share a platform with the
client.

-P

---

From: Henrik Nordstrom <[email-masked]>
Date: Wed, 24 Nov 1999 00:21:41 +0100

> which leaves us with configuration-free for clients.

I second that. Invisibility at the application level belongs to
semantically transparent and classes thereof (i.e. semantically
transparent NTP). It is not a distinguished property of an NTP.

An NTP can technically be as non-transparent at the application level as
any non-NTP proxy: rewrite requests, language translation, recode
images, adding banners or whatever.

> request needs to be translated into a proxy style request..

A proxy is a HTTP client when forwarding the request. Not all proxy
software fully supports chained proxying.

> the rest of any sytem elements that may share a platform with the

If you make that "client application" then I think it will be clear to
everyone what is intended, even if they happen to think that "client"
also involves the network layer of the station where the client
application runs,

--
Henrik Nordstrom