VIDEOS 》 Quagga Routing Suite - OSPF, RIP, RIPng BGP4 | GNU Zebra fork | ZebOS
Before Quagga - brief history:
GNU Zebra (Zebra.org website) is one of the oldest open-source Dynamic Routing Protocol suite stack developed by Kunihiro Ishiguro. Zebra supports features such as RIPv1/RIPv2 for IPv4 and RIPng for IPv6, OSPFv2 and OSPFv3, BGPv4+ and so on. Zebra is an active project for many years.
In the meantime, Kunihiro Ishiguro along with other partner(s)(mainly a venture capitalist Yoshinari Yoshikawa) founded a company
called IP Infusion and developed
ZebOS stack - Big Picture
Image courtesy/source: https://www.ipinfusion.com/wp-content/uploads/2016/11/zebos- ...
ZebOS is an entire proprietary suite which supports all control plane aspects of various dynamic routing protocols such as those supported by Zebra, plus it has many other features (such as ZebIC - Data Plane, ZebM - Management Plane, etc). ZebOS is marketed towards OEMs and product vendors so that they can buy ZebOS license(s), and build their own routing hardware using this framework. It is pretty much a successful business model and we an see many non-CISCO manufactured networking appliances commonly use ZebOS in it.
My exposure and hands on - both Zebra and ZebOS:
I have worked in my past few projects which included both Zebra and ZebOS stack. For couple of my clients during my tenure at TATA ELXSI, I worked on ZebOS framework which couple of their (TATA ELXSI's) clients used as a control plane framework for their product range. I worked specifically on some SNMP and CLI modules which at that time ZebOS has no support yet for few corner cases such as MPLS/VPLS stuff. And besides much before that I worked on Zebra on various aspects such as configuration, customization for a different client.
After many years of active support Zebra is discontinued, and sometime down the lane a new fork is created from Zebra called Quagga which is now maintained by a separate independent open-source community.
About Quagga - courtesy: Quagga open-source project website
Quagga is a routing software suite, providing implementations of OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4 for Unix platforms,
particularly FreeBSD, Linux, Solaris and NetBSD. Quagga is a fork of GNU Zebra which was developed by Kunihiro Ishiguro.
The Quagga architecture consists of a core daemon, zebra, which acts as an abstraction layer to the underlying Unix kernel and presents the Zserv API over a Unix or TCP stream to Quagga clients. It is these Zserv clients which typically implement a routing protocol and communicate routing updates to the zebra daemon. Existing Zserv implementations are:
- kernel interface, static routes, zserv server
- RIPv1/RIPv2 for IPv4 and RIPng for IPv6
- OSPFv2 and OSPFv3
- BGPv4+ (including address family support for multicast and IPv6)
- IS-IS with support for IPv4 and IPv6
Quagga daemons are each configurable via a network accessible CLI (called a 'vty'). The CLI follows a style similar to that of other routing software. There is an additional tool included with Quagga called 'vtysh', which acts as a single cohesive front-end to all the daemons, allowing one to administer nearly all aspects of the various Quagga daemons in one place.
Quagga open-source project website - https://www.quagga.net
Zebra.org website - http://www.zebra.org
Quagga Documentation - https://www.quagga.net/docs/quagga.html
Quagga Download - http://download.savannah.gnu.org/releases/quagga/
-----IP Infusion - https://www.ipinfusion.com
IP Infusion ZebOS Network Stack - https://www.ipinfusion.com/products/zebos/
Video Episodes :: Linux (user-space), Systems Architecture and Networking
Join The Linux Channel :: Facebook Group ↗
Visit The Linux Channel :: on Youtube ↗
💗 Help shape the future: Sponsor/Donate