虚拟路由器集群、数据转发方法和装置制造方法及图纸

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

【技术实现步骤摘要】

本申请涉及计算机
,具体涉及互联网
,尤其涉及虚拟路由器集群、数据转发方法和装置
技术介绍
随着互联网的爆炸性成长,围绕着网络的新服务不断受到关注,云计算网络就是其中的一个典型的复杂的服务。在云计算网络中,用户的需求变得多种多样,例如:对路由配置信息等的单独配置、安全ACL(Access Control List,访问控制列表)、NAT (NetworkAddress Translat1n,网络地址转换)、网络隔离、网络限速、网络传输高性能等,这都对路由器提出了更高的要求,并显著加大了路由器的复杂性。为了迎接云计算网络的新挑战,目前路由器有两种解决方法:一是基于软件虚拟化实现--即虚拟化路由器;另外一种是高度定制(特定协议、特定硬件等)的物理路由器。现有技术中的虚拟路由器通常使用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)连接、以及其他现在已知或将来开发的无线连本文档来自技高网...

【技术保护点】
一种虚拟路由器集群,其特征在于,所述虚拟路由器集群包括:网关以及与所述网关互连的至少一个虚拟路由器;所述网关接收外部传输的数据包;所述网关还基于开放式最短路径优先协议从所述虚拟路由器中选择与所述数据包对应的第一虚拟路由器,并将各所述数据包转发至与所述数据包对应的各所述第一虚拟路由器;所述第一虚拟路由器接收并向目的端转发所述数据包。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨毅王营张宇董玉池
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1