首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Flexiwan 架构及功能说明

Flexiwan 架构及功能说明

作者头像
dpdk-vpp源码解读
发布2023-06-23 10:41:00
发布2023-06-23 10:41:00
2.7K0
举报
文章被收录于专栏:DPDK VPP源码分析DPDK VPP源码分析

本文来学习一下flexiwan产品的架构及特性模块。

本文内容翻译于flexiwan产品文档,感兴趣的可以直接查阅文档链接 https://docs.flexiwan.com/overview/feature-desc.html 开源项目地址:https://gitlab.com/flexiwangroup

flexiwan产品架构图

flexiWAN 包括基于软件的边缘设备 flexiEdge 和中央管理系统 flexiManage。下图显示了使用安全 API 连接到 flexiManage 的 flexiEdge 设备。flexiManage 提供 flexiEdge 设备的管理和配置以及统计收集。通过 flexiManage,网络管理员可以查看和管理所有 flexiEdge 设备。

FlexiEdge

FlexiEdge 设备包括三个关键组件:

  • 路由器基础设施 - FD.io 矢量数据包处理器 (VPP) 的修改版本 - https://gitlab.com/flexiwangroup/flexiroutervpp
  • 路由控制平面 - (FRR) - https://frrouting.org/
  • flexiWAN 代理 - 通过安全 API 将 flexiEdge 与 flexiManage 系统代理连接起来的软件模块。

FlexiAgent

flexiWAN 代理使用双向安全网络套接字与flexiManage管理模块建立连接通道,可以进行网络配置和数据统计。flexiWAN 代理支持以下功能:

  • 获取简化的 JSON API 命令
  • 将 API 分离并转换为 Linux 和路由器中提供的内部命令
  • 键值配置存储
  • 编排各种元素之间的执行顺序
  • 维护配置顺序
  • 重启后恢复上次系统状态和配置
  • 事务配置处理和失败回滚
  • 监控组件并在失败时重新启动它们
  • 提供整个配置的JSON结构
  • 提供各种用于故障排除的 CLI 命令

FlexiManage

FlexiManage 在可扩展的网络服务器上运行,提供网络管理。通过 FlexiManage网络管理员可以管理FlexiEdge设备和网络 FlexiManage 系统代理负责与 FlexiEdge 设备进行通信,并充当 Web 服务器与设备之间的通信通道。FlexiWAN 分析系统从 FlexiEdge 设备收集统计数据,并向网络管理员提供网络监控状态。

下面介绍一下Flexiwan产品的一些功能实现

LTE模组
LTE 接口是不支持被 DPDK 接管的,因此特殊的连接性。LTE 设备由 Linux 系统拥有和管理的,我们使用 tap 接口连接到 VPP 以执行路由和服务。下图显示了网络连接的草图。进出 LTE 的流量在 Linux系统 和 VPP 之间使用tap接口进行网络传输,送到内核tap-linux接口的网络流程,通过默认路由从WWAN0进行NAT转换后送到公网。这样,LTE 接口和任何其他 DPDK 接口都支持所有 FlexiWAN 功能。
WI-FI模块
与 LTE 类似,WiFi 设备由 Linux 拥有和处理,并使用 tap 接口连接到 VPP。WiFi 接口通过网桥连接到 Linux tap。

NAT穿越

NAT 穿越是在流量通过 NAT 设备时创建隧道的能力。

NAT 穿越支持:使用 STUN 学习公共 IP 和端口(默认);当一侧位于对称 NAT 或 CGNAT 后面时调整公共 IP 和端口;1:1 NAT(如DMZ或AWS弹性IP);在接入设备上使用端口转发(针对VxLAN端口4789)

即使 flexiEdge 设备位于接入设备和 NAT 之后,STUN 模式也允许创建隧道。在创建 VxLAN 隧道时,每个 flexiEdge 设备都会使用 STUN 打开一个 NAT 针孔,通过访问路由器到达另一个设备,并学习公共 IP 和端口。隧道是使用学习到的 IP 和端口创建的。

Vxlan隧道支持nat穿越目前vpp应该是不支持的,可以借鉴开源软件如何在vpp中实现的。

基于应用程序的路径选择策略

路径选择策略在 flexiWAN 中启用基于应用程序的路由。通过路径选择及其策略,用户可以决定特定流量通过哪个 WAN 接口进行路由。它还带来了负载平衡、冗余、流量差异化和应用程序阻塞。

此功能是借鉴了vpp abf策略路由模块实现,并在其基础上增加了智能选路的功能,产品化实现比较完善,很有参考价值。 https://gitlab.com/flexiwangroup/flexiroutervpp/-/tree/flexiwan-21.01/src/plugins/fwabf

基于应用程序的服务质量 (QoS) 策略(HQOS功能)

QoS 策略可对特定类型的流量进行优先排序,并确保实时或重要应用程序继续运行,而不会被优先级较低的应用程序阻塞。每个应用程序都根据其服务类别和优先级映射到 5 个队列之一。可以使用 QoS 策略设置每个队列的总接口带宽和百分比FflexiWAN 支持每个FflexiEdge 设备的全局 QoS 策略或每个接口的不同策略。

vpp 21.01版本理论上已经不再支持HQOS功能,Flexiwan使用dpdk hqos模块重新基于vpp实现了hqos功能。

另外Flexiwan已经支持pppoe client,曾经有过调研实现了pppoe正常的拨号,但并未调试成功。Flexiwan是基于vpp+FRR实现了一整套sdwan产品化解决方案,完善度比较高。很多功能实现都有借鉴意义。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DPDK VPP源码分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • FlexiEdge
    • FlexiAgent
      • LTE模组
      • LTE 接口是不支持被 DPDK 接管的,因此特殊的连接性。LTE 设备由 Linux 系统拥有和管理的,我们使用 tap 接口连接到 VPP 以执行路由和服务。下图显示了网络连接的草图。进出 LTE 的流量在 Linux系统 和 VPP 之间使用tap接口进行网络传输,送到内核tap-linux接口的网络流程,通过默认路由从WWAN0进行NAT转换后送到公网。这样,LTE 接口和任何其他 DPDK 接口都支持所有 FlexiWAN 功能。
      • WI-FI模块
      • 与 LTE 类似,WiFi 设备由 Linux 拥有和处理,并使用 tap 接口连接到 VPP。WiFi 接口通过网桥连接到 Linux tap。
    • NAT穿越
    • NAT 穿越是在流量通过 NAT 设备时创建隧道的能力。
    • 基于应用程序的路径选择策略
    • 基于应用程序的服务质量 (QoS) 策略(HQOS功能)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档