searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

gobgp使用方式介绍以及架构解析

2023-05-26 01:25:28
680
0

1. 源码位置

  项目源代码下载地址:https://github.com/osrg/gobgp

GoBGP安装包下载地址https://github.com/osrg/gobgp/releases

安装包安装方式:tar -zvxf xxxx.tar.gz

 

2. gobgp启动

  方法1

./gobgpd -f gobgpd.conf #使用.conf启动且不含有debug模式

./gobgpd -t yaml -f gobgpd.yaml   #使用.yaml启动且不含有debug模式

./gobgpd -f gobgpd.conf -l debug -p #带有debug模式的启动

 

方法2

使用systemctl start gobgpd

 

3. 配置方式

方法1 命令行配置

配置文件支持多种格式 toml/yaml/json/conf

下面两个链接分别是GOBGP官网中对于命令行的说明

https://github.com/osrg/gobgp/blob/master/docs/sources/cli-command-syntax.md

https://github.com/osrg/gobgp/blob/master/docs/sources/policy.md

代码gobgp-master/docs/sources有所有命令行方式配置gobgp的介绍,如下图(图1)所示

图1 源码命令行文件说明

下面以conf文件为例,看一下GOBGP命令行的使用方式

在gobgpd.conf进行如下配置

创建BGP进程/配置router-id/创建邻居,配置如下:

 

查看BGP邻居,命令如下:

查看BGP邻居表,命令如下:

方法2 通过GRPC配置

  如下链接为python语言使用gobgp的GRPC的方式

  https://www.jianshu.com/p/fdc990ff5ea3

无论用什么语言最终都会调用GOBGP中GRPC的接口,如下图所示:

 

4. 支持的功能

GOBGP功能列表

解释说明

Route Server

路由服务器,开启BGP的被动模式,只被动等待BGP邻居建立

Route Reflect

路由反射器

EVPN

以太网虚拟专用网络

Graceful restart

优雅重启/平滑重启

Policy

路由策略

BMP

BGP监控协议

RPKI

使用私钥和公钥对BGP中的路由进行数字加密和签名

Dynamic neighbors

动态邻居建立

AddPath

多路由发布

MRT

MRT是一种存储格式,MRT格式可用于导出路由协议消息、状态更改和路由信息库内容

 

5. 源码结构说明

源代码的目录结构如下

每个目录的作用如下:

 

6. Gobgp与Quagga/FRR集成工作

 GoBGP 仅支持 BGP 这一种路由协议,但是它可以和 Zebra 集成,通过 API 的方式与 Quagga/FRR 协同工作,以支持多种路由协议。

 

0条评论
0 / 1000
石****凤
3文章数
1粉丝数
石****凤
3 文章 | 1 粉丝
石****凤
3文章数
1粉丝数
石****凤
3 文章 | 1 粉丝
原创

gobgp使用方式介绍以及架构解析

2023-05-26 01:25:28
680
0

1. 源码位置

  项目源代码下载地址:https://github.com/osrg/gobgp

GoBGP安装包下载地址https://github.com/osrg/gobgp/releases

安装包安装方式:tar -zvxf xxxx.tar.gz

 

2. gobgp启动

  方法1

./gobgpd -f gobgpd.conf #使用.conf启动且不含有debug模式

./gobgpd -t yaml -f gobgpd.yaml   #使用.yaml启动且不含有debug模式

./gobgpd -f gobgpd.conf -l debug -p #带有debug模式的启动

 

方法2

使用systemctl start gobgpd

 

3. 配置方式

方法1 命令行配置

配置文件支持多种格式 toml/yaml/json/conf

下面两个链接分别是GOBGP官网中对于命令行的说明

https://github.com/osrg/gobgp/blob/master/docs/sources/cli-command-syntax.md

https://github.com/osrg/gobgp/blob/master/docs/sources/policy.md

代码gobgp-master/docs/sources有所有命令行方式配置gobgp的介绍,如下图(图1)所示

图1 源码命令行文件说明

下面以conf文件为例,看一下GOBGP命令行的使用方式

在gobgpd.conf进行如下配置

创建BGP进程/配置router-id/创建邻居,配置如下:

 

查看BGP邻居,命令如下:

查看BGP邻居表,命令如下:

方法2 通过GRPC配置

  如下链接为python语言使用gobgp的GRPC的方式

  https://www.jianshu.com/p/fdc990ff5ea3

无论用什么语言最终都会调用GOBGP中GRPC的接口,如下图所示:

 

4. 支持的功能

GOBGP功能列表

解释说明

Route Server

路由服务器,开启BGP的被动模式,只被动等待BGP邻居建立

Route Reflect

路由反射器

EVPN

以太网虚拟专用网络

Graceful restart

优雅重启/平滑重启

Policy

路由策略

BMP

BGP监控协议

RPKI

使用私钥和公钥对BGP中的路由进行数字加密和签名

Dynamic neighbors

动态邻居建立

AddPath

多路由发布

MRT

MRT是一种存储格式,MRT格式可用于导出路由协议消息、状态更改和路由信息库内容

 

5. 源码结构说明

源代码的目录结构如下

每个目录的作用如下:

 

6. Gobgp与Quagga/FRR集成工作

 GoBGP 仅支持 BGP 这一种路由协议,但是它可以和 Zebra 集成,通过 API 的方式与 Quagga/FRR 协同工作,以支持多种路由协议。

 

文章来自个人专栏
网络与CDN
3 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
1
0