FRR与VPP路由和转发层面流程

2024-04-27 01:38
文章标签 流程 转发 路由 vpp 层面 frr

本文主要是介绍FRR与VPP路由和转发层面流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  首先了解一下VPP和FRR结合的架构如下图所示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7TlmGafp-1590764332456)(https://turbock79.cn/wordpress/wp-content/uploads/2020/04/vpp-frr-路由流程图.png)]

参考文档:
路由平面和转发平面分离:https://wiki.fd.io/view/VPP_Sandbox/router
FRR实现官方文档:https://github.com/FRRouting/frr/wiki/Alternate-forwarding-planes%3A-VPP

1.FRR与VPP结合中路由层面处理方式

  如上UML图所示,路由层面为步骤2,3,5,6,其由frr中zebra以及vpp中router_plugin自动完成。

  在FRR中第四步配置好frr后,通过配置协议获取多种协议的路由,按照各自协议AD值进行优先级选择,代表参数为各路由的metric值;值越小,优先级越高;然后同步到内核,然后再到VPP中,形成环路,写入VPP的fib路由表进行路由引导。

  AD(administrate distance),也就是说用来判断此路由的可信度,也表示默认的管理距离,EIGRP默认AD是90,IGRP是100,OSPF是110,RIP是120,直接连接是0,静态路由是1。AD最大值255,越小可靠性越高。通常可以通过修改AD值调整路由优选路径。AD值主要在IGP协议中采用,BGP更多采用med值,和本地优先级进行选路。

  上图简单示例重分发情况下,路由选择的情况。

2.VPP转发平面

  在VPP中,路由配置来源相对单一:

  • VPP配置端口IP;
  • VPP配置静态路由;
  • 从内核同步的动态路由。

  其中VPP处理规则是按照AD值进行处理,内核直连等优先级高于静态路由、静态路由优先级高于从内核同步获取的动态路由。即内核直连>静态>动态。有一种可能性,当VPP从内核同步过来FRR中的路由时,会根据上述AD值进行判断,解决隐形的路由冲突问题;

  如上图所示,VPP端口路由同步到内核的路由作为内核路由,第一条,其metric优先级为0最高级;第二条为linux 内核中配置的静态路由;第三条为内核从frr中同步学习到的ebgp路由,metric值为20.

这篇关于FRR与VPP路由和转发层面流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/939212

相关文章

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Go路由注册方法详解

《Go路由注册方法详解》Go语言中,http.NewServeMux()和http.HandleFunc()是两种不同的路由注册方式,前者创建独立的ServeMux实例,适合模块化和分层路由,灵活性高... 目录Go路由注册方法1. 路由注册的方式2. 路由器的独立性3. 灵活性4. 启动服务器的方式5.

springboot启动流程过程

《springboot启动流程过程》SpringBoot简化了Spring框架的使用,通过创建`SpringApplication`对象,判断应用类型并设置初始化器和监听器,在`run`方法中,读取配... 目录springboot启动流程springboot程序启动入口1.创建SpringApplicat

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装

MySQL的cpu使用率100%的问题排查流程

《MySQL的cpu使用率100%的问题排查流程》线上mysql服务器经常性出现cpu使用率100%的告警,因此本文整理一下排查该问题的常规流程,文中通过代码示例讲解的非常详细,对大家的学习或工作有一... 目录1. 确认CPU占用来源2. 实时分析mysql活动3. 分析慢查询与执行计划4. 检查索引与表

关于Gateway路由匹配规则解读

《关于Gateway路由匹配规则解读》本文详细介绍了SpringCloudGateway的路由匹配规则,包括基本概念、常用属性、实际应用以及注意事项,路由匹配规则决定了请求如何被转发到目标服务,是Ga... 目录Gateway路由匹配规则一、基本概念二、常用属性三、实际应用四、注意事项总结Gateway路由

Git提交代码详细流程及问题总结

《Git提交代码详细流程及问题总结》:本文主要介绍Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下... 目录1.git 三大分区2.Git提交、推送、拉取代码、合并分支详细流程3.问题总结4.git push

C#提取PDF表单数据的实现流程

《C#提取PDF表单数据的实现流程》PDF表单是一种常见的数据收集工具,广泛应用于调查问卷、业务合同等场景,凭借出色的跨平台兼容性和标准化特点,PDF表单在各行各业中得到了广泛应用,本文将探讨如何使用... 目录引言使用工具C# 提取多个PDF表单域的数据C# 提取特定PDF表单域的数据引言PDF表单是一

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言