[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: shim6 @ NANOG (forwarded note from John Payne) (fwd)
Just a few quick points...
On 1-mrt-2006, at 9:10, Igor Gashinsky wrote:
:: > Right. So there is precedent for storing state for 30000
instances of
:: > "something". Servers are getting a lot faster and memory is
getting
:: > cheaper so adding a modest amount of extra state for longer lived
:: > associations shouldn't be problematic.
:: > (Visit a run of the mill content provider and see how many 100
byte
:: > GIFs they send you over HTTP connections that have 700 - 1200
byte
:: > overhead and of course all have high performance extensions
turned on
:: > for extra bandwidth wastage.)
Wow.. I realize I'm coming a little late to this party, but have
you asked
anybody who works for a large-ish content provider about their views
on what you are suggesting?
Not in this particular area, so far.
Note that shim6 is still a moving target. One way to optimize things
for hosting providers would be to do an incomplete shim6 negotiation
or remove the state on the server side as soon as it's created. As
long as the client knows all the server's addresses and any failures
are visible at the client (which would be the case for normal TCP
traffic) the client can renegotiate the state when there is a failure
that needs to be repaired. This way, shim6 doesn't have much impact
on servers.
Case and point: we all know that http/1.1 + keep-alive is
more "efficient" from a bw perspective, yet there are some large
web shops
which force all transactions into http/1.0 +no-keep-alive in order
to use
"accept-filter" and therefore save on application state.
That's unfortunate, because reusing sessions makes the web experience
much faster for people who sit far away from the server.
sessions are fairly "few" per
server) are very short-lived http (think about 15 packets in each
direction including the setup/teardown). Since, shim6 (as designed
right
now) does not initiate from the first packet(s), it might not take
effect
for these short-lived sessions, and therefore will not help in case of
failure, so in effect, *does not work* at all for fast http
transactions
The idea is that if you have a single short lived session, the chance
that something bad happens during that second the session is around,
is so small that it's not worth it to negotiate shim6. But if you
have many short sessions, they add up and at some point shim6 kicks
in. The current suggestion is to do this after 50 packets between the
hosts involved, regardless whether this is 16 sessions or 1. But this
is something that can and should be tuned by operators.
For example, in the v4 world, the (multi-homed) end-user maybe
visible via both a *paid* Transit path (say UUNET), and a *free*
peering
link (say Cogent), and I would wager that most content providers would
choose the free link
This is not what I think of when I say "multihoming". I don't see an
easy way to do this with shim6 (there may be a non-easy way, though)
so maybe hosting companies that are big enough to do peering will
need to continue to do this as in IPv4.
So,
whatever methodology we use to do the initial set-up has to account
for
that, and be able to get a connection that is actually starting to do
something in under 2 seconds,
If anything, 2 seconds is on the long side.
Just my $0.02
They are appreciated, thanks. (IETF budgets the way they are...)