Tuesday, July 24, 2012

SecondLife : The Sunshine Project : UDP vs. HTTP : Whats The Difference ?

By Avatar JayR Cela

    A few of you out there may be asking yourselves why is LL just now making the change from the UDP ( User Datagram Protocol ) to HTTP ( Hypertext Transfer Protocol ) 

    UDP was one of the first widely accepted standards settled upon during the very early day's of the Internet's initial development. UDP is a very simple protocol that exchanges data set's, via packets without any guaranty of  proper packet delivery order. This can very often require quite a bit of error checking in order to insure that the data packets have been received in the correct order, if not other protocols in the TCP stack send a request that the out of order data packet  be resent. As you can imagine this is not a very efficient method when it comes to transferring  Large Data Set's. For very Small Data Set's, it works just fine. In the early days of SecondLife's development it probably made perfect sense to use UDP, however now that SL has matured to the point that more and larger data sets are coming down the pipeline at one time, it no longer can be considered as a reliable method of TCP/IP communication for the platform.
      HTTP is widely used by Web Browsers, and Web Servers in order to insure reliable transfer of large graphic and text files, thereby assuring rapid and reliable transfer without all of the error checking and handshaking as the server and client communicate with one in other. In other words, HTTP is a much more reliable method of TCP/IP communication. All data is sent out in a specific order, as opposed to the willy nilley approach used by UDP.

    HTTP was first looked into by the lab back in 2008 or so, but unfortunately  was considered to be unnecessary at the time. Things will more than likely be a bit bumpy for a month or so during the change over from the one protocol to the other. But believe me it will be worth it.

    I know I have greatly oversimplified my brief descriptions of the difference's between the two. Oh well, if you need more knowledge on this subject, it is easily available on the web. And in my personal opinion will make for a much better overall SL experience.


Lord said...

In another writer's blog it was pointed out to me that HTTP2 will soon be here, as will, perhaps, SPDY. This person also believes that LL will need to rewrite significant portions of thier viewer to accomodate these changes.
I guess the question I have for LL is this: Are the changes your making now going to be usable for HTTP2 and/or SPDY implementation or will it all have to be redone anyways ?

JayR Cela said...

Hi there Lord

Http2 first proposed and under current development by Google since 2009 is synonymous to or is the same thing as SPDY / HTTP has been around since 1999 ( I think )

I seriously doubt if you will see anything serious start to happen with LL until HTTP2 is out of Beta for several years

Thanks for reading this blog and taking the time to post your comment

JayR :_)