CN105337858B - 虚拟路由器集群、数据转发方法和装置 - Google Patents

虚拟路由器集群、数据转发方法和装置 Download PDF

Info

Publication number
CN105337858B
CN105337858B CN201510811517.3A CN201510811517A CN105337858B CN 105337858 B CN105337858 B CN 105337858B CN 201510811517 A CN201510811517 A CN 201510811517A CN 105337858 B CN105337858 B CN 105337858B
Authority
CN
China
Prior art keywords
data packet
virtual router
gateway
data
protocol
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
Application number
CN201510811517.3A
Other languages
English (en)
Other versions
CN105337858A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201510811517.3A priority Critical patent/CN105337858B/zh
Publication of CN105337858A publication Critical patent/CN105337858A/zh
Priority to JP2016159932A priority patent/JP6846891B2/ja
Priority to US15/239,126 priority patent/US10129136B2/en
Priority to KR1020160104440A priority patent/KR101925184B1/ko
Application granted granted Critical
Publication of CN105337858B publication Critical patent/CN105337858B/zh
Priority to JP2020168517A priority patent/JP2021007249A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/72Routing based on the source address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • 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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/46Cluster building
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Abstract

本申请公开了一种虚拟路由器集群、数据转发方法和装置。虚拟路由器集群的一具体实施方式包括:网关以及与网关互连的至少一个虚拟路由器;网关接收外部传输的数据包;网关还基于开放式最短路径优先协议从虚拟路由器中选择与数据包对应的第一虚拟路由器,并将数据包转发至与数据包对应的各第一虚拟路由器;第一虚拟路由器接收并向目的端转发数据包。该实施方式实现了网络负载的均衡,避免了网络的拥塞。

Description

虚拟路由器集群、数据转发方法和装置
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及虚拟路由器集群、数据转发方法和装置。
背景技术
随着互联网的爆炸性成长,围绕着网络的新服务不断受到关注,云计算网络就是其中的一个典型的复杂的服务。在云计算网络中,用户的需求变得多种多样,例如:对路由配置信息等的单独配置、安全ACL(Access Control List,访问控制列表)、NAT(NetworkAddress Translation,网络地址转换)、网络隔离、网络限速、网络传输高性能等,这都对路由器提出了更高的要求,并显著加大了路由器的复杂性。
为了迎接云计算网络的新挑战,目前路由器有两种解决方法:一是基于软件虚拟化实现——即虚拟化路由器;另外一种是高度定制(特定协议、特定硬件等)的物理路由器。
现有技术中的虚拟路由器通常使用iptables(网络协议地址过滤系统)和协议栈的方式来实现路由。而在这种实现方式中,报文包的处理过程中需要内核中的多次拷贝,成为了性能的一块短板。
现有技术的虚拟路由器集群在逻辑上,通常一个虚拟路由器仅负责多个虚拟路由器实例的转发,当某个虚拟路由器异常不可用时,其负责的所有的虚拟路由器实例都将处于不可用状态。在扩展上,虚拟路由器的这种实例指定托管(即虚拟路由器实例和虚拟路由器有绑定关系)的设计不够通用,做不到虚拟路由器的无关性。
发明内容
本申请的目的在于提出一种改进的虚拟路由器集群、数据转发方法和装置,来解决以上背景技术部分提到的至少一个技术问题。
第一方面,本申请提供了一种虚拟路由器集群,包括:网关以及与网关互连的至少一个虚拟路由器;网关接收外部传输的数据包;网关还基于开放式最短路径优先协议从虚拟路由器中选择与数据包对应的第一虚拟路由器,并将数据包转发至与数据包对应的各第一虚拟路由器;第一虚拟路由器接收并向目的端转发数据包。
在一些实施例中,网关在基于开放式最短路径优先协议从虚拟路由器中选择与数据包对应的第一虚拟路由器时:获取数据包的地址信息;以及基于地址信息的哈希值,选择与数据包对应的第一虚拟路由器。
在一些实施例中,数据包的地址信息包括数据包的源网络协议地址、源端口号、目标网络协议地址、目标端口号和数据包的协议代码。
在一些实施例中,第一虚拟路由器在接收并向目的端转发数据包时:多个第一内核以预定的时间间隔轮询第一宿主机的网络接口;若在多个第一内核中的任意一个第二内核访问网络接口期间,网络接口接收到网关发送的数据包,则第二内核获取数据包,并向目的端转发数据包;其中,第一宿主机为第一虚拟路由器的宿主机,第一内核为第一虚拟路由器独占的第一宿主机的内核。
第二方面,本申请提供了一种数据转发方法,包括:接收外部传输的数据包;基于开放式最短路径优先协议选择与数据包对应的第一虚拟路由器;以及将数据包转发至与数据包对应的第一虚拟路由器。
在一些实施例中,基于开放式最短路径优先协议选择与数据包对应的第一虚拟路由器包括:获取数据包的地址信息;以及基于地址信息的哈希值,选择与数据包对应的第一虚拟路由器。
在一些实施例中,数据包的地址信息包括:数据包的源网络协议地址、源端口号、目标网络协议地址、目标端口号和数据包的协议代码。
第三方面,本申请提供了一种数据转发方法,包括:基于满足开放式最短路径优先协议,接收网关发送的数据包;以及向目的端转发数据包。
在一些实施例中,基于满足开放式最短路径优先协议,接收网关发送的数据包包括:基于数据包的地址信息的哈希值满足开放式最短路径优先协议,接收网关发送的数据包。
在一些实施例中,数据包的地址信息例如可以包括数据包的源网络协议地址、源端口号、目标网络协议地址、目标端口号和数据包的协议代码。
在一些实施例中,基于满足开放式最短路径优先协议,接收网关发送的数据包包括:以预定的时间间隔轮询网络接口;若网络接口接收到网关发送的数据包,则获取数据包,并向目的端转发数据包。
第四方面,本申请提供了一种数据转发装置,包括:接收模块,配置用于接收外部传输的数据包;选择模块,配置用于基于开放式最短路径优先协议选择与数据包对应的第一虚拟路由器;以及转发模块,配置用于将数据包转发至与数据包对应的第一虚拟路由器。
在一些实施例中,转发模块进一步配置用于:获取数据包的地址信息;以及基于地址信息的哈希值,选择与数据包对应的第一虚拟路由器。
在一些实施例中,数据包的地址信息包括:数据包的源网络协议地址、源端口号、目标网络协议地址、目标端口号和数据包的协议代码。
第五方面,本申请提供了一种数据转发装置,包括:接收模块,配置用于基于满足开放式最短路径优先协议,接收网关发送的数据包;以及转发模块,配置用于向目的端转发数据包。
在一些实施例中,接收模块进一步配置用于:基于数据包的地址信息的哈希值满足开放式最短路径优先协议,接收网关发送的数据包括。
在一些实施例中,数据包的地址信息例如可以包括:数据包的源网络协议地址、源端口号、目标网络协议地址、目标端口号和数据包的协议代码。
在一些实施例中,接收模块进一步配置用于:以预定的时间间隔轮询网络接口;若网络接口接收到网关发送的数据包,则获取数据包,并向目的端转发数据包。
本申请提供的虚拟路由器集群、数据转发方法和装置,基于开放式最短路径优先协议来确定接收并转发数据的虚拟路由器,可以实现负载的均衡,从而避免网络的拥塞。
此外,在本申请的虚拟路由器集群的一些实施例中,各虚拟路由器独立地与网关连接,各虚拟路由器之间无耦合关系,即使集群中的某一个或某几个虚拟路由器故障,也不影响其它虚拟路由器的正常工作。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请的虚拟路由器集群的一个实施例的结构图;
图2是根据本申请的数据转发方法的一个实施例的流程图;
图3是根据本申请的数据转发方法的又一个实施例的流程图;
图4是根据本申请的数据转发装置的一个实施例的结构示意图;
图5是根据本申请的数据转发装置的又一个实施例的结构示意图;
图6是适于用来实现本申请实施例的网关或虚拟路由器的宿主机的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
如图1所示,为本申请的虚拟路由器集群的一个实施例的结构图100。
在本实施例中,虚拟路由器集群包括网关110以及与网关互连的至少一个虚拟路由器121~123。
在这里,“互连”的含义例如可以是,网关110可以向各个虚拟路由器121~123发送数据信息。此外,网关110与各虚拟路由器121~123之间的互连并不具有具体的互连形式的限定。在不同的应用场景中,网关110和各虚拟路由器121~123可以采用不同的互连形式,包括有线连接或者无线连接。无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
网关110接收外部传输的数据包,基于开放式最短路径优先协议从虚拟路由器中选择与数据包对应的第一虚拟路由器121,并将数据包转发至与数据包对应的各第一虚拟路由器121。
开放式最短路径优先(Open Shortest Path First,OSPF)协议,是一种内部网关协议(Interior Gateway Protocol,IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。
第一虚拟路由器121接收并向目的端转发数据包。
在一些可选的实现方式中,本实施例的虚拟路由器集群中的各虚拟路由器可以集成在不同的物理机上。也即是说,在这些可选的实现方式中,虚拟路由器集群中的各虚拟路由器与其宿主机一一对应。在这些可选的实现方式中,第一虚拟路由器121可以通过其宿主机的网络接口(例如,网卡)接收网关110发送的数据包,经第一虚拟路由器121路由处理之后,再通过其宿主机的网络接口向目的端转发该数据包。
从图1中可以看出,本实施例的虚拟路由器集群中,各虚拟路由器121~123分别直接与网关110进行数据交互,而各虚拟路由器121~123之间并无数据交互。也即是说,各虚拟路由器121~123之间无主、从关系,对于同一个数据包而言,其仅经过网关110和与之对应的第一虚拟路由器121(而不通过虚拟路由器集群中,除与之对应的第一虚拟路由器121之外的其他任意虚拟路由器),进而由第一虚拟路由器121向外转发。
这样一来,当虚拟路由器集群中的某一个或某几个虚拟路由器通信异常时,网关可以基于开放式最短路径优先协议从虚拟路由器集群中正常工作的虚拟路由器中选择一虚拟路由器,用于接收数据包并将接收到的数据包向外转发,从而保证虚拟路由器集群作为一个整体的正常工作。
在一些可选的实现方式中,网关110在基于开放式最短路径优先协议从虚拟路由器121~123中选择与数据包对应的第一虚拟路由器121时,可以具体通过如下的方式来进行:
获取数据包的地址信息,以及基于地址信息的哈希值,选择与数据包对应的第一虚拟路由器121。
在这些可选的实现方式中,数据包的地址信息例如可以包括数据包的源网络协议地址、源端口号、目标网络协议地址、目标端口号和数据包的协议代码。通过对以上的数据包的地址信息进行哈希运算,可以得到与数据包的源网络协议地址、源端口号、目标网络协议地址、目标端口号和数据包的协议代码一一对应的哈希值,并将该哈希值作为从虚拟路由器集群中选择第一虚拟路由器的唯一依据。
在一些应用场景中,例如可以采用现有的哈希算法来求取数据包的源网络协议地址、源端口号、目标网络协议地址、目标端口号和数据包的协议代码的哈希值,或者,可以根据具体的应用场景,来设定具体的哈希算法,进而得到数据包的源网络协议地址、源端口号、目标网络协议地址、目标端口号和数据包的协议代码的哈希值。
在一些可选的实现方式中,第一虚拟路由器121在接收并向目的端转发数据包时,多个第一内核以预定的时间间隔轮询第一宿主机的网络接口;若在多个第一内核中的任意一个第二内核访问网络接口期间,网络接口接收到网关发送的数据包,则第二内核获取数据包,并向目的端转发数据包;其中,第一宿主机为第一虚拟路由器的宿主机,第一内核为第一虚拟路由器独占的第一宿主机的内核。
在这些可选的实现方式中,第一虚拟路由器121通常可以“独占”其宿主机的某一个或某几个内核来进行数据包的处理操作。这些内核(也即第一内核)可以以一定的时间间隔来访问其宿主机(也即第一宿主机)的网络接口(例如网卡)。当其中一个内核(也即第二内核)在访问宿主机的网络接口时,网络接口恰好接收到网关发送的数据包,那么该内核可从网络接口获取到该数据包,对该数据包进行处理,例如,NAT(Network AddressTranslation,网络地址转换)、路由、过滤等,然后将该数据包向目的端转发。
此外,在这些可选的实现方式中,第一虚拟路由器121通过“独占”其宿主机的某一个或某几个内核来进行数据包的处理操作,可以避免现有的物理路由器在对数据包进行处理时,对计算机内核数据的频繁拷贝。
参见图2所示,为本申请一个实施例的数据转发方法的示意性流程图200。
本实施例的数据转发方法例如可以运行于如图1所示的虚拟路由器集群中的网关110上。
具体而言,本实施例的数据转发方法包括:
步骤210,接收外部传输的数据包;
步骤220,基于开放式最短路径优先协议选择与数据包对应的第一虚拟路由器。
以及步骤230,将数据包转发至与数据包对应的第一虚拟路由器。
在一些可选的实现方式中,步骤220的基于开放式最短路径优先协议选择与数据包对应的第一虚拟路由器可以通过如下的步骤来实施:
步骤221,获取数据包的地址信息。
以及步骤222,基于地址信息的哈希值,选择与数据包对应的第一虚拟路由器。
在一些可选的实现方式中,数据包的地址信息例如可以包括数据包的源网络协议地址、源端口号、目标网络协议地址、目标端口号和数据包的协议代码。
参见图3所示,为根据本申请的数据转发方法的又一个实施例的流程图300。
本实施例的数据转发方法例如可以运行于如图1所示的虚拟路由器集群中的第一虚拟路由器121上。
具体而言,本实施例的数据转发方法包括:
步骤310,基于满足开放式最短路径优先协议,接收网关发送的数据包。
步骤320,向目的端转发数据包。
在一些可选的实现方式中,步骤310的基于满足开放式最短路径优先协议,接收网关发送的数据包例如可以采用如下的方式来实现:
步骤311,基于数据包的地址信息的哈希值满足开放式最短路径优先协议,接收网关发送的数据包。
在一些可选的实现方式中,数据包的地址信息例如可以包括数据包的源网络协议地址、源端口号、目标网络协议地址、目标端口号和数据包的协议代码。
在一些可选的实现方式中,步骤310的基于满足开放式最短路径优先协议,接收网关发送的数据包还可以包括:
步骤312,以预定的时间间隔轮询网络接口。
以及步骤313,若网络接口接收到网关发送的数据包,则获取数据包,并向目的端转发数据包。
进一步参考图4,作为对上述各图所示方法的实现,本申请提供了一种数据转发装置的一个实施例400,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于运行于如图1所示的虚拟路由器集群中的网关110中。
如图4所示的数据转发装置可包括接收模块410、选择模块420和转发模块430。
其中,接收模块410可配置用于接收外部传输的数据包。
选择模块420可配置用于基于开放式最短路径优先协议选择与数据包对应的第一虚拟路由器。
转发模块430可配置用于将数据包转发至与数据包对应的第一虚拟路由器。
在一些可选的实现方式中,转发模块430还可进一步配置用于获取数据包的地址信息,并基于地址信息的哈希值,选择与数据包对应的第一虚拟路由器。
在一些可选的实现方式中,数据包的地址信息例如包括:数据包的源网络协议地址、源端口号、目标网络协议地址、目标端口号和数据包的协议代码。
本领域技术人员可以理解,上述数据转发装置400还包括一些其他公知结构,例如处理器、存储器等,为了不必要地模糊本公开的实施例,这些公知的结构在图4中未示出。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种数据转发装置的一个实施例500,该装置实施例与图3所示的方法实施例相对应,该装置具体可以应用于运行于如图1所示的虚拟路由器集群中的第一虚拟路由器121中。
如图5所示的数据转发装置可包括接收模块510和转发模块520。
其中,接收模块510可配置用于基于满足开放式最短路径优先协议,接收网关发送的数据包。
转发模块520可配置用于向目的端转发数据包。
在一些可选的实现方式中,接收模块510可进一步配置用于基于数据包的地址信息的哈希值满足开放式最短路径优先协议,接收网关发送的数据包。
在一些可选的实现方式中,数据包的地址信息例如可以包括:所述数据包的源网络协议地址、源端口号、目标网络协议地址、目标端口号和所述数据包的协议代码。
在一些可选的实现方式中,接收模块510可进一步配置用于以预定的时间间隔轮询网络接口;若网络接口接收到网关发送的数据包,则获取数据包,并向目的端转发数据包。
本领域技术人员可以理解,上述数据转发装置500还包括一些其他公知结构,例如处理器、存储器等,为了不必要地模糊本公开的实施例,这些公知的结构在图5中未示出。
下面参考图6,其示出了适于用来实现本申请实施例的网关或虚拟路由器的宿主机的计算机系统的结构示意图。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收模块、选择模块和转发模块。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收模块还可以被描述为“接收外部传输的数据包的模块”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当一个或者多个程序被一个设备执行时,使得设备:接收外部传输的数据包;基于开放式最短路径优先协议选择与数据包对应的第一虚拟路由器;以及将数据包转发至与数据包对应的第一虚拟路由器。
此外,本申请的非易失性计算机存储介质上存储的一个或者多个程序还可在被一个设备执行时,使得设备:基于满足开放式最短路径优先协议,接收网关发送的数据包;以及向目的端转发数据包。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (18)

1.一种虚拟路由器集群,其特征在于,所述虚拟路由器集群包括:
网关以及与所述网关互连的至少一个虚拟路由器;
所述网关接收外部传输的数据包;
所述网关还基于开放式最短路径优先协议从所述虚拟路由器中选择与所述数据包对应的第一虚拟路由器,并将各所述数据包转发至与所述数据包对应的各所述第一虚拟路由器;
所述第一虚拟路由器接收并向目的端转发所述数据包。
2.根据权利要求1所述的虚拟路由器集群,其特征在于,所述网关在基于开放式最短路径优先协议从所述虚拟路由器中选择与所述数据包对应的第一虚拟路由器时:
获取各所述数据包的地址信息;以及
基于所述地址信息的哈希值,选择与所述数据包对应的第一虚拟路由器。
3.根据权利要求2所述的虚拟路由器集群,其特征在于:
所述数据包的地址信息包括所述数据包的源网络协议地址、源端口号、目标网络协议地址、目标端口号和所述数据包的协议代码。
4.根据权利要求1所述的虚拟路由器集群,其特征在于,所述第一虚拟路由器在接收并向目的端转发所述数据包时:
多个第一内核以预定的时间间隔轮询第一宿主机的网络接口;
若在多个所述第一内核中的任意一个第二内核访问所述网络接口期间,所述网络接口接收到所述网关发送的所述数据包,则所述第二内核获取所述数据包,并向目的端转发所述数据包;
其中,所述第一宿主机为所述第一虚拟路由器的宿主机,所述第一内核为所述第一虚拟路由器独占的所述第一宿主机的内核。
5.一种数据转发方法,其特征在于,包括:
接收外部传输的数据包;
基于开放式最短路径优先协议从虚拟路由器集群中选择与所述数据包对应的第一虚拟路由器;以及
将所述数据包转发至与所述数据包对应的所述第一虚拟路由器,以使所述第一虚拟路由器接收并向目的端转发所述数据包;
其中,所述虚拟路由器集群包括网关以及与所述网关互连的至少一个虚拟路由器。
6.根据权利要求5所述的方法,其特征在于,所述基于开放式最短路径优先协议选择与所述数据包对应的第一虚拟路由器包括:
获取各所述数据包的地址信息;以及
基于所述地址信息的哈希值,选择与所述数据包对应的第一虚拟路由器。
7.根据权利要求6所述的方法,其特征在于,所述数据包的地址信息包括:
所述数据包的源网络协议地址、源端口号、目标网络协议地址、目标端口号和所述数据包的协议代码。
8.一种数据转发方法,其特征在于,包括:
基于满足开放式最短路径优先协议,接收同一个虚拟路由器集群中的网关发送的数据包;以及
向目的端转发所述数据包;
其中,所述虚拟路由器集群包括网关以及与所述网关互连的至少一个虚拟路由器。
9.根据权利要求8所述的方法,其特征在于,所述基于满足开放式最短路径优先协议,接收网关发送的数据包包括:
基于所述数据包的地址信息的哈希值满足开放式最短路径优先协议,接收网关发送的所述数据包。
10.根据权利要求9所述的方法,其特征在于,所述数据包的地址信息包括:
所述数据包的源网络协议地址、源端口号、目标网络协议地址、目标端口号和所述数据包的协议代码。
11.根据权利要求8所述的方法,其特征在于,所述基于满足开放式最短路径优先协议,接收网关发送的数据包包括:
以预定的时间间隔轮询网络接口;以及
若所述网络接口接收到所述网关发送的所述数据包,则获取所述数据包,并向目的端转发所述数据包。
12.一种数据转发装置,其特征在于,包括:
接收模块,配置用于接收外部传输的数据包;
选择模块,配置用于基于开放式最短路径优先协议从虚拟路由器集群中选择与各所述数据包对应的第一虚拟路由器;以及
转发模块,配置用于将各所述数据包转发至与各所述数据包对应的所述第一虚拟路由器,以使所述第一虚拟路由器接收并向目的端转发所述数据包;
其中,所述虚拟路由器集群包括网关以及与所述网关互连的至少一个虚拟路由器。
13.根据权利要求12所述的装置,其特征在于,所述转发模块进一步配置用于:
获取各所述数据包的地址信息;以及
基于所述地址信息的哈希值,选择与各所述数据包对应的第一虚拟路由器。
14.根据权利要求13所述的装置,其特征在于,所述数据包的地址信息包括:
所述数据包的源网络协议地址、源端口号、目标网络协议地址、目标端口号和所述数据包的协议代码。
15.一种数据转发装置,其特征在于,包括:
接收模块,配置用于基于满足开放式最短路径优先协议,接收同一个虚拟路由器集群中的网关发送的数据包;以及
转发模块,配置用于向目的端转发所述数据包;
其中,所述虚拟路由器集群包括网关以及与所述网关互连的至少一个虚拟路由器。
16.根据权利要求15所述的装置,其特征在于,所述接收模块进一步配置用于:
基于所述数据包的地址信息的哈希值满足开放式最短路径优先协议,接收网关发送的所述数据包。
17.根据权利要求16所述的装置,其特征在于,所述数据包的地址信息包括:
所述数据包的源网络协议地址、源端口号、目标网络协议地址、目标端口号和所述数据包的协议代码。
18.根据权利要求15所述的装置,其特征在于,所述接收模块进一步配置用于:
以预定的时间间隔轮询网络接口;以及
若所述网络接口接收到所述网关发送的所述数据包,则获取所述数据包,并向目的端转发所述数据包。
CN201510811517.3A 2015-11-20 2015-11-20 虚拟路由器集群、数据转发方法和装置 Active CN105337858B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201510811517.3A CN105337858B (zh) 2015-11-20 2015-11-20 虚拟路由器集群、数据转发方法和装置
JP2016159932A JP6846891B2 (ja) 2015-11-20 2016-08-17 仮想ルータクラスタ、データ転送方法および装置
US15/239,126 US10129136B2 (en) 2015-11-20 2016-08-17 Virtual router cluster, data forwarding method and apparatus
KR1020160104440A KR101925184B1 (ko) 2015-11-20 2016-08-17 가상 라우터 클러스터, 데이터 전달 방법 및 장치
JP2020168517A JP2021007249A (ja) 2015-11-20 2020-10-05 仮想ルータクラスタ、データ転送方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510811517.3A CN105337858B (zh) 2015-11-20 2015-11-20 虚拟路由器集群、数据转发方法和装置

Publications (2)

Publication Number Publication Date
CN105337858A CN105337858A (zh) 2016-02-17
CN105337858B true CN105337858B (zh) 2019-10-18

Family

ID=55288165

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510811517.3A Active CN105337858B (zh) 2015-11-20 2015-11-20 虚拟路由器集群、数据转发方法和装置

Country Status (4)

Country Link
US (1) US10129136B2 (zh)
JP (2) JP6846891B2 (zh)
KR (1) KR101925184B1 (zh)
CN (1) CN105337858B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027395B (zh) * 2016-04-29 2019-06-28 清华大学 基于路由器随机标识的路径恢复方法及装置
WO2017206076A1 (zh) * 2016-05-31 2017-12-07 华为技术有限公司 一种多网关扩容方法及装置
CN107948086A (zh) * 2016-10-12 2018-04-20 北京金山云网络技术有限公司 一种数据包发送方法、装置及混合云网络系统
CN108768857B (zh) * 2018-08-30 2021-04-02 中国联合网络通信集团有限公司 一种虚拟路由转发方法、装置及系统
CN111586079B (zh) * 2019-02-15 2022-04-12 阿里巴巴集团控股有限公司 通信方法、系统、控制端、被控制端、设备及存储介质
US11483246B2 (en) 2020-01-13 2022-10-25 Vmware, Inc. Tenant-specific quality of service
US11599395B2 (en) 2020-02-19 2023-03-07 Vmware, Inc. Dynamic core allocation
CN111711710B (zh) * 2020-05-27 2022-11-11 北京金山云网络技术有限公司 访问MongoDB复制集集群的方法、装置、设备及存储介质
CN112039796B (zh) * 2020-08-28 2023-04-18 北京字节跳动网络技术有限公司 数据包传输方法和装置、存储介质和电子设备
US11539633B2 (en) * 2020-08-31 2022-12-27 Vmware, Inc. Determining whether to rate limit traffic
CN112653620B (zh) * 2020-12-21 2023-03-24 杭州迪普科技股份有限公司 路由处理方法、装置、设备及计算机可读存储介质
US11799784B2 (en) 2021-06-08 2023-10-24 Vmware, Inc. Virtualized QoS support in software defined networks
CN114827015B (zh) * 2022-04-29 2024-04-02 深圳爱捷云科技有限公司 一种数据转发方法和虚拟化云网络架构
CN115086219B (zh) * 2022-05-31 2024-04-09 深信服科技股份有限公司 一种虚拟路由器确定方法、设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8130644B2 (en) * 2004-02-18 2012-03-06 Fortinet, Inc. Mechanism for enabling load balancing to be achieved in a loop-free switching path, reverse path learning network
CN103139037A (zh) * 2011-11-30 2013-06-05 国际商业机器公司 用于实现灵活的虚拟局域网的方法和装置
CN103346900A (zh) * 2013-05-31 2013-10-09 华为技术有限公司 大二层网络中虚拟机热迁移后的路由配置方法和网关
CN104601428A (zh) * 2014-12-23 2015-05-06 广州亦云信息技术有限公司 虚拟机之间的通信方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7260648B2 (en) * 2001-01-25 2007-08-21 Ericsson, Inc. Extension of address resolution protocol (ARP) for internet protocol (IP) virtual networks
KR100451796B1 (ko) * 2002-09-26 2004-10-08 엘지전자 주식회사 트래픽 제어를 위한 호 프로세싱 캐싱 제어장치
JP2004254132A (ja) * 2003-02-20 2004-09-09 Telecommunication Advancement Organization Of Japan パケット伝送方法及びパケット伝送装置
JP3634854B2 (ja) * 2003-07-16 2005-03-30 古河電気工業株式会社 データ中継方法、データ中継装置およびその装置を用いたデータ中継システム
JP2006203471A (ja) * 2005-01-19 2006-08-03 Fujitsu Ltd サーバ、ルータ及び端末
US20070104198A1 (en) * 2005-11-10 2007-05-10 Kumar Kalluri Apparatus and method for providing a high availability network mechanish
JP2009246411A (ja) * 2008-03-28 2009-10-22 Hitachi Information & Communication Engineering Ltd 通信フレーム振分け装置
JP5024195B2 (ja) * 2008-06-17 2012-09-12 富士通株式会社 負荷分散サーバ、ネットワーク負荷分散方法および輻輳回避方法
FR2948248B1 (fr) * 2009-07-16 2011-08-19 Univ Paris Curie Procede et systeme pour deployer a la volee et sur demande au moins un reseau virtuel.
US8331370B2 (en) * 2009-12-17 2012-12-11 Amazon Technologies, Inc. Distributed routing architecture
CN104869065B (zh) * 2014-02-26 2020-04-21 中兴通讯股份有限公司 数据报文处理方法及装置
JP2016127390A (ja) * 2014-12-26 2016-07-11 富士通株式会社 情報処理システム、情報処理システムの制御方法、管理装置の制御プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8130644B2 (en) * 2004-02-18 2012-03-06 Fortinet, Inc. Mechanism for enabling load balancing to be achieved in a loop-free switching path, reverse path learning network
CN103139037A (zh) * 2011-11-30 2013-06-05 国际商业机器公司 用于实现灵活的虚拟局域网的方法和装置
CN103346900A (zh) * 2013-05-31 2013-10-09 华为技术有限公司 大二层网络中虚拟机热迁移后的路由配置方法和网关
CN104601428A (zh) * 2014-12-23 2015-05-06 广州亦云信息技术有限公司 虚拟机之间的通信方法

Also Published As

Publication number Publication date
KR101925184B1 (ko) 2018-12-04
JP6846891B2 (ja) 2021-03-24
JP2017098935A (ja) 2017-06-01
US10129136B2 (en) 2018-11-13
JP2021007249A (ja) 2021-01-21
CN105337858A (zh) 2016-02-17
US20170149648A1 (en) 2017-05-25
KR20170059379A (ko) 2017-05-30

Similar Documents

Publication Publication Date Title
CN105337858B (zh) 虚拟路由器集群、数据转发方法和装置
CN106789667B (zh) 一种数据转发方法、相关设备及系统
EP3515022B1 (en) Chassis controllers for converting universal flows
EP2878103B1 (en) Forwarding tables for hybrid communication networks
EP3048535B1 (en) Methods and apparatus for centralized virtual switch fabric control
US9871720B1 (en) Using packet duplication with encapsulation in a packet-switched network to increase reliability
CN110943924B (zh) 网络中分段源路由的方法及存储介质
KR20210029203A (ko) Srv6 및 bgp를 이용한 멀티클라우드 접속
US9754297B1 (en) Network routing metering
US9461938B2 (en) Large distributed fabric-based switch using virtual switches and virtual controllers
CN102857491A (zh) 集管理方案
US10027594B1 (en) Congestion control for label switching traffic
WO2016132263A1 (en) Temporal caching for icn
CN108600415A (zh) 一种虚拟网络访问外网的方法、系统及sdn控制器
US11444840B2 (en) Virtualized networking application and infrastructure
US9537751B2 (en) Divided hierarchical network system based on software-defined networks
WO2014112616A1 (ja) 制御装置、通信装置、通信システム、スイッチの制御方法及びプログラム
CN104852846B (zh) 一种数据转发控制方法及系统
WO2018077198A1 (zh) 一种虚拟网络的部署方法、装置及系统
US9219616B2 (en) Supporting multiple IEC-101/IEC-104 masters on an IEC-101/IEC-104 translation gateway
US11126249B1 (en) Power reduction methods for variable sized tables
JP6750612B2 (ja) 通信システム、制御装置、制御方法及びプログラム
CN107409132B (zh) 软件定义网络控制信令动态配置流分割的方法和网络节点
EP2983333B1 (en) A system and method for providing routes to physical residential gateways
KR101729945B1 (ko) Sdn 기반의 네트워크 시스템의 멀티 테넌트 지원 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant