
本文来学习一下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 设备包括三个关键组件:
flexiWAN 代理使用双向安全网络套接字与flexiManage管理模块建立连接通道,可以进行网络配置和数据统计。flexiWAN 代理支持以下功能:
FlexiManage
FlexiManage 在可扩展的网络服务器上运行,提供网络管理。通过 FlexiManage网络管理员可以管理FlexiEdge设备和网络 FlexiManage 系统代理负责与 FlexiEdge 设备进行通信,并充当 Web 服务器与设备之间的通信通道。FlexiWAN 分析系统从 FlexiEdge 设备收集统计数据,并向网络管理员提供网络监控状态。
下面介绍一下Flexiwan产品的一些功能实现


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 策略可对特定类型的流量进行优先排序,并确保实时或重要应用程序继续运行,而不会被优先级较低的应用程序阻塞。每个应用程序都根据其服务类别和优先级映射到 5 个队列之一。可以使用 QoS 策略设置每个队列的总接口带宽和百分比FflexiWAN 支持每个FflexiEdge 设备的全局 QoS 策略或每个接口的不同策略。
vpp 21.01版本理论上已经不再支持HQOS功能,Flexiwan使用dpdk hqos模块重新基于vpp实现了hqos功能。
另外Flexiwan已经支持pppoe client,曾经有过调研实现了pppoe正常的拨号,但并未调试成功。Flexiwan是基于vpp+FRR实现了一整套sdwan产品化解决方案,完善度比较高。很多功能实现都有借鉴意义。
本文分享自 DPDK VPP源码分析 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!