CN113497755A - 数据转发方法、系统及设备 - Google Patents

数据转发方法、系统及设备 Download PDF

Info

Publication number
CN113497755A
CN113497755A CN202010202837.XA CN202010202837A CN113497755A CN 113497755 A CN113497755 A CN 113497755A CN 202010202837 A CN202010202837 A CN 202010202837A CN 113497755 A CN113497755 A CN 113497755A
Authority
CN
China
Prior art keywords
type
gateway
network
data
network traffic
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
Application number
CN202010202837.XA
Other languages
English (en)
Other versions
CN113497755B (zh
Inventor
马塞
王佩龙
余年兵
卢建元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202010202837.XA priority Critical patent/CN113497755B/zh
Publication of CN113497755A publication Critical patent/CN113497755A/zh
Application granted granted Critical
Publication of CN113497755B publication Critical patent/CN113497755B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/127Shortest path evaluation based on intermediate node capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例提供一种数据转发方法、系统及设备。其中,应用于第一类型网关的方法包括如下的步骤:将待转发的网络流量数据发送至第二类型网关,以由所述第二类型网关结合与所述网络流量数据有关的数据信息对所述网络流量数据进行处理并将处理结果返回至所述第一类型网关;根据所述第二类型网关返回的处理结果,执行所述网络流量数据的转发。本申请实施例提供的技术方案通过两种类型网关的协同工作,可利用两种类型网关的各自特点,提高网关转发能力。

Description

数据转发方法、系统及设备
技术领域
本申请涉及通信技术领域,尤其涉及一种数据转发方法、系统及设备。
背景技术
当前公共云上用户的资源一般通过虚拟网络技术隔离,每个租户有一个或多个虚拟专有网络(Virtual Private Cloud,VPC)。VPC之间在网络上隔离,VPC内部的资源网络互通,保证了用户的网络安全。但是,同时VPC还有与公网或者用户私有IDC(Internet DataCenter)通信等需求,这时需要一个VPC的边缘(edge)设备来完成流量转发。业界目前主流做法是为每个用户提供虚拟网关,来作为VPC的边缘设备,以打通云上虚拟网络和云下传统网络。该虚拟网关通常是基于x86服务器的软件方案来实现的。
然而,随着物联网、视频等技术领域的发展,用户经过虚拟网关的流量快速增长。传统的基于x86服务器的软件网关提供虚拟网关服务存在转发容量低的问题,无法满足日益增长的云网络流量。
发明内容
鉴于上述问题,提出了本申请以提供一种解决上述问题或至少部分地解决上述问题的数据转发方法、系统及设备。
于是,在本申请的一个实施例中,提供了一种数据转发方法。该方法,应用于第一类型网关,包括:
将待转发的网络流量数据发送至第二类型网关,以由所述第二类型网关结合与所述网络流量数据有关的数据信息对所述网络流量数据进行处理并将处理结果返回至所述第一类型网关;
根据所述第二类型网关返回的处理结果,执行所述网络流量数据的转发。
在本申请的另一实施例中,提供了一种数据转发方法。该方法应用于第二类型网关,包括:
接收第一类型网关发送来的网络流量数据;
结合与所述网络流量数据有关的数据信息,对所述网络流量数据进行处理;
将处理结果返回至所述第一类型网关,以由所述第一类型网关执行所述网络流量数据的转发。
在本申请的另一实施例中,提供了一种数据转发系统。该系统包括:
第一类型网关以及与所述第一类型网关通信的第二类型网关;
所述第一类型网关,用于将所述待转发的网络流量数据发送至所述第二类型网关;
所述第二类型网关,用于接收所述第一类型网关发送来的所述网络流量数据;结合与所述网络流量数据有关的数据信息对所述网络流量数据进行处理;并将处理结果返回至所述第一类型网关;
所述第一类型网关,还用于根据所述第二类型网关返回的处理结果,执行所述网络流量数据的转发。
在本申请的另一实施例中,提供了一种电子设备。该电子设备包括:存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
将待转发的网络流量数据发送至所述第二类型网关,以由所述第二类型网关结合与所述网络流量数据有关的数据信息对所述网络流量数据进行处理并将处理结果返回至所述第一类型网关;
根据所述第二类型网关返回的处理结果,执行所述网络流量数据的转发。
在本申请的另一实施例中,提供了一种电子设备。该电子设备包括:存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
接收第一类型网关发送来的网络流量数据;
结合与所述网络流量数据有关的数据信息,对所述网络流量数据进行处理;
将处理结果返回至所述第一类型网关,以由所述第一类型网关执行所述网络流量数据的转发。
本申请实施例提供的技术方案中,通过两种类型网关的协同工作,可利用两种类型网关的各自特点,提高网关转发能力,有效解决现有技术中仅基于x86服务器的软件方案实现的网关转发能力弱的瓶颈问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本申请一实施例提供的数据获取系统的示意图;
图1b为本申请另一实施例提供的数据获取系统的又一示意图;
图2为本申请一实施例提供的数据获取方法的流程示意图;
图3为本申请另一实施例提供的数据获取方法的流程示意图;
图4为本申请一实施例提供的数据获取装置的结构框图;
图5为本申请另一实施例提供的数据获取装置的结构框图;
图6为本申请另一实施例提供的电子设备的结构框图。
具体实施方式
目前,大部分公有云服务供应商选择使用基于x86服务器的软件提供云计算虚拟网关服务。随着近些年公有云规模的快速增长,虚拟网关承载的流量从几GB/s,百GB/s逐渐向TB/s级别增长。一般情况下,一台提供网络服务的x86服务器,受限于网卡的规格和服务器处理器性能,仅能提供几十G,最多上百G的网络转发能力,已经无法满足日益增长的网络流量。同时,基于x86服务器的软件网关转发时延通常要几十微秒,无法满足机器学习等对网络时延要求很高的场景。云计算服务提供商迫切需要对网络流量进行加速,满足新的需求。
近期,学术界和工业界开始关注使用可编程交换机来提供虚拟网络服务、实现网络流量加速的可行性。
目前可编程硬件主要有基于FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)的方案和基于ASIC(Application Specific Integrated Circuit,专用集成电路)的方案两种。传统的ASIC芯片一旦出厂后,功能就无法更改。无法满足追求快速迭代的云计算服务提供商的需求。因此大部分云服务提供商选择使用基于x86的软件来提供服务。近来,设备厂商纷纷推出了可编程硬件ASIC,这些芯片使得云计算服务商可以随时修改芯片的逻辑和功能,同时又有数倍于x86服务器的转发性能。在使用FPGA提供网络服务时,FPGA同样有可编程、性能高的优势。
另一方面,P4编程语言逐渐兴起,生态逐渐完善,大部分的可编程硬件均支持P4语言,该语言具有协议无关性、可重构性。开发者可以不感知底层的芯片型号,快速的开发和随时修改处理逻辑。P4语言的快速发展,为云计算服务商从软件设备切换到硬件设备提供了便利,缩短了开发周期,减小了厂商绑定的风险。
具体地,在使用FPGA作为智能网卡时,服务器可将虚拟交换机的网络流量从CPU卸载到FPGA,从而提供低时延,高吞吐量的虚拟机网络服务。然而,FPGA设备的成本比基于ASIC的可编程芯片要高,同时性能也比ASIC可编程芯片差。将FPGA设备用于卸载虚拟交换机的流量的实现中,虚拟交换机是部署在虚拟机所在宿主机上的数据转发模块,使用FPGA智能卡后,虚拟交换机的吞吐量达到32Gbps,同时时延降低到15us。
采用基于FPGA的可编程硬件,实现了宿主机上虚拟交换机的加速。软件与硬件部分之间采用基于5元组的快慢速分离的做法,将部分五元组的流表,在慢速路径计算后通过PCIE下发到硬件设备上来完成。但是与虚拟交换机相比,虚拟网关有以下两个难点:1)网络流量远大于虚拟交换机。虚拟网关是云上虚拟网络的边界节点,所有用户进、出云环境的流量都要经过虚拟网关,而虚拟交换机只需要承载本宿主机的虚拟机的网络流量。虚拟网关的流量通常是虚拟交换机的数百倍,或者更高。2)虚拟网关需要的配置信息远大于虚拟交换机。虚拟网关需要有云上所有用户的配置,而虚拟交换机只需要本宿主机的用户的配置信息。
公有云中租户数量多,虚拟网关设备需要保存每个租户的配置信息,这些配置信息需要GB级别的存储空间,而硬件的存储空间往往只有几十兆级别的静态随机存取存储器(Static Random-Access Memory,SRAM)。可见,可编程硬件的存储空间是无法完整保存这些配置信息的,难以满足虚拟网关的转发需求。
为了解决现有技术中存在的现有网关无法满足高网络容量、低时延要求的问题,本实施例提供了一种数据转发系统,该系统采用第一类型网关和第二类型网关的协同工作的方式,具体应用时,第一类型网关包括基于可编程硬件的硬件网关;第二类型网关包括基于软件实现的软件网关;通过上述系统来对流量数据进行转发,大大提高了虚拟网关的转发容量,同时,对于转发时延敏感的用户,也可以提供网络加速,满足用户需求。
术语解释:
大象流,是通过网络链路进行大量的、持续的传递数据的过程。
老鼠流,是通过网络链路进行少量的、短时间的数据传递过程。
大象流与老鼠流的具体区分的临界点可以依据不同的应用场景而有所不同,例如:网络中10%用户的流(一条流通常指的一组五元组),占了90%的流量,这部分流称为“大象流”,相对的,网络中90%用户的流仅占总流量的10%,这部分流量为“老鼠流”。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
此外,在本申请的说明书、权利要求书及上述附图中描述的一些流程中,包含了按照特定顺序出现的多个操作,这些操作可以不按照其在本文中出现的顺序来执行或并行执行。操作的序号如101、102等,仅仅是用于区分各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图1a示出了本申请一实施例提供的数据转发系统的示意图。如图1a所示,该系统包括:第一类型网关100以及与所述第一类型网关100通信的第二类型网关200。其中,
所述第一类型网关100,用于将待转发的网络流量数据发送至所述第二类型网关200;
所述第二类型网关200,用于接收所述第一类型网关100发送来的所述网络流量数据;结合与所述网络流量数据有关的数据信息对所述网络流量数据进行处理;并将处理结果返回至所述第一类型网关100;
所述第一类型网关100,还用于根据所述第二类型网关200返回的处理结果,执行所述网络流量数据的转发。
其中,所述第一类型网关100和所述第二类型网关200中一个为基于可编程硬件实现的硬件网关,另一个为基于软件实现的软件网关。基于可编程硬件实现的硬件网关指的是该硬件网关的网关功能是基于可编程硬件实现的;基于软件实现的软件网关指的是该软件网关的网关功能是基于软件实现的。硬件网关具有速度快、吞吐量大的特点;软件网关具有处理灵活、存储容量大的特点。其中,可编程硬件具体可以是FPGA或ASIC芯片;基于软件实现的软件网关具体可以是基于服务器提供(例如X86服务器)的软件实现的软件网关。由于ASIC芯片的成本比FPGA芯片要低,同时性能也比FPGA芯片要好,故在一实施例中,上述可编程硬件具体可以为ASIC芯片,以提高转发系统的转发能力。
为了提高硬件网关和软件网关的网关性能,在一实例中,上述硬件网关具体可以为硬件虚拟网关,即该硬件虚拟网关是由多个基于可编程硬件实现的网关组成的集群构成。上述软件网关具体可以为软件虚拟网关,即该软件虚拟网关是由多个基于软件实现的网关组成的集群构成。
本申请实施例提供的技术方案中,通过两种类型网关的协同工作,可充分发挥两种类型网关的各自特点,提高网关转发能力,有效解决现有技术中仅基于x86服务器的软件方案实现的网关转发能力弱的瓶颈问题,以满足当前高网络容量、低时延的需求。
在实际应用时,上述第一类型网关100为基于可编程硬件实现的硬件网关;所述第二类型网关200为基于软件实现的软件网关。
可选地,所述第一类型网关和所述第二类型网关之间的连接方式可以为网络直连方式,即第一类型网关和第二类型网关之间通过物理网线连接。这样第一类型网关和第二类型网关之间进行通信时,由于没有额外的商用交换机参与,可以使用自定义协议进行数据交互,不再需要依赖隧道封装协议(例如:VXLAN),减少报文头部开销,节约带宽。举例来说:标椎VXLAN协议,需要额外增加IP报头+UDP报头+VXLAN报头共36个字节,而采用网络直连方式时,这36个字节可全部省去。
在实际应用中,若第一类型网关和第二类型网关间的交互流量过大,使得第二类型网关负载过高,可以增加第二类型网关数量,从而消除瓶颈。本申请实施例提供的数据转发系统软硬件之间的通信带宽具备可扩展性,能够处理突发流量。即:所述第二类型网关的数量为多个。
当所述第二类型网关为多个时,在一实例中,所述第一类型网关可根据路由协议,例如:BGP(Border Gateway Protocol,边界网关协议),进行负载均衡,将多个网络流量数据分发至不同的第二类型网关上。
以第一类型网关为硬件网关,第二类型网关为软件网关为例,硬件网关基于可编程芯片制造,具有大带宽的特点,有32个100G速率的以太网口(也即物理接口)。在本申请实施例提供的转发系统中,硬件网关的部分物理接口下连软件网关。
在另一实例中,所述第一类型网关和所述第二类型网关之间的连接方式为网络直连方式时,所述第一类型网关,具体用于:检测所述第一类型网关与各所述第二类型网关的网络直连链路的负载信息;根据所述负载信息,从所述多个所述第二类型网关中选中一个第二类型网关;将所述网络流量数据发送至选中的第二类型网关。
当所述第一类型网关与第二类型网关之间时网络直连链路时,第一类型网关可以很直观地根据直连链路的负载信息来了解软件网关的当前负载情况。
在实际应用时,上述第一类型网关作为虚拟专用网络VPC的边缘设备,负责转发出、入所述虚拟专用网络VPC的网络流量数据,也就是说,上述第一类型网关是作为虚拟专用网络VPC的唯一出入口。
需要补充的是,图1a中的交换机500用于将虚拟机400发向第一类型网关100的网络流量数据路由到第一类型网关100;也用于将第一类型网关100发往虚拟机400的网络流量数据路由到虚拟机400。
为了清楚地了解数据转发系统中各个设备的处理过程,下面分别对第一类型网关、第二类型网关的处理过程及其交互过程进行详细说明。
图2示出了本申请一实施例提供的数据转发方法的流程示意图。该方法可以应用于第一类型网关,即该方法的执行主体可以为第一类型网关。如图2所示,该方法,包括:
101、将待转发的网络流量数据发送至所述第二类型网关,以由所述第二类型网关结合与所述网络流量数据有关的数据信息对所述网络流量数据进行处理并将处理结果返回至所述第一类型网关。
102、根据所述第二类型网关返回的处理结果,执行所述网络流量数据的转发。
其中,所述第一类型网关和所述第二类型网关中一个为基于可编程硬件实现的硬件网关,另一个为基于软件实现的软件网关。
上述101中,所述网络流量数据对应的网络身份标识信息具体可包括报文源IP地址和报文目的IP地址。在一实例中,与所述网络流量数据有关的数据信息具体可以为所述网络身份标识信息,第二类型网关可根据网络身份标识信息在转发表中查询有关指导所述网络流量数据转发的配置信息,并根据查找到的配置信息对网络流量数据进行处理,得到处理结果。
上述102中,根据所述第二类型网关返回的处理结果,执行所述网络流量数据的转发。例如:网络流量数据是需要发往公网的,则将网络流量数据转发至公网。
本申请实施例提供的技术方案中,通过两种类型网关的协同工作,可利用两种类型网关的各自特点,提高网关转发能力,有效解决现有技术中仅基于x86服务器的软件方案实现的网关转发能力弱的瓶颈问题。
具体实施时,所述第一类型网关为基于可编程硬件实现的硬件网关;所述第二类型网关为基于软件实现的软件网关。实际应用时,可将有关大象流对应的用于指导转发的配置信息存储在第一类型网关中,将老鼠流对应的用于指导转发的配置信息存储在第二类型网关中或者将大象流和老鼠流对应的用于指导转发的配置信息均存储在第二类型网关中。当所述网络流量数据属于大象流时,由第一类型网关直接处理所述网络流量数据并根据处理结果执行所述网络流量数据的转发;当所述网络流量数据属于老鼠流时,第一类型网关将所述网络流量数据发送至第二类型网关,以由第二类型网关对所述网络流量数据进行处理并将处理结果返回至所述第一类型网关。其中,硬件网关具有速度快、吞吐量大的特点,故能够较为快速处理并转发大象流;并且大象流对应的用于指导转发的配置信息的数据量很小,故硬件网关的存储空间能够满足需求。软件网关虽然转发能力较差,但是由于老鼠流对应的流量数量较少,故还是能够满足其处理需求的;此外,软件网关具有存储容量大的特点,故能够满足数据量巨大的老鼠流对应的用于指导转发的配置信息的存储需求。这样,即可充分发挥两种类型网关的各自特点,提高网关转发能力。
在一实例中,上述第一类型网关作为虚拟专用网络VPC的边缘设备,负责转发出、入所述虚拟专用网络VPC的网络流量数据。在某些情况下,VPC还具有与不同网络类型的设备进行交互的需求,例如:与公网、局域网(例如:用户私有数据中心)内的设备进行通信。而针对不同转发方向和/或不同网络类型对应的网络流量数据的处理方式是有差异的,为确保第二类型网关能够正确处理,上述数据信息具体可包括所述网络流量的转发方向和/或与所述网络流量数据有关的交互方所属网络类型。这样,第二类型网关结合该数据信息即可正确处理网络流量数据。
其中,交互方所属的网络类型具体可以指的是与VPC通信的对象所属网络类型,具体可包括:公网类型和局域网类型。其中,局域网类型具体还可以是虚拟局域网类型,例如:用户私有数据中心IDC(Internet Data Center)类型。转发方向可包括:出方向和入方向。其中,出方向也就是出VPC的方向,入方向就是入VPC的方向。
在本实施例中,由第一类型网关和第二类型网关组合的整体能够针对不同转发方向、不同网络类型的网络流量数据,执行正确的转发处理,提高了网关的兼容性。
可选地,上述方法,还可包括:
103、确定所述数据信息。
相应的,上述101中“将待转发的网络流量数据发送至所述第二类型网关”,具体包括:
1011、将所述数据信息以及所述网络流量数据发送至所述第二类型网关。
在本实施例中,由第一类型网关来确定所述网络流量的转发方法和/或与所述网络流量数据有关的交互方所属网络类型。
在一可实现的方案中,上述103中“确定所述数据信息”,具体可采用如下步骤来实现:
1011、确定所述第一类型网关接收所述网络流量数据所用的物理接口信息。
1012、根据所述物理接口信息,确定数据信息。
上述1011中,上述第一类型网关上设置有多个物理接口;每个物理接口被事先定义好,以接收指定数据信息相关的网络流量数据,例如:每个物理接口被事先定义好,以接收交互方所属类型指定网络类型和/或转发方向为指定转发方向的网络流量数据。上述物理接口信息具体可以为物理接口ID号。
上述1012中,根据物理接口信息,即可确定出与所述待转发的网络流量数据相关的数据信息。
由第一类型网关根据物理接口信息来确定所述网络流量的转发方法和/或与所述网络流量数据有关的交互方所属网络类型,不仅实现简单,还能具有更好的性能。
当然,实际应用时,也可由第二类型网关来确定,本申请实施例对此不作具体限定。例如:第一类型网关将物理接口信息携带在网络流量数据中发送给第二类型网关,第二类型网关结合物理接口信息来确定所述网络流量的转发方法和/或与所述网络流量数据有关的交互方所属网络类型。再例如:第二类型网关对网络流量数据进行分析,得到所述网络流量数据是否为隧道封装格式;所述网络流量数据为隧道封装格式,则确定所述转发方向为出方向;所述网络流量数据不是隧道封装格式,则确定所述转发方向为入方向;第二类型网关还可对网络流量数据进行解析,得到所述网络流量数据中的报文目的地址;根据报文目的地址以及转发方向即可判定出交互方所属网络类型。转发方向为出方向且报文目的地址为代表公网的IP地址,则确定交互方所属网络类型为公网类型;转发方向为出方向且报文目的地址为代表局域网的IP地址,则确定交互方所属网络类型为局域网类型。转发方向为入方向且报文目的地址为代表公网的IP地址,则确定交互方所属网络类型为公网类型;转发方向为入方向且报文目的地址为私网IP地址,则确定交互方所属网络类型为局域网类型。
需要补充的是,当第一类型网关接收到网络流量数据后,若判断出网络流量数据中携带有局域网标识信息时,第一类型网关还需要将所述第一类型网关接收所述网络流量数据所用的物理接口信息携带在网络流量数据中发送给第二类型网关,以便第二类型网关在处理网络流量数据时使用。需要说明的是,网络流量数据中携带有局域网标识信息表明该网络流量数据的转发方向为入方向且交互方所属网络类型为局域网类型。具体地,第一类型网关可判断所述网络流量数据中是否携带有局域网标识信息;判断出所述网络流量数据中携带有局域网标识信息时,根据所述第一类型网关接收所述网络流量数据所用的物理接口信息以及所述物理接口信息的字节长度信息,对所述网络流量数据进行标签封装;其中,所述标签中包含有所述标签的字节长度信息以及所述物理接口信息;将由标签封装的网络流量数据发送至所述第二类型网关。这样,第二类型网关接收到标签封装的网络流量数据后,能够根据字节长度信息,正确解析网络流量数据,从而得到报文目的地址以及物理接口信息。后续即可结合报文目的地址来确定上述数据信息。
本申请实施例提供的技术方案中,通过两种类型网关的协同工作,可充分发挥两种类型网关的各自特点,提高网关转发能力,有效解决现有技术中仅基于x86服务器的软件方案实现的网关转发能力弱的瓶颈问题,以满足当前高网络容量、低时延的需求。并且,本申请实施例提供的网关方案有效集成了多种数据信息对应的网络流量的转发功能,提高了该方案的实用性,有利于市场的推广与应用。
在一种可实现的方案中,上述方法,还可包括:
104、根据所述网络流量数据对应的网络身份标识信息,在所述数据信息对应的第一转发表中查找有关指导所述网络流量数据转发的配置信息。
105、若在所述数据信息对应的第一转发表中未查找到有关指导所述网络流量数据转发的配置信息,则触发所述将待转发的网络流量数据发送至所述第二类型网关的步骤。
上述104中,不同数据信息对应的网络流量数据所对应的网络身份标识信息及其数量会存在差异,且用于指导不同数据信息对应的网络流量数据转发的配置信息也会存在差异,故不同数据信息对应的第一转发表不同。
上述第一转发表存储在上述第一类型网关的本地存储器中。由于第一类型网关为硬件网关,硬件网关的存储空间有效,故在本实施例中,可仅针对需要硬件网关加速处理的各数据信息对应的大象流,在各数据信息对应的第一转发表中设置相关表项。由于第二类型网关为软件网关,具有内存空间大的特点,可针对各数据信息对应的全量流(其中包含各数据信息对应的所有大象流和老鼠流),在各数据信息对应的第二转发表中设置相应表项,第二转发表可存储在上述第二类型网关的本地存储器中。第一转发表的数据量要远远小于第二转发表的数据量。
通常,转发表(第一转发表或第二转发表)中每一表项均由至少一个索引项和至少一个索引结果项(至少一个缩影结果项构成用于指导转发的配置信息)组成。针对不同数据信息的网络流量数据,其索引项、索引结果项及其数量均不同。
上述网络身份标识信息可包括如下项中至少两项:用户ID号、报文目的IP地址、报文源IP地址、VLANID、物理接口ID。其中,物理接口ID也即上述物理接口信息。
以VPC与公网、用户私有数据中心IDC通信、且所述第一类型网关作为VPC的边缘设备的应用场景为例:
当所述网络流量数据的数据信息中转发方向为出方向、交互方所属网络类型为公网类型时,所述网络流量数据对应的网络身份标识信息包括:VPC用户ID号、源虚拟机IP地址(即上述报文源IP地址)和目的公网IP地址(即上述报文目的IP地址)。其中,源虚拟机IP地址是VPC内部的虚拟机IP地址。由于公网是无法识别该虚拟机IP地址的,故需要将源虚拟机IP地址改为公网能够识别的公网IP地址。因此,需要通过查找该数据信息对应的转发表,以获得用于指导所述网络流量数据转发的配置信息,也即所述VPC用户的公网IP地址。
可见,转发方向为出方向、交互方所属网络类型为公网类型的数据信息对应的转发表中每一个表项中索引项有:VPC用户ID号,源虚拟机IP地址和目的公网IP地址;索引结果项有:VPC用户的公网IP地址。
当所述网络流量数据的数据信息中转发方向为入VPC的方向、交互方所属网络类型为公网类型时,所述网络流量数据对应的网络身份标识信息包括:源公网IP地址、目的公网IP地址(也即是VPC用户的公网IP地址);为了确保该网络流量数据能够传输到VPC内部指定的虚拟机上,需要获取VPC用户ID号、VPC用户的虚拟机IP地址及其所在宿主机IP地址。因此,需要通过查找该数据信息对应的转发表,以获得用于指导所述网络流量数据转发的配置信息,也即VPC用户ID号、VPC用户的虚拟机IP地址及其所在宿主机IP地址。
可见,转发方向为入VPC的方向、交互方所属网络类型为公网类型的数据信息对应的转发表中每一个表项中索引项有:源公网IP地址和目的公网IP地址;索引结果项有:VPC用户ID号、VPC用户的虚拟机IP地址及其所在宿主机IP地址。
当所述网络流量数据的数据信息中转发方向为出VPC的方向、交互方所属网络类型为虚拟局域网类型时,所述网络流量数据对应的网络身份标识信息包括:VPC用户ID号、VPC用户的虚拟机IP地址(即源IP地址)和IDC中IP地址(即目的IP地址)。由于IDC中IP地址是用户自定义的,很可能存在重复的情况,故需要查找专线,也即是要查找得到用户VLANID号和物理接口ID号。因此,需要通过查找该数据信息对应的转发表,以获得用于指导所述网络流量数据转发的配置信息,即用户VLANID号和物理接口ID号。
可见,转发方向为出VPC的方向、交互方所属网络类型为虚拟局域网类型的数据信息对应的转发表中每一个表项中索引项有:VPC用户ID号、VPC用户的虚拟机IP地址(即源IP地址)和IDC中IP地址(即目的IP地址);索引结果项有:用户VLANID号和物理接口ID号。
当所述网络流量数据的数据信息中转发方向为入VPC的方向、交互方所属网络类型为虚拟局域网类型时,所述网络流量数据对应的网络身份标识信息包括:IDC中IP地址(即源IP地址)、VPC用户的虚拟机IP地址(即目的IP地址)、用户VLANID号和物理接口ID号。由于VPC中虚拟机IP地址是用户自定义的,很可能存在重复的情况,故需要查找得到VPC用户ID号和VPC用户的虚拟机所在宿主机IP地址。因此,需要通过查找该数据信息对应的转发表,以获得用于指导所述网络流量数据转发的配置信息,即VPC用户ID号和VPC用户的虚拟机所在宿主机IP地址。
可见,转发方向为入VPC的方向、交互方所属网络类型为虚拟局域网类型的数据信息对应的转发表中每一个表项中索引项有:IDC中IP地址(即源IP地址)、VPC用户的虚拟机IP地址(即目的IP地址)、用户VLANID号和物理接口ID号;索引结果项有:VPC用户ID号和VPC用户的虚拟机所在宿主机IP地址。
上述105中,若未查找到,则可表明所述网络流量数据为老鼠流,由于第一类型网关本地未存储有关老鼠流的表项,第一类型网关无法直接对其处理,故需要发送至第二类型网关进行处理。
可选地,上述方法,还可包括:
106、若在所述数据信息对应的第一转发表中查找到有关指导所述网络流量数据转发的配置信息,则根据查找到的所述配置信息,执行所述网络流量数据的转发。
沿用上例:
当所述网络流量数据的数据信息中转发方向为出VPC的方向、交互方所属网络类型为公网类型时,所述网络流量数据对应的网络身份标识信息包括:VPC用户ID号,源虚拟机IP地址和目的公网IP地址。其中,源虚拟机IP地址是VPC内部的虚拟机IP地址。查找到的所述配置信息有所述VPC用户的公网IP地址。从VPC中的虚拟机发送到硬件网关上的所述网络流量数据中包括隧道封装信息以及报文信息。上述VPC用户ID号位于隧道封装信息中;上述源虚拟机IP地址和上述目的公网IP地址位于报文信息中。根据查找到的所述VPC用户的公网IP地址,执行所述网络流量数据的转发,具体为:对所述网络流量数据进行解封装操作,得到报文信息;将报文信息中的源虚拟机IP地址更改为所述VPC用户的公网IP地址,得到修改后报文信息,进而将修改后报文信息转发出去。
当所述网络流量数据的数据信息中转发方向为入VPC的方向、交互方所属网络类型为公网类型时,所述网络流量数据对应的网络身份标识信息包括:源公网IP地址、目的公网IP地址(也即是VPC用户的公网IP地址);查找到的配置信息有VPC用户ID号、VPC用户的虚拟机IP地址及其所在宿主机IP地址。从公网发送到硬件网关上的所述网络流量数据中仅包括报文信息;上述源公网IP地址、目的公网IP地址位于报文信息中。根据查找到的VPC用户ID号、VPC用户的虚拟机IP地址及其所在宿主机IP地址,执行所述网络流量数据的转发,具体为:将报文信息中的目的公网IP地址更改为VPC用户的虚拟机IP地址,得到修改后报文信息;对修改后报文信息进行隧道封装,得到修改后网络流量数据,进而将修改后网络流量数据转发出去。其中,修改后网络流量数据中的隧道封装信息中包括VPC用户ID号、隧道封装源地址和隧道封装目的地址;隧道封装源地址为硬件网关向VPC侧宣告的虚拟IP地址,隧道封装目的地址为上述VPC用户的虚拟机所在宿主机IP地址。
当所述网络流量数据的数据信息中转发方向为出VPC的方向、交互方所属网络类型为用户私有IDC类型时,所述网络流量数据对应的网络身份标识信息包括:VPC用户ID号、VPC用户的虚拟机IP地址(即源IP地址)和IDC中IP地址(即目的IP地址)。查找到的配置信息有:用户VLANID号和物理接口ID号。从VPC中的虚拟机发送到硬件网关上的所述网络流量数据中包括隧道封装信息以及报文信息。该VPC用户ID号位于隧道封装信息中;VPC用户的虚拟机IP地址(即源IP地址)和IDC中IP地址(即目的IP地址)位于报文信息中。可对网络流量数据进行解封装,得到报文信息;根据用户VLANID号和物理接口ID号确定专线,并通过所述专线转发报文信息。
当所述网络流量数据的数据信息中转发方向为入VPC的方向、交互方所属网络类型为局域网类型时,所述网络流量数据对应的网络身份标识信息包括:IDC中IP地址(即源IP地址)、VPC用户的虚拟机IP地址(即目的IP地址)、用户VLANID号和物理接口ID号。查找到的配置信息有:VPC用户ID号和VPC用户的虚拟机所在宿主机IP地址。可对网络流量数据进行隧道封装,得到封装后网络流量数据,并转发封装后网络流量数据。封装后网络流量数据中隧道封装信息中包括:VPC用户ID号和VPC用户的虚拟机所在宿主机IP地址。
可选地,上述103中,所述处理结果中携带有所述第二类型网关根据所述网络流量数据对应的网络身份标识信息,在所述数据信息对应的第二转发表中查找到的有关指导所述网络流量数据转发的配置信息。
所述数据信息对应的第二转发表可存储在第二类型网关的本地存储器中。所述数据信息对应的第二转发表与所述数据信息对应的第一转发表的格式相同,但内容不同。
第二类型网关的查表过程可参照第一类型网关的查表过程,在此不再详述。
可选地,上述1011中“将所述数据信息以及所述网络流量数据发送至所述第二类型网关”,具体采用如下步骤来实现:
1031、根据所述数据信息,对所述网络流量数据进行标签封装。
所述标签中携带有用于标识所述数据信息的标识信息。
当网络流量数据中存在隧道封装信息时,可对网络流量数据进行隧道解封装,得到报文信息;并将需要携带给第二类型网关的信息添加到标签中。例如:数据信息为出VPC的方向时,需要携带给第二类型网关的信息有VPC用户ID号;再例如:数据信息为入VPC的方向且交互方所属网络类型为局域网类型时,需要携带给第二类型网关的信息有第一类型网关接收该网络流量数据的物理接口ID号。
具体地,在将标签封装后网络流量数据发送至所述第二类型网关之前,还包括:当所述网络流量的转发方向为入方向且与所述网络流量数据有关的交互方所属网络类型为局域网类型时,将所述第一类型网关接收所述网络流量数据所用的物理接口信息添加到所述标签中。
1032、将标签封装后网络流量数据发送至所述第二类型网关。
上述1031中,对网络流量数据进行标签封装,也即是为网络流量数据添加标签。标签的格式为通用可扩展格式,也即自由格式,没有任何限制的格式。这样可方便第一类型网关和第二类型网关之间交换信息。
可选地,第二类型网关在查找到上述配置信息之后,可将配置信息保存在上述标签内,并将修改后网络流量数据返回至第一类型网关,以由第一类型网关从标签内读取上述配置信息并根据配置信息,执行网络流量数据的转发。具体执行过程可参见上述各实施例中相应内容,在此不再赘述。
或者,第二类型网关在查找到上述配置信息之后,根据所述配置信息,对所述网络流量数据进行处理,得到处理结果。具体地,当所述交互方所属网络类型为用户私有数据中心类型时,第二类型网关将所述配置信息添加到所述标签中。当所述交互方所属网络类型为公网类型时,第二类型网关根据所述配置信息,对所述网络流量数据中报文信息中的网络身份标识信息进行修改,并将所述配置信息中需要携带给所述第一类型网关的信息保存到所述标签中,以得到处理结果。这样,第一类型网关从标签内提取出相关信息,并根据相关信息,执行网络流量数据的转发。例如:从公网发给VPC虚拟机的网络流量数据,第二类型网关查找到VPC中的虚拟机IP地址、虚拟机所在宿主机IP地址以及VPC用户ID号;第二类型网关需要将网络流量数据中的报文信息中的目的地址更改为虚拟机IP地址;且第二类型网关还需要将虚拟机所在宿主机IP地址以及VPC用户ID号保存在标签内,发送给第一类型网关。
在实际应用时,面对突增的流量,可通过水平扩展第二类型网关来解决。即所述第二类型网关为多个。通过多个第二类型网关,实现负载均衡。在一种可实现的方案中,上述103中“将所述数据信息以及所述网络流量数据发送至所述第二类型网关”,具体可采用如下步骤来实现:
1031、检测所述第一类型网关与各所述第二类型网关的网络直连链路的负载信息。
1032、根据所述负载信息,从所述多个所述第二类型网关中选中一个第二类型网关。
1033、将所述网络流量数据发送至选中的第二类型网关。
本实施例中,第一类型网关与第二类型网关的连接方式为网络直连方式。这样,第一类型网关可以感知到所述第一类型网关与各所述第二类型网关的网络直连链路的负载信息,便于其从多个第二类型网关中选出合适的一个第二类型网关,从而实现负载均衡。
此外,第一类型网关与第二类型网关的连接方式为网络直连方式,这样第一类型网关和第二类型网关之间交换信息时,由于没有额外的商用交换机参与,可以使用自定义协议进行数据交互,不再需要依赖隧道封装协议(例如:VXLAN),减少报文头部开销,节约带宽。举例来说:标椎VXLAN协议,需要额外增加IP报头+UDP报头+VXLAN报头共36个字节,而采用网络直连方式时,这36个字节可全部省去。
图3示出了本申请又一实施例提供的数据转发方法的流程示意图。该方法可以应用于第二类型网关,即该方法的执行主体可以为第二类型网关。如图3所示,该方法,包括:
201、接收第一类型网关发送来的网络流量数据;
202、结合与所述网络流量数据有关的数据信息,对所述网络流量数据进行处理。
203、将处理结果返回至所述第一类型网关,以由所述第一类型网关执行所述网络流量数据的转发。
上述201、202以及203的具体实现过程可参见上述各实施例中相应内容,在此不再赘述。
其中,所述数据信息可包括所述网络流量的转发方向和/或与所述网络流量数据有关的交互方所属网络类型。
本申请实施例提供的技术方案中,通过两种类型网关的协同工作,可充分发挥两种类型网关的各自特点,提高网关转发能力,有效解决现有技术中仅基于x86服务器的软件方案实现的网关转发能力弱的瓶颈问题,以满足当前高网络容量、低时延的需求。并且,本申请实施例提供的网关方案有效集成了多种数据信息对应的网络流量的转发功能,提高了该方案的实用性,有利于市场的推广与应用。
可选地,上述202中“结合与所述网络流量数据有关的数据信息,对所述网络流量数据进行处理”,具体可采用如下步骤来实现:
2021、根据所述网络流量数据对应的网络身份标识信息,在所述数据信息对应的第二转发表中查找有关指导所述网络流量数据转发的配置信息。
2022、根据所述配置信息,对所述网络流量数据进行处理,得到处理结果。
上述2021和2022的具体实现过程可参见上述各实施例中相应内容,在此不再赘述。
可选地,上述方法,还可包括:
204、从所述网络流量数据中用于封装的标签中获取用于标识所述数据信息的标识信息,并根据用于标识所述数据信息的标识信息,确定所述数据信息。
第二类型网关可通过解析网络流量数据,从而从标签中获取用于标识所述数据信息的标识信息。
需要补充的是,当标签中包括物理接口信息时,第二类型网关也需要从标签中提取出物理接口信息。其中,所述标签的格式为通用可扩展格式
在一实例中,上述2022中“根据所述配置信息,对所述网络流量数据进行处理,得到处理结果”,包括:当所述交互方所属网络类型为局域网类型时,将所述配置信息添加到所述标签中。
这样,第一类型网关可从标签中提取出该配置信息,以执行网络流量数据的转发。
上述标签的格式可以为通用可扩展格式。这样,可便于第一类型网关和第二类型网关交换不同字节长度的信息。
在另一实例中,上述2022中“根据所述配置信息,对所述网络流量数据进行处理,得到处理结果”,包括:当所述交互方所属网络类型为公网类型时,根据所述配置信息,对所述网络流量数据中报文信息中的网络身份标识信息进行修改,并将所述配置信息中需要携带给所述第一类型网关的信息保存到所述标签中,以得到处理结果。
这里需要说明的是:本申请实施例提供的所述方法中各步骤未尽详述的内容可参见上述实施例中的相应内容,此处不再赘述。此外,本申请实施例提供的所述方法中除了上述各步骤以外,还可包括上述各实施例中其他部分或全部步骤,具体可参见上述各实施例相应内容,在此不再赘述。
下面将结合图1a和1b,对本申请实施例提供的技术方案进行举例介绍:硬件虚拟网关100为VPC的边缘设备,其向公网宣告VPC用户的公网IP地址,向VPC侧宣告其虚拟IP地址(VIP1)。
步骤1:当VPC中虚拟机需要访问公网时,VPC中虚拟机会将报文发送给与其网络直连的交换机500,以由该交换机500对该报文进行隧道封装,并将隧道封装后的报文路由到硬件虚拟网关100上。
步骤2、硬件虚拟网关100接收到流量后,根据接收该流量的物理接口ID号,确定数据信息;根据该流量对应的网络身份标识信息,在本地存储的该数据信息对应的转发表中查找用于指导该流量转发的配置信息。
若硬件虚拟网关100查找到配置信息,则执行下述步骤3;若硬件网关100未查找到配置信息,则执行下述步骤4至步骤9。
步骤3、硬件虚拟网关可对隧道封装后的报文进行解封装,得到报文;并根据配置信息,将报文中的源IP地址修改为VPC用户的公网IP地址;并将修改后报文发送至公网。
步骤4、硬件虚拟网关100可对隧道封装后的报文进行解封装,得到报文;对报文进行通用可扩展标签的封装,该通用可扩展标签中携带有用于标识该数据信息的标识信息。此外,将隧道封装后的报文中隧道封装信息中的VPC用户ID号添加到通用可扩展标签中。
步骤5、硬件虚拟网关100将封装有通用可扩展标签的报文发送给负载最小的软件虚拟网关200。
步骤6、虚拟软件网关上保存有全量的配置信息。软件网关收到封装有通用可扩展标签的报文后,从通用可扩展标签中提取出用于标识数据信息的标识信息以及VPC用户ID号。根据VPC用户ID、报文中的目的公网IP地址以及源虚拟机IP地址,在本地保存的数据信息对应的第二转发表中查找有关指导网络流量数据转发的配置信息,该配置信息中包括:VPC用户的公网IP地址。
步骤7、虚拟软件网关从封装有通用可扩展标签的报文进行解析出报文;将报文中的源虚拟机IP地址更改为VPC用户的公网IP地址,得到修改后报文。
步骤8、将修改后报文返回给硬件虚拟网关。
步骤9、硬件虚拟网关将修改后报文转发至公网。
上述流程充分利用了可编程硬件的网络转发能力强以及服务器(例如x86服务器)的内存容量大的优点,两者通过级联架构共同处理网络流量数据,并且通过通用可扩展标签交换信息,实现协同工作,解决硬件存储空间和软件性能的瓶颈,完成网络流量加速,实现了满足大规模云计算场景的可扩展软硬件一体化网关。
图4示出了本申请又一实施例提供的数据转发装置的结构框图。该数据转发装置也即上述第一类型网关。如图4所示,该装置包括:
第一发送模块301,用于将待转发的网络流量数据发送至第二类型网关,以由所述第二类型网关结合与所述网络流量数据有关的数据信息对所述网络流量数据进行处理并将处理结果返回至所述第一类型网关;
第一执行模块302,用于根据所述第二类型网关返回的处理结果,执行所述网络流量数据的转发。
可选地,所述第一类型网关包括基于可编程硬件实现的硬件网关;所述第二类型网关包括基于软件实现的软件网关。
可选地,所述数据信息包括所述网络流量的转发方向和/或与所述网络流量数据有关的交互方所属网络类型。
可选地,上述装置,还包括:
第一确定模块,用于确定所述数据信息;
相应的,上述第一发送模块301,具体用于将所述数据信息以及所述网络流量数据发送至所述第二类型网关。
可选地,上述装置,还包括:
第一查找模块,用于根据所述网络流量数据对应的网络身份标识信息,在所述数据信息对应的第一转发表中查找有关指导所述网络流量数据转发的配置信息;
第一触发模块,用于若在所述数据信息对应的第一转发表中未查找到有关指导所述网络流量数据转发的配置信息,则触发所述将待转发的网络流量数据发送至所述第二类型网关的步骤。
可选地,上述第一执行模块302,还用于:若在所述数据信息对应的第一转发表中查找到有关指导所述网络流量数据转发的配置信息,则根据查找到的所述配置信息,执行所述网络流量数据的转发。
可选地,上述装置,还包括:
第一添加模块,用于:在将标签封装后网络流量数据发送至所述第二类型网关之前,当所述网络流量的转发方向为入方向且与所述网络流量数据有关的交互方所属网络类型为局域网类型时,将所述第一类型网关接收所述网络流量数据所用的物理接口信息添加到所述标签中。
这里需要说明的是:上述实施例提供的数据转发装置可实现上述各方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述各方法实施例中的相应内容,此处不再赘述。
图5示出了本申请又一实施例提供的数据转发装置的结构框图。该数据转发装置也即上述第二类型网关。如图5所示,该装置包括:
第一接收模块501,用于接收第一类型网关发送来的网络流量数据;
第一处理模块502,用于结合与所述网络流量数据有关的数据信息,对所述网络流量数据进行处理;
第二发送模块503,用于将处理结果返回至所述第一类型网关,以由所述第一类型网关执行所述网络流量数据的转发。
可选地,上述装置,还可包括:
第一获取模块,用于从所述网络流量数据中用于封装的标签中获取所述数据信息。
这里需要说明的是:上述实施例提供的数据转发装置可实现上述各方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述各方法实施例中的相应内容,此处不再赘述。
图6示出了本申请一实施例提供的电子设备的结构示意图。如图6所示,所述电子设备包括存储器1101以及处理器1102。存储器1101可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令。存储器1101可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
所述存储器1101,用于存储程序;
所述处理器1102,与所述存储器1101耦合,用于执行所述存储器1101中存储的所述程序,以实现上述各方法实施例提供的数据转发方法。
进一步,如图6所示,电子设备还包括:通信组件1103、显示器1104、电源组件1105、音频组件1106等其它组件。图6中仅示意性给出部分组件,并不意味着电子设备只包括图6所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述各实施例提供的数据转发方法步骤或功能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (25)

1.一种数据转发方法,其特征在于,应用于第一类型网关,包括:
将待转发的网络流量数据发送至第二类型网关,以由所述第二类型网关结合与所述网络流量数据有关的数据信息对所述网络流量数据进行处理并将处理结果返回至所述第一类型网关;
根据所述第二类型网关返回的处理结果,执行所述网络流量数据的转发。
2.根据权利要求1所述的方法,其特征在于,所述第一类型网关为基于可编程硬件实现的硬件网关;所述第二类型网关为基于软件实现的软件网关。
3.根据权利要求1所述的方法,其特征在于,所述数据信息包括所述网络流量的转发方向和/或与所述网络流量数据有关的交互方所属网络类型。
4.根据权利要求3所述的方法,其特征在于,还包括:
确定所述数据信息;
将待转发的网络流量数据发送至所述第二类型网关,包括:
将所述数据信息以及所述网络流量数据发送至所述第二类型网关。
5.根据权利要求4所述的方法,其特征在于,确定所述数据信息,包括:
确定所述第一类型网关接收所述网络流量数据所用的物理接口信息;
根据所述物理接口信息,确定所述数据信息。
6.根据权利要求3至5中任一项所述的方法,其特征在于,还包括:
根据所述网络流量数据对应的网络身份标识信息,在所述数据信息对应的第一转发表中查找有关指导所述网络流量数据转发的配置信息;
若在所述数据信息对应的第一转发表中未查找到有关指导所述网络流量数据转发的配置信息,则触发所述将待转发的网络流量数据发送至所述第二类型网关的步骤。
7.根据权利要求6所述的方法,其特征在于,还包括:
若在所述数据信息对应的第一转发表中查找到有关指导所述网络流量数据转发的配置信息,则根据查找到的所述配置信息,执行所述网络流量数据的转发。
8.根据权利要求4或5所述的方法,其特征在于,将所述数据信息以及所述网络流量数据发送至所述第二类型网关,包括:
根据所述数据信息,对所述网络流量数据进行标签封装;所述标签中携带用于标识所述数据信息的标识信息;
将标签封装后网络流量数据发送至所述第二类型网关。
9.根据权利要求8所述的方法,其特征在于,在将标签封装后网络流量数据发送至所述第二类型网关之前,还包括:
当所述网络流量的转发方向为入方向且与所述网络流量数据有关的交互方所属网络类型为局域网类型时,将所述第一类型网关接收所述网络流量数据所用的物理接口信息添加到所述标签中。
10.根据权利要求1至5中任一项所述的方法,其特征在于,所述第二类型网关为多个;
将待转发的网络流量数据发送至所述第二类型网关,包括:
检测所述第一类型网关与各所述第二类型网关的网络直连链路的负载信息;
根据所述负载信息,从多个所述第二类型网关中选中一个第二类型网关;
将所述网络流量数据发送至选中的第二类型网关。
11.根据权利要求3至5中任一项所述的方法,其特征在于,所述网络类型包括公网类型和局域网类型。
12.一种数据转发方法,其特征在于,应用于第二类型网关,包括:
接收第一类型网关发送来的网络流量数据;
结合与所述网络流量数据有关的数据信息,对所述网络流量数据进行处理;
将处理结果返回至所述第一类型网关,以由所述第一类型网关执行所述网络流量数据的转发。
13.根据权利要求12所述的方法,其特征在于,所述数据信息包括所述网络流量的转发方向和/或与所述网络流量数据有关的交互方所属网络类型。
14.根据权利要求13所述的方法,其特征在于,结合与所述网络流量数据有关的数据信息,对所述网络流量数据进行处理,包括:
根据所述网络流量数据对应的网络身份标识信息,在所述数据信息对应的第二转发表中查找有关指导所述网络流量数据转发的配置信息;
根据所述配置信息,对所述网络流量数据进行处理,得到处理结果。
15.根据权利要求14所述的方法,其特征在于,还包括:
从所述网络流量数据中用于封装的标签中获取用于标识所述数据信息的标识信息;
根据用于标识所述数据信息的标识信息,确定所述数据信息。
16.根据权利要求15所述的方法,其特征在于,根据所述配置信息,对所述网络流量数据进行处理,得到处理结果,包括:
当所述交互方所属网络类型为局域网类型时,将所述配置信息添加到所述标签中,以得到处理结果。
17.根据权利要求15所述的方法,其特征在于,
根据所述配置信息,对所述网络流量数据进行处理,得到处理结果,包括:
当所述交互方所属网络类型为公网类型时,根据所述配置信息,对所述网络流量数据中的网络身份标识信息进行修改,并将所述配置信息中需要携带给所述第一类型网关的信息保存到所述标签中,以得到处理结果。
18.根据权利要求15所述的方法,其特征在于,所述标签的格式为通用可扩展格式。
19.一种数据转发系统,其特征在于,包括:第一类型网关以及与所述第一类型网关通信的第二类型网关;
所述第一类型网关,用于将所述待转发的网络流量数据发送至所述第二类型网关;
所述第二类型网关,用于接收所述第一类型网关发送来的所述网络流量数据;结合与所述网络流量数据有关的数据信息对所述网络流量数据进行处理;并将处理结果返回至所述第一类型网关;
所述第一类型网关,还用于根据所述第二类型网关返回的处理结果,执行所述网络流量数据的转发。
20.根据权利要求19所述的方法,其特征在于,所述第一类型网关包括基于可编程硬件实现的硬件网关;所述第二类型网关包括基于软件实现的软件网关。
21.根据权利要求19所述的方法,其特征在于,所述第一类型网关和所述第二类型网关之间的连接方式为网络直连方式。
22.根据权利要求19至21中任一项所述的方法,其特征在于,所述第二类型网关的数量为多个。
23.根据权利要求22所述的方法,其特征在于,所述第一类型网关,具体用于:
检测所述第一类型网关与各所述第二类型网关的网络直连链路的负载信息;
根据所述负载信息,从所述多个所述第二类型网关中选中一个第二类型网关;
将所述网络流量数据发送至选中的第二类型网关。
24.一种电子设备,其特征在于,包括:存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
将待转发的网络流量数据发送至所述第二类型网关,以由所述第二类型网关结合与所述网络流量数据有关的数据信息对所述网络流量数据进行处理并将处理结果返回至所述第一类型网关;
根据所述第二类型网关返回的处理结果,执行所述网络流量数据的转发。
25.一种电子设备,其特征在于,包括:存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
接收第一类型网关发送来的网络流量数据;
结合与所述网络流量数据有关的数据信息,对所述网络流量数据进行处理;
将处理结果返回至所述第一类型网关,以由所述第一类型网关执行所述网络流量数据的转发。
CN202010202837.XA 2020-03-20 2020-03-20 数据转发方法、系统及设备 Active CN113497755B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010202837.XA CN113497755B (zh) 2020-03-20 2020-03-20 数据转发方法、系统及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010202837.XA CN113497755B (zh) 2020-03-20 2020-03-20 数据转发方法、系统及设备

Publications (2)

Publication Number Publication Date
CN113497755A true CN113497755A (zh) 2021-10-12
CN113497755B CN113497755B (zh) 2023-03-24

Family

ID=77993808

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010202837.XA Active CN113497755B (zh) 2020-03-20 2020-03-20 数据转发方法、系统及设备

Country Status (1)

Country Link
CN (1) CN113497755B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979016A (zh) * 2022-03-24 2022-08-30 阿里云计算有限公司 网关系统、网关、报文转发方法及程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104869013A (zh) * 2015-04-24 2015-08-26 杭州华三通信技术有限公司 一种基于sdn的网关配置方法及sdn控制器
CN108259347A (zh) * 2017-05-19 2018-07-06 新华三技术有限公司 一种报文传输方法和装置
US20180241824A1 (en) * 2017-02-20 2018-08-23 International Business Machines Corporation Software-defined networking proxy gateway
CN109245984A (zh) * 2018-07-13 2019-01-18 华为技术有限公司 一种报文传输方法、一种信息处理方法及其相关设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104869013A (zh) * 2015-04-24 2015-08-26 杭州华三通信技术有限公司 一种基于sdn的网关配置方法及sdn控制器
US20180241824A1 (en) * 2017-02-20 2018-08-23 International Business Machines Corporation Software-defined networking proxy gateway
CN108259347A (zh) * 2017-05-19 2018-07-06 新华三技术有限公司 一种报文传输方法和装置
CN109245984A (zh) * 2018-07-13 2019-01-18 华为技术有限公司 一种报文传输方法、一种信息处理方法及其相关设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979016A (zh) * 2022-03-24 2022-08-30 阿里云计算有限公司 网关系统、网关、报文转发方法及程序产品

Also Published As

Publication number Publication date
CN113497755B (zh) 2023-03-24

Similar Documents

Publication Publication Date Title
CN110506411B (zh) 虚拟计算环境中用于使用逻辑端口提供分组实施的方法和系统
CN113326228B (zh) 基于远程直接数据存储的报文转发方法、装置及设备
EP3044914B1 (en) Enhanced network virtualization using metadata in encapsulation header
US9729441B2 (en) Service function bundling for service function chains
US7522595B2 (en) Communicating packets between forwarding contexts using virtual interfaces
US9019837B2 (en) Packet modification to facilitate use of network tags
CN104954245B (zh) 业务功能链处理方法及装置
US7881324B2 (en) Steering data communications packets for transparent bump-in-the-wire processing among multiple data processing applications
EP2544409A1 (en) Generic monitoring packet handling mechanism for OpenFlow 1.1
US20070261110A1 (en) Packet firewalls of particular use in packet switching devices
US11184281B2 (en) Packet processing method and apparatus
CN114301868B (zh) 快速生成虚拟容器浮动ip的方法及网络直通的方法和装置
CN114640557B (zh) 网关以及云网络系统
US20220070091A1 (en) Open fronthaul network system
CN105407045A (zh) 基于安全隔离的路由器虚拟化方法
CN113497755B (zh) 数据转发方法、系统及设备
WO2021135792A1 (zh) 数据转发方法、转发器、系统、服务器和存储介质
CN115426305A (zh) 报文处理方法、装置及系统
CN115865802B (zh) 虚拟实例的流量镜像方法、装置、虚拟机平台及存储介质
US10284426B2 (en) Method and apparatus for processing service node ability, service classifier and service controller
CN116708609A (zh) 报文字符数据的提取方法和装置、存储介质及电子装置
CN108989311A (zh) 生成输入参数的方法及设备
CN108156066B (zh) 报文转发方法和装置
CN113709016B (zh) 通信系统以及通信方法、装置、设备和存储介质
CN111092772A (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
TR01 Transfer of patent right

Effective date of registration: 20230525

Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province

Patentee after: Aliyun Computing Co.,Ltd.

Address before: Box 847, four, Grand Cayman capital, Cayman Islands, UK

Patentee before: ALIBABA GROUP HOLDING Ltd.

TR01 Transfer of patent right