flow和异步服务的网络流量监测系统.doc№puterEngineering2006年7月July2006?网络与:通信?文章一号tlooo—3428(2o06)■标识码-,黄啊哲(同济大学计算机科学与技术系,上海200331)l蔓:flow的网络流量监测系统,介绍了系统中各组件的功能,并对其中的核心部分——Netflow处理模块一进行了分析;该模块的设计采用基于事件驱动的异步网络框架Twsited,与传统的基于进程或多线程的设计相比,该设计节省了系统资源,■胃:flow;nOWandAsynchronousServiceXIONGQibang,HUANGMingzhe(Dept,puterScienceandTechnology,TongjiUniversity,Shanghai200331)[flowispresented,—processingmodule,?processingmoduleisbasedonTwsited,whichisanasynchronousevent-paredtothetraditionaldesignsbasedonprocedureormulti?thread,suchdesigncansavesystemresource,plexitycausedbymulti—;flow…是Cisco公司提出的一种网络流量数据采集技术,flowV9版本已经提交给IETF以IPFIX的名称进行标准化】.flow已经获得许多主流厂商的支持,flow的网管应用出现,比如:网络流量的采集,分析和规划,网络异常流量(DDoS,蠕虫病毒)的监测,,%】.考虑到当前网络带宽的飞速增长,flow信息作为一个关键:我们在某校园网网管系统的实施过程中观察到3个主干出口路由器每天能产生大约1000多万条记录,flow的模块具有很高的性能;传统的做法是采用多线程的设计,但是多线程的程序编写复杂,,其Netflow处理模块采用基于Twisted【,事件驱动的高性能异步网络框架;借助python语言的强大特性,,既保持了较高的性能,又大大简化了模块编写的复杂度,"流"(flow),它由以下7个关键域定义:(1)源IP地址(SourceIPaddress);(2)目的IP地址(DestinationIPaddress);(3)源端口号(SourcePortNumber);…】44一(4)目的端口号(DestinationPortNumber);(5)协议类型(Layer3protocoltype);(6)服务类型(ToS);(7)数据流入的逻辑网络接口(InputLogicalInterface).Netflow的工作原理就是由路由器,flow的软硬件维持一个保存流的统计数据的缓存,,,如果和已有的记录具有相同的特征,flow会不停地刷新缓存,将合适的记录移出缓存,然后将所有被移出的记录聚合到UDP包中,,,事件驱动编程经常需要编写状态机,,由Reactor和Defer这两个类提供异步服务编程的接口,【5冲的Reactor模式,它相当于一个事件调度器,,用于生成业务流程,,并根据在Defer类中注册的顺序形成一个普通事件处理队列;:熊齐邦(1
flow和异步服务的网络流量监测系统 来自淘豆网www.taodocs.com转载请标明出处.