报文处理方法和装置的制作方法

文档序号:7870292阅读:125来源:国知局
专利名称:报文处理方法和装置的制作方法
技术领域
本发明涉及通信技术,尤其涉及一种报文处理方法和装置。
背景技术
目前,控制和转发分离的网络主要包括开放流(Openflow,简称0F)网络,该网络主要包括两类设备0F控制器和OF交换机。其中,OF控制器用于对网络进行集中控制,并给OF交换机下发流表,OF交换机用于根据该流表对接收到的报文进行匹配和转发;其中,OF控制器是向用户开放的。另外,在该OF交换机接收到的报文为未知单播报文或广播报文时,将这些未知单播报文或广播报文发送给控制器,由控制器对接收到的未知单播报文或广播报文进行解析,获取源介质访问控制(Medium Access Control,简称MAC)地址之后,并采用逐跳泛洪的方式对解析后的未知单播报文或广播报文进行处理,具体的,控制器将解析后的未知单播报文或广播报文发送给与该控制器相连的所有OF交换机,再分别由每个OF交换机对接收到的解析后的未知单播报文或广播报文进行全网泛洪。但是,由于控制器是采用逐跳泛洪的方式对未知单播报文或者广播报文进行处理,从而占用的大量数据通道的带宽以及控制通道的带宽,造成了信道资源的浪费。

发明内容
本发明实施例提供一种报文处理方法和装置,用于解决现有技术中控制器由于采用逐跳泛洪的方式对未知单播报文或者广播报文进行处理,而占用的大量数据通道的带宽以及控制通道的带宽问题。

本发明第一方面提供一种报文处理方法,包括接收第一转发设备发送的报文;若根据所述报文中的目的介质访问控制MAC地址,判断出所述报文为未知报文,则判断所述第一转发设备是否为边沿转发设备,其中,所述边沿转发设备为与服务器直接相连接的转发设备;若判断出所述第一转发设备为边沿转发设备,则根据转发设备的信息库,将所述未知报文分别发送给第二转发设备;所述第二转发设备为网络中除所述第一转发设备之外的边沿转发设备。结合第一方面的第一种实现方式中,所述方法还包括获取所述网络中每个转发设备的信息,并根据每个所述转发设备的信息,生成所述转发设备的信息库;所述每个转发设备的信息均包括转发设备的ID信息和转发设备的IP地址。结合第一方面或第一方面的第一种实现方式的第二种实现方式中,所述判断所述第一转发设备是否为边沿转发设备,包括根据所述报文中的所述第一转发设备的IP地址,获取所述第一转发设备的ID信息;
根据所述ID信息,判断所述第一转发设备是否为边沿转发设备。结合第一方面的第二种实现方式的第三种实现方式中,所述根据转发设备的信息库,将所述未知报文分别发送第二转发设备,包括根据所述转发设备的信息库中的ID信息,确定所述第二转发设备;根据每个所述第二转发设备对应的ID信息,将所述未知报文分别发送给所述第二转发设备。本发明实施例第二方面提供一种报文处理装置,包括接收模块,用于接收第一转发设备发送的报文;判断模块,用于根据所述接收模块接收到的所述报文中的目的介质访问控制MAC地址,判断所述报文是否为未知报文;若判断出所述报文为未知报文,判断所述第一转发设备是否为边沿转发设备,其中,所述边沿转发设备为与服务器直接相连接的转发设备;发送模块,用于若所述判断模块判断出所述第一转发设备为边沿转发设备,则根据转发设备的信息库,将所述未知报文分别发送给第二转发设备;所述第二转发设备为网络中除所述第一转发设备之外的边沿转发设备。结合第二方面的第一种实现方式中,所述报文处理装置还包括获取模块,用于获取所述网络中每个转发设备的信息;生成模块,用于根据所述获取模块获取到的每个所述转发设备的信息,生成所述转发设备的信息库;所述每个转发设备的信息均包括转发设备的ID信息。结合第二方面或第二方面的第一种实现方式的第二种实现方式中,所述判断模块,还包括获取单元,用于根据所述报文中的所述第一转发设备的IP地址,获取所述第一转发设备的ID信息;判断单元,用于根据所述ID信息,判断所述第一转发设备是否为边沿转发设备。结合第二方面的第二种实现方式的第三种实现方式中,所述报文处理装置还包括确定模块,用于根据所述转发设备的信息库中的ID信息,确定所述第二转发设备;则所述发送模块还用于根据每个所述第二转发设备对应的ID信息,将所述未知报文分别发送给所述第二转发设备。本发明实施例中,通过接收到第一转发设备发送的报文后,若根据报文中的MAC地址,判断出报文为未知报文,且该第一转发设备为边沿转发设备时,根据转发设备的信息库,将该报文分别发送给第二转发设备,其中,该第二转发设备为网络中除第一转发设备之外的边沿转发设备,从而解决了现有技术中控制器由于采用逐跳泛洪的方式对未知单播报文或者广播报文进行处理,而占用的大量数据通道的带宽以及控制通道的带宽问题,有效地节省了带宽资源。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明报文处理方法所基于的控制和转发分离的网络的架构示意图;图2为本发明报文处理方法的一个实施例的流程图;图3为本发明报文处理装置的一个实施例的结构示意图;图4为本发明报文处理装置的另一个实施例的结构示意图;图5为本发明报文处理装置的又一个实施例的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明报文处理方法所基于的控制和转发分离的网络的架构示意图,如图1所示,该网络可以是OF网络,具体的,该网络包括转发设备10、控制器20和服务器30。其中,转发设备10可以是OF网络中的OF交换机,控制器20对网络进行集中控制,在OF网络中,可以存在多个转发设备10和多个服务器30,图1中以5个转发设备10和3个服务器30为例,但并不以此为限。服务器30如果想要获取某个报文,会提前将包含源介质访问控制(MediaAccessControl,简称MAC)地址的请求消息通过转发设备10上报给控制器20,以供控制器20保存该服务器30对应源MAC地址。另外,在本实施例中,将与服务器30直接相连接的转发设备10称之为边沿转发 设备,而不与服务器30直接相连的转发设备10称之为非边沿转发设备。图2为本发明报文处理方法的一个实施例的流程图,在上述图1所示网络的基础上,如图2所示,在本实施例中该方法的执行主体为控制器,则该方法包括步骤201、接收第一转发设备发送的报文。 在实施例中,当转发设备接收到报文后,会发送给控制器,此处报文可以为单播报文或广播报文。步骤202、若根据该报文中的目的MAC地址,判断出该报文为未知报文,则判断该第一转发设备是否为边沿转发设备,其中,该边沿转发设备为与服务器直接相连接的转发设备。在本实施例中,具体实现过程中,控制器在接收到上述报文,对上述报文解析之后,会先对报文的源MAC地址进行保存,进而查询之前控制器接收的服务器发送的请求消息中携带的源MAC,判断是否存在与上述报文的源MAC地址相同的MAC地址,如果判断出存在,则将请求消息中的MAC地址以单播的形式回复给上述第一转发设备,如果判断出不存在,则认为该报文为未知报文。步骤203、若判断出该第一转发设备为边沿转发设备,则根据转发设备的信息库,将该未知报文分别发送给第二转发设备,该第二转发设备为网络中除该第一转发设备之外的边沿转发设备。需要说明的是,若判断出该第一转发设备不是边沿转发设备,则不对报文作任何处理,可以是将该报文丢弃。另外,控制器在将该未知报文发送给第二转发设备的同时,指示第二转发设备将上述未知报文泛洪出去。在本实施例中,通过接收到第一转发设备发送的报文后,若根据报文中的MAC地址,判断出报文为未知报文,且该第一转发设备为边沿转发设备时,根据转发设备的信息库,将该报文分别发送给第二转发设备,其中,该第二转发设备为网络中除第一转发设备之外的边沿转发设备,从而解决了现有技术中控制器由于采用逐跳泛洪的方式对未知单播报文或者广播报文进行处理,而占用的大量数据通道的带宽以及控制通道的带宽问题,有效地节省了带宽资源。进一步的,在本发明的另一个实施例中,在上述图2所示实施例的基础上,该方法还可以包括获取该网络中每个转发设备的信息,并根据每个转发设备的信息,生成转发设备的信息库,每个转发设备的信息均包括转发设备的身份标识(Identity,简称ID)信息和转发设备的网络之间互连的协议(Internet Protocol,简称IP)地址;另外,每个转发设备的信息中还包括转发设备的路径接口标识、并标记该转发设备是否为边沿转发设备,这些信息可以是由转发设备主动上报给控制器的。更进一步的,在本发明的还一个实施例中,在上述图2所示实施例的基础上,步骤202中判断该第一转发设备是否为边沿转发设备的具体实现方式为根据该报文中的第一转发设备的IP地址,获取该第一转发设备的ID信息;根据该ID信息,判断该第一转发设备是否为边沿转发设备,具体的,上述第一转发设备在给控制器发送上述报文时,会在报文中携带该第一转发设备的IP地址,控制器根据该IP地址,可以在转发设备的信息库中获取到该第一转发设备的ID信息,再根据该ID信息,在上述转发设备的信息库中查看该转发设备是否为边沿转发设备。优选的,步骤203中根据转发设备的信息库,将该未知报文分别发送给第二转发设备的具体实现方式为`根据该转发设备的信息库中的ID信息,确定该第二转发设备;将该未知报文分别发送给该第二转发设备。在本实施例中,控制器先根据该转发设备的信息库中的ID信息,确定转发设备的信息库中的哪些转发设备是第二转发设备,上述转发设备的信息库中标记有哪些转发设备是边沿转发设备,只要根据上述第一转发设备的ID信息,将该第一转发设备排除,就可确定哪些转发设备为第二转发设备;在确定出哪些转发设备是第二转发设备后,根据该ID信息,将该未知报文分别发送给该第二转发设备,同时控制器通知第二转发设备将上述未知报文进行泛洪处理,即将该未知报文从转发设备的每一个数据路径接口进行发送。本实施例中,通过接收到第一转发设备发送的报文后,若根据报文中的MAC地址,判断出报文为未知报文,且该第一转发设备为边沿转发设备时,根据转发设备的信息库,将该报文分别发送给第二转发设备,从而解决了现有技术中控制器由于采用逐跳泛洪的方式对未知单播报文或者广播报文进行处理,而占用的大量数据通道的带宽以及控制通道的带宽问题,有效地节省了带宽资源。图3为本发明报文处理装置的一个实施例的结构示意图,该报文处理装置可以是上述控制器,如图3所示,该报文处理装置包括接收模块301、判断模块302和发送模块303。其中,接收模块301,用于接收第一转发设备发送的报文;判断模块302,,用于根据上述接收模块301接收到的上述报文中的目的介质访问控制MAC地址,判断该报文是否为未知报文;若判断出上述报文为未知报文,判断上述第一转发设备是否为边沿转发设备,其中,该边沿转发设备为与服务器直接相连接的转发设备。发送模块303,用于上述判断模块302判断出上述第一转发设备为边沿转发设备,根据转发设备的信息库,将上述未知报文分别发送给第二转发设备;需要说明的是,该第二转发设备为网络中除上述第一转发设备之外的边沿转发设备。本实施的报文处理装置可以执行图2所示方法实施例的技术方案,其实现原理相类似,此处不再赘述。本实施例中,通过接收到第一转发设备发送的报文后,若根据报文中的MAC地址,判断出报文为未知报文,且该第一转发设备为边沿转发设备时,根据转发设备的信息库,将该报文分别发送给第二转发设备,从而解决了现有技术中控制器由于采用逐跳泛洪的方式对未知单播报文或者广播报文进行处理,而占用的大量数据通道的带宽以及控制通道的带宽问题,有效地节省了带宽资源。图4为本发明报文处理装置的另一个实施例的结构示意图,在上述图3所示实施例的基础上,该装置还包括获取模块304、生成模块305和确定模块306,其中,上述判断模块302还具体包括获取单元401和判断单元402,具体地,获取模块304,用于获取所述网络中每个转发设备的信息;生成模块305,用于根据所述获取模块301获取到的每个上述转发设备的信息,生成该转发设备的信息库;上述每个转发设备的信息均包括转发设备的ID信息。进一步地,判断模块302中,获取单元401,用于根据所述报文中的上述第一转发设备的IP地址,获取该第一转发设备的ID信息;判断单元402,用于根据所述ID信息,判断所述第一转发设备是否为边沿转发设备。更为优选的,该装置还可以包括确定模块306,用于根据上述转发设备的信息库中的ID信息,确定上述第二转发设备;则发送模块303还用于根据每个第二转发设备对应的ID信息,将上述未知报文分别发送给各第二转发设备。本实施的报文处理装置可以执行图2所示方法实施例的技术方案,其实现原理相类似,此处不再赘述。本实施例中,通过接收到第一转发设备发送的报文后,若根据报文中的MAC地址,判断出报文为未知报文,且该第一转发设备为边沿转发设备时,根据转发设备的信息库,将该报文分别发送给第二转发设备,其中,该第二转发设备为网络中除第一转发设备之外的边沿转发设备,从而解决了现有技术中控制器由于采用逐跳泛洪的方式对未知单播报文或者广播报文进行处理,而占用的大量数据通道的带宽以及控制通道的带宽问题,有效地节省了带宽资源。图5为本发明报文处理装置的又一个实施例的结构示意图,如图5所示,该装置包括接收器501、处理器502和发送 器503,其中,接收器501用于接收第一转发设备发送的报文;处理器502用于根据接收到的所述报文中的目的介质访问控制MAC地址,判断所述报文是否为未知报文;若判断出所述报文为未知报文,判断所述第一转发设备是否为边沿转发设备,其中,所述边沿转发设备为与服务器直接相连接的转发设备;发送器503,用于若判断出所述第一转发设备为边沿转发设备,则根据转发设备的信息库,将所述未知报文分别发送给第二转发设备;所述第二转发设备为网络中除所述第一转发设备之外的边沿转发设备。优选地,上述处理器502还用于获取所述网络中每个转发设备的信息;根据获取到的每个所述转发设备的信息,生成所述转发设备的信息库;所述每个转发设备的信息均包括转发设备的ID信息和转发设备的IP地址。更为优选地,处理器502具体用于根据所述报文中的所述第一转发设备的IP地址,获取所述第一转发设备的ID信息;根据所述ID信息,判断所述第一转发设备是否为边沿转发设备。更为优选地,处理器502用于根据所述转发设备的信息库中的ID信息,确定所述第二转发设备;发送器503,还用于根据每个所述第二转发设备对应的ID信息,将所述未知报文分别发送给所述第二转发设备。本领域普通技术人员可以理解实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改 或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.一种报文处理方法,其特征在于,包括 接收第一转发设备发送的报文; 若根据所述报文中的目的介质访问控制MAC地址,判断出所述报文为未知报文,则判断所述第一转发设备是否为边沿转发设备,其中,所述边沿转发设备为与服务器直接相连接的转发设备; 若判断出所述第一转发设备为边沿转发设备,则根据转发设备的信息库,将所述未知报文分别发送给第二转发设备;所述第二转发设备为网络中除所述第一转发设备之外的边沿转发设备。
2.根据权利要求1所述的方法,其特征在于,还包括 获取所述网络中每个转发设备的信息,并根据每个所述转发设备的信息,生成所述转发设备的信息库;所述每个转发设备的信息均包括转发设备的ID信息和转发设备的IP地址。
3.根据权利要求1或2所述的方法,其特征在于,所述判断所述第一转发设备是否为边沿转发设备,包括 根据所述报文中的所述第一转发设备的IP地址,获取所述第一转发设备的ID信息; 根据所述ID信息,判断所述第一转发设备是否为边沿转发设备。
4.根据权利要求3所述的方法,其特征在于,所述根据转发设备的信息库,将所述未知报文分别发送第二转发设备,包括 根据所述转发设备的信息库中的ID信息,确定所述第二转发设备; 根据每个所述第二转发设备对应的ID信息,将所述未知报文分别发送给所述第二转发设备。
5.一种报文处理装置,其特征在于,包括 接收模块,用于接收第一转发设备发送的报文; 判断模块,用于根据所述接收模块接收到的所述报文中的目的介质访问控制MAC地址,判断所述报文是否为未知报文;若判断出所述报文为未知报文,判断所述第一转发设备是否为边沿转发设备,其中,所述边沿转发设备为与服务器直接相连接的转发设备; 发送模块,用于若所述判断模块判断出所述第一转发设备为边沿转发设备,则根据转发设备的信息库,将所述未知报文分别发送给第二转发设备;所述第二转发设备为网络中除所述第一转发设备之外的边沿转发设备。
6.根据权利要求5所述的报文处理装置,其特征在于,还包括 获取模块,用于获取所述网络中每个转发设备的信息; 生成模块,用于根据所述获取模块获取到的每个所述转发设备的信息,生成所述转发设备的信息库;所述每个转发设备的信息均包括转发设备的ID信息和转发设备的IP地址。
7.根据权利要求5或6所述的报文处理装置,其特征在于,所述判断模块,还包括 获取单元,用于根据所述报文中的所述第一转发设备的IP地址,获取所述第一转发设备的ID信息; 判断单元,用于根据所述ID信息,判断所述第一转发设备是否为边沿转发设备。
8.根据权利要求7所述的报文处理装置,其特征在于,还包括确定模块,用于根据所述转发设备的信息库中的ID信息,确定所述第二转发设备; 则所述发送模块还用于根据每个所述第二转发设备对应的ID信息,将所述未知报文分别发送给所述第二转发设备。
全文摘要
本发明实施例提供一种报文处理方法和装置,该方法包括接收第一转发设备发送的报文;若根据所述报文中的目的介质访问控制MAC地址,判断出所述报文为未知报文,则判断所述第一转发设备是否为边沿转发设备,其中,所述边沿转发设备为与服务器直接相连接的转发设备;若判断出所述第一转发设备为边沿转发设备,则根据转发设备的信息库,将所述未知报文分别发送给第二转发设备;所述第二转发设备为网络中除所述第一转发设备之外的边沿转发设备。本发明实施例中,通过将接收到第一边沿转发设备发送的未知报文仅发送给网络中除该边沿转发设备外的边沿转发设备,从而节省了控制器和转发设备之间的带宽,也就实现了带宽资源的节省。
文档编号H04L12/741GK103067280SQ20121057410
公开日2013年4月24日 申请日期2012年12月26日 优先权日2012年12月26日
发明者董雯霞, 倪辉, 吴小前 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1