CN115396367B - 流量调度方法、装置、电子设备及存储介质 - Google Patents
流量调度方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115396367B CN115396367B CN202210798679.8A CN202210798679A CN115396367B CN 115396367 B CN115396367 B CN 115396367B CN 202210798679 A CN202210798679 A CN 202210798679A CN 115396367 B CN115396367 B CN 115396367B
- Authority
- CN
- China
- Prior art keywords
- message
- next hop
- address
- tunnel
- available
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000006243 chemical reaction Methods 0.000 claims abstract description 13
- 238000011084 recovery Methods 0.000 claims description 32
- 238000005538 encapsulation Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 238000004590 computer program Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- 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/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种流量调度方法、装置、电子设备及存储介质,涉及人工智能领域,尤其涉及云计算、私有云和云网络技术,可应用在智能云场景下。具体实现方案为:对接收到的报文中的源地址进行网络地址转换处理,得到所述报文的源IP地址;基于所述报文的源IP地址、预设的流量调度默认表和预设的隧道信息表,获取所述报文对应的下一跳可用区的隧道地址信息;所述下一跳可用区的路由信息与所述报文的源IP地址匹配;基于所述报文对应的下一跳可用区的隧道地址信息,向所述下一跳可用区发送所述报文。根据本公开的技术,可以实现流量的灵活调度,有效地提高流量的可控性。
Description
技术领域
本公开涉及人工智能领域,具体涉及云计算、私有云和云网络技术,可应用在智能云场景下。尤其涉及一种流量调度方法、装置、电子设备及存储介质。
背景技术
私有云由于具备数据安全、服务质量稳定等特点,越来越受到企业用户的青睐。
当前私有云的云机房内各个可用区通过界网关协议(Border Gateway Protocol;BGP)对外发布相同网段的路由;云机房的入方向的流量,通过等价多路径路由(Equal CostMulti Path;ECMP)随机到不同的可用区。而云机房的出方向流量则采用路由就近原则发送。
发明内容
本公开提供了一种流量调度方法、装置、电子设备及存储介质。
根据本公开的一方面,提供了一种流量调度方法,包括:
对接收到的报文中的源地址进行网络地址转换处理,得到所述报文的源IP地址;
基于所述报文的源IP地址、预设的流量调度默认表和预设的隧道信息表,获取所述报文对应的下一跳可用区的隧道地址信息;所述下一跳可用区的路由信息与所述报文的源IP地址匹配;
基于所述报文对应的下一跳可用区的隧道地址信息,向所述下一跳可用区发送所述报文。
根据本公开的另一方面,提供了一种云网关,包括:
地址转换模块,用于对接收到的报文中的源地址进行网络地址转换处理,得到所述报文的源IP地址;
隧道信息获取模块,用于基于所述报文的源IP地址、预设的流量调度默认表和预设的隧道信息表,获取所述报文对应的下一跳可用区的隧道地址信息;所述下一跳可用区的路由信息与所述报文的源IP地址匹配;
发送模块,用于基于所述报文对应的下一跳可用区的隧道地址信息,向所述下一跳可用区发送所述报文。
根据本公开的再一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方面和任一可能的实现方式的方法。
根据本公开的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如上所述的方面和任一可能的实现方式的方法。
根据本公开的再另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上所述的方面和任一可能的实现方式的方法。
根据本公开的技术,可以实现流量的灵活调度,有效地提高流量的可控性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开第一实施例的示意图;
图2是根据本公开第二实施例的示意图;
图3是本公开实施例提供的一种入云方向的流量示意图;
图4是本公开实施例提供的一种出云方向的流量示意图;
图5是本实施例提供流量调度容灾表和流量调度默认表、以及对应的隧道信息表的示意图;
图6是根据本公开第三实施例的示意图;
图7是根据本公开第四实施例的示意图;
图8是用来实现本公开实施例方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
需要说明的是,本公开实施例中所涉及的终端设备可以包括但不限于手机、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(TabletComputer)等智能设备;显示设备可以包括但不限于个人电脑、电视等具有显示功能的设备。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
现有技术中,云机房出方向流量采用路由就近原则发送,可能会出现一条流的正反向流量,进入和返回在不同的可用区,那么基于可用区部署的产品如防火墙功能就会失效。
图1是根据本公开第一实施例的示意图;如图1所示,本实施例提供一种流量调度方法,应用于可用区的云网关中,具体可以包括如下步骤:
S101、对接收到的报文中的源地址进行网络地址转换(Network AddressTranslation;NAT)处理,得到报文的源IP地址;
S102、基于报文的源IP地址、预设的流量调度默认表和预设的隧道信息表,获取报文对应的下一跳可用区的隧道地址信息;该下一跳的路由信息与报文的源IP地址匹配;
S103、基于报文对应的下一跳可用区的隧道地址信息,向下一跳可用区发送报文。
本实施例的流量调度方法,应用于对云环境中的任一区域Region中的任一可用区的出方向的流量进行调度。
具体地,可用区的云网关接收报文,并对报文中的源地址进行NAT地址转换,获取到该报文的源IP地址,该源IP地址即对应报文的源发送端对应的公网地址。该报文已经在虚拟私有云(Virtual Private Cloud;VPC)内处理完毕,按照路由就近原则,该报文被发送至当前的可用区的云网关,欲返回至源发送端。
若按照现有技术的技术方案,当前的可用区的云网关接收到该报文之后,NAT处理后,获取到该报文的源IP地址,则直接向源发送端返回该报文。但是这样必然导致该报文进入云机房的可用区和返回源发送端时的可用区不是同一个可用区,导致基于可用区部署的产品功能失效。例如基于可用区部署的防火墙功能,在同一个可用区内有会话同步,而在不同可用区之间没有会话同步,若按照现有的方式,必然导致防火墙功能失效。同理也会导致基于可用区部署的其他产品功能失效。
为了解决该问题,本实施例中,在进行NAT转换,获取到报文的源IP地址后,基于报文的源IP地址、流量调度默认表和隧道信息表,可以获取报文对应的下一跳可用区的隧道地址信息,
由于流量调度默认表是云网关控制器基于流量的路由信息和各可用区的路由信息,配置的各流量对应的下一跳可用区的索引,其中,流量的下一跳可用区的路由信息与流量的源IP地址匹配。即流量的路由信息能够命中下一跳可用区的路由信息,才可以将该流量调度到对应的下一跳可用区。隧道信息表中包括各流量的下一跳可用区的索引对应的可用区的隧道地址信息。其中流量即指的是任意一个报文,例如,本实施例中接收的报文,也是一条流量。流量的路由信息可以指的报文的路由信息,可以采用无类别域间路由(Classless Inter-Domain Routing;CIDR)的形式来表示的报文的源IP地址。
本实施例的场景中,不同可用区共用云网关控制器。即云网关控制器为云机房的Region内的各可用区配置路由信息、配置流量调度默认表以及隧道信息表等。
另外,需要注意的是,本实施例中各可用区发布的路由信息不一致,即与现有技术中各可用区发布相同网段的路由不同。这样的话,基于路由最长匹配原则,对于任一源IP,在入云时,云机房的路由器可以基于报文的源IP和各可用区的路由信息,匹配到对应的可用区,将该报文的流量调度到匹配的可用区。进一步地,该报文可以基于该可用区后,可能会进入另一个可用区的VPC,报文处理完毕,按照路由就近原则,可能在返回时进入到进入可用区之外的其他可用区的云网关。但是本实施例中,云网关可以按照上述实施例的技术方案,将报文再调度到与源IP地址匹配的下一跳可用区,而下一跳可用区正好也是报文进入云机房时的可用区,以便于该报文可以通过进入时的可用区再返回,进而可以实现该报文入云和出云时在同一个可用区,可以有效地保证基于可用区部署的产品功能如防火墙功能的有效性。
本实施例的流量调度方法,通过基于报文的源IP地址、预设的流量调度默认表和预设的隧道信息表,获取报文对应的下一跳可用区的隧道地址信息,该下一跳可用区的路由信息与报文的源IP地址匹配;并基于报文对应的下一跳可用区的隧道地址信息,向下一跳可用区发送报文,能够有效地保证报文入云和出云时在同一个可用区,可以有效地保证基于可用区部署的产品功能如防火墙功能的有效性。而且,本实施例的技术方案,可以实现流量的灵活调度,有效地提高流量的可控性。
图2是根据本公开第二实施例的示意图;本实施例的流量调度方法,在上述图1所示实施例的技术方案的基础上,进一步更加详细地介绍本公开的技术方案。如图2所示,本实施例的流量调度方法,具体可以包括如下步骤:
S201、接收云网关控制器下发的流量调度默认表以及隧道信息表;
该流量调度默认表是云网关控制器配置的,包括云网关控制器基于各流量的路由信息和各可用区的路由信息,配置的各流量对应的下一跳可用区的索引。该隧道信息表也是云网关控制器配置的,包括各流量对应的下一跳可用区的索引对应的可用区的隧道地址信息。其中流量即指的是任意一条报文。流量的路由信息可以采用CIDR的形式表示。流量的路由信息可以指的是报文的源IP地址。通过接收云网关控制器下发的流量调度默认表以及隧道信息表,进而可以基于流量调度默认表以及隧道信息表,为后续报文的正确调度提供依据和支持。
本实施例的云网关控制器用于管理一个区域Region内的多个可用区的云网关。本实施例,以执行主体为任意一个可用区的云网关为例,描述本公开的技术方案。
S202、在存在故障的可用区时,接收云网关控制器下发的流量调度容灾表;
该流量调度容灾表中包括云网关控制器基于流量的路由信息和各可用区的路由信息,配置的将调度到故障的可用区的流量调度到匹配的非故障的可用区的下一跳可用区的索引。对于任一流量而言,按照路由最长匹配原则,故障的可用区可以认为是该流量的最匹配的可用区,而非故障的可用区为备用区。通过该方式,在存在故障可用区时,配置并下发流量调度容灾表,可以有效地确保即使存在故障可用区,仍然可以将报文调度到非故障的可用区,保证报文的正确传输,提高报文传输的稳定性和可靠性。
本实施例的步骤S202和步骤S201也可以同时执行,只要云网关控制器检测到当前的Region内存在故障的可用区,便可以配置流量调度容灾表,并下发给正常的可用区的云网关。
S203、接收返回的报文;
该报文为从VPC返回源发送端的报文。本实施例中,主要对返回的报文进行调度,以实现返回报文的流量和进入报文的流量在同一个可用区,以使得基于可用区部署的产品功能能够有效地正常使用。
需要说明的是,本实施例中,云网络控制器为各可用区配置不同的路由信息。在路由器接收到源发送端发送的进入云机房的报文的流量时,可以根据各可用区配置的路由信息以及该报文的源IP地址,按照最长路由匹配的原则,将该报文调度到匹配的可用区。该方式与现有技术中,为各可用区配置相同的路由信息相比,能够对进入云机房的流量进行更精细化的调度,实现对进入云机房的流量进行有效地控制。
S204、对该报文中的源地址进行NAT处理,得到报文的源IP地址;
S205、基于报文的源IP地址和流量调度容灾表,检测是否获取到报文对应的下一跳可用区的索引;若不能,执行步骤S206;若能,执行步骤S207;
S206、基于报文的源IP地址和流量调度默认表,获取报文对应的下一跳可用区的索引;执行步骤S207;
S207、基于隧道信息表和报文对应的下一跳可用区的索引,获取报文对应的下一跳可用区的隧道地址信息;执行步骤S208;
该步骤S206-S207为上述图1所示实施例的步骤S102的一种实现方式。采用该方式,能够准确地获取到报文对应的下一跳可用区的隧道地址信息。
S208、基于报文对应的下一跳可用区的隧道地址信息,对报文进行封装;
S209、向下一跳可用区发送封装后的报文。
实际应用中,在云环境中不同可用区之间传输的报文必须要进行封装,例如,可以将报文封装为虚拟扩展局域网(Virtual eXtensible Local Area Network;VXLAN)封装的报文,然后发送至下一跳可用区;并通过下一跳可用区将报文返回至源发送端。采用该方式,可以确保报文的正确且安全的传输。
由于流量调度默认表是云网关控制器基于各流量的源IP地址和各可用区的路由信息,配置的各流量对应的下一跳可用区的索引。该配置的目的,是用于将流量的下一跳调度到源IP地址命中的路由信息对应的可用区。例如,流量的源IP地址能够命中哪个可用区的路由信息,便会将该流量的下一跳调度到哪个可用区。
本实施例中接收的报文作为一条流量。此时可以根据该流量调度默认表,获取该报文的源IP地址对应的下一跳可用区的索引,并根据该下一跳可用区的索引对应的下一跳可用区的隧道地址信息,对该报文进行封装,并转发至下一跳可用区。在下一跳可用区可以对报文进行解封装,并返回至源发送端。基于此,可以得知,报文返回时的可用区是与报文的源IP地址匹配的可用区,即按照路由的最长前缀匹配原则,报文的源IP地址能够命中下一跳可用区的路由信息。而该报文在进入云机房时,也是基于报文的源IP地址和各可用区的路由信息,按照路由的最长前缀匹配原则,将该报文调度到源IP地址匹配的路由信息对应的可用区。因此,可以得知,报文进入云机房时,也是按照路由的最长前缀匹配原则,匹配的与报文的源IP地址匹配的可用区。基于以上所述,可以得知,该报文进入云机房的可用区和从云机房返回源发送端的可用区,都是按照路由的最长前缀匹配原则,匹配的与报文的源IP地址匹配的可用区,为同一个可用区,可以有效地保证基于可用区部署的产品功能如防火墙功能的有效性。
本实施例的流量调度方法,进一步采用了流量调度容灾表,能够在存在故障可用区时,将流量灵活地调度到备用的可用区,提高容错性。
图3是本公开实施例提供的一种入云方向的流量示意图。如图3所示,云机房的入云方向的流量调度,采用发布不同路由段方式。例如:可用区AZ2-1发布180.76.6.0/24、180.76.5.0/25以及180.75.5.128/25的路由;可用区AZ2-2发布180.76.5.0/24、180.76.6.0/25、180.76.6.128/25的路由。在正常情况下,由于有路由优先级的存在,入云方向的源IP地址是180.76.5.1的流量,可以通过可用区AZ2-1进入云机房。可用区AZ2-2发布的180.76.5.0/24路由用于对可用区2-1的灾备,在可用区2-1故障时,流量可从可用区2-2进入云机房。
图4是本公开实施例提供的一种出云方向的流量示意图。如图4所示,对于出云方向的流量调度,则采用VXLAN隧道方式。基于图3所述,180.76.5.1的流量进入云之后,可能会通过AZ2-1的云网关进入AZ2-2的VPC,所以,该用户的流量在返回时,会通过AZ2-2进入云机房,经过云网关NAT处理后,发现源IP地址是180.75.5.1,采用本实施例的上述方式,获取到下一跳可用区的隧道地址信息,并将该报文封装为VXLAN隧道报文发送到可用区AZ2-1,可用区AZ2-1解完VXLAN隧道后,再发送至公网。这样实现了同一条流量的正反向的流量在一个可用区收发,保证了基于可用区部署的产品功能入防火墙功能的可用。
本实施例的云网关对于不同的流量,采用不同的隧道封装信息,具体可以通过查表处理的方式。为了支持容灾,设计两张表并通过最长前缀匹配(Longest prefix match;LPM)来实现,一张表为流量调度容灾表,用于支持容灾调度查询,另一张表为流量调度默认表,用于支持默认调度查询。例如,图5所示是本实施例提供流量调度容灾表和流量调度默认表、以及对应的隧道信息表的示意图。其中,流量调度容灾表和流量调度默认表中采用CIDR形式标识各流量的路由信息,如eip-cidr0、eip-cidr1、eip-cidr2等,分别表示不同流量的路由信息,其中NEXTHOP索引,表示各流量的路由信息对应的下一跳可用区的索引。然后基于隧道信息表可以查询到各流量对应的下一跳可用区的索引对应的下一跳可用区的隧道地址信息。了减少表项数量,表项支持地址段的方式下发,并以最长掩码匹配方式进行匹配,流量调度容灾表和流量调度默认表中存储的是对应的NEXTHOP的索引。
经过云网关NAT后的流量,先查询流量调度容灾表,如果查询到,则获取对应的隧道地址信息。如果查询不到,则继续查询流量调度默认表,获取对应的隧道地址信息。最终基于获取到的下一跳可用区的隧道地址信息,对报文进行VXLAN隧道封装,并转发至下一跳可用区。详细可以参考上述图2所示实施例的方式来实现,在此不再赘述。
而且,实际应用中,也可以在各可用区的出口带宽不一致的情况下,基于各可用区的出口带宽,配置相应的流量调度默认表,以最大程度地有效利用各可用区的出口带宽,对流量进行有效地调度,实现方式非常灵活。
本实施例的上述方案,在不借助第三方设备的情况下,可以实现流量出、入方向灵活调度;而且本实施例的技术方案中设置有流量调度容灾表,能够支持流量调度的可用区的容灾,容灾粒度更细、更灵活;而且在可用区出口带宽不一致情况下,也可以采用本实施例的流量调度方式,可最大程度地利用出口带宽。
图6是根据本公开第三实施例的示意图;如图6所示,本实施例提供一种云网关600,包括:
地址转换模块601,用于对接收到的报文中的源地址进行网络地址转换处理,得到报文的源IP地址;
隧道信息获取模块602,用于基于报文的源IP地址、预设的流量调度默认表和预设的隧道信息表,获取报文对应的下一跳可用区的隧道地址信息;下一跳可用区的路由信息与报文的源IP地址匹配;
发送模块603,用于基于报文对应的下一跳可用区的隧道地址信息,向下一跳可用区发送报文。
本实施例的云网关600,通过采用上述模块实现流量调度的实现原理以及技术效果,与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
图7是根据本公开第四实施例的示意图;如图7所示,本实施例提供一种云网关700,在上述图6所示实施例的技术方案的基础上,进一步更加详细地介绍本公开的技术方案。如图7所示,本实施例的云网关700包括上述图6所示实施例的同名同功能模块:地址转换模块701、隧道信息获取模块702以及发送模块703。
如图7所示,在本公开的一个实施例中,隧道信息获取模块702,包括:
索引获取单元7021,用于基于报文的源IP地址和流量调度默认表,获取报文对应的下一跳可用区的索引;
隧道信息获取单元7022,用于基于隧道信息表和报文对应的下一跳可用区的索引,获取报文对应的下一跳可用区的隧道地址信息。
如图7所示,在本公开的一个实施例中,发送模块703,包括:
封装单元7031,用于基于报文对应的下一跳可用区的隧道地址信息,对报文进行封装;
发送单元7032,用于向下一跳对应的可用区发送封装后的报文。
如图7所示,在本公开的一个实施例中,云网关700还包括接收模块704,用于:
接收云网关控制器下发的流量调度默认表;流量调度默认表包括云网关控制器基于各流量的路由信息和各可用区的路由信息,配置的各流量对应的下一跳可用区的索引;
接收云网关控制器下发的隧道信息表,隧道信息表中包括各流量对应的下一跳可用区的索引对应的可用区的隧道地址信息。
如图7所示,在本公开的一个实施例中,云网关700还包括确定模块705,用于基于报文的源IP地址和预设的流量调度容灾表,确定未匹配到报文对应的下一跳可用区的索引。
在本公开的一个实施例中,隧道信息获取模块702,还用于:
基于报文的源IP地址和流量调度容灾表,获取到报文对应的下一跳可用区的索引;
基于隧道信息表和下一跳可用区的索引,获取报文的下一跳可用区的隧道地址信息。
在本公开的一个实施例中,接收模块704,还用于:
在存在故障的可用区时,接收云网关控制器下发的流量调度容灾表,流量调度容灾表中包括云网关控制器基于流量的路由信息和各可用区的路由信息,配置的将调度到故障的可用区的流量调度到匹配的非故障的可用区的下一跳可用区的索引。
本实施例的云网关700,通过采用上述模块实现流量调度的实现原理以及技术效果,与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如本公开的上述方法。例如,在一些实施例中,本公开的上述方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的本公开的上述方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行本公开的上述方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (16)
1.一种流量调度方法,包括:
对接收到的报文中的源地址进行网络地址转换处理,得到所述报文的源IP地址;
基于所述报文的源IP地址、预设的流量调度默认表和预设的隧道信息表,获取所述报文对应的下一跳可用区的隧道地址信息;所述下一跳可用区的路由信息与所述报文的源IP地址匹配;
基于所述报文对应的下一跳可用区的隧道地址信息,向所述下一跳可用区发送所述报文。
2.根据权利要求1所述的方法,其中,基于所述报文的源IP地址、预设的流量调度默认表和预设的隧道信息表,获取所述报文对应的下一跳可用区的隧道地址信息,包括:
基于所述报文的源IP地址和所述流量调度默认表,获取所述报文对应的下一跳可用区的索引;
基于所述隧道信息表和所述报文对应的下一跳可用区的索引,获取所述报文对应的下一跳可用区的隧道地址信息。
3.根据权利要求1所述的方法,其中,基于所述报文对应的下一跳可用区的隧道地址信息,向所述下一跳可用区发送所述报文,包括:
基于所述报文对应的下一跳可用区的隧道地址信息,对所述报文进行封装;
向所述下一跳对应的可用区发送封装后的所述报文。
4.根据权利要求1-3任一所述的方法,其中,基于所述报文的源IP地址、预设的流量调度默认表和预设的隧道信息表,获取所述报文对应的下一跳可用区的隧道地址信息之前,所述方法还包括:
接收云网关控制器下发的所述流量调度默认表;所述流量调度默认表包括所述云网关控制器基于各流量的路由信息和各可用区的路由信息,配置的各流量对应的下一跳可用区的索引;
接收所述云网关控制器下发的所述隧道信息表,所述隧道信息表中包括各流量对应的下一跳可用区的索引对应的可用区的隧道地址信息。
5.根据权利要求1所述的方法,其中,基于所述报文的源IP地址、预设的流量调度默认表和预设的隧道信息表,获取所述报文对应的下一跳可用区的隧道地址信息之前,所述方法还包括:
基于所述报文的源IP地址和预设的流量调度容灾表,确定未匹配到所述报文对应的下一跳可用区的索引。
6.根据权利要求5所述的方法,其中,所述方法还包括:
基于所述报文的源IP地址和所述流量调度容灾表,获取到所述报文对应的下一跳可用区的索引;
基于所述隧道信息表和所述下一跳可用区的索引,获取所述报文的下一跳可用区的隧道地址信息;
基于所述报文的下一跳可用区的隧道地址信息,向所述下一跳可用区发送所述报文。
7.根据权利要求5或者6所述的方法,其中,基于所述报文的源IP地址和预设的流量调度容灾表,确定未匹配到所述报文对应的下一跳可用区的索引之前,所述方法还包括:
在存在故障的可用区时,接收云网关控制器下发的所述流量调度容灾表,所述流量调度容灾表中包括所述云网关控制器基于流量的路由信息和各可用区的路由信息,配置的将调度到故障的可用区的流量调度到匹配的非故障的可用区的下一跳可用区的索引。
8.一种云网关,包括:
地址转换模块,用于对接收到的报文中的源地址进行网络地址转换处理,得到所述报文的源IP地址;
隧道信息获取模块,用于基于所述报文的源IP地址、预设的流量调度默认表和预设的隧道信息表,获取所述报文对应的下一跳可用区的隧道地址信息;所述下一跳可用区的路由信息与所述报文的源IP地址匹配;
发送模块,用于基于所述报文对应的下一跳可用区的隧道地址信息,向所述下一跳可用区发送所述报文。
9.根据权利要求8所述的云网关,其中,所述隧道信息获取模块,包括:
索引获取单元,用于基于所述报文的源IP地址和所述流量调度默认表,获取所述报文对应的下一跳可用区的索引;
隧道信息获取单元,用于基于所述隧道信息表和所述报文对应的下一跳可用区的索引,获取所述报文对应的下一跳可用区的隧道地址信息。
10.根据权利要求8所述的云网关,其中,所述发送模块,包括:
封装单元,用于基于所述报文对应的下一跳可用区的隧道地址信息,对所述报文进行封装;
发送单元,用于向所述下一跳对应的可用区发送封装后的所述报文。
11.根据权利要求8-10任一所述的云网关,其中,所述云网关还包括接收模块,用于:
接收云网关控制器下发的所述流量调度默认表;所述流量调度默认表包括所述云网关控制器基于各流量的路由信息和各可用区的路由信息,配置的各流量对应的下一跳可用区的索引;
接收所述云网关控制器下发的所述隧道信息表,所述隧道信息表中包括各流量对应的下一跳可用区的索引对应的可用区的隧道地址信息。
12.根据权利要求11所述的云网关,其中,所述云网关还包括:
确定模块,用于基于所述报文的源IP地址和预设的流量调度容灾表,确定未匹配到所述报文对应的下一跳可用区的索引。
13.根据权利要求12所述的云网关,其中,所述隧道信息获取模块,还用于:
基于所述报文的源IP地址和所述流量调度容灾表,获取到所述报文对应的下一跳可用区的索引;
基于所述隧道信息表和所述下一跳可用区的索引,获取所述报文的下一跳可用区的隧道地址信息。
14.根据权利要求12或者13所述的云网关,其中,所述接收模块,还用于:
在存在故障的可用区时,接收云网关控制器下发的所述流量调度容灾表,所述流量调度容灾表中包括所述云网关控制器基于流量的路由信息和各可用区的路由信息,配置的将调度到故障的可用区的流量调度到匹配的非故障的可用区的下一跳可用区的索引。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210798679.8A CN115396367B (zh) | 2022-07-06 | 2022-07-06 | 流量调度方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210798679.8A CN115396367B (zh) | 2022-07-06 | 2022-07-06 | 流量调度方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115396367A CN115396367A (zh) | 2022-11-25 |
CN115396367B true CN115396367B (zh) | 2023-07-21 |
Family
ID=84116897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210798679.8A Active CN115396367B (zh) | 2022-07-06 | 2022-07-06 | 流量调度方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115396367B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112468383A (zh) * | 2019-09-06 | 2021-03-09 | 华为技术有限公司 | 混合云环境中的通信方法及网关、管理方法及装置 |
CN113132505A (zh) * | 2020-01-10 | 2021-07-16 | 华为技术有限公司 | 发送应答报文的方法、装置、计算设备和存储介质 |
CN113542441A (zh) * | 2020-04-20 | 2021-10-22 | 亚信科技(中国)有限公司 | 一种通信处理方法及装置 |
CN114143283A (zh) * | 2021-11-26 | 2022-03-04 | 迈普通信技术股份有限公司 | 一种隧道自适应配置方法、装置,中心端设备及通信系统 |
CN114363102A (zh) * | 2021-12-30 | 2022-04-15 | 苏州盛科通信股份有限公司 | 一种基于组播和vxlan联动的组播实现方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11082258B1 (en) * | 2020-01-14 | 2021-08-03 | Cisco Technology, Inc. | Isolation and segmentation in multi-cloud interconnects |
-
2022
- 2022-07-06 CN CN202210798679.8A patent/CN115396367B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112468383A (zh) * | 2019-09-06 | 2021-03-09 | 华为技术有限公司 | 混合云环境中的通信方法及网关、管理方法及装置 |
CN113132505A (zh) * | 2020-01-10 | 2021-07-16 | 华为技术有限公司 | 发送应答报文的方法、装置、计算设备和存储介质 |
CN113542441A (zh) * | 2020-04-20 | 2021-10-22 | 亚信科技(中国)有限公司 | 一种通信处理方法及装置 |
CN114143283A (zh) * | 2021-11-26 | 2022-03-04 | 迈普通信技术股份有限公司 | 一种隧道自适应配置方法、装置,中心端设备及通信系统 |
CN114363102A (zh) * | 2021-12-30 | 2022-04-15 | 苏州盛科通信股份有限公司 | 一种基于组播和vxlan联动的组播实现方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115396367A (zh) | 2022-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9698994B2 (en) | Loop detection and repair in a multicast tree | |
US8537720B2 (en) | Aggregating data traffic from access domains | |
CN105745883B (zh) | 转发表同步的方法、网络设备和系统 | |
WO2016173403A1 (zh) | 路由设备、负载均衡设备、消息分发方法及系统 | |
EP3125481A1 (en) | Information transmission method, device and communication system | |
CN112787913B (zh) | 智能网卡组件、物理机、云服务系统以及报文发送方法 | |
US20140204732A1 (en) | Multicast traffic forwarding on pruned interface | |
WO2016124117A1 (zh) | 一种sdn中的链路保护方法、交换设备及网络控制器 | |
CN102916888A (zh) | 一种组播数据传输方法和设备 | |
CN105099915A (zh) | 一种建立业务路径的方法和设备 | |
US9036634B2 (en) | Multicast route entry synchronization | |
CN115396367B (zh) | 流量调度方法、装置、电子设备及存储介质 | |
US10104018B2 (en) | Method, apparatus, and system for controlling forwarding of service data in virtual network | |
CN109831378B (zh) | 一种报文超时回应方法及装置 | |
US20170005912A1 (en) | Method, apparatus and system for transmitting information | |
US10454715B1 (en) | Virtual private wire service interworking | |
CN110572326A (zh) | 转发路径的建立方法、装置、网络设备及系统 | |
CN115190087A (zh) | 基于二层中间设备的数据传输方法、装置、设备和介质 | |
CN114640615A (zh) | 一种路由通告方法、路由生成方法及设备 | |
CN115242699A (zh) | 报文传输方法、切片生成方法、装置及系统 | |
CN114513485A (zh) | 获取映射规则的方法、装置、设备、系统及可读存储介质 | |
US10009252B2 (en) | Flow entry delivery method and communication system | |
CN115242733B (zh) | 报文组播方法、组播网关、电子设备及存储介质 | |
US20160094442A1 (en) | Protocol independent multicast (pim) register message transmission | |
CN108965126B (zh) | 一种报文转发方法及装置 |
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 |