Connection Timeout Expired. The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement A few times a day, it is not able to connect and the error mentions: 


  Connection Timeout Expired. The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement.


There is is large Microsoft article that suggests: To resolve this issue, upgrade the .NET Framework 4.5.1 to the Microsoft .NET Framework 4.5.2

Our SQL Server 2012 is running on VMWare and we have not been able to get much help from them even though we provided a lot of info that points to their implementation of the vsocklib.dll being a non-IFS Winsock.

Have you guys ever had to deal with that particular scenario ? Has 4.5.2 this fixed the problem ?
We had a situation where our sql server, a vm, went down with the ESX host it was on.  

The vm rebooted, but TCP 1433 would not let us connect with the posted error. 

We confirmed that all TCP settings were as intended in SQL Server Configuration, but ultimately the resolution was to change the IP of the server. Weird right?

My only thought is that something at the VMWare level was causing traffic to be dropped, but had no view into that platform as it was in the 'cloud.'

I don't know if is useful, but I hope someday it helps someone else.

Other notes are that SQL started fine, nothing in error log, with agent disabled we could access sql via pipes and udp 1434.