三层交换方法、装置、系统和宿主机的制作方法

文档序号:7701198阅读:152来源:国知局
专利名称:三层交换方法、装置、系统和宿主机的制作方法
技术领域
本发明涉及虚拟机技术领域,特别涉及一种三层交换方法、装置、系统 和宿主机。
背景技术
虚拟机技术是将软件安装在虚拟机中运行,可以实现软件快速部署、细 粒度的计算资源分配和负载均衡调度、以及提供高可用的软件容错机制。目
前,虚拟机技术已经逐渐被企业应用,使用虚拟机技术可以有效降低IT管理 复杂度、节约管理成本、提升计算资源的利用率等。随着计算机应用的逐渐 深入,软件的规模越来越庞大,功能也日益复杂化,软件的运行环境不再局 限于单机环境,而是逐渐演变成运行多个不同物理位置的软件模块相互协同 共同完成一项计算任务,即网络化软件。由于虚拟机技术只能直接提供单机 软件的运行环境,为了让复杂的网络化软件也能够实现的降低管理复杂度以 及提升资源利用率等目的,必须采用虚拟机网络。虚拟机网络是由一个由多 台虚拟机互相连接形成的有特定网络连接关系的运行环境,虚拟机网络能够 为复杂的网络化软件提供运行环境的支持,即将网络化软件的不同组件,按 照运行要求分别安装和运行在虚拟机网络的相应节点上。由于虚拟机的最重 要的特点是封装和隔离,基于这两个特点可以实现P争低管理复杂度和提升资 源利用率的功能。因此面向网络化应用的虚拟机网络也必须提供封装和隔离 的特性,即不同虚拟机网络的实例之间是完全独立和互不影响的。虚拟机网 络中可包含多个节点,在保证多个虚拟机网络之间的隔离性的前提下, 一台 宿主机上可运行一个或者多个虚拟机网络中的节点。虚拟机网络中可包括二 层交换节点、三层交换节点和终端节点。终端节点虚拟机;二层交换节点又称为虚拟交换机,其可为虚拟机网络中的虚拟机和虚拟机之间提供链路层交 换功能, 一个虚拟机网络中如果存在多个虚拟交换机,表示这个虚拟机网络
中存在多个不同的虚拟链3各,不同虚拟链路的虚拟才几在链路层是相互隔离的; 三层交换节点又称为虚拟路由器,其可在二层交换节点功能的基础上为虚拟 机网络中不同虚拟链路的虚拟机之间提供三层交换功能。
但是,发明人在实现本发明的过程中,发现现有技术中存在如下问题 图1为现有技术中虚拟机网络的结构示意图,如图1所示,虚拟机网络 包括虚拟交换机M、 N,虚拟路由器R,虚拟机A、 B和宿主机X、 Y。虚拟机 网络中的虚拟路由器通常是以虚拟机来实现的,与终端节点所采用的虚拟机 不同的是作为虚拟路由器的虚拟机包括多个虚拟网卡,每个虚拟网卡用于 接入不同的虚拟链路;并且该虚拟机需要开启操作系统的所有功能(例如, 进程调度、驱动、软件系统等),尤其是需要开启操作系统的数据包转发机 制。采用上述虚拟路由器实现三层交换的过程中,在接收到网络报文后,需 要调用操作系统,根据网络报文中的目的地址在多个虚拟网卡中选择出 一个 虚拟网卡,并通过选择出的虚拟网卡将网络报文发送出去。因此,采用上述 虚拟路由器导致虚拟机网络中三层交换的效率低。
虚拟机网络中的不同虚拟机可能会运行在不同的宿主机上,因此所有要 经过虚拟路由器的网络报文必须经过该虚拟路由器所在的宿主机,这会导致 三角路由问题。如图1所示,虚拟机A和B运行在宿主机X上,虚拟路由器 R运行在宿主机Y上,由A发往B的网络报文需要通过R实现三层交换,具 体为A发往B的网络报文,需要先由X发送给Y,通过R进行三层交换处理 后,通过Y将处理后的网络报文发送给X,最后由X将网络报文发送给B。上 述三角路由问题也会导致虚拟机网络中三层交换的效率低。

发明内容
本发明的目的是针对现有技术中的问题,提供一种三层交换方法、装置、系统和宿主机,从而提高虚拟机网络中三层交换的效率。
为实现上述目的,本发明提供了一种三层交换方法,包括 接收源虚拟机发送的网络报文;
根据预先获取的三层交换信息对所述网络报文进行三层交换处理,生成 经过三层交换处理的网络报文、目的虚拟机所在的虚拟链路以及目的虚拟机 的三层目的地址;
根据所述目的虚拟机的三层目的地址将所述经过三层交换处理的网络报 文通过目的虚拟机所在的虚拟链路发送给所述目的虚拟机。 为实现上述目的,本发明提供了一种三层交换装置,包括 存储模块,用于存储预先获取的三层交换信息; 接收模块,用于接收源虚拟机发送的网络报文;
三层交换模块,用于根据所述三层交换信息对所述网络报文进行三层交 换处理,生成经过三层交换处理的网络报文、目的虛拟机所在的虚拟链路以 及目的虛拟才几的三层目的地址;
发送模块,用于根据所述目的虚拟机的三层目的地址将所述经过三层交
为实现上述目的,本发明提供了一种宿主机,包括上述三层交换装置。
为实现上述目的,本发明提供了一种三层交换系统,包括源虚拟才几、目 的虛拟才几和上述宿主才几。
本发明的技术方案中,宿主机根据预先获取的三层交换信息完成对网络 报文的三层交换处理,并根据目的虚拟机的三层目的地址将经过三层交换处 理的网络报文发送给目的虚拟机,避免了现有技术中采用虚拟路由器对报文 进行三层交换处理以及三角路由问题所导致的三层交换效率低的问题,有效 提高了虚拟机网络中三层交换的效率。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1为现有技术中虚拟机网络的结构示意图2为本发明虚拟机网络的一种部署示意图3为本发明实施例一提供的一种三层交换方法的流程图4为本发明实施例二提供的一种三层交换方法的流程图5为本发明实施例虚拟^L启动的流程图6为本发明实施例虚拟机停止的流程图7为本发明实施例三提供的一种三层交换装置的结构示意图8为本发明实施例四提供的一种三层交换装置的结构示意图9为本发明实施例五提供的一种宿主机的结构示意图10为本发明实施例六提供的一种三层交换系统的结构示意图。
具体实施例方式
虚拟机网络是用于承载复杂网络化应用的运行环境,特点是可以为应用 提供灵活分配、资源可控和相互隔离的运行环境。虚拟机网络需要预先部署。 在虚拟机网络的应用场景中,虛拟机网络的产生和销毁是动态发生的,而位 于底层的宿主机通常不发生变化,虚拟机网络的部署是将动态产生的虚拟机 网络安装并配置在底层的宿主机上。具体地,虚拟机网络的部署可以包括虚 拟机的部署、虚拟交换机的部署和虚拟路由器的部署。图2为本发明虚拟机 网络的一种部署示意图,如图2所示,虚拟机A、 C、 E、 H部署到宿主机l上, 虚拟机B、 D、 F、 G部署到宿主机2上,虚拟机I、 J、 K部署到宿主机3上; 虚拟机A、 B连接到虚拟交换机S1,虚拟机C、 D、 E连接到虚拟交换机S2, 虚拟交换机E、 F、 G连接到虚拟交换机S3,虚拟交换机H、 J连接到虚拟交 换机S4,虚拟交换机J、 K链接到虚拟交换机S5;虚拟路由器R1连接虚拟交 换机S1、 S2,虚拟路由器R2连接虚拟交换机S3、 S4,虚拟路由器R3连接虚 拟交换机S4、 S5,虚拟路由器R2还与虚拟路由器R3连接。上述虚拟机网络的部署可以由部署模块完成。部署模块可以设置在网络 中的任一网络节点上,该网络节点可以为任意一个宿主机或者其它网络节点。 虚拟机网络的部署完成后,部署模块会将虚拟机网络中所有虚拟路由器的三 层交换信息传输给信息模块,由信息模块存储所有虚拟路由器的三层交换信 息。三层交换信息是对虚拟路由器功能的完整描述,可包括虚拟路由器信息 和报文处理规则。虚拟路由器信息包括所有虚拟路由器的信息, 一个虚拟路 由器的信息可包括该虚拟路由器所包括的多个虛拟网卡的配置信息,例如每 个虚拟网卡的接口编号、子网掩码、三层目的地址、二层目的地址等。每个
虚拟路由器对应于一个报文处理规则,报文处理规则可包括目的地址路由 表、策略路由规则、防火墙规则和NAT地址转换规则。信息模块存储有虚拟 机网络中每个虚拟路由器的信息以及每个虛拟路由器的报文处理规则。信息 模块可以设置在网络中的任一 网络节点上,该网络节点可以为任意一个宿主 ^li或者其它网络节点。
本发明在宿主机中增设三层交换装置,由三层交换装置从信息模块中预 先获取三层交换信息。预先荻取的三层交换信息为该宿主机上运行的虚拟机 所在的虚拟链路上连接的虛拟路由器的三层交换信息以及与该虛拟路由器直 接或者间接连接的虚拟路由器的三层交换信息,以图2中的宿主机2为例, 宿主机2的三层交换装置预先获取的三层交换信息为虚拟路由器R2的三层交 换信息以及与R2连接的R3的三层交换信息,在图2中如果R3还连接有其它 的虚拟路由器,则宿主机2的三层交换装置预先获取的三层交换信息中还包 括与R3连接的虚拟路由器的三层交换信息,依此类推。三层交换装置在获取 了三层交换信息后,根据获取的三层交换信息加入该三层交换信息对应的虚 拟路由器所在的虚拟链路,从而可以对网络报文进行三层交换处理。
图3为本发明实施例一提供的一种三层交换方法的流程图,如图3所示, 该方法包括
步骤IOI、接收源虚拟机发送的网络报文;本实施例中各步骤均可以由宿主机来执行,本步骤中宿主机接收的网络 报文是由源虚拟机通过该源虚拟机所在的虚拟链路发送的。
步骤102、根据预先获取的三层交换信息对该网络报文进行三层交换处 理,生成经过三层交换处理的网络报文、目的虚拟机所在的虛拟链路以及目 的虚拟^L的三层目的地址;
步骤103、根据目的虚拟机的三层目的地址将所述经过三层交换处理的 网络报文通过目的虚拟机所在的虚拟链路发送给目的虚拟机。
本实施例的技术方案中,宿主机根据预先获取的三层交换信息完成对网 络报文的三层交换处理,并根据目的虚拟机的三层目的地址将经过三层交换 处理的网络报文发送给目的虚拟机,避免了现有技术中釆用虛拟路由器对报 文进行三层交换处理以及三角路由问题所导致的三层交换效率低的问题,有 效提高了虚拟机网络中三层交换的效率。
图4为本发明实施例二提供的一种三层交换方法的流程图,如图4所示, 该方法包括
步骤201、宿主机的三层交换装置从信息模块获取三层交换信息; 宿主机的三层交换装置可以在虚拟机启动或者迁移时从信息模块获取三 层交换信息。
具体地,图5为本发明实施例虚拟机启动的流程图,如图5所示,包括
步骤2011、虛拟机启动后,宿主机的三层交换装置接收到虚拟机监控器 (V画)发送的虚拟机启动的通知消息,该通知消息中携带有虚拟机配置文件;
步骤2G12、宿主机的三层交换装置解析虚拟机配置文件,获耳又该虚拟机 所在的虚拟链路的信息;
例如图2中的A所在的虚拟链路为Sl, K所在的虚拟链路为S5, E所在 的虛拟链^各为S2和S3。
步骤2013、三层交换装置判断宿主机上是否运行该虚拟机所在的虚拟链 路上的其它虚拟机,如果否则跳过对该虚拟机所在的虚拟4连路的处理,如果是则执行步骤2014;
本步骤中,如果三层交换装置判断出宿主机上运行了该虚拟机所在的虚 拟链路上的其它虛拟机,则表示该三层交换装置在其它虚拟机启动或者迁移 到该宿主机上时已经获取了该虚拟机所在的虚拟链路上连接的虚拟路由器的 三层交换信息,因此可跳过对该虚拟机所在的虚拟链路的处理。
例如图2中的虚拟机F,如果宿主机2已经运行了 F所在的虚拟链路L3 上的G,则可跳过对F所在虚拟链路L3的处理。
步骤2014、三层交换装置从信息模块中查询出与该虚拟机所在的虚拟链
路连接的虚拟路由器的集合;
例如,图2中的虚拟链路Sl,与Sl相连的虚拟路由器为Rl,则与Sl相 连的虚拟路由器的集合为(R1);图2中的虚拟链路S3,与S3相连的虚拟路 由器R2,则与S3相连的虚拟路由器的集合为{R2};图2中的虚拟链路为S4, 与S4相连的虛拟路由器为R2和R3,则与S4相连的虚拟路由器的集合为 {R2, R3};
步骤2015、三层交换装置生成查询出的虚拟路由器的集合的相连闭
包;
具体地,判断与查询出的虚拟路由器的集合中的每个虚拟路由器相连 的虚拟路由器是否存在于查询出的虚拟路由器的集合中,如果是则跳过该 相连的虚拟路由器,如果否则将该相连的虚拟路由器加入查询出的虚拟路
由器的集合中;重复执行上述过程继续判断该相连的虚拟路由器,直到查 询出的虛拟路由器的集合不再增加。
如图2所示,集合为(R"时,其相连闭包为(R1);集合为(R2)时,其 相连闭包为(R2, R3};集合为(R2, R3)时,其相连闭包为(R2, R3}。
步骤2016、三层交换装置从信息模块中获取相连闭包中的虚拟路由器的 三层交换信息;
步骤2017、三层交换装置根据获取的三层交换信息加入相连闭包中的虚拟^各由器所在的虚拟链i 各;
以便于收发网全M艮文以及对网络报文进行三层交换处理。
进一步地,当虚拟机停止时,三层交换装置需要删除三层交换信息。
图6为本发明实施例虚拟机停止的流程图,如图6所示,包括
步骤2011a、虚拟机停止后,宿主机的三层交换装置接收到虚拟机监控
器发送的虚拟机停止的通知消息,该通知消息中携带有虚拟机配置文件; 步骤2012a、三层交换装置解析虚拟机配置文件,获取该虚拟机所在的
虛拟链路的信息;
步骤2Q13a、三层交换装置判断宿主机上是否运行该虚拟机所在的虛拟 链路上的其它虚拟机,如果是则跳过对该虚拟机所在的虚拟链路的处理,如 果否则执行步骤2014a;
步骤2014a、三层交换装置从信息模块中查询出与该虚拟机所在的虚拟 链路连接的虛拟路由器的集合;
步骤2015a、三层交换装置生成查询出的虚拟路由器的集合的相连闭
包;
具体描述可参见步骤2015,此处不再赘述。
步骤2016a、三层交换装置从信息模块中获糾目连闭包中的虚拟路由器 的三层交换信息;
步骤2017a、三层交换装置根据获取的三层交换信息退出相连闭包中的 虚拟路由器所在的虚拟链路;
以便于停止对网^4艮文的处理。
步骤2018a、三层交换装置删除相连闭包中的虛拟路由器的三层交换信

当虚拟机发生迁移时,即虚拟机由源宿主4几迁移到目的宿主才几,则源宿 主机和目的宿主机都需要对三层交换模块获取的三层交换信息进行调整。对 于源宿主机,虛拟机的迁移相当于在源宿主机上停止运行,其具体过程可参见图6中描述的虚拟机停止的流程。对于目的宿主机,虚拟机的迁移相当于 在目的宿主机上启动该虛拟机,其具体过程可参见图5中描述的虚拟机启动 的流程。其中,虚拟机的迁移不是瞬间完成的,从迁移发起到迁移的结束需 要一段时间,而这一时间通常为几秒至几十秒,因此,为了保证虚拟机迁移 到目的宿主机的过程中以及迁移到目的宿主机之后能够不间断的工作,在虚 拟机迁移到目的宿主机之后,源宿主机才能停止该虚拟机的运行,并且目的 宿主机的三层交换模块从迁移发起的时刻就开始执行与虚拟机启动流程类似 的步骤。不同之处在于虚拟机迁移时,三层交换模块接收的为虚拟机迁移的 通知消息。
步骤202、宿主机的三层交换装置接收源虚拟机发送的二层目的地址查
询净艮文;
具体地,宿主机的三层交换装置接收的二层目的地址查询报文是源虚拟
机通过该源虚拟才几所在的虚拟链路发送的;该二层目的地址查询报文为IP地 址解析才艮文(例如为Ipv4的地址解析协议ARP净艮文或者Ipv6的邻居发现协 议报文),三层交换装置在判断出该二层目的地址查询报文是IP地址解析报 文后,执行步骤203;
步骤203、宿主机的三层交换装置根据二层目的地址查询报文携带的三 层目的地址从三层交换信息的虚拟路由器信息中查询出配置三层目的地址的 虛拟路由器;
三层目的地址为IP地址。
如果未查询出配置三层目的地址的虛拟路由器则丟弃二层目的地址查询 报文。
步骤204、宿主机的三层交换装置将查询出的配置三层目的地址的虚拟 路由器的二层目的地址发送给所述源虚拟机;
二层目的地址为MAC地址。具体地,三层交换装置可按照地址解析协议 的格式发送回复报文,通过回复报文将路由器的二层目的地址发送给源虚拟机。
步骤205、宿主机的三层交换装置接收源虚拟机发送的网络报文,该网 络^JL中携带有二层目的地址;
该二层目的地址是步骤204中三层交换装置查询出并返回给源虚拟机的。
步骤206、宿主机的三层交换装置根据网络报文携带的二层目的地址从 三层交换信息中的虚拟路由器信息中查询出配置该二层目的地址的虚拟路由 器;
三层交换信息的虚拟路由器信息包括多个虚拟路由器的信息,三层交换 装置查询出配置了二层目的地址的虚拟路由器。
如果未查询出配置二层目的地址的虚拟路由器则丢弃网络报文。
步骤207、宿主机的三层交换装置根据三层交换信息中查询出的虚拟路 由器对应的报文处理规则对网络报文进行处理,生成处理后的网络报文、下 一跳所在的虚拟链路以及下一跳的三层目的地址;
下一跳可以是其它路由器或者目的虚拟机。
步骤208、宿主机的三层交换装置根据下一跳的三层目的地址查询虚拟 路由器信息中是否包括配置三层目的地址的虚拟路由器,如果是则执行步骤 207,如果否则判定下一跳为目的虚拟机并执行步骤209;
具体地,三层交换装置可以从三层交换信息中查询出下一跳所在的虚拟 链路对应的虚拟路由器信息,再查询下一跳所在的虚拟链路对应的虚拟路由 器信息中是否包括配置该三层目的地址的虚拟路由器;
如果三层交换装置根据下一跳的三层目的地址从虚拟路由器信息中查询 出配置三层目的地址的虚拟路由器,则返回执行步骤207;如果三层交换装 置根据下一跳的三层目的地址从所述虚拟路由器信息中未查询出配置所述三 层目的地址的虚拟路由器时,判定下一跳为目的虚拟机并执行步骤209;
步骤209、宿主机的三层交换装置根据目的虚拟机的三层目的地址将经过三层交换处理的网络报文通过目的虚拟机所在的虚拟链路发送给目的虛拟
机;
如判定下一跳为目的虚拟才几,则下一跳所在的虚拟链^各为目的虚拟才几所 在的虚拟链路,下一跳的三层目的地址为目的虛拟机的三层目的地址。经过 三层交换处理的网络报文为一次或者多次经过步骤207中根据报文处理规则 进行处理的网络报文;
具体地,步骤209可以包括
步骤2091、三层交换装置通过目的虚拟机所在的虚拟链路向目的虚拟机 发送二层目的地址请求报文,该二层目的地址请求报文中携带有目的虛拟机 的三层目的地址;
该二层目的地址请求报文为IP地址解析报文。
步骤2092、目的虚拟机接收二层目的地址请求才艮文后,查询出目的虚拟 机的三层目的地址对应的目的虚拟机的二层目的地址,并将查询出的目的虚 拟机的二层目的地址返回给三层交换装置;
步骤2093、三层交换装置根据目的虚拟机的二层目的地址通过目的虚拟 机所在的虚拟链路将经过三层交换处理的网络报文发送给目的虚拟机。
本实施例的技术方案中,宿主机根据预先获取的三层交换信息完成对网 络报文的三层交换处理,并根据目的虚拟机的三层目的地址将经过三层交换 处理的网络报文发送给目的虚拟机,避免了现有技术中采用虛拟路由器对报 文进行三层交换处理以及三角路由问题所导致的三层交换效率低的问题,有 效提高了虚拟机网络中三层交换的效率。
图7为本发明实施例三^是供的一种三层交换装置的结构示意图,如图7 所示,该装置包括存储模块lll、接收模块112、三层交换模块113和发送模 块114,其中三层交换模块113分别与存储模块111、接收模块112和发送模 块114连接。
存储模块111存储预先获取的三层交换信息;接收模块112接收源虚拟机发送的网络报文;三层交换模块113根据存储模块114存储的三层交换信 息对网络报文进行三层交换处理,生成经过三层交换处理的网络报文、目的 虚拟机所在的虚拟链路以及目的虚拟机的三层目的地址;发送模块114根据 目的虚拟机的三层目的地址将经过三层交换处理的网络报文通过目的虚拟机 所在的虚拟链路发送给目的虚拟机。
本实施例的技术方案中,三层交换装置根据预先获取的三层交换信息完 成对网络报文的三层交换处理,并根据目的虚拟机的三层目的地址将经过三 层交换处理的网络报文发送给目的虚拟机,避免了现有技术中采用虚拟路由 器对报文进行三层交换处理以及三角路由问题所导致的三层交换效率低的问 题,有效提高了虚拟机网络中三层交换的效率。
图8为本发明实施例四^是供的一种三层交换装置的结构示意图,如图8 所示,该装置在图7中实施例一的基础上还包括与存储模块111连接的获取 模块115,获取模块115用于获取三层交换信息并将获取的三层交换信息发 送给存储模块111。具体地,获取模块115在虚拟机启动或者迁移过程中实 现获取三层交换信息,具体可参见实施例二中的描述。进一步地,当虚拟机 停止时,获取^f莫块115还可以实现删除三层交换信息,具体可参见实施例二 中的描述。不同之处在于各步骤均可以由获取模块115来执行。
进一步地,该三层交换模块113具体包括查询模块1131和处理模块1132。 查询模块1131根据接收模块112接收的网络报文携带的二层目的地址从存储 模块111存储的三层交换信息的虚拟路由器信息中查询出配置该二层目的地 址的虚拟路由器;处理模块1132根据三层交换信息中查询出的虚拟路由器对 应的报文处理规则对该网络报文进行处理,生成处理后的网络净艮文、下一跳 所在的虚拟链路以及下一跳的三层目的地址。查询模块1131还用于根据下一 跳的三层目的地址查询虚拟路由器信息中是否包括配置三层目的地址的虚拟 路由器;当查询模块1131根据下一跳的三层目的地址从虛拟路由器信息中查 询出配置该三层目的地址的虚拟路由器时,由处理模块1132根据三层交换信
15息中查询出的配置该三层目的地址的虚拟路由器对应的报文处理规则对网络 报文进行处理,生成处理后的网络报文、下一跳所在的虚拟链路以及下一跳
的三层目的地址,直到查询模块1131根据下一跳的三层目的地址从虚拟路由 器信息中未查询出配置三层目的地址的虚拟路由器。当查询模块1131根据下 一跳的三层目的地址/人虚拟路由器信息中未查询出配置三层目的地址的虚拟 路由器时,处理模块1132判定该下一跳为目的虚拟机并由发送模块114根据 目的虚拟机的三层目的地址将经过三层交换处理的网络报文通过目的虚拟机 所在的虚拟链路发送给目的虚拟机。
本实施例的技术方案中,三层交换装置根据预先获取的三层交换信息完 成对网络报文的三层交换处理,并根据目的虚拟机的三层目的地址将经过三 层交换处理的网络报文发送给目的虚拟机,避免了现有技术中采用虚拟路由 器对报文进行三层交换处理以及三角路由问题所导致的三层交换效率低的问 题,有效提高了虚拟机网络中三层交换的效率。
图9为本发明实施例五提供的一种宿主机的结构示意图,如图9所示, 该宿主机包括三层交换装置11,具体地,三层交换装置11可采用实施例三 或者实施例四中的三层交换装置,此处不再赘述。
进一步地,当采用实施例四中的三层交换装置11时,宿主机还可以包括 虚拟机监控器12,虛拟机监控器12可以在虚拟机启动时向三层交换装置11 发送虚拟机启动的通知消息,或者在虚拟机停止时向三层交换装置11发送虚 拟机停止的通知消息,或者在虚拟机迁移时向三层交换装置11发送虚拟机迁 移的通知消息。
本实施例的技术方案中,宿主机根据预先获取的三层交换信息完成对网 络报文的三层交换处理,并根据目的虚拟机的三层目的地址将经过三层交换 处理的网络报文发送给目的虛拟机,避免了现有技术中采用虚拟路由器对报 文进行三层交换处理以及三角路由问题所导致的三层交换效率低的问题,有 效提高了虛拟机网络中三层交换的效率。图10为本发明实施例六4是供的一种三层交换系统的结构示意图,如图 10所示,该系统包括源虚拟机2、目的虚拟机3和宿主机1。具体地,宿主 机1可采用实施例五中的宿主机,此处不再赘述。
进一步地,该系统还可以包括与宿主机1中的三层交换模块11连接的信 息模块4,信息模块4可以存储虚拟机网络中的所有虚拟路由器的三层交换 信息,三层交换模块11可以从信息模块4中获取三层交换信息。信息模块4 可以设置在网络中的任一 网络节点上,该网络节点可以为任意 一个宿主机或 者其它网络节点。其中,信息模块4可以设置在宿主机1上。
进一步地,该系统还可以包括与信息模块4连接的部署模块5,部署模 块5可以进行虚拟机网络的部署,并在完成虚拟机网络部署之后将虚拟机网 络中所有虚拟路由器的三层交换信息传输给信息模块4 。
本实施例的图10中以目的虚拟机3运行在宿主机1上为例,在实际应用 过程中,目的虚拟机3还可以运行在其它宿主机上,其它宿主机在图10中不 再具体画出。
本实施例的技术方案中,宿主机根据预先获取的三层交换信息完成对网 络报文的三层交换处理,并根据目的虚拟机的三层目的地址将经过三层交换 处理的网络报文发送给目的虚拟机,避免了现有技术中采用虚拟路由器对报 文进行三层交换处理以及三角路由问题所导致的三层交换效率低的问题,有 效提高了虚拟机网络中三层交换的效率。
最后应说明的是以上实施例仅用以说明本发明的技术方案而非对其进 行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技 术人员应当理解其依然可以对本发明的技术方案进行修改或者等同替换, 而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的 ^T神和范围。
权利要求
1、一种三层交换方法,其特征在于,包括接收源虚拟机发送的网络报文;根据预先获取的三层交换信息对所述网络报文进行三层交换处理,生成经过三层交换处理的网络报文、目的虚拟机所在的虚拟链路以及目的虚拟机的三层目的地址;根据所述目的虚拟机的三层目的地址将所述经过三层交换处理的网络报文通过目的虚拟机所在的虚拟链路发送给所述目的虚拟机。
2、 根据权利要求l所述的方法,其特征在于,所述根据预先获取的三层 交换信息对所述网络报文进行三层交换处理,生成经过三层交换处理的网络 报文、目的虚拟机所在的虚拟链路以及目的虚拟机的三层目的地址包括根据所述网络报文携带的二层目的地址从所述三层交换信息的虚拟路由 器信息中查询出配置所述二层目的地址的虛拟路由器;根据所述三层交换信息中查询出的虚拟路由器对应的报文处理规则对所 述网络报文进行处理,生成处理后的网络报文、下一跳所在的虚拟链路以及 下一跳的三层目的地址。
3、 根据权利要求2所述的方法,其特征在于,所述根据预先获取的三层 交换信息对所述网络报文进行三层交换处理,生成经过三层交换处理的网络 报文、目的虚拟机所在的虚拟链路以及目的虚拟机的三层目的地址还包括根据所述下一跳的三层目的地址从所述虚拟路由器信息中查询出配置所 述三层目的地址的虚拟路由器。'
4、 根据权利要求2所述的方法,其特征在于,所述根据预先获取的三层 交换信息对所述网络报文进行三层交换处理,生成经过三层交换处理的网络 报文、目的虚拟机所在的虚拟链路以及目的虚拟机的三层目的地址还包括当根据所述下一跳的三层目的地址从所述虚拟路由器信息中未查询出配 置所述三层目的地址的虚拟路由器时,判定所述下一跳为所述目的虛拟机。
5、 根据权利要求2所述的方法,其特征在于,所述接收源虚拟机发送的网络报文之前还包括接收源虚拟机发送的二层目的地址查询报文;才艮据所述二层目的地址查询才艮文携带的三层目的地址^v所述三层交换信 息的虚拟路由器信息中查询出配置所述三层目的地址的虚拟路由器;将查询出的配置三层目的地址的虛拟路由器的二层目的地址发送给所述 源虛拟才几。
6、 一种三层交换装置,其特征在于,包括 存储模块,用于存储预先获取的三层交换信息; 接收模块,用于接收源虚拟机发送的网络报文;三层交换才莫块,用于根据所述三层交换信息对所述网络报文进行三层交 换处理,生成经过三层交换处理的网络报文、目的虚拟机所在的虚拟链路以 及目的虚拟机的三层目的地址;发送模块,用于根据所述目的虚拟机的三层目的地址将所述经过三层交
7、 根据权利要求6所述的装置,其特征在于,所述三层交换模块包括 查询模块,用于根据所述网络报文携带的二层目的地址从所述三层交换信息的虚拟路由器信息中查询出配置所述二层目的地址的虚拟路由器;处理模块,用于根据所述三层交换信息中查询出的虚拟路由器对应的报 文处理规则对所述网络报文进行处理,生成处理后的网络净艮文、下一跳所在 的虚拟链路以及下一跳的三层目的地址。
8、 根据权利要求7所述的装置,其特征在于,所述查询模块还用于根据 下一跳的三层目的地址从所述虚拟路由器信息中查询出配置所述三层目的地 址的虚拟路由器。
9、 一种宿主机,其特征在于,包括权利要求6至8任一所述的三层交换 装置。
10、 一种三层交换系统,包括源虚拟机和目的虚拟机,其特征在于,还 包括权利要求9所述的宿主机。
全文摘要
本发明公开了一种三层交换方法、装置、系统和宿主机。该方法包括接收源虚拟机发送的网络报文;根据预先获取的三层交换信息对所述网络报文进行三层交换处理,生成经过三层交换处理的网络报文、目的虚拟机所在的虚拟链路以及目的虚拟机的三层目的地址;根据所述目的虚拟机的三层目的地址将所述经过三层交换处理的网络报文通过目的虚拟机所在的虚拟链路发送给所述目的虚拟机。本发明的技术方案中,宿主机根据预先获取的三层交换信息完成对网络报文的三层交换处理,并根据目的虚拟机的三层目的地址将经过三层交换处理的网络报文发送给目的虚拟机,有效提高了虚拟机网络中三层交换的效率。
文档编号H04L29/06GK101594358SQ200910088020
公开日2009年12月2日 申请日期2009年6月29日 优先权日2009年6月29日
发明者怀进鹏, 沁 李, 李建欣, 胡春明, 琦 高 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1