当前位置: 首页 > news >正文

NVIDIA DOCA 环境产品使用与体验报告

文章目录

    • 1. 概述
      • 1.1 背景
    • 2. 环境配置
      • 2.1 DOCA开发虚拟机
      • 2.2 BlueField DPU
      • 2.3 软件:
    • 3. 测试试验方案
      • 3.1. 场景概述
      • 3.2. 环境配置
    • 4. 使用体验
      • 4.1 开发环境搭建
      • 4.2 防火墙应用开发
      • 4.3 性能测试
    • 5. 问题与解决方案
      • 5.1 编译错误
      • 5.2 SSH连接问题
    • 6. 总结
      • 6.1 优点
      • 6.2 挑战与建议
    • 7. 结论
      • 7.1. 部分实验中截图

1. 概述

使用 NVIDIA 提供的 DOCA 开发虚拟机 (VM) 进行测试。该 VM 预装了 Ubuntu 操作系统,并模拟了 BlueField DPU 的核心功能。

1.1 背景

本报告旨在总结和分享在实际开发环境中使用 NVIDIA DOCA(Data Center Infrastructure-on-a-Chip Architecture)平台的完整体验。报告基于对官方文档、示例代码以及在虚拟化环境中的实践操作,全面评估了 DOCA 在硬件加速网络功能方面的易用性、性能表现和开发流程。

2. 环境配置

2.1 DOCA开发虚拟机

  • 操作系统: Ubuntu 20.04/22.04
  • IP地址: 192.168.105.1
  • 主要工具:
    • DOCA SDK
    • CMake
    • VS Code with Remote-SSH extension

2.2 BlueField DPU

  • 操作系统: Ubuntu OS
  • IP地址: 192.168.105.101
  • 硬件信息: Mellanox Technologies MT42822 BlueField-2
  • 网络接口: p0, p1

2.3 软件:

  • DOCA SDK 版本: 2.5.0+
  • 开发工具: VS Code + Remote-SSH 插件
  • 编译器: GCC
  • 依赖库: CMake, libcurl, ethtool, iperf3, hping3

3. 测试试验方案

3.1. 场景概述

在 DPU 上部署一个防火墙应用,能够基于五元组(源/目的 IP、源/目的端口、协议)执行硬件加速的流量过滤。所有流量处理在 DPU 硬件上完成,不消耗主机 CPU 资源,实现零信任安全架构中的微隔离功能。

3.2. 环境配置

  • DOCA 开发虚拟机: 192.168.105.1 (Ubuntu 20.04/22.04)
  • BlueField DPU: 192.168.105.101 (运行 Ubuntu OS)
  • 网络拓扑:
    • DPU 两个物理端口(p0, p1)分别连接两个不同的子网
    • 客户端1: 192.168.1.10 (连接 p0)
    • 客户端2: 192.168.1.11 (连接 p0)
    • 服务器: 192.168.2.100 (连接 p1)

4. 使用体验

4.1 开发环境搭建

  • DOCA SDK安装: 成功安装并验证
  • 编译工具链: CMake配置正确,能够成功编译DOCA应用
  • 远程开发: VS Code通过Remote-SSH连接DPU,实现代码编辑和调试

4.2 防火墙应用开发

  • 代码结构: 采用模块化设计,包含main.c、firewall_rules.h和firewall_rules.c
  • 编译过程: 初始编译遇到问题,经过调整CMakeLists.txt后成功编译
  • 运行效果: 防火墙规则能够正确加载,流量过滤功能正常工作

4.3 性能测试

  • CPU使用率: 在高负载下,DPU的Arm CPU使用率保持在较低水平
  • 网络性能: 流量处理达到线速性能,延迟保持在微秒级别
  • 资源消耗: 有效实现了硬件卸载,显著降低了CPU资源消耗

5. 问题与解决方案

5.1 编译错误

  • 问题描述: 初始编译时出现链接错误
  • 解决方案:
    1. 检查DOCA库路径是否正确
    2. 确认CMakeLists.txt中的find_package(doca REQUIRED)配置正确
    3. 添加target_link_libraries(doca_firewall doca_flow)

5.2 SSH连接问题

  • 问题描述: VS Code Remote-SSH连接超时
  • 解决方案:
    1. 检查网络连接稳定性
    2. 确认DPU上的SSH服务正常运行
    3. 尝试使用命令行ssh直接连接进行验证

6. 总结

6.1 优点

强大的硬件加速能力:最核心的优势在于能够将网络、安全等基础设施任务从 CPU 卸载到 DPU 硬件上,显著提升系统整体效率。
成熟的开发框架:DOCA SDK 提供了完整的库、驱动和工具链,为开发者提供了一个可靠的平台。
丰富的学习资源:官方文档详尽,参考应用代码质量高,社区支持活跃,大大降低了学习成本。

6.2 挑战与建议

学习曲线:尽管有参考代码,但对于初学者而言,理解 DOCA Flow 的编程模型(如 match, actions, monitor)仍需要一定时间。
依赖物理硬件:虽然虚拟机可以用于学习,但要充分发挥 DPU 的全部潜力,仍需真实的 BlueField DPU 硬件。
VS Code 连接问题:在尝试通过 VS Code 的 Remote-SSH 插件连接 DOCA VM 时,遇到了“Connection timed out”和“Resolover error”的错误。这表明在某些网络环境下,远程开发工具可能存在兼容性问题。建议优先使用 SSH 终端或本地编辑器进行开发。

7. 结论

整体而言,DOCA平台提供了强大的硬件加速能力,能够有效实现分布式防火墙功能。开发环境稳定,编译和部署流程清晰。通过本次实践,验证了DOCA在安全领域的核心能力,为后续的深度开发奠定了基础。

7.1. 部分实验中截图

后续因为SSH无法进入服务器,部分结果无法截图,故只有一些过程图。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/a/389903.html

相关文章:

  • C# Windows Service 中添加 log4net 的详细教程
  • 用 pymupdf4llm 打造 PDF → Markdown 的高效 LLM 数据管道(附实战对比)
  • 机械设备钢材建材网站 网站模版
  • Mysql8 SQLSTATE[42000] sql_mode=only_full_group_by错误解决办法
  • 【第五章:计算机视觉-项目实战之图像分类实战】2.图像分类实战-(3)批量归一化(Batch Normalization)和权重初始化的重要性
  • SQL Server 多用户读写随机超时?从问题分析到根治方案
  • 2.css的继承性,层叠性,优先级
  • OpenStack 学习笔记(四):编排管理与存储管理实践(上)
  • list_for_each_entry 详解
  • Perplexity AI Agent原生浏览器Comet
  • 颈椎按摩器方案开发,智能按摩仪方案设计
  • Sui 学习日志 1
  • 六、Java—IO流
  • 数据库 事务隔离级别 深入理解数据库事务隔离级别:脏读、不可重复读、幻读与串行化
  • 从“纸面”到“人本”:劳务合同管理的数字化蜕变
  • ARM架构——学习时钟7.2
  • VS Code 调试配置详解:占位符与语言差异
  • 锁 相关知识总结
  • caffeine 发生缓存内容被修改以及解决方案-深度克隆
  • rust编写web服务06-JWT身份认证
  • 《怪猎:荒野》制作人:PC平台对日本游戏非常重要
  • 大模型训练框架(二)FSDP
  • MySQL——系统数据库、常用工具
  • 蓝桥杯题目讲解_Python(转载)
  • 性能测试监控实践(九):性能测试时,监控docker微服务资源利用率和分析
  • TCP,UDP和ICMP
  • Python语法学习篇(七)【py3】
  • 网页控制鼠标 查看鼠标位置
  • PIT 定时器
  • 【题解】 [蓝桥杯 2019 省 B] 特别数的和