CN108322393B - 路由链路管理方法和系统、虚拟路由网关和宿主机网关 - Google Patents

路由链路管理方法和系统、虚拟路由网关和宿主机网关 Download PDF

Info

Publication number
CN108322393B
CN108322393B CN201710035921.5A CN201710035921A CN108322393B CN 108322393 B CN108322393 B CN 108322393B CN 201710035921 A CN201710035921 A CN 201710035921A CN 108322393 B CN108322393 B CN 108322393B
Authority
CN
China
Prior art keywords
routing
gateway
link data
host
message
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
CN201710035921.5A
Other languages
English (en)
Other versions
CN108322393A (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 Group Holding 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 CN201710035921.5A priority Critical patent/CN108322393B/zh
Publication of CN108322393A publication Critical patent/CN108322393A/zh
Application granted granted Critical
Publication of CN108322393B publication Critical patent/CN108322393B/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/74Address processing for routing
    • 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/02Topology update or discovery
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Abstract

本申请实施例提供了一种路由链路管理方法和系统、虚拟路由网关和宿主机网关,涉及计算机技术领域。本申请实施例针对虚拟机发出的报文,与该虚拟机相对应的源宿主机网关在本地没有查找到对应该报文的路由链路数据时,将该报文转发至虚拟路由网关;该虚拟路由网关针对接收到的所述报文,在本地查找到对应该报文的路由链路数据后,根据该路由链路数据将该报文转发至目的宿主机网关,并将该路由链路数据返回该源宿主机网关;该源宿主机网关根据接收到的该路由链路数据,将该路由链路数据记录至所述源宿主机本地。从而可以宿主机网关能快速获得自己需要的路由链路数据,降低了对宿主机内存的耗费,避免虚拟路由网关流量负载过大。

Description

路由链路管理方法和系统、虚拟路由网关和宿主机网关
技术领域
本申请涉及计算机技术领域,特别是涉及一种路由链路管理方法和系统、一种虚拟路由网关和一种宿主机网关。
背景技术
在云服务中,存在一种专有网络VPC(Virtual Private Cloud,虚拟私有云),专有网络VPC是一个公共云计算资源的动态配置池,需要使用加密协议、隧道协议和其他安全程序,在民营企业和云服务提供商之间传输数据。一个VPC基本上把提供商的多租户架构变成单租户架构。在一个专有网络中,可承载数十万台甚至更多的源虚拟机,这些源虚拟机分布在云集群中大量的、不同的宿主机上;而每个宿主机又可能分别承载着多个专有网络的源虚拟机。
那么,在专有网络中,其数据的传输需要路由链路数据,而对于路由链路数据的下发,目前技术存在下述两种技术方案:
其一,对虚拟路由网关和源宿主机网关下发全量的路由链路数据,源虚拟机和源虚拟机之间的流量可以通过源宿主机网关中的全量的路由链路数据转发。该种方案在专有网络规模较小,源虚拟机所属宿主机的数量较少的情况下,该路由链路数据可以相对快速的下发。而当专有网络的规模不断扩大,宿主机支持更多专有网络的源虚拟机时,需要不断计算整个网络拓扑,那么对源宿主机网关实时下发全量的路由链路数据则几乎无法实现。并且,由于所有源宿主机网关都存储了全量的路由链路数据,耗费了宿主机大量的内存,从而大大降低源宿主机网关的转发性能。
其二,只对虚拟路由网关下发全量的路由链路数据。但是该方案由于源宿主机网关不存在路由链路数据,一个宿主机中的源虚拟机和其他宿主机的源虚拟机之间的流量全部需要通过虚拟路由网关转发,容易导致虚拟路由网关流量负载过大,浪费虚拟路由网关的带宽资源。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种路由链路管理方法和系统、虚拟路由网关和宿主机网关。
为了解决上述问题,本申请公开了一种路由链路管理方法,包括:
针对虚拟机发出的报文,与所述虚拟机相对应的源宿主机网关在本地没有查找到对应所述报文的路由链路数据时,将所述报文转发至虚拟路由网关;
所述虚拟路由网关针对接收到的所述报文,在本地查找到对应所述报文的路由链路数据后,根据所述路由链路数据将所述报文转发至目的宿主机网关,并将所述路由链路数据返回所述源宿主机网关;
所述源宿主机网关根据接收到的所述路由链路数据,将所述路由链路数据记录至所述源宿主机本地。
本申请还公开了一种路由链路管理方法,包括:
接收源宿主机网关转发的报文;
所述虚拟路由网关针对接收到的所述报文,在本地查找到对应所述报文的路由链路数据后,根据所述路由链路数据将所述报文转发至目的宿主机网关,并将所述路由链路数据返回所述源宿主机网关,以供所述源宿主机网关根据接收到的所述路由链路数据,将所述路由链路数据记录至所述源宿主机本地。
本申请还公开了一种路由链路管理方法,包括:
针对所在宿主机的虚拟机所发送的报文,在源宿主机网关本地记录的路由链路数据中,没有查找到对应所述报文的路由链路数据后,将所述报文转发至所述虚拟路由网关;
接收虚拟路由网关返回的路由链路数据;
根据接收到的所述路由链路数据,将所述路由链路数据记录至所述源宿主机本地。
本申请还公开了一种路由链路管理系统,包括:
虚拟路由网关、宿主机;所述宿主机包括虚拟机和宿主机网关;
所述宿主机网关包括:
第一报文处理模块,用于在作为源宿主机网关时,针对虚拟机发出的报文,与所述虚拟机相对应的源宿主机网关在本地没有查找到对应所述报文的路由链路数据时,将所述报文转发至虚拟路由网关;
第一自学习模块,用于在作为源宿主机网关时,根据接收到的由虚拟路由网关返回的路由链路数据,将所述路由链路数据记录至所述源宿主机本地;
所述虚拟路由网关包括:
路由返回处理模块,用于针对接收到的所述报文,在本地查找到对应所述报文的路由链路数据后,根据所述路由链路数据将所述报文转发至目的宿主机网关,并将所述路由链路数据返回所述源宿主机网关。
本申请还公开了一种虚拟路由网关,包括:
第一报文接收模块,用于接收源宿主机网关转发的报文;
路由返回处理模块,用于所述虚拟路由网关针对接收到的所述报文,在本地查找到对应所述报文的路由链路数据后,根据所述路由链路数据将所述报文转发至目的宿主机网关,并将所述路由链路数据返回所述源宿主机网关,以供所述源宿主机网关根据接收到的所述路由链路数据,将所述路由链路数据记录至所述源宿主机本地。
本申请还公开了一种宿主机网关,包括:
第一报文处理模块,用于针对所在宿主机的虚拟机所发送的报文,在源宿主机网关本地记录的路由链路数据中,没有查找到对应所述报文的路由链路数据后,将所述报文转发至所述虚拟路由网关;
路由数据接收模块,用于接收虚拟路由网关返回的路由链路数据;
第一自学习模块,用于根据接收到的所述路由链路数据,将所述路由链路数据记录至所述源宿主机本地。
本申请实施例包括以下优点:
首先,本申请实施例可以将全量路由链路数据发送给虚拟路由网关,然后虚拟路由网关可以等待接收由宿主机网关在需要时才转发的报文,该虚拟路由网关针对该报文查找本地的路由链路数据返回给该宿主机网关,该宿主机网关则根据接收到的路由链路数据自学习到本地。因此,虚拟路由网关不下发全量的路由链路数据给各个宿主机网关,从而对于专有网络的规模扩大的情况,宿主机网关也能快速获得自己需要的路由链路数据。
其次,由于本申请的宿主机网关不存储全量的路由链路数据,只存储本地需要的路由链路数据,因此,其降低了对宿主机内存的耗费,提高了宿主机网关的转发性能。
再次,上述虚拟路由网关等待接收的是由宿主机网关在需要时才转发的报文,然后查找本地的路由链路数据后,还根据所述路由链路数据将所述报文转发至目的宿主机网关。因此,该种情况下,虚拟路由网关只转发宿主机网关本地没有查找到路由链路数据的报文,其报文转发量大大减少,个宿主机中的源虚拟机和其他宿主机的源虚拟机之间的流量,不需要全部通过虚拟路由网关转发,避免虚拟路由网关流量负载过大,也降低虚拟路由网关的带宽资源。
附图说明
图1A是本申请的一种路由管理系统的架构示意图;
图1B是本申请的一种路由链路管理方法的流程示意图;
图2是本申请的系统层级一种路由链路管理方法实施例的步骤流程图;
图3是本申请的虚拟路由网关侧的一种路由链路管理方法实施例实的步骤流程图;
图4是本申请的宿主机网关侧的一种路由链路管理方法实施例的步骤流程图;
图5是本申请的一种路由链路管理系统实施例的结构框图;
图6是本申请的一种虚拟路由网关实施例的结构框图;
图7是本申请的一种宿主机网关实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,其为本申请实施例的一种路由管理系统的架构示意图。在图1中包括了控制器110、虚拟路由网关(VGM)120和宿主机130,该宿主机130包括了虚拟机(VM)131和宿主机网关(HGW)132。
其中,控制器110的主要功能为:处理用户的生产、释放、迁移虚拟机三种类型的请求。虚拟路由网关的主要功能是存储全量的路由链路数据,并根据控制器的下发的增量路由数据进行更改,另外,在迁移导致路由数据更新时发送广播。宿主机网关132的主要功能有两个:一个是按需学习路由链路数据;一个是学习虚拟路由网关在由迁移导致更新时发送的广播,得到路由链路数据。具体如下描述:
一、对于控制器110而言,其具备如下几个功能:
1.0、其中,在整个系统的初始状态下,可以认为当前所有的VM都是新产生的,那么则获取此时的整个网络中的各VM的路由链路数据写入由链路数据表,然后将该路由链路数据表发送至VGM120。在后续过程中,不断按照1.1、1.2、1.3监控整个网络中的VM的情况,以增量发送路由链路数据。
其中,控制器获取的对应每个虚拟机的路由链路数据包括:专有网络标识(VPC-ID),虚拟机IP地址(VM-IP),宿主机网关IP地址(HGW-IP)。
1.1、控制器110监控专有网络(VPC)中生产了虚拟机(VM)131后,将新生产的虚拟机131的路由链路数据写入路由链路数据表,然后向虚拟路由网关(VGM)120发送增量的路由链路数据表。
1.2、控制器110监控VPC中释放了的VM,则基于该释放的VM的路由链路数据,向VGM120发送增量的释放消息。
1.3、控制器110监控专有网络(VPC)中一个宿主机中的虚拟机(VM)迁移至其他宿主机的情况,获取迁移后的虚拟机(VM)路由链路数据,然后向虚拟路由网关(VGM)120发送增量的路由链路数据表。
二、对于虚拟路由网关(VGM)120而言,其具备如下几个功能:
2.1、对于控制器110初始发送1.0中情况和增量发送1.1中情况的路由链路数据表,VGM存储至VGM120本地。
当该VGM120接收到由某个源HGW转发其所在宿主机的虚VM的报文时,查找本地路由链路数据表中是否有该报文对应的路由链路数据表项;如果有,则基于该路由链路数据表项将该报文转发给目的HGW,并且将相应路由链路数据回复给源HGW;如果没有,则代表着访问的目的VM不存在,这时VGW将该报文直接丢弃。
2.2、对于控制器110增量发送1.2中情况的释放消息,VGM删除本地的路由链路数据表中相应VM的路由链路数据表项。
2.3、对于控制器110增量发送1.3中情况的路由链路数据表,VGM更新本地的路由链路数据表中相应VM的路由链路数据表项,并且VGM在当前的物理网络中,通过广播的形式向各HGW发送路由更新消息广播。
其中,在HGW中设置一个哈希桶管理路由链路数据表。哈希桶中的数据由3项数据组成,分别是:专有网络标识(VPC-ID),虚拟机IP地址(VM-IP),宿主机网关IP地址(HGW-IP)。其中,专有网络标识(VPC-ID),虚拟机IP地址(VM-IP)为主键,宿主机网关IP地址(HGW-IP)为哈希值。那么对于2.1和2.3得到的路由链路数据则按照上述方式写入哈希桶。对于2.2的情况,则将相应路由链路数据从哈希桶中删除。
三、对于宿主机130而言,其是虚拟机(VM)131和宿主机网关(HGW)132的物理载体。
四、对于虚拟机(VM)131而言,该VM在要访问专有网络中其他虚拟机(VM)时,作为源VM,将报文发送给所在宿主机的宿主机网关(HGW)。该VM在接收其所在宿主机的宿主机网关(HGW)上传的报文时,作为目的VM。
五、对于宿主机网关(HGW)132而言,该HGW在接收其所在宿主机的VM发送的报文时,作为源HGW;该HGW在接收VGM或其他HGW转发的报文时,作为目的HGW。其中,在整个系统的初始状态下,HGM可以不存储任何VPC的VM的路由链路数据。HGW大致具备如下功能:
3.1、作为源HGW时,接收其所在宿主机的VM发送的报文,查找源HGW本地的路由链路数据表中是否有该报文的路由链路数据表项;
如果有,则根据该路由链路数据表项将该报文转发给该目的HGW;
如果没有,则直接将该报文转发给VGW。
3.2、HGW接收VGM在2.1的情况中回复的路由链路数据,然后根据该路由链路数据进行自学习,将学习到的路由链路数据存储至本地的路由链路数据表中。
3.3、HGW监控本地的路由链路数据表中各路由链路数据表项是否超时;如果超时,则删除相应路由链路数据表项。
3.4、HGW接收VGM在2.3的情况中广播的路由更新消息广播,然后根据该广播进行自学习,将学习到的路由链路数据存储至本地的路由链路数据表中。
其中,在HGW中也设置一个哈希桶管理路由链路数据表。该哈希桶中的数据也由4项数据组成,分别是:专有网络标识(VPC-ID),虚拟机IP地址(VM-IP),宿主机网关IP地址(HGW-IP)、空闲时间。其中,专有网络标识(VPC-ID),虚拟机IP地址(VM-IP)为主键,宿主机网关IP地址(HGW-IP)、空闲时间为哈希值。当然,其中,在整个系统的初始状态下,HGW的哈希桶可以为空。对于3.2和3.4得到的路由链路数据,按照上述方式写入哈希桶,其空闲时间第一次写入时可以为写入时间,在后续该路由链路数据被查找到时,更改为查找到的时间。在3.3的情况中,将相应路由链路数据表项从哈希桶中删除。
其中,在源HGW将VM发送的报文转发给VGM或目的HGW时,将VM发送的报文封装隧道头后转发给VGM或目的HGW。在目的HGW接收到封装隧道头后的报文后,剥离隧道头,然将剥离隧道头后的报文转发给所在宿主机的目的VM。
基于上述系统,参照图1B,本申请实施例的数据处理过程如下:
步骤A10,控制器监控到各专有网络中新生产的VM后,向VGW增量发送第一路由链路数据;
如前述图1A的1.1的描述,本申请实施例的系统架构的初始状态,控制器可以获取物理网络中的路由链路数据写入由链路数据表,该初始状态下获取的路由链路数据可以认为是新增的路由链路数据。那么可以得到初始状态下整个物理网络的全量的路由链路数据表,然后将该路由链路数据表下发至虚拟路由网关。
如前述1.1,在系统后续的运行过程中,某个专有网络VPC中可能会根据用户的需求新加入虚拟机,那么控制器则可以监控到该新加入的虚拟机,从而可以获取该新生产的虚拟机的路由链路数据。
上述1.0和1.1的新增的路由链路数据则可以认为是上述第一路由链路数据。
其中,控制器获取的对应每个虚拟机的路由链路数据包括:专有网络标识(VPC-ID),虚拟机IP地址(VM-IP),宿主机网关IP地址(HGW-IP)。其路由链路数据如表一:
VPC-ID VM-IP HGW-IP
1 192.168.1.1 10.1.1.1
1 192.168.1.2 10.1.1.2
2 …… ……
…… …… ……
表一
步骤A11,VGM存储所述第一路由链路数据至VGM本地的哈希桶中。进入步骤A45。
在VGM接收到控制器下发的第一路由链路数据后,则直接将其存入本VGM本地的哈希桶中。
因为第一路由链路数据中每一条路由链路数据都是新的未出现过的,所以需要为其分配新的哈希桶进行存储。在以哈希桶存储时,VGM以所述路由链路数据中的专有网络标识和虚拟机IP地址为哈希主键,以所述路由链路数据中的宿主机网关地址为所述哈希主键的哈希值,存入VGM本地的哈希桶。以表一中的第一行路由链路数据为例,则以1和192.168.1.1作为哈希主键,进行哈希计算确定哈希桶。然后将10.1.1.1作为该哈希主键的哈希值存入相应哈希桶。其他路由链路数据以此类推。
然后VGM即可进入步骤A45。
步骤A21,控制器监控到各专有网络中已有的VM释放后,向VGW增量发送第二路由链路数据;
如前述1.2某个专有VPC中可能会有VM释放,那么释放了的VM的路由链路数据其可以认为是冗余数据,则控制器可以将该释放了的VM的路由链路数据作为第二路由链路数据发送给VGM。
比如宿主机H2中的虚拟机VM2释放,控制器可以监控到该消息,然后基于释放的VM2的路由链路数据生成第二路由链路数据。该第二路由链路数据可以包括VM2的路由链路数据,比如“VPC-ID:1,VM-IP:192.168.1.2,HGW-IP:10.1.1.2”,然后增量下发给VGM。
步骤A22,VGM将本地的哈希桶中与所述第二路由链路数据对应的路由链路数据删除。进入步骤A45。
VGM收到包括“VPC-ID:1,VM-IP:192.168.1.2,HGW-IP:10.1.1.2”的第二路由链路数据后,则根据VPC-ID:1和VM-IP:192.168.1.2作为主键查询哈希桶,查找到后可以将该路由链路数据删除。
然后VGM即可进入步骤A45。
步骤A31,控制器监控到一VM从当前宿主机迁移到另一宿主机后,向VGW增量发送第三路由链路数据。进入步骤A50。
如前述1.2,在系统后续运行过程中,可能存在一个VPC的VM从一个宿主机迁移到其他宿主机的情况,那么则需要对该种情况进行更新。
比如,控制器监控到VPC-ID为1的专有网络中,宿主机VM2从宿主机H2迁移至宿主机H3,那么该虚拟机对应的宿主机网关则变化了,假使H3的宿主机网关HGW3的IP地址为10.1.1.3,此时控制器可以获取VM2新的路由链路数据如“VPC-ID:1,VM-IP:192.168.1.2,HGW-IP:10.1.1.3”作为第三路由链路数据,增量下发给VGM。其他情况以此类推。此时进入步骤A50。
步骤A41,源HGW接收所在宿主机的源VM发送的报文。
对于一个宿主机而言,当其中的VM要访问其他宿主机中的VM时,该要访问其他VM的VM则为源VM,被访问的VM则为目的VM。该源VM所在宿主机的HGW则为源HGW,该目的VM所在宿主机的HGW为目的HGW。
本发明实施例中,一个VM既可以作为源VM,也可以作为目的VM。一个HGW既可以作为源HGW,也可以作为目的HGW。其根据其报文流转方向而定。
对于一个源HGW而言,其接收所在宿主机的源VM下发的报文。
步骤A42,源HGW查询HGW本地的哈希桶中是否有对应该报文的路由链路数据;如果查找到,则进入步骤A43;如果没有查找到,则进入步骤A44。
源HGW在初始状态下本地的哈希桶是空的。而通过后续步骤学习的路由链路数据则可以存入哈希桶,其存储时也是以所述路由链路数据中的专有网络标识和虚拟机IP地址为哈希主键,以所述路由链路数据中的宿主机网关地址为哈希值存入本地的哈希桶。
那么,在HGW查询哈希桶时,从所述报文中提取专有网络标识和虚拟机IP地址作为主键,去查询哈希桶;如果查找到相应的哈希主键,则查询该哈希主键下是否有哈希值是否有宿主机网关的IP地址;如果有宿主机网关的IP地址,则认为查找到相应路由链路数据进入步骤A43;如果没有宿主机网关的IP地址,则认为没相应路由链路数据,进入步骤A44。如果没查找到相应的哈希主键,则认为没有相应路由链路数据,进入步骤A44。
步骤A43,源HGW将所述报文封装隧道头后转发给目的HGW,并更新哈希桶中相应路由链路数据的空闲时间。
如图1B中HGW更新路由链路数据空闲时间,其将源HGW的该路由链路数据的空闲时间更新。
在实际应用中,该空闲时间可以跟HGW-IP值一起作为哈希值写入哈希桶,空闲时间在第一次写入哈希桶时写入,或者在后续每次查询到该路由链路数据时更新。空闲时间可以为当前的系统时间。
步骤A44,源HGW将所述报文封装隧道头后转发给VGW。
在本申请实施例中,可以按照隧道协议对报文封装隧道头转发给VGM或者转发给HGW。以根据源虚拟机所在的专有网络标识、源虚拟机地址、源虚拟机所对应的源宿主机网关地址、目的虚拟机地址,对所述数据报文封装隧道头。
步骤A45,VGW接收到报文后,查找VGM本地的哈希桶中是否有对应该报文的路由链路数据;如果查找到,则进入步骤A47;如果没有查找到,则进入步骤A46。
对于VGM而言,其收到HGW转发给的报文后,以报文中的VPC-ID和VM-IP为主键去查找哈希桶,如果没查找到哈希桶,则进入步骤A46;如果查找到哈希桶,则读取其中的哈希值,如果读取到HGW-IP,则进入步骤A47;如果没读取到HGW-IP,则意味着没有相应的HGW,则进入步骤A46。
步骤A46,VGW丢弃所述报文;
步骤A47,VGW转发所述报文给目的HGW,并返回相应的路由链路数据至源HGW。
VGM在查找到VPC-ID、VM-IP和HGW-IP后,则将该三者的路由链路数据返回给源HGW。
步骤A48、源HGW根据接收到的路由链路数据进行自学习,并将学习到的路由链路数据存入源HGW本地的哈希桶。
源HGW则根据VGW返回的路由链路数据进行自学习,比如以前述哈希的方式将路由链路数据存入哈希桶。
如图1B中,HGW学习VGM返回的路由链路数据,则新增路由链路数据至该HGW的哈希桶中。
步骤A49、目的HGW接收到报文后,剥离隧道头,再将剥离隧道头后的报文转发给所在宿主机的目的VM。
步骤A50,VGM根据所述第三路由链路数据,更新VGM本地的路由链路数据,并向各HGW以广播的形式发送路由更新消息广播;
VGM接收到前述第三路由链路数据后,知道其是更新的情况,则根据该第三路由链路数据更新本地已经存储的VPC-ID和VM-IP相同的路由链路数据中HGW-IP的值为新的值。
比如虚拟路由网关接收到前述控制器增量下发包括“VPC-ID:1,VM-IP:192.168.1.2,HGW-IP:10.1.1.3”的第三路由链路数据,可以提取VPC-ID:1和VM-IP:192.168.1.2去查找本地的路由链路数据,比如本地原来存储的路由链路数据为“VPC-ID:1,VM-IP:192.168.1.2,HGW-IP:10.1.1.2”,则在查找到该条路由链路数据后,更新该条路由链路数据的HGW-IP为10.1.1.3。
另外,VGM可以根据“VPC-ID:1,VM-IP:192.168.1.2,HGW-IP:10.1.1.3”向各HGW广播对应的路由更新消息广播,该路由更新消息广播中可以包括“VPC-ID:1,VM-IP:192.168.1.2,HGW-IP:10.1.1.3”。
步骤A51,各HGW接收路由更新消息广播后,根据所述路由更新消息广播进行自学习,并将学习到的路由链路数据存入源HGW本地的哈希桶。
如图1B,HGW在接收到广播时,先查找哈希桶中是否有相应的路由链路数据,如果有,则学习该广播,更新哈希桶中相应的路由链路数据。如果没有,则不做处理。
步骤A61,各HGW监控本地哈希桶中的各路由链路数据是否超时;如果超时,则进入步骤A62;如果不超时,则进入步骤A41。
在本申请实施例中,HGW监控超时路由链路数据,其可以定期从哈希桶中读取各条路由链路数据的空闲时间,以判断相应路由链路数据是否超时。
当空闲时间为当时记录的系统时间时,将当前时刻的系统时间减去该空闲时间得到差值,然后判断该差值是超过到超时阈值,如果超过则表示超时,进入步骤A62.如果未超过,则可以继续使用该条路由链路数据。
步骤A62,各HGW删除哈希桶中超时的路由链路数据。
对于超时的路由链路数据,可能意味着其VM释放掉了,那么删除了该路由链路数据不影响使用,可以减少HGW所在宿主机的内存。也可能意味着某些VM被访问的频率特别低,如果其路由链路数据一直存储而使用频率很低,则很长时间内都是浪费宿主机的内存,从整体上而言,其可能影响HGW的转发效率。因此本申请实施例对于超时的路由链路数据进行删除。
对于目的HGW而言,无论其接收到的是源HGW发送的封装了隧道头的报文,还是VGM转发的封装了隧道头的报文,目的HGW都按照相应的隧道协议的规定剥离隧道头,然后将剥离了隧道头的报文转发给目的VM。
参照图2,其示出了本申请一种路由链路管理方法实施例的步骤流程图。本申请实施例从系统的角度进行描述,其具体可以包括如下步骤:
步骤202,针对虚拟机发出的报文,与所述虚拟机相对应的源宿主机网关在本地没有查找到对应所述报文的路由链路数据时,将所述报文转发至虚拟路由网关;
参照图1A,如果某个宿主机的虚拟机在发送数据报文时,该虚拟机可以作为源虚拟机,该宿主机的宿主机网关可以作为源宿主机网关。源虚拟机访问的虚拟机作为目的虚拟机,该目的虚拟机所在的宿主机的宿主机网关作为目的宿主机网关。
那么本申请实施例的某个虚拟机要访问其他虚拟机,则该虚拟机的报文会下发至其所在宿主机的宿主机网关,该宿主机网关则作为源宿主机网关进入步骤202。
其中,路由链路数据为提供路由链路信息的数据。
在本申请实施例中,可选的,该路由链路数据至少包括:虚拟机地址、虚拟机所在宿主机的目的宿主机网关地址,专有网络标识。
可以理解上述提及的地址可以为IP地址。
由于在云集群中一个宿主机中可能承载了多个专有网络VPC的虚拟机VM,那么一个宿主机网关则负责本机的多个VM。为了区分流量是针对哪个VPC的VM的,本申请实施例则在路由链路数据至少包括上述三个维度的数据,即虚拟机地址VM-IP、虚拟机所在宿主机的目的宿主机网关地址HGW-IP,专有网络标识VPC-ID。
在本申请一优选的实施例中,在步骤202之前还包括:
步骤200,所述虚拟路由网关接收所述控制器在监控到路由对象出现变化后,增量发送的路由链路数据。
如前述图1A的1.0的描述,本申请实施例的系统架构的初始状态,控制器可以获取物理网络中的路由链路数据写入由链路数据表,即得到整个物理网络的全量的路由链路数据表,然后将该路由链路数据表下发至虚拟路由网关。其中,上述物理网络可能有一个或者多个专有网络,每个专有网络中有多个虚拟机。
那么虚拟路由网关则可以将路由链路数据写入路由链路数据表存入该虚拟路由网关本地,路由链路数据表如前述表一。
可以理解,在整个系统的运行过程中,VM可能新产生、可能迁移、可能释放等出现路由对象变化的情况,控制器可以监控上述种情况,从而增量下发路由链路数据给VGM。
VGM则根据增量的路由链路数据对本地的路由链路数据进行相应的更改处理,该更改处理比如添加、更新、删除等。
当然,如前述2.1的描述,在初始状态下,控制器监控到的VM都是新生产的,其可以获取整个物理网络的全量路由数据,然后以增量的方式下发给VGM。在后续过程中,不断新生产的、迁移的、释放的再以增量的方式下发给VGM。
当然,在本申请实施例中,还可以通过其他方式将全量的路由链路数据表发送给虚拟路由网关,本申请实施例不对其加以限制。
在本申请一优选的实施例中,对于虚拟路由网关而言,其对于存储到本地的路由链路数据,比如存储上述表一的路由链路数据表,其采用哈希桶进行存储。那么本申请实施例还可以包括:
步骤B11,所述虚拟路由网关以所述路由链路数据中的专有网络标识和虚拟机IP地址为哈希主键,以所述路由链路数据中的宿主机网关地址为所述哈希主键的哈希值,存入本地的哈希桶。
以表一中的第一行路由链路数据为例,则以1和192.168.1.1作为哈希主键,进行哈希计算确定哈希桶。然后将10.1.1.1作为该哈希主键的哈希值存入相应哈希桶。其他路由链路数据以此类推。
另外,在本申请实施例中,可以在初始状态下,将宿主机网关本地设置路由链路数据为空。可以理解为在宿主机网关所在的宿主机的内存中不存储任何的路由链路数据,其可以通过后续步骤的自学习过程学习路由链路数据至本地。
在本申请实施例中,对于源宿主机网关而言,其收到其所在宿主机的源虚拟机发送的报文后,可以在查找本地是否有对应该报文的路由链路数据,如果查找到,则执行步骤202,如果没有查找到,则针对虚拟机发出的报文,与所述虚拟机相对应的源宿主机网关在本地查找到对应所述报文的路由链路数据时,将所述报文转发至目的宿主机网关。目的宿主网关则将该报文转发给所在宿主机的目的虚拟机。
可以理解对于源宿主机而言,在初始状态下,其本地的路由链路数据为空,那么源宿主机网关对于相应源虚拟机的发送的报文,则在本地无法查找到对应该报文的路由链路数据,则将该报文转发给虚拟路由网关。
在后续的过程中,由于源宿主机通过步骤202自学习了一些路由链路数据到本地,那么对于源虚拟机发送的报文,则可能在本地查找到对应的路由链路数据,此时将所述报文转发至目的宿主机网关。当然,如果没查找到对应的路由链路数据,还将该报文转发给虚拟路由网关,进入步骤204。
比如表一,VPC-ID为1的专有网络中:有VM-IP为192.168.1.1的虚拟机VM1,其在宿主机H1上,该宿主机的宿主机网关HGW1的HGW-IP为10.1.1.1。有VM-IP为192.168.1.2的虚拟机VM2,其在宿主机H2上,该宿主机的宿主机网关HGW2的HGW-IP为10.1.1.2。VGM的IP地址为192.168.0.0。
当VM1要访问VM2时,VM1为源虚拟机,HGW1为源宿主机网关,VM2为目的虚拟机,HGW2为目的宿主机网关。此时,VM1将报文Q下发给HGW1,HGW1查找本地是否有报文Q的路由链路数据“VPC-ID:1,VM-IP:192.168.1.2,HGW-IP:10.1.1.2”,如果没有则根据预置的VGM的IP地址,转发报文Q给虚拟路由网关VGM。如果有则可以根据上述路由链路数据,然后将报文转发给HGW2。
需要说明的是,以源虚拟机要发送给目的虚拟机的数据报文可以是通常的数据数据报文格式。
另外,对于专有网络VPC-ID,由于虚拟机发送数据报文时从虚拟网卡发出,而虚拟网卡是有专有网络VPC相关信息的,如专有网络VPC的标识,那么可以根据数据报文从哪个虚拟网卡发出,判断是哪个VPC网络的数据。
在本申请另一优选实施例中,在宿主机网关中,本申请实施例其也可以设置哈希桶存储路由链路数据。
在初始状态下,宿主机网关的哈希桶中的数据为空,因为宿主机网关还没有学习到任何路由链路数据。
当宿主机网关基于后续步骤学习到路由链路数据时,其也以所述路由链路数据中的专有网络标识和虚拟机IP地址为哈希主键,以所述路由链路数据中的宿主机网关地址为所述哈希主键的哈希值,存入宿主机网关本地的哈希桶。
相应的,在宿主机网关查询时,也会查询哈希桶。优选的,步骤202包括:
子步骤2021,针对虚拟机发出的报文,与所述虚拟机相对应的源宿主机网关以所述报文的专有网络标识和虚拟机IP地址为主键,在本地的哈希桶中没有查找到对应所述报文的路由链路数据后,将所述报文转发至所述虚拟路由网关。
如前述例子中,HGW1对VM1发送的报文Q,可以根据报文Q中的专有网络标识1和目的虚拟机IP地址10.1.1.2,作为哈希主键进行哈希计算,在HGW1本地去找到相应的哈希桶,然后查找该哈希桶中的哈希值,从哈希值中提取目的宿主机网关HGW2的IP地址10.1.1.2。
在该过程中,如果以专有网络标识和虚拟机IP地址为主键没找到哈希桶,则将该报文Q转发至VGM。如果以专有网络标识和虚拟机IP地址为主键找到哈希桶,但是哈希桶中的没有目的宿主机网关IP地址的哈希值,则将该报文Q转发至VGM,反之哈希桶中有目的宿主机网关IP地址的哈希值,则该报文Q转发至目的宿主机网关。
具体而言,在源宿主机本地查找本地哈希桶可以采用如下步骤:
子步骤M11,从所述报文中提取专有网络标识和目的虚拟机地址;
子步骤M12,以专有网络标识和目的虚拟机地址为哈希主键,查找相应的哈希桶;
子步骤M13、判断所述哈希桶中是否有目的宿主机网关地址;如果所述哈希桶中没有目的宿主机网关地址,则进入子步骤M14;如果所述哈希桶中有目的宿主机网关地址,则进入子步骤M15;
子步骤M14、将所述数据报文转发至虚拟路由网关中;
子步骤M15、根据所述宿主机网关地址,将所述数据报文转发至目的宿主机网关中。
在本申请另一优选的实施例中,由于多个专用网络会使用相同的宿主机IP地址,所以为了保证各专有网络数据报文的正常转发,采用隧道技术转发数据报文隧道技术是一种通过互联网传输数据的技术,包括数据封装、传输和解包。隧道技术可以传输不同协议的数据包,隧道协议将这些不同协议的数据包封装在新的包头中。被封装的数据包在隧道的两个端点之间通过互联网进行路由,当数据包到达终点时,数据包将被解包并转发到最终目的地。在这个传输过程中,被封装的数据包在公共互联网络上传递时所经过的逻辑路径为隧道。隧道头为封装数据包的头部,用于区分不同数据包。在本申请实施例中,上述数据包为前述报文。
因此,优选的,步骤202还包括:
子步骤2022,针对虚拟机发出的报文,与所述虚拟机相对应的源宿主机网关在本地没有查找到对应所述报文的路由链路数据时,将所述报文封装隧道头后转发至所述虚拟路由网关。
具体而言,在本申请可以根据源虚拟机所在的专有网络标识、源虚拟机地址、源虚拟机所对应的源宿主机网关地址、目的虚拟机地址,对所述数据报文封装隧道头;
由于隧道头用于区分数据包,所以可以使用源虚拟机和目的虚拟机的信息封装隧道头。包括:源虚拟机所在的专有网络标识、源虚拟机地址、源虚拟机所对应的源宿主机网关地址、目的虚拟机地址。
对数据包封装隧道头,该隧道头包括内外两层,内层封装了源虚拟机和目的虚拟机的IP地址,端口,协议等。外层有两种封装情况:(1)封装了源宿主机的IP地址,目的宿主机IP地址、端口、协议、专有网络vpc标识等。该种情况可以由源宿主机网关未命中数据报文对应的路由链路数据时使用。(2)封装了源宿主机的IP地址,虚拟路由网关IP地址、端口、协议、专有网络vpc标识等。该种情况可以由源宿主机网关命中数据报文对应的路由链路数据时使用,以及虚拟路由网关转发数据报文的时候使用。
那么,比如前述的报文Q,在HGW1没查找到路由链路数据时,HGW1可以对其添加隧道头,添加时,隧道头外层添加的包括:HGW1的IP地址10.1.1.1,VGM的IP地址192.168.0.0,端口,协议,专有网络标识VPC-ID“1”等;隧道头内层包括:VM1的IP地址192.168.1.1,虚拟机VM2的IP地址192.168.2.1,端口,协议等。
然后,将封装了隧道头的数据报文转发至虚拟路由网关中。
对于源宿主机网关对数据报文未命中路由链路数据时的数据报文,按照上述方式进行封装后,封装了隧道头的数据报文具有唯一的标识,可以在互联网中转发,该封装了隧道头的数据报文被转发到虚拟路由网关。
可以理解,还包括:
子步骤2023,针对虚拟机发出的报文,与所述虚拟机相对应的源宿主机网关在本地查找到对应所述报文的路由链路数据时,将所述报文封装隧道头后转发至目的宿主机网关。
如前述的报文Q,在HGW1查找到路由链路数据时,HGW1可以为数据报文添加隧道头,添加时,隧道头外层添加的包括:HGW1的IP地址10.1.1.1,HGW2的IP地址10.1.1.2,端口,协议,专有网络标识VPC1等;隧道头内层包括:VM1的IP地址192.168.1.1,虚拟机VM2的IP地址192.168.1.2,端口,协议等。
在本申请实施例中,可以按照隧道协议封装隧道头,具体的隧道协议本申请实施例不对其加以限制。
步骤204,所述虚拟路由网关针对接收到的所述报文,在本地查找到对应所述报文的路由链路数据后,根据所述路由链路数据将所述报文转发至目的宿主机网关,并将所述路由链路数据返回所述源宿主机网关;
可以理解,在虚拟路由网关如步骤200的过程,从控制器获取了全量的路由链路数据的情况下,虚拟路由网关将上述路由链路数据以路由链路数据表的形式存储,所以当虚拟路由网关接收到了某个源宿主机网关转发的数据报文,可以根据全量的路由链路数据表进行查找。
当虚拟路由网关查找到该报文对应的路由链路数据表,则可以根据该路由链路数据表确定目的宿主机网关,从而将该报文转发给目的宿主机网关。另外,可以将该路由链路数据返回给该源宿主机网关。
需要说明的是,当虚拟路由网关没有查找到该报文对应的路由链路数据表项,则可以认为该报文没有意义,可以丢弃该报文。
在本申请一优选的实施例中,对于前述步骤B11中,虚拟路由网关以哈希桶的方式存储路由链路数据的方案,则步骤204可以包括:
子步骤2041,所述虚拟路由网关针对接收到的所述报文,以所述报文的专有网络标识和虚拟机IP地址为主键,在本地的哈希桶中查找到对应所述报文的路由链路数据后,则将所述报文转发至目的宿主机网关,并将所述路由链路数据返回所述源宿主机网关。
比如,对应前述子步骤2021,接收到HGW1转发的报文Q,VGM则可以根据报文Q中的专有网络标识1和目的虚拟机IP地址10.1.1.2,作为哈希主键进行哈希计算,在VGM本地去找到相应的哈希桶,然后查找该哈希桶中的哈希值,从哈希值中提取目的宿主机网关HGW2的IP地址10.1.1.2。然后根据10.1.1.2将该报文转发给HGW2。然后HGW2将报文Q转发给VM2。
另外,可以VM2的路由链路数据返回给HGW1,比如将查找到的路由链路数据“VPC-ID:1,VM-IP:192.168.1.2,HGW-IP:10.1.1.2”返回给HGW1。
在本申请另一优选的实施例中,对应前述步骤2022,本申请实施例的虚拟路由网关在接收到源宿主机网关转发的封装了隧道头的报文后,则从隧道头的内层中获取目的虚拟机IP地址VM-IP和专有网络标识VPC-ID,然后去查找相应的宿主机网关IP地址。当查找到,则根据宿主机网关IP地址,将该封装了隧道头的报文转发给相应宿主机网关。当没有查找到,则抛弃该报文。
当然,在VGM以哈希桶存储路由链路数据时,前述从隧道头的内层中获取目的虚拟机IP地址VM-IP和专有网络标识VPC-ID后,根据目的虚拟机地址和专有网络标识作为哈希主键,去查询相应的哈希桶,如果找到相应的哈希桶,则从哈希桶中提取目的宿主机网关IP地址。当查找到,则根据宿主机网关IP地址,将该封装了隧道头的报文转发给相应宿主机网关。
比如上述例子中,192.168.0.0的VGM收到封装了隧道头的数据包后,根据隧道协议获取到内、外层的数据,然后根据虚拟机VM2的IP地址VM-IP“192.168.2.1”,专有网络标识VPC-ID“1”在虚拟路由网关中查找哈希桶,然后从哈希桶中提取HGW2的IP地址20.1.1.1,然后即可将该报文转发至HGW2,HGW2即可将流量转发至VM2。
步骤206,所述源宿主机网关根据接收到的所述路由链路数据,将所述路由链路数据记录至所述源宿主机本地。
上述源宿主机在接收到虚拟路由网关返回的路由链路数据后,将所述路由链路数据记录至所述源宿主机本地。
可以理解,通过上述过程,本申请的源宿主机网关是从虚拟路由网关获取当前未查找到的路由链路进行自学习,从而通过上述自学习过程逐步将需求的路由链路数据保存到宿主机网关,上述自学习过程是按需触发的,因此对于源宿主机,其只存储自己需求的路由链路数据,并且在自己存储了路由链路数据后,可以在本地实现将报文转发给目的宿主机网关的过程,不用全部转给虚拟路由网关转发。
在本申请另一优选的实施例中,对应前述步骤2023,本申请实施例的目的宿主机网关在接收到源宿主机网关转发的封装了隧道头的报文后,则根据隧道协议剥离报文的隧道头,然后将剥离后的报文转发给目的虚拟机。
如前述例子,HGW2接收到封装了隧道头的报文Q,按照隧道协议剥离隧道头,然后将解除隧道头的报文Q转发给VM2。
在本申请另一优选的实施例中,本申请实施例是在HGW自学习路由链路数据时将该路由链路数据存入哈希桶,优选的,步骤206包括:
子步骤2061,所述源宿主机网关以所述路由链路数据中的专有网络标识和虚拟机IP地址为哈希主键,以所述路由链路数据中的宿主机网关地址为哈希值存入本地的哈希桶。
比如前述例子中,VGM返回VM2的路由链路数据“VPC-ID:1,VM-IP:192.168.1.2,HGW-IP:10.1.1.2”,则HGW1以1和192.168.1.2为哈希主键,进行哈希计算确定哈希桶,然后以10.1.1.2为哈希值存入该哈希桶中。从而实现HGW的对需求的但是本地不存在的路由链路数据的自学习过程。
在本申请另一优选的实施例中,步骤200,包括:
子步骤2001,所述虚拟路由网关接收所述控制器在监控到专有网络中出现新的虚拟机后,增量发送的新的虚拟机对应的路由链路数据。
比如控制器监控到VPC-ID为1的专有网络中,出现了一个新的VM3,,其VM-IP为192.168.1.3,其所在宿主机的HGW的HGW-IP为10.1.1.3。则控制器将VM3的路由链路数据“VPC-ID:1,VM-IP:192.168.1.3,HGW-IP:10.1.1.3”增量下发给VGM,VGM则可以按照前述方式存储至本地。比如存储至前述的哈希桶中。
在本申请另一优选的实施例中,步骤200,包括:
子步骤2002,所述虚拟路由网关接收所述控制器在监控到专有网络中一虚拟机由一个宿主机迁移到其他宿主机后,增量发送的所述虚拟机迁移后所对应的路由链路数据;
比如,控制器监控到VPC-ID为1的专有网络中,宿主机VM2从宿主机H2迁移至宿主机H3,那么该虚拟机对应的宿主机网关则变化了,假使H3的宿主机网关HGW3的IP地址为10.1.1.3,此时控制器可以获取VM2新的路由链路数据如“VPC-ID:1,VM-IP:192.168.1.2,HGW-IP:10.1.1.3”,增量下发给VGM。其他情况以此类推。
当然,实际应用中,为了降低下发次数,可以每隔一定周期增量下发一次,本申请实施例不对其加以限制。
子步骤2003,所述虚拟路由网关根据所述虚拟机迁移后所对应的路由链路数据,更新本地的路由链路数据,并向各宿主机网关广播对应的路由更新消息广播。
虚拟路由网关接收到前述控制器增量下发的“VPC-ID:1,VM-IP:192.168.1.2,HGW-IP:10.1.1.3”后,可以提取VPC-ID:1和VM-IP:192.168.1.2去查找本地的路由链路数据,比如本地原来存储的路由链路数据为“VPC-ID:1,VM-IP:192.168.1.2,HGW-IP:10.1.1.2”,则在查找到该条路由链路数据后,更新该条路由链路数据的HGW-IP为10.1.1.3。
另外,VGM可以根据“VPC-ID:1,VM-IP:192.168.1.2,HGW-IP:10.1.1.3”向各HGW广播对应的路由更新消息广播,该路由更新消息广播中可以包括“VPC-ID:1,VM-IP:192.168.1.2,HGW-IP:10.1.1.3”。
当然,VGM也可以每隔一定周期,将该周期内的迁移后的VM的路由链路数据,生成路由更新消息广播以广播给各HGW。
相应的,还包括:
步骤210,各宿主机网关在接收到所述路由更新消息广播后,根据所述路由更新消息广播将相应的路由链路数据更新至所述源宿主机网关本地。
在子步骤2003的基础上,各HGW接收到路由更新消息广播后,可以根据路由更新消息广播在本地查找是否有相应的路由链路数据的记录,如果有,则更新该路由链路数据。
在本申请另一优选的实施例中,步骤210包括:
子步骤2101,各宿主机网关在接收到所述路由更新消息广播后,判断所述宿主机网关本地是否有所述路由更新消息广播对应的路由链路数据;如果有,则进入子步骤2102;如果没有则不做处理。
子步骤2102,根据路由更新消息广播对相应的路由链路数据进行更新。
比如HGW1收到包括“VPC-ID:1,VM-IP:192.168.1.2,HGW-IP:10.1.1.3”的前述路由更新消息广播,则从该广播中提取VPC-ID:1和VM-IP:192.168.1.2,查找本地的相应记录,有一条VPC-ID:1,VM-IP:192.168.1.2,HGW-IP:10.1.1.2”的记录,则将其中的HGW-IP修改为10.1.1.3。而HGW3收到包括“VPC-ID:1,VM-IP:192.168.1.2,HGW-IP:10.1.1.3”的前述路由更新消息广播后,在本地没有查找到相应记录,则不进行处理。
在本申请另一优选的实施例中,子步骤2102,包括:
子步骤21021,各宿主机网关以所述路由更新消息广播中的专有网络标识和虚拟机IP地址为哈希主键,以所述路由更新消息广播中的宿主机网关地址为哈希值存入本地的哈希桶。
本申请实施例在基于路由更新消息广播更新哈希值时,还可以采用前述哈希桶的写入方式,以VPC-ID和VM-IP为主键查找哈希桶,然后将HGW-IP作为哈希值更新该哈希桶的值。
在本申请另一优选的实施例中,步骤200,包括:
子步骤2004,所述虚拟路由网关接收所述控制器在监控到专有网络已有的虚拟机释放后,增量发送的对应所述虚拟机的释放消息;
比如前述宿主机H2中的虚拟机VM2释放,控制器可以监控到该消息,然后基于释放的VM2的路由链路数据生成释放消息。该释放消息可以包括VM2的路由链路数据,比如“VPC-ID:1,VM-IP:192.168.1.2,HGW-IP:10.1.1.2”,然后增量下发给VGM。
当然,VGM也可以每隔一定周期,将该周期内的释放后的VM的路由链路数据,生成路由释放消息下发给各HGW。
子步骤2005,所述虚拟路由网关删除本地的对应所述释放消息的路由链路数据。
虚拟路由网关接收到该释放消息后,比如前述“VPC-ID:1,VM-IP:192.168.1.2,HGW-IP:10.1.1.2”,则查找本地相应的路由链路数据,如果查到,则删除。如果未查到,则不做处理。
在本申请另一优选的实施例中,还包括:
步骤214,所述宿主机网关判断本地的各条路由链路数据的空闲时间是否超过第一阈值;如果某条路由链路数据的空闲时间超过第一阈值,则进入步骤216;如果某条路由链路数据的空闲时间未超过第一阈值,则继续判断本地的各条路由链路数据的空闲时间是否超过第一阈值。
步骤216,删除所述路由链路数据。
比如前述宿主机网关H1中存储了路由链路数据“VPC-ID:1,VM-IP:192.168.1.2,HGW-IP:10.1.1.2”,同时会针对该路由链路数据进行空闲时间计时。比如第一阈值设置为10分钟,第一次根据VGM返回的路由链路数据存储至本地时,记录写入当前系统时间t1。在后续H1的HGW1每次查询到该条路由链路数据时,更新时间t1为当前系统时间。
可以在写入t1或者更新t1后,每隔指定时间周期,该指定时间周期小于第一阈值,比如1分钟,去读取各条路由链路数据的记录的时间t1,然后获取当前的系统时间t2,判断t2-t1是否大于10分钟,如果大于,则执行步骤216,如果小于则继续监控。
当然,可以理解,步骤214-216优选的是针对释放的VM的路由链路数据。因为,释放的VM已经不能够访问。另外,针对没释放的VM,也可以执行步骤214-216,因为可能其HGW所在的宿主机的VM访问某个VM的频率特别低,在HGW对其删除了,也不会对VGM转发效率有多大影响,同时可以降低HGW所在宿主机的内存占用量,提高HGW本身的转发性能。
在本申请另一优选的实施例中,还包括:
步骤218,各宿主机网关在以所述路由更新消息广播中的宿主机网关地址为哈希值存入本地的哈希桶时,将空闲时间作为哈希值写入所述哈希桶。
对于前述的空闲时间t1,本申请实施例的HGW可以将该t1作为哈希值的一部分写入相应的哈希桶中。当然,可以进行标记,以与HGW-IP区分开。
比如对于路由链路数据“VPC-ID:1,VM-IP:192.168.1.2,HGW-IP:10.1.1.2”,其中“1和192.168.1.2”作为主键进行哈希计算从而查找哈希值,“HGW-IP:10.1.1.2,t1”作为哈希值,其格式如“IP地址,空闲时间”。那么在后续读取时,可以直接根据预设的格式读取空闲时间。
在本申请实施例中,HGW在接收到路由更新消息广播,对哈希桶的HGW-IP进行更新时,同时更新t1,从而保证空闲时间是准确的。
在本申请另一优选的实施例中,还包括:
步骤220,在所述源宿主机网关将所述报文转发至所述目的宿主机网关后,更新哈希桶中对应路由链路数据的空闲时间。
在本申请实施例中,HGW在接收到其所在宿主机的VM的报文时,需要查找本地哈希桶中的路由链路数据,如果查找到,则对哈希桶的t1进行更新,从而保证空闲时间是准确的。
本申请实施例可以将全量路由链路数据发送给虚拟路由网关,然后虚拟路由网关可以等待接收由宿主机网关在需要时才转发的报文,该虚拟路由网关针对该报文查找本地的路由链路数据返回给该宿主机网关,该宿主机网关则根据接收到的路由链路数据自学习到本地。因此,虚拟路由网关不下发全量的路由链路数据给各个宿主机网关,从而对于专有网络的规模扩大的情况,宿主机网关也能快速获得自己需要的路由链路数据。
其次,由于本申请的宿主机网关不存储全量的路由链路数据,只存储本地需要的路由链路数据,因此,其降低了对宿主机内存的耗费,提高了宿主机网关的转发性能。
再次,上述虚拟路由网关等待接收的是由宿主机网关在需要时才转发的报文,然后查找本地的路由链路数据后,还根据所述路由链路数据将所述报文转发至目的宿主机网关。因此,该种情况下,虚拟路由网关只转发宿主机网关本地没有查找到路由链路数据的报文,其报文转发量大大减少,个宿主机中的源虚拟机和其他宿主机的源虚拟机之间的流量,不需要全部通过虚拟路由网关转发,避免虚拟路由网关流量负载过大,也降低虚拟路由网关的带宽资源。
参照图3,其示出了本申请一种路由链路管理方法实施例的步骤流程图。本申请实施例从虚拟路由网关侧的角度进行描述,其具体可以包括如下步骤:
步骤302,接收源宿主机网关转发的报文;
步骤304,所述虚拟路由网关针对接收到的所述报文,在本地查找到对应所述报文的路由链路数据后,根据所述路由链路数据将所述报文转发至目的宿主机网关,并将所述路由链路数据返回所述源宿主机网关,以供所述源宿主机网关根据接收到的所述路由链路数据,将所述路由链路数据记录至所述源宿主机本地。
如图2实施例的描述,在本申请一种优选的实施例中,还包括:
步骤306,接收控制器在监控到路由对象出现变化后,增量发送的路由链路数据。
如图2实施例的描述,在本申请一种优选的实施例中,步骤306,还包括:
子步骤3061,接收所述控制器在监控到专有网络中出现新的虚拟机后,增量发送的新的虚拟机对应的路由链路数据。
如图2实施例的描述,在本申请一种优选的实施例中,步骤306,还包括:
子步骤3062,接收控制器在监控到专有网络中一虚拟机由一个宿主机迁移到其他宿主机后,增量发送的所述虚拟机迁移后所对应的路由链路数据;
子步骤3063,根据所述虚拟机迁移后所对应的路由链路数据,更新本地的路由链路数据,并向各宿主机网关广播对应的路由更新消息广播,以供所述源宿主机网关根据所述路由更新消息广播将相应的路由链路数据更新至所述源宿主机网关本地。
如图2实施例的描述,在本申请一种优选的实施例中,步骤306包括:
子步骤3064,接收控制器在监控到专有网络已有的虚拟机释放后,增量发送的对应所述虚拟机的释放消息;
子步骤3065,删除本地存储的对应所述释放消息的路由链路数据。
如图2实施例的描述,在本申请一种优选的实施例中,还包括:
步骤308,所述虚拟路由网关以所述路由链路数据中的专有网络标识和虚拟机IP地址为哈希主键,以所述路由链路数据中的宿主机网关地址为所述哈希主键的哈希值,存入本地的哈希桶。
相应的,在本申请一种优选的实施例中,步骤304包括:
子步骤3041,针对接收到的所述报文,以所述报文的专有网络标识和虚拟机IP地址为主键,在本地的哈希桶中查找到对应所述报文的路由链路数据后,则将所述报文转发至目的宿主机网关,并将所述路由链路数据返回所述源宿主机网关。
本实施例的虚拟路由网关侧的执行过程与前述图2的整个系统的实施例中描述的类似步骤原理类似,在此不再描述。另外,图2的实施例中未在本实施例中提及的虚拟路由网关侧的执行的过程也适用于本实施例。
参照图4,其示出了本申请一种路由链路管理方法实施例的步骤流程图。本申请实施例从宿主机网关侧的角度进行描述,其具体可以包括如下步骤:
步骤402,针对所在宿主机的虚拟机所发送的报文,在源宿主机网关本地记录的路由链路数据中,没有查找到对应所述报文的路由链路数据后,将所述报文转发至所述虚拟路由网关;
步骤404,接收虚拟路由网关返回的路由链路数据;
步骤406,根据接收到的所述路由链路数据,将所述路由链路数据记录至所述源宿主机本地。
如图2实施例的描述,在本申请一优选的实施例中,还包括:
步骤408,根据接收到的由虚拟路由网关广播广播的路由更新消息广播,将相应的路由链路数据记录至所述源宿主机网关本地;所述路由更新消息广播包括:专有网络中一虚拟机由一个宿主机迁移到其他宿主机后,所述虚拟机迁移后所对应的路由链路数据。
如图2实施例的描述,在本申请一优选的实施例中,步骤408包括:
子步骤4081,在接收到所述路由更新消息广播后,判断所述宿主机网关本地是否有所述路由更新消息广播对应的路由链路数据;如果有,则进入,子步骤4082。如果没有,则不做处理。
子步骤4082,根据路由更新消息广播对相应的路由链路数据进行更新。
如图2实施例的描述,在本申请一优选的实施例中,还包括:
步骤410,判断本地的各条路由链路数据的空闲时间是否超过第一阈值;如果某条路由链路数据的空闲时间超过第一阈值,则进入步骤412;如果没有超过第一阈值,则继续判断本地的各条路由链路数据的空闲时间是否超过第一阈值。
步骤412,删除所述路由链路数据。
如图2实施例的描述,在本申请一优选的实施例中,还包括:
步骤414,在以所述路由更新消息广播中的宿主机网关地址为哈希值存入本地的哈希桶时,将空闲时间作为哈希值写入所述哈希桶。
如图2实施例的描述,在本申请一优选的实施例中,还包括:
步骤416,在将所述报文转发至所述目的宿主机网关后,更新哈希桶中对应路由链路数据的空闲时间。
如图2实施例的描述,在本申请一优选的实施例中,步骤406包括:
子步骤4061,以所述路由链路数据中的专有网络标识和虚拟机IP地址为哈希主键,以所述路由链路数据中的宿主机网关地址为哈希值存入本地的哈希桶。
如图2实施例的描述,在本申请一优选的实施例中,子步骤4082包括:
子步骤40821,各宿主机网关以所述路由更新消息广播中的专有网络标识和虚拟机IP地址为哈希主键,以所述路由更新消息广播中的宿主机网关地址为哈希值存入本地的哈希桶。
相应的,步骤402还包括:
子步骤4021,针对虚拟机发出的报文,与所述虚拟机相对应的源宿主机网关以所述报文的专有网络标识和虚拟机IP地址为主键,在本地的哈希桶中没有查找到对应所述报文的路由链路数据后,将所述报文转发至所述虚拟路由网关。
如图2实施例的描述,在本申请一优选的实施例中,步骤402包括:
子步骤4022,针对虚拟机发出的报文,与所述虚拟机相对应的源宿主机网关在本地没有查找到对应所述报文的路由链路数据时,将所述报文封装隧道头后转发至所述虚拟路由网关。
本实施例的宿主机网关侧的执行过程与前述图2的整个系统的实施例中描述的类似步骤原理类似,在此不再描述。另外,图2的实施例中未在本实施例中提及的宿主机网关侧的执行的过程也适用于本实施例。
参照图5,示出了本申请的一种路由链路管理系统实施例的结构框图,具体可以包括如下模块:
虚拟路由网关510、宿主机520;所述宿主机520包括虚拟机521和宿主机网关522;
所述宿主机网关522包括:
第一报文处理模块5221,用于在作为源宿主机网关时,针对虚拟机发出的报文,与所述虚拟机相对应的源宿主机网关在本地没有查找到对应所述报文的路由链路数据时,将所述报文转发至虚拟路由网关;
第一自学习模块5222,用于在作为源宿主机网关时,根据接收到的由虚拟路由网关返回的路由链路数据,将所述路由链路数据记录至所述源宿主机本地;
所述虚拟路由网关510包括:
路由返回处理模块511,用于针对接收到的所述报文,在本地查找到对应所述报文的路由链路数据后,根据所述路由链路数据将所述报文转发至目的宿主机网关,并将所述路由链路数据返回所述源宿主机网关。
在本申请另一优选的实施例中,所述虚拟路由网关510还包括:
增量接收模块,用于接收所述控制器在监控到路由对象出现变化后,增量发送的路由链路数据。
在本申请另一优选的实施例中,所述增量接收模块包括:
新增发送子模块,用于所述虚拟路由网关接收所述控制器在监控到专有网络中出现新的虚拟机后,增量发送的新的虚拟机对应的路由链路数据。
在本申请另一优选的实施例中,所述增量接收模块包括:
迁移增量接收子模块,用于所述虚拟路由网关接收所述控制器在监控到专有网络中一虚拟机由一个宿主机迁移到其他宿主机后,增量发送的所述虚拟机迁移后所对应的路由链路数据;
广播子模块,用于根据所述虚拟机迁移后所对应的路由链路数据,更新本地的路由链路数据,并向各宿主机网关广播对应的路由更新消息广播。
在本申请另一优选的实施例中,所述宿主机网关522还包括:
广播处理模块,用于在接收到所述路由更新消息广播后,根据所述路由更新消息广播将相应的路由链路数据更新至所述源宿主机网关本地。
在本申请另一优选的实施例中,所述广播处理模块包括:
第一广播接收子模块,用于各宿主机网关在接收到所述路由更新消息广播后,判断所述宿主机网关本地是否有所述路由更新消息广播对应的路由链路数据;
第一更新子模块,用于如果有,则根据路由更新消息广播对相应的路由链路数据进行更新。
在本申请另一优选的实施例中,所述增量接收模块包括:
释放增量接收子模块,用于接收所述控制器在监控到专有网络已有的虚拟机释放后,增量发送的对应所述虚拟机的释放消息;
虚拟删除子模块,用于所述虚拟路由网关删除本地的对应所述释放消息的路由链路数据。
在本申请另一优选的实施例中,所述宿主机网关522还包括:
空闲判断模块,用于判断本地的各条路由链路数据的空闲时间是否超过第一阈值;
宿主数据删除模块,用于如果某条路由链路数据的空闲时间超过第一阈值,则删除所述路由链路数据。
在本申请另一优选的实施例中,所述虚拟路由网关510还包括:
第一哈希存储模块,用于以所述路由链路数据中的专有网络标识和虚拟机IP地址为哈希主键,以所述路由链路数据中的宿主机网关地址为所述哈希主键的哈希值,存入本地的哈希桶。
在本申请另一优选的实施例中,所述路由返回处理模块511包括:
第一哈希查找子模块,用于针对接收到的所述报文,以所述报文的专有网络标识和虚拟机IP地址为主键,在本地的哈希桶中查找到对应所述报文的路由链路数据后,则将所述报文转发至目的宿主机网关,并将所述路由链路数据返回所述源宿主机网关。
在本申请另一优选的实施例中,所述第一自学习模块5222包括:
第一哈希存储子模块,用于所述源宿主机网关以所述路由链路数据中的专有网络标识和虚拟机IP地址为哈希主键,以所述路由链路数据中的宿主机网关地址为哈希值存入本地的哈希桶。
在本申请另一优选的实施例中,所述广播处理模块包括:
第二哈希存储子模块,用于以所述路由更新消息广播中的专有网络标识和虚拟机IP地址为哈希主键,以所述路由更新消息广播中的宿主机网关地址为哈希值存入本地的哈希桶。
在本申请另一优选的实施例中,所述第一报文处理模块包括:
第二哈希查找子模块,用于源宿主机网关针对相应虚拟机发送的报文,以所述报文的专有网络标识和虚拟机IP地址为主键,在本地的哈希桶中没有查找到对应所述报文的路由链路数据后,将所述报文转发至所述虚拟路由网关。
在本申请另一优选的实施例中,所述宿主机网关还包括:
空闲时间写入模块,用于在以所述路由更新消息广播中的宿主机网关地址为哈希值存入本地的哈希桶时,将空闲时间作为哈希值写入所述哈希桶。
在本申请另一优选的实施例中,所述宿主机网关还包括:
空闲时间更新模块,用于在所述源宿主机网关将所述报文转发至所述目的宿主机网关后,更新哈希桶中对应路由链路数据的空闲时间。
在本申请另一优选的实施例中,所述第一报文处理模块包括:
隧道封装模块,用于针对虚拟机发出的报文,与所述虚拟机相对应的源宿主机网关在本地没有查找到对应所述报文的路由链路数据时,将所述报文封装隧道头后转发至所述虚拟路由网关。
首先,本申请实施例可以将全量路由链路数据发送给虚拟路由网关,然后虚拟路由网关可以等待接收由宿主机网关在需要时才转发的报文,该虚拟路由网关针对该报文查找本地的路由链路数据返回给该宿主机网关,该宿主机网关则根据接收到的路由链路数据自学习到本地。因此,虚拟路由网关不下发全量的路由链路数据给各个宿主机网关,从而对于专有网络的规模扩大的情况,宿主机网关也能快速获得自己需要的路由链路数据。
其次,由于本申请的宿主机网关不存储全量的路由链路数据,只存储本地需要的路由链路数据,因此,其降低了对宿主机内存的耗费,提高了宿主机网关的转发性能。
再次,上述虚拟路由网关等待接收的是由宿主机网关在需要时才转发的报文,然后查找本地的路由链路数据后,还根据所述路由链路数据将所述报文转发至目的宿主机网关。因此,该种情况下,虚拟路由网关只转发宿主机网关本地没有查找到路由链路数据的报文,其报文转发量大大减少,个宿主机中的源虚拟机和其他宿主机的源虚拟机之间的流量,不需要全部通过虚拟路由网关转发,避免虚拟路由网关流量负载过大,也降低虚拟路由网关的带宽资源。
参照图6,示出了本申请的一种虚拟路由网关实施例的结构框图,具体可以包括如下模块:
第一报文接收模块610,用于接收源宿主机网关转发的报文;
路由返回处理模块620,用于所述虚拟路由网关针对接收到的所述报文,在本地查找到对应所述报文的路由链路数据后,根据所述路由链路数据将所述报文转发至目的宿主机网关,并将所述路由链路数据返回所述源宿主机网关,以供所述源宿主机网关根据接收到的所述路由链路数据,将所述路由链路数据记录至所述源宿主机本地。
在本申请另一优选的实施例中,所述虚拟路由网关还包括:
全量路由接收模块,用于接收控制器下发的全量路由链路数据。
在本申请另一优选的实施例中,还包括:
增量接收模块,用于接收控制器在监控到路由对象出现变化后,增量发送的路由链路数据。
在本申请另一优选的实施例中,所述增量接收模块包括:
新增发送子模块,用于所述虚拟路由网关接收所述控制器在监控到专有网络中出现新的虚拟机后,增量发送的新的虚拟机对应的路由链路数据。
在本申请另一优选的实施例中,所述增量接收模块包括:
迁移增量接收子模块,用于接收控制器在监控到专有网络中一虚拟机由一个宿主机迁移到其他宿主机后,增量发送的所述虚拟机迁移后所对应的路由链路数据;
广播子模块,用于根据所述虚拟机迁移后所对应的路由链路数据,更新本地的路由链路数据,并向各宿主机网关广播对应的路由更新消息广播,以供所述源宿主机网关根据所述路由更新消息广播将相应的路由链路数据更新至所述源宿主机网关本地。
在本申请另一优选的实施例中,所述增量接收模块包括:
释放增量接收子模块,用于接收控制器在监控到专有网络已有的虚拟机释放后,增量发送的对应所述虚拟机的释放消息;
虚拟删除子模块,用于删除本地存储的对应所述释放消息的路由链路数据。
在本申请另一优选的实施例中,还包括:
第一哈希存储模块,用于以所述路由链路数据中的专有网络标识和虚拟机IP地址为哈希主键,以所述路由链路数据中的宿主机网关地址为所述哈希主键的哈希值,存入本地的哈希桶。
在本申请另一优选的实施例中,所述路由返回处理模块包括:
第一哈希查找子模块,用于针对接收到的所述报文,以所述报文的专有网络标识和虚拟机IP地址为主键,在本地的哈希桶中查找到对应所述报文的路由链路数据后,则将所述报文转发至目的宿主机网关,并将所述路由链路数据返回所述源宿主机网关。
参照图7,示出了本申请的一种宿主机网关实施例的结构框图,具体可以包括如下模块:
第一报文处理模块710,用于针对所在宿主机的虚拟机所发送的报文,在源宿主机网关本地记录的路由链路数据中,没有查找到对应所述报文的路由链路数据后,将所述报文转发至所述虚拟路由网关;
路由数据接收模块720,用于接收虚拟路由网关返回的路由链路数据;
第一自学习模块730,用于根据接收到的所述路由链路数据,将所述路由链路数据记录至所述源宿主机本地。
在本申请另一优选的实施例中,还包括:
广播处理模块,用于根据接收到的由虚拟路由网关广播广播的路由更新消息广播,将相应的路由链路数据记录至所述源宿主机网关本地;所述路由更新消息广播包括:专有网络中一虚拟机由一个宿主机迁移到其他宿主机后,所述虚拟机迁移后所对应的路由链路数据。
在本申请另一优选的实施例中,所述广播处理模块包括:
第一广播接收子模块,用于各宿主机网关在接收到所述路由更新消息广播后,判断所述宿主机网关本地是否有所述路由更新消息广播对应的路由链路数据;
第一更新子模块,用于如果有,则根据路由更新消息广播对相应的路由链路数据进行更新。
在本申请另一优选的实施例中,还包括:
空闲判断模块,用于判断本地的各条路由链路数据的空闲时间是否超过第一阈值;
宿主数据删除模块,用于如果某条路由链路数据的空闲时间超过第一阈值,则删除所述路由链路数据。
在本申请另一优选的实施例中,第一自学习模块包括:
第一哈希存储子模块,用于所述源宿主机网关以所述路由链路数据中的专有网络标识和虚拟机IP地址为哈希主键,以所述路由链路数据中的宿主机网关地址为哈希值存入本地的哈希桶。
在本申请另一优选的实施例中,所述广播处理模块包括:
第二哈希存储子模块,用于以所述路由更新消息广播中的专有网络标识和虚拟机IP地址为哈希主键,以所述路由更新消息广播中的宿主机网关地址为哈希值存入本地的哈希桶。
在本申请另一优选的实施例中,所述第一报文处理模块包括:
第二哈希查找子模块,用于源宿主机网关针对相应虚拟机发送的报文,以所述报文的专有网络标识和虚拟机IP地址为主键,在本地的哈希桶中没有查找到对应所述报文的路由链路数据后,将所述报文转发至所述虚拟路由网关。
在本申请另一优选的实施例中,所述宿主机网关还包括:
空闲时间写入模块,用于在以所述路由更新消息广播中的宿主机网关地址为哈希值存入本地的哈希桶时,将空闲时间作为哈希值写入所述哈希桶。
在本申请另一优选的实施例中,所述宿主机网关还包括:
空闲时间更新模块,用于在所述源宿主机网关将所述报文转发至所述目的宿主机网关后,更新哈希桶中对应路由链路数据的空闲时间。
在本申请另一优选的实施例中,所述第一报文处理模块包括:
隧道封装模块,用于针对虚拟机发出的报文,与所述虚拟机相对应的源宿主机网关在本地没有查找到对应所述报文的路由链路数据时,将所述报文封装隧道头后转发至所述虚拟路由网关。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种路由链路管理方法和系统、一种虚拟路由网关和一种宿主机网关,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (46)

1.一种路由链路管理方法,其特征在于,包括:
针对虚拟机发出的报文,与所述虚拟机相对应的源宿主机网关在本地没有查找到对应所述报文的路由链路数据时,将所述报文转发至虚拟路由网关;
所述虚拟路由网关针对接收到的所述报文,在本地查找到对应所述报文的路由链路数据后,根据所述路由链路数据将所述报文转发至目的宿主机网关,并将所述路由链路数据返回所述源宿主机网关;
所述源宿主机网关根据接收到的所述路由链路数据,将所述路由链路数据记录至所述源宿主机本地。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述虚拟路由网关接收控制器在监控到路由对象出现变化后,增量发送的路由链路数据。
3.根据权利要求2所述的方法,其特征在于,所述虚拟路由网关接收所述控制器在监控到路由对象出现变化后,增量发送的路由链路数据的步骤,包括:
所述虚拟路由网关接收所述控制器在监控到专有网络中出现新的虚拟机后,增量发送的新的虚拟机对应的路由链路数据。
4.根据权利要求2所述的方法,其特征在于,所述虚拟路由网关接收所述控制器在监控到路由对象出现变化后,增量发送的路由链路数据的步骤,包括:
所述虚拟路由网关接收所述控制器在监控到专有网络中一虚拟机由一个宿主机迁移到其他宿主机后, 增量发送的所述虚拟机迁移后所对应的路由链路数据;
所述虚拟路由网关根据所述虚拟机迁移后所对应的路由链路数据,更新本地的路由链路数据,并向各宿主机网关广播对应的路由更新消息广播。
5.根据权利要求4所述的方法,其特征在于,还包括:
各宿主机网关在接收到所述路由更新消息广播后,根据所述路由更新消息广播将相应的路由链路数据更新至所述源宿主机网关本地。
6.根据权利要求5所述的方法,其特征在于,所述各宿主机网关在接收到所述路由更新消息广播后,根据所述路由更新消息广播将相应的路由链路数据更新至所述源宿主机网关本地的步骤,包括:
各宿主机网关在接收到所述路由更新消息广播后,判断所述宿主机网关本地是否有所述路由更新消息广播对应的路由链路数据;
如果有,则根据路由更新消息广播对相应的路由链路数据进行更新。
7.根据权利要求2所述的方法,其特征在于,所述虚拟路由网关接收所述控制器在监控到路由对象出现变化后,增量发送的路由链路数据的步骤,包括:
所述虚拟路由网关接收所述控制器在监控到专有网络已有的虚拟机释放后,增量发送的对应所述虚拟机的释放消息;
所述虚拟路由网关删除本地的对应所述释放消息的路由链路数据。
8.根据权利要求7所述的方法,其特征在于,还包括:
所述宿主机网关判断本地的各条路由链路数据的空闲时间是否超过第一阈值;如果某条路由链路数据的空闲时间超过第一阈值,则删除所述路由链路数据。
9.根据权利要求1所述的方法,其特征在于,还包括:
所述虚拟路由网关以所述路由链路数据中的专有网络标识和虚拟机IP地址为哈希主键,以所述路由链路数据中的宿主机网关地址为所述哈希主键的哈希值,存入本地的哈希桶。
10.根据权利要求9所述的方法,其特征在于,所述所述虚拟路由网关针对接收到的所述报文,在本地查找到对应所述报文的路由链路数据后,根据所述路由链路数据将所述报文转发至目的宿主机网关,并将所述路由链路数据返回所述源宿主机网关的步骤,包括:
所述虚拟路由网关针对接收到的所述报文,以所述报文的专有网络标识和虚拟机IP地址为主键,在本地的哈希桶中查找到对应所述报文的路由链路数据后,则将所述报文转发至目的宿主机网关,并将所述路由链路数据返回所述源宿主机网关。
11.根据权利要求1所述的方法,其特征在于,所述源宿主机网关根据接收到的所述路由链路数据,将所述路由链路数据记录至所述源宿主机本地的步骤,包括:
所述源宿主机网关以所述路由链路数据中的专有网络标识和虚拟机IP地址为哈希主键,以所述路由链路数据中的宿主机网关地址为哈希值存入本地的哈希桶。
12.根据权利要求5所述的方法,其特征在于,所述各宿主机网关在接收到所述路由更新消息广播后,根据所述路由更新消息广播将相应的路由链路数据更新至所述源宿主机网关本地的步骤,包括:
各宿主机网关以所述路由更新消息广播中的专有网络标识和虚拟机IP地址为哈希主键,以所述路由更新消息广播中的宿主机网关地址为哈希值存入本地的哈希桶。
13.根据权利要求11或12所述的方法,其特征在于,所述针对虚拟机发出的报文,与所述虚拟机相对应的源宿主机网关在本地没有查找到对应所述报文的路由链路数据时,将所述报文转发至虚拟路由网关的步骤,包括:
针对虚拟机发出的报文,与所述虚拟机相对应的源宿主机网关以所述报文的专有网络标识和虚拟机IP地址为主键,在本地的哈希桶中没有查找到对应所述报文的路由链路数据后,将所述报文转发至所述虚拟路由网关。
14.根据权利要求11或12所述的方法,其特征在于,还包括:
各宿主机网关在以路由更新消息广播中的宿主机网关地址为哈希值存入本地的哈希桶时,将空闲时间作为哈希值写入所述哈希桶。
15.根据权利要求14所述的方法,其特征在于,还包括:
在所述源宿主机网关将所述报文转发至所述目的宿主机网关后,更新哈希桶中对应路由链路数据的空闲时间。
16.根据权利要求1所述的方法,其特征在于,所述针对虚拟机发出的报文,与所述虚拟机相对应的源宿主机网关在本地没有查找到对应所述报文的路由链路数据时,将所述报文转发至虚拟路由网关的步骤,包括:
针对虚拟机发出的报文,与所述虚拟机相对应的源宿主机网关在本地没有查找到对应所述报文的路由链路数据时,将所述报文封装隧道头后转发至所述虚拟路由网关。
17.一种路由链路管理方法,其特征在于,包括:
接收源宿主机网关转发的报文;其中,所述转发的报文的路由链路数据在所述源宿主机网关本地记录的路由链路数据中没有记载;
虚拟路由网关针对接收到的所述报文,在本地查找到对应所述报文的路由链路数据后,根据所述路由链路数据将所述报文转发至目的宿主机网关,并将所述路由链路数据返回所述源宿主机网关,以供所述源宿主机网关根据接收到的所述路由链路数据,将所述路由链路数据记录至所述源宿主机本地。
18.根据权利要求17所述的方法,其特征在于,还包括:
接收控制器在监控到路由对象出现变化后,增量发送的路由链路数据。
19.根据权利要求18所述的方法,其特征在于,所述接收控制器在监控到路由对象出现变化后,增量发送路由链路数据的步骤,包括:
接收控制器在监控到专有网络中一虚拟机由一个宿主机迁移到其他宿主机后, 增量发送的所述虚拟机迁移后所对应的路由链路数据;
根据所述虚拟机迁移后所对应的路由链路数据,更新本地的路由链路数据,并向各宿主机网关广播对应的路由更新消息广播,以供所述源宿主机网关根据所述路由更新消息广播将相应的路由链路数据更新至所述源宿主机网关本地。
20.根据权利要求18所述的方法,其特征在于,所述接收控制器在监控到路由对象出现变化后,增量发送路由链路数据的步骤,包括:
接收控制器在监控到专有网络已有的虚拟机释放后,增量发送的对应所述虚拟机的释放消息;
删除本地存储的对应所述释放消息的路由链路数据。
21.一种路由链路管理方法,其特征在于,包括:
针对所在宿主机的虚拟机所发送的报文,在源宿主机网关本地记录的路由链路数据中,没有查找到对应所述报文的路由链路数据后,将所述报文转发至虚拟路由网关;
接收虚拟路由网关返回的路由链路数据;
根据接收到的所述路由链路数据,将所述路由链路数据记录至所述源宿主机本地。
22.根据权利要求21所述的方法,其特征在于,还包括:
根据接收到的由虚拟路由网关广播广播的路由更新消息广播,将相应的路由链路数据记录至所述源宿主机网关本地;所述路由更新消息广播包括:专有网络中一虚拟机由一个宿主机迁移到其他宿主机后,所述虚拟机迁移后所对应的路由链路数据。
23.根据权利要求22所述的方法,其特征在于,还包括:
判断本地的各条路由链路数据的空闲时间是否超过第一阈值;
如果某条路由链路数据的空闲时间超过第一阈值,则删除所述路由链路数据。
24.一种路由链路管理系统,其特征在于,包括:
虚拟路由网关、宿主机;所述宿主机包括虚拟机和宿主机网关;
所述宿主机网关包括:
第一报文处理模块,用于在作为源宿主机网关时,针对虚拟机发出的报文,与所述虚拟机相对应的源宿主机网关在本地没有查找到对应所述报文的路由链路数据时,将所述报文转发至虚拟路由网关;
第一自学习模块,用于在作为源宿主机网关时,根据接收到的由虚拟路由网关返回的路由链路数据,将所述路由链路数据记录至所述源宿主机本地;
所述虚拟路由网关包括:
路由返回处理模块,用于针对接收到的所述报文,在本地查找到对应所述报文的路由链路数据后,根据所述路由链路数据将所述报文转发至目的宿主机网关,并将所述路由链路数据返回所述源宿主机网关。
25.根据权利要求24所述的系统,其特征在于,所述虚拟路由网关还包括:
增量接收模块,用于接收控制器在监控到路由对象出现变化后,增量发送的路由链路数据。
26.根据权利要求25所述的系统,其特征在于,所述增量接收模块包括:
新增发送子模块,用于所述虚拟路由网关接收所述控制器在监控到专有网络中出现新的虚拟机后,增量发送的新的虚拟机对应的路由链路数据。
27.根据权利要求25所述的系统,其特征在于,所述增量接收模块包括:
迁移增量接收子模块,用于所述虚拟路由网关接收所述控制器在监控到专有网络中一虚拟机由一个宿主机迁移到其他宿主机后,增量发送的所述虚拟机迁移后所对应的路由链路数据;
广播子模块,用于根据所述虚拟机迁移后所对应的路由链路数据,更新本地的路由链路数据,并向各宿主机网关广播对应的路由更新消息广播。
28.根据权利要求27所述的系统,其特征在于,所述宿主机网关还包括:
广播处理模块,用于在接收到所述路由更新消息广播后,根据所述路由更新消息广播将相应的路由链路数据更新至所述源宿主机网关本地。
29.根据权利要求28所述的系统,其特征在于,所述广播处理模块包括:
第一广播接收子模块,用于各宿主机网关在接收到所述路由更新消息广播后,判断所述宿主机网关本地是否有所述路由更新消息广播对应的路由链路数据;
第一更新子模块,用于如果有,则根据路由更新消息广播对相应的路由链路数据进行更新。
30.根据权利要求25所述的系统,其特征在于,所述增量接收模块包括:
释放增量接收子模块,用于接收所述控制器在监控到专有网络已有的虚拟机释放后,增量发送的对应所述虚拟机的释放消息;
虚拟删除子模块,用于所述虚拟路由网关删除本地的对应所述释放消息的路由链路数据。
31.根据权利要求30所述的系统,其特征在于,所述宿主机网关还包括:
空闲判断模块,用于判断本地的各条路由链路数据的空闲时间是否超过第一阈值;
宿主数据删除模块,用于如果某条路由链路数据的空闲时间超过第一阈值,则删除所述路由链路数据。
32.根据权利要求24所述的系统,其特征在于,所述虚拟路由网关还包括:
第一哈希存储模块,用于以所述路由链路数据中的专有网络标识和虚拟机IP地址为哈希主键,以所述路由链路数据中的宿主机网关地址为所述哈希主键的哈希值,存入本地的哈希桶。
33.根据权利要求32所述的系统,其特征在于,所述路由返回处理模块包括:
第一哈希查找子模块,用于针对接收到的所述报文,以所述报文的专有网络标识和虚拟机IP地址为主键,在本地的哈希桶中查找到对应所述报文的路由链路数据后,则将所述报文转发至目的宿主机网关,并将所述路由链路数据返回所述源宿主机网关。
34.根据权利要求24所述的系统,其特征在于,所述第一自学习模块包括:
第一哈希存储子模块,用于所述源宿主机网关以所述路由链路数据中的专有网络标识和虚拟机IP地址为哈希主键,以所述路由链路数据中的宿主机网关地址为哈希值存入本地的哈希桶。
35.根据权利要求28所述的系统,其特征在于,所述广播处理模块包括:
第二哈希存储子模块,用于以所述路由更新消息广播中的专有网络标识和虚拟机IP地址为哈希主键,以所述路由更新消息广播中的宿主机网关地址为哈希值存入本地的哈希桶。
36.根据权利要求34或35所述的系统,其特征在于,所述第一报文处理模块包括:
第二哈希查找子模块,用于源宿主机网关针对相应虚拟机发送的报文,以所述报文的专有网络标识和虚拟机IP地址为主键,在本地的哈希桶中没有查找到对应所述报文的路由链路数据后,将所述报文转发至所述虚拟路由网关。
37.根据权利要求34或35所述的系统,其特征在于,所述宿主机网关还包括:
空闲时间写入模块,用于在以路由更新消息广播中的宿主机网关地址为哈希值存入本地的哈希桶时,将空闲时间作为哈希值写入所述哈希桶。
38.根据权利要求37所述的系统,其特征在于,所述宿主机网关还包括:
空闲时间更新模块,用于在所述源宿主机网关将所述报文转发至所述目的宿主机网关后,更新哈希桶中对应路由链路数据的空闲时间。
39.根据权利要求24所述的系统,其特征在于,所述第一报文处理模块包括:
隧道封装模块,用于针对虚拟机发出的报文,与所述虚拟机相对应的源宿主机网关在本地没有查找到对应所述报文的路由链路数据时,将所述报文封装隧道头后转发至所述虚拟路由网关。
40.一种虚拟路由网关,其特征在于,包括:
第一报文接收模块,用于接收源宿主机网关转发的报文;其中,所述转发的报文的路由链路数据在所述源宿主机网关本地记录的路由链路数据中没有记载;
路由返回处理模块,用于所述虚拟路由网关针对接收到的所述报文,在本地查找到对应所述报文的路由链路数据后,根据所述路由链路数据将所述报文转发至目的宿主机网关,并将所述路由链路数据返回所述源宿主机网关,以供所述源宿主机网关根据接收到的所述路由链路数据,将所述路由链路数据记录至所述源宿主机本地。
41.根据权利要求40所述的虚拟路由网关,其特征在于,还包括:
增量接收模块,用于接收控制器在监控到路由对象出现变化后,增量发送的路由链路数据。
42.根据权利要求41所述的虚拟路由网关,其特征在于,所述增量接收模块包括:
迁移增量接收子模块,用于接收控制器在监控到专有网络中一虚拟机由一个宿主机迁移到其他宿主机后, 增量发送的所述虚拟机迁移后所对应的路由链路数据;
广播子模块,用于根据所述虚拟机迁移后所对应的路由链路数据,更新本地的路由链路数据,并向各宿主机网关广播对应的路由更新消息广播,以供所述源宿主机网关根据所述路由更新消息广播将相应的路由链路数据更新至所述源宿主机网关本地。
43.根据权利要求41所述的虚拟路由网关,其特征在于,所述增量接收模块包括:
释放增量接收子模块,用于接收控制器在监控到专有网络已有的虚拟机释放后,增量发送的对应所述虚拟机的释放消息;
虚拟删除子模块,用于删除本地存储的对应所述释放消息的路由链路数据。
44.一种宿主机网关,其特征在于,包括:
第一报文处理模块,用于针对所在宿主机的虚拟机所发送的报文,在源宿主机网关本地记录的路由链路数据中,没有查找到对应所述报文的路由链路数据后,将所述报文转发至虚拟路由网关;
路由数据接收模块,用于接收虚拟路由网关返回的路由链路数据;
第一自学习模块,用于根据接收到的所述路由链路数据,将所述路由链路数据记录至所述源宿主机本地。
45.根据权利要求44所述的宿主机网关,其特征在于,还包括:
广播处理模块,用于根据接收到的由虚拟路由网关广播广播的路由更新消息广播,将相应的路由链路数据记录至所述源宿主机网关本地;所述路由更新消息广播包括:专有网络中一虚拟机由一个宿主机迁移到其他宿主机后,所述虚拟机迁移后所对应的路由链路数据。
46.根据权利要求44所述的宿主机网关,其特征在于,还包括:
空闲判断模块,用于判断本地的各条路由链路数据的空闲时间是否超过第一阈值;
宿主数据删除模块,用于如果某条路由链路数据的空闲时间超过第一阈值,则删除所述路由链路数据。
CN201710035921.5A 2017-01-18 2017-01-18 路由链路管理方法和系统、虚拟路由网关和宿主机网关 Active CN108322393B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710035921.5A CN108322393B (zh) 2017-01-18 2017-01-18 路由链路管理方法和系统、虚拟路由网关和宿主机网关

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710035921.5A CN108322393B (zh) 2017-01-18 2017-01-18 路由链路管理方法和系统、虚拟路由网关和宿主机网关

Publications (2)

Publication Number Publication Date
CN108322393A CN108322393A (zh) 2018-07-24
CN108322393B true CN108322393B (zh) 2021-03-16

Family

ID=62890967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710035921.5A Active CN108322393B (zh) 2017-01-18 2017-01-18 路由链路管理方法和系统、虚拟路由网关和宿主机网关

Country Status (1)

Country Link
CN (1) CN108322393B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284172A (zh) * 2018-09-20 2019-01-29 贵州华芯通半导体技术有限公司 虚拟化环境下的通路资源管理方法、系统和虚拟机管理器
CN109379254B (zh) * 2018-11-07 2021-02-09 视联动力信息技术股份有限公司 一种基于视频会议的网络连接的检测方法和系统
CN111404820B (zh) * 2020-03-09 2022-04-29 深信服科技股份有限公司 一种路由查询方法、装置、设备及可读存储介质
CN115632706B (zh) * 2022-12-01 2023-03-14 苏州浪潮智能科技有限公司 一种fc链路管理方法、装置、设备及可读存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104022953A (zh) * 2013-02-28 2014-09-03 杭州华三通信技术有限公司 基于开放流Openflow的报文转发方法和装置
CN104081733A (zh) * 2012-01-31 2014-10-01 国际商业机器公司 用于虚拟机的迁移的互连数据中心
CN104601472A (zh) * 2015-02-04 2015-05-06 盛科网络(苏州)有限公司 在芯片中实现vxlan网关分布式路由的方法及报文处理系统
CN104660505A (zh) * 2013-11-18 2015-05-27 华为技术有限公司 控制路由信息生成的方法、路由信息生成的方法及其装置
CN104780109A (zh) * 2015-04-27 2015-07-15 杭州华三通信技术有限公司 虚拟机迁移方法及装置
CN104796338A (zh) * 2015-04-24 2015-07-22 杭州华三通信技术有限公司 虚拟机迁移方法及装置
CN104935516A (zh) * 2015-06-17 2015-09-23 武汉邮电科学研究院 基于软件定义网络的通信系统及方法
CN105208048A (zh) * 2014-05-30 2015-12-30 株式会社日立制作所 全局迁移管理器、网关、虚拟机迁移系统及其方法
CN105635190A (zh) * 2014-10-27 2016-06-01 杭州华三通信技术有限公司 数据中心网络中的服务执行方法及装置
CN105704045A (zh) * 2014-11-26 2016-06-22 华为技术有限公司 数据中心网关间虚拟机位置信息同步的方法、网关及系统
CN105812260A (zh) * 2014-12-31 2016-07-27 华为技术有限公司 一种控制mac地址转发表发送的方法、装置及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8611355B1 (en) * 2013-09-03 2013-12-17 tw telecom holdings inc. Buffer-less virtual routing

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104081733A (zh) * 2012-01-31 2014-10-01 国际商业机器公司 用于虚拟机的迁移的互连数据中心
CN104022953A (zh) * 2013-02-28 2014-09-03 杭州华三通信技术有限公司 基于开放流Openflow的报文转发方法和装置
CN104660505A (zh) * 2013-11-18 2015-05-27 华为技术有限公司 控制路由信息生成的方法、路由信息生成的方法及其装置
CN105208048A (zh) * 2014-05-30 2015-12-30 株式会社日立制作所 全局迁移管理器、网关、虚拟机迁移系统及其方法
CN105635190A (zh) * 2014-10-27 2016-06-01 杭州华三通信技术有限公司 数据中心网络中的服务执行方法及装置
CN105704045A (zh) * 2014-11-26 2016-06-22 华为技术有限公司 数据中心网关间虚拟机位置信息同步的方法、网关及系统
CN105812260A (zh) * 2014-12-31 2016-07-27 华为技术有限公司 一种控制mac地址转发表发送的方法、装置及系统
CN104601472A (zh) * 2015-02-04 2015-05-06 盛科网络(苏州)有限公司 在芯片中实现vxlan网关分布式路由的方法及报文处理系统
CN104796338A (zh) * 2015-04-24 2015-07-22 杭州华三通信技术有限公司 虚拟机迁移方法及装置
CN104780109A (zh) * 2015-04-27 2015-07-15 杭州华三通信技术有限公司 虚拟机迁移方法及装置
CN104935516A (zh) * 2015-06-17 2015-09-23 武汉邮电科学研究院 基于软件定义网络的通信系统及方法

Also Published As

Publication number Publication date
CN108322393A (zh) 2018-07-24

Similar Documents

Publication Publication Date Title
CN108322393B (zh) 路由链路管理方法和系统、虚拟路由网关和宿主机网关
TWI728036B (zh) 資訊處理方法、裝置和系統
US11086653B2 (en) Forwarding policy configuration
CN107547349B (zh) 一种虚拟机迁移的方法及装置
US9705847B2 (en) Management server and management method thereof for managing cloud appliances in virtual local area networks
US8311032B2 (en) Dynamically provisioning virtual machines
US20160164963A1 (en) Method, system, and device for managing server hardware resources in a cloud scheduling environment
CN107925674A (zh) 在内容为中心的网络(ccn)中推送数据的方法和装置
US9641598B1 (en) Contextually unique identifier generation service
CN103905311A (zh) 流表匹配方法和装置以及交换机
US9110820B1 (en) Hybrid data storage system in an HPC exascale environment
WO2018233630A1 (zh) 故障发现
CN104020961A (zh) 分布式数据存储方法、装置及系统
CN107844274B (zh) 基于超融合存储系统的硬件资源管理方法、装置及终端
WO2016054818A1 (zh) 数据处理方法和装置
CN107135242B (zh) Mongodb集群访问方法、装置及系统
WO2022218227A1 (zh) 基于区块链的存证方法、装置及电子设备
CN108259298B (zh) 一种报文转发方法及装置
US20140314100A1 (en) Mac address distribution
US9641611B2 (en) Logical interface encoding
CN114676135A (zh) 数据存储方法、可读介质和电子设备
CN104702508A (zh) 表项动态更新方法及系统
CN113301173A (zh) 域名更新系统及方法、消息转发方法、服务器
CN112804276A (zh) 虚拟化宽带远程接入服务器及其控制方法、通信系统
US10452295B1 (en) Data routing in information processing system utilizing persistent memory

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