News for hackers. Stuff that matters.
Re:AWS Network Load Balancer by Cieplak on Thursday September 07, 2017 @08:02PM (#15196886)
I wonder what they wrote it in. I'd guess C++, Java or Erlang, or a combination of those.
Re:AWS Network Load Balancer by takeda on Thursday September 07, 2017 @08:31PM (#15197034)
Chances are it's IPVS[1], maybe with some patching.

Why would one reinvent the wheel when Linux already lets you do that.

In that case it would be C since it's implemented in the Linux kernel.

[1] https://en.wikipedia.org/wiki/IP_Virtual_Server

Re:AWS Network Load Balancer by takeda on Friday September 08, 2017 @12:36AM (#15197874)
I should have read the blog instead of skimming before responding.

This appears as Layer 4 load balancing, IPVS is more of Layer 3.

So the person who was voted down by mentioning HAProxy might not be too far off. It could be implemented through HAProxy + TPROXY enabled in the kernel[1]. Then just make sure that default gateway configured on targets routes back to the load balancer or it is the load balancer.

[1] https://www.loadbalancer.org/blog/configure-haproxy-with-tpr...

Re:AWS Network Load Balancer by bogomipz on Friday September 08, 2017 @03:33AM (#15198492)
>"This appears as Layer 4 load balancing, IPVS is more of Layer 3."

No, IPVS is L4 load balancing. L3 load balancing would be a routing protocol plus ECMP.

Re:AWS Network Load Balancer by takeda on Sunday September 10, 2017 @04:24AM (#15211327)
Ah my bad, even the wiki link I posted said it is layer 4. I guess both solutions could be utilized then, perhaps it was IPVS then since it would be more performant than HAProxy.
Re:AWS Network Load Balancer by zob_cloud on Friday September 08, 2017 @01:15AM (#15198026)
Re:AWS Network Load Balancer by Thaxll on Thursday September 07, 2017 @08:11PM (#15196930)
Most likely C/C++, Erlang / Java is not fast enough for this kind of work load.
Re:AWS Network Load Balancer by tyingq on Thursday September 07, 2017 @08:13PM (#15196939)
It preserves source ip, so that suggests something like a kernel module, or like Intel's DPDK. Either (practically) rules out anything but C, doesn't it?
Re:AWS Network Load Balancer by Thaxll on Thursday September 07, 2017 @08:15PM (#15196949)
Or they could just encapsulate the packet to preserve the IP...
Re:AWS Network Load Balancer by tyingq on Thursday September 07, 2017 @08:31PM (#15197035)
Happy to be educated. There's some easy way to alter the destination IP that way?
Re:AWS Network Load Balancer by Thaxll on Thursday September 07, 2017 @09:11PM (#15197197)
Like mention above IPVS: http://www.linuxvirtualserver.org/VS-IPTunneling.html

This is heavily used by Facebook for their loadblancer on their racks.

Re:AWS Network Load Balancer by omribahumi on Friday September 08, 2017 @09:17AM (#15199911)
There was a talk about this in SREcon Europe 2015: https://www.usenix.org/conference/srecon15europe/program/pre...
Re:AWS Network Load Balancer by tyingq on Thursday September 07, 2017 @09:36PM (#15197285)
Ah, ok. A kernel module, as I mentioned :)
Re:AWS Network Load Balancer by bullen on Thursday September 07, 2017 @08:23PM (#15197002)
I guess HAProxy
Re:AWS Network Load Balancer by bashtoni on Friday September 08, 2017 @07:38AM (#15199450)
Maybe VHDL if it's running on f1 instances?