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