Quagga:开源的基于Zebra实现了RIP, OSPF, BGP的动态路由软件

目录

quagga简介

特性

安装


 

quagga简介

https://www.jianshu.com/p/300acac7801f


Quagga是一个开源的基于Zebra实现了RIP, OSPF, BGP的动态路由软件。它提供的CLI命令和Cisco IOS类似 ,可以使用 quagga 将linux 机器打造成一台功能完备的路由器。

https://blog.csdn.net/bestboyxie/article/details/53925894

安装Quagga的目的是使装有linux系统的电脑变成一台路由器;其主要的功能支持动态+静态路由的配置功能;

通过简单的编译、安装就可以让一台linux化身成为路由器,提供类似于思科的命令行配置模型;可以提供给用户配置路由相关信息的用户界面;

运行上:Quagga主要结构是以zebra守护进程作为核心,其他动态路由模块RIP/OSPF/BGP这类的程序做为client;

  • 支持的路由协议:RIP、OSPF、BGP等协议
  • RIPv1、RIPv2、OSPFv2适用于Ipv4的自治域系统内部网络路由协议。
  • BGP-4是用于Ipv4的自治域系统之间的外部网络路由协议。
  • RIPng、OSPFv3、BGP-4+主要扩展对Ipv6的支持。

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命令,做配置行为

 

特性


模块化设计:Quagga基于模块化方案的设计,即对每一个路由协议使用单独的守护进程。

运行速度快:因为使用了模块化的设计,使得Quagga的运行速度比一般的路由选择程序要快。

可靠性高:在所有软件模块都失败的情况下,路由器可以继续保持连接并且daemons也会继续运行。故障诊断不必离线的状态下被诊断和更正

支持Ipv6:Quagga不仅支持Ipv4,还支持Ipv6。

Quagga的运行机制由于Quagga采用模块化的设计,因此Quagga运行时要运行多个守护进程,包括ripd ripngd ospfd ospf6d bgpd 和Zebra。  其中,Zebra守护进程用来更新内核的路由表,而其他的守护进程负责进行相应路由选择协议的路由更新。

进程zebra: 路由接口声明和静态路由bgpd: 支持BGPospfd: 支持OSPFospf6d: 支持IPv6 OSPFripd: 支持RIP v2ripngd: 支持RIP IPv6

 

安装


# 检查是否安装了 quagga
rpm-qquagga

# 安装 quagga
yum install quagga

查看 quagga 配置文件

vim /etc/services

# Ports numbered 2600 through 2606 are used by the zebra package without
# being registred.  The primary names are the registered names, and the
# unregistered names used by zebra are listed as aliases.
hpstgmgr2600/tcp        zebrasrv# HPSTGMGR
hpstgmgr2600/udp# HPSTGMGR
discp-client2601/tcp        zebra# discp client
discp-client2601/udp# discp client
discp-server2602/tcp        ripd# discp server
discp-server2602/udp# discp server
servicemeter2603/tcp        ripngd# Service Meter
servicemeter2603/udp# Service Meter
nsc-ccs2604/tcp        ospfd# NSC CCS
nsc-ccs2604/udp# NSC CCS
nsc-posa2605/tcp        bgpd# NSC POSA
nsc-posa2605/udp# NSC POSA
netmon2606/tcp        ospf6d# Dell Netmon

分析配置文件Quagga 各进程有各自的中端口或 vty,在 /etc/services 可以找到对 quagga 进行配置就是对各进程进行配置,并且路由器的配置和路由协议的配置是分开不同进程的quagga 里的 zebra 进程,相当于一个路由器,对 zebra 配置相当于对路由器进行基本配置(基本配置,路由协议不是在 zebra 里面配置的)。quagga 里的 ripd、ospfd、bgpd 等进程相当于不通的路由协议,要启动哪一种协议,就对对应的协议进行配置

quagga 进程的配置命令多用 ? 查看所处模式下可以使用的命令及其格式

查看 quagga 配置

cd /etc/quagga

启动

service zebra start

这样 zebra 就以守护进程的方式启动了,其他的参考 zebra -h

配置 zebra配置 zebra 就是配置路由器

进入路由器配置模式/etc/services 中看到 zebra 的端口是 2601,可以 telnet 连接zebra

BGPBroder gataway protocol,边界网关协议,是自主网络系统中官网关之间交换路由信息的协议。边界路由器常用语互联网的网关之间,路由表包含已知路由器的列表、路由器能够达到的地址以及到达每个路由器的路径的跳数使用BGP协议的主机一般也使用TCP。当网络检测到某台主机发憷变化时,就会发送新的路由表BGP是距离矢量协议,但是与(通告目的的地址跳数)RIP不同的是,BGP列举了到每个目的地址的路由(自制系统达到目的地的序列号)。这样就排除了一些距离矢量的问题,BGP采用16位数字表示自治系统表示。

 

zebra路由重分布框架是指在zebra开源路由软件项目中的一个功能模块,用于实现路由信息的重分布。该框架通过消息通信来更新和获取路由信息,同时提供了读写分离、分库分表、就近路由、流量控制等多种功能。\[1\]\[3\]此外,zebra还提供了GroupDataSource来完成读写分离功能,解决了数据库集群访问的问题,并对业务方透明,使开发人员可以像操作单个库那样去访问mysql数据库集群。\[2\]总之,zebra路由重分布框架是一个功能强大且模块化的工具,可以帮助管理和优化路由信息的分布和访问。 #### 引用[.reference_title] - *1* [zebra代码简单分析 --- 001](https://blog.csdn.net/armlinuxww/article/details/99967389)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Zebra 开源框架设计](https://blog.csdn.net/kingmax54212008/article/details/88892529)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值