流量采集和分析的方法和装置转让专利

申请号 : CN200710087459.X

文献号 : CN100583830C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 全一

申请人 : 华为技术有限公司

摘要 :

本发明提供了一种流量采集和分析的方法和装置,属于网络通讯领域。为了解决现有技术中流量采集和分析对上层网流分析系统的要求非常高的问题,本发明提供了一种流量采集和分析的方法和装置。所述方法包括:学习BGP路由信息,采集网流报文;在学习到的BGP路由信息中查找到与当前流量相应的BGP路由,并将该BGP路由与网流报文进行比对,若网流报文中包含该BGP路由中的信息,则计算所述网流报文。所述装置包括:学习模块、采集模块和分析模块。本发明能够方便地统计出基于BGP路由的流量特征(如AS-PATH上的每条流量),简化了上层软件按路由路径汇总流量的分析复杂性。

权利要求 :

1.一种流量采集和分析的方法,其特征在于,所述方法包括:学习BGP路由信息,采集网流报文;在所述BGP路由信息中查找到与当前流量相应的 BGP路由,并根据所述BGP路由中的BGP路由属性确定所述当前流量对应的网流报文特征, 将所述网流报文特征与采集到的网流报文进行比对,若所述网流报文包含所述网流报文特征, 则计算所述网流报文。

2.根据权利要求1所述的流量采集和分析的方法,其特征在于,所述学习BGP路由信 息的步骤具体包括:在采集器和边界路由器上同时使能BGP路由协议,所述采集器通过BGP路由协议交互 来学习BGP路由信息。

3.根据权利要求1所述的流量采集和分析的方法,其特征在于,所述方法通过读取边界 路由器的BGP路由文件或BGP管理信息库文件来学习BGP路由信息。

4.根据权利要求1所述的流量采集和分析的方法,其特征在于,根据所述BGP路由中 的BGP路由属性确定所述当前流量对应的网流报文特征的步骤具体为:将所述BGP路由中的一个或者多个路由属性作为报文特征。

5.一种流量采集和分析的装置,其特征在于,所述装置包括:学习模块,用于学习BGP路由信息;

采集模块,用于采集网流报文;

分析模块,包括查找单元和处理单元,所述查找单元用于在所述学习模块学习到的BGP 路由信息中查找到与当前流量相应的BGP路由,所述处理单元用于根据所述BGP路由中的 BGP路由属性确定所述当前流量对应的网流报文特征,将所述网流报文特征与采集到的网流 报文进行比对,若所述网流报文包含所述网流报文特征,则计算所述网流报文。

6.根据权利要求5所述的流量采集和分析的装置,其特征在于,所述学习模块包括:配置单元,用于在所述装置和边界路由器上同时使能BGP路由协议;

学习单元,用于通过BGP路由协议交互来学习BGP路由信息。

7.根据权利要求5所述的流量采集和分析的装置,其特征在于,所述学习模块通过读取 边界路由器的BGP路由文件或BGP管理信息库文件来学习BGP路由信息。

说明书 :

技术领域

本发明涉及网络通讯领域,特别涉及一种流量采集和分析的方法和装置。

背景技术

在IP(Internet Protocol,因特网协议)/MPLS(Multi-Protocl Label Switching,多协议标 记交换)网络中,当客户需要查看从一个AS(Autonomous System,自治系统)到下一跳AS 的流量,或者需要了解相同团体属性内不同的AS之间的业务流量信息时,需要对基于路由 信息的网络流量进行统计和分析。现有技术采用在网流报文中增加BGP(Border Gateway Protocol,边界网关协议)路由属性字段进行标识,由上层网流分析系统根据这个标识进行分 析和汇总得到AS-PATH(路径)的流量特征。参见图1,网络中有三个自治系统,AS100、 AS200和AS300,采集器通过BR(Border Router,边界路由器)采集AS的流量信息,并传 给分析器,分析器经过统计、分析和汇总得出AS流量信息。通常BR在OPTION(选项)报 文中增加AS采样模式信息,当AS采样模式为第一种模式时,OPTION报文的七元组中携带 了AS-PATH的源端AS和终端AS的IP地址和端口号等信息,相应地,上层网流分析系统可 以得到源端AS和终端AS之间的流量信息;当AS采样模式为第二种模式时,OPTION报文 的七元组中携带了AP-PATH的源端AS和终端AS的前一跳AS的IP地址和端口号等信息, 相应地,上层网流分析系统可以得到源端AS和终端AS的前一跳AS之间的流量信息。
由于上层网流分析系统无法预先知道网络中的AS-PATH信息,如果要获得AS-PATH 中任意两个AS之间的流量信息,则需要对AS-PATH中的每个AS的BR都采集流量,而且 还要从采集到的网流报文中获得AS-PATH的信息,并按AS-PATH信息对网流报文做非常复 杂的流量汇总工作,因此上述现有技术对上层网流分析系统的分析能力、统计能力和汇总能 力等要求非常高,而且工作量非常庞大,不易实现。

发明内容

为了解决现有技术中流量采集和分析对上层网流分析系统的要求非常高的问题,本发明 实施例提供了一种流量采集和分析的方法和装置。
所述方法包括:
学习BGP路由信息,采集网流报文;在所述BGP路由信息中查找到与当前流量相应的 BGP路由,并根据所述BGP路由中的BGP路由属性确定所述当前流量对应的网流报文特征, 将所述网流报文特征与采集到的网流报文进行比对,若所述网流报文包含所述网流报文特征, 则计算所述网流报文。
所述装置包括:
学习模块,用于学习BGP路由信息;
采集模块,用于采集网流报文;
分析模块,包括查找单元和处理单元,所述查找单元用于在所述学习模块学习到的BGP 路由信息中查找到与当前流量相应的BGP路由,所述处理单元用于根据所述BGP路由中的 BGP路由属性确定所述当前流量对应的网流报文特征,将所述网流报文特征与所述采集模块 采集到的网流报文进行比对,若所述网流报文包含所述网流报文特征,则计算所述网流报文。
本发明实施例能够方便地统计出基于BGP路由的流量特征(如AS-PATH上的每条流量), 上层软件不用针对每个网流报文去分析BGP路由信息,而是预先学习到BGP路由信息,然 后根据流量分析需求在预先学习到的BGP路由信息中匹配到与当前流量相应的BGP路由, 并根据该BGP路由与采集到的网流报文进行比对的结果统计流量,从而简化了上层软件通过 从网流报文中获取路由信息的方式,来统计基于BGP路由流量的过程的复杂性。

附图说明

图1是现有技术中流量采集和分析的示意图;
图2是本发明实施例流量采集和分析的方法流程图;
图3是本发明实施例流量采集示意图;
图4是本发明实施例流量采集和分析的装置结构图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明,但本发明不局限于下面的实施例。
本发明实施例通过使用采集器预先学习到BGP路由信息,分析器搜索匹配到相应的BGP 路由信息后进行流量统计,避免了上层软件根据网流报文中的片断路由信息来汇总AS-PATH 流量的复杂性,方便地按BGP路由信息统计AS之间的流量。
参见图2,本发明实施例提供了一种流量采集和分析的方法,具体包括以下步骤:
步骤101:采用支持BGP路由学习能力的采集器通过路由协议预先学习BGP路由信息, 并根据需要对采集器进行部署,让采集器能够采集到相应的AS间网流报文;部署时根据采 集器性能可以一个BR对应一个采集器,也可以多个BR对应一个采集器;
通过路由协议学习BGP路由信息是指在采集器和BR上同时使能BGP路由协议,采集 器通过BGP路由协议交互来学习BGP路由信息;
步骤102:采集器将学习到的BGP路由信息保存在一个路由表中;学习到的BGP路由信 息中包含AS-PATH、下一跳和团体属性等BGP路由属性;
以图3所示的网络为例,采集器学习到一条BGP路由并保存在路由表中,如表1所示:
  Network(网段地址)  NextHop(下一跳)   MED   LocPrf   PerfVal   AS-Path   Origin   200.1.1.2/24  9.1.3.1   0   100   0   AS200->AS100   i
表1
步骤103:采集器进行流量采集,即接收与采集器相连的BR发来的网流报文,采集到的 网流报文包含七元组(源IP地址、目的IP地址和端口号等)和BGP路由属性等信息;
步骤104:分析器根据当前的流量分析需求在上述路由表中进行搜索,匹配到与当前流 量相应的BGP路由,所述BGP路由中包含BGP路由属性;
步骤105:根据BGP路由属性确定当前流量对应的网流报文特征;
步骤106:用得到的网流报文特征与采集到的网流报文进行比对,如果网流报文中包含 所述网流报文特征,则计算该网流报文进行流量统计,即统计符合当前流量分析需求的网流 报文,例如,在当前流量所统计的网流报文个数的基础上加1,将采集到的网流报文统计进 去,从而完成按BGP路由进行流量统计。
分析器匹配到的BGP路由可以为一条或多条,将每条BGP路由中的一个或多个路由属 性作为该条BGP路由对应的网流报文特征,作为与网流报文比对的依据;当匹配到多条BGP 路由时,相应地,会生成多个网流报文特征,则共同作为与网流报文比对的依据,分析器在 比对网流报文时,只要采集到的网流报文中包含其中的一个网流报文特征,就进行流量统计; 如果所有网流报文特征均不在采集到的网流报文中,表明该网流报文不符合当前流量分析需 求,则不进行流量统计。
例如,参见图3,假设当前需要统计AS200到AS100的流量,由于采集器预先学习了 BGP路由信息,并保存了表1所示的一条BGP路由,因此采集器从该条路由可以获知,从 AS200去往AS100的流量需要通过下一跳9.1.3.1,才能到达目的网段地址200.1.1.2/24;采集 器采集到网流报文后,首先根据AS-Path信息AS200->AS100,搜索路由表,匹配到表1所示 的BGP路由后,根据该BGP路由中的BGP路由属性确定出当前流量对应的网流报文特征, 即把目的IP地址为200.1.1.2/24,且下一跳为9.1.3.1组合起来作为网流报文特征,然后将该 网流报文特征与采集到的网流报文进行比对,如果网流报文中包含相同的信息,即网流报文 中的目的IP地址也为200.1.1.2/24,且下一跳也为9.1.3.1,则将该网流报文统计到AS200到 AS100的流量中;否则,认为该网流报文不是AS200到AS100的流量报文,不进行统计。
上述过程中采集器通过路由协议学习BGP路由的方式可以由采集器读取BR上的BGP 路由文件或BGP MIB(Management Information Base,管理信息库)文件的方式来替换,考 虑到BR上的BGP路由文件或BGP MIB文件可能会不断更新,进一步地,还可以增加定时 同步的步骤:设置定时器使采集器读取BR上的BGP路由文件或BGP MIB文件的时间和这 些文件更新的时间同步,从而保证读取到的文件内容都是最新的。
参见图4,本发明实施例还提供了一种流量采集和分析的装置,具体包括:
(1)学习模块,用于学习BGP路由信息;
(2)采集模块,用于采集网流报文;
(3)分析模块,用于在学习模块学习到的BGP路由信息中查找到与当前流量相应的BGP 路由,并将该BGP路由与采集到的网流报文进行比对,若网流报文包含该BGP路由中的信 息,则计算该网流报文。
上述学习模块具体包括:
1)配置单元,用于在所述装置和边界路由器上同时使能BGP路由协议;
2)学习单元,用于通过BGP路由协议交互来学习BGP路由信息。
上述学习模块还可以通过读取边界路由器的BGP路由文件或BGP MIB文件来学习BGP 路由信息。
上述分析模块具体包括:
1)查找单元,用于在学习模块学习到的BGP路由信息中查找到与当前流量相应的BGP 路由;
2)处理单元,用于根据查找单元找到的BGP路由中的BGP路由属性,确定当前流量对 应的网流报文特征,将网流报文特征与采集模块采集到的网流报文进行比对,若网流报文包 含网流报文特征,则计算该网流报文。
本发明实施例中的分析器和采集器在物理上可以分布在不同的服务器上,也可以分布在 一台服务器上。
本发明实施例可以利用软件实现,如利用C、C++或JAVA等语言编程实现,相应的软件 可以存储在可读取的存储介质中,如服务器的硬盘、内存或光盘中。
本发明实施例简化了上层软件按路由路径汇总流量的分析复杂性,能够方便地统计出基 于BGP路由的流量特征(如AS-PATH上的每条流量),从而可以进行有效和及时的流量监控; 还可以在此基础上开发病毒攻击监测或离线模拟网络流量状态等应用。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技 术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。