57 - question about initiator decides

Jari Arkko <[email protected]> Mon, 24 Oct 2005 12:49:12 +0300
Newsgroups gmane.ietf.mobike
Message-ID <[email protected]>
It seems that discussion about this particular
design choice belongs to the design document.

So no text changes to protocol-04.

FWIW, I'm at least personally quite happy about
this decision. You have good questions, Marcelo,
and I hope this will improve our design document!
Some further discussion below:

>Now what i would like to understand is what parts of the mobike protocol 
>would not support the more general scenario, where both parties can 
>change the address pair used for the communication.
>  
>
We need to separate the ability to use different addresses
and the protocol's internal process at arriving a decision
from each other. Now, just because initiator decides in
MOBIKE, it doesn't mean that responder's addresses could
not change, or that the responder's input is not taken into
account.

In other words, its not a constraint that only X can do
something, but an arrangement where X gets information
and is the party responsible for final decisions and
coordination. An analogy may be a distributed system
where one of the nodes is elected to be a leader.

We found that the arrangement simplifies the operation
of the protocol.

>As i see it, this was a constraint to simplify the protocol to a case 
>like the VPN which was useful. My question at this point is how much of 
>the resulting protocol actually relies on this constraint?
>As i read it, this resulted in the following constraints:
>- Tunnel mode only is supported
>  
>
I don't think this is a result of the initiator-decides design.
Transport mode has fundamentally different issues,
including survivability of transport sessions.

>- Only the initiator can be behind a nat
>  
>
There are limited cases where the responder can also be
behind a nat. However, the question is whether limitations
in responder's location are due to design of if they are
fundamental limitations caused by NATs. I think the latter.

>- no simultaneous movement is supported
>  
>
Not sure how well initiator-decides affected this, but
at least there's another fundamental issue at the bottom:
without a home-agent or DNS or DHT like schemes we
can not implement simultaneous movements. (Same applies
to SHIM6 too, btw.)

>Now, i can see that supporting those may increase the complexity of the 
>protocol
>However, in addition, it seems that the protocol artificially imposes that
>- failure detection, path exploration and path selection can only be 
>performed by the initiator (client)
>  
>
Well, it only means that the final decision is done by one
party - not that the other party would be unable to be
a part of an exploration process. Having said that, the
exploration process in MOBIKE is very simple compared
to some other cases, because we assumed bidirectional
connectivity.

>- it includes a couple of corner cases where the responder can change 
>its address for dealing with specific cases.
>Wouldn't it be simpler to define a symmetric operation of the protocol 
>(without corner cases) and simply stating the three constraints above? 
>  
>
I think we tried, but it didn't appear to be simpler.

--jari