【技术实现步骤摘要】
软件定义网络报文监控方法和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交换设备创建并下发表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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。