[e2e] a means to an end

Pekka Nikander pekka.nikander at nomadiclab.com
Mon Nov 10 22:54:25 PST 2008


On 9 Sun, 9 Nov 2008 09:25:38 +0200, Pekka Nikander wrote:
>> Path-specific locators

On 10 Nov 2008, at 19:09, Noel Chiappa wrote:
> Let me make sure I understand what you mean by this term. To me, it  
> implies 'a source route composed of names of only local scope' -  
> whether the 'names' refer to outbound-interface/next-hop pairs, or  
> local flow names, or whatever, I don't have any specific concept.

That is one particular way of implementing path-specific locators.

More generally, I may have been better referring to "location-specific  
locators", or "sender-specific locators", but both might have been  
even more confusing, IMHO.

The general idea is to construct locators that are only useful along a  
specific path, at a specific location or region, or for a specific  
sender or sender group.

Of course, the most obvious way is to use crypto and some kind of  
access control, as has been done in the myriad of path authorisation  
papers, such as [1,2,3,4], to name but a few.  But that is boring by  
now; the most interesting problems seem to related to deployment  
incentives and the markets effects resulting from deploying such  
technologies.  (If someone is interested in co-operation, I have a  
student working in that area.)

More interesting is to consider the fundamentals of what you can do in  
a forwarding box.  You get a packet.  There is some information in the  
packet, some in your forwarding table, and then you know the incoming  
link.  The goal is to decide which output links to use, but only if  
the packet is "meant" to be sent along those links.  (You may want to  
relax some of the requirements and allow some false positives,  
provided that they are either random enough or controlled enough.)

One specific interesting approach is to name the links uni- 
directionally (more or less as you suggest), and then to compress the  
names into a Bloom filter or other compact fixed-sized representation,  
tagging the packets with the compact representation.  The  
representation effectively works as a path-specific locator.  (There  
are a number of interesting details, such as loop prevention, fast  
failure recovery, some security issues, etc, but I would digress.)

But you can go much further.  Of course, you can check that the packet  
came from a right incoming link, but that is again boring (and has a  
number of obvious complications that make it a little bit brittle as  
such).  More interestingly, you can accumulate the path so far to the  
packet (e.g., as a Bloom filter), and use that information as a part  
of the forwarding decision.

In general, there is a wealth of potential information that you could  
use, pretty efficiently, for the forwarding decisions.  Using  
destination addresses or source routing are by no means the only ways  
of constructing forwarding fabrics.  I believe that the middle ground  
where you combine some source-routing-like techniques, some hop-by-hop- 
like forwarding, and are also ready to carefully add some dynamic  
forwarding state to the network, maybe hide undiscovered troves.  But  
there are also dragons there.

> Even if it's not flows, but rather e.g. a translation which turns  
> that scope-local name into a global locator, the path-specific  
> locator is really just a security layer which obscures what global  
> locator that scope-local locator translates to. It can't be much  
> shorter/simpler than a global locator because that single scope- 
> local locator has to be able to specify the full range of  
> destinations that can be specified in a global locator.

You may well be right that path-specific locators cannot be shorter or  
simpler that global locators.  However, I don't think that they are  
just a security layer.

My fundamental question is whether it is possible to construct a  
forwarding fabric that has now global locators and where no single  
entity needs to have the full graph, or even a too large fraction of  
the whole graph.  (Why such a design would lead to a favourable market  
structure is another interesting issue where I have only gut feelings  
to guide...)  I believe the answer is yes, you can do that, and that  
you can do that in a way that is roughly as efficient as IP  
forwarding.  Indeed, our current straw-man design has much smaller  
forwarding tables than IP or even MPLS has, the mechanics of  
forwarding decisions are trivial, and we seem to have solved most of  
the thorny issues related to traditional source routing.  But I'm  
afraid that there may be a dragon or two lurking in the dark corners,  
ready to burn our straws completely.

> Or am I missing something?

Well, in this context (e2e-interest), I guess most of the people  
suffer from IP myopism.  As I tried to indicate above, IMHO it is by  
no means a necessity to have IP-address like global locators.  Indeed,  
I believe that a forwarding fabric without such locators would have  
potentially a much larger social utility that the current one we  
have.  Unfortunately, the utility of such a fabric alone, without the  
proper rendezvous and topology management systems, would be zero...   
Of course, the original IP had forwarding, topology, and rendezvous  
all nicely packed together, avoiding many of the potential deployment  
hurdles related to a multi-component system.

--Pekka


[1] Anderson et al. Preventing Internet Denial-of-Service with
    Capabilities.  (2008)

[2] Handley et al. Steps Towards a DoS-resistant Internet Architecture.
    Future directions in network architecture (2004) pp. 49–56

[3] Keromytis et al. SOS: secure overlay services.
    CCR (2002) vol. 32 (4) pp. 61-72

[4] Parno et al. Portcullis: Protecting Connection Setup from
    Denial-of-Capability Attacks.   SIGCOMM (2007)


More information about the end2end-interest mailing list