基于多核处理器系统的局域网流量监控平台-罗芥

上传人:第*** 文档编号:52217129 上传时间:2018-08-19 格式:PPT 页数:29 大小:1.57MB
返回 下载 相关 举报
基于多核处理器系统的局域网流量监控平台-罗芥_第1页
第1页 / 共29页
基于多核处理器系统的局域网流量监控平台-罗芥_第2页
第2页 / 共29页
基于多核处理器系统的局域网流量监控平台-罗芥_第3页
第3页 / 共29页
基于多核处理器系统的局域网流量监控平台-罗芥_第4页
第4页 / 共29页
基于多核处理器系统的局域网流量监控平台-罗芥_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《基于多核处理器系统的局域网流量监控平台-罗芥》由会员分享,可在线阅读,更多相关《基于多核处理器系统的局域网流量监控平台-罗芥(29页珍藏版)》请在金锄头文库上搜索。

1、基于多核处理器系统的局域网 流量监控平台1110349068罗芥主要内容背景 多核处理器转发性能的提高 局域网流量统计统计 网页监控平台的建立 局域网流量分析及吞吐量测试 总结Introduction随着网络流量与应用的日益增大与复杂,网络流量监控 变得越发的困难与重要。传统的方式通过监听端口号对 应用进行分类,伴随着许多使用动态端口和伪装在周知 端口下的应用的出现,网络流量识别的比例大大降低。 而基于应用层净荷特征字段的分析与分类能够监听端口 的缺陷,更好地管理网络流量。 基于Linux操作系统的防火墙体系netfilter/iptables及其 扩展模块L7-filter,对局域网中流量进

2、行应用层的分类,并提高其在多核操作系统的效率与吞吐量。对每个主机 的流量分类信息进行处理,在网页上建立监控平台便于 网络管理和用户对本机应用的监控,使局域网健康地运 行。背景理解和分析网络流量特征是网络设计、发展的基础。随 着因特网的迅猛发展,网络用户与流量不断增加,网络 应用数量成倍增加,人们的生活几乎到了离不开网络的 程度。这使得网络成了一个数据、流媒体大融合的平台 ,同时新的网络应用、协议的不断增加,使得网络中的 流量变得越发的复杂,分析与监控也变得格外的困难。 但也正是因为网络的地位越来越重要,对网络中流量分 类监控也越来越有必要。对流量进行分类有助于分析网 络中应用的类型和未知流量所

3、占的比例,因此将成为网 络管理与网络安全的基石,也成为越来越多人研究的热 点。背景流量分类是网络流量监控与处理的基础。传统的分类方 法按端口信息进行分类,一个应用对应一个端口。例如 ,源端口或目的端口为80的TCP流可以被认为是HTTP应用。由于这种方法的简单且效率高,被广泛适用于工业 标准中。也是由于在以前网络的应用并不是很多,更重 要的是当时的应用没有什么动机入侵其他应用的端口。 但是随着因特网的发展、网络应用数量的增加,越来越 多的应用使用动态端口、非标准的端口或者伪装在其他 应用的端口下。背景文献1显示现今不足70%的网络流量能够被基于端口分类。基于端口分类有如下缺点:一是会被伪装在其

4、他周知端口下 或者使用没有注册的端口号的应用所逃避2,如P2P应用为 了逃避防火墙的捕捉使用不固定的端口号,而网络中P2P应 用所产生的流量已经达到了50%70%的程度。二是一些端口上的流量是混合了多种应用,并不能被单一地归为某一种 应用。如80端口除了HTTP应用外还可能有Email,VoIP等应用。三是由于基于端口的分类只检测应用的端口号,一些 应用如SSH等能通过隧道技术把所有应用所产生的流量都归为自身的流量。由于基于端口的分类有如上的缺陷,使得网 络的流量识别比例大大的下降。因此采用一种新的方法对网 络流量进行分类变得十分必要。背景随着网络应用的增多,网络用户的增加,网络中的流量 必然

5、迅速膨胀。因此为了观察网络流量的特征,对网络 应用进行研究,对网络流量进行更进一步的研究。或者 为了监督网络中用户应用的使用状况,控制网络中用户 对应用的使用,比如减少P2P应用的使用,提高网络中其他用户的使用体验。或者是为了,用户观察自己使用的 应用情况,关闭一些自己并不想打开的应用但是该应用 偷偷在后台运行,也有助于用户提高自己对网络的使用 体验,提高上网速度。研究目标和意义针对基于端口的分类不能很好地解决现今的网络状况, 采用对应用层净荷的特殊字段进行匹配的方法能够克服 基于端口分类的缺陷,很好的分析网络流量3。基于应用 层净荷进行分类的方法首先持续跟踪连续的数据包,再 对应用层的净荷对

6、应签名(signature)进行匹配,一旦匹配成功被追踪的数据流就打上该样式对应的应用的标 签。如果数据包没有匹配到就标记为未知(unknown)。这种基于应用层净荷的分类方法能够更准确地匹配网 络中的流量。研究目标和意义根据基于应用层净荷的分类方法的具体应用差别并不大 ,本设计中使用基于Linux防火墙iptables的扩展模块L7 -filter进行应用的流量统计。并且在原有版本的基础上,对原来的协议特别是针对中国用户比较常用的应用的准 确性进行测试。对不能匹配到或者匹配错误现今网络流 量的协议进行修改,并对一些比较常用的网络工具但是 原来版本中没有包含的协议进行添加。是L7-filter

7、的匹配更加的准确,并贴合中国用户的使用。然后再把修改后 的L7-filter的规则添加在iptables防火墙上,对局域网中每一用户进行应用流量的统计。根据记录的流量对每一 用户建立一个页面,可以观察访问用户自己的每个应用 的流量状况。研究目标和意义本设计的主要意义是使用了基于应用层净荷的流量分类 方式,对局域网的流量进行了应用层的分类,并在网页 平台上统计出每个应用的流量图,对局域网中的流量情 况作了简单分析。不仅是有助于局域网中的用户管理自 己的应用,而且对今后对网络流量的研究提供了一个很 好的平台。研究思路主要分成三大部分。首先在一台服务器上搭建起统计平 台,安装上所需的模块如:brct

8、l(网桥控制模块)、L7- filter等。当统计平台可以正常工作后,在Linux防火墙上 添加L7-filter规则,对这些应用的样式文件进行测试看是否能够正常工作。找出不能正确匹配的应用,对其重复 地进行数据包捕捉,根据所抓的数据包应用层净荷的特 征字段修改出新的正则表达。对一些比较常用的但是没 有被包含到L7-filter中的应用也进行流量的捕捉,根据应用层净荷写出正则表达式。对修改或新加的应用进行测 试、修改,使其能达到比较好的准确性。对应用的添加 、修改完成后,在iptables上对局域网中每个主机添加 L7-filter的规则,对应用的流量进行统计。研究思路然后是对主机应用流量的统

9、计信息行进处理,建立一个 网页监控的平台。在服务器上安装apache、MRTG等软 件,通过脚本程序对iptables上的流量统计进行处理,修 改MRTG的配置文件使其画出每个主机上的应用的流量状况,最终在网页平台上可以对应用的流量进行监控。 最后对iptables上统计到的每个主机应用的流量进行分析。在对局域网流量统计一段时间后,对应用的统计流量 进行一些分析,得出一些局域网使用应用的一些特点。对多核CPU操作系统转发性能的提高局域网网络环境介绍本次设计的网络环境为一个192.168.8.0/24的局域网,局域网通过交换机连到一个透明的网桥上,再通过网桥连到路由 器再连到外网。网桥使用一个安

10、装了Linux操作系统的服务器来充当。在实验中网桥起到转发的作用,本设计中在网桥 上对局域网的流量进行收集、分类。后面所有的操作也都只 在网桥的Linux系统上进行。本次设计研究的对象为局域网中流向网桥的数据流和通过网 关进入局域网的数据流。最终希望能够对这些捕获到的数据 流进行分类,并供局域网的管理员和局域网中的用户观察自 己主机的应用所产生的流量情况,合理地控制流量共享带宽 ,和可以及时地排查网络中产生拥塞的原因,有效地管理网 络流量。 实验网络环境网桥的搭建网桥是一个二层设备,通过MAC地址与端口的对应关系 来转发数据包。Brctl4是一个比较优秀的配置网桥的工具,它的源代码和配置方法极

11、其简单,本设计中使用 brctl来设计网桥。根据文献5中所讲首先下载并安装 bridge-utils。然后使用的脚本(见论文)开启网桥 通过这个脚本创建了一个名叫br0的网桥,并将网卡eth4 和eth5加入网桥中,再打开网卡和网桥br0,局域网中的 数据包就可以通过网卡eth4和eth5进行转发了。对多核操作系统转发数据包性能的改进多核CPU中断亲和性由于局域网中主机数量较多,网桥转发承受的负载较大,有 必要根据网桥的多核操作系统进行转发性能的提升。网桥由 于需要转发大量的数据流,时时刻刻都在进行着数据的转发 ,必然会导致中断的频繁发生,因此会消耗大量的CPU资源 。所谓中断就是,网卡都需要

12、和 CPU 有某种形式的通信以 便 CPU 及时知道发生了什么事情,这样 CPU 可能就会放下 手中的事情去处理应急事件,网卡等硬件设备主动打扰 CPU 的现象就可称为硬件中断。而在多核 CPU 条件下如果有办 法把大量硬件中断分配给不同的 CPU处理就能能很好的平衡性能。对多核CPU操作系统转发性能的提高在计算机里,中断是一种电信号,由硬件产生,并直接 送到中断控制器上,然后再由中断控制器向 CPU 发送信 号,CPU 检测到该信号后,就中断当前的工作转而去处理中断。然后,处理器会通知操作系统已经产生中断, 这样操作系统就会对这个中断进行适当的处理。现在来 看一下中 断控制器,常见的中断控制

13、器有两种:可编程 中断控制器 8259A 和高级可编程中断控制器(APIC)。对多核操作系统转发数据包性能的改进传统的 8259A 只适合单 CPU 的情况,现在都是多 CPU 多核的 SMP 体系,所以为了充分利用 SMP 体系结构、 把中断传递给系统上的每个 CPU 以便更好实现并行和提 高性能,Intel 引入了高级可编程中断控制器(APIC)。 光有高级可编程中断控制器的硬件支持还不够,Linux 内核还必须能利用到这些硬件特质,所以只有 kernel 2.4 以后的版本才支持把不同的硬件中断请求(IRQs)分配 到特定的 CPU 上,这个绑定技术被称为 SMP IRQ Affinit

14、y。对多核操作系统转发数据包性能的改进本次设计中网桥操作系统为Linux 2.6.27.50,CPU为16核。网桥工 作在转发模式下,网卡eth4为发端,eth5为收端。将irqbalance 服 务关闭,手动调整网卡的中断至多个核心。从/etc/interrupts可以看 到,每个网卡有一个主控中断,另外还有8个收中断和8个发中断, 并工作于PCI-MSI-edge模式下。 文献67中提出了一种可以通过改变smp_affinity的值来设置中断 到某个CPU上。如命令“echo 1 /proc/irq/90/smp_affinity”就是 把中断号为90的中断绑定到CPU0上。而具体绑定到哪

15、个CPU是由写 入smp_affinity中的数值决定的,如上面的“1”。这里的“1”实际上 是个二进制的数“00000001”它代表了CPU0,而如果写入的数值为 “2”它的二进制为“00000010”则代表了CPU1。各个 CPU 用二进制 和十六进制表示就是像表2-1中所示:表2-1 中断亲和分配到CPU的方式Linux系统中有自动调节中断亲和的服务irqbalance8,它的主要功能 是可以合理的调配使用各个CPU核心,特别是对于目前主流多核心 的CPU,简单的说就是能够把压力均匀的分配到各个CPU核心上, 对提升性能有很大的帮助。但是使用irqbalance服务时,系统由于 分配机制

16、的关系经常将多个中断分配到同一个CPU上。在网桥上如 果使用irqbalance的服务,系统会将多个网卡收发中断分配到同一 个CPU上,而有的CPU则会处于空闲状态,因此会降低网桥的转发性能,降低吞吐量。对多核操作系统转发数据包性能的改进可以根据上表中的十六进制值写入指定中断的 smp_affinity来将该中断绑定到固定的CPU。如果想将 中断同时绑定到CPU0和CPU1的话只要写入数值5就可以 了,命令为“echo 5 /proc/irq/90/smp_affinity”。而命 令“echo ffffffff /proc/irq/90/smp_affinity”就可以将 中断分配到所有可用的CPU上了。在本次设计中,可以将所有由于转发数据包而产生的大量中断分配到所有 CPU上来增加转发的吞吐量,使每个CPU的负载均衡。 在网络非常重的情况下,在往桥上把不同的网卡 IRQ 均 衡绑定到不同的 CPU 上将会减轻某个 CPU 的负担,提 高多个 CPU 整体处理中断的能力。修改中断亲

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 外语文库 > 英语学习

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号