[standards-jig] Improving network integrity

David Waite mass at akuma.org
Wed Dec 31 17:41:15 UTC 2003


How about adding per-message ACKs as a stream feature?

-David Waite

On Dec 31, 2003, at 10:14 AM, Tijl Houtbeckers wrote:

> On Wed, 31 Dec 2003 06:09:45 -0800, Justin Karneges 
> <justin-keyword-jabber.093179 at affinix.com> wrote:
>
>> 1) Keep track of successful data exchanged between TCP connections.  
>> This goes
>> for both c2s and s2s.  If a packet does not safely make it across the
>> network, then the sending implementation should be aware, so that it 
>> can
>> bounce if needed.  TCP is actually quite aware of what data has been
>> successfully transmitted.  Consider Linux 2.4, in which you can do 
>> this:
>>
>>   #include<sys/ioctl.h>
>>   #include<sys/socket.h>
>>   #include<netinet/in.h>
>>   #include<linux/sockios.h>
>>
>>   /* get TCP send-Queue size */
>>   int size;
>>   ioctl(sockfd, SIOCOUTQ, &size);
>>
>> If this were easily possible everywhere, and implemented by all 
>> servers and
>> clients, we could nearly eliminate the 'black hole' effect in Jabber.
>
> As I noted before, this is nice to have in some cases, but be careful 
> not rely on it too much, since this only works if the jabber client is 
> connected directly to the server. If a proxy is used often this will 
> fail to detect packets that disappear into the "black hole". Out of my 
> own experiance this is very common with GPRS connections when a 
> cellphone goes out of coverage. Alternatives may still be needed as 
> well, for example acking the arrival of each stanza.
>
> This too could be done without changing XMPP, by wrapping XMPP in 
> another protocol that is used for this "signaling" behaviour. (This 
> will ofcourse require the server or some kind of proxy to implement 
> that protocol). Or, it could be done within XMPP itself, simply using 
> XMPP to communicate between the server and the client which packets 
> have been received.
> _______________________________________________
> Standards-JIG mailing list
> Standards-JIG at jabber.org
> http://mailman.jabber.org/listinfo/standards-jig




More information about the Standards mailing list