一种报文监控方法和装置与流程

文档序号:18619044发布日期:2019-09-06 22:18阅读:156来源:国知局
一种报文监控方法和装置与流程
本发明涉及通信
技术领域
,尤其涉及一种报文监控方法和装置。
背景技术
:SDN(SoftDefineNetwork,软件定义网络)是一种新型网络创新架构,其核心思想是将网络设备的控制层面与转发层面分离,以实现对网络流量的灵活控制,为核心网络及应用的创新提供良好的平台。EVPN(EthernetVirtualPrivateNetwork,以太网虚拟专用网络)是一种二层的VPN技术,控制平面采用MP-BGP(MultiProtocolBorderGatewayProtocol,多协议扩展边界网关协议)通告路由信息,且数据平面采用VXLAN(VirtualeXtensibleLocalAreaNetwork,可扩展虚拟局域网络)封装方式转发报文,因此,EVPN可以作为SDN的承载网。在SDN混合网络中,若网络设备无法识别VXLAN隧道封装的报文中的内容,则该网络设备无法对经过本网络设备的报文进行统计,也就无法向控制器上报统计结果,导致控制器无法监控到报文的走向。技术实现要素:本发明提供一种报文监控方法,应用于控制器,所述方法包括:生成隧道属性和统计策略,所述隧道属性包括控制器为待监控的地址信息分配的用户数据报协议UDP端口信息,所述统计策略包括所述UDP端口信息;将所述隧道属性发送给边缘节点,以使所述边缘节点利用所述隧道属性创建监控隧道,并利用所述监控隧道发送与所述地址信息匹配的报文;其中,所述边缘节点利用所述监控隧道发送所述报文时,对所述报文进行所述监控隧道对应的封装,且封装后的报文的隧道头中包括所述UDP端口信息;将所述统计策略发送给中间节点,以使所述中间节点对所述监控隧道中携带所述UDP端口信息的报文进行统计,得到第一统计结果;接收中间节点上送的第一统计结果,并根据第一统计结果对报文进行监控。本发明提供一种报文监控方法,应用于边缘节点,所述方法包括:接收来自控制器的隧道属性,所述隧道属性包括所述控制器为待监控的地址信息分配的用户数据报协议UDP端口信息;利用所述隧道属性创建监控隧道;利用所述监控隧道发送与所述地址信息匹配的报文;其中,在利用所述监控隧道发送所述报文时,对所述报文进行所述监控隧道对应的封装,且封装后的报文的隧道头中包括所述UDP端口信息;以使中间节点对所述监控隧道中携带所述UDP端口信息的报文进行统计,并将得到的第一统计结果上送给所述控制器,由所述控制器根据所述第一统计结果对报文进行监控。本发明提供一种报文监控装置,应用于控制器,所述装置包括:生成模块,用于生成隧道属性和统计策略,所述隧道属性包括控制器为待监控的地址信息分配的用户数据报协议UDP端口信息,所述统计策略包括所述UDP端口信息;发送模块,用于将所述隧道属性发送给边缘节点,以使所述边缘节点利用所述隧道属性创建监控隧道,并利用所述监控隧道发送与所述地址信息匹配的报文;所述边缘节点利用所述监控隧道发送所述报文时,对所述报文进行所述监控隧道对应的封装,且封装后的报文的隧道头中包括所述UDP端口信息;将所述统计策略发送给中间节点,以使所述中间节点对所述监控隧道中携带所述UDP端口信息的报文进行统计,得到第一统计结果;接收模块,用于接收所述中间节点上送的第一统计结果;监控模块,用于根据所述第一统计结果对报文进行监控。本发明提供一种报文监控装置,应用于边缘节点,所述装置包括:接收模块,用于接收来自控制器的隧道属性,所述隧道属性包括所述控制器为待监控的地址信息分配的用户数据报协议UDP端口信息;创建模块,用于利用所述隧道属性创建监控隧道;发送模块,用于利用所述监控隧道发送与所述地址信息匹配的报文;其中,在利用所述监控隧道发送所述报文时,对所述报文进行所述监控隧道对应的封装,且封装后的报文的隧道头中包括所述UDP端口信息;以使中间节点对所述监控隧道中携带所述UDP端口信息的报文进行统计,并将得到的第一统计结果上送给所述控制器,由所述控制器根据所述第一统计结果对报文进行监控。基于上述技术方案,本发明实施例中,在SDN混合网络中,无论中间节点是否识别指定类型隧道(如VXLAN隧道)封装的报文,中间节点均可以从报文的公网隧道头中解析出UDP(UserDatagramProtocol,用户数据报协议)端口信息,从而对包含UDP端口信息的报文进行统计,并将统计结果发送给控制器,以使控制器对报文进行监控,从而在SDN混合网络的全网范围对报文进行监控,较好地优化了SDN混合网络的运维监控功能。附图说明为了更加清楚地说明本发明实施例或者现有技术中的技术方案,下面将对本发明实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1是本发明一种实施方式中的SDN混合网络的组网示意图;图2是本发明一种实施方式中的报文监控方法的流程图;图3是本发明另一种实施方式中的报文监控方法的流程图;图4是本发明一种实施方式中的控制器的硬件结构图;图5是本发明一种实施方式中的报文监控装置的结构图;图6是本发明一种实施方式中的边缘节点的硬件结构图;图7是本发明一种实施方式中的报文监控装置的结构图。具体实施方式在本发明使用的术语仅仅是出于描述特定实施例的目的,而非限制本发明。本发明和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本发明实施例中提出一种报文监控方法,可以应用于SDN混合网络中,该SDN混合网络采用EVPN作为承载网,该SDN混合网络包括能够识别指定类型隧道(后续以VXLAN隧道为例)封装的报文内容的节点以及不能够识别VXLAN隧道封装的报文内容的节点。如图1所示,为SDN混合网络的组网示意图,SW1-SW4为SDN混合网络中的边缘节点(如leaf节点),这些边缘节点均可以识别VXLAN隧道封装的报文内容,R1-R6为SDN混合网络中的中间节点(如Spine节点),这些中间节点均无法识别VXLAN隧道封装的报文内容。参见图2所示,为报文监控方法的流程图,该方法可以应用于控制器。步骤201,生成隧道属性和统计策略,该隧道属性包括控制器为待监控的地址信息分配的UDP端口信息,该统计策略包括该UDP端口信息。其中,该UDP端口信息包括:源端口对应的预设第一标识和/或目的端口对应的预设第二标识。步骤202,将该隧道属性发送给边缘节点,以使该边缘节点利用该隧道属性创建监控隧道,并利用该监控隧道发送与该地址信息匹配的报文。在一个例子中,边缘节点利用该监控隧道发送报文时,对该报文进行该监控隧道对应的封装,且封装后的报文的隧道头中包括该UDP端口信息。该监控隧道可以为VXLAN隧道,为了方便描述,后续以VXLAN隧道为例进行说明。步骤203,将该统计策略发送给中间节点,以使该中间节点对该监控隧道中携带该UDP端口信息的报文进行统计,得到第一统计结果。步骤204,接收中间节点上送的第一统计结果,并根据该第一统计结果对报文进行监控。在一个例子中,控制器还可以将该统计策略发送给边缘节点,由边缘节点利用该统计策略对该监控隧道中携带该UDP端口信息的报文进行统计,得到第二统计结果,并将该第二统计结果上送给控制器。控制器接收边缘节点上送的该第二统计结果,并根据该第二统计结果对报文进行监控。针对步骤201,在一个例子中,控制器可以将一个主机确定为待监控主机,例如,如果某主机提供的业务比较重要,需要监控发送给该主机的报文,或者监控该主机发出的报文,则可以将该主机确定为待监控主机。基于此,可以将该主机的IP地址确定为待监控的地址信息。在另一个例子中,控制器可以将一个网段内的多个主机确定为待监控主机,监控发送给该网段的所有报文,或者,监控该网段发出的所有报文。基于此,可以将该网段确定为待监控的地址信息。针对待监控的地址信息,可以为该地址信息分配唯一的UDP端口信息,该UDP端口信息可以包括源端口对应的预设第一标识以及目的端口对应的预设第二标识,如源端口是10000,目的端口是10001。在另一个例子中,UDP端口信息可以只包括目的端口对应的预设第二标识,如目的端口是10001。在一个例子中,在隧道属性中还可以包括该地址信息(如IP地址或者IP网段,该IP网段可以是一个IP地址范围,如101.10.10.0/24等),且在统计策略中还可以包括该地址信息。基于此,隧道属性可以包括UDP端口信息、以及该地址信息,且统计策略可以包括UDP端口信息、以及该地址信息。针对步骤202,在一个例子中,边缘节点在接收到隧道属性后,可以利用隧道属性创建监控隧道。为了与传统隧道进行区分,可以将本文中创建的隧道称为监控隧道,将传统隧道称为普通隧道。普通隧道和监控隧道均可以是VXLAN隧道,普通隧道与监控隧道相比,其区别在于:如表1所示的普通隧道,在普通隧道的公网隧道头中,源端口可以是任意数值,目的端口是4798,该4798表示报文是VXLAN隧道封装后的报文。如表2所示的监控隧道,在监控隧道的公网隧道头中,携带的是隧道属性中的UDP端口信息,如源端口是预设第一标识(如10000),目的端口是预设第二标识(如10001);或者源端口是任意数值(与普通隧道的源端口相同),目的端口是预设第二标识(如10001)。在表1和表2中,只对源端口和目的端口的字段进行了说明,对其它字段不再赘述。表1外层MAC外层IP源端口目的端口长度校验和VXLAN隧道头用户报文1004798表2外层MAC外层IP源端口目的端口长度校验和VXLAN隧道头用户报文1000010001在一个例子中,边缘节点在利用该隧道属性创建监控隧道之后,还可以利用该监控隧道发送与该地址信息匹配的报文。而在利用监控隧道发送与该地址信息匹配的报文时,边缘节点可以对报文进行监控隧道对应的封装,即进行VXLAN隧道封装,且封装后的报文的隧道头中包括UDP端口信息。在一个例子中,针对边缘节点利用监控隧道发送与该地址信息匹配的报文的过程,边缘节点可以在本地存储控制流表,该控制流表的匹配选项为该地址信息,该控制流表的动作选项为该监控隧道的隧道标识。基于此,边缘节点在接收到匹配该控制流表的报文后,即报文的源IP地址或者目的IP地址与该控制流表的匹配选项相同,则查询该控制流表中的隧道标识对应的监控隧道(每个监控隧道都有唯一的隧道标识,且在表2的VXLAN隧道头中会包含隧道标识,因此,基于控制流表中的隧道标识,就可以匹配到对应的监控隧道),并利用该监控隧道发送报该文。在利用该监控隧道发送报文的过程中,边缘节点对报文进行VXLAN隧道封装,在封装后的报文中,参见表2所示,依次包括用户报文(即边缘节点收到的报文)、VXLAN隧道头和公网隧道头,在公网隧道头中,依次包括外层MAC、外层IP、源端口、目的端口、长度、校验和等内容。对于源端口字段,其数值可以是预设第一标识(如10000),对于目的端口字段,其数值可以是预设第二标识(如10001)。对于其它字段的数值,在此不再赘述。其中,针对边缘节点在本地存储控制流表的过程,在一个例子中,控制器在生成隧道属性后,还可以生成针对该地址信息的控制流表,并将该控制流表发送给边缘节点,由边缘节点在本地存储控制流表。在另一个例子中,边缘节点还可以从隧道属性中解析出该地址信息,并在利用该隧道属性创建监控隧道之后,可以利用该隧道属性中的该地址信息和该监控隧道的隧道标识生成控制流表,并在本地存储该控制流表。在一个例子中,若边缘节点为支持Openflow协议的边缘节点,则可以由控制器生成控制流表,并将该控制流表发送给该边缘节点。若边缘节点为不支持Openflow协议的边缘节点,则可以由边缘节点自身生成控制流表。针对步骤203,在一个例子中,针对将统计策略发送给中间节点的过程,可以包括:控制器通过指定协议报文将该统计策略发送给中间节点。该指定协议报文可以包括但不限于:Openflow协议报文、或者NETCONF(网络配置)协议报文、或者SNMP(SimpleNetworkManagementProtocol,简单网络管理协议)报文。其中,SDN混合网络中可以包括支持Openflow协议的中间节点或者不支持Openflow协议的中间节点,对于支持Openflow协议的中间节点,控制器可以通过Openflow协议报文、或者NETCONF协议报文、或者SNMP报文,将统计策略发送给该中间节点。对于不支持Openflow协议的中间节点,则控制器可以通过NETCONF协议报文、或者SNMP报文,将统计策略发送给该中间节点。在一个例子中,中间节点在接收到统计策略之后,可以在本地存储该统计策略,该统计策略用于指示中间节点对报文的公网隧道头进行解析,并判断公网隧道头中是否包含该UDP端口信息,若包含,则对该报文进行统计。基于此,中间节点可以对该监控隧道中携带该UDP端口信息的报文进行统计,得到第一统计结果,并将第一统计结果上送给控制器。具体的,中间节点在接收到VXLAN隧道封装后的报文时,若中间节点上没有存储统计策略,则只是利用公网隧道头中的外层IP地址对报文进行转发。若中间节点上存储统计策略,则对报文的公网隧道头进行解析,若公网隧道头中包含该UDP端口信息,则对该报文进行统计,并将得到的第一统计结果上送给控制器。在一个例子中,控制器还可以将统计策略发送给边缘节点,边缘节点在接收到统计策略之后,可以在本地存储该统计策略,该统计策略用于指示边缘节点对报文的公网隧道头进行解析,并判断公网隧道头中是否包含该UDP端口信息,若包含,则对该报文进行统计。基于此,对于发送端的边缘节点,可以在对报文进行VXLAN隧道后,判断VXLAN隧道封装后的报文的公网隧道头中是否携带该UDP端口信息,如果是,则对报文进行统计,得到第二统计结果,并将第二统计结果上送给控制器。对于接收端的边缘节点,可以在接收到VXLAN隧道封装后的报文时,在对报文进行解封装之前,判断VXLAN隧道封装后的报文的公网隧道头中是否携带该UDP端口信息,如果是,则对报文进行统计,得到第二统计结果,并将第二统计结果上送给控制器。在一个例子中,边缘节点/中间节点对报文进行统计可以包括:对报文的速率进行统计。边缘节点/中间节点将第二统计结果/第一统计结果上报给控制器可以包括:周期性的将第二统计结果/第一统计结果上报给控制器,例如,每隔5秒,则将本周期的第二统计结果/第一统计结果上报给控制器。在一个例子中,对于支持Openflow协议的边缘节点/中间节点,则该边缘节点/中间节点可以通过Openflow协议报文、或者NETCONF协议报文、或者SNMP报文,将第二统计结果/第一统计结果上报给控制器。对于不支持Openflow协议的边缘节点/中间节点,则该边缘节点/中间节点可以通过NETCONF协议报文、或者SNMP报文,将第二统计结果/第一统计结果上报给控制器。在一个例子中,边缘节点/中间节点接收到的统计策略中还可以包括上述地址信息(即IP地址或者IP网段),因此,边缘节点/中间节点向控制器上报的第二统计结果/第一统计结果中,还可以携带该地址信息,以表示该第二统计结果/第一统计结果是针对该地址信息的第二统计结果/第一统计结果。针对步骤204,在一个例子中,控制器可以接收各中间节点上送的第一统计结果、各边缘节点上送的第二统计结果,并根据第一统计结果和第二统计结果对报文进行监控。控制器可以基于统计结果监控到报文的走向,并利用统计结果进行分析,为其它业务提供数据基础。例如,假设中间节点1上收到报文的速率较高,而中间节点2上收到报文的速率较低,基于此统计结果,就可以在中间节点1和中间节点2之间进行负载分担,以使中间节点1上收到报文的速率与中间节点2上收到报文的速率接近。假设边缘节点上发送报文的速率大于中间节点上接收报文的速率,基于此统计结果,可以确定出发生丢包问题,确定出哪个路径发生丢包问题,从而为解决丢包问题提供数据基础。综上所述,控制器可以接收到SDN混合网络的所有节点(中间节点和边缘节点)的统计结果,并根据这些统计结果对报文进行监控,从而在SDN混合网络中监控到报文的分布情况,实现报文在SDN混合网络全网范围内的监控。在一个例子中,在上述的过程中已经介绍到:在普通隧道的公网隧道头中,目的端口是4798,该4798表示报文是VXLAN隧道封装后的报文。基于此,以主机3向主机1发送报文为例,边缘节点1接收到的报文是VXLAN隧道封装后的报文(对边缘节点1收到报文之前的过程不再赘述),且公网隧道头中的目的端口是4798,因此,边缘节点1从公网隧道头中解析出目的端口是4798后,会对报文进行VXLAN隧道解封装,并将解封装后的报文发送给主机1。而本发明实施例中,由于将公网隧道头的目的端口修改为预设第二标识(如10001),因此,边缘节点在接收到VXLAN隧道封装后的报文时,无法基于目的端口是4798,确定出报文是VXLAN隧道封装后的报文。为了使边缘节点能够识别出报文是VXLAN隧道封装后的报文,本发明提出了如下技术方案:控制器生成隧道解封装策略,该隧道解封装策略包括UDP端口信息(如源端口是预设第一标识10000,目的端口是预设第二标识10001)。控制器将该隧道解封装策略发送给边缘节点。边缘节点接收到该隧道解封装策略后,可以在本地存储该隧道解封装策略,该隧道解封装策略用于指示边缘节点利用隧道解封装策略对监控隧道中携带该UDP端口信息的报文,进行该监控隧道对应的解封装处理。基于此,边缘节点在接收到VXLAN隧道封装后的报文时,若边缘节点上存储该隧道解封装策略,则对报文的公网隧道头进行解析,若公网隧道头中包含该UDP端口信息,则确定该报文为VXLAN隧道封装后的报文,并对该报文进行VXLAN隧道解封装处理,并发送解封装处理后的报文。本发明实施例中,控制器将隧道属性、或者统计策略、或者隧道解封装策略发送给边缘节点的过程,可以包括:控制器通过指定协议报文将隧道属性、或者统计策略、或者隧道解封装策略发送给每个边缘节点;或者,控制器通过指定协议报文将隧道属性、或者统计策略、或者隧道解封装策略发送给其它边缘节点,由该其它边缘节点通过BGP报文将隧道属性、或者统计策略、或者隧道解封装策略发送给边缘节点。基于此,边缘节点通过接收控制器发送的指定协议报文或者接收其它边缘设备发送的BGP报文,得到隧道属性、或者统计策略、或者隧道解封装策略。进一步,边缘节点还可以通过BGP报文将隧道属性、或者统计策略、或者隧道解封装策略发送给其它边缘节点。上述指定协议报文可以包括:Openflow协议报文、或者NETCONF协议报文、或者SNMP报文。在一个例子中,SDN混合网络中可以包括支持Openflow协议的边缘节点或者不支持Openflow协议的边缘节点,对于支持Openflow协议的边缘节点,控制器可以通过Openflow协议报文、或者NETCONF协议报文、或者SNMP报文,将隧道属性、或者统计策略、或者隧道解封装策略发送给边缘节点。对于不支持Openflow协议的边缘节点,控制器可以通过NETCONF协议报文、或者SNMP报文,将隧道属性、或者统计策略、或者隧道解封装策略发送给边缘节点。基于上述技术方案,本发明实施例中,在SDN混合网络中,无论中间节点是否识别VXLAN隧道封装的报文,中间节点均可以从报文的公网隧道头中解析出UDP端口信息,从而对包含UDP端口信息的报文进行统计,并将统计结果发送给控制器,以使控制器对报文进行监控,从而在SDN混合网络的全网范围对报文进行监控,较好地优化了SDN混合网络的运维监控功能。参见图3所示,为报文监控方法的流程图,该方法应用于边缘节点。步骤301,接收来自控制器的隧道属性,该隧道属性包括控制器为待监控的地址信息分配的UDP端口信息。步骤302,利用该隧道属性创建监控隧道。步骤303,利用该监控隧道发送与该地址信息匹配的报文。在一个例子中,在利用该监控隧道发送该报文时,对该报文进行该监控隧道对应的封装,且封装后的报文的隧道头中包括该UDP端口信息;以使中间节点对该监控隧道中携带该UDP端口信息的报文进行统计,并将得到的第一统计结果上送给控制器,由控制器根据该第一统计结果对报文进行监控。在一个例子中,边缘节点还可以接收来自控制器的统计策略,该统计策略包括该UDP端口信息。边缘节点利用该统计策略对监控隧道中携带该UDP端口信息的报文进行统计,得到第二统计结果,并将该第二统计结果上送给控制器,以使控制器根据该第二统计结果对报文进行监控。在一个例子中,边缘节点还可以接收来自该控制器的隧道解封装策略,该隧道解封装策略包括该UDP端口信息,并利用该隧道解封装策略对携带该UDP端口信息的隧道报文,进行解封装处理,并发送解封装处理后的报文。在一个例子中,边缘节点接收来自控制器的隧道属性、或者统计策略、或者隧道解封装策略的过程,可以包括:接收控制器发送的指定协议报文,该指定协议报文中携带隧道属性、或者统计策略、或者隧道解封装策略;其中,该指定协议报文包括:Openflow协议报文、或者NETCONF协议报文、或者SNMP报文。或者,接收其它边缘设备发送的BGP报文,该BGP报文携带控制器发送至其它边缘设备的隧道属性、或者统计策略、或者隧道解封装策略。在一个例子中,边缘节点还可以通过BGP报文将隧道属性、或者统计策略、或者隧道解封装策略发送给其它边缘节点。在一个例子中,隧道属性中还包括上述地址信息,边缘节点在利用该隧道属性创建监控隧道之后,还可以利用该隧道属性和该监控隧道生成控制流表;或者,边缘节点可以接收来自控制器的控制流表;其中,该控制流表的匹配选项为该地址信息,该控制流表的动作选项为监控隧道的隧道标识。针对边缘节点利用监控隧道发送与该地址信息匹配的报文的过程,可以包括:边缘节点在接收到匹配该控制流表的报文后,查询该控制流表中的隧道标识对应的监控隧道,并利用该监控隧道发送所述报文。基于上述技术方案,本发明实施例中,在SDN混合网络中,无论中间节点是否识别VXLAN隧道封装的报文,中间节点均可以从报文的公网隧道头中解析出UDP端口信息,从而对包含UDP端口信息的报文进行统计,并将统计结果发送给控制器,以使控制器对报文进行监控,从而在SDN混合网络的全网范围对报文进行监控,较好地优化了SDN混合网络的运维监控功能。基于与上述方法同样的发明构思,本发明实施例中还提供了一种报文监控装置,该报文监控装置可以应用在控制器上。其中,该报文监控装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的控制器的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图4所示,为本发明提出的报文监控装置所在的控制器的一种硬件结构图,除了图4所示的处理器、非易失性存储器外,控制器还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该控制器还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。如图5所示,为本发明提出的报文监控装置的结构图,所述装置包括:生成模块11,用于生成隧道属性和统计策略,所述隧道属性包括控制器为待监控的地址信息分配的UDP端口信息,该统计策略包括所述UDP端口信息;发送模块12,用于将所述隧道属性发送给边缘节点,以使所述边缘节点利用所述隧道属性创建监控隧道,并利用所述监控隧道发送与所述地址信息匹配的报文;所述边缘节点利用所述监控隧道发送所述报文时,对所述报文进行所述监控隧道对应的封装,且封装后的报文的隧道头中包括所述UDP端口信息;将所述统计策略发送给中间节点,以使所述中间节点对所述监控隧道中携带所述UDP端口信息的报文进行统计,得到第一统计结果;接收模块13,用于接收所述中间节点上送的第一统计结果;监控模块14,用于根据所述第一统计结果对报文进行监控。在一个例子中,所述发送模块12,还用于将所述统计策略发送给边缘节点,以使所述边缘节点对所述监控隧道中携带所述UDP端口信息的报文进行统计,得到第二统计结果;所述接收模块13,还用于接收所述边缘节点上送的第二统计结果;所述监控模块14,还用于根据所述第二统计结果对报文进行监控。在一个例子中,所述生成模块11,还用于生成隧道解封装策略,所述隧道解封装策略包括所述UDP端口信息;所述发送模块12,还用于将所述隧道解封装策略发送给边缘节点,以使所述边缘节点对所述监控隧道中携带所述UDP端口信息的报文,进行所述监控隧道对应的解封装处理。所述发送模块12,具体用于在将所述隧道属性、或者所述统计策略、或者所述隧道解封装策略发送给边缘节点的过程中,通过指定协议报文将所述隧道属性、或者所述统计策略、或者所述隧道解封装策略发送给每个边缘节点;或者,通过指定协议报文将所述隧道属性、或者所述统计策略、或者所述隧道解封装策略发送给其它边缘节点,由该其它边缘节点通过BGP报文将所述隧道属性、或者所述统计策略、或者所述隧道解封装策略发送给所述边缘节点;所述发送模块12,具体用于在将所述统计策略发送给中间节点的过程中,通过指定协议报文将所述统计策略发送给中间节点;其中,所述指定协议报文包括:Openflow协议报文、或者网络配置NETCONF协议报文、或者简单网络管理协议SNMP报文。基于与上述方法同样的发明构思,本发明实施例中还提供了一种报文监控装置,该报文监控装置可以应用在边缘节点上。其中,该报文监控装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的边缘节点的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图6所示,为本发明提出的报文监控装置所在的边缘节点的一种硬件结构图,除了图6所示的处理器、非易失性存储器外,边缘节点还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该边缘节点还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。如图7所示,为本发明提出的报文监控装置的结构图,所述装置包括:接收模块21,用于接收来自控制器的隧道属性,所述隧道属性包括所述控制器为待监控的地址信息分配的用户数据报协议UDP端口信息;创建模块22,用于利用所述隧道属性创建监控隧道;发送模块23,用于利用所述监控隧道发送与所述地址信息匹配的报文;其中,在利用所述监控隧道发送所述报文时,对所述报文进行所述监控隧道对应的封装,且封装后的报文的隧道头中包括所述UDP端口信息;以使中间节点对所述监控隧道中携带所述UDP端口信息的报文进行统计,并将得到的第一统计结果上送给所述控制器,由所述控制器根据所述第一统计结果对报文进行监控。所述接收模块21,还用于接收来自控制器的统计策略,所述统计策略包括所述UDP端口信息;所述发送模块23,还用于利用所述统计策略对所述监控隧道中携带所述UDP端口信息的报文进行统计,得到第二统计结果,并将第二统计结果上送给控制器,以使所述控制器根据所述第二统计结果对报文进行监控;所述接收模块21,还用于接收来自所述控制器的隧道解封装策略,所述隧道解封装策略包括所述UDP端口信息;所述发送模块23,还用于利用所述隧道解封装策略对携带所述UDP端口信息的隧道报文,进行解封装处理,并发送解封装处理后的报文。所述接收模块21,具体用于在接收来自控制器的隧道属性、或者统计策略、或者隧道解封装策略的过程中,接收控制器发送的指定协议报文,所述指定协议报文中携带隧道属性、或者统计策略、或者隧道解封装策略;其中,所述指定协议报文包括:Openflow协议报文、或者NETCONF协议报文、或者SNMP报文;或者,接收其它边缘设备发送的BGP报文,所述BGP报文携带所述控制器发送至其它边缘设备的隧道属性、或者统计策略、或者隧道解封装策略;所述发送模块23,还用于通过BGP报文将所述隧道属性、或者所述统计策略、或者所述隧道解封装策略发送给其它边缘节点。所述报文监控装置还包括(在图中未体现):获取模块,用于从所述隧道属性中解析出所述地址信息,并利用所述隧道属性和所述监控隧道生成控制流表;或者,接收来自所述控制器的控制流表;其中,所述控制流表的匹配选项为所述地址信息,所述控制流表的动作选项为所述监控隧道的隧道标识;所述发送模块23,具体用于在利用所述监控隧道发送与所述地址信息匹配的报文的过程中,在接收到匹配所述控制流表的报文后,查询所述控制流表中的隧道标识对应的监控隧道,并利用所述监控隧道发送所述报文。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1