[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: That routing/redirection thing: mapping (?)



In this discussion I've seen five things mentioned in almost all
possible subsets:

1. Names (members of namespaces; namespaces may have subspaces).
2. Metadata included with names (most likely via concatentation).
2.a. (Optional?) Metadata is a namespace identifier.
3. Information used to associate a request (including a name, possibly with metadata) 
    with a server/surrogate/etc. (metaphor: forwarding table).
4. The protocol used to convey the information used in the association is
    exchanged by the entities that will perform the association.
    (metaphor: routing protocol)
5. The methods used by intermediaries to cause
    the requestor to issue a request in such a way that it will
    reach the "correct" server/surrogate/etc. (called "redirection",
    "steering", "direction", etc.)

There is a frequent assumption that the requestor must handle the
request in at least two steps: 1. resolve the name to a transport layer address
2. issues the request using transport layer addressing.
3. possibly receive an application layer command to reissue the request using
 a different name; then goto step 1
 else end

In the first table, item 3 is complicated, because the association might be done
even before the request arrives (via rewriting embedded URL's).  Or it might
be done by a name resolution system.  Or by application layer redirection
as in the second table.  That's why I think that the term "redirection" should
only be used if there is consensus about the frequent assumption above.

Even if you don't like the ponderous nature of this text, I think it may serve
to show why the documents cannot, at this point, be perfect, and why the
discussion seems to go in circles (of redirection) sometimes.

Hilarie

>>> Mark Nottingham <mnot@akamai.com> 11/11/00 01:31PM >>>
On Fri, Nov 10, 2000 at 10:21:03PM -0500, Markus Hofmann wrote:
> Every DIRECTION system consists of two parts:
>   (a) the mapper (i.e. finding the best surrogate), and
>   (b) the actual redirection mechanisms, i.e. the "client
>       front end" that makes use of the mapper result and
>       makes sure that the client request ends up at the
>       correct surrogate.
> We can use the same mapper module with different "front ends", for
> example use the mapper module with a DNS front end or with URL
> rewriting.

Yes. The redirection mechanism could be DNS (possibly through multiple
CNAMEs, DNS hierarchy, etc.), HTTP redirection, BGP funniness, etc. What
they base their information on is a separate matter.

Separate again is reqeust identification - associating a particular request
with metadata indended for it, such as the origin server to use (assuming
it's caching, and not replication, that's being used on the back end -- it's
really just a namespace to stick the request into, based on some aspect of
the full URI).


-- 
Mark Nottingham, Research Scientist
Akamai Technologies (San Mateo, CA)