Slashdot Mirror


Google's SPDY Could Be Incorporated Into Next-Gen HTTP

MojoKid writes "Google's efforts to improve Internet efficiency through the development of the SPDY (pronounced 'speedy') protocol got a major boost today when the chairman of the HTTP Working Group (HTTPbis), Mark Nottingham, called for it to be included in the HTTP 2.0 standard. SPDY is a protocol that's already used to a certain degree online; formal incorporation into the next-generation standard would improve its chances of being generally adopted. SPDY's goal is to reduce web page load times through the use of header compression, packet prioritization, and multiplexing (combining multiple requests into a single connection). By default, a web browser opens an individual connection for each and every page request, which can lead to tremendous inefficiencies."

275 comments

  1. It's a secret plot by apple by gearloos · · Score: 5, Funny

    Its a secret plot by Apple to fix the lag in IOS 5 Safari by getting Google to find a way to speed up web page loads to cover it up!

    --
    "Computers are a lot like Air Conditioners" "They both work great until you start opening Windows"
    1. Re:It's a secret plot by apple by Anonymous Coward · · Score: 5, Funny

      Look dude, if you're going to spread a conspiracy properly, you need to spread your ideas out to a least 3 excessively long paragraphs or raging insanity. You could have easily structured it:

      -Secret plot by apple. They're evil, man.

      -The secret plot happens to be cuz iOS is evil like them.
      -iOS version 5 is also evil.

      -They've drugged Google with evil for more evil.

    2. Re:It's a secret plot by apple by LeperPuppet · · Score: 5, Funny

      Your conspiracy needs more Illuminati/Lizard People/FEMA camps/Aliens/Other batshit craziness.

      Pick any two and try again

    3. Re:It's a secret plot by apple by Calos · · Score: 1

      You forgot the New World Order.

      Seems to be one of the leading causes of stupid I see anymore.

      --
      I vote based on politicians' actions, unless contrary to my preconceptions. Often wrong, never uncertain. #iamthe99%
    4. Re:It's a secret plot by apple by scdeimos · · Score: 5, Insightful

      Hate to rain on your parade, but didn't you realize that Apple will wait three years then have a media conference introducing iSPDY as their own invention?

    5. Re:It's a secret plot by apple by phonewebcam · · Score: 3, Funny

      And Microsoft to merely wrap some bloatware round it and call it their own, like they do with their "search engine".

    6. Re:It's a secret plot by apple by thetoadwarrior · · Score: 1

      What about the Rand corporation?

    7. Re:It's a secret plot by apple by Bengie · · Score: 1

      "Its a secret plot by Apple to fix the lag in IOS 5 Safari by getting Google to find a way to speed up web page loads to cover it up!"

      nginx tweak guides recommend forcing Safari to HTTP1.0 because of a horrible bug in their 1.1 implementation. I'm sure that doesn't help.

    8. Re:It's a secret plot by apple by Anonymous Coward · · Score: 0

      Still beating the same old debunked dead horse huh? Do you get tired of being a dipshit?

    9. Re:It's a secret plot by apple by Bengie · · Score: 1

      Their = Safari
      And this bug is a few years old

    10. Re:It's a secret plot by apple by Anonymous Coward · · Score: 0

      Nothing was ever debunked. Quite the opposite, Microsoft publicly admitted they used Google results in Bing, and basically said they plan to continue. So, all data points to them still doing it.

    11. Re:It's a secret plot by apple by TheRaven64 · · Score: 2

      Not really. If a user opts in, installs their toolbar, and says 'use my data to improve search results' then they will use the relationship between pages in their search algorithm. They just won't explicitly exclude pages that happen to be Google from this.

      It's not like Microsoft is passing searches to google.com and then using the results. If a user with the Bing toolbar installed types a term into Google and then visits a page, then that page will be captured, but it would also be captured if they followed the link from a Slashdot post.

      --
      I am TheRaven on Soylent News
    12. Re:It's a secret plot by apple by bkcallahan · · Score: 1

      Sharks with frickin' lasers man.

    13. Re:It's a secret plot by apple by Anonymous Coward · · Score: 0

      Seems to be one of the leading causes of stupid I see anymore

      Other than your parents, I take it?

  2. I wonder what this means for caching proxies? by Anonymous Coward · · Score: 1

    I wonder what this means for caching proxies?

    1. Re:I wonder what this means for caching proxies? by joesteeve · · Score: 2

      Things that get refreshed often dont get cached anyways. AJAX interactions mostly.

    2. Re:I wonder what this means for caching proxies? by symbolset · · Score: 1

      Nothing, if you're SSL'ing through it with your offshore VPN connection like you're not a total tool.

      --
      Help stamp out iliturcy.
    3. Re:I wonder what this means for caching proxies? by Lennie · · Score: 1

      The number of users behing a caching proxy has gone done considerably over the years.

      As a webdeveloper I can tell you, they usually caused more problems then they solved. :-(

      --
      New things are always on the horizon
  3. From my Ops group - yay! by Anonymous Coward · · Score: 1

    No more max-connections increase every new browser (although I must say we noticed when it went from 256 back to 48 on firefox). Multiply 3000+ users, x 48 max-connections per tab, x say 5 tabs, and there's an unhappy proxy cluster... workstations are more multi-threaded than network link/proxy can keep up!

    1. Re:From my Ops group - yay! by Bengie · · Score: 1

      Connections are easy to handle if you async all your IO. Maybe current proxies need to become more modern and not spawn a thread for each connection. You could also have a proxy per subnet to help load balance all 3000 users. nginx style forward proxy, ftw!

      Another neat feature of proxies is they can multiplex requests from several client over a single HTTP1.1 connection. Help reduce state bloat on your edge firewall from all of those connections going through. Lots of TCP connections can have a negative interaction, so this can help local, external, and web server side performance.

  4. It's going to fail by Anonymous Coward · · Score: 3, Funny

    Microsoft has announced their implementation, DirectSPEW.

    It's going to kill SPDY when it debuts in a few months with Windows Phone 7.1.

    Hi bonch

    1. Re:It's going to fail by marcello_dl · · Score: 3, Funny

      Can't tell if troll or usual MS tactic.

      --
      ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
    2. Re:It's going to fail by ifrag · · Score: 1

      Can't tell if troll or usual MS tactic.

      You say that like there is a difference?

      --
      Fear is the mind killer.
    3. Re:It's going to fail by Robert+Zenz · · Score: 1

      +1 Funny if I could.

    4. Re:It's going to fail by Anonymous Coward · · Score: 0

      I take offense at that. I want to make it clear that bonch is the resident Apple shill, and should not be confused with the resident Microsoft shill (that's me, hi!).

      Also, Windows Phone is currently at 7.5 (aka Mango). You must mean Tango aka 7.6.

  5. What about pipelining and keep-alive? by the_other_chewey · · Score: 5, Interesting

    I realise that SPDY is about reducing the latency of HTTP connection handshakes -
    but wouldn't using the already existing and even implemented HTTP 1.1 standards
    for pipelining (requesting multiple resources in one request) and keep-alive (keeping
    a once-established connection open for reuse) mostly remove the handshake latency
    bottleneck?

    1. Re:What about pipelining and keep-alive? by Anonymous Coward · · Score: 0

      Yes, it would. Which is why on the SPDY whitepaper page claiming how much faster SPDY is they don't include results for pipelining. They didn't test it, or didn't report it, because they didn't want you to know that their new protocol is not necessary. Geeks got to have their own protocol for ego sake.

    2. Re:What about pipelining and keep-alive? by laffer1 · · Score: 5, Informative

      When pipelining first came out, there were many buggy implementations. As a result, many browsers and web servers disabled the feature. Maybe it's time to turn it on for everything.

    3. Re:What about pipelining and keep-alive? by zbobet2012 · · Score: 5, Informative

      Browsers and servers almost all use persistent connections these days and have since at least the early 2000's. SPDY doesn't claim to do anything with this (the summary above is incorrect). Speedy does however implement several features of "pipelining" but in a more elegant manner. There are a host of issues with pipelining on the server side (it is a security risk, a description of why is here). SPDY effectively implements pipelining but without the associated security risks. It also implements more advanced features that allow the server to push data to the client without the client requesting it.

    4. Re:What about pipelining and keep-alive? by zbobet2012 · · Score: 5, Informative

      To reiterate my reply below no, pipelining offers very little gain vs true "multiplexing" and it represents a security risk.

    5. Re:What about pipelining and keep-alive? by Anonymous Coward · · Score: 0

      If i remember correcly http 1.1 does have some buggy implementation. Some proxy software are problematic. It's significant if your isp is using a transparent proxy for http connection or if you are in a entreprise network.

      SPDY might be a solution.

       

    6. Re:What about pipelining and keep-alive? by Anonymous Coward · · Score: 0

      There are a host of issues with pipelining on the server side (it is a security risk, a description of why is here [f5.com]).

      That page does not describe any security risks in HTTP pipelining. Maybe you linked to the wrong page?

    7. Re:What about pipelining and keep-alive? by naasking · · Score: 1

      HTTP pipelining just magnifies the DoS vulnerability that all HTTP servers inherently have.

    8. Re:What about pipelining and keep-alive? by spongman · · Score: 1

      meh. there's plenty of stuff pipelining does allow you to do out of order and still comply. and pipelining on hinders your ability to mitigate DoS attacks if your metrics are trivial.

      reminds me not to buy f5.

    9. Re:What about pipelining and keep-alive? by grmoc · · Score: 5, Informative

      As one of the creators of SPDY..

      No, HTTP suffers from head-of-line blocking. There is no way around that.
      HTTP also doesn't have header compression (which matters quite a bit on low-bandwidth pipes) nor prioritization to ensure that your HTTP, javascript and CSS load before the lolkittens :)

    10. Re:What about pipelining and keep-alive? by Chatterton · · Score: 3, Insightful

      The risk described in the page is a Denial Of Service risk.

    11. Re:What about pipelining and keep-alive? by Jerome+H · · Score: 1

      Correct me if I'm wrong but isn't everyone pushing javascript AFTER the lolkittens so the user sees the content before interacting with it ?

      --
      int main() { while(1) fork(); }
    12. Re:What about pipelining and keep-alive? by Anonymous Coward · · Score: 1

      Can you elaborate on the priority for the CSS/javascript? I thought a protocol shouldn't bother with the upper level content and it was the browser's task to decide which resources to load first, since after all, it first has to do the HTML parsing to figure out what it actually has to download.

    13. Re:What about pipelining and keep-alive? by symbolset · · Score: 5, Funny

      Now that's a comment you don't see every day. Glad you're thinking of the lolkittens. They're precious.

      --
      Help stamp out iliturcy.
    14. Re:What about pipelining and keep-alive? by FireFury03 · · Score: 3, Insightful

      No, HTTP suffers from head-of-line blocking.

      Head of line blocking is a feature of TCP, and my (very cursory) understanding is that SPDY still uses TCP so how is this not still a problem?

      A technologically better solution would probably be to use SCTP instead of TCP, but unfortunately suffers from the fact that SCTP is only 12 years old, so Microsoft have stated that they have no intention of ever supporting it. However, despite MS's lack of support, that doesn't prevent the possibility of using SCTP in environments where it is available.

    15. Re:What about pipelining and keep-alive? by Anonymous Coward · · Score: 0

      > push data to the client without the client requesting it

      IF (bandwidthCap - client.traffic(date.month()) epsilon THEN
            spdy.push(client,bigfile.dat) # Profit!!!
      ENDIF

    16. Re:What about pipelining and keep-alive? by Anonymous Coward · · Score: 5, Informative

      Yes, the layer-4 protocol still requires in-order delivery. But lost packets is not the sort of problem SPDY is trying to solve. SCTP might also be a good idea, but you'd still want SPDY on top of it instead of HTTP because it's faster even assuming perfect, in-order packet arrival.

      But SPDY adds encapsulation within the TCP stream so data frames from multiple SPDY streams can be interleaved. It's like opening a bunch of separate TCP streams (like browser do now) but with a lot less overhead. It's also less complicated to implement than HTTP pipelining because each request/response gets its own SPDY stream so the underlying HTTP server can treat them as fully independent connections.

      Using with HTTP, even with pipelining, the server must respond to requests in the order they are received. So if you request something slow -- say a DB query -- and then a bunch of static images, HTTP will have to wait for the slow request, send that response, and then send the images. Using SPDY each request creates a new SPDY stream, and the server can send back responses in each stream without respect for the order in which they arrived. So in the same slow-DB + static images scenario SPDY would be able to immediately start sending back images and then send back the DB response when it was ready. SPDY could even start sending images, and when it sees that the DB response is half-ready and has a higher priority, interrupt the image transfer, send the first half of the DB response, complete the image response, and then complete the DB response.

    17. Re:What about pipelining and keep-alive? by Anonymous Coward · · Score: 0

      To reiterate my reply below no, pipelining offers very little gain vs true "multiplexing" and it represents a security risk.

      security risk? like what?

    18. Re:What about pipelining and keep-alive? by Anonymous Coward · · Score: 0

      If you're not going to buffer responses you can't do anything out-of-order. And if you're going to buffer you're increasing your DoS attack surface, because a single client can consume many times the number of resources compared to a no-pipelining case, and with no related increase in the resources required at the client. You can pick the balance point between those two, but you're going to make the tradeoff no matter what metrics you collect.

    19. Re:What about pipelining and keep-alive? by Chrisq · · Score: 1

      To reiterate my reply below no, pipelining offers very little gain vs true "multiplexing" and it represents a security risk.

      security risk? like what?

      GP is bullshitting, I can't think of any way that sending exactly the same data from the same host can introduce security issues if you don't close and reopen the connection between each one.

    20. Re:What about pipelining and keep-alive? by Pieroxy · · Score: 1

      Depends. On a typical commercial website you usually have the scripts you care about - the scripts you page depends on, and javascript you don't care all that much about - analytics, ads, etc.
      The former is usually placed in the header, the latter in the footer.

      YMMV of course.

    21. Re:What about pipelining and keep-alive? by WaffleMonster · · Score: 2

      As one of the creators of SPDY..

      No, HTTP suffers from head-of-line blocking. There is no way around that.
      HTTP also doesn't have header compression (which matters quite a bit on low-bandwidth pipes) nor prioritization to ensure that your HTTP, javascript and CSS load before the lolkittens :)

      Please tell me your joking.

      SPDY is layered on top of TCP... **TCP** suffers from head-of-line blocking and therefore so does SPDY.

      By collapsing everything into a single connection you induce *more* latency on low speed, high latency connections because the chance of idling the link when waiting for an ACK/response with one TCP session or waiting for the next request increases vs multiple concurrent TCP sessions.

      You don't need to invent a new protocol for header compression if you intend to always use TLS anyway. That is stupid... Just enable compression within TLS.

      I would love to see a prioritzation scheme that works but the cold hard truth is you won't get much better than simple hurestics that don't require prioritization anyway. Dependancy graph is discovered late and simply isn't knowable ahead of time. You can do something like PGO to figure it out but this only works with static content.

      If we are going to bother with a new protocol it needs to be a new *IP* layer protocol or at least layered on UDP... Anything less is akin to purchasing "Internet accelerator software" from an infomercial.

    22. Re:What about pipelining and keep-alive? by bn-7bc · · Score: 0

      Well more along the lines of : A forum notifies the clients that are viewing a particular thread when a new post is made, instead of the browsers having to poll/refresh to check, this can save a lot of load on a popular forom Disclaimer This is a quick posy from work so I did not have time to check SPDY Out in detail so If this is nonsense piece don't mood me down but if you have time a correction will be appreciated

    23. Re:What about pipelining and keep-alive? by ArsenneLupin · · Score: 1

      GP is bullshitting, I can't think of any way that sending exactly the same data from the same host can introduce security issues if you don't close and reopen the connection between each one.

      IIRC, some attacks against SSL were based on pipelining (where a malicious man-in-the-middle was somehow injecting its own data into the connection, making it look like it was pipelined data from the original client)

    24. Re:What about pipelining and keep-alive? by Anonymous Coward · · Score: 1

      I can haz SPDY?

    25. Re:What about pipelining and keep-alive? by Chrisq · · Score: 1

      GP is bullshitting, I can't think of any way that sending exactly the same data from the same host can introduce security issues if you don't close and reopen the connection between each one.

      IIRC, some attacks against SSL were based on pipelining (where a malicious man-in-the-middle was somehow injecting its own data into the connection, making it look like it was pipelined data from the original client)

      They could do that and not send/change data in a new connection?

    26. Re:What about pipelining and keep-alive? by Wierdy1024 · · Score: 1

      Not quite. Pipelining requires responses to be delivered in the same order as the requests. This is fine if all the responses are available immediately (eg. static css and images), but for dynamic content such as php a delay generating the content will not only delay that request but also all following requests.

      One main advantage of SPDY is http header compression which should reduce upstream bandwidth to about a quarter of what it currently is for web browsing - and while bandwidth isn't that important anymore, using fewer packets means less chance of a lost packet, because lost packets are a major slowdown for page loads - imagine those web pages that seem to take ages to load, but then load instantly when you hit refresh - that was probably a lost packet very early in an http stream.

      In the future, spdy "push" requests allow a server to send stuff the client is expected to need but hasn't yet asked for. This could, theoretically, allow a web page to load in fractions of a second because one doesn't have to parse the http document and run javascript just to find out which resources to load next.

      Also, pipelining support on servers is so unreliable that browser manufacturers don't dare do some of the things allowed by the spec because it would break too many servers - hence a new spec is preferable to encouraging use of an old one.

    27. Re:What about pipelining and keep-alive? by qwertyatwork · · Score: 1

      Wikipedia says it is available in the kernel, it references http://www.bluestop.org/SctpDrv/ but this doesn't say anything about the stock kernel.

    28. Re:What about pipelining and keep-alive? by ArsenneLupin · · Score: 2

      **TCP** suffers from head-of-line blocking and therefore so does SPDY

      Head-of-line blocking may happen at different levels.

      In the case of pipelined HTTP, if the first request in the pipeline is slow, it will block all the others, because answers have to be delivered in order.

      A smarter protocol could take a "tagged" approach, where each response is tagged, and thus can be associated with the correct request even if delivered out of order. IIRC, imap uses an approach like this.

    29. Re:What about pipelining and keep-alive? by keeboo · · Score: 1

      But SPDY adds encapsulation within the TCP stream so data frames from multiple SPDY streams can be interleaved. It's like opening a bunch of separate TCP streams (like browser do now) but with a lot less overhead. It's also less complicated to implement than HTTP pipelining because each request/response gets its own SPDY stream so the underlying HTTP server can treat them as fully independent connections.

      Cute. Still, in the end, the future HTTP daemon will end starting a new process for each of those streams, and each request will have a negligible extra cost to the client and network overhead but will still cost to the server in terms of disk IO, processing and memory consumption.

      Looks like SPDY's multiplexing - alone - brings more interesting DoS possibilities.
      Google may not have problems with their huge structure and resources in general, but what about the rest of the world?

      It seems to me that SPDY multiplexing is particularly interesting if you have a huge web services structure and a similarly huge demand - huge enough that limited IPv4 addresses and TCP's legacy 2E16 ports is also a concern.
      So you (the unnamed huge web structure) may want to lower the total simultaneous TCP connections down to the minimum possible, ideally only one connection per user.
      If you're Google SPDY may be a great idea indeed. But how useful is that for the other cases?

    30. Re:What about pipelining and keep-alive? by Anonymous Coward · · Score: 0

      Uuum, HOL blocking is a problem of all packet-switched networks, and depends more on the implementation (FIFO input buffers) than on any protocol.

      Also, doesn't QoS already include prioritization fields, which are honored by every device with traffic shaping built-in...
      Which should be about every device and OS of the last 5-10 years, no? (Maybe not WinXP?)

      Because those implementations are smarter and probably able to prevent HOL blocking.

      No idea what a high-level protocol has to do with low-level packet switching...

    31. Re:What about pipelining and keep-alive? by rtb61 · · Score: 1

      Even better to combine multiplexing with better ISP proxy routines. Where regular checking is done for the mirrored version versus the original source. So with enforced net neutrality the adds can be delivered from the local mirror based upon correct alignment of add to content, without theft of content via altered or added adds.

      Mirrored adds will substantively reduce traffic across ISP boundaries. Of course the source would want to validate the accuracy of the mirror/proxy and also for the capitalist world correctly account for hits.

      Enforced and audited net neutrality allows for many traffic efficiencies, greed does the exact opposite exacerbates traffic loads.

      --
      Chaos - everything, everywhere, everywhen
    32. Re:What about pipelining and keep-alive? by gbjbaanb · · Score: 1

      with the new system the large image file will be delivered after the javascript files, so your page is set up nicely for the image to load into. Currently you ask for the image and wait and wait for it to be delivered. Then you get to ask for the rest of the page's bits.

      SPDY doesn't affect how you ask, but it allows the system to return the data in multiple streams, instead of blocking as it waits for each one in turn.

    33. Re:What about pipelining and keep-alive? by Anonymous Coward · · Score: 0

      "a description of why is here"

      That article is everything I've come to expect from F5.

      No matter that in many parts of the world a RTT to US servers (or vice versa) is equivalent to the latency of a modem connection, as limited by physics.

      But hey, everyone now has a broadband connection and latency is no longer a problem....

    34. Re:What about pipelining and keep-alive? by Lennie · · Score: 1

      Keep alive is used everywhere, the summary of the article had it wrong. No browser opens a new connection for each and every request.

      Pipelining used to be not used because there are webservers on the Internet which don't allow and which cause your webpage to not load, so the browsers that support it have a lot of workarounds. Some of which go so far as make a new connection send the request again.

      SPDY does not have that problem, it is backwardcompatible.

      An interresting detail is, that many mobile phone webbrowsers actually do have pipeling enabled by default, eventhough their desktop counterparts have not.

      --
      New things are always on the horizon
    35. Re:What about pipelining and keep-alive? by Anonymous Coward · · Score: 0

      If you don't want modding down perhaps you could stop posting unsourced bullshit?

    36. Re:What about pipelining and keep-alive? by Anonymous Coward · · Score: 0

      But only for dynamic requests (the article mentions a slow database query). Besides, few server setups add the Content-Length header for generated content, which effectively disables multi-request use such as pipelining.

      Pipelining is probably perfectly fine for a server solely serving static content.

    37. Re:What about pipelining and keep-alive? by petermgreen · · Score: 4, Interesting

      It seems to me like it would be a big win for ssl sites.

      Consider a browser visits a ssl site. First they have to open a ssl connection and download the page. Then they have a few choices.

      1: download all the items sequentially using the same connection (obviously slow and bad)
      2: open multiple connections (wasting time and processing power on multiple ssl handshakes)
      3: use pipelining and hope they don't hit an item that is slow to retrive and blocks everything else.

      With spdy they can just open one ssl connection and do everything over it without having requests block each other.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    38. Re:What about pipelining and keep-alive? by Froggie · · Score: 1

      This would be true if one page used a single keepalive connection to its server. But typically it uses several and achieves multiplexing by having several TCP connections open. You'd make a request for the image on the first available idle connection - if the JS is still being served there may be another idle connection available nevertheless.

    39. Re:What about pipelining and keep-alive? by Froggie · · Score: 1

      But lost packets is not the sort of problem SPDY is trying to solve.

      Indeed, it makes things worse.

      If you miss a packet in HTTP you stall one connection. Other data is still being received on other TCP connections.

      If you miss a packet in SPDY you stall all the multiplexed downloads running over that connection until the retransmit.

      This may not affect bandwidth, because modern TCP is quite good at recovering from a packet loss without stalling the transmission of packets, but it will stall the browser's receive thread because it can't be given any incoming data until the missing packet turns up, which is at least one round trip.

    40. Re:What about pipelining and keep-alive? by Anonymous Coward · · Score: 1

      Well I remember about 6 or 7 years ago F5 had a bug with their HTTP pipelining implementation for SSL offload. This bug, seemed to mix up transactions between different users sessions. This is especially bad when the data you are dealing with are credit card statements. So yeah, there have been security issues in the past with implementations of HTTP pipelining at least.

    41. Re:What about pipelining and keep-alive? by PybusJ · · Score: 1

      Stuff commercial sites don't care all that much about: analytics, ads. I think you've got that the wrong way round.

      It is though stuff that isn't needed to get content in front of users before their C21 brains get bored and go elsewhere, which is why you can afford to load it last.

    42. Re:What about pipelining and keep-alive? by swillden · · Score: 1

      But only for dynamic requests (the article mentions a slow database query). Besides, few server setups add the Content-Length header for generated content, which effectively disables multi-request use such as pipelining.

      Pipelining is probably perfectly fine for a server solely serving static content.

      But SPDY works for both.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    43. Re:What about pipelining and keep-alive? by swillden · · Score: 2

      Yes, but the number of streams is limited. Also, that approach puts it on the browser to decide which pieces to get in which order, whereas SPDY allows those decisions to be shifted to the server, which can presumably know a lot more about the content it's delivering. Multiplexing rather than using separate connections should also reduce server load.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    44. Re:What about pipelining and keep-alive? by Pieroxy · · Score: 1

      You"re right. I meant e-commerce websites, not commercial sites. And even then, I agree, it's not a universal rule.

    45. Re:What about pipelining and keep-alive? by Junta · · Score: 1

      If i remember correcly http 1.1 does have some buggy implementation...SPDY might be a solution.

      I'm willing to believe SPDY covers some cases that http 1.1 failed to get, *but* I fail to understand the argument that http 1.1 was just implemented buggy but SPDY will magically be better implemented by the same groups that have failed to get http 1.1 over all these years.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    46. Re:What about pipelining and keep-alive? by Anonymous Coward · · Score: 0

      No, HTTP suffers from head-of-line blocking. There is no way around that.

      You didn't test this or didn't post results for head-of-line blocking. It's your untested conjecture that head-of-line is a problem, but you don't know if it actually is or not.

      HTTP also doesn't have header compression (which matters quite a bit on low-bandwidth pipes)

      Header compression saves a trivial amount of bytes over SSL compression so is only even relevant if SSL is *not* being used. But one of the points in favor of SPDY is that SSL is always used, so header compression is of no use.

      prioritization to ensure that your HTTP, javascript and CSS load before the lolkittens

      A server policy accomplishes the same effect without any complications. Priorities are poorly defined and of no benefit.

    47. Re:What about pipelining and keep-alive? by Bengie · · Score: 1

      It's "harder" to do with for short lived connections, but yes, the same issue exists.

    48. Re:What about pipelining and keep-alive? by Bengie · · Score: 1

      1) You're talking about DOS via running out of memory
      2) You will run out of bandwidth well before you hit this limit

      8GB stick of ecc 1333 low voltage memory from a namebrand, ~$125. Dropping 16GB of memory on a a web server is nothing. 16,777,216KB buffering 128k per connection is 131k connections. If your single web server has 131k active connections, you have other problems to worry about.

      Like I said, IO is your bottleneck. You will be DoS'd from all the data you're sending.

      A properly configured web server behind a properly configured firewall all running on modern hardware, will run out of WAN bandwidth before the DoS causes other parts to crash under load. /. effect is about the only real DoS.

    49. Re:What about pipelining and keep-alive? by Anonymous Coward · · Score: 0

      What the fuck are adds? What are you talking about?

    50. Re:What about pipelining and keep-alive? by hedwards · · Score: 1

      How much could you possibly gain? It seems like most of the scripts that cause the problems are themselves loading other scripts that load other scripts or reference data on a different server usually sending data both ways. Mutliplexing might help a bit, but if you've got 3 or 4 layers of scripts you shouldn't see that much improvement.

    51. Re:What about pipelining and keep-alive? by hedwards · · Score: 1

      When I browse with Noscript enabled I tend to find that a significant portion of sites aren't usable without scripts loaded. So, I have a feeling that this is probably going to be an improvement in that respect.

      However, I am curious about what happens to ones ability to only allow certain scripts to run if they're all being loaded immediately via a compressed header.

    52. Re:What about pipelining and keep-alive? by Anonymous Coward · · Score: 1

      SSL allows sharing SSL session, so multiple connections don't have to go through a complete ssl handshake.

    53. Re:What about pipelining and keep-alive? by tiffany352 · · Score: 1

      Starting multiple processes like this will likely only be the case in apache (or IIS?), which is widely regarded as one of the slowest HTTP daemons around.

    54. Re:What about pipelining and keep-alive? by Anonymous Coward · · Score: 0

      Ahhhh someone who could listen to me!

      Hear me out... Go look at the pages in youtube. They are all over the place in server names. You will see names for 5-10 different servers all for one page. These all change dynamically. So you can goto a page and one time you get an image from 1 server. The next time you come it will sometimes will be served from a second server. This works very well for load balancing and such.

      What I want is the ability to do server aliasing in the web page. So in the header you would have 'here are the pages I serve and here are their proxies and here is the alias name to use'. So you could have the browser randomly pick from the list of proxy servers. Yet it could also know that the information on all the servers is the exact same. In this way the information could be cached properly. In my analysis of caching and many web sites I am seeing hit rates of as low as 10% on page refresh because of this. The proxy list does not even have to be the same every time. Just the alias. This way the cache could reference the cached item by alias id instead.

      You can accomplish something similar with abusing DNS however it is just that... abuse. I call it abuse as it ends up creating a lot more traffic in the DNS realm which is already well overworked and discards the caching that we could all be enjoying.

      This is what I am talking about that people are having to do in order to cache these sorts of things. It is different from site to site. It would be nice if there was a consistent way to do this.
      http://wiki.squid-cache.org/ConfigExamples/DynamicContent/YouTube

    55. Re:What about pipelining and keep-alive? by Bengie · · Score: 1

      Ideally, fewer TCP connections should result in fewer dropped packets. I'm not sure how that interacts with SYDY's bursty start up, but if connections are going up and down a lot, then that burst shouldn't happen often.

    56. Re:What about pipelining and keep-alive? by Anonymous Coward · · Score: 1

      Linked post (from F5!) is total nonsense. Read the original (it's short), but summary is (1) "pipelining doesn't help anymore because everyone has broadband", and (2) "it's a security (really DOS) risk because a client can ask a server to do a lot of stuff."

      (1) Bandwidth != latency. Pipelining (sending request for next URL before the first one has arrived) primarily helps with latency. If it takes 100 mSec for a request and reply to go from LA to London, it doesn't really matter how fast the connection is; twenty requests one after the other, even if one byte apiece, will take at least two seconds. With pipelining, however, the client sends the requests all at once and then sits back and waits for the results. Those twenty one-byte requests would take about 100 mSec.

      (2) You don't need pipelining to burden a server. Simply open more connections. If the server limits the number of connections per IP (bad idea because of NATting), then spoof. If you are depending upon latency to throttle your load you are in a lot of trouble.

      Oh, and (3). Why does a pipelining server need to respond to requests in the order received? Because there's no general way to link an HTTP response to a particular request. The client has to assume that the first response is for the first request, the second for the second, etc.

    57. Re:What about pipelining and keep-alive? by WaffleMonster · · Score: 1

      Head-of-line blocking may happen at different levels.

        In the case of pipelined HTTP, if the first request in the pipeline is slow, it will block all the others, because answers have to be delivered in order.

      From what I understand they are partially re-inventing TCP in order to mux and demux transactions within a single TCP session.

      In my opinion all that really matters is that pipelines are kept busy transmitting data 100% of the time and never stalled on ack windows or waiting for RTTs involved with the browser to figure out what to ask for next. Stuffing new requests while existing ones are still executing to mask RTT delays is good enough if your smart about what your asking for.

      Multiple TCP sessions effectivly work around head-of-line at *all* layers as well as mitigate ordering dependancies. You don't need to proritize as much as you need hurestics in the browser to ensure it selects content that will keep the pipeline busy masking RTTs.

      It would be interesting to see not just ideal marketing benchmarks of SPDY but how it compares to alternatives.

      If we are going to go for a new protocol why not go big with a new IP protocol. All most people ever really want was a fast multi-stream (optionally) reliable message passing protocol anyway. Yea it would take a while to catch on but if it was good enough (without limitations of SCTP) eventually 20 years from now it will happen.

      Another thing worth mentioning HTTP is not really the problem with delay nowadays it is the ad networks... and javascript that goes as far as checking to make sure ad content is loaded before content the user cares about is displayed.

    58. Re:What about pipelining and keep-alive? by Fastolfe · · Score: 1

      SPDY is layered on top of TCP... **TCP** suffers from head-of-line blocking and therefore so does SPDY.

      You are mixing up your protocol layers. Head-of-line blocking of TCP segments is a wholly different thing than head-of-line blocking of HTTP responses.

    59. Re:What about pipelining and keep-alive? by Froggie · · Score: 1

      Ideally, fewer TCP connections should result in fewer dropped packets.

      It's not obvious that there's a huge difference there. There will be more packets for more TCP connections and therefore potentially more drops, but perhaps only a tiny percentage more.

      Also, with (say) 10 connections, each drop only stalls one of them while the other 9 continue. With one, 100% of the data stalls. So the number of drops may increase but the increase would have to be drastic to have the same magnitude of effect.

    60. Re:What about pipelining and keep-alive? by Score+Whore · · Score: 1

      Do you believe that there is something magical about the SPDY protocol that will make it impossible for devs to mess up the implementation? Because the problems mentioned so far in this little subthread about pipelining have nothing to do with a problem with the protocol and entirely to do with bad implementations.

    61. Re:What about pipelining and keep-alive? by kangasloth · · Score: 1

      Have you looked at SCTP at all? 90% of the problem that SPDY aims to solve is already addressed by SCTP. Message framing and multiplexing multiple streams over a single connection with different delivery guarantees are the standout features. SPDY main accomplishment is also its major drawback: it accepts as a design requirement TCP compatibility. It is a product of those who believe that the internet as originally conceived, is dead. Instead of a packet-switched network routed according to destination address, internet access has come to imply only outbound TCP session connectivity, with some UDP and ICMP if you're lucky. The fact that this is largely adequate for the way we use the network today should not be taken as an endorsement; our use today is limited to those aspects because we cannot do more. NAT and perimeter firewalls have effectively crippled the evolution of the global network. You can no longer upgrade only the endpoints: one must wait upon the whole of the network to join the transition. Innovation then is limited to layers above established protocols. Witness the madness that is IP-HTTPS. With that viewpoint in mind, I cannot celebrate the advent SPDY; I must lament it's significance.

      Adding insult is that it is perhaps not too late. The endpoints which benefit most from these efforts are those on the proprietary networks of the mobile operators like AT&T and Verizon. Those operators have the control necessary to permit SCTP operation, and there is a marketable competitive advantage to be had in doing so. The other side of the equation does not have the same barriers. Google, Akamai, Amazon - these endpoints are entirely owned by parties with both the capability and the business interest to enable the technology.

      SCTP has applications far beyond those that can be addressed by SPDY, but If SPDY succeeds, SCTP fails. They could have solved the problem on the internet. They chose to solve the problem on the web.

    62. Re:What about pipelining and keep-alive? by CastrTroy · · Score: 1

      I've always wondered, wouldn't it be easier to add an extra attribute to HTML documents so that they can do a request without sending any (or most) of the headers. Most of the time, when you're requesting an image, or a javascript file, or a css file, the web server doesn't care what your user agent is, it probably isn't looking at any cookies you have for the site. The number of headers you would probably have to include is minimal. It would be nice if you could write HTML as follows Then the browser notices that it's requesting static content, and doesn't send all the headers in the HTTP request. Perhaps you could just put a directive in the page header which says not to send headers with specific file extensions. that would minimize the amount of redesign in the page. And there's no need to implement new protocols.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    63. Re:What about pipelining and keep-alive? by grmoc · · Score: 1

      Using SPDY, servers are able to publish a setting (whenever they want, including at connect time) which advertises how many concurrent streams are allowed. In all cases SPDY gives more control than HTTP.

      And, if you multiplex connections over one SPDY connection, you often end up using less resources overall (including memory) as compared to HTTP connections.
      The average page uses ~40 connections, nowhere near just one connection!

      If you don't care about resource utilization, it still speeds web up web pages...

    64. Re:What about pipelining and keep-alive? by grmoc · · Score: 2

      SPDY goes further-- not only are requests and responses on separate streams asynchronous, but the parts of the different responses can be interleaved. The only head-of-line blocking here is based on the TCP buffering or the maximum frame size for SPDY (we typically use 4k frames).

    65. Re:What about pipelining and keep-alive? by grmoc · · Score: 1

      FYI, the compression of headers in SPDY actually compresses headers down to ~10% of their original size on average.

    66. Re:What about pipelining and keep-alive? by grmoc · · Score: 1

      The browser signals the priority. The server does its best to respond to it.
      The protocol allows this to occur.

    67. Re:What about pipelining and keep-alive? by grmoc · · Score: 1

      As for server push... in that case, the server determines what the browser may need. The browser can cancel streams if it finds it already has the resource being pushed.
      The server must announce what resources it will push before they're referenced in another resource (to avoid data races).
      This assumes some smarts in the servers that doesn't exist in typical HTTP servers (unless they're doing inlining).

    68. Re:What about pipelining and keep-alive? by grmoc · · Score: 1

      It all depends on the nature of the loss on the path the packets traverse.
      Correlated (i.e. simultaneous) loss will be *worse* to the many-connection case. When a network is congested this is the likely loss-type.
      Actual random loss (e.g. when using wifi and someone turns on the microwave) can cause a single connection to perform worse than many.
      In most cases, the single connection can outperform multiple connections after a bit of startup time.

      In all cases many connections adds to buffer bloat and decreases the ability of the TCP stack to react to real congestion.

    69. Re:What about pipelining and keep-alive? by grmoc · · Score: 1

      We definitely looked at SCTP.
      It wasn't, and unfortunately isn't deployable.

      I'm not sure I buy the argument that improving HTTP means we can't eventually improve the transport, btw. I think we can, but that it will take longer (e.g. ~10 years or more).

    70. Re:What about pipelining and keep-alive? by grmoc · · Score: 1

      yesh. :)

    71. Re:What about pipelining and keep-alive? by grmoc · · Score: 2

      Yes. Pipelining support was optional in HTTP/1.1 effectively.
      Multiplexing in SPDY is so essential that if you mess it up, Google (and probably all other sites that use SPDY) won't work at all.
      People are thus strongly motivated to get it right, which wasn't true of many of HTTP/1.1's effectively optional features.

    72. Re:What about pipelining and keep-alive? by Froggie · · Score: 1

      It all depends on the nature of the loss on the path the packets traverse.
      Correlated (i.e. simultaneous) loss will be *worse* to the many-connection case.

      I think you'd need to test that to prove it. In my head your simultaneous loss would cause some (but perhaps not all) of many connections would stall for retransmit and they would concurrently wait for the missed packets (1RTT on some percentage of the data), whereas one connection would stall for retransmit (1RTT on 100% of the data).

      You deny yourself possibilities for optimisation by putting data with a low ordering requirement through a channel with a high ordering guarantee. You can't pause only one stream for a lost packet when it's within a TCP multiplex; data is being buffered up in the kernel where you can't access it while it waits for a packet that may represent a chunk of a stream you could live without for the moment. (This is not to say that multiple-stream TCP is a better answer, mind you; in truth, there are disadvantages to using either method and some third method might be more appropriate, for instance some protocol that was reliable but did not attempt to preserve ordering).

    73. Re:What about pipelining and keep-alive? by kangasloth · · Score: 2

      I wouldn't presume to accuse the engineers behind SPDY of ignoring the existing work in the space. I did take exception to the immediate parent's dismissive and inaccurate characterization of SCTP. That protocol is a worthy attempt to solve real problems at the most technically desirable layer. SPDY looks to be a good piece of engineering, inventing only as much as necessary to achieve a well defined benefit. I cannot fault its creators for that.

      I stand behind my assertion that SPDY will succeed at the expense of SCTP. There are finite resources available for such work and those two protocols are in direct competition. After all the investment by browser implementors, web server vendors, proxies, reverse proxies, etc to support the former, can you really see any interest in doing so all over again for only modest direct benefit? If you succeed, then that constituency will have been largely satisfied. The web will indeed be better off – no small thing! And it will be good enough. Good enough in the same way that HTTPS is good enough. The protocol is sufficiently extensible that new ciphers have been deployed without breaking older implementations, but the true weaknesses lie in the fundamentally flawed nature of the CA institution that it spawned: a social problem, one not readily susceptible to technical improvement. Only now that the weakness in the CA system have been exploited and publicized has there been much appetite for any innovation in that space whatsoever. DNSSec is only just now percolating up through the resolver to applications – how long before we can rely on a sound technical foundation for transport crypto such as the HIP protocol aims to provide? The shortcuts taken today will linger to haunt future generations.

      Engineers solve real problems, affording us real, practical benefit. I get that. Please forgive me that I am sad that solving these problems one niche at a time means that we can't seem to pull together towards a general solution for a broader benefit. I don't want it to just work: I wish for the foundations to be sound.

  6. Real issue is... by blahplusplus · · Score: 5, Insightful

    ... embedded links that activate scripts/contact other adservers, etc. There is so much junk embedded in modern web-pages that most users have no clue how bad their client is being raped of accumulating identifiable information.

    1. Re:Real issue is... by Anonymous Coward · · Score: 1

      "Real issue is embedded links that activate scripts/contact other adservers, etc. There is so much junk embedded in modern web-pages that most users have no clue how bad their client is being raped of accumulating identifiable information."

      So does Google's SPDY solve that problem or only contribute to it? Or is the problem you mention and SPDY orthogonal?

    2. Re:Real issue is... by jeti · · Score: 3, Interesting

      Too true. Installing the Firefox NoScript extension has been an eye-opener for me.

    3. Re:Real issue is... by symbolset · · Score: 1

      Most "IT security professionals" don't know how inept they are either. It's a human trait: we all have blind spots and the biggest one is the breadth of our incompetence.

      --
      Help stamp out iliturcy.
    4. Re:Real issue is... by ArsenneLupin · · Score: 1

      "Real issue is embedded links that activate scripts/contact other adservers, etc. There is so much junk embedded in modern web-pages that most users have no clue how bad their client is being raped of accumulating identifiable information."

      So does Google's SPDY solve that problem or only contribute to it?

      Both:

      It solves it by removing the performance impact of these privacy intrusions. You'll still be raped, but now it is a quicky.

      It contributes to it by making it less obvious performance-wise, so web servers can do it even more without risking that anybody discovers it by accident due to the excessive sluggishness. You'll be raped in your sleep.

    5. Re:Real issue is... by Anonymous Coward · · Score: 0

      Real solution is...........to use Adblock Plus. I use ABP not so much for the annoyance that the ads represent, but the performance improvement and bandwidth saving you get.

    6. Re:Real issue is... by Anonymous Coward · · Score: 0

      You really should check out RequestPolicy for firefox as well.

    7. Re:Real issue is... by pbrandao · · Score: 1

      More so if you install RequestPolicy. You'll also see all the domains a web page pulls from. (for me seeing the Microsoft Technet forums request stuff from googleapis.com was eye-opener indeed.)

  7. remove that Adsense first? by Anonymous Coward · · Score: 3, Insightful

    Maybe Google could remove all the useless Google Adsense ads first because the main reason why pages load so slow is because of the million ad calls to Google?

    1. Re:remove that Adsense first? by simoncpu+was+here · · Score: 1

      Ads are OK. They're the reason why most things in life (i.e., the Internet) are free.

    2. Re:remove that Adsense first? by symbolset · · Score: 2

      You have to dig that deep for a dig at Google? That's pretty lame. Google can't do anything about how novice blogs include their ads.

      --
      Help stamp out iliturcy.
    3. Re:remove that Adsense first? by Anonymous Coward · · Score: 3, Insightful

      Yes, because before ads, there was no culture whatsoever and people didn't communicate. What was the point anyway? It's not like you could monetize it somehow...

      Protip: in the real world, content precedes advertisements... strangely, even on the Internet... I know you're probably too young to remember, but there _was_ a time when the Internet had more content than ads. Waaaaay back.

      Also, most things on the Internet are free, because most things in the Universe are free anyway and because... if you charged money for your blog... do you think people would bother even consider paying you? LOL

      Enjoy your stupid capitalist utopia.

    4. Re:remove that Adsense first? by Anonymous Coward · · Score: 0

      ...You do realize that most websites would simply use a different provider for ads if they did this? And that those ads would probably be more intrusive/annoying? Google's text ads are barely any overhead compared to the rest of a page loading.

    5. Re:remove that Adsense first? by Pieroxy · · Score: 2

      If you continue mixing everything in one big meta problem, you'll fail to see the big picture.

      Fact: People need to eat. They also usually need a roof over their head.
      Consequence: People need money.

      As a result of this, most people are not willing to work for free, because it is usually their work that makes the ends meet.

      Look at Wikipedia. Free of ads, but they come whining every other year for money. All in all, they do put ads on their site, buit it's ads for themselves.

      And before ads were invented the web was mostly academics and porn. Ah yes, a few fan website that ware so full of crap it was barely useable.

    6. Re:remove that Adsense first? by keeboo · · Score: 1

      Ads are OK. They're the reason why most things in life (i.e., the Internet) are free.

      Ouch... I think you should broaden your interests in life.

    7. Re:remove that Adsense first? by Anonymous Coward · · Score: 0

      You get internet for free? Damn.. I have to pay for it..

  8. Amen to that - GA as well by Anonymous Coward · · Score: 1

    They could at least make it a single one - but as someone already pointed out, there's so many cross-site and domain requests on a single page, and they all want to get their own google analytics report as well :)

  9. Grossly Incorrect Summary by zbobet2012 · · Score: 3, Interesting

    By default, a web browser opens an individual connection for each and every page request, which can lead to tremendous inefficiencies

    HTTP1.1 which is supported by everything newer than IE5 (at least) utilizes persistent connections. You can verify this yourself with Wireshark in seconds. SPDYs optimizations largely revolve around "pipelining", but without some of the issues that it causes.

    1. Re:Grossly Incorrect Summary by VortexCortex · · Score: 5, Funny

      By default, a web browser opens an individual connection for each and every page request, which can lead to tremendous inefficiencies

      ... SPDYs optimizations largely revolve around "pipelining", but without some of the issues that it causes.

      No no no... You're using the wrong definition of "pipelining". First you must realize the Internet is a Series of Tubes. The Series part is important because TCP is a Serial protocol. If any Tube in the Series cracks and data is lost, endpoints start spewing packets all over the place in alarm! SPDY's optimizations revolve around "pipelining" -- That is: Lining the Pipes to prevent such events from happening in the first place.

      HTTP1.1 is OLD! The pipes built around that time are OLD too. The HTTP1.1 "pipelining" is starting to wear through after 17 years... Connecting the Tubes is expensive too; If a Header is compressed there's less chance of part being lost in a data leak when it flows through the tubes.

      There is an underground movement to get rid of the whole ridiculous idea of Tubes. I mean, Why would you take something as permeable as a NET and build a Series of Tubes out of it?! OF COURSE YOU NEED PIPELINING if you want it to be efficient!

      However, what if you didn't need a "pipe" what if you could get your information from the Sea of Data by Casting about the Web and sorting out the results on your end? You could simply keep trying until you were satisfied with the data you had. Even better if relevant data could be naturally organized -- swarm together -- in a sort of BitTorrent so you could get the data in the Net with less Casting... One could even take the center out -- Decentralize it -- to help prevent conflicts about which data came from what side. I mean: Who cares if someone wants to DownLoad a car so much that it's undrivable from all the weight? It doesn't make your car any less usable! Besides, the naysayers are all Hypocrites: They have to participate in the things they say are wrong just to even see into what we're doing -- You have to Peer to Peer!

      Don't even get me started on Cloud Computing! Seriously... It's VaproWare!

    2. Re:Grossly Incorrect Summary by YoopDaDum · · Score: 1

      Modded "5, Funny" I could have understood, but "5, Informative"?. We need a "meta-funny" modding option.
      And I for one would welcome the ones who modded this informative to reply to this comment explaining their rationale. Don't be shy people, we already love you!

    3. Re:Grossly Incorrect Summary by Pieroxy · · Score: 1

      You are correct!! There are 30% of informative mods on this !!!

      That anyone could find this "informative' clearly show the mod point go to the wrong persons. I mean, if you have that low of a knowledge of networks in general, you shouldn't moderate these discussions.

    4. Re:Grossly Incorrect Summary by Brian+Feldman · · Score: 1

      Pretty sure "informative" is meant to be "in general."

      --
      Brian Fundakowski Feldman
    5. Re:Grossly Incorrect Summary by Anonymous Coward · · Score: 0

      You are correct!! There are 30% of informative mods on this !!!

      That anyone could find this "informative' clearly show the mod point go to the wrong persons. I mean, if you have that low of a knowledge of networks in general, you shouldn't moderate these discussions.

      good funny posts are modded informative/insightful because funny gives no karma.

    6. Re:Grossly Incorrect Summary by Pieroxy · · Score: 1

      Wow. Way to screw the whole system just for these little puny points.

  10. Alternatives? by Ostracus · · Score: 2

    What about alternatives like UDT, and SCTP?

    --
    Shai Schticks:"You don't make peace with friends, you make peace with enemies"
    1. Re:Alternatives? by grmoc · · Score: 1

      SCTP sadly isn't deployable in a world with NATs. It is definitely one of the solutions we examined before embarking on this journey.
      Things like UDT (and other non-TCP protocols) are very interesting... but not yet deployable, which means that these kinds of changes are further down the line.

  11. I before E... by grcumb · · Score: 5, Funny

    "[T]he SPDY (pronounced 'speedy') protocol ....

    No WAY am I pronouncing it 'speedy'. I'm a callin' it 'spidey'. That way, I can build wearable network monitors which vibrate at high frequencies when the web server gets bogged down.

    And then.... I'll be able to interrupt my boss in mid-sentence and say, "Hang on, my spidey sensors are tingling..."

    --
    Crumb's Corollary: Never bring a knife to a bun fight.
    1. Re:I before E... by Surt · · Score: 5, Funny

      "I better check my web servers."

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    2. Re:I before E... by Anonymous Coward · · Score: 0

      SPDYman protocol, SPDYman protocol, does anything that a SPDY can!

  12. HTTP 2.0? by Niscenus · · Score: 1

    We haven't done that yet? Wasn't that a late nineties thing? We're still on a 10 and 20 year old protocol!? Why isn't slashdot using html 1.1? Tables not good enough? As someone who still catches up on the IEEE from time to time, this is actually surprising. No wonder lynx hasn't needed much upgrading for connections beyond bug fixes.

    That means all advantages have been the physical pathways (that includes wireless) and TCP! Wow! Based on the fact psychics made it to the front page of slashdot without James Randi popping up, I can only presume most of slashdot has no idea how bizarre that is.

    --
    "Yeah...it was the numbers that were irrational, not the murderous cult of vegetarians...." -- Hippasus of Metapontum
    1. Re:HTTP 2.0? by Anonymous Coward · · Score: 0

      That is a feature, not a bug.

    2. Re:HTTP 2.0? by Hadlock · · Score: 2

      We have other protocols, like FTP for example, that handle things besides web pages. HTTP is a pretty wide open protocol and allows all sorts of things to be jammed in to it, which is why it's worked so well in the past.
       
      Also, as they say, "if it ain't broke, don't fix it".

      --
      moox. for a new generation.
    3. Re:HTTP 2.0? by VortexCortex · · Score: 1

      Ah, I see... So, if it's not broke, take it apart and re-engineer it until it is. I'm filing this under my subtle methods for maintaining job security.

    4. Re:HTTP 2.0? by Pieroxy · · Score: 2

      We have other protocols, like FTP for example, that handle things besides web pages. HTTP is a pretty wide open protocol and allows all sorts of things to be jammed in to it, which is why it's worked so well in the past.

      Also, as they say, "if it ain't broke, don't fix it".

      With all the NAT going around, FTP is becoming less and less useable.

      The biggest pro for HTTP is it's universal support, not its openness.

      As far as your last sentence is concerned, we'd still be fighting for a little fire if we followed it all along...

    5. Re:HTTP 2.0? by Anonymous Coward · · Score: 0

      Passive FTP has been around for more than 20 years.

    6. Re:HTTP 2.0? by Pieroxy · · Score: 1

      Passive FTP has been around for more than 20 years.

      Still a lot more complex than regular HTTP which goes through only one socket though. Not mentioning people behind an HTTP proxy such as myself at this very moment. Plenty of workarounds, but they're just that: workarounds.

  13. Countermeasure for Nokia/RIM/O... speedup-proxies? by q.kontinuum · · Score: 5, Interesting

    Several mobile phone companies and some browsers offer special proxies nowadays to speed up browser experience on mobile phone and to reduce data usage for customers by serving prerendered or otherwise optimized/reduced pages. This might severely reduce Googles ability to collect user data from these users on the visited web pages (unless the user is logged in to google+ or alike with his browser, which might be unlikely given that for social networks there are usually separate apps).

    Is this now a step to reduce the need for these proxies in order to protect their own business?

    --
    Trolling is a art!
  14. Waiting for ad.doubleclick.net ...zzz... by Frogking · · Score: 1

    Great! But will it do anything to speed up pages that refuse to display until the advertisements do? Even Slashdot takes longer to display because of some third-party ad server.

    1. Re:Waiting for ad.doubleclick.net ...zzz... by scdeimos · · Score: 1

      No ads here. Maybe I clicked that "Disable Advertising" thingy on the front page at some point.

    2. Re:Waiting for ad.doubleclick.net ...zzz... by Surt · · Score: 1

      Yes. Or, it should. Because your browser definitely doesn't have to wait on those. Mine doesn't.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    3. Re:Waiting for ad.doubleclick.net ...zzz... by VortexCortex · · Score: 5, Interesting

      I have that option too, but I'm willing to allow Slashdot to make whatever meager income they can by my presence since they're kind enough to allow my positive (and negative) contributions.

    4. Re:Waiting for ad.doubleclick.net ...zzz... by FireFury03 · · Score: 4, Funny

      Great! But will it do anything to speed up pages that refuse to display until the advertisements do? Even Slashdot takes longer to display because of some third-party ad server.

      XHTML largely fixed that by banning document.write(). Unfortunately the "industry" didn't like that and produced the enormous brain-fart known as HTML5, which went back to allowing all the crazy shit that XHTML had banned for a good reason.

    5. Re:Waiting for ad.doubleclick.net ...zzz... by oobayly · · Score: 1

      Good to see I'm not the only one. I don't tend notice the ads because I'm too busy reading the comments (the article? don't be daft), but there have been a few occasions when an ad has been useful (like RC helicopters).
      Without the income Slashdot would be slashdoted daily.

    6. Re:Waiting for ad.doubleclick.net ...zzz... by Neil+Boekend · · Score: 1

      Maybe /. could be faster if the summary wasn't loaded at all, since nobody reads it anyways. It'd even save /. some data cost.

      --
      Well, I might have a way, but it only works on a semi spherical planet in a vacuum.
    7. Re:Waiting for ad.doubleclick.net ...zzz... by Anonymous Coward · · Score: 0

      By the way: Luckily, there's now XHTML5 too!
      And yes, no X* = no proper error reporting = no professional.

      The lack of a proper DOCTYPE for it still boggles the mind though. Couldnâ(TM)t they have simply done a XML-style RelaxNG (C syntax!) replacement, instead of that crippled useless "DOCTYPE html5" thing?

      I dream of a world, where every basic text editor can read EBML the same way it can read UTF8 (not that different anyway, considering that EBML is nothing more than UTF8-encoded (numeric) tags with content length fields behind them), showing a textual XML representation, but storing EBML with a tag number -> text name mapping header. Together with RelaxNG that would make the perfect combination. I dream of a world where that replaces XML entirely.
      OK, I don't dream. I did it in 2003, when implementing my second big web app at my former job. ^^

    8. Re:Waiting for ad.doubleclick.net ...zzz... by nine-times · · Score: 1

      I feel the same way. Of course, whenever I set up a new computer for myself, I always forget to add Slashdot to my Adblock exclusions, so I don't see the ads anyway.

      A few bad apples have spoiled the bunch for everyone. If ads weren't so annoying on a few sites, I'd forget to install Adblock.

    9. Re:Waiting for ad.doubleclick.net ...zzz... by Anonymous Coward · · Score: 0

      Probably because XHTML is shit that no one is capable of rendering properly in their browers due to countless developer abuse and MIME type issues. XHTML got killed for a good reason. It sucked.

    10. Re:Waiting for ad.doubleclick.net ...zzz... by GrievousMistake · · Score: 1

      Some web browsers just render the page assuming that included scripts won't call document.write(), and then render the page again when the scripts have loaded, in case they do.
      I think Chrome does this, and Opera has it as an experimental option in opera:config ("Delayed script execution").
      It speeds up things a lot, especially if you aren't blocking ads. Many sites spend most of their loading time just waiting for ad servers.

      There ought to be an attribute or something that webmasters could use to explicitly request XHTML semantics... Something like

      --
      In a fair world, refrigerators would make electricity.
    11. Re:Waiting for ad.doubleclick.net ...zzz... by GrievousMistake · · Score: 1

      Er, or even <script src="foo" iamnotadocumentwriteusingidiot="1">

      --
      In a fair world, refrigerators would make electricity.
  15. premature optimization is the root by decora · · Score: 1

    of something... i cant remember it right now, because, well, my text reading program has been optimized for ARM NEON, but my smart phone doesn't have NEON, or at least, this version of the driver i'm using doesn't work with NEON, and i tried to port it, but its like i can't find a good way to work around the specialized vectorization code inside of the Eigen2 library because it doesnt work on certain platforms. but if it did work, my text editor would be like 75% faster than some luser running it on a single CPU machine with no NEON optimization.

    what im trying to say is, imagine a beowulf cluster, and then imagine you fill it with sand, and drain the sand out, and you film it.

    1. Re:premature optimization is the root by Surt · · Score: 1

      I think the internet has proven sufficiently slow that it is now officially time to go ahead and get on top of optimization. It's premature by about negative one decade at this point.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    2. Re:premature optimization is the root by symbolset · · Score: 1

      Have you considered using a hammer to pound that nail? It sounds like the limp fish you're using isn't getting it done.

      --
      Help stamp out iliturcy.
  16. Re:Countermeasure for Nokia/RIM/O... speedup-proxi by Anonymous Coward · · Score: 1

    Several mobile phone companies and some browsers offer special proxies nowadays to speed up browser experience on mobile phone and to reduce data usage for customers by serving prerendered or otherwise optimized/reduced pages.

    No they don't. They transparently proxy everything to reduce the amount of traffic through their upstreams and peers - because Telcos rape either other with bills in the same way they rape their own customers. That customers get a faster, more responsive connection to popular sites is only an unintended side effect.

  17. SPYW by microbee · · Score: 1

    At least it's not SPYW..thanks God.

  18. It'd be a faster still without all the redirects by Anonymous Coward · · Score: 2, Informative

    Says it all. The connection setup isn't the problem, it's being bounced to 10 different sites other than the one you wanted to visit, half of which are overloaded at any given time.

    Fix that instead Google and there's no need to mess with the standards anyway.

  19. What above the layer below? by Lisandro · · Score: 4, Interesting

    SPDY's goal is to reduce web page load times through the use of header compression, packet prioritization, and multiplexing (combining multiple requests into a single connection).

    I'd like to see SCTP getting some love, which sadly enough seems unlikely if it hasn't happened so far. It's a very simple protocol mixing the good parts of both TCP and UDP, plus it supports multiplexing and priorization off the bat.

    1. Re:What above the layer below? by FireFury03 · · Score: 1

      I'd like to see SCTP getting some love, which sadly enough seems unlikely if it hasn't happened so far. It's a very simple protocol mixing the good parts of both TCP and UDP, plus it supports multiplexing and priorization off the bat.

      Unfortunately, whilst its a very good protocol, it isn't supported by Windows, and Microsoft is on record as saying they have no intention of ever implementing it. I guess this is no surprise - the protocol is very new (only 12 years old) and not in common use Microsoft traditionally wait until technologies have been in common use for a good 10-15 years before bothering to produce a half-arsed broken implementation of them (see standards like C99 for details).

      That said, it would be nice to see SCTP being used for this sort of thing automatically where it is available, with fallback to TCP where not.

    2. Re:What above the layer below? by rdebath · · Score: 5, Informative

      That's a really poor way of describing SCTP. Firstly the relationship between TCP and UDP is such that TCP could be built entirely ontop of UDP, the only reason it isn't physically is so that the port numbers for UDP and TCP are distinct. On the other side the best description of UDP is actually "Bare IP packets with port numbers".

      SCTP is not that, it would probably be most accurate to describe it as being a protocol with multiple TCP streams in both directions within one connection. Because it's within a single connection a 'stream' can be very small (ie a little message) and still be efficient and because there are multiple streams messages don't have to wait for each other; though they can if you want. It is probably simpler that TCP, but only because TCP has had so much bolted on.

      But you are absolutely correct, this would be a very good protocol for throwing a load of tiny requests at a web server and getting the results back as soon as they're ready. BUT, mixing it with SSL would not be very simple, I guess you'd have to do what OpenVPN does.

    3. Re:What above the layer below? by dkf · · Score: 1

      That's a really poor way of describing SCTP. Firstly the relationship between TCP and UDP is such that TCP could be built entirely ontop of UDP, the only reason it isn't physically is so that the port numbers for UDP and TCP are distinct. On the other side the best description of UDP is actually "Bare IP packets with port numbers".

      It also adds packet content checksums, so you're much less likely to get bad data delivered. It's less important than it used to be (due to improvements in physical network quality) but even so, it's a huge help since it lets you assume that the data is at least uncorrupted by the transfer process itself.

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    4. Re:What above the layer below? by swillden · · Score: 1

      TCP also has a packet content checksum. It's a literal sum (1's complement) of all of the header fields and text, so not the most sophisticated checksum, but certainly capable of catching most damage. Granted that SCTP's 32-bit CRC is better, but it's not a huge difference.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    5. Re:What above the layer below? by rdebath · · Score: 1

      The SCTP checksum (same as zip IIRC) is mostly of use in a lan environment IMO. Across the internet you're very likely to either have an archive file which a good or even a cryptographical checksum or an encrypted connection with a message authentication code which is by definition a cryptographical checksum.

      The TCP checksum is a bad joke. Not only is it small it's a bad example of a checksum so some estimates say that one in ten thousand errors will get through. This is really scary when you remember that a gigabit ethernet can transfer at least 80000 packets per second.

      I have seen corruption due to lan errors that bypass the TCP checksums and I've had a serious corruption issue in one application that assumes the TCP channel is error free. Most applications tend to drop the connection or crash with protocol errors because they don't really trust the peer at the other end. OTOH a proper 32bit CRC is big enough to push the likelyhood of an undetected error from "may happen a few times a year" to "not in your, or your kids lifetime".

    6. Re:What above the layer below? by swillden · · Score: 1

      OTOH a proper 32bit CRC is big enough to push the likelyhood of an undetected error from "may happen a few times a year" to "not in your, or your kids lifetime".

      Agreed on the deficiencies of the 16-bit 1's complement sum -- and I've also had data loss from it -- but I think you're overestimating the goodness of a 32-bit CRC. The exact performance depends on the nature of the corruption, but it's pretty much going to fail about 1 in 2^32 times. At 80K packets per second, with, say, 1% corruption (which is a bit high, but I've seen worse...), that's ~6 undetected corrupted packets per year.

      48 bits, or 64, would be much better.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    7. Re:What above the layer below? by grmoc · · Score: 1

      SCTP is cool in a lot of ways. It just has some (substantial) deployment issues.
      Sadly, this is true of any non-tcp protocol. I hope that we continue to play with such, but I think that replacing TCP as a transport for reliable communication is probably farther down the line.

    8. Re:What above the layer below? by Anonymous Coward · · Score: 0

      I have seen corruption due to lan errors that bypass the TCP checksums and I've had a serious corruption issue in one application that assumes the TCP channel is error free. Most applications tend to drop the connection or crash with protocol errors because they don't really trust the peer at the other end.

      OTOH a proper 32bit CRC is big enough to push the likelyhood of an undetected error from "may happen a few times a year" to "not in your, or your kids lifetime".

      LOL like the one in the ethernet header?

    9. Re:What above the layer below? by rdebath · · Score: 1

      Yup, just like that one; I really wish it was always checked. But many cheap and nasty ethernet adaptors don't seem to bother because it's so difficult for an end user to actually confirm that they're good adaptors.

      Also remember, a checksum at the OS level will cover a different set of bytes to those that the HW level so two CRCs really does get you most if not all of the extra protection the extra bits imply.

    10. Re:What above the layer below? by rdebath · · Score: 1

      Well, yes, I am leaving out assumptions. The biggy is probably that I'd be assuming both traffic and errors come in bursts. If they're continuous people would be complaining about slow performance and it would normally get fixed. But a bursty one would get the "looks okay to me" response every time. The 16bit checksum can't survive that, the 32bit CRC will (yup, no problem, definitely ... okay, probably) hold the data together long enough for the complaints to mount.

      Though, I'd never suggest using a 48/64 bit CRC, if I decide that 32bit isn't enough (say like I'm feeling now!) I'd definitely step up to a full cryptographical checksum. If nobody can break it on purpose it ain't gonna break by accident!

  20. Adds bufferbloat and reduces VoIP sound quality by haffy · · Score: 5, Interesting

    SPDY is a great example of someone thinking only of their own application.

    By increasing the initial window size from 3 to 10 they add to the bufferbloat effect (at the microscopic level) and increase Jitter from tolerable 38 ms to intolerable 126 ms on a 1 Mbit/s ADSL line. This level of jitter severely affects VoIP sound quality. And for this calculation I have assumed that the web browser only uses one TCP connection to load the page; if it uses two TCP connections the Jitter may double.

    But hey! What does any application developer care about other applications? They are only concerned about getting their own application sped up.

    When you improve the performance of your application, you should think about how it degrades the performance of other applications. If someone recommended increasing the O/S priority level of the web browser to the maximum, so all your other applications slowed down to a halt while the web browser was running, you would probably object. The increased initial window size is a comparable recommendation, but at a network buffering level, so very few people understand its negative side effects.

    We all want faster loading web pages, but we also want other applications to respond faster, and we also want perfect VoIP sound quality without the walkie talkie effect caused by high latency or jitter.

    1. Re:Adds bufferbloat and reduces VoIP sound quality by Anonymous Coward · · Score: 0

      Then don't use SPDY for VoIP applications?

    2. Re:Adds bufferbloat and reduces VoIP sound quality by mnot · · Score: 2

      Actually, Jim Gettys has called for the adoption of SPDY (alongside the wider deployment of HTTP pipelining) to help mitigate bufferbloat.

    3. Re:Adds bufferbloat and reduces VoIP sound quality by Anonymous Coward · · Score: 0

      Don't use VoIP on a 1Mbit/s line that isn't really dedicated to VoIP. Besides, it's pretty rare to have a ADSL line that slow these days.

    4. Re:Adds bufferbloat and reduces VoIP sound quality by Anonymous Coward · · Score: 0

      Quite true regarding the initial window size on TCP connections.

      Maybe fixing pipelining should be the priority here not fucking around with TCP window sizes so you can push more flash ads faster into the eyes of your product.

    5. Re:Adds bufferbloat and reduces VoIP sound quality by Anonymous Coward · · Score: 0

      Proper VoIP applications don't even use TCP as their transport protocol as TCP verifies the checksum of each frame and re-requests bad frames to ensure data integrity (which is too slow for a VoIP application, which typically use small frames and just drop bad packets).

      The TCP frame size will keep increasing if the error rate is low anyways, as TCP was designed to start will a small frame size and gradually increase it (to keep bad connections using small frames, and thereby reducing network congestion).

    6. Re:Adds bufferbloat and reduces VoIP sound quality by FireFury03 · · Score: 5, Informative

      By increasing the initial window size from 3 to 10 they add to the bufferbloat effect (at the microscopic level) and increase Jitter from tolerable 38 ms to intolerable 126 ms on a 1 Mbit/s ADSL line.

      I can't really see how increasing the window size would increase jitter. Network bandwidth aside, the throughput of a TCP connection is a function of latency and window size. Increasing the window size simply increases the throughput on high-latency networks.

      You're still limited to MTU-size packets (probably 1500 octets), and if you're using a priority queuing discipline this gives you a network jitter of about 12ms on a 1Mbps connection: (1500*8)/1000000 = 0.012 since the priority queue will insert the small high priority RTP packets between the large low priority packets.

      When you improve the performance of your application, you should think about how it degrades the performance of other applications. If someone recommended increasing the O/S priority level of the web browser to the maximum, so all your other applications slowed down to a halt while the web browser was running, you would probably object. The increased initial window size is a comparable recommendation, but at a network buffering level, so very few people understand its negative side effects.

      Increasing the window size is not comparable to increasing the priority of the traffic. I would agree with you if the application were setting the ToS flags(*) in an abusive way, but the window size just affects the maximum throughput for a connection given a specific latency connection. Given that latency isn't something generally very controllable, this can't even be regarded as an effective method of intentionally throttling throughput (shaping the traffic on the router would be more sensible here).

      (* routers out on the internet won't generally pay attention to ToS flags, so setting them abusively wouldn't normally give you any advantage anyway. However, routers at the ends of low bandwidth links, such as ADSL, should be paying attention to ToS flags in order to prioritise latency-sensitive protocols. If you're not doing this and just relying on FIFO queuing then you're pretty much screwed already for VoIP unless you're using the connection for nothing else).

    7. Re:Adds bufferbloat and reduces VoIP sound quality by Anonymous Coward · · Score: 0

      SPDY is a great example of someone thinking only of their own application.

      Sure, idiot, because Google doesn't do Google Talk, Voice or Hangouts.

    8. Re:Adds bufferbloat and reduces VoIP sound quality by Anonymous Coward · · Score: 0

      SPDY is a great example of someone thinking only of their own application.

      Sure, idiot, because Google doesn't do Google Talk, Voice or Hangouts.

      Great, another Google trainee reading Slashdot.

    9. Re:Adds bufferbloat and reduces VoIP sound quality by Anonymous Coward · · Score: 0

      AFAICS SPDY is not a replacement for TCP, and you can have multiple applications using different protocols, just like you may now be using software using TCP and UDP packets. So use SPDY for the large pages and whatever else for VoIP.

    10. Re:Adds bufferbloat and reduces VoIP sound quality by Ash-Fox · · Score: 1

      Proper VoIP applications don't even use TCP as their transport protocol as TCP verifies the checksum of each frame

      You should have updated to IPv6, where is no such checksum in TCP.

      --
      Change is certain; progress is not obligatory.
    11. Re:Adds bufferbloat and reduces VoIP sound quality by magamiako1 · · Score: 1

      Though I'm being a pedantic dick here, in IPv6, IP's checksum was removed because it is a function carried out both above and below the IP layer, in Ethernet and in TCP as needed.

    12. Re:Adds bufferbloat and reduces VoIP sound quality by Phs2501 · · Score: 2

      You should have updated to IPv6, where is no such checksum in TCP.

      I think you're misinformed. IPv6 has no IP header checksum, unlike IPv4. However, the higher-level protocol checksums are still there; in fact, UDP over IPv6 is required to include a valid checksum, unlike in IPv4 where it can optionally be 0x0000.

    13. Re:Adds bufferbloat and reduces VoIP sound quality by Ash-Fox · · Score: 1

      I think you're misinformed. IPv6 has no IP header checksum, unlike IPv4.

      Which is what I said.

      --
      Change is certain; progress is not obligatory.
    14. Re:Adds bufferbloat and reduces VoIP sound quality by dylan_- · · Score: 1
      No, you said:

      You should have updated to IPv6, where is no such checksum in TCP.

      You were wrong: there is a checksum in TCP on IPv6.

      Phs2501 was correct: there is no checksum in IP in IPv6.

      --
      Igor Presnyakov stole my hat
    15. Re:Adds bufferbloat and reduces VoIP sound quality by DragonWriter · · Score: 1

      SPDY is a great example of someone thinking only of their own application.

      By increasing the initial window size from 3 to 10

      The initial window size change is part of Google's approach to improving TCP, which is conceptually linked to SPDY (since it is part of Google's broader efforts to reduce web latency), but separate from the SPDY protocol itself.

      This level of jitter severely affects VoIP sound quality. And for this calculation I have assumed that the web browser only uses one TCP connection to load the page; if it uses two TCP connections the Jitter may double.

      But hey! What does any application developer care about other applications?

      You do realize that Google's applications include VoIP applications, right?

    16. Re:Adds bufferbloat and reduces VoIP sound quality by Lennie · · Score: 2

      SPDY does not increase the initial window, Google, Microsoft and many others increased that on their server to get the content faster to you.

      Within Google a completely different department I'm sure.

      SPDY uses less connections a good thing to reduce bufferbloat.

      Someone above already mentioned Jim Getty mentioned SPDY will reduce the effect of bufferbloat.

      --
      New things are always on the horizon
    17. Re:Adds bufferbloat and reduces VoIP sound quality by Bengie · · Score: 1

      1) QoS is your friend. Most OSs and routers support QoS for VoIP out of the box.
      2) Bursting is good for networks when having very small transfers(like web pages) by creating smaller transfer windows. Overall packetloss is reduced, along with jitter.

      If you really want to see jitter and packetloss, create a single bottleneck where lots of TCP connections are communicating across. You get this grow and collapse pattern that is either over-saturating or under-saturating the network.

      The current issues are more of "Scaling" issues. While latency is relatively constant because of physics, bandwidth keeps increasing. Keeping those fat pipes fed requires larger and larger buffers.

    18. Re:Adds bufferbloat and reduces VoIP sound quality by tepples · · Score: 1

      Besides, it's pretty rare to have a ADSL line that slow these days.

      Unless you can't afford to move closer to the DSLAM.

    19. Re:Adds bufferbloat and reduces VoIP sound quality by Anonymous Coward · · Score: 0

      If you see the presentation, they actually reduce the overall initial window size. Instead of an initial cwnd of 3 for up to 6 connections to a HTTP server for a total cwnd of 18, they chose a cwnd of 10 and limit SPDY to a single connection. Then there is that subdomain sharding approach which amplifies the effective cwnd even more, but that affects both SPDY and traditional HTTP equally.

    20. Re:Adds bufferbloat and reduces VoIP sound quality by haffy · · Score: 1

      I can't really see how increasing the window size would increase jitter. Network bandwidth aside, the throughput of a TCP connection is a function of latency and window size. Increasing the window size simply increases the throughput on high-latency networks.

      You're still limited to MTU-size packets (probably 1500 octets), and if you're using a priority queuing discipline this gives you a network jitter of about 12ms on a 1Mbps connection: (1500*8)/1000000 = 0.012 since the priority queue will insert the small high priority RTP packets between the large low priority packets.

      Packets are sent in bursts, so increasing the burst size from 3 to 10 packets of 1500 octets gives you a burst of 15000 instead of 4500 octets. You are absolutely right that when using a QoS mechanism to prioritize the VoIP over the Web traffic the SPDY increased window size doesn't affect the sound quality. However, ISP's don't use QoS to prioritize RTP traffic on your public internet ADSL connection.

      Increasing the window size is not comparable to increasing the priority of the traffic.

      I was just trying to point out that they are optimizing their own application performance at the cost of performance for other applications.

      Given that latency isn't something generally very controllable, this can't even be regarded as an effective method of intentionally throttling throughput (shaping the traffic on the router would be more sensible here).

      I am the CTO of a company developing bandwidth and latency optimization products (http://www.smartsharesystems.com/), and we have lots of customers that will confirm that latency and jitter were reduced to acceptable levels when they installed our product. If you do it right, it is effective.

      -Morten Brørup
      CTO, SmartShare Systems

    21. Re:Adds bufferbloat and reduces VoIP sound quality by FireFury03 · · Score: 1

      Packets are sent in bursts, so increasing the burst size from 3 to 10 packets of 1500 octets gives you a burst of 15000 instead of 4500 octets.

      This isn't quite true. Burstyness is an indication that the connection is being underutilised due to the sliding window size being too small. Ideally, the window should not completely fill and the transmission should therefore happen in a non-bursty fasion at close to the link speed.

      In any case, the initial congestion window (which is what is being discussed) only affects the slow-start mode employed when a TCP connection is first established. Once the connection is running, the window size automatically scales in an attempt to utilise the full link bandwidth. The reason for increasing the initial congestion window is that on modern networks, the network speed is relatively high and connections are short lived, which means they tend to be closed before the window is scaled to the most optimal size (this is something that persistent connections help with - the slow-start does not need to happen for each request since a long-lived connection should tend to automatically scale the window size automatically). One thought that springs to mind is that is may be sensible for the host to try to cache the last known window size used to talk to a specific host, and use that as the initial congestion window size for new connections to that host, since that would help optimal settings to persist between connections to some extent..

      You are absolutely right that when using a QoS mechanism to prioritize the VoIP over the Web traffic the SPDY increased window size doesn't affect the sound quality. However, ISP's don't use QoS to prioritize RTP traffic on your public internet ADSL connection.

      You're using the wrong ISP then. ISPs don't tend to use QoS over their core networks (for one thing, there's too much scope for abuse by a customer who decides to tag thair bittorrent traffic as high priority and adversely affecting other customers as a result), but QoS over ADSL lines is quite common (the abuse factor is somewhat mitigated by the fact that these don't tend to be shared amoungst a large number of users, so someone mistagging thir traffic will only hurt themselves).

      I was just trying to point out that they are optimizing their own application performance at the cost of performance for other applications.

      Nope. For one thing, I don't believe this will cost performance from other applications - this is only an adjustment to the _initial_ window size, so any moderately long lived connection would have adjusted itself in this way already. In traditional HTTP, the browser opens a large number of connections at once, which, if you aggregate the traffic flow from these connections, gives an effective increase in the initial window size anyway. Secondly, the very design of the internet precludes latency sensitive applications from working reliably over (comparatively) low bandwidth connections unless QoS is employed to allow that traffic to jump the queue. (I'm using "comparatively low bandwidth" loosely here - the important measure is actually how long the transmit queue is on the router compared to the link bandwidth - i.e. how long it will take to flush the queue over the link. This is the important measure of jitter, not things like initial congestion window settings).

    22. Re:Adds bufferbloat and reduces VoIP sound quality by haffy · · Score: 1

      Packets are sent in bursts, so increasing the burst size from 3 to 10 packets of 1500 octets gives you a burst of 15000 instead of 4500 octets.

      This isn't quite true. Burstyness is an indication that the connection is being underutilised due to the sliding window size being too small. Ideally, the window should not completely fill and the transmission should therefore happen in a non-bursty fasion at close to the link speed.

      At the high level statistical point of view, you are absolutely correct - this is the "steady state" TCP was designed for. However, modern NICs use Interrupt Coalesce and similar techniques to reduce the CPU load, and this causes burstiness when looking at the traffic at the microscopic level.

      on modern networks, the network speed is relatively high

      Not always true. Some of our resellers even have customers running VoIP on satellite links.

      However, ISP's don't use QoS to prioritize RTP traffic on your public internet ADSL connection.

      You're using the wrong ISP then. [...] QoS over ADSL lines is quite common [...]

      We have resellers in many countries, and sure you can buy QoS as a value added service on your MPLS line from any decent telco, but none of the ISPs I have ever heard of provide QoS on ordinary public internet ADSL lines. If you can point me towards just one ISP that advertises DiffServ or similar tag based QoS on their public internet ADSL lines, I will be happy to correct my statement from "ISP's don't use QoS to prioritize RTP traffic..." to "Most ISP's don't use QoS to prioritize RTP traffic...".

      In traditional HTTP, the browser opens a large number of connections at once, which, if you aggregate the traffic flow from these connections, gives an effective increase in the initial window size anyway.

      Agreed!

      Secondly, the very design of the internet precludes latency sensitive applications from working reliably over (comparatively) low bandwidth connections unless QoS is employed to allow that traffic to jump the queue.

      Mostly true, except there are alternatives to classic QoS (i.e. tag based QoS) that do allow you to use latency sensitive applications over (comparatively) low bandwidth connections. But if protocol designers at Google (and elsewhere) work under the assumption you just described (roughly paraphrased: "latency sensitive applications do not belong in non-QoS networks") we can all wave goodbye to Skype, GoToMeeting, WebEx and a lot of other realtime collaboration tools that use the plain internet as transport medium! I originally commented this story to warn against turning the most popular protocol on the internet (HTTP) in that direction.

      (I'm using "comparatively low bandwidth" loosely here - the important measure is actually how long the transmit queue is on the router compared to the link bandwidth - i.e. how long it will take to flush the queue over the link. This is the important measure of jitter, not things like initial congestion window settings).

      Yes, I absolutely and completely agree that jitter and latency is key to the user experience!

    23. Re:Adds bufferbloat and reduces VoIP sound quality by FireFury03 · · Score: 1

      We have resellers in many countries, and sure you can buy QoS as a value added service on your MPLS line from any decent telco, but none of the ISPs I have ever heard of provide QoS on ordinary public internet ADSL lines. If you can point me towards just one ISP that advertises DiffServ or similar tag based QoS on their public internet ADSL lines

      I imagine A&A will do this for you. I'm aware that they do QoS on customer DSL as standard but don't know the specifics. Similarly, I believe even cheapo ISPs, such as PlusNet, do some level of QoS, but good luck getting any detail of exactly what they do.

      But if protocol designers at Google (and elsewhere) work under the assumption you just described (roughly paraphrased: "latency sensitive applications do not belong in non-QoS networks") we can all wave goodbye to Skype

      Frankly, as far as I care, Skype can indeed go to hell.

      However, the solution to this is not to just shove latency sensitive traffic over a non-QoS network and hope that other applications are playing nice (on an internet where very few applications actually seem to bother to follow RFCs, it seems ridiculous to me to expect an application to interact well with other applications in a situation where there are no standards!). The solution is to choose your ISP according to your requirements. For the most part, congestion happens on the links between the ISP and the end user, and this is something the end user can control. If you need VoIP, or other another latency sensitive application, go find an ISP that will accommodate you, rather than expecting the cheapest, most clueless ISP you can find, to be suitable. You _can_ get away with VoIP on a quiet non-QoSed ADSL, but expecting other protocols to restrict what their abilities because you're too cheap to get a decent connection seems silly.

    24. Re:Adds bufferbloat and reduces VoIP sound quality by badkarmadayaccount · · Score: 1

      Okay. Goodbye, Skype, etc. it was not nice knowing ya'. Seriously not supporting tag based QoS is as much a network issue as buffer-bloat (AKA not setting up ECN correctly.)

      --
      I know tobacco is bad for you, so I smoke weed with crack.
  21. Bonus points for Haiku by martin-boundary · · Score: 0

    Secret plot by Apple.
    Evil Apple, Evil Apps.
    GOOG snowed in by Them.

    1. Re:Bonus points for Haiku by Anonymous Coward · · Score: 1

      Isn't a Haiku 5-7-5? Your first line has six syllables.

    2. Re:Bonus points for Haiku by mattack2 · · Score: 1

      http://en.wikipedia.org/wiki/Haiku

      Summary: It isn't actually syllables (though the count often coincides), and modern count is not always 17.

  22. Tethering by jones_supa · · Score: 1

    Do you know any methods to improve tethering? I use my 3G phone as a WiFi hotspot. It seems that when the connection is idle for a while, it takes some time to kick it up to full speed. Sometimes when I try to post a message to some forum, I have to load some another page in the background to wake up the link.

    Does the TCP slow-start make things worse here, would the connection run better if I encapsulate it to some single tunnel, should I send some constant keep-alive data, can I force an Android phone to stay in full network speed, and so on.

    1. Re:Tethering by Ash-Fox · · Score: 2

      Do you know any methods to improve tethering? I use my 3G phone as a WiFi hotspot. It seems that when the connection is idle for a while, it takes some time to kick it up to full speed.

      Change your TCP/IP congestion algorithm to something like Compound TCP (CTCP).

      --
      Change is certain; progress is not obligatory.
    2. Re:Tethering by Daniel+Wood · · Score: 1

      I had this issue back in 2002 on Sprint. My solution was to run a background ping process with 1-byte packets. This kept my connection from stalling out. The disadvantage is that your 3G modem and WiFi will never enter low-power states. So your battery life will suffer as a result.

      On the same note, my web browsing greatly benefits from running all my web traffic through a SSH tunnel with compression enabled. When you are dealing with a sub-48kbit GPRS connection that ramps ping times into the 100+ second range (not a typo) and 50% packet loss with high traffic usage, it becomes necessary. (For those wondering, Afghanistan)

  23. The Model T wasn't Broken by Niscenus · · Score: 2

    HTTP's inception predates the scale at which the Internet is used today, and like IPv4, the failure to anticipate the shifts in use and data access within the Internet make it far less efficient than it could otherwise be. SPDY, along with many of the streaming protocols, identify more with the modern Internet practices than, "Get this page now," technique of HTTP.

    I'm on the second tier of my ISP's access rate, and even though many pages should load in the theoretical second, they don't due to modern styling and plugin/include/addon calls. I honestly would have thought that what SPDY does would already have been more commonly implemented, and that data access in general would be moving to a peer/metapeer networking solution to save on demand of resources in general. Some of the assumptions of its design come out of the late-eighties and early-nineties anticipation of the large-first to small-second distribution common among universities, government installations and large commercial systems of the time, where maintaining a large lan with few nodes possessing Internet access in both directions.

    HTTP1.1 is as not broken compared to HTTP2.0 as a protocol as XFree86 4.x isn't anymore broken than any of its successors (irregarding explicit bug fixes, as that's not applicable relative to a protocol...usually), but regardless of where you came down on the forks and licensing, you probably aren't running it on any *Nix under 5 years old.

    --
    "Yeah...it was the numbers that were irrational, not the murderous cult of vegetarians...." -- Hippasus of Metapontum
    1. Re:The Model T wasn't Broken by Anonymous Coward · · Score: 1

      irregarding

      BAD BAD BAD BAD BAD BAD BAD. This is not a word, neither is irregardless. Stop it!

    2. Re:The Model T wasn't Broken by 19thNervousBreakdown · · Score: 1

      If they keep using it, it will be.

      --
      <xml><I><am><so><damn>Web 2.0</damn></so></am></I></xml>
    3. Re:The Model T wasn't Broken by Anonymous Coward · · Score: 0

      exactly same like "lol" WAS not a word but now it is, language is something "organic" that grows and develops itself not static thing that you can learn from 500 years old dictionary

  24. Re:Countermeasure for Nokia/RIM/O... speedup-proxi by q.kontinuum · · Score: 2

    Opera (offering Opera Turbo), Nokia (http://www.developer.nokia.com/Develop/Series_40/Nokia_Browser_for_Series_40/) etc. are not the network providers, so your argument is moot. They neither save any bandwidth on their side by offering the proxy, quite the opposite, not do they just cache the traffic.

    --
    Trolling is a art!
  25. How many of you read it as "Google Spy-d" by Anonymous Coward · · Score: 0

    That's what my brain translated!

  26. The IMPORTANT bit about SPDY by YA_Python_dev · · Score: 5, Insightful

    I realize you guys are just kidding, but there's a very important and overlooked part of the SPDY protocol. Hopefully TPTB won't understand its implications before it's too late to stop SPDY adoption.

    You see, the way I read the spec and the way it's currently implemented, SPDY requires every single connection to be encrypted. It's not optional.

    Imagine that, a world where MITM attacks suddenly become much much harder, where your ISP doesn't inject ads in your search results, where your mobile provider cannot "help" you screwing up your HTTP connections with a transparent proxy, where the British government cannot censor a Wikipedia page, where even the small sites can be encrypted because web hosts save bandwidth money by offering this option to everyone.

    Imagine a world where net neutrality becomes much harder to break because all big protocols are encrypted all (or at least most) of the time and the deep packet inspection shit that's used much more widely than people think just doesn't work anymore.

    SSH, Freenet, Skype BitTorrent and other P2P protocols are already there. This is the chance to do it for HTTP.

    Disclaimer: I speak only for myself and not anyone else. IANARE.

    --
    There's a hidden treasure in Python 3.x: __prepare__()
    1. Re:The IMPORTANT bit about SPDY by Pieroxy · · Score: 1

      I did not know that about SPDY, thanks for the info.

      That's one reason to adopt it widely and quickly IMHO.

    2. Re:The IMPORTANT bit about SPDY by makomk · · Score: 4, Insightful

      Imagine a world where every time you set up a website you have to fork over money to a certificate provider in order for people to be able to access your sites, where the prices for certificates are sky-high once again because the CAs know that they've got everyone over a barrel, where governments use their influence to get their own CAs into every browser and go right on ahead MITMing everything in site by painting anyone that refuses as a supporter of child porn...

    3. Re:The IMPORTANT bit about SPDY by magamiako1 · · Score: 2

      Do you really, honestly, truly believe that the US Government needs its own CAs and can't simply ask Verisign/Symantec to hand over a valid CA for a domain they want?

    4. Re:The IMPORTANT bit about SPDY by DrXym · · Score: 1

      You see, the way I read the spec and the way it's currently implemented, SPDY requires every single connection to be encrypted. It's not optional.

      Great, except SSL is already a scam, requiring sites to pay for worthless certs that in many cases bestow absolutely zero trust on the site in question. I hope with SPDY it doesn't hugely matter if the cert is self signed or not as far as the browser is concerned.

    5. Re:The IMPORTANT bit about SPDY by Lennie · · Score: 1

      You can get SSL for free at https://www.startssl.com/ so it isn't a matter of price. An IPv4-address could be a bit more expensive at your provider though.

      SPDY is mostly useful for large sites which want to speed up loading of their site because they already fixed everything else they can fix.

      Like Facebook, Yahoo and Gmail and so on.

      --
      New things are always on the horizon
    6. Re:The IMPORTANT bit about SPDY by makomk · · Score: 1

      They probably can, but the US isn't the only country that will want to MITM traffic.

    7. Re:The IMPORTANT bit about SPDY by makomk · · Score: 1

      So long as you only want the certificate for a single domain with no wildcards and no subdomains, yes. If you want anything more than that it's $59.90 a year and that's actually relatively cheap.

    8. Re:The IMPORTANT bit about SPDY by Lennie · · Score: 1

      If only SNI would be properly supported as well, then HTTPS deployment would be even more widespread.

      --
      New things are always on the horizon
    9. Re:The IMPORTANT bit about SPDY by asdf7890 · · Score: 1

      Because you can't get certificates signed by a CA any reasonably uptodate browser trusts for free...
      http://www.startssl.com/

      And as for governments getting their own CAs in so they can snoop: how is that different from plain HTTP where they don't even have to bother with CAs if they want to snoop?

    10. Re:The IMPORTANT bit about SPDY by asdf7890 · · Score: 1

      With SNI you can drop the IP-address-per-name requirement too. You will give security errors to people using IE6/7/8 on XP though, and I'm not sure what the current state is with regard to SNI support with mobile browsers (it used to be bad).

    11. Re:The IMPORTANT bit about SPDY by icebraining · · Score: 1

      Governments will make their own certs, of course, but as for the sky high prices of certs, browsers can manage that, after all they control who gets in and who doesn't.

    12. Re:The IMPORTANT bit about SPDY by Anonymous Coward · · Score: 4, Insightful

      My god. We might have to self-sign our own certificates.

    13. Re:The IMPORTANT bit about SPDY by swillden · · Score: 1

      This is why we also need to deploy Moxie Marlinspike's "Convergence" certificate validation system, either as a stand-beside to the existing CA system, or as a replacement. This would eliminate government ability to easily spoof certs, also, even with CA cooperation (which they almost certainly get).

      Though, as others have pointed out, you can *already* get free certs from startssl.com.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    14. Re:The IMPORTANT bit about SPDY by Yosho · · Score: 3, Insightful

      Do you really, honestly, truly believe that the US Government needs its own CAs and can't simply ask Verisign/Symantec to hand over a valid CA for a domain they want?

      The USG doesn't want to use Verisign/Symantec's CAs. If it was using them, then it would be possible for Verisign/Symantec to sign something and make it look as though it was signed by the USG. That's why they need their own.

      (believe it or not, the government does things with SSL other than impersonate web sites so that they can do MitM attacks on civilian communications)

      --
      Karma: Terrifying (mostly affected by atrocities you've committed)
    15. Re:The IMPORTANT bit about SPDY by nine-times · · Score: 1

      Certificate Authorities are not necessary for encryption. It's a racket. We could get rid of them.

    16. Re:The IMPORTANT bit about SPDY by afabbro · · Score: 1

      Imagine that, a world where MITM attacks suddenly become much much harder, where your ISP doesn't inject ads in your search results, where your mobile provider cannot "help" you screwing up your HTTP connections with a transparent proxy, where the British government cannot censor a Wikipedia page, where even the small sites can be encrypted because web hosts save bandwidth money by offering this option to everyone.

      This is very interesting, but I wonder...wouldn't it still be possible for some MITM attacks if one's goal was to block content based on URL? If I'm $BIG_GOVERNMENT/$BIG_ISP and on one side is the Wikipedia page you want to see and the other side is your request for that URL, why can't I change what you see? In other words, can't I map the URLs you want to whatever I want and say that every request for http://www.wikipedia.org/wiki/Some_Topic_I_Hate will be redirected to http://www.wikipedia.org/wiki/Some_Topic_I_Like? Or simply blocked?

      I may be misunderstanding.

      --
      Advice: on VPS providers
    17. Re:The IMPORTANT bit about SPDY by steveb3210 · · Score: 1

      If you're using HTTPS, connection is secured before the GET /whatever is actually sent - so if you're using SSL they can only know which site you're connecting to and not what your requesting..

      Unless as the OP pointed out, they're using a forged certificate in which case all bets are off..

    18. Re:The IMPORTANT bit about SPDY by DrXym · · Score: 1
      An SSL cert which is described as a "free low-assurance SSL certificate". In other words you're having to sign up and provide details to some CA for a cert which is essentially worthless so your visitors can enjoy encryption without some big scary warnings appearing. And the cert expires every year so better hope they continue to renew the cert.

      The cert is essentially untrustworthy so so why not permit self signed certs? Better yet why not let people build signed webs of trust for themselves? I'm also sure that SDPY could offer a couple of security levels, e.g. level 1 might permit unsigned certs without complaining but a more secure level 2 might do some validation on them. The net result is still that a lot of http:/// sites could migrate to level 1 easily and instantly benefit from encryption.

    19. Re:The IMPORTANT bit about SPDY by afabbro · · Score: 1

      If you're using HTTPS, connection is secured before the GET /whatever is actually sent - so if you're using SSL they can only know which site you're connecting to and not what your requesting..

      Thank you - that's the part I was missing.

      --
      Advice: on VPS providers
    20. Re:The IMPORTANT bit about SPDY by rsborg · · Score: 1

      My god. We might have to self-sign our own certificates.

      You assume this (current) workaround will be allowed to exist. Who's to say that SOPA2 won't require you get approval from a government-run (aka taxpayer funded), MAFIAA-approved cert as a cost of running your own website?

      It's not difficult to see what future fantasies the content mafia is likely masturbating to today?

      --
      Make sure everyone's vote counts: Verified Voting
    21. Re:The IMPORTANT bit about SPDY by IamTheRealMike · · Score: 1

      It'd be better to have no encryption at all and save the battery power.

    22. Re:The IMPORTANT bit about SPDY by Lennie · · Score: 1

      The free cert is domain validation, like any other non-EV cert.

      Most users have no idea they can even click on the HTTPS-indicator to see the details.

      --
      New things are always on the horizon
    23. Re:The IMPORTANT bit about SPDY by JohnnyBGod · · Score: 1

      Wait, what? How would they do that? Wouldn't they need the Gov's private key for that?

  27. Supported since Firefox 11 by Skuto · · Score: 5, Informative

    Go to about:config and switch network.http.spdy.enabled.

    Mozilla has been quite critical of some Google technologies (Dart, Native Client, ...) that it saw as not truly open and closing down the internet to be the GoogleWeb. SPDY got implemented though. So I guess it's a a keeper and might see wider adoption.

    1. Re:Supported since Firefox 11 by makomk · · Score: 1

      From what I recall from reading the bug report about adding it, SPDY was just on the borderline of being actually implementable by other browsers - undocumented and requiring some hairy low-level changes to their SSL implementation, but simple enough to be doable. There's probably a reason it's not enabled by default though. Also, I think bits of it may have been effectively reverse-engineered from the behaviour of the Google services using it.

    2. Re:Supported since Firefox 11 by Anonymous Coward · · Score: 0

      Wait, your Firefox goes to 11?

    3. Re:Supported since Firefox 11 by Lennie · · Score: 1

      I don't think so, part of the code in Firefox came directly from the Chromium project.

      The Chromium project uses the Firefox SSL/TLS library and as SPDY uses HTTPS it is build on top of that library.

      --
      New things are always on the horizon
    4. Re:Supported since Firefox 11 by Lennie · · Score: 1

      Firefox 11 is the daily build (Aurora)

      --
      New things are always on the horizon
    5. Re:Supported since Firefox 11 by Shoe+Puppet · · Score: 1

      There's probably a reason it's not enabled by default though

      Lack of testing?

      --
      (+1, Disagree)
    6. Re:Supported since Firefox 11 by grmoc · · Score: 1

      Ask Patrick McManus, who implemented it :)
      There was a spec, which has been public since day one (no reverse engineering required), along with open-source implementations of both client and server.
      The SSL patch has been available as well and is hopefully going into the next OpenSSL release (but... those take a while).

      Unfortunately, the spec was wrong in a couple of places, which Patrick pointed out as he went along (and so we fixed the spec). That is why it is good (and imho I wish it was still necessary) that the IETF wants to see multiple implementations by different implementors of specs.

    7. Re:Supported since Firefox 11 by makomk · · Score: 1

      From what I recall, it's not just that the spec was wrong but that one or two bits of it were unworkable and it could only be implemented after it could be confirmed that Google wasn't planning on using those parts for their services. Something like that anyway.

  28. Never used multipart mime? Never used AJAX? by Anonymous Coward · · Score: 0

    [...] and multiplexing (combining multiple requests into a single connection). By default, a web browser opens an individual connection for each and every page request, which can lead to tremendous inefficiencies."

    Uuum, that’s why there is the multipart mime type! Also, if you do AJAX, you can request as much stuff as you want over a single HTTP connection.
    This is not new guys! I’m using it since 2003! That’s 9 years! (Yes, there was no AJAX when I started. But a <object> tag with a <form>, did just fine for a packet-based tunnel of "Whatever The Fuck I Want (TM)". ;)

    Also, all style pictures can be incorporated in one common image anyway. Also done since back then.

    The header compression Well, I always thought that should be its own layer right ontop of TCP., or even IP. Encryption already is, so this is a no-brainer.

    At least we're finally getting those things at all. Could’ve been solved better though. Luckily I don’t have to care, and can just continue to use my own, better, solution.

    1. Re:Never used multipart mime? Never used AJAX? by Lennie · · Score: 1

      What SPDY solves is that you don't have to wait on one response for other requests/responses on the same connection to be send. This really does help a lot.

      --
      New things are always on the horizon
  29. Although by sakura+the+mc · · Score: 3, Funny

    The speed benefits provided by this new protocol will rapidly be negated by the ability to cram more shit into each connection.

  30. What about caching proxies & web filtering? by mangobrain · · Score: 4, Insightful

    By choosing TLS as the underlying transport, inspecting traffic for debugging or monitoring purposes becomes nigh on impossible. It will only be possible to capture traffic at the application level, after decryption and decapsulation (which, depending on the nature of any given bug, may be too late), or if it originates from servers you own (i.e. the server's private key is available to you). SPDY proxies will become dumb pipes, unable to perform any sort of content caching, unless users are willing to accept that the proxy may perform MITM on their traffic. For such MITM to be feasible, users need to trust a CA certificate associated with the proxy, and rely on the proxy performing upstream certificate checks on their behalf, because the browser no longer has a single end-to-end TLS session with the origin server. In corporate and other "managed" environments, people often find this acceptable in moderation*, but I would be worried if this became the norm - it creates a mind-set whereby it's acceptable to breach users' privacy, and the more proxy vendors have incentive to implement the necessary (proprietary) code, the more scope there is for them to get it wrong, completely undermining security.

    Not to mention that introducing a mux/demux layer in between the network traffic and the individual requests/responses greatly increases the complexity needed to implement a proxy compared to plain-old HTTP.

    Losing the functionality of caching proxies would seem counter to Google's goal of speeding up the Web. Losing the ability to monitor and filter network traffic will greatly diminish the ability of schools, employers, public hotspot providers etc. to enforce acceptable usage policies, to the extent that some - especially employers - may simply resort to blocking web access outright.

    IMHO, the behaviour of SPDY proxies needs to be tightly specified, if they are going to exist. Standardise MITM behaviour, so that users and admins are aware of the pros and cons. Make it mandatory that end users are warned when MITM is taking place. Perhaps introduce new extensions, such as the ability for the proxy to establish TLS with the browser using its own certificate, but transmit a copy of any origin server certificates corresponding to proxied requests, so that the browser isn't entirely at the proxy's mercy WRT certificate verification. Perhaps introduce the ability to multiplex requests to different domains on the same connection, something a browser can't do when talking directly to distinct origin servers.

    Note that similar concerns apply to reverse proxies, used by website providers themselves to speed up their own infrastructure. It may seem desirable for both front-end caching and back-end servers to use SPDY, but establishing TLS sessions between two halves of the same infrastructure, over the LAN, will be detrimental to resource usage.

    * Bear in mind that currently, MITM is only necessary for HTTPS sites, which means that there are vast swathes of in-the-clear HTTP traffic for which caching doesn't introduce any inherent security concerns. By making *everything* use TLS, MITM becomes a consideration if you want to perform *any* caching/filtering at all, not just caching/filtering of secure sites. If there is no longer any distinction between secure and insecure sites, how does even a responsible admin know where to draw the line?

  31. Re:It'd be a faster still without all the redirect by Misagon · · Score: 1

    In most cases when a web page takes a long time to load, it is not the HTTP connection to the web page's home server itself that is too slow, but ... that the page is waiting for responses from various ad-servers, counters, social networking sites, etc before it can fully render.

    I experience that the biggest slowdown on the sites that I visit, have often been caused by connections to Google Analytics.

    Thanks Google for making the web faster!

    --
    "We mustn't be caught by surprise by our own advancing technology" -- Aldous Huxley
  32. Why not use mod-compress? by Marrow · · Score: 1

    I realize there is probably a really good reason why they are not using the builtin compression tools available. What are they again?

    1. Re:Why not use mod-compress? by Ash-Fox · · Score: 1

      I realize there is probably a really good reason why they are not using the builtin compression tools available. What are they again?

      Current implementations in Apache require a page to be generated fully before sending to the client, doesn't compress certain elements well and can in fact increase the size.

      --
      Change is certain; progress is not obligatory.
  33. Oh god yes! by Anonymous Coward · · Score: 0

    This is brilliant news!
    I was just wondering about this a few weeks ago and how far along it was.
    Seems that, very, was the answer.

    Finally we are going to go a level beyond the current hack of a standard we have now. Now if only we replaced TCP while we were at it... that's worse in every way possible.
    Stupid Microsoft not supporting anything because it requires effort! They sure wasted effort on destroying the common UI for Windows, where did all that enthusiasm go?!

  34. Parent is trolling by Anonymous Coward · · Score: 0

    Nothing in the SPDY spec says that connections are encrypted. The only reference to encryption anywhere is that TLS may be the underlying transport rather than TCP. SPDY can be implemented over TCP just as well. Which is a good idea seeing as encryption adds a significant CPU load on the server side. YouTube doesn't want to encrypt everyone's video on the way out.

    1. Re:Parent is trolling by grmoc · · Score: 4, Informative

      As one of the creators of SPDY I can say: SPDY as specified today requires TLS and is only deployed using TLS.

  35. Re:Countermeasure for Nokia/RIM/O... speedup-proxi by petermgreen · · Score: 1

    It's not about "upstreams and peers", Internet transit is only a few dollars per month per megabit nowadays and due to the increasing dynamics of the web you can't cache all that much anyway. That is why proxies are so rare at fixed line providers nowadaysdays.

    Afaict the main reason mobile providers run proxies is so that they can recompess images at lower quality and hence save bandwidth on the wireless side (aiui wireless bandwidth is FAR more expensive than internet bandwidth).

    --
    note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  36. Citation Please by pavon · · Score: 1

    By increasing the initial window size from 3 to 10 they add to the bufferbloat effect (at the microscopic level) and increase Jitter from tolerable 38 ms to intolerable 126 ms on a 1 Mbit/s ADSL line. This level of jitter severely affects VoIP sound quality.

    I'm being genuine; I would like to read about this more. My initial guess would be that increasing the initial window size will have minimal effect on the jitter for both that stream and others it is sharing bandwidth with. First because any TCP connection that is open for for more than a few round trips will quickly grow to a window size greater than 10 anyway, and secondly because it will be broken into MTU sized chunks at the router level regardless of the window size. If I am wrong about this, I would really like to understand.why so I don't remain ignorant.

    1. Re:Citation Please by Lennie · · Score: 1

      Well, a currently when you open a webpage the browser opens 6 connections per domain and the webpage author used 6 domains for "domain sharding" to make sure all his images get loaded at the same time...

      Well you can imagine that it becomes a whole lot more data if you also increase the initial window size.

      --
      New things are always on the horizon
    2. Re:Citation Please by haffy · · Score: 1

      TwobyTwo answered with the reference below before my answer here, so I won't repeat that. I will address your question about the router breaking up the TCP flow in MTU sized chunks.

      [The TCP connection] will be broken into MTU sized chunks at the router level regardless of the window size. If I am wrong about this, I would really like to understand why

      Yes, the TCP connection is sent in packets of MTU size, but they are all queued up in a single queue in the ISP's router. And because the packets are sent in bursts (proportional to the window size) they are stored in the router in chunks with all the packets of a burst in each chunk.

  37. The Chart in the Article by Wannabe+Code+Monkey · · Score: 1

    Can anyone tell me what the chart in the article is actually measuring? The x-axis is labeled "Packet Loss Rate" and goes from 0% to 2.5% and the y-axis is labeled "AvgPLT" and goes from 500 to 3,500. I'm assuming the testers introduced artificial packet loss at the percentages on the x-axis and then measured how each protocol (HTTP and SPDY) responded to these conditions. But what the heck is "AvgPLT" and what exactly was their test? Was it requesting one page with 30 components each around 500KB, or 100 page requests with 20 components of 100KB, or 5,000 requests for 5MB files? or what?

    --
    We always knew Comcast was corrupt, here's the proof: http://tech.slashdot.org/comments.pl?sid=1909890&cid=34545432
    1. Re:The Chart in the Article by Lennie · · Score: 1

      My guess would be:

      Average Page Load Time.

      --
      New things are always on the horizon
  38. Android 2 does not support SNI by tepples · · Score: 1

    SNI won't work on BlackBerry devices, old iPhones or iPods, Windows Mobile devices, Android 2 devices, or the browser included with Windows XP. But it works on iOS 4 and newer, which runs on the iPhone 3GS, all retina display iPhones and iPods, and all iPads. It also works on Android 3 and 4 and Windows Phone 7. So we can't rely on SNI until April 2014, when Windows XP reaches its end of life, or two years after carriers stop selling Android 2 phones, whichever is later.

    1. Re:Android 2 does not support SNI by Lennie · · Score: 1

      You forgot 2 minorities I know of:

      - Old versions of Chrome on Windows XP also had the same problem as IE (uses the same library)
      - all versions of Safari on Windows XP have the same problem as IE (uses the same library)

      --
      New things are always on the horizon
    2. Re:Android 2 does not support SNI by Lennie · · Score: 1

      Also, I forgot something else: widespread deployment of IPv6 ? Maybe that will mean no more need for SNI ?

      Whichever comes first :-)

      --
      New things are always on the horizon
  39. No SNI by tepples · · Score: 1

    Windows XP and Android 2 can see only the first certificate on a given IP address. With shared hosting providers packing upwards of a thousand HTTP sites on a single IP address, this can pose a problem.

    1. Re:No SNI by asdf7890 · · Score: 2

      Given how long these processes take, by the time the standard is finalised both XP and Android 2 will be outside any promised support window so they should not be used as a reason to hamper this new version of the standard. If people are still using those clients by then they will (or should) have far greater worries than a few "invalid certificate" warnings. Heck, hopefully IPv6 support will be common place by then (while people saying it'll all hit the fan this year are being a bit premature IMO, I can't see IPv4 lasting until the endof XP's life) making the IPv4 based limitations irrelevant anyway.

      Even if XP is still around and causing trouble, the only browsers affected are IE variants or similarly old hat code: recent (anything from the last two years or more IIRC) Firefox, Chrome and Opera versions support SNI even on XP as does Firefox on Android (I don't know about others like Opera Mobile).

    2. Re:No SNI by asdf7890 · · Score: 1

      Also, there will presumably be nothing to stop web servers using both HTTP2.0 and 1.0/1.1 - reverting to the older protocol if the client does not indicate it supports the older one.

    3. Re:No SNI by TheRaven64 · · Score: 2

      Interestingly enough, Windows XP and Android 2 also don't support HTTP 2.0, so they're largely irrelevant in this context...

      --
      I am TheRaven on Soylent News
  40. It causes page loads to fail by tepples · · Score: 1

    they don't include results for pipelining

    Here's a result for pipelining: It causes page loads to fail when used with some servers that have never been thoroughly tested with various pipelining scenarios.

  41. Testing and evangelism have improved by tepples · · Score: 1

    I fail to understand the argument that http 1.1 was just implemented buggy but SPDY will magically be better implemented by the same groups that have failed to get http 1.1 over all these years.

    Knowledge of how to build a test suite with better coverage has improved. Knowledge of "tech evangelism", or how to reach out to server operators, has improved since the "if you don't use IE we don't want you as a customer" days.

  42. Re:Citation Please (Gettys endorses SPDY) by TwobyTwo · · Score: 1

    A good citation on buffer bloat is Jim Getty's ACM Queue article on Buffer Bloat, in which he says:

    Proper solutions for Web browsers can improve access-link behavior. These include HTTP/1.1 pipelining and Google's SPDY, both of which can achieve better performance, reduce the total number of packets and bytes transferred, and enable TCP to function better.

    I've also spoken with Jim about this, and he definitely views SPDY as potentially part of the solution, not part of the problem. In fact, he was the person who first pointed out the existence of SPDY to me.

    BTW: the reason SPDY does relative well with respect to bufferbloat is that it multiplexes a lot of traffic over a single TCP stream, and most lower level TCP software and hardware, including routers, tends to bound the number of packets they'll queue from a single stream. Trouble comes when the same application opens a ton of parallel streams, each of which gets to queue several packets; the result is that together they clog the buffers, add to latency, and prevent other application streams from progressing.

  43. This posting misquotes Mark Nottingham by TwobyTwo · · Score: 2

    This posting quotes an unreliable news report, and claims that IETF HTTP working group head Mark Nottingham, "called for it [SPDY] to be included in the HTTP 2.0 standard". Nonsense. It's easy enough to find the actual announcement from Mark which says, in part:

    I've put together a charter proposal (see attached) that has us going to WGLC shortly (something that I want to see us do regardless), and starting work on HTTP/2.0. Note that it does NOT call out a starting point; rather, we'll start by asking for proposals, considering them and selecting one based upon the traditional IETF criteria of rough consensus and running code.

    Indeed, the proposed formal charter for the new work that's included in Mark's note doesn't mention SPDY at all. I've been in meetings with Mark about this, and SPDY is no doubt at or near the top of the list in terms of interesting candidate technologies to look at, but it's incorrect to say that Mark is calling for its use in HTTP 2.0. At the very least, the Slashdot post on which this is a comment would do a much better service to the community if it linked and quoted Mark's actual announcement, rather than some hyped up misinterpretation from the press. All the conspiracy theorists should calm down a little while, and subscribe to the IETF working group mailing list if they really want to see how this plays out.

  44. I have a better idea by EmagGeek · · Score: 1

    How about the spdy:// call routes to a media-light version of a site? You know, one that doesn't try to send the requester 100MB of Flash ads, videos, music, and other nonsense, and 50kB of actual content?

  45. I am remote viewing this webpage.... by TiggertheMad · · Score: 1

    Give me some black helicopters, man! Won't someone think of the black helicopters?

    --

    HA! I just wasted some of your bandwidth with a frivolous sig!
  46. Disney by tepples · · Score: 1

    Even with the whole "web"-"spidey" association, I think they're calling it "speedy" because "spidey" might raise the hackles of Marvel Entertainment, a Walt Disney company.

  47. Re:It'd be a faster still without all the redirect by grmoc · · Score: 1

    If the server to which you're connecting is authoritative for all of the redirected sites, and you're using server push with SPDY... actually you could eliminate the RTTs for the redirects even if they were still there (by server pushing them all in sequence). ... but that is just too cute. Getting rid of the redirects would be better :)

  48. Hahahah... by Junta · · Score: 1

    That's a good one. Server operators in internal Enterprise IT has by and large not progressed beyond the "you must use browser X". Much of the complaints around buggy HTTP 1.1 revolve around buggy 'enterprise' products that no one with more sense than money would ever elect to use. Nothing stops those buggy implementations from being fixed. The same forces that you may need to rely upon for SPDY to get rolled out would have been the same forces that would have forced existing technology to be fixed.

    Face it, the same people afflicted with broken HTTP 1.1 will either see SPDY blocked entirely or tortured into a hideous proxy. Maybe someone can explain how it is easier to get SPDY 'right' and therefore less likely to be bug ridden even coded by random kindergartners, but I've seen even the most straightforward concepts in the world completely screwed over by 'enterprise' IT vendors.

    I have seen enough to be convinced there is more to SPDY than HTTP 1.1 enhancements can provide, but blind faith that people implementing it will implement the architecture correctly is not a good bet.

    --
    XML is like violence. If it doesn't solve the problem, use more.
  49. Pen testing by tepples · · Score: 1

    Then let me rephrase: Knowledge of "tech evangelism", or how to reach out to operators of web servers available to the public, has improved. And don't businesses big enough to use "enterprise" software need penetration testing anyway? A test suite of attacks on known defects in SPDY servers could be rolled into a pen test package, just as they may already be for HTTP.

  50. English has Rules of for Term Structure by Niscenus · · Score: 1

    Irregard is a state outside of consideration, -ing creates a verb transition to present perfect, and a lack of -less makes it non-self-contradictory. I could have used irrespective, but the term brain dumped at the second, "r," and I continued, regardless.

    How you got a score of two for an offtopic comment, that's something we could be discussing, but I'm about to get 0, so, I couldn't really care. Karma to burn for trolls and 'tards.

    --
    "Yeah...it was the numbers that were irrational, not the murderous cult of vegetarians...." -- Hippasus of Metapontum