PanaOS

来自Panabit维基
跳到导航 跳到搜索

技术架构

Panabit的核心是基于X86架构,在FreeBSD之上做了大量修改与增强的操作系统PanaOS,其具有安全、稳定、可靠的特性。

  • 对网络协议栈作了大量的修改和优化,极大提升数据处理速度;
  • 去掉内核部分代码,使得核心更精炼;
  • 针对特定的硬件进行优化,使得在特定的硬件上运行速度更快;
  • 修改部分中断处理函数和网卡驱动,优化数据处理优先级。

整个技术层面分为数据平面(Data Plane)和控制平面(Control Plane)两个部分:

数据平面(Data Plane):负责数据包处理,同时提供同控制平面的接口。数据层面直接由硬件驱动,这样避免了传统OS(包括FreeBSD)的网络协议栈带来的开销,使得系统能够充分利用硬件的性能而更快处理数据包。数据平面运行在系统的核心层。

数据平面
PAE(Packet Analysis Engine):数据包分析引擎,负责应用层识别
ACE(Access Control Engine):访问控制引擎,负责访问控制
BME(Bandwidth Management Engine):带宽管理引擎,负责带宽限制和分配
DPI(Data Plane Interface):数据平面接口为CP提供访问数据平面的数据和相关状态信息的接口

控制平面(Control Plane):负责系统管理,包括数据平面的维护、Web管理和命令行管理接口。控制平面运行在系统的应用层。并且数据平面的运行优先级高于控制层面,这样确保数据包即时处理。

控制平面
MiniWeb:一个轻量级的Web服务器,并提供Web管理接口
CLI:命令行接口进程
DataStat:负责数据的收集和统计分析

系统特性

PanaOS是专用数据面操作系统,在DPDK之前就解决了X86吞吐问题,在打开七层功能情况下,可以顺畅工作在100G网络环境。

PanaOS解决的核心问题:

  • 驱动、内存管理等OS要素全部自行完成,专为数据面功能定制;
  • 数据面与控制面完全分离,数据面采用独立快速IP协议栈和驱动,提供超乎寻常的性能;
  • 双OS系统备份,提供超高的稳定性;
  • 路由、NAT、负载均衡、应用识别与控制等关键基础设施内置,提供一体化解决方案;
  • 为扩展第三方应用,提供App虚拟化引擎,可内嵌第三方模块。