[e2e] Active Addressing
Jon Crowcroft
Jon.Crowcroft at cl.cam.ac.uk
Fri Jan 30 04:24:53 PST 2004
Here is an idea worthy of consideration along
with all the offers of v1agra ext3nsion l0ans...
active addresses are a technique whose time has come -
basically, to dive in to detail, the idea is to solve problems like
mobility ina futureproof way
as shoch said, a name is what you are, a route i how to get to you but
an address is where you are - now if you are mobile, a lookup of a name
returning an address is clearly not a useful thing to do - so what we
find in the current world is that lookups yield a care-off agent (a sip
proxy or a mobile ip HA etc etc) but to be more flexible, a lookup of a
name should return an Active Address - a program which can then be used
with packets to get to you - obviosuly, the program shouldn't be too
complex otherwise the use of the program might turn into abuse - butof
course one could write "defensive" address programms, as well as
subversive ones - for example, i could implement the puzzle spam filter
by use of such programs - so the MX record in my DNS for my smtp relay
could return a program that takes so many memory/cpu cycles to run,
then gets a packet (or email) to the right place, without actually
revealing the address to directly route to me....we could implement the
indirection necessary using onion (or i^3)..
of course, one problem for active addresses is routing - most routing
includes notions of hierarchy to reduce memory, message and cpu
complexity of distributed computation - organisational, topological,
geographical, etc - so we need hierarchical active addresses - this is
easy - its just like nested procedures or functions in normal
structured programs....so instead of address a packet to
joesephine bonaparte
11 rue morgue
paris 6
france
EU
etc
you would address the packet with code like
printf("tonight?");
map(english2french("tonight?", EmpressName));
if (betterfoodthansurroundingnations() && usesEuro()) {
metroWorksWell();
for(i=0;i<12;i++);
}
perhaps?
or instead of
blair at dictator.hq.blighty
it would be
friendOfBush() && NoFriendofBBC()
if "you" see what I mean
cheers
jon
More information about the end2end-interest
mailing list