Live data from Hacker News

The UK has an entire IPv4 /8 that it isn't using

blog.jgc.org

121–127 of 127 posts

Re: The UK has an entire IPv4 /8 that it isn't using

#121
post #86

Earlier quoted context omitted.

Why is HN IPv4-only? And why should they bother to spend any effort fixing it? Given that, e.g., techcrunch.com and github.com and everything else linked from HN is IPv4-only, you can't usefully use Hacker News from an IPv6-only connection, so why should HN care? You're expecting altruism or geekiness on the part of every single website ever -- it's fair to expect that from Google, but not from everyone. The transiti…

No I'm not, I'm expecting anti-altruism from low-cost ISPs. (Name one consumer ISP that you think is altruistic.) Then, to capture that market, servers will start deploying IPv6. Today, IPv6 is billed as a premium feature. Tomorrow, IPv4 will be the premium feature.

Wait, you expect any low-cost ISPs to offer IPv6-only, and have any customers at all? And that IPv4-only sites will say "gee, better support those IPv6-only users" instead of saying "get a better ISP" (or more likely "We have no idea what's wrong, but it works from Comcast, complain to your ISP")?

I don't think you understand how the Internet works. Or business. There is no foreseeable point at which it makes sense to bill an "Internet" service that's IPv6-only. That's doable _after_ the transition, but expecting that to happen now is not a transition.

Re: The UK has an entire IPv4 /8 that it isn't using

#122
post #59

Earlier quoted context omitted.

"The transition has sort of already happened," he says, over IPv4. Seriously, unless you want to be posting to HN via IPv4 in 2050, there is clearly something major left undone. Don't call it a transition if you think that concept is undone, but it's not yet functionally possible to be on the Internet with no IPv4 stack or (possibly NATted) address, and I don't see that becoming the case anytime soon. See http://cr.y…

I feel like a lot of the issues raised in that article aren't as relevant anymore. The issue of IPv6 only clients communicating over IPv4 can be solved via tunneling in both directions. Reading over that article again, it really does seem like he's complaining about the transition not the protocol. The solution to what he's complaining about is being solved by a slow and gradual approach that's taken place for well o…

Yes, he's complaining about the transition, not the protocol. One perfectly acceptable transition method, from a technical viewpoint (though probably not a political one), is the one that got us on IPv4 in the first place: a declaration that the Internet's core routers will stop routing the old protocol come January 1. Another transition method would be to write a protocol that doesn't need such tactics to get people to switch to.

If it's been "being solved" over the last ten years, neither you or I will see the end of IPv4 on the public Internet within our lifetimes. Or, if we do, it's because something bigger and better will come along, obsoleting every version of IP. The debate over whether to switch to IPv6 will sound as silly as a debate about Morse code in the 1960s.

The future will come up with their protocols. IPv6, or maybe something other than IPv6, needs to be a protocol we can start using now (and not just because it's cool, but because it's useful) and not feel like it's wasted if it becomes irrelevant in 2025.

Re: The UK has an entire IPv4 /8 that it isn't using

#123
post #26

There are lots of stories like this. Many of them are worse; at least you can imagine that the UK is holding these addresses in reserve. There are companies with giant allocations that are holding them so that they can give every desktop and every printer in their enterprise a routable address; others are doing the same thing, but also operating flat, unrouted networks . More evidence for the core problem: fiat alloc…

>More evidence for the core problem: fiat allocation doesn't work. If there was a functioning, liquid, accessible market for advertisable IP prefixes, you wouldn't have to convince anyone that a /8 was worth $1bn; it just would be.

you are missing a big point. This isn't like real-estate. This is plumbing.

Go do a search on "routing table growth"

This is actually a much larger problem than IPv4 runout. I mean, it's a problem that is further out, but it is going to hit well within my expected lifetime, and it's going to be a dramatically more difficult problem to solve.

The thing is, every time you break up a larger block into a smaller block, every router on the internet needs an entry in their routing tables[1] Usually, in content-addressable memory; Expensive stuff.

The thing is, the size of the global routing table? it's growing faster than moore's law.[2] I mean, it's not a huge deal now; for the price of a new compact car, you can get a router that has enough content-addressable memory to handle full tables and two 10g uplinks with 48 1g downlinks. reasonable cost of entry, if you ask me, and if you use dram (good luck with line rate 10G. don't think about faster line-rate.) well, then the cost is trivial. The routing table is under 500,000 entries in IPv4, so it's a trivial amount of dram.

The problem is that if this continues? (and all indications are that it's going to /massively accelerate/ if IPv6 catches on. At a minimum, you're gonna see the same number of ipv6 routes as ipv4 routes... and because IPv6 addresses are larger, ipv6 routes are larger) those routers are going to get more and more expensive.

So yeah, really? we need a way of charging, not for each IP, but for each announced route. Of course, that comes down hard on the little guys, whereas a per-IP charge is much more progressive. (a /8 takes up as many routing table entries as a /24.)

Getting by with a reduced number of IPs would be way easier for me than getting by without announcing my own block. Without BGP announcing my own block, my ISP has my balls in a vice. If they go down? I go down. More importantly, I need to change IPs when I switch to a new ISP.

I know what this is like, because I started out on my ISPs IP addresses, like almost everyone does. My provider found out that it's hard for me to switch off those IPs, so now I'm paying them, in total, for all the services they provide me, about twice market rate.

(It's actually really interesting, watching the dynamics of this problem play out on PPML or the like. Small players, like me, want to keep it easy to announce smaller blocks. We are fucked if you can only announce large blocks. Large players want tight restrictions on what size of a block you can announce, because they have the address space and they would rather not pay for more super-expensive CAM every time a Luke Crawford gets it in his head to start an ISP.)

[1] This is not strictly true. "every router that matters" would be closer to the truth. If you don't have full tables from multiple upstreams, well, you will be effected by rather more partial outages than if you do.

[2]http://bgp.potaroo.net/

[3]http://bgp.potaroo.net/index-bgp.html

Re: The UK has an entire IPv4 /8 that it isn't using

#124
post #123
post #26

There are lots of stories like this. Many of them are worse; at least you can imagine that the UK is holding these addresses in reserve. There are companies with giant allocations that are holding them so that they can give every desktop and every printer in their enterprise a routable address; others are doing the same thing, but also operating flat, unrouted networks . More evidence for the core problem: fiat alloc…

>More evidence for the core problem: fiat allocation doesn't work. If there was a functioning, liquid, accessible market for advertisable IP prefixes, you wouldn't have to convince anyone that a /8 was worth $1bn; it just would be. you are missing a big point. This isn't like real-estate. This is plumbing. Go do a search on "routing table growth" This is actually a much larger problem than IPv4 runout. I mean, it's a…

A Xeon E3-1220 has an 8MB L3 cache and costs about $210. If you deaggregate the entire IPv4 routing table to /24s to support fast lookups and store one nibble of destination data per route (probably just a destination interface number, if you can live with only 15 or 16 possible destinations, but you probably don't have that many upstreams), doesn't that mean that the entire routing table can fit in the L3 cache on the CPU (with a bit of the L3 not used by class E space, which will leave a bit of space for code, assuming you aren't doing anything but routing on this CPU)?

Now, it's quite possible that the Linux kernel's routing isn't dimensioned to provide this sort of performance, but if you want to avoid CAM in the IPv4 world, I don't see why you'd really need CAM...

(Also, I haven't looked carefully at how the L3 cache actually works on the E3s to make sure that it's shared between code and data, etc etc etc. Also, if you're actually implementing this, you presumably do want to include class E in the table, and then hope/assume that when class E doesn't get used, the CPU will be smart enough to cache the code instead.)

Re: The UK has an entire IPv4 /8 that it isn't using

#125
post #124
post #123

Earlier quoted context omitted.

>More evidence for the core problem: fiat allocation doesn't work. If there was a functioning, liquid, accessible market for advertisable IP prefixes, you wouldn't have to convince anyone that a /8 was worth $1bn; it just would be. you are missing a big point. This isn't like real-estate. This is plumbing. Go do a search on "routing table growth" This is actually a much larger problem than IPv4 runout. I mean, it's a…

A Xeon E3-1220 has an 8MB L3 cache and costs about $210. If you deaggregate the entire IPv4 routing table to /24s to support fast lookups and store one nibble of destination data per route (probably just a destination interface number, if you can live with only 15 or 16 possible destinations, but you probably don't have that many upstreams), doesn't that mean that the entire routing table can fit in the L3 cache on t…

>A Xeon E3-1220 has an 8MB L3 cache and costs about $210. If you deaggregate the entire IPv4 routing table to /24s to support fast lookups and store one nibble of destination data per route (probably just a destination interface number, if you can live with only 15 or 16 possible destinations, but you probably don't have that many upstreams), doesn't that mean that the entire routing table can fit in the L3 cache on the CPU (with a bit of the L3 not used by class E space, which will leave a bit of space for code, assuming you aren't doing anything but routing on this CPU)?

Hm. interesting. so, uh, for simplicity, we have 256^3 routes, right? each one is, uh, what,33 bits of data? I mean, you need 3 bytes for the network and then what, uh, 5 bits for the mask? then okay 4 bits for the dest so 33 bits per route, no? so (33*256^3)/8 is 69206016 bits, or what,66 megabytes? sweet jesus, you are right. I mean, you are off by an order of magnitude, but at this scale, who gives a shit about an order of magnitude.

Interesting. 'cause none of the commercial routers do this. which is fucking weird. With this optimization (only store the first 3 octets, as you aren't routing anything smaller, have a lookup table for dest. addresses.) you could take full tables in puny amounts of CAM that come on, say, l3 switches. I will ask around as to why this isn't done.

(of course, with IPv6, this does not come close to solving the problem. /32 is the 'standard' handout for ISPs, and usually the smallest prefix you accept is a /48. There are a lot of fucking /32s.)

Also, you'd have some complications, as /32s are commonly used to blackhole DDoS targets, but you only have a handful of those, so that would add complexity but it wouldn't kill the idea.

I bet I'm missing something- I mean, every two bit ISP would be really happy to give you ten grand for a 10G full-tables bgp router, and you can get l3 switches with enough cam for that and a few 10G ports for little more than half that.

Re: The UK has an entire IPv4 /8 that it isn't using

#126
post #125
post #124

Earlier quoted context omitted.

A Xeon E3-1220 has an 8MB L3 cache and costs about $210. If you deaggregate the entire IPv4 routing table to /24s to support fast lookups and store one nibble of destination data per route (probably just a destination interface number, if you can live with only 15 or 16 possible destinations, but you probably don't have that many upstreams), doesn't that mean that the entire routing table can fit in the L3 cache on t…

>A Xeon E3-1220 has an 8MB L3 cache and costs about $210. If you deaggregate the entire IPv4 routing table to /24s to support fast lookups and store one nibble of destination data per route (probably just a destination interface number, if you can live with only 15 or 16 possible destinations, but you probably don't have that many upstreams), doesn't that mean that the entire routing table can fit in the L3 cache on…

So, I /really/ made myself look like an idiot here:

>you can get l3 switches with enough cam for that and a few 10G ports for little more than half that.

Because I was confusing TCAM with DRAM; rather different sorts of things. (and that, I'd classify as a mistake of inattention. I made other mistakes in that message due to lack of knowledge, but, uh, yeah; I'm not usually /that/ dumb.)

Anyhow, uh, yeah. Looks like I also misunderstood what the parent comment was trying to do (/increase/ the size of the lookup table by breaking larger blocks into /24s, in order to reduce the number of cycles the CPU spends on the lookup.)

So yeah, in full? I'd delete my comment that I'm responding to here if I could. As I can't, I'd like to acknowledge my ignorance, for the record.

If I could rewrite that, I'd say something to the effect that huge amounts of effort have gone into making TCAM obsolete, and so far? well, progress is being made, but the progress isn't moving any faster than line-rates are going up, as far as I can tell. There are very smart people working on the problem, and they say it's a big problem. (my understanding and experience, as a sysadmin that also deals with networks, is that your linux-based PC routers can route something between 1G and 10G of line-rate small packets. Above that, PC routers can't cope with the PPS.)

Note, uh, I do have two spare E3 xeons laying about the office, and 10G interface cards for both, as well as (at least for a short while longer) two nice arista brand 10G switches, so if you are in the sunnyvale area, and you do want to test an idea or bench the current state of the art of software routers, well, it's something I've gotta do anyhow. I still don't have anything even attempting to route my new 10GbE Cogent port. (I've split off a 1Gbe connection using a switch, and plugged the 1Gbe connection into my existing quagga router.)

Re: The UK has an entire IPv4 /8 that it isn't using

#127
post #126
post #125

Earlier quoted context omitted.

>A Xeon E3-1220 has an 8MB L3 cache and costs about $210. If you deaggregate the entire IPv4 routing table to /24s to support fast lookups and store one nibble of destination data per route (probably just a destination interface number, if you can live with only 15 or 16 possible destinations, but you probably don't have that many upstreams), doesn't that mean that the entire routing table can fit in the L3 cache on…

So, I /really/ made myself look like an idiot here: >you can get l3 switches with enough cam for that and a few 10G ports for little more than half that. Because I was confusing TCAM with DRAM; rather different sorts of things. (and that, I'd classify as a mistake of inattention. I made other mistakes in that message due to lack of knowledge, but, uh, yeah; I'm not usually /that/ dumb.) Anyhow, uh, yeah. Looks like I…

I'm not in the bay area.

Given your constraints, I wonder if what you actually want is one switch for each upstream, and a gigabit link from each of your physical Xen servers to each switch that goes to an upstream. If your switches have to route at all, they can each have a default route to the one respective upstream connected to that switch. Then, have a VM on each physical Xen server with full routing tables to control how the outbound packets from all the VMs on that physical host get routed. And hopefully your switches can deal with a /32 route for each VM or something, if they just have a route per VM plus a default route to the one ISP they're connected to.

There's also the variant where you have a /24 block (or something) which has one IP address which is your ISP's router, and then one IP address per physical Xen server, and if your ISP is willing to take individual /32 announcements to your servers (I think this is technically feasible, but may require more mental flexibility than some ISPs have; on the other hand, I think you're talking Cogent, and mentioned that Cogent is willing to peer directly with your customers, which may imply that you're dealing with a flexible ISP), you can have the ISP do the layer 3 routing to the right physical host for traffic going to each VM. (The idea is that the ISP would not propagate the /32s to their peers; you'd separately send them a broader announcement that they could pass along to their peers.)

One other issue in this scheme is that if a single gigabit link between one physical Xen host and the switch going to one ISP breaks, inbound traffic that happens to come to the ISP attached to the switch with the broken link ought to have some mechanism to find its way over to the other switch for the one physical Xen host that has the broken link. I think there are ways that OSPF and or iBGP with the non-default next-hop-self setting can be made to do this.

Post reply on HN