[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: administrivia (on avoiding injury)
> Once talking, all is happy until something fails...
>
> Retransmit is tried against one of the other pairs (later ICMP errors
> could be used to make the retry process smarter and faster) until
> connectivity is regained.
This causes code waiting for pcb connect back to have to leave kernel
space and head up to user space. That is a performance hit that is not
necessary and bascially states the connection must restart from the app as
opposed to retransmit from the IP layer (best case). This will work but I
think we can do better.
> The SCTP RFC covers a complete protocol implimentation that can do this.
But as I stated in my mail to Sean SCTP has no mechanism to 'create' a new
endpoint except from another node telling it to in an association update.
Using the ND message extension I proposed it can be generated to the
association. I think the SCTP folks could absorb this and would if we
presented it to them.
With IPv6 it could just be a prefix update possible within SCTP.
But this gets to other problem. The nodes are not sending to the routers
ISPx but to the node on the other side. So other than an intermediate
endpoint address via IPv6 Source route option it won't help much (but
could be done and converge fast).
But by using the Homeless IP model from Pekka we could do routing or
prefix update on the endnode at the IP layer and just do retrasmit for
sctp and tcp. udp as I said is another story.
The application should not even see the problem and just keep on ticking
unless we want to make default restart.
But doing dns pairwise resending is just a complete retransmit and maybe a
good default but I think we can do better here.
Plus if we start trying to go up to user space and then back to kernel
space thats a hack for sure.
/jim