6 ms·
Bird – Internet Routing Daemon
- ignoramous 7y agoCan someone please ELI5? I don't really get what dynamic IP routing is, or what this project means to solve at internet scale?
- andrenth 7y agoBIRD is a BGP daemon. Autonomous Systems exchange routing information via BGP and calculate the best route to a given destination. It’s dynamic because routes are updated via the protocol and the preferred route selection algorithm, instead of managed manually with, say, the route command. BGP can also be used inside an AS and some container networking solutions (e.g. kube-router for kubernetes) also use it.
- signa11 7y agoshort description: dynamic routing (as opposed to static routing) allows routers to select forwarding paths based on current topology of a network that they are part of. change in network topology automatically (automagically?) updates routing information and better paths for forwarding are recomputed. this is primarily accomplished by running a routing protocol which allows ‘adjacent’ routers to exchange routing information, f.e rip, ospf, bgp etc. with static routing, a more ‘hands on’ approach is required...
- kev009 7y agoThe internet "works" because, ultimately, core routers have adjacency to other core routers. Everyone propagates knowledge of their adjacency, and you end up having complete paths to every other network. A routing daemon speaks one or more routing protocol to build a table of routes. That can be used for various purposes, including programming the host's own routing table (bird runs on UNIX-like OSes) or other implementations can update a special kind of memory called a CAM (think something like a hashtable in silicon) an ASIC on a router/route switch uses. Check wikipedia for BGP and peering and you should have what you desire.
- walrus01 7y agoBig ISPs connecting their core routers directly together with PNIs absolutely still happens, but in the modern era you see a lot more dedicated purpose aggregation and peering routers that are the AS-to-AS bgp neighbor relationship between ISPs that are in the same carrier hotel/same IX point. Often in a setup where the aggregation router has dual links to a pair of big core routers. The cores only speak bgp within their own AS. Or in a particularly big POP, a twin pair of agg routers connected in a X shaped topology to a pair of core routers.
- zakki 7y agoInternet is inter-network. I have network at my home. My internet service provider (ISP) has their own network. That giant internet searching services has their own network. How are they interconnected? BGP (Border Gateway Protocol) is one of routing protocol used by those different networks to connect to each other. Internet formed. Bird is a software that implement BGP. You can run it on a pc instead of buying specific routing device (Cisco, juniper, Mikrotik, etc).
- TheAceOfHearts 7y agoAs someone who was also unclear as to its purpose, I found their explanation in the User Guide, under Section 1.1 "What is BIRD" [0] very informative and approachable. [0] https://bird.network.cz/?get_doc&v=20&f=bird-1.html#ss1.1 https://bird.network.cz/?get_doc&v=20&f=bird-1.html#ss1.1
- sirtoffski 7y agoBird is pretty popular with CDN’s and IXP’s - a de facto standard [1]. For example it’s used by Netflix for “sharing network topology from ISP networks to Netflix control system in AWS” [2]. [1] https://joinup.ec.europa.eu/collection/open-source-observatory-osor/document/bird-manages-routing-worlds-largest-internet-exchanges-bird https://joinup.ec.europa.eu/collection/open-source-observato... [2] https://openconnect.netflix.com/en/appliances/#software https://openconnect.netflix.com/en/appliances/#software
- zajio1am 7y agoYes, it is used as a route server by all major european IXPs (DE-CIX, AMS-IX, LINX, MSK-IX, ...)
- joeseeder 7y agoI would love to know if there is a stand-alone RIPng or Ospf daemon or better, kernel module which can be deployed to hosts with minimal effort having to deploy whole zebra to just be able to announce local docker routes is a bit too much for my liking
- sirtoffski 7y agoHaven’t tried it myself, but OpenOSPFD sounds exactly what you were looking for. Developed by OpenBSD. https://www.openbsd.org/papers/linuxtag06-network.pdf https://www.openbsd.org/papers/linuxtag06-network.pdf
- zajio1am 7y agoWell, you can run BIRD for that purpose. It is one daemon with support of multiple routing protocol.
- dredmorbius 7y agoContext: cz.nic are the producers of the Turris Omnia WiFi router, an OpenWRT-based SOHO router. ~US$300 buys you 2.4 & 5 Ghz wifi, 5x 10/100/1000 ethernet, 2 GB RAM, 8 GB flash, 2x USB, 500 MHz ARM CPU, lots of blinkenlights, automatic updates (not otherwise included with OpenWRT), and numerous hardware modular expansions including internal mSata disk, SIM card capacity, and a NAS enclosure. That's pricier than a proprietary router but considerably more powerful, versatile, and performant. I'm a happy owner. https://www.turris.cz/omnia/ https://www.turris.cz/omnia/ The recently announced Mozilla WebThings gateway also runs on the Turris: https://news.ycombinator.com/item?id=20532763 https://news.ycombinator.com/item?id=20532763 The BIRD Internet Routing Daemon, a BGP routing service you can run yourself, is included in the available OpenWRT packages: https://openwrt.org/packages/pkgdata/bird4 https://openwrt.org/packages/pkgdata/bird4 No, I don't run BIRD myself, though it could be fun to play with.
- doctorpangloss 7y agoAh, nothing says "Gigabit Ethernet Routing" like a iPhone 3G processor.
- Arnt 7y agoI route gigabit with a much slower processor than that. Good routers are built for reliability, and most of them seem to opt for slowish CPUs and a fast-path for routing that doesn't involve the CPU at all. The CPU is there to update the routing table and do other supporting chores.
- tolqen 7y agoTheir website says "1.6 GHz dual-core ARM", which sounds decidedly more powerful than an iPhone 3G
- dredmorbius 7y agoThanks, I thought the GHz was higher, though /proc/cpuinfo doesn't state, and dmesg has rolled off the startup CPU specs. Can confirm two cores.
- michh 7y agoI really like BIRD. Having no prior experience with that sort of thing, we became a LIR at work and set up announcing our IP space to three different transit providers in three different sites. By using regular familiar looking config files it felt way more accessible than the standard stuff by/for traditional network engineers most of which seem to lean on model of configuring by entering commands in a CLI and then persisting the current state.
- clinta 7y agoI used bird to build our companies network. At the time I couldn't reason about how to manage Quagga with configuration management and I disliked how it tried to emulate a Cisco CLI. Bird solves my problems nicely for BGP and OSPF.
- emptysongglass 7y agoI had a terrible experience with my Omnia and support willfully ignored me despite repeated requests for help. It’s now sitting in my closet with a burnt out chip. Long story short, I put the same network cards in it all the enthusiasts were. Those slots were meant to be user upgradeable. It starts smoking, I open it up and send some pics to the company. They don’t get back to me. Two weeks later I do what anyone does in this position and post on their forums. That gets their attention, they write me back. Immediately they’re on the defensive and after another week of bartering agree to take a look at it only if I ship it to them at my expense and pay for the repairs. At this point I’ve already sunk 5 hundred dollars into it so I agree and ask for a shipping address. They never get back to me. Over the next month I send them follow up emails literally begging to pay them to fix my router. I never got a response. Between CZ.nic and Purism, I’ve sworn off small hardware shops. It’s been my experience they often don’t stand behind their products when they fail or simply lack the customer service bigger firms can afford. I ended up buying a few mesh routers from Synology which have been purring away ever since.