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

Re: soft state (was Re: shim6 and bit errors in data packet headers



On 12-mei-2005, at 15:30, marcelo bagnulo braun wrote:

I mean, is it possible to create two contexts between the same two nodes with the same two ULIDs (and perhaps a different context tag)? would this make any sense?

Having two contexts between the same hosts can lead to trouble. On the other hand, making sure this can't happen is also hard. But we should definately not make this something that happens routinely, IMO.


The above assumption is based in that i think this is needed to properly protect from flooding attacks.
I mean, the goal of reachability tests in a shim protocol can be two-folded:
- to explore if a given address pair is working
- to determine if a given host is willing to receive packets at a given address (i.e. to prevent flooding attacks)

the first goal can be achieved with a kind of ping (enhanced ping in order to determine unidirectional reachability) but it may not require that the reachability test is associated with a given context. I mean, the goal here is just to obtain reachability information

The second goal is somehow different, and since what is being queried is the willingness of the node to receive traffic through a certain address, it is needed to inform the node which traffic are we talking about.

The thing is, that you need some kind of semi-reliable communication to accomplish all of this, and to do the negotiation too. (In the case of the reasability testing, it would be useful if the receiver of a probe would have a semi-reliable way of telling the sender that the probe was received.) There is also some circularity: you need connectivity to negotiate locators, but you need to know the locators already to discover connectivity.


I'm thinking we could come up with a kind of "UDP on steroids" that similarly to SCTP works over multiple addresses. Such a semi-reliable multi-address datagram protocol would be very useful for the negotiations and similar exchanges, and it would supply reachability information as sort of a by-product.

Separating this layer also has the advantage that a simple unprotected multi-address datagram protocol can be used for other purposes as well, and it allows us to layer the solution so that we can work on different aspects independently.

:-)
Context state AND path failure AND unidirectional connectivity.... this seems amusing enough

Since the situations where context state doesn't exist (= before the start of a session) and unidirectional reachability (caused by ingress filtering) will be very common, we really need to cover this case.