<div dir="ltr">Hello William!<br><br>An ARP Controller to compose a L2 Cluster solution seems a good Idea to a begging...<br>(I would include ND)<br><br>I will try to think a bit on that...<br><br>Any suggestions are welcome.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Em qui., 1 de jul. de 2021 às 16:06, William Herrin <<a href="mailto:bill@herrin.us">bill@herrin.us</a>> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Thu, Jul 1, 2021 at 11:05 AM Douglas Fischer<br>
<<a href="mailto:fischerdouglas@gmail.com" target="_blank">fischerdouglas@gmail.com</a>> wrote:<br>
> I'm looking for solutions do deploy some type of selective high availability and load balance based on the glue between Layer 2 and Layer 3 (ARP or ND).<br>
<br>
Hi Douglas,<br>
<br>
Anycast is where you send to one network address and the "nearest"<br>
single server with that address receives the packet.<br>
<br>
By definition, every piece of equipment in an L2 broadcast domain is<br>
exactly one hop from every other -- no equipment is "nearer." So<br>
conceptually, there is no anycast.<br>
<br>
However, L2 domains aren't built with hubs any more; they're built<br>
with switches. There actually are variable distances between<br>
equipment, they're just not expressed in the protocols. So, in theory<br>
you could build an SDN controller for your switches which sets up<br>
different FIB entries in each switch to select which port receives the<br>
traffic for the designated "anycast" mac address. But you may face<br>
limitations where the hardware can't reasonably be programmed to give<br>
each port its own FIB allowing fine-grained control of which client<br>
reaches which server.<br>
<br>
Realistically... that approach would tend to be both expensive to<br>
build and very brittle. There's almost certainly a better way to<br>
accomplish your goal than trying to invent L2 anycast.<br>
<br>
If you're load balancing IP traffic, another approach might be a<br>
custom ARP controller which responds to ARP requests with different<br>
MAC addresses depending on the request source. There's no guaranteed<br>
timeout for ARP bindings but if you shared around a pool of MAC<br>
addresses guaranteeing that every MAC address in the pool gets<br>
assigned to a currently-working server it could work. You just have to<br>
keep in mind that gratuitous arp absolutely would not work in this<br>
sort of scenario so you have to have a plan for switching loads<br>
between servers without it.<br>
<br>
I don't think anybody has built that sort of arp controller (at least<br>
I haven't heard of one) so you'd have to invent it yourself.<br>
<br>
>From what I understand of EVPN, it's about creating something<br>
equivalent to VLANs across a distributed virtual server<br>
infrastructure. Basically like what Amazon does under the hood for its<br>
virtual private cloud. Since you're trying to get the machines to<br>
appear on the same subnet, not separate them to different subnets, I<br>
don't think it's what you're looking for.<br>
<br>
Regards,<br>
Bill Herrin<br>
<br>
<br>
-- <br>
William Herrin<br>
<a href="mailto:bill@herrin.us" target="_blank">bill@herrin.us</a><br>
<a href="https://bill.herrin.us/" rel="noreferrer" target="_blank">https://bill.herrin.us/</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">Douglas Fernando Fischer<br>Engº de Controle e Automação<br><div style="padding:0px;margin-left:0px;margin-top:0px;overflow:hidden;color:black;text-align:left;line-height:130%;font-family:"courier new",monospace"></div></div></div>