CN105763465B - 一种分布式组合流量控制方法及装置 - Google Patents
一种分布式组合流量控制方法及装置 Download PDFInfo
- Publication number
- CN105763465B CN105763465B CN201610068715.XA CN201610068715A CN105763465B CN 105763465 B CN105763465 B CN 105763465B CN 201610068715 A CN201610068715 A CN 201610068715A CN 105763465 B CN105763465 B CN 105763465B
- Authority
- CN
- China
- Prior art keywords
- message
- flow table
- control
- tunnel
- address
- 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.)
- Active
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/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Abstract
本发明提供一种分布式组合流量控制方法及装置,该方法包括:接收第一隧道报文;当所述第一隧道报文的隧道头中包括的第一源媒体访问控制MAC地址和第一目的MAC地址与第一流表的匹配项匹配时,根据第一流表的动作项,获取第一隧道报文的隧道头中包括的第一流标识,并对所述第一隧道报文进行解封装,得到第一报文;当所述第一流标识与第二流表的匹配项匹配时,根据所述第二流表的动作项,对所述第一报文进行控制;其中,第一流标识用于标识发送所述第一隧道报文的源交换机对所述第一报文的控制结果,相同的控制结果对应同一流标识。应用本发明实施例可以实现在源交换机的流量控制基础上对接收到的报文进行流量控制,从而实现分布式组合流量控制。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种分布式组合流量控制方法及装置。
背景技术
SDN(Software Defined Network,软件定义网络)是一种新型网络创新架构,其核心思想是将网络设备的控制层面与转发层面分离,以实现对网络流量的灵活控制,为核心网络及应用的创新提供良好的平台。
SDN网络中,控制器可以通过向Openflow(一种新型网络交换模型)交换机下发流表的方式实现数据流量的控制,如流量速率控制、QoS(Quality of Service,服务质量)控制、流量统计等。其中,用于控制数据流量的流表可以包括流表Key(主键)和流表动作(Action),流表Key(主键)用于指定数据流的地址属性,流表动作(Action)用于指定Meter(流量)表,该Meter表包括流量控制参数。
然而实践发现,在来自多个不同的源Openflow交换机(以下简称为源交换机)的报文需要通过同一个目的Openflow交换机(以下简称为目的交换机)转发的场景中,当需要分别在源交换机和目的交换机上进行流量控制时,由于报文在SDN网络中传输过程中源IP地址、源MAC地址等地址属性可能会被修改,导致目的交换机无法根据报文的地址属性识别报文的来源以及源交换机对报文的流量控制结果,从而,目的交换机无法在源交换机的流量控制基础上对接收到的报文进行流量控制,即无法实现目的交换机基于源交换机的组合流量控制。
发明内容
本发明提供一种分布式组合流量控制方法及装置,以解决现有技术中无法实现目的交换机基于源交换机的组合流量控制的问题。
根据本发明实施例的第一方面,提供一种分布式组合流量控制方法,应用于交换机,该方法包括:
接收第一隧道报文;
当所述第一隧道报文的隧道头中包括的第一源媒体访问控制MAC地址和第一目的MAC地址与第一流表的匹配项匹配时,根据第一流表的动作项,获取所述第一隧道报文的隧道头中包括的第一流标识,并对所述第一隧道报文进行解封装,得到第一报文;
当所述第一流标识与第二流表的匹配项匹配时,根据所述第二流表的动作项,对所述第一报文进行控制;
其中,第一流标识用于标识发送所述第一隧道报文的源交换机对所述第一报文的控制结果,相同的控制结果对应同一流标识。
根据本发明实施例的第二方面,提供一种分布式组合流量控制装置,应用于交换机,该装置包括:
接收单元,用于接收第一隧道报文;
获取单元,用于当所述第一隧道报文的隧道头中包括的第一源媒体访问控制MAC地址和第一目的MAC地址与第一流表的匹配项匹配时,获取所述第一隧道报文的隧道头中包括的第一流标识;
解封装单元,用于当所述第一隧道报文的隧道头中包括的第一源媒体访问控制MAC地址和第一目的MAC地址与第一流表的匹配项匹配时,根据第一流表的动作项,对所述第一隧道报文进行解封装,得到第一报文;
控制单元,用于当所述第一隧道报文的隧道头中包括的第一流标识与第二流表的匹配项匹配时,根据所述第二流表的动作项,对所述第一报文进行控制;
其中,第一流标识用于标识发送所述第一隧道报文的源交换机对所述第一报文的控制结果,相同的控制结果对应同一流标识。
应用本发明实施例,当接收到第一隧道报文,且第一隧道报文的隧道头中包括的第一源MAC地址和第一目的MAC地址与第一流表的匹配项匹配时,根据第一流表的动作项,获取第一隧道报文的隧道头中包括的第一流标识,并对第一隧道报文进行解封装,得到第一报文,当第一流标识与第二流表的匹配项匹配时,根据该第二流表的动作项,对第一报文进行控制,实现了在源交换机的流量控制基础上对接收到的报文进行流量控制,从而实现了分布式组合流量控制。
附图说明
图1是本发明实施例提供的一种分布式组合流量控制方法的流程示意图;
图2是本发明实施例提供的另一种分布式组合流量控制方法的流程示意图;
图3是本发明实施例提供的一种具体应用场景的架构示意图;
图4是本发明实施例提供的一种分布式组合流量控制装置的结构示意图;
图5是本发明实施例提供的另一种分布式组合流量控制装置的结构示意图;
图6是本发明实施例提供的另一种分布式组合流量控制装置的结构示意图;
图7是本发明实施例提供的另一种分布式组合流量控制装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
请参见图1,图1为本发明实施例提供的一种分布式组合流量控制方法的流程示意图,如图1所示,该分布式组合流量控制方法可以包括以下步骤:
步骤101、接收第一隧道报文。
本发明实施例中,上述方法可以应用于SDN网络中的Openflow交换机(以下简称交换机),为便于描述,以下以上述方法的执行主体为交换机为例进行说明。
本发明实施例中,第一隧道报文并不特指某个固定的隧道报文,而是可以指代交换机接收到的任一隧道报文,本发明实施例后续不做复述。
步骤102、当该第一隧道报文的隧道头中包括的第一源MAC地址和第一目的MAC地址与第一流表的匹配项匹配时,根据第一流表的动作项,获取该第一隧道报文的隧道头中包括的第一流标识,并对该第一隧道报文进行解封装,得到第一报文;其中,第一流标识用于标识发送该第一隧道报文的源交换机对该第一报文的控制结果,相同的控制结果对应同一流标识。
本发明实施例中,交换机接收到第一隧道报文时,可以获取该第一隧道报文的隧道头中包括的源MAC(Media Access Control,媒体访问控制)地址(以下称为第一源MAC地址)和目的MAC地址(以下称为第一目的MAC地址),并根据该第一源MAC地址和第一目的MAC地址对预先存储的第一流表的匹配项进行匹配。
若第一隧道报文的隧道头中包括的第一源MAC地址和第一目的MAC地址,则交换机可以根据该第一流表的动作项获取该第一隧道报文的隧道头中包括的流标识(以下称为第一流标识),并对第一隧道报文进行解封装处理,弹掉该第一隧道报文的隧道头,以得到该第一隧道报文中携带的用户报文(以下称为第一报文);其中,该流标识用于标识发送第一隧道报文的源交换机对第一报文的控制结果,相同的控制结果对应同一流标识,交换机可以根据接收到的隧道报文的隧道头中包括的流标识确定该隧道报文中包括的用户报文已经经过源交换机的控制。
需要注意的是,在本发明实施例中,第一隧道报文的隧道头中还可以包括报文类型,该报文类型用于标识该第一隧道报文对应的隧道类型,交换机接收到第一隧道报文后,可以根据该第一隧道报文的隧道头中包括的报文类型对该第一隧道报文进行解封装处理。
相应地,在一种可选的实施方式中,交换机接收到第一隧道报文时,可以获取第一隧道报文中包括的第一源MAC地址以及第一目的MAC地址,并根据该第一源MAC地址以及第一目的MAC地址匹配第一流表的匹配项,当匹配成功时,交换机可以获取第一隧道报文的隧道头中包括的报文类型,并根据该报文类型对第一隧道报文进行解封装处理。
在另一种可选的实施方式中,第一流表的匹配项中还可以包括报文类型,当交换机接收到第一隧道报文时,可以获取该第一隧道报文中包括的第一源MAC地址、第一目的MAC地址以及报文类型,并根据该第一源MAC地址、第一目的MAC地址以及报文类型匹配第一流表的匹配项,并当匹配成功时,根据该报文类型对第一隧道报文进行解封装处理。
步骤103、当第一流标识与第二流表的匹配项匹配时,根据该第二流表的动作项,对该第一报文进行控制。
本发明实施例中,当交换机根据第一隧道报文的隧道头中包括的第一源MAC地址和第一目的MAC地址匹配第一流表的匹配项成功,获取到该第一隧道报文的隧道头中包括的第一流标识,并对第一隧道报文进行解封装后得到第一报文后,交换机可以根据该第一流标识匹配预先存储的第二流表的匹配项;若第一隧道报文的隧道头中包括的第一流标识与第二流表的匹配项匹配时,根据第二流表的动作项,对第一报文进行控制。
在一种实施方式中,上述步骤103中,对第一报文进行控制可以包括:
当与所述第二流表的匹配项匹配的报文对应的输出速率大于所述第二流表的动作项中包括的最大限制速率时,根据预设的限速策略确定是否需要对所述第一报文进行丢弃处理。
在该实施方式中,控制器给交换机下发的第二流表的动作项中可以包括最大限制速率,以使交换机根据该第二流表的动作项中包括的最大限制速率对与该第二流表的匹配项匹配的报文进行输出速率控制。
相应地,当第一隧道报文的隧道头中包括的第一流标识与第二流表的匹配项匹配时,交换机可以进一步确定与第二流表的匹配项匹配的报文对应的输出速率,并判断该输出速率是否超过第二流表的动作项中包括的最大限制速率,若超过,则根据预设的限速策略确定是否需要对第一报文进行丢弃处理。
在该实施方式中,预设的限速策略可以包括随机丢弃策略或时间顺序丢弃策略等。例如,当与第二流表的匹配项匹配的报文对应的输出速率超过第二流表的动作项中包括的最大限制速率时,随机对与该第二流表的匹配项匹配的报文进行丢弃,直至输出速率不超过最大限制速率,或者,可以根据该与第二流表的匹配项匹配的报文的接收时间,按接收时间从先到后的顺序,丢弃后接收到的报文,直至输出速率不超过最大限制速率。
作为另一种实施方式,上述步骤103中,对第一报文进行控制可以包括:
根据第二流表的动作项中包括的优先级参数对该第一报文进行优先级设置。
在该实施方式中,控制器给交换机下发的第二流表的动作项中可以包括优先级参数,以使交换机根据该第二流表的动作项中包括的优先级参数对与该第二流表的匹配项匹配的报文进行优先级设置。
相应地,当第一隧道报文的隧道头中包括的第一流标识与第二流表的匹配项匹配时,交换机可以获取该第二流表中的动作项中包括的优先级参数,并根据该优先级参数对该第一报文进行优先级设置。
进一步地,在该实施方式中,对第一报文进行控制之后,还可以包括以下步骤:
当报文输出速率超过预设的最大输出速率时,按照报文的优先级从低到高的顺序进行报文丢弃处理,直至报文输出速率不超过预设的最大输出速率。
在该实施方式中,考虑到交换机受最大出口带宽等因素的影响,通常会存在最大输出速率,因而交换机根据第二流表的动作项对第一报文进行控制之后,还可以统计当前状态下的报文输出速率,并比较当前报文输出速率与预设的最大输出速率,若当前报文输出速率超过预设的最大输出速率,则交换机需要对报文进行拥塞丢弃处理,以保证实际报文输出速率不超过预设的最大输出速率。
优选地,在该实施方式中,交换机可以按照严格优先级方式进行拥塞丢弃处理,即交换机可以根据各待输出的报文的优先级,按照报文的优先级从低到高的顺序进行报文丢弃处理,直至报文输出速率不超过预设的最大输出速率。
其中,在本发明实施例中,当交换机接收到的报文中同时包括携带有流标识的隧道报文以及未携带有流标识的隧道报文或非隧道报文时,在进行报文输出时,交换机可以将该未携带有流标识的隧道报文对应的解封装报文或未携带有流标识的非隧道报文的优先级默认为最低优先级,在进行拥塞处理时,优先对该类型报文进行丢弃。
举例来说,假设交换机单位时间内接收到的第一隧道报文对应的解封装且经过控制后的第一报文为200M,优先级为20;单位时间内接收到的第二隧道报文对应的解封装且经过控制后的第二报文为100M,优先级为10;单位时间内接收到的第三报文(未携带有流标识)为100M(该第三报文的优先级默认为0(即单位时间内交换机需要输出400M流量,假设其输出速率为400M/s),而目的交换机的最大输出速率为250M/s,即报文输出速率大于预设的最大输出速率,因此,目的交换机可以按照报文的优先级从低到高的顺序进行报文丢弃处理,直至报文输出不超过预设的最大输出速率,即第三报文全部丢弃,第二报文丢弃一半(50M),第一报文则允许其全部通过。
作为另一种实施方式,上述步骤103中,对第一报文进行控制可以包括:
对第一报文进行待输出流量统计。
相应地,对第一报文进行控制之后,还可以包括:
将待输出流量统计结果发送给控制器,以使控制器根据接收到的待输出流量统计结果以及目标交换机的最大输出速率确定是否需要调整源交换机的流量速率控制参数。
在该实施方式中,交换机对第一报文进行的控制还可以包括待输出流量统计,即统计单位交换机在单位时间内需要输出的第一报文的总量,并将该待输出流量统计结果上报给控制器;控制器接收到该待输出流量统计结果之后,可以根据该待输出流量统计结果以及目的交换机的最大输出速率确定是否调整源交换机的流量速率控制参数。例如,假设控制器根据待输出流量统计结果确定待输出流量的流量输出速率大于目的交换机的最大输出速率,则控制器可以降低单个或多个源交换机的流量速率控制参数,即降低单个或多个源交换机的最大限制速率;反之亦然。
应该认识到,在本发明实施例中,交换机根据接收到的隧道报文的隧道头中包括的流标识匹配第二流表的匹配项成功后,根据该第二流表的动作项对第一报文进行控制也可以同时包括输出速率限制、优先级设置以及待输出流量统计等中的两个或三个,其具体实现在此不再赘述。
可见,在图1所示的方法流程中,通过在接收到隧道报文,并根据隧道报文的隧道头中包括的源MAC地址和目的MAC地址匹配第一流表的匹配项成功后,获取隧道报文的隧道头中包括的流标识,并对隧道报文进行解封装,当该流标识与第二流表的匹配项匹配时,根据第二流表的动作项对解封装后的报文进行控制,实现了在源交换机的流量控制基础上对接收到的报文进行流量控制,从而实现了分布式组合流量控制。
请参见图2,图2为本发明实施例提供的另一种分布式组合流量控制方法的流程示意图,如图2所示,该分布式组合流量控制方法可以包括以下步骤:
步骤201、接收第二报文。
本发明实施例中,上述方法可以应用于SDN网络中的Openflow交换机,为便于描述,以下以上述方法的执行主体为交换机为例进行说明。
本发明实施例中,第二报文并不特指某一报文,而是可以指代交换机接收到的任一用户报文,本发明实施例后续不做复述。
步骤202、当第二报文的地址属性与第三流表的匹配项匹配时,根据第三流表的动作项对第二报文进行控制,并将控制后且未被丢弃的第二报文封装为第二隧道报文并转发;其中,第二隧道报文的隧道头中包括第二源MAC地址、第二目的MAC地址以及第二流标识,该第二源MAC地址为本交换机的MAC地址,第二目的MAC地址为第二报文的目的MAC地址,第二流标识用于标识本交换机对第二报文的控制结果,相同的控制结果对应同一流标识。
本发明实施例中,交换机接收到第二报文后,可以获取该第二报文的地址属性,并根据该第二报文的地址属性匹配预先存储的第三流表的匹配项;若匹配成功,即第二报文的地址属性与第三流表的匹配项匹配,则交换机可以根据第三流表的动作项对第二报文进行控制。
在本发明实施例中,交换机根据第三流表的动作项进行控制可以包括输出速率控制、优先级设置以及流量统计等控制策略中的一个或多个。
其中,对于输出速率控制,当交换机确定第二报文的输出速率超过了与该第二报文的地址属性匹配的第三流表的动作表项中包括的最大限制速率时,交换机需要对第二报文进行丢弃处理,以保证第二报文的实际输出速率不超过该最大限制速率。
在本发明实施例中,为了实现分布式组合流量控制,交换机对接收到的用户报文进行控制之后,需要对待转发的报文进行封装,并在封装报文中携带用于标识本交换机对该用户报文的控制结果的流标识,以使目的交换机接收到封装报文时,可以根据封装报文中携带的该流标识识别该用户报文为经过源交换机控制的用户报文,并根据该流标识对该用户报文进行进一步地控制,实现分布式组合流量控制。其中,相同控制结果对应相同的流标识。
相应地,交换机对第二报文进行控制之后,可以以本交换机的MAC地址为隧道头中的源MAC地址,以第二报文的目的MAC地址为隧道头中的目的MAC地址,对控制后的且未被丢弃的第二报文进行封装,以得到第二隧道报文,并对该第二隧道报文进行转发,其中,该隧道报文的隧道头中还需要携带本交换机对第二报文的控制结果对应的流标识。
目的交换机接收到该第二隧道报文之后的具体处理流程可以参见图1所示方法流程中的相关描述,本发明实施例在此不再赘述。
可见,在图2所示的方法流程中,通过将控制后且未被丢弃的流量封装为隧道报文,并在隧道报文的隧道头中携带用于标识本交换机对流量的控制结果的流标识,以使目的交换机接收到隧道报文时,可以根据隧道报文中携带的流标识识别该用户报文为经过源交换机控制的用户报文,并根据该流标识对该用户报文进行进一步地控制,实现了分布式组合流量控制。
为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体的应用场景对本发明实施例提供的技术方案进行说明。
请参见图3,图3为本发明实施例提供的一种具体应用场景的架构示意图,如图3所示,在SDN网络中,Openflow交换机OVS1、OVS2、OVS3和OVS4为某个数据流的源交换机,这些交换机下的某些主机都会访问外网的某个服务器,控制器分别在OVS1、OVS2和OVS4上进行了流量控制,OVS3上未进行流量控制。Gateway(网关设备,即上述实施例中所描述的目的交换机)为连接外网的网关设备,控制器在网关设备处针对该数据流进行流量控制,限速250M/s(即最大输出速率为250M/s),拥塞丢弃策略为严格优先级方式。
在该实施例中,假设在某时刻,OVS1、OVS2、OVS3和OVS4上都存在数据流,OVS1、OVS2和OVS4分别对数据流进行了第一级控制,且OVS2和OVS4对数据流的控制结果相同,OVS3未对数据流进行控制,按照端口的最大能力进行输出(假设为100M/s);其中,OVS1、OVS2和OVS4输出的流量为携带了流标识的隧道报文,且OVS2和OVS4输出的流量携带的流标识相同,OVS3输出的流量为普通的数据流(未经过隧道封装的用户报文)。假设OVS1输出封装后的数据流1,输出速率为200M/s;OVS2输出封装后的数据流2,输出速率为75M/s;OVS3输出未封装的数据流3,输出速率为100M/s;OVS4输出封装后的数据流4,输出速率为75M/s;其中,封装后的数据流2和封装后的数据流4携带的流标识相同。
Gateway接收到分别来自OVS1、OVS2、OVS3和OVS4的三个分支数据流量,当分支数据流量为携带了流标识的隧道报文时,且隧道报文的隧道头中包括的源MAC地址和目的MAC地址与第一流表的匹配项匹配,且隧道头中包括的流标识与第二流表的匹配项匹配时,获取隧道报文的隧道头中包括的流标识,并对隧道报文进行解封装,弹掉隧道报文的隧道头,并对解封装后的报文进行控制。其中,由于来自OVS2和OVS4的隧道报文的隧道头中包括的流标识相同,因此,Gateway对来自OVS2和OVS4的隧道报文对应的解封装后的报文进行相同的控制。假设Gateway对来自OVS1的分支数据流量解封装得到报文A,对报文A的控制结果为限速200M/s(控制后单位时间内待输出的报文A的总量也为200M),优先级设置为20;Gateway对来自OVS2和OVS4的分支数据流量解封装分别得到报文B和报文D,对报文B和报文D的控制结果为限速100M/s(控制后单位时间内待输出的报文B和报文D的总量也为100M),优先级设置为10。
对于来自OVS3的分支数据流量,由于其为普通数据流量(即未携带流标识),因此,Gateway不对其进行限速(假设其输出速率为100M/s),优先级默认为0。
其中,由于单位时间内待输出的报文B和报文D的总量对应的输出速率(150M/s)超过了对应流表的最大限制速率(100M/s),因此,Gateway可以采用时间顺序丢弃策略,对报文B和报文D进行丢弃处理,即根据报文B和报文D的实际接收时间从先到后的顺序,对后接收到的报文进行丢弃,直至报文B和报文D对应的输出速率为100M/s。
Gateway对分支数据流量进行控制之后,由于报文输出速率(400M/s)超过了预设的最大输出速率(250M/s),因此Gateway需要进行拥塞丢弃处理,从而,Gateway可以按照报文的优先级从低到高的顺序,对于来自OVS3的分支数据流量,将其全部丢弃;对于经过控制的报文B和D,允许通过一半(Gateway可以根据随机丢弃策略丢弃一半的流量);对于经过控制的报文A,允许其全部通过。
通过以上描述可以看出,在本发明实施例提供的技术方案中,当接收到第一隧道报文,且第一隧道报文的隧道头中包括的第一源MAC地址和第一目的MAC地址与第一流表的匹配项匹配时,根据第一流表的动作项,获取第一隧道报文的隧道头中包括的第一流标识,并对第一隧道报文进行解封装,得到第一报文,当第一流标识与第二流表的匹配项匹配时,根据该第二流表的动作项,对第一报文进行控制,实现了在源交换机的流量控制基础上对接收到的报文进行流量控制,从而实现了分布式组合流量控制。
请参见图4,为本发明实施例提供的一种分布式组合流量控制装置的结构示意图,其中,该装置可以应用于交换机,如图4所示,所述装置可以包括:
接收单元410,用于接收第一隧道报文;
获取单元420,用于当所述第一隧道报文的隧道头中包括的第一源媒体访问控制MAC地址和第一目的MAC地址与第一流表的匹配项匹配时,获取所述第一隧道报文的隧道头中包括的第一流标识;
解封装单元430,用于当所述第一隧道报文的隧道头中包括的第一源媒体访问控制MAC地址和第一目的MAC地址与第一流表的匹配项匹配时,根据第一流表的动作项,对所述第一隧道报文进行解封装,得到第一报文;
控制单元440,用于当所述第一流标识与第二流表的匹配项匹配时,根据所述第二流表的动作项,对所述第一报文进行控制;
其中,第一流标识用于标识发送所述第一隧道报文的源交换机对所述第一报文的控制结果,相同的控制结果对应同一流标识。
在可选实施例中,所述控制单元440,可以具体用于当与所述第二流表的匹配项匹配的报文对应的输出速率超过所述第二流表的动作项中包括的最大限制速率时,根据预设的限速策略确定是否需要对所述第一报文进行丢弃处理。
在可选实施例中,所述控制单元440,可以具体用于根据所述第二流表的动作项中包括的优先级参数对所述第一报文进行优先级设置。
请一并参阅图5,为本发明实施例提供的另一种分布式组合流量控制装置的结构示意图,该实施例在前述图4所示实施例的基础上,所述装置还可以包括:丢弃单元450;其中:
丢弃单元450,用于当报文输出速率超过预设的最大输出速率时,按照报文的优先级从低到高的顺序进行报文丢弃处理,直至报文输出速率不超过所述预设的最大输出速率。
在可选实施例中,所述控制单元440,可以具体用于对所述第一报文进行待输出流量统计;
相应地,请一并参阅图6,为本发明实施例提供的另一种分布式组合流量控制装置的结构示意图,该实施例在前述图4所示实施例的基础上,所述装置还可以包括:第一发送单元460;其中:
第一发送单元460,用于将待输出流量统计结果发送给控制器,以使所述控制器根据接收到的待输出流量统计结果以及目的交换机的最大输出速率确定是否调整源交换机的流量速率控制参数。
在可选实施例中,所述接收单元410,还可以用于接收第二报文;
所述控制单元440,还可以用于当所述第二报文的地址属性与第三流表的匹配项匹配时,根据所述第三流表的动作项对所述第二报文进行控制;
相应地,请一并参阅图7,为本发明实施例提供的另一种分布式组合流量控制装置的结构示意图,该实施例在前述图4所示实施例的基础上,所述装置还可以包括:封装单元470和第二发送单元480;其中:
封装单元470,用于将控制后且未被丢弃的第二报文封装为第二隧道报文;其中,所述第二隧道报文的隧道头中包括第二源媒体访问控制MAC地址、第二目的MAC地址以及第二流标识,所述第二源MAC地址为本交换机的MAC地址,第二目的MAC地址为所述第二报文的目的MAC地址,第二流标识用于标识本交换机对所述第二报文的控制结果,相同的控制结果对应同一流标识;
第二发送单元480,用于转发所述第二隧道报文。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,当接收到第一隧道报文,且第一隧道报文的隧道头中包括的第一源MAC地址和第一目的MAC地址与第一流表的匹配项匹配时,根据第一流表的动作项,获取第一隧道报文的隧道头中包括的第一流标识,并对第一隧道报文进行解封装,得到第一报文,当第一流标识与第二流表的匹配项匹配时,根据该第二流表的动作项,对第一报文进行控制,实现了在源交换机的流量控制基础上对接收到的报文进行流量控制,从而实现了分布式组合流量控制。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (12)
1.一种分布式组合流量控制方法,其特征在于,所述方法应用于交换机,所述方法包括:
接收第一隧道报文;
当所述第一隧道报文的隧道头中包括的第一源媒体访问控制MAC地址和第一目的MAC地址与第一流表的匹配项匹配时,根据第一流表的动作项,获取所述第一隧道报文的隧道头中包括的第一流标识,并对所述第一隧道报文进行解封装,得到第一报文;
当所述第一流标识与第二流表的匹配项匹配时,根据所述第二流表的动作项,对所述第一报文进行控制;
其中,第一流标识用于标识发送所述第一隧道报文的源交换机对所述第一报文的控制结果,相同的控制结果对应同一流标识。
2.根据权利要求1所述的方法,其特征在于,所述对所述第一报文进行控制,包括:
当与所述第二流表的匹配项匹配的报文对应的输出速率超过所述第二流表的动作项中包括的最大限制速率时,根据预设的限速策略确定是否需要对所述第一报文进行丢弃处理。
3.根据权利要求1或2所述的方法,其特征在于,所述对所述第一报文进行控制包括:
根据所述第二流表的动作项中包括的优先级参数对所述第一报文进行优先级设置。
4.根据权利要求3所述的方法,其特征在于,所述对所述第一报文进行控制之后,所述方法还包括:
当报文输出速率超过预设的最大输出速率时,按照报文的优先级从低到高的顺序进行报文丢弃处理,直至报文输出速率不超过所述预设的最大输出速率。
5.根据权利要求1所述的方法,其特征在于,所述对所述第一报文进行控制,包括:
对所述第一报文进行待输出流量统计;
所述对所述第一报文进行控制之后,还包括:
将待输出流量统计结果发送给控制器,以使所述控制器根据接收到的待输出流量统计结果以及目的交换机的最大输出速率确定是否调整源交换机的流量速率控制参数。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收第二报文;
当所述第二报文的地址属性与第三流表的匹配项匹配时,根据所述第三流表的动作项对所述第二报文进行控制,并将控制后且未被丢弃的第二报文封装为第二隧道报文并转发;其中,所述地址属性包括源IP地址和/或源MAC地址;
其中,所述第二隧道报文的隧道头中包括第二源媒体访问控制MAC地址、第二目的MAC地址以及第二流标识,所述第二源MAC地址为本交换机的MAC地址,第二目的MAC地址为所述第二报文的目的MAC地址,第二流标识用于标识本交换机对所述第二报文的控制结果,相同的控制结果对应同一流标识。
7.一种分布式组合流量控制装置,其特征在于,应用于交换机,所述装置包括:
接收单元,用于接收第一隧道报文;
获取单元,用于当所述第一隧道报文的隧道头中包括的第一源媒体访问控制MAC地址和第一目的MAC地址与第一流表的匹配项匹配时,获取所述第一隧道报文的隧道头中包括的第一流标识;
解封装单元,用于当所述第一隧道报文的隧道头中包括的第一源媒体访问控制MAC地址和第一目的MAC地址与第一流表的匹配项匹配时,根据第一流表的动作项,对所述第一隧道报文进行解封装,得到第一报文;
控制单元,用于当所述第一隧道报文的隧道头中包括的第一流标识与第二流表的匹配项匹配时,根据所述第二流表的动作项,对所述第一报文进行控制;
其中,第一流标识用于标识发送所述第一隧道报文的源交换机对所述第一报文的控制结果,相同的控制结果对应同一流标识。
8.根据权利要求7所述的装置,其特征在于,
所述控制单元,具体用于当与所述第二流表的匹配项匹配的报文对应的输出速率超过所述第二流表的动作项中包括的最大限制速率时,根据预设的限速策略确定是否需要对所述第一报文进行丢弃处理。
9.根据权利要求7或8所述的装置,其特征在于,
所述控制单元,具体用于根据所述第二流表的动作项中包括的优先级参数对所述第一报文进行优先级设置。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
丢弃单元,用于当报文输出速率超过预设的最大输出速率时,按照报文的优先级从低到高的顺序进行报文丢弃处理,直至报文输出速率不超过所述预设的最大输出速率。
11.根据权利要求7所述的装置,其特征在于,
所述控制单元,具体用于对所述第一报文进行待输出流量统计;
所述装置还包括:
第一发送单元,用于将待输出流量统计结果发送给控制器,以使所述控制器根据接收到的待输出流量统计结果以及目的交换机的最大输出速率确定是否调整源交换机的流量速率控制参数。
12.根据权利要求7所述的装置,其特征在于,
所述接收单元,还用于接收第二报文;
所述控制单元,还用于当所述第二报文的地址属性与第三流表的匹配项匹配时,根据所述第三流表的动作项对所述第二报文进行控制;其中,所述地址属性包括源IP地址和/或源MAC地址;
所述装置还包括:
封装单元,用于将控制后且未被丢弃的第二报文封装为第二隧道报文;其中,所述第二隧道报文的隧道头中包括第二源媒体访问控制MAC地址、第二目的MAC地址以及第二流标识,所述第二源MAC地址为本交换机的MAC地址,第二目的MAC地址为所述第二报文的目的MAC地址,第二流标识用于标识本交换机对所述第二报文的控制结果,相同的控制结果对应同一流标识;
第二发送单元,用于转发所述第二隧道报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610068715.XA CN105763465B (zh) | 2016-01-29 | 2016-01-29 | 一种分布式组合流量控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610068715.XA CN105763465B (zh) | 2016-01-29 | 2016-01-29 | 一种分布式组合流量控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105763465A CN105763465A (zh) | 2016-07-13 |
CN105763465B true CN105763465B (zh) | 2019-01-22 |
Family
ID=56342926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610068715.XA Active CN105763465B (zh) | 2016-01-29 | 2016-01-29 | 一种分布式组合流量控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105763465B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107666440B (zh) * | 2016-07-29 | 2020-09-11 | 华为技术有限公司 | 交换机及交换系统 |
CN106789640A (zh) * | 2016-11-10 | 2017-05-31 | 上海斐讯数据通信技术有限公司 | 一种基于sdn的优先级分类方法、装置和系统 |
CN106533962B (zh) * | 2017-01-10 | 2019-09-13 | 盛科网络(苏州)有限公司 | 分布式交换机系统内部流量控制方法 |
CN108566344B (zh) * | 2018-03-19 | 2022-01-25 | 新华三技术有限公司 | 一种报文处理方法和装置 |
CN108777646B (zh) * | 2018-05-02 | 2020-08-11 | 新华三技术有限公司 | 流量监控方法及装置 |
CN108650154B (zh) * | 2018-06-29 | 2020-11-27 | 新华三技术有限公司 | 流量控制方法及装置 |
CN109600318B (zh) * | 2018-11-29 | 2022-07-12 | 新华三技术有限公司合肥分公司 | 一种监控sdn中应用程序的方法及sdn控制器 |
CN109450811B (zh) * | 2018-11-30 | 2022-08-12 | 新华三云计算技术有限公司 | 流量控制方法、装置及服务器 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753419A (zh) * | 2008-12-08 | 2010-06-23 | 华为技术有限公司 | 发送数据、转发数据的方法、设备和多地址空间移动网络 |
CN103051629A (zh) * | 2012-12-24 | 2013-04-17 | 华为技术有限公司 | 一种基于软件定义网络中数据处理的系统、方法和节点 |
CN103380600A (zh) * | 2011-02-17 | 2013-10-30 | 日本电气株式会社 | 网络系统和网络流跟踪方法 |
US20140241361A1 (en) * | 2013-02-28 | 2014-08-28 | Texas Instruments Incorporated | Packet processing match and action unit with configurable memory allocation |
CN104040966A (zh) * | 2012-11-09 | 2014-09-10 | 华为技术有限公司 | 处理报文的方法、转发面装置及网络设备 |
CN104219149A (zh) * | 2014-08-26 | 2014-12-17 | 杭州华三通信技术有限公司 | 一种基于虚连接的报文传输方法和设备 |
CN104601488A (zh) * | 2015-01-22 | 2015-05-06 | 杭州华三通信技术有限公司 | 一种软件定义网络中流量控制方法和装置 |
CN104753885A (zh) * | 2013-12-30 | 2015-07-01 | 杭州华为数字技术有限公司 | 一种流表匹配的方法、装置和OpenFlow交换系统 |
CN104780088A (zh) * | 2015-03-19 | 2015-07-15 | 杭州华三通信技术有限公司 | 一种业务报文的传输方法和设备 |
CN105099913A (zh) * | 2014-04-21 | 2015-11-25 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
-
2016
- 2016-01-29 CN CN201610068715.XA patent/CN105763465B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753419A (zh) * | 2008-12-08 | 2010-06-23 | 华为技术有限公司 | 发送数据、转发数据的方法、设备和多地址空间移动网络 |
CN103380600A (zh) * | 2011-02-17 | 2013-10-30 | 日本电气株式会社 | 网络系统和网络流跟踪方法 |
CN104040966A (zh) * | 2012-11-09 | 2014-09-10 | 华为技术有限公司 | 处理报文的方法、转发面装置及网络设备 |
CN103051629A (zh) * | 2012-12-24 | 2013-04-17 | 华为技术有限公司 | 一种基于软件定义网络中数据处理的系统、方法和节点 |
US20140241361A1 (en) * | 2013-02-28 | 2014-08-28 | Texas Instruments Incorporated | Packet processing match and action unit with configurable memory allocation |
CN104753885A (zh) * | 2013-12-30 | 2015-07-01 | 杭州华为数字技术有限公司 | 一种流表匹配的方法、装置和OpenFlow交换系统 |
CN105099913A (zh) * | 2014-04-21 | 2015-11-25 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
CN104219149A (zh) * | 2014-08-26 | 2014-12-17 | 杭州华三通信技术有限公司 | 一种基于虚连接的报文传输方法和设备 |
CN104601488A (zh) * | 2015-01-22 | 2015-05-06 | 杭州华三通信技术有限公司 | 一种软件定义网络中流量控制方法和装置 |
CN104780088A (zh) * | 2015-03-19 | 2015-07-15 | 杭州华三通信技术有限公司 | 一种业务报文的传输方法和设备 |
Non-Patent Citations (3)
Title |
---|
"Forwarding metamorphosis:fast programmable match-action processing in hardware for SDN";Pat Bosshart,et al;《SIGCOMM "13 Proceedings of the ACM SIGCOMM 2013 conference on SIGCOMM》;20130816;全文 * |
"Allocation and scheduling of network resource for multiple control applications in SDN";F Tao,et al;《China Communications ( Volume: 12, Issue: 6, June 2015 )》;20150615;全文 * |
"Flow-level state transition as a new switch primitive for SDN";M Moshref,et al;《HotSDN "14 Proceedings of the third workshop on Hot topics in software defined networking》;20140822;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105763465A (zh) | 2016-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105763465B (zh) | 一种分布式组合流量控制方法及装置 | |
CN104092604B (zh) | 报文传输控制方法及装置 | |
CN105337857B (zh) | 一种基于软件定义网络的多路径传输方法 | |
CN105357068B (zh) | 一种面向应用QoS保障的OpenFlow网络流量控制方法 | |
US9246818B2 (en) | Congestion notification in leaf and spine networks | |
CN104468384B (zh) | 一种实现多业务优先级的系统及方法 | |
CN104618194B (zh) | 软件定义网络报文监控方法和sdn控制器、交换设备 | |
CN107181663A (zh) | 一种报文处理方法、相关设备及计算机可读存储介质 | |
CN105376158B (zh) | 基于mpls报文中exp值的sdn流转方法及其装置 | |
CN109218178A (zh) | 一种报文处理方法及网络设备 | |
CN107819695A (zh) | 一种基于sdn的分布式控制负载均衡系统与方法 | |
CN110061897A (zh) | 虚拟网络隧道内流量数据获取方法与系统 | |
WO2016063201A1 (en) | Qos on a virtual interface over multi-path transport | |
CN104601467B (zh) | 一种发送报文的方法和装置 | |
CN105791152B (zh) | 一种流量控制方法、sdn控制器和sdn设备 | |
CN104365066B (zh) | 用于以太虚拟专用网的方法和设备 | |
CN104283781B (zh) | 一种路径计算方法和装置 | |
US10785515B2 (en) | Communication control device, communication control method, and communication system | |
CN107786456B (zh) | 流量控制方法及系统,分组交换设备及用户设备 | |
CN109391563A (zh) | 一种资源预留方法以及相关设备 | |
JP5644948B2 (ja) | パケット転送システム、制御装置、パケット転送方法およびプログラム | |
CN108449279A (zh) | 拥塞控制方法及装置 | |
JP6070700B2 (ja) | パケット転送システム、制御装置、パケット転送方法及びプログラム | |
CN106330710B (zh) | 数据流调度方法及装置 | |
CN106209440A (zh) | 软件定义网络SDN中的服务质量QoS实现方法和装置 |
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 | ||
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. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |