建立隧道的方法和系统以及隧道控制器和虚拟交换机的制作方法
【技术领域】
[0001] 本发明涉及通信领域,特别涉及一种建立隧道的方法和系统以及隧道控制器和虚 拟交换机。
【背景技术】
[0002] 软件定义网络(SoftwareDefinedNetworking,SDN)是一种新型的网络技术,其核 心思想是将网络设备的控制平面与数据平面分离,并由控制平面开放软件可编程的接口供 网络用户对网络设备的控制能力进行灵活调用。
[0003] 在软件定义网络的实现中,叠加网络(Overlay)是一种主流技术方案。基于叠加 网络的SDN方案的实现思路是以现行的IP网络为基础,在其上通过隧道的方式建立重叠的 逻辑网络,屏蔽掉底层物理网络差异,实现网络资源的虚拟化,使得多个逻辑上彼此隔离的 网络分区以及多种异构的虚拟网络可以在同一共享网络基础设施上共存。
[0004] 云计算中的虚拟主机服务就是应用基于叠加网络的SDN方案的典型应用场景。在 虚拟主机业务中,一台物理服务器被虚拟成多台虚拟机,每台虚拟机都有自己独立的介质 访问控制(MediaAccessControl,MAC)地址,引起了MAC地址数量的激增,超出了架顶交换 机的MAC地址表容量。
[0005] 叠加网络可以解决这一问题,它在每台服务器部署的虚拟交换机之间建立隧道, 使得虚拟机之间的通信可以通过专有的隧道完成,从而可以在通信中减少MAC地址的使 用。在此方案下,为了保证虚拟机之间的通信顺畅,需要每2台虚拟设备之间都建立相应的 隧道。而在虚拟主机业务场景中,往往拥有数量众多的服务器和网络设备,所以需要为叠加 网络配置大量隧道。
[0006] 在现有的技术方案中,隧道配置都是手工完成的,网络管理员需要登录到每台设 备上,手工建立多条隧道。这一过程不但效率低下,配置时间冗长,而且容易发生人工错误。
【发明内容】
[0007] 本发明实施例所要解决的一个技术问题是:在大量隧道的配置场景中,解决手工 配置方式存在的效率低下、时间冗长、容易发生人工错误的问题。
[0008] 根据本发明实施例的一个方面,提出一种建立隧道的方法,包括:隧道控制器获取 虚拟交换机信息;隧道控制器根据虚拟交换机信息生成一张全网虚拟交换机列表;隧道控 制器根据全网虚拟交换机列表为其中的每个虚拟交换机生成一张隧道列表;隧道控制器向 每个虚拟交换机分别下发建立隧道命令,该建立隧道命令的参数包括虚拟交换机相应的隧 道列表,以便虚拟交换机根据其隧道列表自动建立隧道。
[0009] 根据本发明实施例再一个方面,提出一种建立隧道的方法,包括:虚拟交换机接 收隧道控制器下发的建立隧道命令,该建立隧道命令的参数包括虚拟交换机相应的隧道列 表;虚拟交换机根据隧道列表中每个隧道的参数信息进行隧道配置,以便与对端虚拟交换 机建立隧道,修改隧道状态;虚拟交换机向隧道控制器返回建立隧道应答命令,该建立隧道 应答命令的参数包括本次建立隧道的隧道编号和隧道状态。
[0010] 根据本发明实施例又一个方面,提出一种隧道控制器,包括:信息采集模块,用于 获取虚拟交换机信息;全网信息生成模块,用于根据虚拟交换机信息生成一张全网虚拟交 换机列表;隧道生成模块,用于根据全网虚拟交换机列表为其中的每个虚拟交换机生成一 张隧道列表;命令下发模块,用于向每个虚拟交换机分别下发建立隧道命令,该建立隧道 命令的参数包括虚拟交换机相应的隧道列表,以便虚拟交换机根据其隧道列表自动建立隧 道。
[0011] 根据本发明实施例另一个方面,提出一种虚拟交换机,包括:命令接收模块,用于 接收隧道控制器下发的建立隧道命令,该建立隧道命令的参数包括虚拟交换机相应的隧道 列表;命令处理模块,用于根据隧道列表中每个隧道的参数信息进行隧道配置,以便与对端 虚拟交换机建立隧道,修改隧道状态;应答模块,用于向隧道控制器返回建立隧道应答命 令,该建立隧道应答命令的参数包括本次建立隧道的隧道编号和隧道状态。
[0012] 根据本发明实施例再一个方面,提出一种建立隧道的系统,包括前述的隧道控制 器,以及前述的虚拟交换机。
[0013]本发明实施例通过一个集中的隧道控制器收集虚拟交换机信息,形成一张全网虚 拟交换机列表,并为其中的每个虚拟交换机生成一张隧道列表,通过隧道列表的形式自动 批量的下发隧道配置参数,虚拟交换机根据隧道配置参数自动建立隧道形成叠加网络,适 用于多个虚拟交换机之间建立隧道的场景,特别是大量或海量的虚拟交换机之间建立隧道 的场景,可以显著提高隧道配置效率、缩短配置时间、并且不容易出错。
[0014]通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其 优点将会变得清楚。
【附图说明】
[0015] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。
[0016] 图1为本发明建立隧道的系统示意图。
[0017] 图2为本发明建立隧道的方法一个实施例的流程示意图。
[0018] 图3为本发明如果网络中增加一个新的虚拟交换机时建立隧道的方法流程示意 图。
[0019] 图4为本发明如果有虚拟交换机移出网络时建立隧道的方法流程示意图。
[0020] 图5为本发明建立隧道的方法再一个实施例的流程示意图。
[0021] 图6为本发明删除隧道的一个实施例的流程示意图。
[0022] 图7为本发明查询隧道状态的一个实施例的流程示意图。
[0023] 图8为本发明GRE隧道的网络拓扑图。
[0024] 图9为本发明隧道控制器一个实施例的结构示意图。
[0025] 图10为本发明隧道控制器再一个实施例的结构示意图。
[0026] 图11为本发明虚拟交换机一个实施例的结构示意图。
【具体实施方式】
[0027] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下 对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使 用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提 下所获得的所有其他实施例,都属于本发明保护的范围。
[0028] 除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表 达式和数值不限制本发明的范围。
[0029] 同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际 的比例关系绘制的。
[0030] 对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适 当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
[0031] 在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不 是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
[0032] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一 个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0033] 图1为本发明建立隧道的系统示意图。如图1所示,该实施例的系统主要包括隧 道控制器101,以及虚拟交换机102。其中,隧道控制器101主要负责生成和下发隧道配置。 虚拟交换机102主要用于接收隧道配置,自动执行配置命令,从而与其他虚拟交换机建立 隧道。隧道控制器101与虚拟交换机102之间建立有管理通道,隧道控制器101可以通过 管理通道下发命令和隧道配置。本发明的隧道建立方法适用于多个虚拟交换机102之间建 立隧道的场景,特别是大量或海量的虚拟交换机102之间建立隧道的场景,可以显著提高 隧道配置效率、缩短配置时间、并且不容易出错。
[0034] 图2为本发明建立隧道的方法一个实施例的流程示意图。如图2所示,本实施例 的方法包括以下步骤:
[0035] 步骤S202,隧道控制器获取虚拟交换机信息;
[0036] 步骤S204,隧