软件定义网络报文监控方法和SDN控制器、交换设备技术

技术编号:11456587 阅读:85 留言:0更新日期:2015-05-14 13:41
本发明专利技术公开了一种软件定义网络报文监控方法和SDN控制器、交换设备,该方法包括:SDN控制器确定镜像隧道,镜像隧道是被监控主机所在的源SDN交换设备与监控服务器所在的目的SDN交换设备之间的隧道;SDN控制器分别为镜像隧道上的源SDN交换设备、目的SDN交换设备创建并下发表ID为1的镜像流表,使源SDN交换设备以及目的SDN交换设备接收到镜像流表后,分别根据表ID为1将镜像流表保存在多级流表的第一级流表中。

【技术实现步骤摘要】
软件定义网络报文监控方法和SDN控制器、交换设备
本专利技术涉及通信
,特别是涉及一种软件定义网络报文监控方法和SDN控制器、交换设备。
技术介绍
SDN(SoftwareDefinedNetwork,软件定义网络)网络中的拓扑由SDN控制器维护,SDN交换设备之间的转发路径由SDN控制器根据拓扑计算得到,主机之间的转发流表也是由SDN控制器下发到指定的SDN交换设备上。SDN控制器也可以对某个主机进行实时的流量监控,只要将该主机发出的报文或者发送到该主机的报文封装为SDNPacket-in报文发送到SDN控制器即可,由SDN控制器统一解析报文内容。也可以在SDN交换设备上部署传统的监控协议(如基于采样的流量监控技术sFlow),由SDN交换设备上的监控客户端和监控服务器独立进行报文交互,监控客户端和监控服务器之间通过用户数据报协议(UserDatagramProtocol,UDP)报文传递监控数据包。SDN交换设备将被监控主机的数据报文封装在Packet-in报文中上送SDN控制器可以完成对主机的监控,但是会占用SDN控制器的存储和中央处理器(CentralProcessingUnit,CPU)资源,尤其在被监控主机数量比较多时,SDN控制器的负担就会过重,影响SDN网络的正常效率;直接在SDN交换设备上部署传统的监控协议需要在SDN交换设备上配置传统的路由协议,影响SDN控制器对网络的完全控制,当主机在网络中发生迁移时还需要重新在接入交换设备上配置传统的监控协议,使用场景比较受限。
技术实现思路
有鉴于此,本专利技术提出了一种SDN网络报文监控方法和SDN控制器、交换设备,有效解决了现有技术中SDN控制器存储监控数据导致的负担过重、或依赖监控协议实现监控控制的问题。本专利技术提出的技术方案是:一种SDN网络报文监控方法,该方法应用于SDN网络,SDN网络包括SDN控制器和SDN交换设备,SDN交换设备支持多级流表,该方法包括:SDN控制器确定镜像隧道,该镜像隧道是被监控主机所在的源SDN交换设备与监控服务器所在的目的SDN交换设备之间的隧道;所述SDN控制器分别为所述镜像隧道上的所述源SDN交换设备、所述目的SDN交换设备创建并下发表ID为1的镜像流表,使所述源SDN交换设备以及所述目的SDN交换设备接收到所述镜像流表后,分别根据表ID为1将镜像流表保存在多级流表的第一级流表中。一种SDN控制器,该SDN控制器所在的SDN网络还包括SDN交换设备,SDN交换设备支持多级流表,该SDN控制器包括:镜像隧道确定模块,用于确定镜像隧道,镜像隧道是被监控主机所在的源SDN交换设备与监控服务器所在的目的SDN交换设备之间的隧道;流表创建模块,用于分别为镜像隧道上的源SDN交换设备、目的SDN交换设备创建并下发表ID为1的镜像流表,使源SDN交换设备以及目的SDN交换设备接收到镜像流表后,分别根据表ID为1将镜像流表保存在多级流表的第一级流表中。一种SDN交换设备,该SDN交换设备支持多级流表,当所述SDN交换设备为SDN控制器创建的镜像隧道上的源SDN交换设备或目的SDN交换设备时,该设备包括:接收模块,用于接收SDN控制器创建并下发的表ID为1的镜像流表;存储模块,用于根据表ID为1将镜像流表保存在多级流表的第一级流表中;接收模块还用于,接收目的主机信息或源主机信息是被监控主机的地址信息的原始数据报文。综上,本专利技术提出了一种SDN网络报文监控方法,SDN控制器在源SDN交换设备与目的SDN交换设备之间建立镜像隧道,当源SDN交换设备监控到被监控主机发出的原始数据报文、或发送给被监控主机的原始数据报文后,复制监控到的原始数据报文,将复制的数据报文进行封装并添加镜像标签得到封装报文,然后将携带镜像标签的封装报文通过镜像隧道转发给目的SDN交换设备,使得目的SDN交换设备剥离镜像标签并解封装该封装报文,得到复制的数据报文,并将该复制的数据报文发送给监控服务器,实现对被监控主机的流量监控。该方法不需要占用SDN控制器的内存和CPU资源,不会影响SDN控制器的工作效率,也不必依赖监控协议,能够高效便捷的实现对被监控主机的流量监控。附图说明图1为本专利技术实施例的流程图;图2为本专利技术方法实施例的OpenFlow网络结构图;图3为方法实施例的流程图;图4为本专利技术实施例的SDN控制器结构图;图5为本专利技术实施例的SDN交换设备结构图。具体实施方式现有技术SDN网络中进行流量监控时,一种方法通过将被监控主机发出的原始数据报文或者发送到被监控主机的原始数据报文封装为SDNPacket-in报文发送到SDN控制器,由SDN控制器统一解析报文内容;另一种方法是通过在SDN交换设备上部署传统的监控协议,由SDN交换设备上的监控客户端和监控服务器独立进行报文交互。然而第一种方法会占用SDN控制器的存储和CPU资源,尤其在被监控主机数量比较多时,SDN控制器的负担就会过重,影响SDN网络的正常效率;第二种方法需要在SDN交换设备上配置传统的路由协议,影响SDN控制器对网络的完全控制,当主机在网络中发生迁移时还需要重新在接入交换设备上配置传统的监控协议,使用场景比较受限。为解决上述技术问题,本专利技术提出一种SDN网络报文监控的方法,本专利技术实施例的技术方案是:如图1所示,本专利技术一种SDN网络报文监控的方法应用于SDN控制器上,SDN控制器执行以下步骤:步骤101:SDN控制器确定镜像隧道,该镜像隧道是被监控主机所在的源SDN交换设备与监控服务器所在的目的SDN交换设备之间的隧道。本步骤中,SDN控制器将被监控主机所在的SDN交换设备确定为源SDN交换设备,将监控服务器所在的SDN交换设备确定为目的SDN交换设备,并根据拓扑在源SDN交换设备与目的SDN交换设备之间建立一条镜像隧道,该镜像隧道上除源SDN交换设备和目的SDN交换设备外,还可能存在其他中间SDN交换设备。步骤102:SDN控制器分别为镜像隧道上的源SDN交换设备、目的SDN交换设备创建并下发表ID为1的镜像流表,使源SDN交换设备以及目的SDN交换设备接收到镜像流表后,分别根据表ID为1将镜像流表保存在多级流表的第一级流表中。本步骤中,SDN控制器分别为镜像隧道上的源SDN交换设备、目的SDN交换设备创建并下发镜像流表。具体地,SDN控制器为源SDN交换设备创建表ID为1的镜像流表,该镜像流表的表ID为1,使得源SDN交换设备将该镜像流表保存在多级流表的第一级流表中。该表ID为1的镜像流表的匹配项是被监控主机的地址信息,动作项是复制原始数据报文、将复制的数据报文进行封装并添加镜像标签得到封装报文,并将封装报文从出端口转发。其中,封装报文的源MAC地址是源SDN交换设备的MAC地址,封装报文的目的MAC地址是目的SDN交换设备的MAC地址。SDN控制器将为源SDN交换设备创建的表ID为1的镜像流表下发给源SDN交换设备后,存储在源SDN交换设备的多级流表中的第一级流表中,使得源SDN交换设备接收到原始数据报文后,在多级流表的第一级流表中查找与原始数据报文的源主机信息或目的主机信息匹配的镜像流表,如果存在匹配的镜像流表,则确定该原始数据报文为被监控主机发出的原始数据报文,或该原始数据本文档来自技高网...
软件定义网络报文监控方法和SDN控制器、交换设备

【技术保护点】
一种软件定义网络报文监控方法,其特征在于,该方法应用于SDN网络,所述SDN网络包括SDN控制器和SDN交换设备,所述SDN交换设备支持多级流表,该方法包括:SDN控制器确定镜像隧道,所述镜像隧道是被监控主机所在的源SDN交换设备与监控服务器所在的目的SDN交换设备之间的隧道;所述SDN控制器分别为所述镜像隧道上的所述源SDN交换设备、所述目的SDN交换设备创建并下发表ID为1的镜像流表,使所述源SDN交换设备以及所述目的SDN交换设备接收到所述镜像流表后,分别根据表ID为1将所述镜像流表保存在多级流表的第一级流表中。

【技术特征摘要】
1.一种软件定义网络报文监控方法,其特征在于,该方法应用于SDN网络,所述SDN网络包括SDN控制器和SDN交换设备,所述SDN交换设备支持多级流表,该方法包括:SDN控制器确定镜像隧道,所述镜像隧道是被监控主机所在的源SDN交换设备与监控服务器所在的目的SDN交换设备之间的隧道;所述SDN控制器分别为所述镜像隧道上的所述源SDN交换设备、所述目的SDN交换设备创建并下发表ID为1的镜像流表,使所述源SDN交换设备以及所述目的SDN交换设备接收到所述镜像流表后,分别根据表ID为1将所述镜像流表保存在多级流表的第一级流表中;其中,所述SDN控制器为所述源SDN交换设备创建的表ID为1的镜像流表的匹配项是所述被监控主机的地址信息,动作项是复制原始数据报文、将复制的数据报文进行封装并添加镜像标签得到封装报文,将所述封装报文从出端口转发;所述封装报文的源MAC地址是所述源SDN交换设备的MAC地址,所述封装报文的目的MAC地址是所述目的SDN交换设备的MAC地址;所述SDN控制器为所述目的SDN交换设备创建的表ID为1的镜像流表的匹配项是所述封装报文的目的MAC地址和所述镜像标签,动作项是剥离所述镜像标签并解封装所述封装报文、将解封装所述封装报文得到的所述复制的数据报文通过出端口转发给所述监控服务器。2.根据权利要求1所述的方法,其特征在于,该方法进一步包括:所述SDN控制器接收所述源SDN交换设备发来的封装在Pack-in报文中的原始数据报文,根据所述封装在Pack-in报文中的原始数据报文为所述源SDN交换设备创建并下发表ID为2的普通转发流表,使所述源SDN交换设备接收到所述表ID为2的普通转发流表后,根据所述表ID为2将所述普通转发流表保存在多级流表的第二级流表中;其中,所述原始数据报文的目的主机信息或源主机信息是所述被监控主机的地址信息。3.根据权利要求2所述的方法,其特征在于,所述SDN控制器为所述源SDN交换设备创建的表ID为1的镜像流表是扩展了一个MIRROR类型的Instruction的流表。4.根据权利要求1所述的方法,其特征在于,该方法进一步包括:所述SDN控制器还为镜像隧道上的其他中间SDN交换设备创建并下发表ID为缺省值的镜像流表,使所述镜像隧道上的其他中间SDN交换设备接收到所述镜像流表后,分别根据表ID为缺省值将镜像流表保存在多级流表的任一级流表中。5.一种SDN控制器,其特征在于,所述SDN控制器所在的SDN网络还包括SDN交换设备,所述SDN交换设备支持多级流表,该SDN控制器包括:镜像隧道确定模块,用于确定镜像隧道,所述镜像隧道是被监控主机所在的源SDN交换设备与监控服务器所在的目的SDN交换设备之间的隧道;流表创建模块,用于分别为所述镜像隧道上的所述源SDN交换设备、所述目的SDN交换设备创建并下发表ID为1的镜像流表,使所述源SDN交换设备以及所述目的SDN交换设备接收到所述镜像流表后,分别根据所述表ID为1将所述镜像流表保存在多级流表的第一级流表中;其中,所述流表创建模块进一步包括:源镜像流表创建子模块,用于为所述源SDN交换设备创建表ID为1的镜像流表,所述为所述源SDN交换设备创建的表ID为1的镜像流表的匹配项是所述被监控主机的地址信息,动作项是复制原始数据报文、将复制的数据报文进行封装并添加镜像标签得到封装报文,将所述封装报文从出端口转发;所述封装报文的源MAC地址是所述源SDN交换设备的MAC地址,所述封装报文的目的MAC地址是所述目的SDN交换设备的MAC地址;目的镜像流表创建子模块,用于为所述目的SDN交换设备创建表...

【专利技术属性】
技术研发人员:宋小恒
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1