IP流量数据分析 »

IP流量监控工作站的方法

基于上面对网络流量数据采集的种种讨论,下面介绍第三种方法,采用建立流量监控工作站Traf— fie Monitoring Workstation的方法o 3.1 系统组成 采用流量监控工作站的方法,首先需要满足一 定的条件,即所有到路由器的流量该工作站都能监 听到,否则会造成流量数据的不可靠。我们采用让 路由器和流量监控工作站处在同一个物理网段上来 实现这种方法,因此这必须是完完全全的第一层的 互连设备。流量监控工作站的网卡必须使用混杂 (promiscuous)模式,以便能接收到以太网上所有的 数据包。 系统主要包括数据采集和数据分析这两个部 分,还包括数据库存储等其它方面。 3.2 网络拓扑 3.2.1 路由器/网关方式 在该方式中,刷流量监控系统与路由器处于同一物 理网段,所有经过路由器侗关的数据包都会经过流 量监控工作站,而且可同时进行流量统计和访问控 制,用户需要登录才可以访问互联网,如图1所示。 I 图l 路由器/网关方式 3.2.2 侦听方式 在该方式中,流量监控系统处于侦听状态,实际 的网络数据包并不直接经过该工作站,而是直接经过 路由器侗关,这种监控系统只进行流量统计,不提供 访问控制,用户访问互联网不需要登录,如图2所示。 图2 侦听方式  3.3 实现方法刷网站流量的采集通常方法都是通过一定的捕获 机制,捕获所有经过路由器的数据包,通过拆包分析 包头的内容,获得IP包头的一些主要参数,其中最常 用的就是源IP地址、目的IP地址、数据包的总长度。 众所周知,以太网络是广播型的网络,网上的站 点共享信道,一站点发出数据,其它站点均能收到。 面目前大多数网络主机都使用以太网卡,在默认设 置下,以太网卡只接受到达本地的数据包,而过滤掉 其它数据包。但以太网卡有一个“混杂模式”选项, 可以关掉过滤功能,从而检查途经网卡的所有数据 包。通过这种捕获机制,就可以将途经路由器的数 据包全部抓获。 数据采集和数据分析是获得网络刷流量的两个重 要环节。而数据采集又是其中最重要也是最复杂 的,下面我们主要来讨论一下数据采集方法。 从网络上抓获数据主要两种方法H J:一是采用 专用的硬件,另一种是使用连接到网络中的PC和 工作站。在第二种方法中,计算机的网卡用来获得 网络中的帧,而软件完成了大量的捕获过程。想要 从网络上截获数据包,必须和网卡打交道,所以操作 系统必须提供一套捕获原语来从网卡发送和接收数 据,这些原语的目的主要是从网络上截获数据,屏蔽 与网卡的交互,并且把他们传递给调用函数。这种 方法对操作系统的依赖性很强,因此不同的操作系 统实现起来也大相径庭。内核中的数据包捕获部分 必须迅速和有效,因为它必须能够工作在流量负荷 较大的高速链路上,同时能够把丢包率控制在一定 的范围里,并且使用较少的系统资源。我们可以通 过一个捕获栈来直观了解捕获的整个实现过程,下 面是一个捕获栈的结构,如图3所示。
最底层的是网卡,用来抓获网络中传送的数据 包。在捕获过程中,网卡通常工作在混杂模式,强行
接收所有的数据包。数据包捕获驱动(Packet cap— ture driver)是捕获栈最底层的软件模块,它是工作 在内核级别的,通过与网卡进行交互来获得数据包。 它向应用程序提供了一套访问数据链路层的函数, 以便应用程序能够从网络中发送和读取。Packet, dn工作在用户级别,但它与捕获程序是分离的。它 是从驱动程序中分离出来的,向应用程序提供与系 统独立的捕获接口。Pcap或者叫libcap是应用程序 的数据包捕获部分的一个静态库【5 J,它使用由 Packet,dll提供的服务,向应用程序提供一个高层的 有力的数据包捕获接口。用户接口是捕获程序的最 高层,它负责与用户的交互并显示捕获结果。 上面的这个捕获结构从宏观上展示了整个数据 包捕获的过程,但是在实际的捕获过程中还需要做 些改善,主要有以下3个方面: (1)把丢包率限制在一定的范围内。数据包捕 获驱动程序应当建立一个缓冲区,当应用程序还未 做好准备来处理所接受到的数据包的时候可以将其 存储在该缓冲区内,从而控制了丢包。应用程序一 旦准备好,被存储在缓冲区中的数据包应当能够立 刻传送给应用程序。 (2)为了使应用程序和驱动程序之间内容交换 的次数最少,它们应当分别工作在用户级别和内核 级别,并且使用单一的读调用来传送数据包。 (3)应用程序应当只接收自己感兴趣的数据包。 这就要求数据包捕获驱动程序只传送对应用程序有 用的包,因此应用程序必须设置过滤器对所接收到的 数据包进行过滤,以接收满足过滤器的数据包。 UNIX环境下享誉盛名的BPF(Berkeley Packet Filter)~好地完成了这几个方面。BPF结构在整个 协议栈中的位置示意图如图4所示。 BPF使得每个捕获过程都要经过过滤器和两 个缓冲区。过滤器是由应用程序产生的,通过一个 IoCTL调用传递给BPF。缓冲区是由BPF静态分 配的,通常为4k,这两个缓冲区中第一个缓冲区 (store buffer)是从网卡中获得数据,第二个缓冲区 (hold buffer)是把数据包拷贝到应用程序中去,当第 一个缓冲区满而第二个缓冲区空的话,BPF对其进 行交换,这样一来不会与网卡驱动程序互相干扰,二 来可以解决应用程序来不及处珊数据包时的存包问 题,大大减小了丢包率。 Tap用来设置把数据包反馈给应用程序的过滤 器,这个过滤器由用户自己来定义,接收用户自己感 兴趣的数据,这其中包括接收 些包,以及拷贝哪些
字节,这样就极大地加快了应用程序处理的速度,节 省了CPU 资源。网卡设置成混杂模式后,强行接收所有网络中 流经该工作站的数据包,这是由网卡驱动程序(NIC Driver)完成的。接收到了数据包后,由network tap 来处理,network tap是BPF代码中的回调函数,当 数据包到来时,网卡驱动程序唤醒它,network tap 接收到数据包拷贝后,向上传送至过滤器,在过滤器 中进行过滤,如果是用户感兴趣的,就被过滤器接 收,否则丢弃。当数据包被过滤器所接收时,如果应 用程序已经准备好了接收数据包,数据包会立即被 拷贝到应用程序的缓冲区中去;如果应用程序没有 准备好接收,为了避免丢包,必须将数据包传送到内 核缓冲区(kernel buffer)中存储起来,一旦应用程序 准备好,就把它拷贝到应用程序的缓冲区中去。 过滤器有个特点,就是不仅可以返回是否接收这个数据包,还可以返回要拷贝的数据包部分的长 度,这样就极大地优化了捕获过程,因为只有应用程 序需要的部分才被拷贝过来,很大地节省了CPU 和 缓冲区的资源。 当新的数据包到达内核缓冲区的时候,如果缓 冲区已满,则数据包会被丢弃。内核缓冲区的大小 对于整个捕获过程的效率有很大的影响。事实上, 一个捕获应用程序对每个数据包进行处理的时候, 还要和其它的应用程序分享CPU 资源,这是无法与流量负荷较大时的网络速度相比的,尤其是在速度 较慢的机器上这个问题更加明显。而驱动程序是运 行在内核级别上的,所以处理速度非常快,通常是不 会丢包的,因此在应用程序忙的时候,开辟一段缓冲 区来存放那些数据包可以避免应用程序较慢的处理 速度和网络流量大的时候所引起的丢包。 应用程序在接收到了拷贝之后,通过Packet.dll 这个动态链接库提供的捕获接口,并调用Libpcap 库中的函数完成对数据包的分析和处理。对于我们 十分关心的流量统计,都可以在应用程序中去完成, 整个捕获的实现过程就是这样的。
 

  • 相关文章:
  • quote 1.门禁安装
  • http://www.cctv999.net
  • 北京门禁系统安装工程有限责任公司,北京森龙视讯专业的监控器安装工程公司,监控主机升级,维修,监控摄像机维护,监控摄像头安装,维修升级,欢迎社会各界朋友来电咨询。森龙视讯技术服务部。010-863566851
  • 2009-12-2 21:05:02 回复该留言
  • quote 2.机械呼吸阀
  • http://www.jinqichemcial.com
  • TGTF-II型系列机械呼吸阀用途:机械呼吸阀安装于轻油罐顶部。当油罐内正、负压力超过规定值时,使之与大气连通,确保油罐安全,并减少油品耗损。控制压力( 200mm水柱-50mm水柱)材质为铸铁、铜津启石化是国内从事开发、生产、销售混合、分离、过滤等设备的专业公司。企业拥有雄厚的技术、独特的加工工艺、先进的生产设备、完善的检测手段及高效的管理机制。主要开发了10大类50多个系列的产品,在国内同行中处于领先地位。联系电话:022-83932509www.jinqichemcial.com公司是ISO9001国际质量认证企业。1
  • 2010-1-13 23:16:55 回复该留言
  • quote 4.储罐附件
  • http://www.jinqichemcial.com
  • 优质罐附件储罐附件生产厂家天津罐附件我公司专业生产储罐附件透气帽、量油孔、全天候呼吸阀、全天候阻火呼吸阀排污孔、清扫孔、空气泡沫产生器、液压安全阀、罐顶透气孔、罐壁通气孔、人孔、光孔等各种罐附件。我们将以以锲而不舍的追根求源精神,不断实现人事、技术、物资和管理的合理化。创名优产品,当行业先导,竭诚为广大用户提供高效,优质的服务。储罐附件/储罐配件/供应储罐附件022-83932509www.jinqichemcial.com津启石化设备有限公司1
  • 2010-1-17 22:08:30 回复该留言
  • quote 6.流量交换
  • http://union.langziniu.com
  • 浪子牛商业联盟|正规行业最有价值的流量联盟!union.langziniu.com交换链,流量联盟,广告联盟,流量交换,商业联盟,浪子牛联盟,行业联盟流量联盟|流量交换|交换链|广告联盟|-浪子牛商业联盟:既是是您赚钱的行业联盟,也是双模流量交换链的流量联盟。全球首家正规行业流量、广告开放式管理与交易平台!1
  • 2010-1-29 13:46:00 回复该留言
  • quote 8.隐形手套
  • http://ktst.sh1988.com
  • 隐形手套http://ktst.sh1988.com是本厂采用最新科技成果研制而成的高新技术产品,符合国家有关检验标准。本产品是一种革命性的、集强大的防护、清洁、抑菌、滋润多种功能于一体,能在皮肤表面形成一层长效隐形保护膜。长久以来人们一直在使用肥皂、洗衣粉、洗洁精等化学分解原理的传统清洁成分,它们虽然有一定的清洁效果但也会对皮肤造成一定程度的刺激和损害!一些特殊行业员工甚至用汽油、煤油洗手,汽、煤油具有一定的毒性,且其碱性、脱脂力都太强,更严重的是如果长期使用,会导致皮肤粗糙、龟裂、脱皮,甚至会引发皮肤癌等严重病症。而隐形手套采用了一种温和有效的新型清洁理念,其特有的清洁成分通过物理方式对污渍产生极化作用令其无法聚集。大大降低了污渍的附着力,从而起到隔离污渍的作用,令残余在皮肤上的污渍很容易被彻底清洗掉!隐形手套含有自然阻隔物和多种有效抑菌剂。涂于皮肤表面后,迅速形成一层长效保护膜,能有效阻隔油污、有机物和腐蚀性物质及其他有害化学物质对人体的侵伤并能有效抑制细菌滋生,功效持续长达24小时。广泛用于机械制造、煤矿、交通运输、电讯、矿业、印刷、油漆、石油化工、汽车摩托车维修、建筑装饰、家庭、织染、餐饮等行业。本产品亦可用于居家劳务时的手部油污隔离清洁等。1
  • 2010-3-3 15:02:20 回复该留言
  • quote 10.淘宝网购物返利平台
  • http://www.sh1988.com
  • 淘宝网购物返利平台www.sh1988.com为淘宝客合作伙伴24小时提供淘宝购物同步热销导航资讯,内容覆盖男人、女人、数码IT、亲子居家、运动户外、美食健康、时尚瘦身、美容化妆等实用导购信息大全,打造最快捷的淘宝热卖场同步数据分析,热销排行,价格比较,淘宝热卖搜索,真正让您的淘宝购物省心省时省钱又安全。1
  • 2010-3-4 13:33:46 回复该留言
  • quote 11.爱淘商城
  • http://www.ataoshop.com
  • 2010最新春季服饰大全www.ataoshop.com为淘宝客合作伙伴24小时提供淘宝购物同步热销导航资讯,内容覆盖男人、女人、数码IT、亲子居家、运动户外、美食健康、时尚瘦身、美容化妆等实用导购信息大全,打造最快捷的淘宝热卖场同步数据分析,热销排行,价格比较,淘宝热卖搜索,真正让您的淘宝购物省心省时省钱又安全。1
  • 2010-3-4 15:09:17 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Arwen Build 90619  Theme By Bokezhuti.cn

Copyright 2008~2009 www.ip-a.cn