CIA网卡中支持零拷贝的高效软硬件交互机制的研究与实现

CIA网卡中支持零拷贝的高效软硬件交互机制的研究与实现

论文摘要

在网络规模日益庞大的今天,报文捕获和分析技术正得到广泛的应用。通过对捕获的数据包进行分析,可以实时了解网络的使用状况,分析网络运行的瓶颈,发现网络数据包中携带的非法内容。传统的报文捕获系统基于通用性考虑,会花费大量的资源用于中断开销、内存拷贝开销、系统调用开销和协议处理开销。为提高捕获报文的性能,目前报文捕获系统广泛采用零拷贝技术。采用零拷贝技术的报文捕获系统实现了零系统调用、零内存拷贝,同时避开了复杂的内核协议处理,大大提高了报文捕获系统的性能。但是,零拷贝报文捕获系统没有考虑减少中断开销。因此,减少中断开销,进一步提高零拷贝报文捕获系统的性能是本文研究的目的。中断开销涉及到网络适配器和主机内存数据交换的方式和Linux系统对网络适配器的中断处理过程。本文的主要工作和创新点包括:1.分析了高速网络适配器与主机内存数据交换的方式,即采用DMA的链式传输和命令队列传输相结合的方式,这种方式需要在主机内存和网络适配器的硬件存储空间设置描述符缓冲区;2.分析了网络适配器获取描述符的方式,即基于驱动的方式和基于DMA引擎的方式;3.建立了主机内存和网络适配器硬件描述符缓冲区模型,量化分析了影响缓冲区大小的各个参数的关系,对CIA网卡项目的设计提供理论指导;4.分析了Linux系统对网络适配器中断的处理过程,分析了中断驱动和轮询驱动机制的优缺点,提出采用半轮询驱动机制,来减少中断开销。同时,在网络适配器硬件采用中断合并技术,减少中断次数。5.为减少Linux系统对网络适配器的中断处理时间,提出采用缓冲区池技术,在用户空间预先分配一定大小的数据缓冲区,避免了每次中断处理都需要向系统申请缓冲区,同时也避免了报文从内核空间到用户空间的一次不必要的拷贝过程,实现了所谓的零拷贝技术。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • §1.1 课题背景
  • 1.1.1 报文捕获技术在网络安全领域的应用
  • 1.1.2 零拷贝报文捕获系统
  • 1.1.3 支持零拷贝的高效软硬件交互机制
  • §1.2 网卡与主机软硬件交互机制的相关研究
  • 1.2.1 网卡与主机数据交换方式
  • 1.2.2 Linux系统对网卡中断处理的优化
  • §1.3 项目背景和研究内容
  • §1.4 论文的组织
  • §1.5 课题的研究成果
  • 第二章 高速网卡与主机通信的技术
  • §2.1 网卡的整体结构
  • §2.2 高速网卡与主机的数据交换机制
  • 2.2.1 DMA的链式传输方式
  • 2.2.2 DMA的命令队列传输方式
  • 2.2.3 基于描述符的DMA通信机制
  • §2.3 网卡硬件描述符的获取方式
  • 2.3.1 基于主机的描述符获取方式
  • 2.3.2 基于DMA引擎的描述符获取方式
  • §2.4 Linux对高速网卡中断的处理
  • 2.4.1 Linux对网卡中断的处理过程
  • 2.4.2 NAPI技术
  • 2.4.3 NAPI在SMP上的性能分析
  • §2.5 数据报文的收发过程
  • §2.6 提高网卡和主机交互性能的技术
  • 2.6.1 提高总线的带宽
  • 2.6.2 减少中断开销
  • 2.6.3 减少上下文切换开销
  • §2.7 本章总结
  • 第三章 支持零拷贝的软硬件交互模型(CIA-SHIM)
  • §3.1 CIA-SHIM整体结构
  • 3.1.1 CIA-SHIM中的零拷贝技术
  • 3.1.2 CIA-SHIM工作过程
  • §3.2 CIA-SHIM模型
  • 3.2.1 CIA-SHIM时间模型
  • 3.2.2 CIA-SHIM描述符缓冲区模型
  • 3.2.3 CIA-SHIM模型结论
  • §3.3 CIA-SHIM对CIA设计的指导
  • §3.4 本章总结
  • 第四章 支持零拷贝的高效软硬件交互机制的设计与实现
  • §4.1 CIA的整体结构
  • 4.1.1 系统的工作过程
  • 4.1.2 软硬件交互机制设计目标
  • §4.2 CIA DMA引擎
  • 4.2.1 DMA引擎结构
  • 4.2.2 DMA引擎设计的关键技术
  • 4.2.3 接口定义
  • §4.3 CIA缓冲区管理
  • 4.3.1 缓冲区管理结构
  • 4.3.2 缓冲区设计的关键技术
  • 4.3.3 提供的接口
  • §4.4 CIA驱动
  • 4.4.1 驱动的整体结构
  • 4.4.2 驱动设计的关键技术
  • 4.4.3 驱动提供的接口
  • §4.5 软硬件交互的关键数据结构
  • 4.5.1 硬件关键寄存器定义
  • 4.5.2 软件关键数据结构
  • §4.6 软硬件交换的关键流程
  • §4.7 本章总结
  • 第五章 CIA高效软硬交互机制的性能测试与分析
  • §5.1 测试环境及工具
  • §5.2 测试内容
  • §5.3 测试方法
  • §5.4 测试结果及结论
  • 5.4.1 测试结果
  • 5.4.2 测试结论
  • §5.5 本章总结
  • 第六章 总结
  • 致谢
  • 参考文献
  • 作者在学期间取得的学术成果
  • 相关论文文献

    • [1].见招拆招,轻松解决网卡“软故障”[J]. 电脑知识与技术(经验技巧) 2019(08)
    • [2].告别平淡 释放网卡潜能[J]. 网络安全和信息化 2018(11)
    • [3].童言稚语[J]. 翠苑·艺 2020(05)
    • [4].让网卡同时支持DHCP和固定IP[J]. 电脑爱好者 2011(17)
    • [5].网卡唤醒 远程开机不是梦[J]. 电脑爱好者 2017(12)
    • [6].浅析网卡的VLAN功能[J]. 中国有线电视 2017(01)
    • [7].谨防细节让网卡惹祸[J]. 个人电脑 2017(11)
    • [8].静电损坏网卡,引发网速缓慢[J]. 电脑知识与技术(经验技巧) 2012(01)
    • [9].网卡使用中最常出现的故障解决方法汇总[J]. 计算机与网络 2012(22)
    • [10].基于信息隐藏的安全网卡研究[J]. 天津理工大学学报 2008(03)
    • [11].嵌入式系统扩展网卡的实现[J]. 工业控制计算机 2017(11)
    • [12].断网莫慌:简单几步让网卡恢复正常状态[J]. 网络与信息 2011(01)
    • [13].清除“拖累”网卡工作的多种因素[J]. 计算机与网络 2011(06)
    • [14].无网卡的Windows 2000 Server计算机如何正常运行网络组件[J]. 黑龙江科技信息 2009(08)
    • [15].教你如何诊断网卡故障[J]. 计算机与网络 2009(19)
    • [16].谨防细节让网卡惹祸[J]. 个人电脑 2014(04)
    • [17].多网卡绑定技术在服务器系统中的应用[J]. 计算机光盘软件与应用 2013(02)
    • [18].动静皆宜,增强网卡适应能力[J]. 电脑知识与技术(经验技巧) 2011(08)
    • [19].Windows XP网卡技巧全放送[J]. 个人电脑 2008(04)
    • [20].揭开另一面,压榨出网卡最大潜力[J]. 电脑爱好者 2008(24)
    • [21].RHEL7 Network Teaming(网卡绑定)配置与测试[J]. 电脑与电信 2014(09)
    • [22].控制网卡让网络管理更高效[J]. 个人电脑 2012(01)
    • [23].双冗余网卡高速切换的实现[J]. 中国铁路 2012(04)
    • [24].教你解决网卡“过敏”反应无法拨号问题[J]. 计算机与网络 2012(19)
    • [25].老树开新花 WindowsXP系统优化篇[J]. 电脑爱好者 2013(22)
    • [26].都是网卡惹的祸——网络时断时续故障排查[J]. 电脑知识与技术(经验技巧) 2010(11)
    • [27].修改网卡的MAC地址的两种方法[J]. 黑龙江气象 2008(S1)
    • [28].计算机网卡及网络互联的维护技巧[J]. 无线互联科技 2014(11)
    • [29].IRQ中断引起的网卡故障[J]. 网络与信息 2009(04)
    • [30].轻松解决板载网卡故障[J]. 电脑知识与技术(经验技巧) 2008(05)

    标签:;  ;  ;  ;  

    CIA网卡中支持零拷贝的高效软硬件交互机制的研究与实现
    下载Doc文档

    猜你喜欢