标识获取方法及装置与流程

文档序号:16312462发布日期:2018-12-19 05:20阅读:249来源:国知局
标识获取方法及装置与流程

本发明涉及通信领域,具体而言,涉及一种标识获取方法及装置。

背景技术

云计算可以提供可用、便捷、按需的资源,成为当前企业信息技术it建设的常规形态。计算虚拟化和存储虚拟化已经取得长足发展,但网络虚拟化一直是云业务资源虚拟化的短板。云计算和虚拟化具有虚机数量大和网络大二层的特性。

网络大二层:在虚拟机启动后,由于服务器资源问题(如中央处理器cpu过高、内存不够等)抑或是绿色节能等方面的需求,虚拟机需要迁移到新的服务器上。为了实现在虚拟机迁移过程中的业务不中断,需要保证虚拟机的网络之间互联的协议(internetprotocol,简称为ip)地址、媒体接入控制(mediaaccesscontrol,简称为mac)地址等参数保持不变,这就要求虚拟机的迁移在同一个二层网络中进行。

传统虚拟局域网(virtuallocalareanetwork,简称为vlan)技术难以适应大规模租户部署。传统的vlan技术基于ieee的802.1q协议,在该协议的帧格式里面定义了vlanid的位数为12比特,等于说它最多只能支持4094个vlan。以云计算服务提供商亚马逊为例,它为全球190个国家的客户提供it基础设施服务,有许多的用户租用虚拟机实例,数据中心需要上万个vlan,802.1q协议对vlan技术的数量显然不能满足这种扩展的需求。

虚拟机规模受限于网络设备的规格。二层的网络环境需要交换机学习虚拟机的mac地址信息,而交换机特别是接入交换机的mac地址表项规格较小,制约了虚拟机的数量。

虚拟扩展局域网(virtualextensiblelocalareanetwork,简称为vxlan),是一种隧道技术,能在三层网络的基础上建立二层以太网网络隧道。其基本的思想是在基础网络不进行大规模的变动的情况下,在其原有基础网络上承载新的业务应用。采用“macinudp”封装形式的二层虚拟专用网络(virtualprivatenetwork,简称为vpn)技术。vxlan唯一标示(vxlannetworkidentifier,简称为vni),。

vxlan隧道终端(vxlantunnelendpoint,简称为vtep),是直接与终端连接的设备,负责原始以太报文的vxlan封装和解封装。vtep与物理网络相连,分配有物理网络的ip地址,该地址与虚拟网络无关。一条vxlan隧道可以关联多个vxlan,一个vxlan可以关联多条vxlan隧道。

vxlan网关,为了让vxlan虚拟网络之间以及虚拟网络与物理网络之间能够进行通信,vxlan标准定义了一个vxlan网关实体。通过此网关可以实现vxlan和非vxlan网络的互通。

vxlan在站点内转发单播流量时,直接查询本地vtep上的vxlan信息即可实现站内的转发,而vxlan在站点间转发单播流量时,必须知道对端mac地址所在的vtep信息,即走那个隧道,这就涉及如何获知站点外含有与发送端的vtep具有相同vni的vtep信息,现有规范和技术中通常使用地址解析协议(addressresolutionprotocol,简称为arp)泛洪的方式获取。而vxlan的泛洪,通常采用单播路由方式、组播路由方式、泛洪代理方式(服务器复制)。这些方式不可避免地造成了大量的网络包传输,导致网络拥塞,效率低等问题,并且上述方式缺乏统一集中控制和统计,不能很好发挥sdn后数据中心中有绝大多数设备逻辑的优势。



技术实现要素:

本发明实施例提供了一种标识获取方法及装置,以至少解决相关技术中通过的arp泛洪的方式获取对端vtep的信息需要传输大量的网络包,导致网络拥塞问题。

根据本发明的一个实施例,提供了一种标识获取方法,包括:接收第一虚拟扩展局域网隧道终端vtep发送的用于请求获取第二vtep的标识的请求消息,其中,所述请求消息携带有所述第二vtep对应的媒体接入控制mac地址以及所述第二vtep对应的虚拟扩展局域网网络标识vni;根据所述mac地址和所述vni在本地的缓存池中查询所述第二vtep的标识,其中,所述缓存池中存储有所述第二vtep的标识,所述第二vtep对应的mac地址和所述第二vtep对应的vni三者的映射关系;向所述vni对应的所有vtep发送所述第二vtep的标识。

可选地,在向所述vni对应的所有vtep发送所述第二vtep的标识之前,还包括:在第一预定时间内未在所述缓存池中查询到所述mac地址;向所述vni对应的所有vtep发送第一消息,其中,所述第一消息用于指示未在所述缓存池中查询到所述mac地址,且所述第一消息中携带有指示信息,所述指示信息用于指示所述mac地址对应的vtep上报自身的vtep标识,mac地址和vni三者的映射关系。

可选地,向所述vni对应的所有vtep发送所述第二vtep标识包括以下至少之一:通过网络广播的方式向所述vni对应的所有vtep发送所述第二vtep标识;通过软件进程间通讯的方式向所述vni对应的所有vtep发送所述第二vtep标识。

可选地,在向所述vni对应的所有vtep发送所述第二vtep的标识之后,还包括:接收所述第一vtep发送的变化后的第一vtep的标识,所述第一vtep对应的mac地址和所述第一vtep对应的vni的三者的映射关系;根据所述变化后的映射关系更新所述缓存池。

根据本发明的另一个实施例,提供了一种标识获取方法,包括:向预定服务器发送用于请求获取第二vtep的标识的请求消息,其中,所述请求消息携带有所述第二vtep对应的媒体接入控制mac地址以及所述第二vtep对应的虚拟扩展局域网网络标识vni;接收所述预定服务器响应所述请求消息的响应消息,其中,所述响应消息携带有在所述预定服务器本地的缓存池中查询到的第二vtep的标识,所述缓存池中存储有所述第二vtep的标识,所述第二vtep对应的mac地址和所述第二vtep对应的vni三者的映射关系;根据所述响应消息获取所述第二vtep的标识。

可选地,在接收所述预定服务器响应所述请求消息的所述响应消息之后,还包括:根据所述第二vtep的标识向所述第二vtep发送数据。

可选地,在接收所述预定服务器响应所述请求消息的所述响应消息之前,还包括:在第二预定时间内未收到所述预定服务器响应所述请求消息的响应消息,或者接收到所述预定服务器发送的第一消息,其中,所述第一消息用于指示未在所述缓存池中查询到所述mac地址;通过地址解析协议arp泛洪的方式获取所述第二vtep的标识。

可选地,向所述预定服务器发送用于请求获取所述第二vtep的标识的请求消息包括:检索本地缓存的mac地址;在未检索到所述第二vtep对应的mac地址的情况下,向所述预定服务器发送用于请求获取所述第二vtep的标识的请求消息。

可选地,在根据所述第二vtep的标识向所述第二vtep发送所述数据之后,还包括:检测到自身的vtep标识,所述自身的vtep标识对应的mac地址和所述自身的vtep标识对应的vni三者的映射关系发生变化;将变化后的映射关系发送给所述预定服务器。

根据本发明的又一个实施例,提供了一种标识获取装置,包括:接收模块,用于接收第一虚拟扩展局域网隧道终端vtep发送的用于请求获取第二vtep的标识的请求消息,其中,所述请求消息携带有所述第二vtep对应的媒体接入控制mac地址以及所述第二vtep对应的虚拟扩展局域网网络标识vni;查询模块,用于根据所述mac地址和所述vni在本地的缓存池中查询所述第二vtep的标识,其中,所述缓存池中存储有所述第二vtep的标识,所述第二vtep对应的mac地址和所述第二vtep对应的vni三者的映射关系;发送模块,用于向所述vni对应的所有vtep发送所述第二vtep的标识。

可选地,所述查询模块,还用于在第一预定时间内未在所述缓存池中查询到所述mac地址;以及向所述vni对应的所有vtep发送第一消息,其中,所述第一消息用于指示未在所述缓存池中查询到所述mac地址,且所述第一消息中携带有指示信息,所述指示信息用于指示所述mac地址对应的vtep上报自身的vtep标识,mac地址和vni三者的映射关系。

可选地,所述发送模块,还用于在向所述vni对应的所有vtep发送所述第二vtep的标识之后,接收所述第一vtep发送的变化后的第一vtep的标识,所述第一vtep对应的mac地址和所述第一vtep对应的vni的三者的映射关系;根据所述变化后的映射关系更新所述缓存池。

根据本发明的又一个实施例,提供了一种标识获取装置,包括:发送模块,用于向预定服务器发送用于请求获取第二vtep的标识的请求消息,其中,所述请求消息携带有所述第二vtep对应的媒体接入控制mac地址以及所述第二vtep对应的虚拟扩展局域网网络标识vni;接收模块,用于接收所述预定服务器响应所述请求消息的响应消息,其中,所述响应消息携带有在所述预定服务器本地的缓存池中查询到的第二vtep的标识,所述缓存池中存储有所述第二vtep的标识,所述第二vtep对应的mac地址和所述第二vtep对应的vni三者的映射关系;获取模块,用于根据所述响应消息获取所述第二vtep的标识。

可选地,所述接收模块,还用于在接收所述预定服务器响应所述请求消息的所述响应消息之前,在第二预定时间内未收到所述预定服务器响应所述请求消息的响应消息,或者接收到所述预定服务器发送的第一消息,其中,所述第一消息用于指示未在所述缓存池中查询到所述mac地址;通过地址解析协议arp泛洪的方式获取所述第二vtep的标识。

可选地,所述发送模块,还用于检索本地缓存的mac地址;在未检索到所述第二vtep对应的mac地址的情况下,向所述预定服务器发送用于请求获取所述第二vtep的标识的请求消息。

可选地,所述发送模块,还用于检测到自身的vtep标识,所述自身的vtep标识对应的mac地址和所述自身的vtep标识对应的vni三者的映射关系发生变化;将变化后的映射关系发送给所述预定服务器。

根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述任一项所述的方法。

根据本发明的又一个实施例,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任一项所述的方法。

通过本发明,接收第一虚拟扩展局域网隧道终端vtep发送的用于请求获取第二vtep的标识的请求消息,其中,请求消息携带有第二vtep对应的媒体接入控制mac地址以及第二vtep对应的虚拟扩展局域网网络标识vni;根据mac地址和vni在本地的缓存池中查询第二vtep的标识,其中,缓存池中存储有第二vtep的标识,第二vtep对应的mac地址和第二vtep对应的vni三者的映射关系;向vni对应的所有vtep发送第二vtep的标识。由于将vtep的标识,mac地址和vni三者的映射关系集中存储到缓存池中,使得在第一vtep想要获取对端第二vtep信息时,直接向该缓存池所在的服务器发起请求即可,无需再通过大量的网络包来获取第二vtep信息。因此,可以解决相关技术中通过的arp泛洪的方式获取对端vtep的信息需要传输大量的网络包,导致网络拥塞问题,达到提高对端vtep信息获取效率的效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的一种标识获取方法的移动终端的硬件结构框图;

图2是根据本发明实施例的标识获取方法的流程图一;

图3是根据本发明实施例的vtep信息服务器结构示意图;

图4是根据本发明实施例的标识获取方法的流程图二;

图5是根据本发明实施例的vtep快速寻址站点外mac地址对应的设备流程示意图一;

图6是根据本发明实施例的vtep快速寻址站点外mac地址对应的设备流程示意图二;

图7是根据本发明实施例的vtep快速寻址站点外mac地址对应的设备流程示意图三;

图8是根据本发明实施例的vtep收到vtep信息服务器广播来的寻找mac的消息流程示意图;

图9是根据本发明实施例的vtep发现内部vni或者mac发生变化时的流程示意图

图10是根据本发明实施例的vtep启动时向信息服务器注册和登记信息的流程示意图;

图11是根据本发明实施例的标识获取装置的结构框图一;

图12是根据本发明实施例的标识获取装置的结构框图二。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

实施例1

本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种标识获取方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的标识获取方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种运行于上述移动终端的标识获取方法,图2是根据本发明实施例的标识获取方法的流程图一,如图2所示,该流程包括如下步骤:

步骤s202,接收第一虚拟扩展局域网隧道终端vtep发送的用于请求获取第二vtep的标识的请求消息,其中,请求消息携带有第二vtep对应的媒体接入控制mac地址以及第二vtep对应的虚拟扩展局域网网络标识vni;

步骤s204,根据mac地址和vni在本地的缓存池中查询第二vtep的标识,其中,缓存池中存储有第二vtep的标识,第二vtep对应的mac地址和第二vtep对应的vni三者的映射关系;

步骤s206,向vni对应的所有vtep发送第二vtep的标识。

通过上述步骤,由于将vtep的标识,mac地址和vni三者的映射关系集中存储到缓存池中,使得在第一vtep想要获取对端第二vtep信息时,直接向该缓存池所在的服务器发起请求即可,无需再通过大量的网络包来获取第二vtep信息。因此,可以解决相关技术中通过的arp泛洪的方式获取对端vtep的信息需要传输大量的网络包,导致网络拥塞问题,达到提高对端vtep信息获取效率的效果。

此处需要说明的是,只用vni相同的vtep之间可以通信,因此,第一vtep和第二vtep的vni是相同,当向第二vtep对应的vni对应的vtep发送消息时,第一vtep也可以接收到该消息。

可选地,在向vni对应的所有vtep发送第二vtep的标识之前,还包括:在第一预定时间内未在缓存池中查询到mac地址;向vni对应的所有vtep发送第一消息,其中,第一消息用于指示未在缓存池中查询到mac地址,且第一消息中携带有指示信息,指示信息用于指示mac地址对应的vtep上报自身的vtep标识,mac地址和vni三者的映射关系。

可选地,向vni对应的所有vtep发送第二vtep标识包括以下至少之一:通过网络广播的方式向vni对应的所有vtep发送第二vtep标识;通过软件进程间通讯的方式向vni对应的所有vtep发送第二vtep标识。

可选地,在向vni对应的所有vtep发送第二vtep的标识之后,还包括:接收第一vtep发送的变化后的第一vtep的标识,第一vtep对应的mac地址和第一vtep对应的vni的三者的映射关系;根据变化后的映射关系更新缓存池。

可选地,上述步骤的执行主体可以为基站、终端等,但不限于此。例如,可以设置一个专用于执行上述方法的vtep信息服务器,图3是根据本发明实施例的vtep信息服务器结构示意图,如图3所示,该vtep信息服务器可以包含如下组成部分:

mac/vni/vtep缓存池301:负责保持一份mac/vni/vtep相互映射的表,可以快速地根据mac查询到它所在的vtep和vni,可以根据vni快速查询所包含的mac及涉及的vtep,可以快速地根据vtep查询到它所包含的vni和mac。

vtep信息上报接收器302:负责接收各vtep上报来的变化消息。

vtep信息广播器303:负责向各vtep广播、组播、单播变化消息。

快速检索处理器304:负责根据vtep发来的请求快速从mac/vni/vtep缓存池中检索出需要的信息。

mac/vni/vtep缓存池、vtep信息上报接收器、vtep信息广播器、快速检索处理器共同组成vtep信息服务器,此服务器包括但不限于运行在独立的网络设备、网管软件系统等中,同时vtep信息服务器可以以独立软件系统存在,也可以集成入其他系统中以模块形式存在。

在本实施例中还提供了一种运行于上述移动终端的标识获取方法,图4是根据本发明实施例的标识获取方法的流程图二,如图4所示,该流程包括如下步骤:

步骤s402,向预定服务器发送用于请求获取第二vtep的标识的请求消息,其中,请求消息携带有第二vtep对应的媒体接入控制mac地址以及第二vtep对应的虚拟扩展局域网网络标识vni;

步骤s404,接收预定服务器响应请求消息的响应消息,其中,响应消息携带有在预定服务器本地的缓存池中查询到的第二vtep的标识,缓存池中存储有第二vtep的标识,第二vtep对应的mac地址和第二vtep对应的vni三者的映射关系;

步骤s406,根据响应消息获取第二vtep的标识。

可选地,在接收预定服务器响应请求消息的响应消息之后,还包括:根据第二vtep的标识向第二vtep发送数据。

可选地,在接收预定服务器响应请求消息的响应消息之前,还包括:在第二预定时间内未收到预定服务器响应请求消息的响应消息,或者接收到预定服务器发送的第一消息,其中,第一消息用于指示未在缓存池中查询到mac地址;通过地址解析协议arp泛洪的方式获取第二vtep的标识。

可选地,向预定服务器发送用于请求获取第二vtep的标识的请求消息包括:检索本地缓存的mac地址;在未检索到第二vtep对应的mac地址的情况下,向预定服务器发送用于请求获取第二vtep的标识的请求消息。

可选地,在根据第二vtep的标识向第二vtep发送数据之后,还包括:检测到自身的vtep标识,自身的vtep标识对应的mac地址和自身的vtep标识对应的vni三者的映射关系发生变化;将变化后的映射关系发送给预定服务器。

为了方便理解上述出现的各个实施例,下面结合如图3所示的vtep信息服务器对上述标识获取方法进行详细的说明,该方法可以包括如下步骤:

步骤a,vtep检索本地mac及vni缓存,如果存在则退出后续的步骤直接根据缓存中mac、vni获取相对应的对端vtep信息,并向对端发送待发送的数据;如果不存在则走步骤b;

步骤b,vtep将要寻址的mac及将要寻址的vni信息发送给上述vtep信息服务器中的快速检索处理器;

步骤c,快速检索处理器从mac/vni/vtep缓存池检索对端vtep信息;如果检索到上述接收到的mac地址,则vtep信息服务器中的vtep信息广播器将mac/vni/vtep信息传递到每一个含有此vni的vtep;设备根据接收到的广播消息中mac、vni获取相对应的对端vtep信息,并向对端发送数据,结束这个流程;如果未检索到上述接收到的mac地址,则转到步骤d;

步骤d,vtep信息服务器中的vtep信息广播器向所有vtep广播此mac地址,告知此mac未在信息服务器中登记,让具有此mac地址的vtep向vtep信息服务器上报信息;

步骤e,发送将要寻址的mac及vni信息的vtep收到vtep服务器发出的未登记此mac信息的消息后,通过传统的洪泛方式发起vtep寻址来获取对端vtep信息,进而根据获取到的对端vtep信息向对端发送,结束这个流程。

需要说明的是,上述vtep信息服务器中的vtep信息广播器将mac/vni/vtep信息传递到含有上述将要寻址的vni的每一个vtep的方式包括但不限于:方式1:vtep信息服务器使用网络广播方式向含有此vni的所有vtep广播;方式2:在云服务sdn环境中,所有vtep可能都是软实体时,vtep信息服务器使用软件进程间通讯方式向含有上述将要寻址的vni的所有vtep传递。

上述vtep信息服务器的缓存池中的vtep信息可以由各vtep主动上报而来,例如,可以包括以下步骤:

步骤a,vtep更新本身信息时,发现站点内的mac/vni/vtep发生变化时,将mac/vni/vtep对应关系发送到vtep信息服务器中的vtep信息上报接收器;

步骤b,vtep信息上报接收器将接收的信息保存到mac/vni/vtep缓存池。

上述步骤中未描述vtep信息服务器处于不正常或网络故障情况下,设备无法和vtep信息服务器建立有效的通道,在这种情况下设备可以用超时的方式进行识别,发现从vtep信息服务器获取信息超时,就直接转入使用传统洪泛的方式寻址vtep的流程,这样既可以拥有vtep信息服务器的高效性,也可以避免vtep信息服务器出现各种异常情况对业务健壮性的破坏。

上述实施例使的网络中建立vtep之间隧道的网络包尽量的少,提高了站点外寻的效率,并且在sdn环境中充分发挥设备逻辑、数据集中在数据中心的优势,随着sdn的技术发展,通过上述实施例可以解决站点外寻址时网络包多,效率低、存在网络恶意攻击风险,这三个问题。

下面分场景对上述实施例进行说明。

场景1:vtep信息服务器可用并且所寻的mac地址已经登记在vtep信息服务器的缓存池的情况下,vtep快速寻址站点外mac地址对应的设备可选实施例。图5是根据本发明实施例的vtep快速寻址站点外mac地址对应的设备流程示意图一,该过程包括但不限于如下具体的实现方式:

步骤s1,vtep检索本地mac及vni缓存;

步骤s2,d1=判断本地有没有存在被检索mac信息,如果有则跳过步骤s3、s4、s5、s6直接进入步骤s7,否则继续步骤s3;

步骤s3,vtep将要寻址的mac及vni信息发送给vtep信息服务器中的快速检索处理器;

步骤s4,快速检索处理器根据mac及vni信息从mac/vni/vtep缓存池检索出对端vtep信息;

步骤s5,vtep信息服务器中的vtep信息广播器将mac/vni/vtep信息传递到含有上述寻址vni的每一个vtep;

步骤s6,获得到mac所在vtep信息;

步骤s7,根据该vtep信息向对端发送。

场景2:vtep信息服务器可用并且所寻mac未登记在vtep信息服务器中缓存池的情况下,vtep快速寻址站点外mac地址对应的设备可选实施例。其中,上述未登记的原因可能是mac所在vtep未向vtep信息服务器登记。图6是根据本发明实施例的vtep快速寻址站点外mac地址对应的设备流程示意图二,该过程包括但不限于如下具体的实现方式:

步骤s1,vtep检索本地mac及vni缓存;本地不存在被检索mac信息;

步骤s2,vtep将要寻址的mac及vni信息发送给vtep信息服务器中的快速检索处理器;

步骤s3,快速检索处理器根据mac及vni信息从mac/vni/vtep缓存池检索对端vtep信息;未检索到mac信息;

步骤s4,vtep信息服务器中的vtep信息广播器向所有vtep广播此mac地址,告知此mac未在信息服务器中登记,让具有此mac地址的vtep向vtep信息服务器上报信息;

步骤s5,设备收到vtep服务器发出的未登记此mac信息的消息后,通过传统的洪泛方式发起vtep寻址;

步骤s6,获得到mac所在vtep信息;

步骤s7,根据该vtep信息向对端发送。

场景3:vtep信息服务器不可用情况下vtep快速寻址站点外mac地址对应的设备可选实施例。图7是根据本发明实施例的vtep快速寻址站点外mac地址对应的设备流程示意图三,该过程包括但不限于如下具体的实现方式:

步骤s1,vtep检索本地mac及vni缓存;本地不存在被检索mac信息;

步骤s2,vtep将要寻址的mac及vni信息发送给vtep信息服务器中的快速检索处理器,同时启动定时器。与vtep信息服务器建链失败或者获取返回信息超时;

步骤s3,设备通过传统的洪泛方式发起vtep寻址;

步骤s4,获得到mac所在vtep信息;

步骤s5,根据该vtep信息向对端发送。

场景4:vtep收到vtep信息服务器广播来的寻址mac的消息的可选实施例。图8是根据本发明实施例的vtep收到vtep信息服务器广播来的寻找mac的消息流程示意图,该过程包括但不限于如下具体的实现方式:

步骤s1,vtep收到vtep信息服务器广播来的寻找mac的消息,发现该mac地址对应的是在本vtep管辖的范围内的主机,则进行步骤2,否则直接结束本流程;

步骤s2,vtep将vni/mac/vtep相关信息发送给vtep信息服务器;

步骤s3,vtep信息服务器更新mac/vni/vtep缓存池。

场景5:vtep发现内部vni或者mac发生变化时可选实施例。图9是根据本发明实施例的vtep发现内部vni或者mac发生变化时的流程示意图,该过程包括但不限于如下具体的实现方式:

步骤s1,vtep发现内部vni或者mac发生变化;

步骤s2,vtep将变化的vni/mac/vtep相关信息发送给vtep信息服务器;

步骤s3,vtep信息服务器将变化的信息更新mac/vni/vtep缓存池。

场景6:vtep启动时向信息服务器注册和登记信息的可选实施例。图10是根据本发明实施例的vtep启动时向信息服务器注册和登记信息的流程示意图,该过程包括但不限于如下具体的实现方式:

步骤s1,vtep启动;

步骤s2,vtep将本身的vni/mac/vtep相关信息发送给vtep信息服务器;

步骤s3,vtep信息服务器将信息更新mac/vni/vtep缓存池。

相关技术中,vxlan在站点内转发单播流量时,直接查询本地vtep上的vxlan信息即可实现站内的转发,而vxlan在站点间转发单播流量时,必须知道对端mac所在的vtep信息,即走哪个隧道,这就涉及如何建立站点外隧道信息,通常使用arp泛洪的方式获取。而vxlan的泛洪,通常采用单播路由方式、组播路由方式、泛洪代理方式(服务器复制)。这些方式不可避免地造成了大量的网络包,不仅反馈周期长,并且造成大量的无用vtep处理消耗。在sdn和与云计算的背景下,vtep的大量业务将在软件实体和服务器上运行,本发明利用sdn的特性,将vtep的信息高度集中在vtep信息服务器,为所有vtep服务,降低了网络包数量,提高寻址效率,并且高度的集中带来了网络资源统计、优化的后续多种改进的可能。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例2

在本实施例中还提供了一种标识获取装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图11是根据本发明实施例的标识获取装置的结构框图一,如图11所示,该装置包括:

接收模块112,用于接收第一虚拟扩展局域网隧道终端vtep发送的用于请求获取第二vtep的标识的请求消息,其中,请求消息携带有第二vtep对应的媒体接入控制mac地址以及第二vtep对应的虚拟扩展局域网网络标识vni;

查询模块114,连接至上述接收模块112,用于根据mac地址和vni在本地的缓存池中查询第二vtep的标识,其中,缓存池中存储有第二vtep的标识,第二vtep对应的mac地址和第二vtep对应的vni三者的映射关系;

发送模块116,连接至上述查询模块114,用于向vni对应的所有vtep发送第二vtep的标识。

可选地,查询模块114,还用于在第一预定时间内未在缓存池中查询到mac地址;以及向vni对应的所有vtep发送第一消息,其中,第一消息用于指示未在缓存池中查询到mac地址,且第一消息中携带有指示信息,指示信息用于指示mac地址对应的vtep上报自身的vtep标识,mac地址和vni三者的映射关系。

可选地,发送模块112,还用于在向vni对应的所有vtep发送第二vtep的标识之后,接收第一vtep发送的变化后的第一vtep的标识,第一vtep对应的mac地址和第一vtep对应的vni的三者的映射关系;根据变化后的映射关系更新缓存池。

图12是根据本发明实施例的标识获取装置的结构框图二,如图12所示,该装置包括:

发送模块122,用于向预定服务器发送用于请求获取第二vtep的标识的请求消息,其中,请求消息携带有第二vtep对应的媒体接入控制mac地址以及第二vtep对应的虚拟扩展局域网网络标识vni;

接收模块124,连接至上述发送模块122,用于接收预定服务器响应请求消息的响应消息,其中,响应消息携带有在预定服务器本地的缓存池中查询到的第二vtep的标识,缓存池中存储有第二vtep的标识,第二vtep对应的mac地址和第二vtep对应的vni三者的映射关系;

获取模块126,连接至上述接收模块124,,用于根据响应消息获取第二vtep的标识。

可选地,接收模块124,还用于在接收预定服务器响应请求消息的响应消息之前,在第二预定时间内未收到预定服务器响应请求消息的响应消息,或者接收到预定服务器发送的第一消息,其中,第一消息用于指示未在缓存池中查询到mac地址;通过地址解析协议arp泛洪的方式获取第二vtep的标识。

可选地,发送模块122,还用于检索本地缓存的mac地址;在未检索到第二vtep对应的mac地址的情况下,向预定服务器发送用于请求获取第二vtep的标识的请求消息。

可选地,发送模块122,还用于检测到自身的vtep标识,自身的vtep标识对应的mac地址和自身的vtep标识对应的vni三者的映射关系发生变化;将变化后的映射关系发送给预定服务器。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

实施例3

本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项所述的方法。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

s1,接收第一虚拟扩展局域网隧道终端vtep发送的用于请求获取第二vtep的标识的请求消息,其中,请求消息携带有第二vtep对应的媒体接入控制mac地址以及第二vtep对应的虚拟扩展局域网网络标识vni;

s2,根据mac地址和vni在本地的缓存池中查询第二vtep的标识,其中,缓存池中存储有第二vtep的标识,第二vtep对应的mac地址和第二vtep对应的vni三者的映射关系;

s3,向vni对应的所有vtep发送第二vtep的标识。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在向vni对应的所有vtep发送第二vtep的标识之前,还包括:

s1,在第一预定时间内未在缓存池中查询到mac地址;

s2,向vni对应的所有vtep发送第一消息,其中,第一消息用于指示未在缓存池中查询到mac地址,且第一消息中携带有指示信息,指示信息用于指示mac地址对应的vtep上报自身的vtep标识,mac地址和vni三者的映射关系。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:向vni对应的所有vtep发送第二vtep标识包括以下至少之一:

s1,通过网络广播的方式向vni对应的所有vtep发送第二vtep标识;

s2,通过软件进程间通讯的方式向vni对应的所有vtep发送第二vtep标识。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在向vni对应的所有vtep发送第二vtep的标识之后,还包括:

s1,接收第一vtep发送的变化后的第一vtep的标识,第一vtep对应的mac地址和第一vtep对应的vni的三者的映射关系;

s2,根据变化后的映射关系更新缓存池。

本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项所述的方法。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

s1,向预定服务器发送用于请求获取第二vtep的标识的请求消息,其中,请求消息携带有第二虚拟扩展局域网隧道终端vtep对应的媒体接入控制mac地址以及第二vtep对应的虚拟扩展局域网网络标识vni;

s2,接收预定服务器响应请求消息的响应消息,其中,响应消息携带有在预定服务器本地的缓存池中查询到的第二vtep的标识,缓存池中存储有第二vtep的标识,第二vtep对应的mac地址和第二vtep对应的vni三者的映射关系;

s3,根据响应消息获取第二vtep的标识。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:在接收预定服务器响应请求消息的响应消息之后,还包括:

s1,根据第二vtep的标识向第二vtep发送数据。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:在接收预定服务器响应请求消息的响应消息之前,还包括:

s1,在第二预定时间内未收到预定服务器响应请求消息的响应消息,或者接收到预定服务器发送的第一消息,其中,第一消息用于指示未在缓存池中查询到mac地址;

s2,通过地址解析协议arp泛洪的方式获取第二vtep的标识。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:向预定服务器发送用于请求获取第二vtep的标识的请求消息包括:

s1,检索本地缓存的mac地址;

s2,在未检索到第二vtep对应的mac地址的情况下,向预定服务器发送用于请求获取第二vtep的标识的请求消息。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:在根据第二vtep的标识向第二vtep发送数据之后,还包括:

s1,检测到自身的vtep标识,自身的vtep标识对应的mac地址和自身的vtep标识对应的vni三者的映射关系发生变化;

s2,将变化后的映射关系发送给预定服务器。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本发明的实施例还提供了一种处理器,该处理器用于运行程序,其中,该程序运行时执行上述任一项方法中的步骤。

可选地,在本实施例中,上述程序用于执行以下步骤:

s1,接收第一虚拟扩展局域网隧道终端vtep发送的用于请求获取第二vtep的标识的请求消息,其中,请求消息携带有第二vtep对应的媒体接入控制mac地址以及第二vtep对应的虚拟扩展局域网网络标识vni;

s2,根据mac地址和vni在本地的缓存池中查询第二vtep的标识,其中,缓存池中存储有第二vtep的标识,第二vtep对应的mac地址和第二vtep对应的vni三者的映射关系;

s3,向vni对应的所有vtep发送第二vtep的标识。

可选地,在本实施例中,上述程序用于执行以下步骤:在向vni对应的所有vtep发送第二vtep的标识之前,还包括:

s1,在第一预定时间内未在缓存池中查询到mac地址;

s2,向vni对应的所有vtep发送第一消息,其中,第一消息用于指示未在缓存池中查询到mac地址,且第一消息中携带有指示信息,指示信息用于指示mac地址对应的vtep上报自身的vtep标识,mac地址和vni三者的映射关系。

可选地,在本实施例中,上述程序用于执行以下步骤:向vni对应的所有vtep发送第二vtep标识包括以下至少之一:

s1,通过网络广播的方式向vni对应的所有vtep发送第二vtep标识;

s2,通过软件进程间通讯的方式向vni对应的所有vtep发送第二vtep标识。

可选地,在本实施例中,上述程序用于执行以下步骤:在向vni对应的所有vtep发送第二vtep的标识之后,还包括:

s1,接收第一vtep发送的变化后的第一vtep的标识,第一vtep对应的mac地址和第一vtep对应的vni的三者的映射关系;

s2,根据变化后的映射关系更新缓存池。

本发明的实施例还提供了一种处理器,该处理器用于运行程序,其中,该程序运行时执行上述任一项方法中的步骤。

可选地,在本实施例中,上述程序用于执行以下步骤:

s1,向预定服务器发送用于请求获取第二vtep的标识的请求消息,其中,请求消息携带有第二虚拟扩展局域网隧道终端vtep对应的媒体接入控制mac地址以及第二vtep对应的虚拟扩展局域网网络标识vni;

s2,接收预定服务器响应请求消息的响应消息,其中,响应消息携带有在预定服务器本地的缓存池中查询到的第二vtep的标识,缓存池中存储有第二vtep的标识,第二vtep对应的mac地址和第二vtep对应的vni三者的映射关系;

s3,根据响应消息获取第二vtep的标识。

可选地,在本实施例中,上述程序用于执行以下步骤:在接收预定服务器响应请求消息的响应消息之后,还包括:

s1,根据第二vtep的标识向第二vtep发送数据。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:在接收预定服务器响应请求消息的响应消息之前,还包括:

s1,在第二预定时间内未收到预定服务器响应请求消息的响应消息,或者接收到预定服务器发送的第一消息,其中,第一消息用于指示未在缓存池中查询到mac地址;

s2,通过地址解析协议arp泛洪的方式获取第二vtep的标识。

可选地,在本实施例中,上述程序用于执行以下步骤:向预定服务器发送用于请求获取第二vtep的标识的请求消息包括:

s1,检索本地缓存的mac地址;

s2,在未检索到第二vtep对应的mac地址的情况下,向预定服务器发送用于请求获取第二vtep的标识的请求消息。

可选地,在本实施例中,上述程序用于执行以下步骤:在根据第二vtep的标识向第二vtep发送数据之后,还包括:

s1,检测到自身的vtep标识,自身的vtep标识对应的mac地址和自身的vtep标识对应的vni三者的映射关系发生变化;

s2,将变化后的映射关系发送给预定服务器。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1