BGP on Windows Desktop
goldensyrupgames.comAt first I thought this was going to just be a go program handling BGP data. And then I saw they injected the routes into the local windows FIB. Somewhere a CCIE is crying silently, and doesn't know why.
I get that it works, but something about this feels...deeply wrong :)
Running BGP on servers is incredibly useful though, especially on things like proxies and loadbalancers.
For instance, running services on loopback/dummy interfaces and announcing those IP's with BGP to the core network makes implementing anycast really, really easy.
You don't need FIB install for that.
For any amount of reasonable distinction of "servers" and "routers", you should never need a FIB install on a server. There are good reasons to keep these functions separate (most prominently, address ownership/binding issues with services that are frequently not designed to deal with multiple interfaces/route choices.)
NB: this is not about physical devices. VMs/containers on your host are frequently "servers" while the hypervisor is a "router".
route on host (rfc5549) is the best strategy for host mobility if your fabric is designed around that idea and you embrace ECMP, stateless networking and bipartite topologies. You need to track state to do that without changing the FIB.
Every day we stray further from God's light.
BGP on desktop is the same as ipv6 for home in terms of usefulness and practicality.
I wonder if Windows can take a full table without tipping over internally.
I was also hoping for “How to get full view to your bedroom PC because you want REAL load balancing BOTH WAYS, not some kiddie destination hashing”.
To be fair, BGP helps even less with traffic going to the same destination than plain old hash-based link aggregation does :)
This is just snark, right? Full tables aren't even close to the largest databases handled casually by Windows servers.
The question is if the routing table implementation in Windows (I assume inside the kernel) can handle it.
Oh, that makes more sense. It can, I'm pretty sure? But sure, reasonable question.
I see no reason for it to be able to do so, in fact I would expect it to be optimized for the exact opposite - a routing table with less than a hundred routes.
Stuffing a DFZ table into a Windows box is… not something you do. Neither Microsoft nor Windows admins would really even consider it a viable idea.
The real question is: how does it fail? In the best case, it just drops a little bit of networking performance due to lookups taking a tiny amount of time on each packet. In the worst case, not only do the lookups take forever, but it might also cause overall lockups and "hard" degradation due to cascade effects from the network stack spinning to its death on each single packet.
But considering Windows servers are used as VPN endpoints, and those need to support at least some 4-digit route table sizes, it can't be entirely bad. My expectation would be just mediocre network performance without huge overall disruption.
I said I was pretty sure because I looked it up and saw evidence that it can, but I haven't tried it.
Hey, can you point me to where you were finding this? I'd very much like to try it out this weekend and that might help - I've got a personal ASN and carrier link I can exchange the actual internet table on. The only thing I could find was people receiving the "full route tables" of a private cloud instance not the net.
First paragraph of TFA says Windows Server supports BGP. But hey, I guess you don’t let facts get in the way of some anti-Windows snarky shitposting.
The question is about the FIB side of the equation. It’s not an anti-windows remark it’s just a question since I’ve never done full tables on Windows and I don’t know it to be a supported use case. The BGP feature in Server versions is intended for cloud gateway not internet. Even the Linux kernel takes some parameter tuning to gracefully receive a full table without complaints. It’s a million routes in systems which typically have less than 10 after all.
Supporting BGP and supporting BGP with a DFZ full table are not the same thing. And achieving a particular packet/line rate in either of those scenarios is yet another.
Maybe check your own knowledge base, background and perspective before calling something shitposting?