[发明专利]基于改进型零拷贝技术的高性能内核的网络数据处理系统无效
| 申请号: | 200910199427.8 | 申请日: | 2009-11-26 |
| 公开(公告)号: | CN102082698A | 公开(公告)日: | 2011-06-01 |
| 发明(设计)人: | 潘志浩;顾鹏;叶文晨;顾蔚;文旭;卢旌平 | 申请(专利权)人: | 上海大学 |
| 主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L29/08 |
| 代理公司: | 上海科盛知识产权代理有限公司 31225 | 代理人: | 赵继明 |
| 地址: | 200444*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 改进型 拷贝 技术 性能 内核 网络 数据处理系统 | ||
技术领域
本发明涉及一种网络数据处理系统,尤其是涉及一种基于改进型零拷贝技术的高性能内核的网络数据处理系统。
背景技术
网络行为管理系统架设在互联网出口,对网内所有计算机的网络行为进行管理。它要对所有流经系统的IP数据包进行分析、统计和处理。诸如端口检测之类的传统检测方法在实际应用中有其局限性,因此在本发明的系统背景中,就有必要采用要深度包检测(DPI)技术。
深度包检测(DPI)技术是一种基于应用层的流量检测和控制技术。当IP数据包过系统时,该系统深入读取IP包应用层的内容来对协议进行识别,进而对其作出相应处理。深度包检测(DPI)技术能拦截通过端口伪装的网络入侵,克服传统识别的缺陷。
但是,如果应用深度包检测(DPI)技术,则必然会增加系统的负担。在千兆乃至万兆的网络环境里,对流经系统的所有数据包进行逐个拆包检测,工作量相当繁重。因此,如何对高速数据流进行处理是提升网络行为分析系统性能的关键点之一。
系统功能的增加相应的会带来性能上的下降,Linux本身并不是实时性很好的一个操作系统,内核进程抢占性不明显,进程调度并没有突出实施进程的绝对优先级,中断响应的可屏蔽性以及时钟精度较大都是Linux操作系统在实时应用场景下的先天瓶颈,将其应用在这种实时性要求很高的系统里面本身就有点捉襟见肘。
要提高系统对网络数据的处理性能,零拷贝以及NAPI技术是一个有效的解决办法,本发明改进了零拷贝技术的形式,并应用到网络行为管理系统中。
NAPI技术是在网络设备驱动中接收网络数据的一种新形式,传统的网络设备驱动接收网络数据一般采用中断或者轮训的方式,如采用中断方式,则每个数据包进来都会产生一次硬件中断,如果数据包都是64bytes的小包,那么中断产生的次数就会很频繁,系统会不堪负重;同时如果采用轮询方式,当在一段时间里面系统没有收到网络数据的时候,驱动也会一直轮询接收缓存,看是否有数据可以处理,在一定程度上会浪费系统性能。NAPI技术是一种在两者之间折中的办法:当设备接收到数据时先产生硬件中断,驱动程序响应该中断时首先关闭网络接口的硬件中断,将设备添加到设备轮询队列并发出网络数据包接收软中断信号,在网络接口中断屏蔽期间,网络数据包以DMA的方式传输到驱动程序预先准备好的网络数据包专用内存池的节点中,系统内核在CPU相对空闲时,会运行软中断处理程序;在软中断处理程序中,采用轮询的方式,一次将多个数据包传递到上层协议栈,直到接收缓冲区中的数据全部被读出或者达到本次轮询的数据包数目,然后再次打开硬件接收中断。
与传统的驱动程序相比,基于NAPI的驱动程序主要有以下的优点:
(1)接收到数据包后首先关闭中断,将耗时的数据包处理工作放在软中断中执行,避免出现中断活锁。
(2)当软中断处理程序的执行时间超过一个时间片,但缓冲区中仍有数据未处理时,软中断处理程序会将自身挂起等待下一次调度,避免长期占用处理器资源。
(3)关闭硬件中断期间,到达的数据包通过DMA直接放入接收缓冲,不需要CPU的参与,节省大量系统资源。
实现零拷贝技术的关键点在于两个环节:
(1)网络设备硬件与系统内核(驱动)之间的数据交互,接收网络数据包的时候,系统用DMA的方式将数据从网络设备硬件缓存传输到事先建立好DMA映射的内存区域;同样,在发送网络数据包的时候,也用DMA方式将数据包从内存传输到硬件缓存中,然后再由硬件发送出去,利用DMA方式的好处是在数据传输期间过程基本不用CPU的参与,由总线负责传输,极大减少了系统的负担。
(2)系统内核空间与用户空间之间的数据交互。利用内存映射即mmap方式将一块内存区域从内核空间映射到用户空间,即用户进程的地址空间中有一段线性地址区域是指向这块内核、用户共享的内存区域,这样用户进程就能直接读写该块内存区域,零拷贝技术可以避免内存数据在内核、用户空间的拷贝,可以提高系统性能。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于改进型零拷贝技术的高性能内核的网络数据处理系统。
本发明的目的可以通过以下技术方案来实现:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海大学,未经上海大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910199427.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于纸板包装切割机的纸板支撑装置模具
- 下一篇:压力机模具更换系统





