操作系统原理:How Linux Works(五):Route

摘要

  • 编辑中
  • 路由协议
  • router based linux kernel

OpenSource Routing Projects

What is Quagga?

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:

IPv4 IPv6 desc
zebra zebra kernel interface, static routes, zserv server
ripd ripngd RIPv1/RIPv2 for IPv4 and RIPng for IPv6
ospfd ospf6d OSPFv2 and OSPFv3
bgpd bgpd BGPv4+ (including address family support for multicast and IPv6)
isisd isisd IS-IS with support for IPv4 and IPv6
vtysh vtysh shell tools

Zebra

Zebra 是一个 TPC/IP 路由软件,支持 BGP、OSPF、RIP 和 RIPng。它遵循 GNU 通用公共许可协议,可以运行于 Linux 操作系统上(在 Red Hat 中已经附带了 Zebra 的 RPM 安装包)。

最初的 Zebra 软件包由 Kunihiro Ishiguro 和 Yoshinari Yoshikawa 于1996年完成。现在主要由 IP Infusion 及开源志愿者维持。

Zebra 采用模块的方法来管理协议。可以根据网络需要启用或者禁用协议。此外,Zebra 的配置同 Cisco IOS 极其类似,这一点对于已经熟悉 Cisco 的网络工程师来说非常方便。

Zebra is a multi-server routing software which provides TCP/IP based routing protocols. Zebra turns your machine into a full powered router. Some of the features of Zebra include:

  • Common routing protocols such as RIP, OSPF, BGP supported.
  • IPv6 routing protocols such as RIPng and BGP-4+ supported.
  • User can dynamically change configuration from terminal interface.
  • User can use command line completion and history in terminal interface.
  • IP address based filtering, AS path based filtering, attribute modification by route map are supported.

Supported Platforms

操作系统支持:

  • GNU/Linux
  • FreeBSD/NetBSD/OpenBSD

IPv6 支持:

  • NRL IPv6
  • KAME
  • INRIA IPv6

Quagga ABC

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.

1
2
3
4
5
# The default location
/usr/local/sbin/zebra
/usr/local/etc/zebra.conf

下载

扩展阅读

电子书《Linux Perf Master》

How Linux Works

扩展阅读:动态追踪技术

参考文献

欢迎扫码关注微信公众号获取最新动态,读者交流 QQ 群:338272982 。

推荐文章