I'm designing a new protocol called DITP. It is a connection oriented protocol that would use TCP as transport layer. With common Internet protocols, when the TCP connection is established, the server starts by sending a greeting message to what the client respond, eventually sending its first request.
I figured out I could save one round trip time by inverting the initial protocol transaction. The client starts by sending the greeting followed by the first request.
The following graphic shows a comparison between the two protocol transaction timings and how it saves one round trip time.
(source: disnetwork.info)
You may want to read the following blog note for a more detailed explanation. http://www.disnetwork.info/1/post/2008/08/optimizing-ditp-connection-open.html
I had two questions to network programming experts of StackOverflow :
Is this assumption correct ?
Why common protocols don't use this ?
This method could provide a significant performance optimization for long distance connections where communication latency is high and connections are to be established frequently. HTTP would have been a good candidate.
EDIT: Oops big mistake. HTTP uses the optimized method where the client sends the request directly. There is no greeting transaction as with SMTP.See Wikipedia Hypertext Transfer Protocol page.