CN104618194A - 软件定义网络报文监控方法和sdn控制器、交换设备 - Google Patents
软件定义网络报文监控方法和sdn控制器、交换设备 Download PDFInfo
- Publication number
- CN104618194A CN104618194A CN201510083108.6A CN201510083108A CN104618194A CN 104618194 A CN104618194 A CN 104618194A CN 201510083108 A CN201510083108 A CN 201510083108A CN 104618194 A CN104618194 A CN 104618194A
- Authority
- CN
- China
- Prior art keywords
- mirror image
- switching equipment
- sdn
- stream table
- sdn switching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
本发明公开了一种软件定义网络报文监控方法和SDN控制器、交换设备,该方法包括:SDN控制器确定镜像隧道,镜像隧道是被监控主机所在的源SDN交换设备与监控服务器所在的目的SDN交换设备之间的隧道;SDN控制器分别为镜像隧道上的源SDN交换设备、目的SDN交换设备创建并下发表ID为1的镜像流表,使源SDN交换设备以及目的SDN交换设备接收到镜像流表后,分别根据表ID为1将镜像流表保存在多级流表的第一级流表中。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种软件定义网络报文监控方法和SDN控制器、交换设备。
背景技术
SDN(Software Defined Network,软件定义网络)网络中的拓扑由SDN控制器维护,SDN交换设备之间的转发路径由SDN控制器根据拓扑计算得到,主机之间的转发流表也是由SDN控制器下发到指定的SDN交换设备上。SDN控制器也可以对某个主机进行实时的流量监控,只要将该主机发出的报文或者发送到该主机的报文封装为SDN Packet-in报文发送到SDN控制器即可,由SDN控制器统一解析报文内容。也可以在SDN交换设备上部署传统的监控协议(如基于采样的流量监控技术sFlow),由SDN交换设备上的监控客户端和监控服务器独立进行报文交互,监控客户端和监控服务器之间通过用户数据报协议(User Datagram Protocol,UDP)报文传递监控数据包。
SDN交换设备将被监控主机的数据报文封装在Packet-in报文中上送SDN控制器可以完成对主机的监控,但是会占用SDN控制器的存储和中央处理器(Central Processing Unit,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网络中进行流量监控时,一种方法通过将被监控主机发出的原始数据报文或者发送到被监控主机的原始数据报文封装为SDN Packet-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交换设备创建的表ID为1的镜像流表是扩展了一个MIRROR类型的指令Instruction的流表,该扩展了一个MIRROR类型的Instruction的流表能保证源SDN交换设备复制得到的数据报文是与该源SDN交换设备接收到的未经修改的原始数据报文完全一样的数据报文,保证发送给监控服务器的数据报文在封装之前与原始数据报文完全相同。
此外,源SDN交换设备还需完成正常的数据报文转发,因此,源SDN交换设备首次接收到被监控主机发送的原始数据报文、或首次接收到发送给被监控主机的原始数据报文后,在查找不到匹配的普通转发流表的情况下,将接收到的原始数据报文封装在Pack-in报文中发送给SDN控制器。SDN控制器接收到源SDN交换设备发来的封装在Pack-in报文中的原始数据报文后,根据该封装在Pack-in报文中的原始数据报文为源SDN交换设备创建并下发表ID为2的普通转发流表,使源SDN交换设备接收到该普通转发流表后,根据表ID为2将普通转发流表保存在多级流表的第二级流表中。
这里,SDN网络中的每个SDN交换设备均支持多级流表,当SDN交换设备接收到数据报文后,按照流表级别的高低逐级查询多级流表,一旦查询到匹配的流表项,则根据匹配的流标项的动作集内容对数据报文进行处理,直至多级流表全部查询完毕。因此,为了使源SDN交换设备既能实现报文监控功能,又能实现正常的报文转发,SDN控制器令镜像流表的表ID为1,令普通转发流表的表ID为2,则源SDN交换设备将镜像流表保存在多级流表的第一级流表中,将普通转发流表保存在多级流表的第二级流表中,这样源SDN交换设备在第一级流表中查询到匹配的镜像流表后,对原始数据报文进行复制,然后对复制的数据报文作进一步处理,不影响原始数据报文,使得原始数据报文能根据第二级流表中查询到的匹配的普通转发流表进行无修改转发。
SDN控制器为目的SDN交换设备创建携带表ID为1的镜像流表,该镜像流表的表ID为1使得目的SDN交换设备将该镜像流表保存在多级流表的第一级流表中。该表ID为1的镜像流表的匹配项是封装报文的目的MAC地址和镜像标签,动作项是剥离镜像标签并解封装报文、将解封装报文得到的源SDN交换设备复制的数据报文通过出端口转发给监控服务器。
更进一步地,SDN控制器还为镜像隧道上的其他中间SDN交换设备创建并下发表ID为缺省值的镜像流表,使镜像隧道上的其他中间SDN交换设备接收到该镜像流表后,分别根据表ID为缺省值将镜像流表保存在多级流表的任一级流表中,该携带表ID为缺省值的镜像流表的匹配项是封装报文的目的MAC地址,动作项是通过出端口转发封装报文。
为使本发明的目的、技术方案和优点表达的更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
下面结合具体实施例对上述SDN网络报文监控的方法进行详细说明。
目前,SDN技术中最为流行的是OpenFlow协议,以下将以OpenFlow进行举例进行说明,需要说明的是,本申请并不排除其他能够实现SDN功能的协议。
图2为本方法实施例的OpenFlow网络结构图,如图2所示,Switch1~Switch 4为OpenFlow交换设备,主机1为Switch 1上的主机设备,主机1的IP地址为IP-1,MAC地址为MAC-1;主机3为Switch 3上的主机设备,主机3的IP地址为IP-3,MAC地址为MAC-3;监控服务器位于Switch 4上,监控服务器的MAC地址为MAC-K4。本实施例以监控主机1上的数据流量为例对本发明技术方案进行详细说明,图3为本实施例的流程图,如图3所示,包括以下步骤:
步骤301:主机1发送原始数据报文1给Switch 1。
本步骤中,主机1与主机3通信,主机1将发送给主机3的原始数据报文1发送给Switch 1,使得Switch 1将原始数据报文1转发给主机3。其中,原始数据报文1的源IP地址为IP-1,目的IP地址为IP-3。
步骤302:Switch 1接收到原始数据报文1,根据原始数据报文1的源IP地址查询多级流表的第一级流表,确定匹配的镜像流表。
本步骤中,Switch 1接收到的原始数据报文1为主机1发送的原始数据报文,因此根据原始数据报文1的源IP地址IP-1查询多级流表的第一级流表,确定匹配的镜像流表。
如果本步骤中Switch 1接收到的原始数据报文是发送给主机1的原始数据报文,则Switch 1根据该原始数据报文的目的IP地址查询多级流表的第一级流表,确定匹配的镜像流表。
由于本实施例监控的是主机1的流量,因此主机1发送的原始数据流量和发送给主机1的原始数据流量都要被监控,即Switch 1接收到的源IP地址为IP-1、以及目的IP地址为IP-1的原始数据报文都要被监控。本步骤中的原始数据报文1为主机1发送的原始数据报文,因此Switch 1根据原始数据报文1的源IP地址查询多级流表的第一级流表时会有匹配的镜像流表。
镜像流表是OpenFlow控制器确定要监控主机1后,将主机1所在的Switch 1确定为源交换设备,将监控服务器所在的Switch 4确定为目的交换设备,根据拓扑在源交换设备与目的交换设备之间建立一条镜像隧道Switch1-Switch 2-Switch 4后,为镜像隧道上的各Switch设备创建并下发的。其中,OpenFlow控制器为Switch 1和Switch 4创建并下发的镜像流表的表ID为1,表示Switch 1和Switch 4接收到镜像流表后,分别将镜像流表保存在多级流表中的第一级流表中;OpenFlow控制器为Switch 2创建并下发的镜像流表的表ID为缺省值,表示Switch 2接收到该镜像流表后,可以将镜像流表保存在多级流表的任一级流表中。。
本实施例中,OpenFlow控制器为Switch 1创建并下发的镜像流表如表1所示,为Switch 2创建并下发的镜像流表如表2所示,为Switch 4创建并下发的镜像流表如表3所示:
表1
表2
匹配项 | 动作项 |
MAC-4 | 将封装报文通过端口24转发 |
表3
本步骤中,Switch 1确定的与原始数据报文1匹配的镜像流表如表1所示。
步骤303:Switch 1根据匹配的镜像流表复制原始数据报文1,对复制的数据报文进行封装、添加镜像标签得到封装报文1,并转发封装报文1。
本步骤中,Switch 1根据表1所示的镜像流表对原始数据报文1进行复制,将复制得到的数据报文1进行封装,封装的源MAC地址为MAC-1,封装的目的MAC地址为MAC-4,并添加镜像标签X得到封装报文1,将封装报文1通过端口12转发出去。
步骤304:Switch 1根据原始数据报文1的目的IP地址查询多级流表的第二级流表,确定匹配的普通转发流表。
本步骤中,Switch 1根据原始数据报文1的目的IP地址查询多级流表的第二级流表,确定匹配的普通转发流表。普通转发流表是OpenFlow控制器接收到Switch 1封装在Pack-in报文中的原始数据报文1后,根据拓扑计算得到的主机1到主机3的转发路径创建并下发的流表,该普通转发流表的表ID为2,使得接收到普通转发流表的Switch 1根据该表ID为2将普通转发流表保存在多级流表的第二级流表中,用于指导原始数据报文在OpenFlow网络中的正常转发。
假设Switch 1上与IP-1匹配的普通转发流表如表4所示:
表4
匹配项 | 动作项 |
IP-1 | 将原始数据报文通过端口13转发 |
步骤305:Switch 1通过端口13将原始数据报文1转发出去。
后续原始数据报文1被Switch 3接收到后,根据原始数据报文1的目的IP地址查询自身多级流表的第二级流表,确定匹配的普通转发流表,根据确定出的匹配的普通转发流表将原始数据报文1转发给主机3。
步骤306:Switch 2接收到封装报文1后,根据封装报文1的目的MAC地址查询多级流表的第一级流表,确定匹配的镜像流表。
本步骤中,Switch 2接收到封装报文1后,根据封装报文1的目的MAC地址MAC-4查询多级流表的第一级流表,确定匹配的镜像流表,确定出的匹配的镜像流表如表2所示。
步骤307:Switch 2将封装报文1通过端口24转发。
本步骤中,根据步骤306确定出的匹配的镜像流表,Switch 2将封装报文1通过端口24转发。
步骤308:Switch 4接收到封装报文1后,根据封装报文1的目的MAC地址和镜像标签查询多级流表的第一级流表,确定匹配的镜像流表。
本步骤中,Switch 4接收到封装报文1后,发现封装报文1的目的MAC地址为自身MAC地址,则根据封装报文1的目的MAC地址MAC-4和镜像标签X查询多级流表的第一级流表,确定匹配的镜像流表,确定出的匹配的镜像流表如表3所示。
步骤309:Switch 4将封装报文1剥离镜像标签、解封装得到复制的数据报文1,并将数据报文1通过端口44转发。
本步骤中,根据步骤308确定出的匹配的镜像流表,Switch 4将封装报文1剥离镜像标签并解封装得到Switch 1复制的数据报文1,将解封装得到的复制的数据报文1通过端口44转发给监控服务器,实现对主机1发出的原始数据报文的监控。
上述为监控主机1的数据流量时,主机1发送给主机3时的报文转发与监控流程,如果是主机3发送原始数据报文给主机1,Switch 3根据原始数据报文的目的IP地址查询多级流表的第二级流表,确定匹配的普通转发流表,将原始数据报文通过端口31发送给Switch 1,然后Switch 1根据接收到的原始数据报文的目的IP地址查询多级流表的第一级流表,确定匹配的镜像流表,然后根据匹配的镜像流表复制接收到的原始数据报文,然后将复制的数据报文进行封装、添加镜像标签X得到封装报文,并将封装报文转发给Switch 2,后续处理流程与步骤306~步骤309相同。然后再根据接收到的原始数据报文的目的IP地址查询多级流表的第二级流表,确定匹配的普通转发流表,根据该普通转发流表转发给主机1,实现了主机3向主机1发送数据报文并监控。
针对上述方法,本发明还公开一种SDN控制器,该SDN控制器所在的SDN网络还包括SDN交换设备,且SDN交换设备支持多级流表,图4为本发明SDN控制器的结构图,如图4所示,该SDN控制器包括:
镜像隧道确定模块410,用于确定镜像隧道,所述镜像隧道是被监控主机所在的源SDN交换设备与监控服务器所在的目的SDN交换设备之间的隧道;
流表创建模块420,用于分别为所述镜像隧道上的所述源SDN交换设备、所述目的SDN交换设备创建并下发表ID为1的镜像流表,使所述源SDN交换设备以及所述目的SDN交换设备接收到所述镜像流表后,分别根据所述表ID为1将所述镜像流表保存在多级流表的第一级流表中。
SDN控制器进一步包括接收模块430,接收所述源SDN交换设备发来的封装在Pack-in报文中的原始数据报文;
流表创建模块420进一步用于,根据所述封装在Pack-in报文中的原始数据报文为所述源SDN交换设备创建并下发表ID为2的普通转发流表,使所述源SDN交换设备接收到所述普通转发流表后,根据所述表ID为2将所述普通转发流表保存在多级流表的第二级流表中;其中,所述原始数据报文的目的主机信息或源主机信息是所述被监控主机的地址信息。
流表创建模块420进一步包括:
源镜像流表创建子模块421,用于为所述源SDN交换设备创建表ID为1的镜像流表,所述为所述源SDN交换设备创建的表ID为1的镜像流表的匹配项是所述被监控主机的地址信息,动作项是复制原始数据报文、将复制的数据报文进行封装并添加镜像标签得到封装报文,将所述封装报文从出端口转发;所述封装报文的源MAC地址是所述源SDN交换设备的MAC地址,所述封装报文的目的MAC地址是所述目的SDN交换设备的MAC地址;
目的镜像流表创建子模块422,用于为所述目的SDN交换设备创建表ID为1的镜像流表,所述为所述目的SDN交换设备创建的表ID为1的镜像流表的匹配项是所述封装报文的目的MAC地址和所述镜像标签,动作项是剥离所述镜像标签并解封装所述封装报文、将解封装所述封装报文得到的所述复制的数据报文通过出端口转发给所述监控服务器。
源镜像流表创建子模块421创建的表ID为1的镜像流表是扩展了一个MIRROR类型的Instruction的流表。
流表创建模块420还包括:
中间镜像流表创建子模块423,用于为镜像隧道上的其他中间SDN交换设备创建并下发表ID为缺省值的镜像流表,使所述镜像隧道上的其他中间SDN交换设备接收到所述镜像流表后,分别根据表ID为缺省值将镜像流表保存在多级流表的任一级流表中。
针对上述方法,本发明还公开一种SDN交换设备,该SDN交换设备支持多级流表,当该SDN交换设备为SDN控制器创建的镜像隧道上的源SDN交换设备或目的SDN交换设备时,图5为本发明SDN交换设备的结构图,如图5所示,该设备包括:
接收模块501,用于接收SDN控制器创建并下发的表ID为1的镜像流表;
存储模块502,用于根据所述表ID为1将所述镜像流表保存在多级流表的第一级流表中。
当该SDN交换设备为源SDN交换设备时,
接收模块501还用于,接收所述SDN控制器根据该SDN交换设备发送来的封装在Pack-in报文中的原始数据报文创建并下发的表ID为2的普通转发流表,所述原始数据报文的目的主机信息或源主机信息是所述被监控主机的地址信息;
存储模块502还用于,根据所述表ID为2将所述普通转发流表保存在多级流表的第二级流表中;
该SDN交换设备进一步包括处理模块503,用于根据所述原始数据报文的源主机信息、或目的主机信息查询多级流表的第一级流表并确定匹配的镜像流表,根据所述匹配的镜像流表复制所述原始数据报文,将复制的数据报文进行封装并添加镜像标签得到封装报文;
发送模块504,将所述封装报文从所述匹配的镜像流表的出端口转发;
处理模块503进一步用于,根据所述原始数据报文的目的主机信息查询多级流表的第二级流表并确定匹配的普通转发流表,将所述原始数据报文从所述匹配的普通转发流表的出端口转发。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (12)
1.一种软件定义网络报文监控方法,其特征在于,该方法应用于SDN网络,所述SDN网络包括SDN控制器和SDN交换设备,所述SDN交换设备支持多级流表,该方法包括:
SDN控制器确定镜像隧道,所述镜像隧道是被监控主机所在的源SDN交换设备与监控服务器所在的目的SDN交换设备之间的隧道;
所述SDN控制器分别为所述镜像隧道上的所述源SDN交换设备、所述目的SDN交换设备创建并下发表ID为1的镜像流表,使所述源SDN交换设备以及所述目的SDN交换设备接收到所述镜像流表后,分别根据表ID为1将所述镜像流表保存在多级流表的第一级流表中。
2.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
所述SDN控制器接收所述源SDN交换设备发来的封装在Pack-in报文中的原始数据报文,根据所述封装在Pack-in报文中的原始数据报文为所述源SDN交换设备创建并下发表ID为2的普通转发流表,使所述源SDN交换设备接收到所述表ID为2的普通转发流表后,根据所述表ID为2将所述普通转发流表保存在多级流表的第二级流表中;其中,所述原始数据报文的目的主机信息或源主机信息是所述被监控主机的地址信息。
3.根据权利要求2所述的方法,其特征在于,该方法进一步包括:
所述SDN控制器为所述源SDN交换设备创建的表ID为1的镜像流表的匹配项是所述被监控主机的地址信息,动作项是复制原始数据报文、将复制的数据报文进行封装并添加镜像标签得到封装报文,将所述封装报文从出端口转发;所述封装报文的源MAC地址是所述源SDN交换设备的MAC地址,所述封装报文的目的MAC地址是所述目的SDN交换设备的MAC地址;
所述SDN控制器为所述目的SDN交换设备创建的表ID为1的镜像流表的匹配项是所述封装报文的目的MAC地址和所述镜像标签,动作项是剥离所述镜像标签并解封装所述封装报文、将解封装所述封装报文得到的所述复制的数据报文通过出端口转发给所述监控服务器。
4.根据权利要求3所述的方法,其特征在于,所述SDN控制器为所述源SDN交换设备创建的表ID为1的镜像流表是扩展了一个MIRROR类型的Instruction的流表。
5.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
所述SDN控制器还为镜像隧道上的其他中间SDN交换设备创建并下发表ID为缺省值的镜像流表,使所述镜像隧道上的其他中间SDN交换设备接收到所述镜像流表后,分别根据表ID为缺省值将镜像流表保存在多级流表的任一级流表中。
6.一种SDN控制器,其特征在于,所述SDN控制器所在的SDN网络还包括SDN交换设备,所述SDN交换设备支持多级流表,该SDN控制器包括:
镜像隧道确定模块,用于确定镜像隧道,所述镜像隧道是被监控主机所在的源SDN交换设备与监控服务器所在的目的SDN交换设备之间的隧道;
流表创建模块,用于分别为所述镜像隧道上的所述源SDN交换设备、所述目的SDN交换设备创建并下发表ID为1的镜像流表,使所述源SDN交换设备以及所述目的SDN交换设备接收到所述镜像流表后,分别根据所述表ID为1将所述镜像流表保存在多级流表的第一级流表中。
7.根据权利要求6所述的SDN控制器,其特征在于,所述SDN控制器进一步包括接收模块,接收所述源SDN交换设备发来的封装在Pack-in报文中的原始数据报文;
所述流表创建模块进一步用于,根据所述封装在Pack-in报文中的原始数据报文为所述源SDN交换设备创建并下发表ID为2的普通转发流表,使所述源SDN交换设备接收到所述普通转发流表后,根据所述表ID为2将所述普通转发流表保存在多级流表的第二级流表中;其中,所述原始数据报文的目的主机信息或源主机信息是所述被监控主机的地址信息。
8.根据权利要求7所述的SDN控制器,其特征在于,所述流表创建模块进一步包括:
源镜像流表创建子模块,用于为所述源SDN交换设备创建表ID为1的镜像流表,所述为所述源SDN交换设备创建的表ID为1的镜像流表的匹配项是所述被监控主机的地址信息,动作项是复制原始数据报文、将复制的数据报文进行封装并添加镜像标签得到封装报文,将所述封装报文从出端口转发;所述封装报文的源MAC地址是所述源SDN交换设备的MAC地址,所述封装报文的目的MAC地址是所述目的SDN交换设备的MAC地址;
目的镜像流表创建子模块,用于为所述目的SDN交换设备创建表ID为1的镜像流表,所述为所述目的SDN交换设备创建的表ID为1的镜像流表的匹配项是所述封装报文的目的MAC地址和所述镜像标签,动作项是剥离所述镜像标签并解封装所述封装报文、将解封装所述封装报文得到的所述复制的数据报文通过出端口转发给所述监控服务器。
9.根据权利要求8所述的SDN控制器,其特征在于,所述源镜像流表创建子模块创建的表ID为1的镜像流表是扩展了一个MIRROR类型的Instruction的流表。
10.根据权利要求8所述的SDN控制器,其特征在于,所述流表创建模块还包括:
中间镜像流表创建子模块,用于为镜像隧道上的其他中间SDN交换设备创建并下发表ID为缺省值的镜像流表,使所述镜像隧道上的其他中间SDN交换设备接收到所述镜像流表后,分别根据表ID为缺省值将镜像流表保存在多级流表的任一级流表中。
11.一种SDN交换设备,其特征在于,所述SDN交换设备支持多级流表,当所述SDN交换设备为SDN控制器创建的镜像隧道上的源SDN交换设备或目的SDN交换设备时,该设备包括:
接收模块,用于接收SDN控制器创建并下发的表ID为1的镜像流表;
存储模块,用于根据所述表ID为1将所述镜像流表保存在多级流表的第一级流表中。
12.根据权利要求11所述的SDN交换设备,其特征在于,所述SDN交换设备为所述镜像隧道上的源SDN交换设备时,
所述接收模块还用于,接收所述SDN控制器根据该SDN交换设备发送来的封装在Pack-in报文中的原始数据报文创建并下发的表ID为2的普通转发流表,所述原始数据报文的目的主机信息或源主机信息是所述被监控主机的地址信息;
所述存储模块还用于,根据所述表ID为2将所述普通转发流表保存在多级流表的第二级流表中;
该SDN交换设备进一步包括处理模块,用于根据所述原始数据报文的源主机信息、或目的主机信息查询多级流表的第一级流表并确定匹配的镜像流表,根据所述匹配的镜像流表复制所述原始数据报文,将复制的数据报文进行封装并添加镜像标签得到封装报文;
发送模块,用于将所述封装报文从所述匹配的镜像流表的出端口转发;
所述处理模块进一步用于,根据所述原始数据报文的目的主机信息查询多级流表的第二级流表并确定匹配的普通转发流表,将所述原始数据报文从所述匹配的普通转发流表的出端口转发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510083108.6A CN104618194B (zh) | 2015-02-15 | 2015-02-15 | 软件定义网络报文监控方法和sdn控制器、交换设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510083108.6A CN104618194B (zh) | 2015-02-15 | 2015-02-15 | 软件定义网络报文监控方法和sdn控制器、交换设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104618194A true CN104618194A (zh) | 2015-05-13 |
CN104618194B CN104618194B (zh) | 2018-03-20 |
Family
ID=53152485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510083108.6A Active CN104618194B (zh) | 2015-02-15 | 2015-02-15 | 软件定义网络报文监控方法和sdn控制器、交换设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104618194B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105141677A (zh) * | 2015-08-12 | 2015-12-09 | 上海斐讯数据通信技术有限公司 | 基于sdn的镜像方法及系统 |
CN105357075A (zh) * | 2015-11-20 | 2016-02-24 | 武汉邮电科学研究院 | 基于软件定义网络的流量监测系统和方法 |
CN107147577A (zh) * | 2017-05-04 | 2017-09-08 | 北京邮电大学 | 一种基于软件定义网络sdn的数据转发方法及系统 |
WO2018024187A1 (zh) * | 2016-08-01 | 2018-02-08 | 新华三技术有限公司 | 报文监控 |
WO2018121406A1 (zh) * | 2016-12-29 | 2018-07-05 | 中国银联股份有限公司 | 基于sdn的报文镜像方法及网络流量监控管理系统 |
TWI632791B (zh) * | 2017-06-29 | 2018-08-11 | 中華電信股份有限公司 | Multi-level Flow table control method based on action service category |
CN108429652A (zh) * | 2017-02-14 | 2018-08-21 | 中兴通讯股份有限公司 | 基于sdn的远端流镜像控制方法、实现方法及相关设备 |
CN108471629A (zh) * | 2017-02-23 | 2018-08-31 | 华为技术有限公司 | 传输网络中业务服务质量的控制方法、设备及系统 |
CN109600318A (zh) * | 2018-11-29 | 2019-04-09 | 新华三技术有限公司合肥分公司 | 一种监控sdn中应用程序的方法及sdn控制器 |
CN109981409A (zh) * | 2019-03-26 | 2019-07-05 | 新华三技术有限公司 | 报文转发方法、装置及转发设备 |
CN111478862A (zh) * | 2020-03-09 | 2020-07-31 | 邦彦技术股份有限公司 | 远程数据镜像处理系统和方法 |
CN111600811A (zh) * | 2020-04-14 | 2020-08-28 | 新华三信息安全技术有限公司 | 一种报文处理方法和装置 |
CN112491744A (zh) * | 2020-11-13 | 2021-03-12 | 浪潮思科网络科技有限公司 | 一种端口流量镜像方法、设备及介质 |
CN113037542A (zh) * | 2021-02-24 | 2021-06-25 | 广州市品高软件股份有限公司 | 一种基于软件定义网络的云网络拓扑构建方法 |
CN113645137A (zh) * | 2021-08-02 | 2021-11-12 | 清华大学 | 一种软件定义网络多级流表压缩方法及系统 |
CN115086152A (zh) * | 2022-07-25 | 2022-09-20 | 广东电网有限责任公司佛山供电局 | 一种配电网站域式快速保护的网络数据镜像系统 |
CN116155764A (zh) * | 2023-01-05 | 2023-05-23 | 鹏城实验室 | 监控网络数据的管理方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140301226A1 (en) * | 2013-04-09 | 2014-10-09 | Electronics And Telecommunications Research Institute | Apparatus and method for network monitoring and packet inspection |
CN104219149A (zh) * | 2014-08-26 | 2014-12-17 | 杭州华三通信技术有限公司 | 一种基于虚连接的报文传输方法和设备 |
CN104243270A (zh) * | 2014-09-25 | 2014-12-24 | 杭州华三通信技术有限公司 | 一种建立隧道的方法和装置 |
-
2015
- 2015-02-15 CN CN201510083108.6A patent/CN104618194B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140301226A1 (en) * | 2013-04-09 | 2014-10-09 | Electronics And Telecommunications Research Institute | Apparatus and method for network monitoring and packet inspection |
CN104219149A (zh) * | 2014-08-26 | 2014-12-17 | 杭州华三通信技术有限公司 | 一种基于虚连接的报文传输方法和设备 |
CN104243270A (zh) * | 2014-09-25 | 2014-12-24 | 杭州华三通信技术有限公司 | 一种建立隧道的方法和装置 |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105141677A (zh) * | 2015-08-12 | 2015-12-09 | 上海斐讯数据通信技术有限公司 | 基于sdn的镜像方法及系统 |
CN105357075B (zh) * | 2015-11-20 | 2019-02-05 | 武汉邮电科学研究院 | 基于软件定义网络的流量监测系统和方法 |
CN105357075A (zh) * | 2015-11-20 | 2016-02-24 | 武汉邮电科学研究院 | 基于软件定义网络的流量监测系统和方法 |
US10938679B2 (en) | 2016-08-01 | 2021-03-02 | New H3C Technologies Co., Ltd. | Packet monitoring |
WO2018024187A1 (zh) * | 2016-08-01 | 2018-02-08 | 新华三技术有限公司 | 报文监控 |
CN107682275A (zh) * | 2016-08-01 | 2018-02-09 | 新华三技术有限公司 | 报文监控方法及装置 |
CN107682275B (zh) * | 2016-08-01 | 2020-08-04 | 新华三技术有限公司 | 报文监控方法及装置 |
WO2018121406A1 (zh) * | 2016-12-29 | 2018-07-05 | 中国银联股份有限公司 | 基于sdn的报文镜像方法及网络流量监控管理系统 |
US11088965B2 (en) | 2016-12-29 | 2021-08-10 | China Unionpay Co., Ltd. | SDN-based packet mirroring method, and network traffic monitoring and management system |
TWI677218B (zh) * | 2016-12-29 | 2019-11-11 | 大陸商中國銀聯股份有限公司 | 基於sdn的封包鏡像方法及網路流量監控管理系統 |
WO2018149338A1 (zh) * | 2017-02-14 | 2018-08-23 | 中兴通讯股份有限公司 | 基于sdn的远端流镜像控制方法、实现方法及相关设备 |
CN108429652A (zh) * | 2017-02-14 | 2018-08-21 | 中兴通讯股份有限公司 | 基于sdn的远端流镜像控制方法、实现方法及相关设备 |
CN108471629A (zh) * | 2017-02-23 | 2018-08-31 | 华为技术有限公司 | 传输网络中业务服务质量的控制方法、设备及系统 |
CN107147577A (zh) * | 2017-05-04 | 2017-09-08 | 北京邮电大学 | 一种基于软件定义网络sdn的数据转发方法及系统 |
TWI632791B (zh) * | 2017-06-29 | 2018-08-11 | 中華電信股份有限公司 | Multi-level Flow table control method based on action service category |
CN109600318A (zh) * | 2018-11-29 | 2019-04-09 | 新华三技术有限公司合肥分公司 | 一种监控sdn中应用程序的方法及sdn控制器 |
CN109600318B (zh) * | 2018-11-29 | 2022-07-12 | 新华三技术有限公司合肥分公司 | 一种监控sdn中应用程序的方法及sdn控制器 |
CN109981409A (zh) * | 2019-03-26 | 2019-07-05 | 新华三技术有限公司 | 报文转发方法、装置及转发设备 |
CN111478862A (zh) * | 2020-03-09 | 2020-07-31 | 邦彦技术股份有限公司 | 远程数据镜像处理系统和方法 |
CN111600811A (zh) * | 2020-04-14 | 2020-08-28 | 新华三信息安全技术有限公司 | 一种报文处理方法和装置 |
CN112491744A (zh) * | 2020-11-13 | 2021-03-12 | 浪潮思科网络科技有限公司 | 一种端口流量镜像方法、设备及介质 |
CN112491744B (zh) * | 2020-11-13 | 2022-08-02 | 浪潮思科网络科技有限公司 | 一种端口流量镜像方法、设备及介质 |
CN113037542A (zh) * | 2021-02-24 | 2021-06-25 | 广州市品高软件股份有限公司 | 一种基于软件定义网络的云网络拓扑构建方法 |
CN113645137A (zh) * | 2021-08-02 | 2021-11-12 | 清华大学 | 一种软件定义网络多级流表压缩方法及系统 |
CN113645137B (zh) * | 2021-08-02 | 2022-05-31 | 清华大学 | 一种软件定义网络多级流表压缩方法及系统 |
CN115086152A (zh) * | 2022-07-25 | 2022-09-20 | 广东电网有限责任公司佛山供电局 | 一种配电网站域式快速保护的网络数据镜像系统 |
CN115086152B (zh) * | 2022-07-25 | 2023-01-03 | 广东电网有限责任公司佛山供电局 | 一种配电网站域式快速保护的网络数据镜像系统 |
CN116155764A (zh) * | 2023-01-05 | 2023-05-23 | 鹏城实验室 | 监控网络数据的管理方法、装置、设备及存储介质 |
CN116155764B (zh) * | 2023-01-05 | 2024-02-20 | 鹏城实验室 | 监控网络数据的管理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104618194B (zh) | 2018-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104618194A (zh) | 软件定义网络报文监控方法和sdn控制器、交换设备 | |
US20200412578A1 (en) | NSH Encapsulation for Traffic Steering | |
US10484303B2 (en) | Replication with dedicated metal deployment in a cloud | |
EP3026861B1 (en) | Method and apparatus for processing time synchronization | |
CN108833166B (zh) | 边缘云报文转发方法及系统、网络报文转发方法及系统 | |
US20190068544A1 (en) | Communications Method and Apparatus for Virtual Extensible Local Area Network | |
KR102025680B1 (ko) | Sdn 기반의 arp 구현 방법 및 장치 | |
WO2019134383A1 (zh) | 控制网络拥塞的方法、接入设备和计算机可读存储介质 | |
CN104283785A (zh) | 一种快速处理流表的方法和装置 | |
US10148565B2 (en) | OPENFLOW communication method and system, controller, and service gateway | |
CN104092614B (zh) | 更新地址解析信息的方法和装置 | |
CN103095565A (zh) | 一种软件定义网络操作系统及其实现方法 | |
US20170163533A1 (en) | Forwarding Packet In Stacking System | |
US10797986B2 (en) | Link discovery method and apparatus | |
US20190238949A1 (en) | Multicast service providing method and software defined networking controller | |
US10742545B2 (en) | Multicasting system | |
CN109088957B (zh) | Nat规则管理的方法、装置和设备 | |
CN114640557A (zh) | 网关以及云网络系统 | |
CN103746768A (zh) | 一种数据包的识别方法及设备 | |
CN104320340A (zh) | 软件定义网络中学习源mac地址的方法和装置 | |
WO2015096734A1 (zh) | 一种业务数据的下行传输方法及分组数据网关 | |
WO2022042545A1 (zh) | Tsn工业应用服务器、客户端、系统、服务方法及储存介质 | |
JP6371321B2 (ja) | 通信システム、及びパケット転送方法 | |
CN109167731B (zh) | 报文发送方法及装置 | |
WO2024098816A1 (zh) | 一种数据传输处理方法、装置、存储介质及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |