- From: Robert Mattson <robert@mattson.com.au>
- Date: Fri, 8 Jun 2012 14:15:25 +1000 (EST)
- To: "Safruti, Ido" <ido@akamai.com>
- cc: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
- Message-ID: <alpine.LNX.2.00.1206081357350.10783@www.connectedis.com.au>
Some quick 2c answers inline, cause I had to :) Sincerely, Rob Mattson, MACS (CT), MIEEE Email: robert@mattson.com.au On Thu, 7 Jun 2012, Safruti, Ido wrote: > Hi, > > I know this is a long discussed issue when multiplexing (specifically around SPDY): the benefits of one optimized connection vs multiple. However, as we most > likely will use TCP as an underlying protocol, using one connection exposes us to packet loss impacts. (It is also true that in cases of packet loss ? it may impact > all established connections). The effect of packet loss on a connection among many is an exercise in probability, it becomes complicated when we think about QoS and RED in the mix. RED signals a connection to slow down by dropping packets to trigger congestion control/flow back-off responses in the TCP stack. > > Did anyone in this forum explored implementing something like link aggregation (or connection aggregation)? This is comparable to multiplexing. think of HTTP-MPLEX & web bundles against something like Coordinated congestion controle (COCOON). You really want a single congestion control algorithm aware of multiple connections (response level multiplexing on a single TCP connection). When you have multiple retransmit buffers that are sizeable because of high delay and high bandwidth it might take more segments to trigger something like fast retransmit. That is because other segments will be in flight delaying the arrival of out of order segments for a TCP connection experiencing the loss. Assuming unequal distribution of loss among open TCP connections. > We can have an upgrade mechanism where the server and client can negotiate adding a connection to their channel. yep. See HTTP-MPLEX. Although you have to wait for the current response to arrive before the next stream of responses, but you also reduce head of the line blocking with HTTP-MPLEX and also server side response prioritisation. > The server can publish, or announce that it supports it, and the client can try to establish an additional connection with some identification/verification, and > only once this is verified the channel could be "upgraded" to utilize the additional connection. HTTP-MPLEX does this in a backwards compatible and transparent manner. > Basically establishing link aggregation. > If the upgrade isn't supported, or won't work, we can always remain with a single connection. (and we know it may break in some connection with loadbalancers, or > if we can't assure server stickiness). > > Using such a mechanism we can ensure better redundancy and recovery mechanisms, but still dramatically reducing the number of connections. > > I would be happy to know what people think. > > - Ido > > > Thanks for an opportunity to trumpet my own horn, but i'll wait for my current caffiene inspired sugar-rush to wear off and i promise to spell check my emails in the future and capitalise my 'I's.
Received on Friday, 8 June 2012 04:15:56 UTC