Quagga是一款功能比较强大的开源路由软件,支持ip,ripng,ospfv2,ospfv3,bgp等协议。目前最新版本为
Quagga 1.1.0。安装Quagga的目的是使装有linux系统的电脑变成一台路由器;其主要的功能支持动态+静态路由的配置功能;
通过简单的编译、安装就可以让一台linux化身成为路由器,提供类似于思科的命令行配置模型;可以提供给用户配置路由相关信息的用户界面;
运行上:
Quagga主要结构是以zebra守护进程作为核心,其他动态路由模块RIP/OSPF/BGP这类的程序做为client;
BGP OSPF RIP程序类似。其程序只创建与自己协议相关的socket。用户接受与发送协议报文;添加删除路由的操作是由zebra来处理的;
zebra提供的主要功能
1.监听内核netlink消息,创建删除接口、ip、路由等信息;
2.设置内核ip forward参数;
3.当由内核事件发生时通知给OSPF RIP BGP;
4.为OSPF BGP RIP等路由程序提供接口添加删除路由;
5.相应cli命令,做配置行为;
动态路由(OSPF /RIP/BGP)程序功能:
1.作为zebra的client。接收zebra通知的事件(接口,路由,ip信息)
2.自己创建协议的socket收发报文完成协议功能;
3.相应cli命令,做配置行为