[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: shim - transport/app communication
Erik, down at my end will respond when I can thanks for this thread.
/jim
> -----Original Message-----
> From: Erik Nordmark [mailto:erik.nordmark@sun.com]
> Sent: Monday, March 21, 2005 4:29 PM
> To: Bound, Jim
> Cc: Kurtis Lindqvist; Pasi Sarolahti; ext Iljitsch van
> Beijnum; Leif Johansson; shim6@psg.com
> Subject: Re: shim - transport/app communication
>
> Bound, Jim wrote:
>
> >>Nobody has proposed changing the IP addresses that are seen
> >>on the wire.
> >>All we are changing is to add a dynamic mapping between what IP
> >>addresses the transport and above sees (the ULIDs) and the IP
> >>addresses
> >>the routing system sees.
> >
> >
> > That is not crystal clear to me in the spec above at all.
>
> OK. If you have specific things that are unclear I can make a pass at
> clarifying those in the next rev.
>
>
> > Something different. Map an TCP request to an SCTP request
> as if the
> > transport selected was SCTP.
>
> But that has quite more limited applicability than a shim.
> First of all, the peer need to do the same (which is also the
> case for
> the shim) thus you need a very performant approach to
> failback to using
> TCP when the peer doesn't support this. It is hard for me to see an
> approach using SCTP that can be as efficient as the shim, because the
> shim defers its work thus there is no extra work (state or
> packets) for
> short-lived connections.
> But the SCTP providing the TCP socket API also has the issue that the
> SCTP protocol can't provide the identical service as TCP,
> with all the
> details of TCP urgent data being the prime example. Even if almost no
> applications use that aspect of TCP, it means that you can't
> claim 100%
> compatibility for the SCTP approach, whereas the shim can
> make such a claim.
> Finally, SCTP doesn't help for UDP communication.
>
> So while SCTP has many useful features, I don't see it as the
> ideal fit
> for something that we want to shim in under existing applications and
> have everything work without application changes.
> Thus I'm interesting in figuring out how SCTP and the shim
> can work well
> together for the many cases where SCTP is the right transport
> protocol
> to use.
>
>
> >>I'd like to understand why you think a DST option in every
> packet is
> >>necessary. Such a thing would be complete untrusted.
> >
> >
> > Yes the trust would be a problem. Could be reference to
> look for ULID new
> > extension header then which could be encrypted with IPsec
> then. The reason
> > to pass the ULIDs is to save processing on each node for
> mapping to them at
> > the transport and above. This shim now will require a
> search for ULID on
> > every packet. Providing the ULID in the packet avoids that
> on every system?
>
> If you want intermediaries (middleboxes) to use the ULID,
> then carrying
> it encrypted doesn't help, since they either don't have the
> key (hence
> can't decrypt to read the ULID), or they have the key and can
> spoof the
> ULID and thereby fool the next middle box.
>
> For the endpoint, the processing to lookup the context state and find
> the ULID is quite small, and in the common case of the ULID being the
> same as the locator (which is the case before any failure has
> happened)
> close to zero.
> For example, if the shim and no failure happens, the packets would be
> the same as today (IPv6 followed by TCP, for instance) and the shim
> would be close to a no-op. (I say "close to", because the shim might
> want to count the number of packets so that it can determine whether
> this is a long-lived communication i.e. whether it is worth-while to
> establish multi6 state so that the communication can be
> rehomed should a
> failure occur).
> After a failure has occurred and the communication has been
> rehomed to
> use a different address pair, then the receiver needs to lookup the
> context state and modify the packet before passing it to TCP etc.
> That does entail a lookup operation, but depending on details in the
> protocol design it might be possible to have this be just an array
> lookup based on an index in the packet (that's part of what
> the receive
> side demultiplexing issue is about in the shim draft).
>
> >>Thus it would be
> >>better if middleboxes that want to do verification either
> >> - get explicitly signaled from the endpoints so that they
> >>have the list
> >> of IP addresses
> >> - observe the sim6 signaling protocol and do the same
> >>verification as
> >> the endpoints do as a way to discover the list of IP addresses
> >>Both of those can be reasonably secure.
> >
> >
> > Yes that is possible but was trying to avoid this and keep
> e2e only and as
> > needed also if they change that can be accomodated too.
>
> Agreed.
>
> I was confused and thought you wanted the DST option for
> middleboxes and
> not for the endpoints.
>
> Erik
>