Slow DTLS handshake in case of packet loss

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

 



Hi,

I implemented a DTLS server using openssl. (I have an udp socket and I am using a memory bio to communicate with openssl.)
However if there is packet loss the DTLS handshake could take 1-2 seconds, which is a lot in my case.

The normal flow when there is no packet loss: (few milliseconds)
Client Hello ------------------------->
                   <------------------------- Server Hello
Rest of the handshake ---------->
                                     <---------- Rest of the handshake

The flow I am experiencing: (few seconds)
Client Hello ------------------------->
                   <-------(lost)----------- Server Hello
Client Hello ------------------------->
Client Hello ------------------------->
Client Hello ------------------------->
                   <------------------------- Server Hello
Rest of the handshake ---------->
                                     <---------- Rest of the handshake

I can easily reproduce it even in local environment directly dropping the first Server Hello.

I am curious why the server does not respond to some several upcoming Client Hello's.
If it would answer the handshake could complete well below 1 second but this way it takes up 1-2 seconds, when it finally answers again for later Client Hello's.

How could I make the DTLS handshake complete faster? (by enabling answer for all Client Hello's for example, is there a way?)

Thanks in advance and best regards,
nojz

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

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux