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

Re: I-D ACTION:draft-van-beijnum-shim6-suppress-header-00.txt



El 27/06/2006, a las 11:05, Iljitsch van Beijnum escribió:

On 22-jun-2006, at 17:14, marcelo bagnulo braun wrote:

first of all, the possibility of using the flow label is not considered, why is that?
I know that we had long discussions about this but I can't seem to 
remember what's useful about using the flowlabel...
well, the benefit is that you don't have the overhead of the extension 
header and you don't rely on specific ulp
the drawbacks are that you need the shim bit int he v6 header (i.e. new 
next header values for common protocols and that you are imposing (a 
few) constraints on future usages of the flow label field for shimmed 
packets)
we have included a summary of the discussion in Appendix D.2 of the 
shim protocol draft which i think describes pretty much how a solution 
based on the flow label could be done. i guess this could be a starting 
point
I think it is a good option and it is much cleaner than using the tcp/UDP ports... i would suggest to include it.
I'll dredge up ealier discussions.

Second, i am not sure if using transport ports is the best option since it would limit the context to a single communication... or are you considering binding multiple port pairs to the same shim context?... in any case, i guess we would need to flesh out this a bit more in order to understand how would it work...
I agree that this isn't necessarily the best way to do it, but if a 
receiver says it can demultiplex on port numbers, why not take 
advantage of that?
because of complexity... special cases introduce additional complexity, 
since you need to deal with TCP, UDP, IPSec, and so on
I would rather have a solution that are general, like the flow label 
one.
besides, as i pointed earlier you would need to associated a context to 
each transport connection, right?
I'll look at the multiple sessions per context issue.

Another possibility would be to use IPSec SPI field, a la hip, in case that the communication is using IPSec
Yes, this could be useful.

When bit 0 is set, the host indicates that it knows how to demultiplex
packets belonging to the shim context being negotiated under all
circumstances, so the sender MUST NOT add a shim header to these
packets.
However, in most cases (as outlined earlier) the cooperation of the
sender is required to make sure that multiplexing can be done
successfully, so when bit 0 is set to zero, the shim6 header may only be
suppressed when the hosts involved have at least one capability in
common. If there is any doubt, the shim6 header MUST NOT be suppressed.
i fail to understand this part...
i mean when bit 0 is set, the peer must or must not suppress the header?
Each bit indicates a capability that may or may not apply in a given 
situation. For instance, if the bit for transport demultiplexing is 
set, but there is a session from A1 to B1 and from A2 to B1 where both 
sessions use the same port number, it won't be possible to demultiplex 
on transport information alone. So in order to be able to suppress the 
header, the sender and receiver must have set the same bit, and the 
sender must know that the state between the hosts conforms to the 
limitations of the demultiplexing strategy that is indicated by the 
bit in question. Only if that's the case, the sender may suppress the 
header.
Bit 0 is a special case, because there are no limitations: if this bit 
is set, the header MUST always be suppressed.
yes i think i understand that, but then it is stated that in case of 
doubt the shim6 header must not be suppressed (even if bit 0 is set) 
This is what i find confusing.... I guess that what it should be stated 
is that if the peers are not sure they can suppress the header, the 
must not set bit 0
Regards, marcelo


Iljitsch