深度解析AsterNOS基于Geo-Engine的流量识别与调度
关注星融元

随着网络带宽向 100G 演进及云服务的普及,企业网络边缘正面临新挑战:传统的基于 IP 五元组(源 IP、目的 IP、端口、协议)的路由策略在处理各类企业 SaaS 应用和 CDN 内容时显得力不从心,具体来说网络工程师经常面临以下痛点:
- IP 动态化: 服务器 IP 频繁变化,静态 IP 列表维护极其困难。
- IP 复用: 单个 CDN IP 可能承载多个不同服务,仅靠 IP 无法实现精确识别。
- 性能瓶颈: 在高吞吐环境下,复杂的匹配规则会导致严重的转发性能下降。
应对以上挑战,AsterNOS-VPP(什么是AsterNOS-VPP?) 通过 GeoSite/GeoIP 技术提供了一个快捷准确的流量调度方案:摒弃臃肿的 DPI 插件,通过仅解析报文头实现了线速转发,并完美适配 TLS 1.3 时代的加密环境,将流量控制权交还给网络工程师。
AsterNOS Geo-Engine 工作逻辑
AsterNOS 将网络策略的重心从传统的“地址”转向了身份(Identity)与来源(Origin),其工作流遵循简洁的“三步法”:
1、识别 利用 Geo-Engine 实时分类流量,无需手动维护 IP 列表
- GeoIP: 按区域(如 CN, US)识别
- GeoSite: 按应用(如 YouTube, 游戏,办公应用)识别
2、定义: 关联标准功能模块确定处理动作,如策略路由(PBR)、安全策略(ACL的允许或拒绝)或带宽限速(QoS策略)
3、执行: 将策略绑定至物理或逻辑接口
为什么不使用传统 DPI?
AsterNOS 选择了 GeoSite 路径而非传统的 L7 DPI(深层数据包检测),主要基于以下技术维度的考量:
| 维度 | 传统DPI | AsterNOS-VPP |
|---|---|---|
| 检测深度 | L7 载荷 | L4-L7 报文头/握手信息 |
| 性能影响 | 高,需要流重组和正则匹配,CPU 负担重 | 极小,仅解析报文头部特征,维持线速转发性能 |
| 加密流量 | 差,面对 TLS 1.3 的全加密载荷,DPI 基本失效 | 优,基于 SNI 和 DNS 关联,原生兼容加密流量 |
| 规则透明 | 黑盒,用户不可见且不可修改,依赖厂商维护 | 白盒,兼容开源 .dat 格式,完全自定义且可从 GitHub 社区自行获取更新 |
技术实现:基于 VPP 的多协议域名提取机制
为了在数据面线速识别流量,AsterNOS 开发了 geosite_plugin.so 插件,将其作为 geosite_input_node 集成在 VPP 节点中。
域名提取
与深层数据包检测(DPI)不同,该技术专注于不同协议的报文头特征字段的提取:
- HTTPS/TLS: 在 TLS 握手阶段解析
Client Hello包,提取SNI(Server Name Indication) 字段
- HTTP/1.1: 解析请求头中的
Host字段
- DNS: 当设备作为 DNS 代理或网关时,直接从
Query Name字段提取域名
- SOCKS5: 提取
ATYP为域名类型时的DST.ADDR
匹配算法和数据结构
提取域名和IP地址特征后,系统需将其与规则数据库(.dat文件)进行比对,借助高效的数据结构确保线速的转发性能。
- IP 匹配: 通过 PATRICIA Trie 管理IP掩码规则,支持最长前缀匹配(LPM)。即使单个IP匹配多条规则(如同时属于Google和US),系统仍能根据优先级返回准确结果。
Patricia Trie(帕特里夏树)是一种专门处理字符串匹配的高效索引结构。它通过合并只有单一子节点的路径来“压缩”空间,像一棵去掉了冗余分叉的树。在网络路由中,它能以极速实现最长前缀匹配,即从成千上万条路由规则中瞬间锁定最精确的那一条 。
- 域名后缀匹配: 支持根域名匹配,通过 Trie 树结构加速检索
业务流处理
数据包进入VPP的 ip4/6 输入节点后的处理流程如下:
- 域名提取:数据包进入
geosite_input节点,根据协议类型提取域名。 - 会话查询:系统查询现有会话表。若存在匹配结果则直接复用,减少重复解析开销。
- 规则匹配:
- 域名特征匹配:对于携带域名信息的数据包(如TLS客户端初始化、HTTP主机字段、DNS查询),系统优先提取域名特征并与GeoSite规则库进行匹配,这是最精确的识别方式。
- IP匹配:对于域名未匹配任何规则的数据包,系统利用DNS解析结果匹配配置的GeoIP规则。
- 对于无法提取域名数据包,系统直接使用IP地址进行匹配。
执行动作
根据匹配结果,系统执行相应动作,例如允许、拒绝或配置策略路由的下一跳。
典型应用场景
1.应用感知路由(PBR)
背景: 企业拥有高速但昂贵的企业专线和较为廉价的 ISP 线路,传统方案下需手动收集海量 IP 段,让重要的办公业务应用如 ZOOM,Office 365 走企业专线确保网络性能,其他一般占用大带宽的非关键应用走 ISP 普通线路。但是,一旦应用更新了 IP,策略便会马上失效
AsterNOS方案: 编写基于域名的策略路由,无论应用如何改变 IP,只要 SNI(服务器名称指示) 匹配 geosite:zoom,流量自动导向企业专线
伪代码示例:
pbr-map SMART_ROUTING
match geosite ZOOM set nexthop <Premium_Gateway_IP>
match geosite MICROSOFT set nexthop <Premium_Gateway_IP>
2.安全合规与地理围栏
- 背景: 企业禁止特定国家 IP 访问内部服务器,或限制员工办公时间访问社交媒体;传统方案是在防火墙产品内订阅 GeoIP 数据库(可能存在高昂的订阅费用)或者手动添加基于IP的策略规则,以上都会影响防火墙的性能
- AsterNOS方案: 利用 GeoIP 和 GeoSite 的分类能力,在 VPP 转发面直接阻断违规流量,不消耗下游处理资源
- 伪代码示例:
access-list SECURE_ACL
# Deny all media websites (based on domain classification)
rule 10 deny geosite CATEGORY-MEDIA
# Block US IPs (based on geo-location)
rule 20 deny geoip US
3.精准的应用 QoS 流量整形
- 背景: 办公工具应用(如 ZOOM 会议)与带宽大户(Youtube)共享同一加密通道(HTTPS/443),传统基于端口的 QoS 无法区分
- AsterNOS方案: 利用有状态的应用感知 QoS。在初始握手阶段识别特定应用,并创建动态会话仅对目标流进行限速
- 伪代码示例:
# Define the throttle policy
traffic behavior LIMIT_STREAMING
car sr-tcm cir 100 cbs 6400
# Create Stateful ACL
access-list REFLECT_L3 APP_QOS_POLICY
rule 10 geosite YOUTUBE traffic-behavior LIMIT_STREAMING
硬件平台支持
AsterNOS-VPP 目前主要支持运行在星融元ET系列智能业务处理平台之上。
- 设备尺寸:220 x 310 x 44 mm
- 业务接口:4 x 10GE (SFP+), 4 x 2.5GE (RJ45), 8 x 1GE (RJ45);其中4个 2.5G 和 1G 接口可选 POE++供电,总功率预算为 150W
- 风扇模块 x2 ,电源模块 x1
- 满负载功耗 60w,不含 PoE
- 扩展支持 5G/LTE、WiFi-6E/7、BlueTooth 5.3、GNSS、TPM等
- 设备尺寸:440 x 470 x 44 mm
- 业务接口:2或4 x 10GE (SFP+), 2或4 x 100GE (QSFP28)
- 风扇模块3+1 ,电源模块1+1,2个M.2插槽, 可选PTP模块
- 满负载功耗100w或200w































































