CN107872343A - 流量转发控制方法、装置及软件定义网络控制器 - Google Patents
流量转发控制方法、装置及软件定义网络控制器 Download PDFInfo
- Publication number
- CN107872343A CN107872343A CN201610859115.5A CN201610859115A CN107872343A CN 107872343 A CN107872343 A CN 107872343A CN 201610859115 A CN201610859115 A CN 201610859115A CN 107872343 A CN107872343 A CN 107872343A
- Authority
- CN
- China
- Prior art keywords
- com1
- group
- vlan
- information
- flow
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种流量转发控制方法、装置及软件定义网络控制器,获取开放流转发设备各通信端口的虚拟局域网配置信息,然后将各通信端口上加入方式相同的所有虚拟局域网信息转换为对应一个共用虚拟局域网信息生成于一个组表中。本发明中的一个组表对应通信端口上通过相同加入方式对应的所有虚拟局域网,并非一个组表对应一个虚拟局域网。本发明中的一个组表对应通信端口上通过相同加入方式对应的所有虚拟局域网,因此对于一个通信端口,所需的组表个数等于其加入虚拟局域网的加入方式个数,可以大大减少软件定义网络控制器需要生成以及下发的组表量,同时也可以降低开放流转发设备消耗的组表资源,提升资源满意度。
Description
技术领域
本发明涉及通信领域,尤其涉及一种流量转发控制方法、装置及软件定义网络控制器。
背景技术
基于开放流(OpenFlow)的SDN(Software Defined Networking,软件定义网络)技术,SDN控制器通过对OpenFlow转发设备进行写入开放流流表(OpenFlow流表)和组表(Group表)等操作,指导OpenFlow转发设备进行流量转发。附图1中示意了由第一开放流转发设备(OpenFlow转发设备)和第二开放流转发设备(OpenFlow转发设备,包括但不限于OF-DPA转发设备)以及SDN控制器和第一主机和第二主机构成的组网示意图。
OpenFlow流表中可以将输出通信端口直接写入流表的Action中,参见下表1所示。
表1
Match | Action |
报文中字段 | Output port-id; |
也可以将输出通信端口写入指定组表(Group表)的Bucket中,然后将GroupId作为Action写入流表中,如下表2所示的Group表以及表3所示的流表。
表2
表3
Match | Action |
报文中字段 | Group group-id; |
第二种方式属于间接转发方式,流量匹配上OpenFlow转发设备预先设置好的OpenFlow流表后,先找到流表Action中的组表标识(GroupId),然后根据GroupId找到对应Group表,执行Group表中的动作并将流量从Group中指定通信端口输出。如果在OpenFlow转发设备没有匹配上对应的OpenFlow流表,则转发给SDN控制器生成OpenFlow流表。
OpenFlow转发设备采用上述第二种间接转发的方式,Group表的内容是根据出通信端口配置的VLAN(Virtual Local Area Network,虚拟局域网)属性,对报文所带的VLAN标签进行处理后从出通信端口输出。通信端口的VLAN属性及对应的Group表内容有如下两种:①通信端口以不带标签(untagged)的方式加入VLAN,则对应的Group表内容为,剥掉报文中的VLAN标签,然后从出通信端口输出;②通信端口以带标签(tagged)的方式加入VLAN,则对应Group表的内容为,将报文原封不动地从出通信端口输出。包含出通信端口信息的Group表的GroupId由如下三部分信息按照特定的方式编码而成:GroupType,VLANId,PortId。
OpenFlow转发设备上同一个通信端口可以以untagged的方式加入多个VLAN,同时也可以tagged的方式加入多个VLAN,且两种方式加入的VLAN取值不重叠。而VLAN的取值范围是[1,4094](1≤VLAN≤4094),所以当OpenFlow转发设备上每个通信端口上加入的VLAN较多时,SDN控制器需要通过大量的OpenFlow消息将Group表项下发到OpenFlow转发设备上,同时OpenFlow转发设备也将消耗大量的Group表项资源。
发明内容
本发明实施例提供的一种流量转发控制方法、装置及软件定义网络控制器,主要解决的技术问题是:解决现有软件定义网络控制器需要下发大量组表到开放流转发设备以及开放流转发设备对应的需要消耗大量的组表资源的问题。
为解决上述技术问题,本发明实施例提供一种流量转发控制方法,包括:
获取开放流转发设备各通信端口的虚拟局域网配置信息,所述虚拟局域网配置信息包含:通信端口所加入的虚拟局域网信息以及加入各虚拟局域网的加入方式;
将所述各通信端口上加入方式相同的所有虚拟局域网信息转换为对应一个共用虚拟局域网信息,并将得到的共用虚拟局域网信息生成于类型与所述加入方式相对应的组表中;
将所述组表下发给所述开放流转发设备,以供所述开放流转发设备转发流量。
为解决上述技术问题,本发明实施例提供一种流量转发控制装置,包括:
信息获取模块,用于获取开放流转发设备各通信端口的虚拟局域网配置信息,所述虚拟局域网配置信息包含:通信端口所加入的虚拟局域网信息以及加入各虚拟局域网的加入方式;
组表配置模块,用于将所述各通信端口上以加入方式相同的所有虚拟局域网信息转换为对应一个共用虚拟局域网信息,并将得到的共用虚拟局域网信息生成于类型与所述加入方式相对应的组表中;
下发模块,用于所述组表下发给所述开放流转发设备,以供所述开放流转发设备转发流量。
为解决上述技术问题,本发明实施例提供一种软件定义网络控制器,包括如上所述的流量转发控制装置
本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行前述的流量转发控制方法。
本发明的有益效果是:
根据本发明实施例提供的流量转发控制方法、装置、软件定义网络控制器及计算机存储介质,获取开放流转发设备(OpenFlow转发设备)各通信端口的虚拟局域网配置信息,虚拟局域网配置信息包含:通信端口所加入的虚拟局域网信息以及加入各虚拟局域网的加入方式;然后将各通信端口上加入方式相同的所有虚拟局域网信息转换为对应一个共用虚拟局域网信息生成于一个组表中;也即本发明中的一个组表对应通信端口上通过相同加入方式对应的所有虚拟局域网,并非一个组表对应一个虚拟局域网;然后将组表下发给开放流转发设备,以供开放流转发设备转发流量。本发明中的一个组表对应通信端口上通过相同加入方式对应的所有虚拟局域网,因此对于一个通信端口,所需的组表个数等于其加入虚拟局域网的加入方式个数,可以大大减少软件定义网络控制器需要生成以及下发的组表量,同时也可以降低开放流转发设备消耗的组表资源,提升资源满意度。
附图说明
图1为一种组网结构示意图;
图2为本发明实施例一中的流量转发控制方法流程示意图;
图3为本发明实施例一中的流表生成过程示意图;
图4为本发明实施例二中的软件定义网络控制器结构示意图;
图5为本发明实施例二中的流量转发控制装置结构示意图;
图6为本发明实施例二中的另一流量转发控制装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明中一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
本发明提供的一种流量转发控制方法参见图2所示,包括:
S201:获取开放流转发设备(OpenFlow转发设备)各通信端口的虚拟局域网配置信息。
本实施例中通信端口的虚拟局域网配置信息包含:通信端口所加入的虚拟局域网信息以及加入各虚拟局域网的加入方式,当然还可包括通信端口的端口标识。
本实施例中开放流转发设备可以是配置管理员根据网络上的业务部署,对开放流转发设备的通信端口进行的虚拟局域网配置得到的。当然并不限于这种获取方式,可以通过其他任意途径获取通信端口的虚拟局域网配置信息。
S202:对于开放流转发设备的每一通信端口,将该通信端口上加入方式相同的所有虚拟局域网信息转换为对应一个共用虚拟局域网信息,并将该共用虚拟局域网信息生成于一个类型与该加入方式对应的组表中。
该步骤中,具体根据加入各虚拟局域网的加入方式选择对应的共用虚拟局域网信息,并将选择的共用虚拟局域网信息以及端口标识和组表类型进行编码生成组表标识。
S203:将得到的组表下发给开放流转发设备,以供开放流转发设备进行后续的流量转发使用。
本实施例中,虚拟局域网信息为虚拟局域网标识值(VLAN ID),加入方式为带标签(tagged)方式或不带标签(untagged)方式;本实施例中的共用虚拟局域网信息包括默认带标签虚拟局域网值(DefaultTagVLAN)和默认不带标签虚拟局域网值(DefaultUntagVLAN)。
根据加入各虚拟局域网的加入方式选择对应的共用虚拟局域网信息包括:
对于加入方式为带标签(tagged)方式,选择默认带标签虚拟局域网值(DefaultTagVLAN);
对于加入方式为不带标签(untagged)方式,选择默认不带标签虚拟局域网值(DefaultUntagVLAN)。
这样,具体根据加入各虚拟局域网的加入方式选择对应的共用虚拟局域网信息,并将选择的共用虚拟局域网信息(DefaultTagVLAN或DefaultUntagVLAN)以及端口标识(Port ID)和组表类型(Group Type)进行编码生成组表标识Group ID。
应当理解的是,本实施例中,对于加入方式为取消带标签(untagged)方式,生成的组表内容包括剥掉报文中的虚拟局域网标签,然后从指定通信端口输出;
对于加入方式为带标签(tagged)方式,生成的组表内容包括将报文原封不动地从指定通信端口输出。
可见,实施例中,对于开放流转发设备的各通信端口,只需要分别对应tagged方式和untagged方式分别生成一个组表即可,也即对于开放流转发设备的每个通信端口,只需要生成两个组表即可,相对现有针对通信端口加入的每个VLAN ID都需要生成一个组表来说。且本实施例中的组表可以由SDN控制器生成。因此,本实施例可以大大减少SDN控制器所需生成的组表数量,以及大大减少开放流转发设备的组表资源的占用,减少SDN控制器与开放流转发设备之间组表数量的交互,提升资源利用率。
本实施例中,基于上述过程生成组表并下发到开放流转发设备上后,开放流转发设备接收到流量后,可以基于组表进行流量的转发。对于开放流转发设备接收到的流量后,其将流量报文中的匹配字段与本地的流表中的匹配字段进行匹配,如果匹配到对应的流表,则提取该流表中的组表标识(Group ID),然后去匹配到对应的组表,执行匹配到的组表。如果没有匹配到流表,则将该流量转发给SDN控制器,由SDN控制器为该流量生成流表。生成流表的过程参见图3所示,包括:
S301:获取流量的输出端口的端口标识Port ID、虚拟局域网标识值VLAN ID;
S302:根据虚拟局域网标识值VLAN ID确定出输出端口加入流量中的虚拟局域网的加入方式进而提取对应的共用虚拟局域网信息DefaultTagVLAN或DefaultUntagVLAN。
S303:根据输出端口的端口标识Port ID、共用虚拟局域网信息(DefaultTagVLAN或DefaultUntagVLAN)以及对应的组表类型(Group Type)进行编码生成组表标识(GroupID)加入流表中发给输出端口对应的开放流转发设备。这样转发设备后续接收到这类流量报文时即可匹配到对应的流表,进而获取到对应的Group ID,匹配到对应的Group表进行流量转发。
下面以开放流转发设备为OF-DPA转发设备为示例进行说明。
配置管理员根据网络上的业务部署,对OF-DPA转发设备上的通信端口进行VLAN属性配置。
对于通信端口上以untagged的方式加入的VLAN,不使用实际加入的VLANId作为GroupId编码的一部分,而是使用系统约定的默认值DefaultUntagVLAN;对于以tagged方式加入的VLAN,也不使用实际加入的VLANId作为GroupId编码的一部分,而是使用系统约定的默认值DefaultTagVLAN。
同一个通信端口上,对于所有以untagged方式加入的VLAN,共用一个Group,其GroupId由如下三部分信息按照特定的方式编码而成:GroupType,DefaultUntagVLAN,PortId,Group的内容为剥掉报文中的VLAN标签,然后从PortId指定通信端口输出;同一个通信端口,对于所有以tagged方式加入的VLAN,共用一个Group,其GroupId由如下三部分信息按照特定的方式编码而成:GroupType,DefaultTagVLAN,PortId,Group的内容为将报文原封不动地从PortId指定通信端口输出。
SDN控制器为流量生成流表是,可以根据网络的拓扑信息(TOPO信息),获得流量的出通信端口PortId,并获取流量中的VLAN标签作为VLANId。根据PortId、VLANId及之前配置的通信端口的虚拟局域网配置信息,可以获知通信端口是以untagged方式还是tagged方式加入VLAN,并以此来决定使用DefaultUntagVLAN还是DefaultTagVLAN作为GroupId中VLAN部分的信息。SDN控制器将生成的GroupId写入流表(也即流量转发表)的Action中,并将流表下发给OF-DPA转发设备。
可见,对于OF-DPA转发设备上的每一个通信端口,如果通信端口加入4094个VLAN,使用原有处理方法,控制器需要向OF-DPA设备下发4094个Group表,而使用本发明中的Group处理方法,最多只需要2个Group表。综上所述,本发明对原有OF-DPA转发设备上Group的处理方法进行了改进,达到节省转发设备上的Group资源,减少控制器和转发设备间关于Group表的消息交互。
实施例二:
本实施例提供了一种软件定义网络控制器,参见图4所示,包括如流量转发控制装置1。其中,流量转发控制装置1参见图5所示,包括:
信息获取模块11,用于获取开放流转发设备各通信端口的虚拟局域网配置信息。
本实施例中通信端口的虚拟局域网配置信息包含:通信端口所加入的虚拟局域网信息以及加入各虚拟局域网的加入方式,当然还可包括通信端口的端口标识。
本实施例中开放流转发设备可以是配置管理员根据网络上的业务部署,对开放流转发设备的通信端口进行的虚拟局域网配置得到的。当然并不限于这种获取方式,可以通过其他任意途径获取通信端口的虚拟局域网配置信息。
组表配置模块12,用于将各通信端口上以加入方式相同的所有虚拟局域网信息转换为对应一个共用虚拟局域网信息,并将该共用虚拟局域网信息生成于一个类型与该加入方式对应的组表中。
具体用于根据加入各虚拟局域网的加入方式选择对应的共用虚拟局域网信息,并将选择的共用虚拟局域网信息以及端口标识和组表类型进行编码生成组表标识。
下发模块13,用于将获取的各通信端口的组表下发给开放流转发设备,以供开放流转发设备转发流量。
本实施例中,虚拟局域网信息为虚拟局域网标识值(VLAN ID),加入方式为带标签(tagged)方式或不带标签(untagged)方式;本实施例中的共用虚拟局域网信息包括默认带标签虚拟局域网值(DefaultTagVLAN)和默认不带标签虚拟局域网值(DefaultUntagVLAN)。
本实施例中的组表配置模块12根据加入各虚拟局域网的加入方式选择对应的共用虚拟局域网信息包括:
对于加入方式为带标签(tagged)方式,选择默认带标签虚拟局域网值(DefaultTagVLAN);
对于加入方式为不带标签(untagged)方式,选择默认不带标签虚拟局域网值(DefaultUntagVLAN)。
这样,具体根据加入各虚拟局域网的加入方式选择对应的共用虚拟局域网信息,并将选择的共用虚拟局域网信息(DefaultTagVLAN或DefaultUntagVLAN)以及端口标识(Port ID)和组表类型(Group Type)进行编码生成组表标识Group ID。
应当理解的是,本实施例中,对于加入方式为取消带标签(untagged)方式,生成的组表内容包括剥掉报文中的虚拟局域网标签,然后从指定通信端口输出;
对于加入方式为带标签(tagged)方式,生成的组表内容包括将报文原封不动地从指定通信端口输出。
可见,实施例中,对于开放流转发设备的各通信端口,只需要分别对应tagged方式和untagged方式分别生成一个组表即可,也即对于开放流转发设备的每个通信端口,只需要生成两个组表即可,相对现有针对通信端口加入的每个VLAN ID都需要生成一个组表来说,本实施例可以大大减少SDN控制器所需生成的组表数量,以及大大减少开放流转发设备的组表资源的占用,减少SDN控制器与开放流转发设备之间组表数量的交互,提升资源利用率。
本实施例中,基于上述过程生成组表并下发到开放流转发设备上后,开放流转发设备接收到流量后,可以基于组表进行流量的转发。对于开放流转发设备接收到的流量后,其将流量报文中的匹配字段与本地的流表中的匹配字段进行匹配,如果匹配到对应的流表,则提取该流表中的组表标识(Group ID),然后去匹配到对应的组表,执行匹配到的组表。如果没有匹配到流表,则将该流量转发给SDN控制器,由SDN控制器为该流量生成流表。参见图6所示,本实施例中的流量转发控制装置还包括流表配置模块14,用于获取流量的输出端口的端口标识、虚拟局域网标识值;根据虚拟局域网标识值确定出输出端口加入流量中的虚拟局域网的加入方式进而提取对应的共用虚拟局域网信息;以及用于根据输出端口的端口标识、共用虚拟局域网信息以及对应的组表类型进行编码生成组表标识加入流表中发给所述输出端口对应的开放流转发设备。
本实施例中的上述各模块的功能可以由SDN控制器中的处理器或控制器实现。且显然,本领域的技术人员应该明白,上述各模块的功能可以通过服务器中的处理器或控制器实现。也即本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在计算机存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。
实施例三:
为了更好的理解本发明,本实施例以图1所示的组网应用场景为示例,对本发明做进一步示例说明。
本实施例是利用SDN控制器对要下发给OF-DPA转发设备的Group进行合并处理,从而达到节省转发设备上的Group资源,减少控制器和转发设备间关于OpenFlow Group表的消息交互。
下面仅以基于OpenFlow环境下通过SDN控制器对OF-DPA转发设备上的Group进行合并处理的方法为例,也可能应用于其他的软件定义网络中,也可以是其他OpenFlow转发设备。
图1所示中SDN控制器通过OpenFlow协议控制两台开放流转发设备。示例中,2台OF-DPA交换机分别以DPID 1、DPID 2进行示例,分别有编号(即通信端口标识)为1、2的通信端口。
对DPID1和DPID2的端口进行如下VLAN属性配置:DPID1的1号端口以untagged的方式加入VLAN 10,并以tagged的方式加入VLAN[21,30];DPID1的2号端口以tagged的方式加入VLAN[1,30];DPID2的1号端口以untagged的方式加入VLAN[1,30];DPID2的2号端口以tagged方式加入VLAN[1,30]。
SDN控制器使用OpenFlow协议对DPID1和DPID2进行Group表下发,具体步骤如下:
对于DPID1的1号端口,为以untagged方式加入的VLAN 10生成Group11,使用系统约定编码方式对GroupType,DefaultUntagVlan,PortId 1三个信息进行编码,编码结果作为GroupId11。Group11的内容是剥掉VLAN标签,从1号端口输出。SDN控制器使用OpenFlow协议将Group11下发给DPID1。Group11的内容及形式如下表4所示:
表4
表中的Code(group-type,DefaultUntagVlan,port-id):为一种对group-type,DefaultUntagVlan,port-id进行编码,生成group-id的方式。
对于DPID1的1号端口,为以tagged的方式加入的VLAN[21,30]生成Group12,使用系统约定的编码方式对GroupType,DefaultTagVlan,PortId 1三个信息进行编码,编码结果作为GroupId12。Group12的内容是从1号端口输出。SDN控制器使用OpenFlow协议将Group12下发给DPID1。Group12的内容及形式如下表5所示。
表5
对于DPID1的2号端口,为以tagged方式加入的VLAN[1,30]生成Group13,使用系统约定的编码方式对GroupType,DefaultTagVlan,PortId 2三个信息进行编码,编码结果作为GroupId13,Group13的内容是从2号端口输出。SDN控制器使用OpenFlow协议将Group13下发给DPID1。Group13的内容及形式如下表6所示。
表6
对于DPID2的1号端口,为以untagged方式加入的VLAN[1,30]生成Group21,使用系统约定编码方式对GroupType,DefaultUntagVlan,PortId 1三个信息进行编码,编码结果作为GroupId21。Group21的内容是剥掉VLAN标签,从1号端口输出。SDN控制器使用OpenFlow协议将Group21下发给DPID2。Group21的内容及形式如下表7所示。
表7
对于DPID2的2号端口,为以tagged方式加入的VLAN[1,30]生成Group22,使用系统约定的编码方式对GroupType,DefaultTagVlan,PortId 2三个信息进行编码,编码结果作为GroupId22,Group22的内容是从2号端口输出。SDN控制器使用OpenFlow协议将Group22下发给DPID2。Group22的内容及形式如下表8所示。
表8
转发设备上各个端口的Group表生成之后,SDN控制器根据TOPO信息,在相关的转发设备上下发OPenFlow流表。以图1中第一主机Host1到第二主机Host2的通信为例,SDN控制器下发给OF-DPA转发设备DPID1和DPID2的OpenFlow流表示意图分别如表9和表10所示所示。
表9
表10
上表中MAC_H2为图1中第二主机的MAC地址。
Host1到Host2的通信流程如下:
Host1发出的报文从DPID1的1号端口进入交换机,匹配上DPID1上Table-id为1的流表,执行流表中Action,报文进入Table-id为2的流表。
Table-id为2的流表的Action为去执行Groupid13所指向的Group中的内容。从表6可以获知,Groupid13指向的Group13的动作是从2号口输出,报文进入DPID2交换机。
从DPID2的2号端口进入的报文,匹配上DPID2上Table-id为1的流表,执行流表中Action,报文进入Table-id为2的流表。
Table-id为2的流表的Action为去执行Groupid22所指向的Group中的内容。从图4可以获知,Groupid22指向的Group22的动作是从2号口输出,报文进入Host2。
从上述流程可知,如果Host1所属的VLAN改为[1,30]内的其他值,Group13和Group22都可以满足Host1到Host2的通信需要。由此可见,采用本发明中对同一个端口上Group合并的方式可以代替每一个VLAN对应一个Group的方式,达到节省Group资源,减少SDN控制器和OpenFlow交换机之间Group的消息交互。
显然,本领域的技术人员应该明白,上述发明的合并方法不局限在VLAN的属性上,可以根据具体的业务属性使用本发明的方法。转发设备也不局限于OF-DPA设备,可以使用任何OpenFlow转发设备。本发明对于OpenFlow转发设备上的每一个通信端口,最多只需要2个Group表,达到节省转发设备上的Group资源,减少控制器和转发设备间关于Group表的消息交互。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种流量转发控制方法,包括:
获取开放流转发设备各通信端口的虚拟局域网配置信息,所述虚拟局域网配置信息包含:通信端口所加入的虚拟局域网信息以及加入各虚拟局域网的加入方式;
将所述各通信端口上加入方式相同的所有虚拟局域网信息转换为对应一个共用虚拟局域网信息,并将得到的共用虚拟局域网信息生成于类型与所述加入方式相对应的组表中;
将所述组表下发给所述开放流转发设备,以供所述开放流转发设备转发流量。
2.如权利要求1所述的流量转发控制方法,其特征在于,所述虚拟局域网配置信息还包括通信端口的端口标识;
将通信端口上加入方式相同的所有虚拟局域网信息转换为对应一个共用虚拟局域网信息,并将得到的共用虚拟局域网信息生成于所述组表中包括:
根据所述通信端口加入所述各虚拟局域网的加入方式选择对应的共用虚拟局域网信息,将该共用虚拟局域网信息设置于类型与所述加入方式相对应一个组表中;并将选择的共用虚拟局域网信息以及所述通信端口的端口标识和该组表的类型进行编码生成该组表的组表标识。
3.如权利要求2所述的流量转发控制方法,其特征在于,所述虚拟局域网信息为虚拟局域网标识值,所述加入方式为带标签方式或不带标签方式。
4.如权利要求3所述的流量转发控制方法,其特征在于,所述共用虚拟局域网信息包括默认带标签虚拟局域网值和默认不带标签虚拟局域网值;
所述根据各虚拟局域网的加入方式选择对应的共用虚拟局域网信息包括:
对于加入方式为带标签方式,选择默认带标签虚拟局域网值;
对于加入方式为不带标签方式,选择默认不带标签虚拟局域网值。
5.如权利要求3或4所述的流量转发控制方法,其特征在于,
对于加入方式为取消带标签方式,生成的组表内容包括:剥掉报文中的虚拟局域网标签,然后从指定通信端口输出;
对于加入方式为带标签方式,生成的组表内容包括:将报文直接从指定通信端口输出。
6.如权利要求3或4所述的流量转发控制方法,其特征在于,所述方法还包括:
获取流量的输出端口的端口标识、虚拟局域网标识值;
根据所述虚拟局域网标识值确定所述输出端口加入所述流量中的虚拟局域网的加入方式,进而提取对应的共用虚拟局域网信息;
根据所述输出端口的端口标识、所述共用虚拟局域网信息以及对应的组表类型进行编码生成组表标识加入流表中发给所述输出端口对应的开放流转发设备。
7.一种流量转发控制装置,包括:
信息获取模块,用于获取开放流转发设备各通信端口的虚拟局域网配置信息,所述虚拟局域网配置信息包含:通信端口所加入的虚拟局域网信息以及加入各虚拟局域网的加入方式;
组表配置模块,用于将所述各通信端口上以加入方式相同的所有虚拟局域网信息转换为对应一个共用虚拟局域网信息,并将得到的共用虚拟局域网信息生成于类型与所述加入方式相对应的组表中;
下发模块,用于所述组表下发给所述开放流转发设备,以供所述开放流转发设备转发流量。
8.如权利要求7所述的流量转发控制装置,其特征在于,所述虚拟局域网信息为虚拟局域网标识值,所述加入方式为带标签方式或不带标签方式;所述配置信息还包括通信端口的端口标识;
所述组表配置模块用于根据所述通信端口加入所述各虚拟局域网的加入方式选择对应的共用虚拟局域网信息,将该共用虚拟局域网信息生成于类型与所述加入方式相对应一个组表中,并将选择的共用虚拟局域网信息以及所述通信端口的端口标识和该组表的类型进行编码生成该组表的组表标识。
9.如权利要求8所述的流量转发控制装置,其特征在于,还包括流表配置模块,用于获取流量的输出端口的端口标识、虚拟局域网标识值,根据所述虚拟局域网标识值确定出所述输出端口加入所述流量中的虚拟局域网的加入方式进而提取对应的共用虚拟局域网信息;以及用于根据所述输出端口的端口标识、所述共用虚拟局域网信息以及对应的组表类型进行编码生成组表标识加入流表中发给所述输出端口对应的开放流转发设备。
10.一种软件定义网络控制器,其特征在于,包括如权利要求7-9任一项所述的流量转发控制装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610859115.5A CN107872343B (zh) | 2016-09-28 | 2016-09-28 | 流量转发控制方法、装置及软件定义网络控制器 |
PCT/CN2017/104046 WO2018059503A1 (zh) | 2016-09-28 | 2017-09-28 | 流量转发控制方法、装置及软件定义网络控制器和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610859115.5A CN107872343B (zh) | 2016-09-28 | 2016-09-28 | 流量转发控制方法、装置及软件定义网络控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107872343A true CN107872343A (zh) | 2018-04-03 |
CN107872343B CN107872343B (zh) | 2022-05-06 |
Family
ID=61761835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610859115.5A Active CN107872343B (zh) | 2016-09-28 | 2016-09-28 | 流量转发控制方法、装置及软件定义网络控制器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107872343B (zh) |
WO (1) | WO2018059503A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114205236A (zh) * | 2020-09-18 | 2022-03-18 | 中兴通讯股份有限公司 | 网络配置方法、终端、系统及存储介质 |
CN114827209A (zh) * | 2022-05-07 | 2022-07-29 | 南京四维智联科技有限公司 | 一种数据采集方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103023779A (zh) * | 2012-08-13 | 2013-04-03 | 中兴通讯股份有限公司 | 一种数据报文处理方法及装置 |
CN103763367A (zh) * | 2014-01-17 | 2014-04-30 | 浪潮(北京)电子信息产业有限公司 | 一种云计算数据中心分布式虚拟网络设计方法及系统 |
US20140325636A1 (en) * | 2011-02-16 | 2014-10-30 | Fortinet, Inc. | Load balancing in a network with session information |
CN104660511A (zh) * | 2015-01-16 | 2015-05-27 | 杭州华三通信技术有限公司 | 一种sdn网络中多播报文的传输方法和设备 |
CN104823428A (zh) * | 2013-08-31 | 2015-08-05 | 华为技术有限公司 | 存储系统中操作请求处理方法和装置 |
CN105791174A (zh) * | 2014-12-25 | 2016-07-20 | 中兴通讯股份有限公司 | 线卡的确定、确定处理方法及装置、线卡的确定系统 |
US20160234067A1 (en) * | 2015-02-10 | 2016-08-11 | Alcatel-Lucent Canada Inc. | Method and system for identifying an outgoing interface using openflow protocol |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8964563B2 (en) * | 2011-07-08 | 2015-02-24 | Telefonaktiebolaget L M Ericsson (Publ) | Controller driven OAM for OpenFlow |
-
2016
- 2016-09-28 CN CN201610859115.5A patent/CN107872343B/zh active Active
-
2017
- 2017-09-28 WO PCT/CN2017/104046 patent/WO2018059503A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140325636A1 (en) * | 2011-02-16 | 2014-10-30 | Fortinet, Inc. | Load balancing in a network with session information |
CN103023779A (zh) * | 2012-08-13 | 2013-04-03 | 中兴通讯股份有限公司 | 一种数据报文处理方法及装置 |
CN104823428A (zh) * | 2013-08-31 | 2015-08-05 | 华为技术有限公司 | 存储系统中操作请求处理方法和装置 |
CN103763367A (zh) * | 2014-01-17 | 2014-04-30 | 浪潮(北京)电子信息产业有限公司 | 一种云计算数据中心分布式虚拟网络设计方法及系统 |
CN105791174A (zh) * | 2014-12-25 | 2016-07-20 | 中兴通讯股份有限公司 | 线卡的确定、确定处理方法及装置、线卡的确定系统 |
CN104660511A (zh) * | 2015-01-16 | 2015-05-27 | 杭州华三通信技术有限公司 | 一种sdn网络中多播报文的传输方法和设备 |
US20160234067A1 (en) * | 2015-02-10 | 2016-08-11 | Alcatel-Lucent Canada Inc. | Method and system for identifying an outgoing interface using openflow protocol |
Also Published As
Publication number | Publication date |
---|---|
CN107872343B (zh) | 2022-05-06 |
WO2018059503A1 (zh) | 2018-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104468358B (zh) | 分布式虚拟交换机系统的报文转发方法及设备 | |
US10129186B2 (en) | Service function chain (SFC) data communications with SFC data in virtual local area network identifier (VLAN ID) data fields | |
US9665530B2 (en) | Method and system for implementing elastic network interface and interconnection | |
CN104410541B (zh) | Vxlan内层虚拟机流量在中间交换机上进行统计的方法及装置 | |
CN104253767B (zh) | 一种虚拟分片网络的实现方法及一种交换机 | |
US20110080855A1 (en) | Method for Building Scalable Ethernet Switch Network and Huge Ethernet Switch | |
CN107276783A (zh) | 一种实现虚拟机统一管理及互通的方法、装置和系统 | |
CN106685826B (zh) | 交换机堆叠系统、从设备、交换芯片及处理协议报文方法 | |
CN104468462A (zh) | 分布式虚拟交换机系统的报文转发方法及设备 | |
EP3512164B1 (en) | Pseudo wire load sharing method and apparatus | |
CN101616014A (zh) | 一种实现跨虚拟专用局域网组播的方法 | |
CN108809864A (zh) | 一种基于fpga的多线卡高密度tap交换机 | |
CN106899478B (zh) | 电力测试业务通过云平台实现资源弹性扩展的方法 | |
CN104092684B (zh) | 一种OpenFlow协议支持VPN的方法及设备 | |
CN103368775A (zh) | 流量备份方法及核心交换设备 | |
CN107566237A (zh) | 一种数据报文处理方法及装置 | |
CN103595712B (zh) | 一种Web认证方法、装置及系统 | |
CN107872343A (zh) | 流量转发控制方法、装置及软件定义网络控制器 | |
CN108574613A (zh) | Sdn数据中心的二层互通方法及装置 | |
CN109672572B (zh) | 数据传输方法和装置 | |
CN104160735A (zh) | 发报文处理方法、转发器、报文处理设备、报文处理系统 | |
CN107623636A (zh) | 一种用户隔离方法和交换机 | |
CN109996027A (zh) | 视频会议的处理方法和装置 | |
CN104394075B (zh) | 一种报文传输的方法和设备 | |
CN108616450A (zh) | 一种基于sdn的ip网络实现约束路径转发的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |