News for hackers. Stuff that matters.
Re:Reimagining the future of routers by hueving on Wednesday June 08, 2016 @05:43AM (#11861082)
"What modern IP routers do is exactly this. Every forwarding entry has to be fast. Analysis of real backbone traffic data, says it does not have to be. For all practical purposes, today, forwarding tables are oversized by a factor of 10x today."

What he is suggesting will drastically impact the latency of packets as well as the throughput. Following his analogy of cache hierarchies in a regular computer, some prefix lookups are going to be 'downgraded' to the main memory and will take maybe 100x the time.

If a router is forwarding at 10gbps it has ~51 nanoseconds in worst case (64 byte packets). So this is the overhead you can probably expect at each router as your traffic traverses the net. I'm 17 hops from my old university's network. That's just under a microsecond of lookup times. Not bad thanks to TCAM or other specialized lookup chips.

If all of these routers adopted this, my lowly traffic would have to read from main memory on each route lookup because I would never be in the top tier for bandwidth usage even if I was connected all day long. A full routing table is >600k addresses now[1] so each lookup may have to reference main memory several times as it walks a trie. Let's assume about 10 times to be generous which (at 100ns a reference) comes to about 1 microsecond. This is just for 1 packet.

As you start to pile on the thousands of other small connections (we're talking about provider network routers) that would be put into this steerage class, there is going to be contention and queuing that could easily push it into 1ms-10ms depending on bursts.

So if my whole path adopted these routers, I could experience jitter of ~170ms or worse. Gross.

This is essentially turning into a crappy QoS system where the biggest bandwidth hogs get the good service and everything else gets garbage.

Thumbs down from me.

1. http://www.cidr-report.org/as2.0/

Re:Reimagining the future of routers by catwell on Wednesday June 08, 2016 @08:13AM (#11861642)
I have heard some companies have already started doing that a slightly different way, without the need for different hardware design. They buy several inexpensive routers that can only hold the top 10% of the routes (that represent 90% of the traffic) in memory, and a single expensive router which holds the whole table. Then they just set the expensive router as the default gateway on the unexpensive routers.

> I would never be in the top tier for bandwidth usage even if I was connected all day long

Maybe, but it probably doesn't depend on you unless you are your own AS. Routing tables do not contain individual IP addresses so if you are a "normal" ISP consumer chances are you will be in a block that is in the top 10%.

Re:Reimagining the future of routers by iheartmemcache on Wednesday June 08, 2016 @09:08AM (#11861984)
Yep. The author of the article seems to ignore the entire line of (relatively inexpensive) Cisco ASR's designed specifically for this. Juniper I'm sure has a line to do something similar. Residential Comcast in the early 2000's could get me from Boston to the Bay Area in ~35ms (granted, I'm sure they were using millions in 7206VXRs and whatnot). Either way I'm sure that 90/10 split-type methodology has been going on for ages. There are plenty of clever ways the CCIE's work in as much of the routing table as possible within their fixed budget.

I remember the days when ARIN would give out AS's to basically anyone. Before all the cable companies merged, I spent my teenage years developing close relationships to my ISP. One of the high level techs told me to throw up BGP on a FreeBSD box and got on the ARIN mailing list with me to get a /30. That's the type of AS that'd fall into the 90 percent category (along with small businesses that who, for whatever reason, have their own AS). Even on my own AS, I'd rarely see latency above 50 ms domestically via BGP or OSPF.

Re:Reimagining the future of routers by hueving on Wednesday June 08, 2016 @05:43PM (#11865929)
>Routing tables do not contain individual IP addresses so if you are a "normal" ISP consumer chances are you will be in a block that is in the top 10%.

My home IP falls into a slash /22 block I can see in the global routing table. It's highly unlikely that this particular 1000ish IP addresses are responsible for enough traffic on the internet to make top 10%. Top 10% is going to basically be a bunch of hosting providers and CDN prefixes.

Re:Reimagining the future of routers by pas on Wednesday June 08, 2016 @06:42AM (#11861292)
Maybe, maybe not.

If routers become cheaper and smarter the network will grow, you might get more direct routes (less hops), or simply better load balancing (based on latency and-or throughput, maybe even indicated by the size of the flow, so your SSH session will be low latency low jitter but also if you start to download a file via a subchannel it might get shifted to different routers), and with better balancing flows will get distributed not just considering packet drops, but maybe cache hits too (latency basically).

Anyhow, upkeep costs are very important, because they limit the size and efficiency of the network. (High barriers to entry limit growth, high upkeep encourages centralization, which is bad from a reliability and fault tolerance aspect.)

Re:Reimagining the future of routers by hannesgredler on Wednesday June 08, 2016 @05:52AM (#11861121)
your reasoning is correct (the path latency gets higer) its just that you got the final numbers wrong ;-)

on modern software forwarding core (fd.io/VPP and DPDK) you can forward with a sub 100us latency. so your total latency ends up being roughly 1.7ms "slower".

have a look at this: https://www.youtube.com/watch?v=T66BTHnENY8

Re:Reimagining the future of routers by hueving on Wednesday June 08, 2016 @06:21AM (#11861213)
That video is pretty light on details. I would be interested in seeing how much the routes were summarized and if it was enough that they all fit into the processor's cache. The thing that kills me with these network performance benchmark videos is that there are so many things that drastically impact performance and you never get any details about them. Just the marketing pitch.
Re:Reimagining the future of routers by Cerium on Wednesday June 08, 2016 @10:00AM (#11862298)
I've done some work with DPDK about a year ago. At that time I was getting about 12us latency for small packets. Interestingly the power consumption is maximum at minimum load. DPDK uses poll mode drivers to minimize latency, when load is light it uses more power constantly polling than the cpu uses doing computations.
Re:Reimagining the future of routers by Hikikomori on Wednesday June 08, 2016 @06:50AM (#11861321)
Performance within one numa space seems to be great. What can you get between numa spaces? That would be a common forwarding path for any router with enough interfaces.
Re:Reimagining the future of routers by feld on Wednesday June 08, 2016 @08:04AM (#11861603)
If you want good results you don't build a server with more than one CPU socket. NUMA is too expensive for high performance networking.
Re:Reimagining the future of routers by Hikikomori on Wednesday June 08, 2016 @09:03AM (#11861950)
So you're basically stuck with the number of cores of a single socket per 1U, seems like a waste of space and possibly power usage when 2 cores are utilized per 10GE port (in this video). Doesn't seem to scale well now that 100GE is getting more common, so 2 100GE ports per 1U? Depending on where this device would be used the recent 32port 100Ge 1U switches seems to be more interesting, small fib, but with the correct protocol support it could fit a lot of use cases, especially with something like sir[1].

1. https://github.com/dbarrosop/sir

Re:Reimagining the future of routers by ra1n85 on Wednesday June 08, 2016 @07:34AM (#11861501)
Except that DPDK has a hard ceiling in terms of total PPS.
Re:Reimagining the future of routers by signa11 on Wednesday June 08, 2016 @06:19AM (#11861201)
> If all of these routers adopted this, my lowly traffic would have to read from main memory on each route lookup...

yes, but current COTS hardware, via userspace networking can very easily saturate a 10g interface at 64b packet-size / core.

imho, it is the convergence of a large number of advances in COTS hardware over the last couple of years, that has changed the field to mostly a software problem rather than a combination of hardware + software one. when you have proprietary hardware, software tends to be more or less proprietary, which is where most of the networking vendors are currently.

a large number of projects are actively attacking this space e.g. snabb(https://github.com/lukego/snabb), routebricks (http://routebricks.org/) etc.

Re:Reimagining the future of routers by Cerium on Wednesday June 08, 2016 @10:06AM (#11862328)
I wouldn't say that they easily reach 10g on small packets. I got to about 8g before I started to have trouble. It certainly takes some optimization. If I remember correctly Intel's DPDK documents warn that you only have about 80 cycles between packets.
Re:Reimagining the future of routers by signa11 on Wednesday June 08, 2016 @11:09AM (#11862731)
Hmm, for our case I 'program' flows which then end up being used by per-core tasks for forwarding decisions, and with couple of tweaks etc was able to handle line rate across 4 10g interfaces for 64b packets, with one physical core per port.

This is on bare metal though, so might be different experience if you are running stuff on vm's where without sr-iov you would have multiple layers of indirection + context switches before someone can actually do something meaningful to the pdu...

edit: slight clarification added

Re:Reimagining the future of routers by netten on Wednesday June 08, 2016 @11:22PM (#11867348)
can you tell me how you did this, i would really like to try this out.
Re:Reimagining the future of routers by amazon_not on Wednesday June 08, 2016 @07:56AM (#11861570)
> yes, but current COTS hardware, via userspace networking can very easily saturate a 10g interface at 64b packet-size / core.

Citation needed.

Re:Reimagining the future of routers by feld on Wednesday June 08, 2016 @08:00AM (#11861586)
Heard of Netmap or DPDK?
Re:Reimagining the future of routers by amazon_not on Wednesday June 08, 2016 @08:07AM (#11861612)
Yes. As far as I know neither of them can push 15Mpps per core. Please please prove me wrong. I'd love to be.
Re:Reimagining the future of routers by tyingq on Wednesday June 08, 2016 @12:55PM (#11863665)
It's also comparing basically an assembled automobile with a pile of parts. I suspect there will be a well vetted router-centric distribution that leverages DPDK soon, but I don't think that exists yet.
Re:Reimagining the future of routers by bogomipz on Wednesday June 08, 2016 @10:53PM (#11867264)
Huh? All 10 Gig NICs can and do push 14 Mpps using minimum MTU:

http://www.ieee802.org/3/10G_study/public/speed_adhoc/email/...

What are you talking about?

Re:Reimagining the future of routers by signa11 on Wednesday June 08, 2016 @08:10AM (#11861628)
Re:Reimagining the future of routers by reitanqild on Wednesday June 08, 2016 @10:00AM (#11862295)
I hate lmgtfy used for this. Possibly more than Citation needed.
Re:Reimagining the future of routers by iyx0c7rj3tsm on Friday June 10, 2016 @12:31AM (#11874311)
> "where the biggest bandwidth hogs get the good service and everything else gets garbage."

I think the worst-case, steady-state, scenario is actually equal time sharing, and the whole value is that while you aren't talking, other packets flow faster. That's not a doomsday scenario. Noone is out anything. (If this equal-sharing isn't fast enough, your upstream links/peers are over-subscribed.)

Also, your cache/memory analogy disrgards the possibility of simplifying and/or distributing the routing tables.

Route consolidation is one solution. Having no table at all is ideal. My little underpowered home router has 1 entry for it's upstream gateway. There's no reason to keep billions of records in a table in any central router either, given there are only going to be so many uplinks.

The more scalable solution is to distribute the table(s) in parallel to other peers. If the routing tables really are too big and can't be consolidated in core routers, the answer is simply more routers, geographically distributed to best meet demand, not fatter ones in the core, with higher latency, higher costs, and all the downsides of centralization like survaillance.

QoS is a solution in search of a problem; networks scale fine when we scale them out, not up.

Re:Reimagining the future of routers by Hikikomori on Wednesday June 08, 2016 @09:37AM (#11862170)
How would the forwarding path with a higher and possibly variable delay work with the small buffers that this article also suggest?