当前位置:主页 > 管理论文 > 移动网络论文 >

以太网卡零拷贝通用驱动系统的设计与实现

发布时间:2017-04-10 12:09

  本文关键词:以太网卡零拷贝通用驱动系统的设计与实现,由笔耕文化传播整理发布。


【摘要】:随着互联网的快速增长,网络在给我们带来极大方便的同时,网络信息安全问题也日显突出。各种网络安全产品应运而生,其中网络数据包捕获技术成为这些网络安全产品的基本核心技术。针对某公司网络安全产品的特定需求,本论文设计并实现了一个以太网卡零拷贝通用驱动系统。论文首先介绍了网络负载均衡系统的架构与相关技术,然后分析了Linux操作系统核心网络协议栈的特点和网络数据处理的一般流程,其中主要分析了协议栈中涉及到零拷贝驱动的相关接口部分和主要数据结构。接着对Linux内核的相关技术进行了研究与介绍,包括内核模块技术和以太网卡驱动结构。之后研究了现存以太网络数据包捕获技术的现状,主要分析了现有的开源解决方案和目前已经实现的各种网络数据包捕获零拷贝技术,并阐述了其中的不足与缺陷。根据分析比较的结果,并结合在实际工作中的大多用户的需求,论文接着对通用以太网卡驱动进行了架构设计,然后详细设计并实现了一款通用以太网卡驱动,最后对通用以太网卡驱动的功能与性能进行了测试验证,同时并与传统数据包捕获方法进行了对比测试。相对于目前现有的零拷贝技术方案,本论文的成果可以提供更好的移植性和更通用的功能,包括可以动态指定零拷贝网卡和兼容Linux核心协议栈等。
【关键词】:零拷贝 内存映射 Linux内核模块 网络数据包 Linux内核协议栈 地址空间
【学位授予单位】:中国科学院大学(工程管理与信息技术学院)
【学位级别】:硕士
【学位授予年份】:2015
【分类号】:TP393.08
【目录】:
  • 摘要4-5
  • Abstract5-8
  • 第一章 绪论8-20
  • 1.1 研究背景与意义8-10
  • 1.2 国内外研究现状10-16
  • 1.2.1 以太网卡的工作模式10-11
  • 1.2.2 开源软件网络数据包捕获技术11-13
  • 1.2.3 国内外网卡零拷贝技术现状13-16
  • 1.3 本文主要研究内容16-19
  • 1.3.1 实施的技术方案16-18
  • 1.3.2 实施所需要的条件18
  • 1.3.3 存在的主要问题和解决方案18-19
  • 1.3.4 本课题的最终成果19
  • 1.4 本文的组织结构19-20
  • 第二章 相关技术介绍20-30
  • 2.1 以太网数据包的实现原理20-21
  • 2.2 以太网下的数据包捕获原理21-22
  • 2.2.1 共享以太网数据包捕获原理21
  • 2.2.2 交换以太网数据包捕获原理21-22
  • 2.3 Linux操作系统提供的数据包处理机制22-26
  • 2.3.1 Linux操作系统的数据包处理流程23-24
  • 2.3.2 Linux核心协议栈函数调用流程24-25
  • 2.3.3 Linux核心中的内存映射机制25-26
  • 2.4 数据包捕获技术在网络集群中的应用26-28
  • 2.4.1 网络负载衡技术介绍26-27
  • 2.4.2 网络负载均衡与服务器集群27-28
  • 2.4.3 零拷贝驱动与负载均衡系统28
  • 2.5 小结28-30
  • 第三章 以太网卡零拷贝通用驱动系统的设计30-46
  • 3.1 应用接口定义与要求30-33
  • 3.2 整体架构设计33-35
  • 3.3 接口函数库设计35-37
  • 3.3.1 发送数据包接口设计35-36
  • 3.3.2 接收数据包接口设计36-37
  • 3.3.3 获取状态信息接口设计37
  • 3.4 内核模块设计37-44
  • 3.4.1 用户接口交互流程设计38-41
  • 3.4.2 网卡接口设计41-42
  • 3.4.3 接收数据包流程设计42
  • 3.4.4 发送数据包流程设计42-43
  • 3.4.5 转发数据包流程设计43-44
  • 3.4.6 数据包结构设计44
  • 3.5 小结44-46
  • 第四章 以太网卡零拷贝通用驱动系统的实现46-60
  • 4.1 关键数据结构实现46-47
  • 4.2 用户空间接口函数库实现47-51
  • 4.2.1 用户空间初始化接口的实现47-49
  • 4.2.2 用户空间接收数据包接口的实现49-50
  • 4.2.3 用户空间发送数据包接口的实现50
  • 4.2.4 用户空间其他接口的实现50-51
  • 4.3 内核模块的实现51-58
  • 4.3.1 内核模块的初始化实现51-55
  • 4.3.2 内核模块接收数据包功能的实现55
  • 4.3.3 内核模块发送数据包功能的实现55-56
  • 4.3.4 内核模块其他功能的实现56-58
  • 4.4 小结58-60
  • 第五章 以太网卡零拷贝通用驱动系统的测试与分析60-76
  • 5.1 功能与性能测试60-62
  • 5.1.1 测试计划60
  • 5.1.2 测试坏境与配置60-62
  • 5.2 测试结果与分析62-75
  • 5.2.1 功能测试结果62-64
  • 5.2.2 性能测试结果64-72
  • 5.2.3 与Libpcap对比测试结果72-74
  • 5.2.4 测试结果分析74-75
  • 5.3 小结75-76
  • 第六章 结论与展望76-78
  • 6.1 结论76-77
  • 6.2 展望77-78
  • 参考文献78-80
  • 致谢80-82
  • 个人简历、在学期间发表的论文与研究成果82

【参考文献】

中国期刊全文数据库 前4条

1 刘峰;黄凯明;黎忠文;;Linux平台下基于Intel千兆网卡的零拷贝技术的研究与实现[J];福建电脑;2008年04期

2 王春光;;集中器载波路由技术及自动搜表功能的研究[J];电力系统通信;2012年08期

3 王亚;;基于PF_RING套接字的网络数据包捕获技术[J];软件导刊;2010年09期

4 夏鸿;程克非;;基于零拷贝技术的千兆网络性能优化研究[J];微计算机信息;2008年36期


  本文关键词:以太网卡零拷贝通用驱动系统的设计与实现,由笔耕文化传播整理发布。



本文编号:296677

资料下载
论文发表

本文链接:https://www.wllwen.com/guanlilunwen/ydhl/296677.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户5f9b0***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com