背景技术
网流采集(Netflow Netsteam)操作主要是对网络中的报文进行采样,并将采样结果通过网流分析系统呈现给运营商或者是运营商的客户,以方便其进行网络规划、流量工程、网络检测、对用户进行监控、对应用层进行监控和对异常攻击流量进行安全分析等。
现有技术中,执行网流采集操作的网流采集设备可以是路由器,也可以是三层交换机等其他设备,而执行网流分析操作的网流分析设备可以是网流分析器,也可以是网络管理设备等等。
在网流采集的同时,还需要对各网流的边界网关协议(Border GatewayProtocol,BGP)属性进行采样。所谓BGP属性是一套参数,它对特定的路由进行相应描述,通过采集BGP属性,可以知道网流流经的自治域和网流将要到达的自治域,从而方便了运营商之间的流量计费,以及为进行网流分析和网络规划提供了便利条件;另一方面,通过采集BGP属性,还可以知道具有相同特征的一组用户的网流运行情况。
现有技术中,BGP属性包括多种,例如:源属性(Origin属性)、自治域路径(AS_Path)、下一跳(Next_Hop)、团体属性(Community属性)等等。现有技术中,网流采集设备将采集到的BGP属性存放在转发表项中,并通过网流将该转发表项发送至网流分析设备。目前,存放BGP属性的转发表项存放在设备的底存储硬件中,例如,内存;而根据现有的路由策略,一条路由中包含的BGP属性通常具有一定的数据长度,例如:Community属性的数据长度大约为4个字节,而Next Hop的数据长度也大约是4个字节。那么,当存在百万条路由时,在网流采集设备中存放上述转发表项便需要占用大量内存资源,从而很容易导致网流采集设备所执行的某种业务无法运行;若相应增加内存资源的配置,则会严重增加系统运行的硬件开销。
针对上述问题,业界目前采用了两种方案加以解决。
第一种方案为:让网流分析设备学习网络中的BGP路由方式,从而自行获得各网流的BGP属性。
但是,让网流分析设备学习BGP路由方式,需要在网流分析设备上运行用于管理路由的软件,同时,还需要分配一定的系统资源来处理相关的路由协议;这样,当BGP路由的数量达到上百万时,便会给网流分析设备带来运行负担,因此,采用第一种方案依然会增加系统运行的硬件开销。
第二种方案为:在网流采集设备上采用专门的处理器芯片对网流的BGP属性进行采样。
但是,专用的处理器芯片价钱昂贵,因此,采用第二种方案也依然会增加系统运行的硬件开销。
发明内容
本发明实施例涉及一种提供网流BGP属性的方法,用以减少现有技术下向网流分析设备提供网流的BGP属性时所耗费的系统硬件开销。
本发明实施例提供的具体技术方案如下:
一种提供边界网关协议BGP属性的方法,包括:
网流采集设备获取网流的BGP属性索引;
所述网流采集设备根据预设信息对所述BGP属性索引进行映射,获得所述网流的BGP属性,所述预设信息包含所述BGP属性索引和所述BGP属性之间的映射关系;
所述网流采集设备将所述网流的BGP属性发送至网流分析设备。
一种提供边界网关协议BGP属性的方法,包括:
网流采集设备获取网流的BGP属性索引,并将其发往网流分析设备;
网流分析设备获取所述网流采集设备发送来的所述网流的BGP属性索引,并根据预设信息对所述BGP属性索引进行映射,获得所述网流的BGP属性,所述预设信息包含所述BGP属性索引和所述BGP属性之间的映射关系;
一种通信设备,包括:
第一存储单元,用于存储预设信息,所述预设信息包含各BGP属性和各BGP属性索引之间的映射关系;
第二存储单元,用于存储经过本通信设备的网流的BGP属性索引;
获取单元,用于获取所述BGP属性索引;
第一通信单元,用于将所述BGP属性索引发送至网流分析设备。
一种通信设备,包括:
第二通信单元,用于接收网流采集设备发送的网流的BGP属性索引,以及包含该BGP属性索引和其对应的BGP属性的映射关系的预设信息;
第三存储单元,用于保存所述BGP属性索引,以及所述预设信息;
第一映射单元,用于根据所述预设信息对接收的BGP属性索引进行映射,以获得所述网流的BGP属性。
一种通信系统,包括:
第一种网流采集设备,用于获取经过本设备的网流的BGP属性索引,并将该BGP属性索引发送至第一种网流分析设备,以及将包含该BGP属性索引和其对应的BGP属性的映射关系的预设信息发送至所述第一种网流分析设备;
第一种网流分析设备,用于根据从所述第一种网流采集设备获得的所述预设信息对接收的BGP属性索引进行映射,以获得所述网流的BGP属性。
一种通信设备,包括:
第一存储单元,用于存储预设信息,所述预设信息包含各BGP属性和各BGP属性索引之间的映射关系;
第二存储单元,用于存储经过本通信设备的网流的BGP属性索引;
获取单元,用于获取所述BGP属性索引;
第二映射单元,用于根据所述预设信息对所述BGP属性索引进行映射,以获得所述网流的BGP属性;
第三通信单元,用于将所述网流的BGP属性发送至网流分析设备。
一种通信系统,包括:
第二种网流采集设备,用于获取经过本设备的网流的BGP属性索引,并根据预设信息对该BGP属性索引进行映射,以获得所述网流的BGP属性,并将该BGP属性发送至第二种网流分析设备;其中,所述预设信息包含所述BGP属性索引和所述BGP属性之间的映射关系;
第二种网流分析设备,用于接收并保存所述第二种网流采集设备发送的所述网流的BGP属性。
本发明实施例中,仅在网流采集设备底层硬件存储的转发表项内保存网流BGP属性的索引值,并通过该索引值获得其对应的BGP属性,这样,便大大节省了网流采集设备的底层硬件内用于存储网流BGP属性的内存空间、从而有效地降低了向网流分析设备提供网流的BGP属性时所耗费的系统硬件开销。
具体实施方式
为了减少现有技术下采集网流的边界网关协议(Border Gateway Protocol,BGP)属性时所耗费的系统硬件开销,本发明实施例中,先获取网流的BGP属性索引,再根据预设信息对所述BGP属性索引进行映射,以获得所述网流的BGP属性;其中,所述预设信息包含所述BGP属性索引和所述BGP属性之间的映射关系。
本实施例中,预设信息可以由管理人员根据配置命令手工设置,也可以由通信系统自动配置,例如,参阅表1所示,BGP属性索引A对应的BGP属性为属性A,而BGP属性索引B对应BGP属性为属性B。
表1
BGP属性索引 |
BGP属性 |
索引A |
属性A |
索引B |
属性B |
…… |
…… |
下面结合附图对本发明优选的实施方式进行详细说明。
参阅图1所示,在实际应用中,通信系统内可以包括多个网流采集设备10和多个网流分析设备11,本发明实施例仅以其中的一个网流采集设备10和一个网流分析设备11为例进行介绍。
如图1所示,在第一种情况下:
网流采集设备10,用于获取经过本设备的网流的BGP属性索引,并将该BGP属性索引发送至网流分析设备11,以及将包含该BGP属性索引和其对应的BGP属性的映射关系的预设信息发送至网流分析设备11。
网流分析设备11,用于根据从所述第一种网流采集设备10获得的所述预设信息对接收的BGP属性索引进行映射,以获得所述网流的BGP属性。
参阅图2所示,本实施例中,在第一种情况下,网流采集设备10包括第一存储单元100、第二存储单元101、获取单元102和第一通信单元103。
第一存储单元100,用于存储预设信息,该预设信息包含各BGP属性和各BGP属性索引之间的映射关系。
第二存储单元101,用于存储经过该网流采集设备10的网流的BGP属性索引。
获取单元102,用于获取经过该风流采集设备10的网流的BGP属性索引。
第一通信单元103,用于将携带BGP属性索引的采样数据流发送至网流分析设备11,以及将第一存储单元100中存储的预设信息发送至网流分析设备11。
参阅图3所示,本实施例中,在第一种情况下,网流分析设备11包括第二通信单元110、第三存储单元111和第一映射单元112。
第二通信单元110,用于接收网流采集设备10发送的网流的BGP属性索引,以及包含该BGP属性索引和其对应的BGP属性的映射关系的预设信息。
第三存储单元111,用于保存接收的BGP属性索引,以及接收的预设信息。
第一映射单元112,用于根据保存的预设信息对接收的BGP属性索引进行映射,以获得经过网流采集设备10网流的BGP属性。
基于上述系统架构,本发明实施例中,当网流A经过网流采集设备10时,网流采集设备10根据预设的路由协议获得网流A的BGP属性,并将其以索引值的形式(即BGP属性索引,以下称为索引A)保存在底层硬件存储的转发表项中;那么,参阅图4所示,本发明实施例中,网流采集设备10向网流分析设备11提供网流A的BGP属性(以下称为属性A)的详细流程如下:
步骤S400:网流采集设备10获取本地存储的转发表项,从该转发表项中获得经过自身的网流A的BGP属性索引,即索引A。
步骤S410:网流采集设备10将索引A携带在采集的数据流中发送至网流分析设备11。
步骤S420:网流分析设备11向网流采集设备10发送请求消息,用以获得索引A和属性A之间的映射关系。
步骤S430:网流采集设备10将本地保存的包含索引A和属性A之间映射关系的预设信息发送至网流分析设备11。
步骤S440:网流分析设备11根据接收的预设信息对索引A进行映射,以获得属性A,属性A即是网流采集设备10采集的网流BGP属性。
通过上述方法,网流采集设备10采集网流的BGP属性后,只需在底层硬件存储的转发表项内保存各BGP属性所对应的BGP属性索引,并向网流分析设备11提供该BGP属性索引,即可使网流分析设备11获得网流的BGP属性,通常情况下,一个BGP属性索引的数据长度仅为一个字节,这样,便大大节省了网流采集设备10的底层硬件内用于存储网流BGP属性的内存空间,从而有效地降低了向网流分析设备11提供网流的BGP属性时所耗费的系统硬件开销。
在上述实施例中,网流分析设备11也可以在接收网流采集设备10发送的网流的BGP属性索引之前,先从网流采集设备10上获得其保存的预设信息,再在接收到网流采集设备10发送的网流的BGP属性索引之后,对其进行映射处理,亦可达到与上述实施例同样的技术效果,在此不再赘述。
区别于上述实施例,为了减轻网流分析设备11的运行负担,网流采集设备10还可以在获取网流的BGP属性索引后,先将其映射为对应的BGP属性,再将该BGP属性携带在采集的数据流中发送至网流分析设备11。
如图1所示,在第二种情况下:
网流采集设备10,用于获取经过本设备的网流的BGP属性索引,并根据预设信息对该BGP属性索引进行映射,以获得网流的BGP属性,并将该BGP属性发送至网流分析设备11;其中,所述预设信息包含该BGP属性索引和相应的BGP属性之间的映射关系。
网流分析设备11,用于接收并保存网流采集设备10发送的网流的BGP属性。
参阅图5所示,本实施例中,在第二种情况下,网流采集设备10包括第一存储单元100、第二存储单元101、获取单元102、第二映射单元104和第三通信单元105。
第一存储单元100,用于存储预设信息,所述预设信息包含各BGP属性和各BGP属性索引之间的映射关系。
第二存储单元101,用于存储经过该网络采集设备10的网流的BGP属性索引。
获取单元102,用于获取本地存储经过该网络采集设备10的网流的BGP属性索引。
第二映射单元104,用于根据本地保存的预设信息对获得的BGP属性索引进行映射,以获得网流的BGP属性。
第三通信单元105,用于将携带网流的BGP属性的采样数据流发送至网流分析设备11。
基于上述系统架构,本发明实施例中,当网流B经过网流采集设备10时,网流采集设备10根据预设的路由协议获得网流B的BGP属性,并同样将其以索引值的形式(即BGP属性索引,以下称为索引B)保存在底层硬件存储的转发表项中;那么,参阅图6所示,本发明实施例中,网流采集设备10向网流分析设备11提供网流B的BGP属性(以下称为属性B)的详细流程如下:
步骤S600:网流采集设备10获取本地存储的转发表项,从该转发表项中获得经过自身的网流B的BGP属性索引,即索引B。
步骤S610:网流采集设备10获取本地保存的包含索引B和属性B之间映射关系的预设信息。
步骤S620:网流采集设备10根据获得的预设信息对索引B进行映射,以获得属性B,属性B即是经过网流采集设备10的网流B的BGP属性。
步骤S630:网流采集设备10将属性B携带在采样数据流中发送至网流分析设备11。
通过上述方法,网流采集设备10采集网流的BGP属性后,同样只需在底层硬件存储的转发表项内保存各BGP属性所对应的BGP属性索引,并在向网流分析设备11提供网流的BGP属性时,根据其对应的BGP属性索引获得该BGP属性,再将该BGP属性携带在采样数据流中发送至网流分析设备11,这样,不但大大节省了网流采集设备10的底层硬件内用于存储网流BGP属性的内存空间,同时也减轻了网流分析设备11的运行负担,从而进一步有效地降低了向网流分析设备11提供网流的BGP属性时所耗费的系统硬件开销。
显然,本领域的技术人员可以对本发明中的实施例进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明实施例中的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明中的实施例也意图包含这些改动和变型在内。