North American Network Operators Group

Date Prev | Date Next | Date Index | Thread Index | Author Index | Historical

Re: shim6 @ NANOG

  • From: Marshall Eubanks
  • Date: Sat Mar 04 19:03:08 2006

Hello;

On Mar 4, 2006, at 4:31 PM, Matthew Petach wrote:

On 3/4/06, Iljitsch van Beijnum <[email protected]> wrote:

On 4-mrt-2006, at 14:07, Kevin Day wrote:

>> We got lucky with CIDR because even though all default free
>> routers had to be upgraded in a short time, it really wasn't that
>> painful.

[Because there was no need to renumber]

> Isn't that an excellent argument against shim6 though?

> In IPv4, something unanticipated occurred by the original developers
> (the need for CIDR), and everyone said "Oh, thank god that all we
> have to do is upgrade DFZ routers."

You are absolutely right that having to upgrade not only all hosts in
a multihomed site, but also all the hosts they communicate with is an
important weakness of shim6. We looked very hard at ways to do this
type of multihoming that would work if only the hosts in the
multihomed site were updated, but that just wouldn't fly.

And given that any network big enough to get their own PI /32 has *zero*
incentive to install/support shim6 means that all those smaller networks
that are pushed to install shim6 are going to see *zero* benefit when they
try to reach the major sites on the internet.

What benefit does shim6 bring, if only the little guys are using it?

This dog won't hunt. Move on to something useful.


Yes, this is an issue. If we have to wait for a major release or even
a service pack, that will take some time. But OS vendors have
software update mechanisms in place so they could send out shim6 code
in between.

And no major company supports/allows automated software update
mechanisms to run on their production machines--it adds too much
of an element of randomness to an environment that has to be as much
as possible deterministic in its behaviour.

But again, it cuts both ways: if only two people run shim6 code,
those two people gain shim6 benefits immediately.

Cool. So let individuals make a choice to install it if they want. But
that's a choice they make, and should not be part of a mandated IP
allocation policy, because otherwise we're codifying a split between
"big" companies and everyone else. The companies that can justify /32
allocations _aren't_ going to install shim6; they already have their
multihoming options (for the most part) covered--so the little guys who
install shim6 to "multihome" are going to discover it doesn't do diddly
squat for helping them reach any major sites on the internet during an
outage of one of their providers. You haven't preserved end-to-end
connectivity this way, you've just waved a pretty picture in front of the
smaller company's face to make them think they'll have the benefits of
multihoming when they really don't.

Even guys in the middle may not. If I am streaming for profit, and if I am comfortable with
my bandwidth suppliers (or if I am multihoming one way or another), then why should
I spend a dime installing and running shim6 ? If you (an end user in a SOHO with 2 connections say)
go down for 5 minutes once per day, that's too bad, but the ad revenue I would lose
would be tiny, and you wouldn't blame me for the outage, you would blame your provider.
Also, qn outage may hurt you with 100% probability, but it will only hurt me if it happens
while you are using my services, which will probably be < 100% of the time. Again, the
downside to me from your outages is very small. So, my feeling is that most content providers
would be very slow to adopt this.


> Getting systems not controlled by the networking department of an
> organization upgraded, when it's for reasons that are not easily
> visible to the end user, will be extraordinarily difficult to start
> with. Adding shim6 at all to hosts will be one fight. Any upgrades
> or changes later to add features will be another.

One thing I'll take away from these discussions is that we should
redouble our efforts to support shim6 in middleboxes as an
alternative for doing it in individual hosts, so deployment can be
easier.



Won't matter. shim6 on a middle box still won't be able to re- route to the
majority of the large sites on the Internet during an outage on one of the
upstream providers given that the large content players and large network
providers aren't going to be installing shim6 on their servers and load
balancers.


I could see a business built around integrating shim6 into a proxy, such that
an end user with two connections runs shim6 to get to an outside proxy (which
could be very multihomed) and the proxy gets the packets to ordinary (non shim6) sites.

This is under the model that my home office may need shim6 for multi- homing, but
AOL or Google will not, and thus won't be supporting it.

So I wouldn't count it out even if deployment is << 100%. But that is of course not
a reason to have it drive address allocation policies.


> The real "injustice" about this is that it's creating two classes
> of organizations on the internet. One that's meets the guidelines
> to get PI space, multihomes with BGP, and can run their whole
> network(including shim6less legacy devices) with full redundancy,
> even when talking to shim6 unaware clients. Another(most likely
> smaller) that can't meet the rules to get PI space, is forced to
> spend money upgrading hardware and software to shim6 compatible
> solution or face a lower reliability than their bigger competitors.

And that's exactly why it's so hard to come up with a good PI policy:
you can't just impose an arbitrary limit, because that would be anti-
competitive.

You failed to note that the smaller company, *even after spending money
upgrading hardware and software to shim6 compatible solution* won't achieve
the same reliability as their bigger competitors. (see above if you missed it).

shim6 is _more_ anti-competitive than extending the existing IP allocation
policies from v4 into v6, and is therefore not going to garner the support of
the companies that actually spend money to create this thing we call the
Internet. And without money behind it, the effort is a non-starter.

> Someone earlier brought up that a move to shim6, or not being able
> to get PI space was similar to the move to name based vhosting(HTTP/
> 1.1 shared IP hosting). It is, somewhat. It was developed to allow
> hosting companies to preserve address space, instead of assigning
> one IP address per hostname. (Again, however, this could be done
> slowly, without forcing end users to do anything.)

Tthis isn't that good an analogy. With name based virtual hosting,
the server either is name based or IP based. If you run name based,
old HTTP 1.0 clients won't be served the content they're looking for.
So people running servers had to wait until a large enough percentage
of users ran clients that supported HTTP 1.1 (or HTTP 1.0 with the
host: variable). Fortunately, there was a browser war on at that time
so people upgraded their web browser software relatively often, but
it still took a few years before name based virtual hosting became
viable.

Shim6 is completely backward compatible. If either end doesn't
support the protocol, everything still works, but without multihoming
benefits of course. So everyone can enable shim6 as soon as their OS
supports it with no ill effects.

But the smaller sites who enable shim6 don't gain any benefit when
talking to the large sites on the internet--so they've gone through a lot
of pain and effort for very little actual benefit, since they still aren't
usefully multihomed. There's just no real benefit to shim6 unless you
require *EVERY* site to support it; and I can tell you that the large
content sites will simply stay on v4 rather than install the complexity
that is shim6 on their production webservers.

> If you could justify why shim6 isn't sufficient for your network,
> and receive PI space... I'd have zero objections to anything shim6
> wanted to do.

Actually that's not the worst idea ever. The main problem would be
coming objective criteria that determine shim6-insufficientness and
of course the bar must be sufficiently high that we don't have to
worry about excessive numbers of PI prefixes in the IPv6 global
routing table.

> Unless we start now working on getting people moved to IPv6, the
> pain of running out of IPv4 before IPv6 has reached critical mass
> is going to be much much worse than a long term problem of IPv6
> route size.

I disagree. You assume that IPv6 will be able to gain critical mass
before IPv4 addresses run out. I don't think that will happen,
because of the chicken/egg problem. "Running out" is a relative term.
John Klensin says we've effictively already run out because IPv4
addresses are too hard to get for some applications. That may be true
but people aren't turning to IPv6 (yet) to run those applications. My
prediction is that we'll see interesting things happen when the
remaining IPv4 address suppy < 3 * addresses used per year. That will
probably happen around the end of this decade. At that point, there
is likely to be hoarding and/or the allocation policies will become
stricter, and people will start to think about a future where it's no
longer possible to get IPv4 addresses. At this point, there will
still be time to migrate.

Consolidation will likely occur; those that need address space will
find that buying less-fortunate companies in order to swallow their
address space will become a normal, understood part of their
business planning cycle. Competition will decrease, and the shift
towards larger and larger companies will ensue, as smaller players
gobble each other up in order to become large enough such that
any needed migration to IPv6 can happen directly onto a PI /32.

If we persist on following this path, we'll simply end up in a world
where the large entities control the resources, and the barriers for
entry turn out to be the very ones we set up in our own well-meaning
bumbling.

If we screw up the routing table real good on the other hand, we're
in trouble immediately and it will be both expensive to do nothing
and to fix it.


I have more faith in our ability to deal with route table growth than I do
in our ability to come up with a viable instantiation of shim6.

> The question of IPv6 migration and IPv6 route size are *two
> different problems*. Solve them independently or neither will get
> solved. We can't try to force our views of how the internet should
> work on networks when we've already got a fight on our hands just
> convincing them to deploy IPv6 at all.

I see this differently: as long as people are postponing deployment,
we have the opportunity to improve IPv6 without too much trouble. So
not having significant deployment isn't such a bad thing, as long as
it's clear that IPv6 is inevitable. As long as we're debating whether
IPv6 will be deployed at all we're wasting time. In another year or
maybe two that debate will probably be over, though.


IPv6 may be inevitable; but the way shim6 is pushing allocation policies,
it will be in a world in which only big players multihome, and everyone else
must buy from a big player and won't get to multihome. Yes, people will
That assumes that people will be able to make such an allocation policy stick.
I don't think they can; at least, not for every region in the world, as the aggregated
power of the "little guys" is considerable. And, if one RIR adopts a more reasonable routing
policy, in the modern world it would be easy to create shell corporations to get blocks
for use elsewhere.

As evidence for that, look at a few of recent companies to show up on BGP (from the
ones that showed up here this week) :

Howard Hughes Medical Institute
Great American Insurance Company
CARNIVAL CRUISE LINES
Major League Baseball Advanced Media, LP
Flagship Customs Services
BP Pte Limited, Energy Company, Singapore
Vonage Australia
Xtiva Financial Systems, Inc.

(Of the "new" ASN this week, only 2 are obviously ISP's, one is in Cambodia and the other is National LambdaRail. This is typical in the last few years.)

Do you really think that you will be able to prevent these institutions from getting PI space, when
they decide that they need to ?

wave the shim6 flag around to make small startups think they can multihome
and pretend to be a big player, but at the first outage, the little guy will discover
his multihoming is a facade, and that none of the major sites on the Internet
that he wants to talk to are interested in playing his shim6 games with his end
hosts--and his customers will quickly realize that any independance from the
upstream networks is all smoke and mirrors, and not worth the paper such
claims may be printed upon.

If that's the direction we're heading, let's just stop beating around the bush and
say it plainly: Shim6 is just a handwaving panacea to make the smaller
enterprises shut up and stop obstructing v6 deployment for the short term so
that we can get more critical mass on the v6 networks and maybe justify getting
some of the large players to start making useful material available via v6 which
might finally show a few dollars of real revenue flowing due to v6 deployments.

If you want to spur v6 deployment, treat it like a business. Give incentives to use it.

Consider this : today, as of Noon EST, there were 178,214 announced (IPv4) prefixes here, from only 21,517
ASN. 97,196 of these prefix blocks were /24's - on average, every ASN has 4.5 /24's. That is the swamp in operation.

So, if we gave every active ASN a contiguous IPv6 block, and moved everyone over to IPv6, we would REDUCE the size of the routing table by a factor of 8.28. That would gain several years of growth before the routing table
is the size it is now. That would mean the better part of a decade of even rapid growth before the routing table size would be a worry (as routers will also continue to grow in capabilities). As none of us can predict what will be going on 8-10 years from now, this would have actually solved the routing table growth problem for the foreseeable future.

So, hand out PI /48's to everyone who has an active ASN. Hand out PI / 47's or whatever,
to anyone with an ASN who can justify the larger size using the usual justification procedures.

Don't hand these out in contiguous blocks, though. One simple procedure would just be to hand out the
first /48 from, say, a /38 and reserve the rest of the /38 for future growth of that ASN. Note that even with this wasteful procedure, you would need almost 3 million years at the current rate of usage to hand out 1/2 of the available /38's. I am sure that better procedures could be arrived at, it doesn't matter much, as long as organizational growth does not have to mean multiple, non-contiguous address blocks.

As part of this generous policy, make assignees sign a statement that they understand that they cannot
deaggregate their address blocks. Now, legally, I doubt that this would be really enforceable, but
it would be a useful thing to point to when they ask why they are being filtered out if they start announcing 2048 /48s.

Charge a nominal amount for this boon.

Easy, hassle free, address space would start getting people at least thinking about v6 deployment. From what I know about organizations, that would lead to some additional deployment, to justify the original investment,
no matter how small. With luck, that would snowball into actual usage.

I will probably be flamed for writing this, but if there is any support for it, I will write it up as an
ARIN proposal. My understanding is that this was the original intent behind 2005-1.

But it's insulting to keep pretending that shim6 is going to offer any level of
real multihoming-style reliability benefit for the smaller players when talking to
engineers. Save it for the marketing literature for the customers.

Matt

I would agree. Worse, it makes some people think that there are ulterior motives to the pretense.

Regards
Marshall