基于casvxlan的mac地址信息同步方法及装置的制造方法

文档序号:9870013阅读:510来源:国知局
基于cas vxlan的mac地址信息同步方法及装置的制造方法
【技术领域】
[0001 ]本申请涉及网络通信技术领域,特别涉及一种基于CAS VXLAN的MAC地址信息同步方法及装置。
【背景技术】
[0002]VXLAN(VirtuaI extensible Local Area Network,虚拟可扩展局域网)是一种Overlay(交叠)的网络技术,使用MAC(Media Access Control,媒体访问控制)in UDP(UserDatagram Protocol,用户数据包协议)的方法进行封装,即,将原始报文封装在UDP报文里。
[0003 ] 典型的VXLAN网络的架构如图1所示,VXLAN网络中主要包括以下几个部分:
[0004]VM(Virtual Machine,虚拟机):在一台服务器上可以创建多台虚拟机,不同虚拟机可以属于不同VXLAN。属于同一 VXLAN的虚拟机处于同一个逻辑二层网络,彼此之间二层互通;属于不同VXLAN的虚拟机之间二层隔离。VXLAN通过VXLAN ID来标识,VXLAN ID又称VNI(VXLAN Network Identif ier,VXLAN网络标识符),其长度为24比特。
[0005]VTEP(VXLAN Tunnel End Point,VXLAN隧道端点):VXLAN网络的边缘设备。VXLAN的相关处理都在VTEP上进行。VTEP可以是一台独立的物理设备,也可以是虚拟机所在的服务器。
[0006]VXLAN隧道:两个VTEP之间的点到点逻辑隧道。VTEP为数据帧封装VXLAN头、UDP头和IP头后,通过VXLAN隧道将封装得到的VXLAN报文转发给对端VTEP,对端VTEP对其进行解封装。
[0007]核心设备:1P核心网络中的设备(如图1中的P设备)ο核心设备不参与VXLAN处理,仅需要根据VXLAN报文的目的IP地址对该VXLAN报文进行三层转发。
[0008]CAS(Cloud Automat1n System,云计算管理平台)VXLAN是在CAS虚拟化平台上开发的一套支持VXLAN功能的实现方案,该方案采用VTEP之间两两建立连接(IP( InternetProtocol,因特网协议)可达)的全连接方式建立VXLAN隧道。
[0009]在CASVXLAN方案中,VTEP接收到VM发来的用户报文之后,根据该用户报文的目的MAC地址在MAC地址表中查找匹配表项,若没有查找到匹配表项,则确定该用户报文所属的VXLAN,将该用户报文在所属的VXLAN内进行泛洪,S卩,通过该VXLAN内的除该用户报文的入接口以外的所有本地接口和VXLAN隧道转发该用户报文。其中,当通过VXLAN隧道转发该用户报文时,需要将该用户报文封装成VXLAN报文后发送给该VXLAN隧道的对端VTEP。这样会导致IP核心网络中有大量的VXLAN报文需要进行转发,占用了较大的网络带宽,降低了报文转发效率。

【发明内容】

[0010]有鉴于此,本申请提供了一种基于CASVXLAN的MAC地址信息同步方法及装置。
[0011]本申请的技术方案如下:
[0012]—方面,提供了一种基于CAS VXLAN的MAC地址信息同步方法,该方法应用于CASVXLAN网络中的VTEP,该方法包括:
[0013]在检测到任一 VM与本设备建立连接之后,在MAC地址表中添加该VM的MAC地址信息对应的本地MAC表项;
[0014]将MAC地址表的所有本地MAC表项中属于同一 VXLAN的MAC地址信息携带在LLDP报文中,将该LLDP报文封装成VXLAN报文后通过与该VXLAN相关联的VXLAN隧道发送给对端VTEP ;
[0015]接收到对端VTEP发来的VXLAN报文后进行解封装得到LLDP报文,根据该LLDP报文中携带的MAC地址信息更新MAC地址表。
[0016]其中,根据该LLDP报文中携带的MAC地址信息更新MAC地址表的方法包括:
[0017]确定接收到的VXLAN报文携带的VXLAN ID;
[0018]比较该LLDP报文中携带的MAC地址信息以及MAC地址表的所有远端MAC表项中对应于该VXLAN ID的MAC地址信息;
[0019]若该LLDP报文中携带的一MAC地址信息,在MAC地址表中不存在,则在MAC地址表中添加该MAC地址信息对应的远端MAC表项,其中,该远端MAC表项中的出接口为接收到该VXLAN报文的VXLAN隧道;
[0020]若MAC地址表的远端MAC表项中对应于该VXLAN ID的一MAC地址信息,在该LLDP报文中不存在,则从MAC地址表中删除该MAC地址信息对应的远端MAC表项;
[0021 ] 若该LLDP报文中携带的一MAC地址信息,在MAC地址表中存在,则在该MAC地址信息对应的远端MAC表项中的出接口是接收到该VXLAN报文的VXLAN隧道时,刷新该远端MAC表项的老化时间,在该MAC地址信息对应的远端MAC表项中的出接口不是接收到该VXLAN报文的VXLAN隧道时,将该出接口更新为该VXLAN隧道并刷新该远端MAC表项的老化时间。
[0022]其中,LLDP报文中的类型长度值TLV用于携带MAC地址信息。
[0023]另一方面,还提供了一种基于CASVXLAN的MAC地址信息同步装置,该装置应用于CAS VXLAN网络中的VTEP中,该装置包括:
[0024]MAC表项添加模块,用于在检测到任一 VM与本设备建立连接之后,在MAC地址表中添加该VM的MAC地址信息对应的本地MAC表项;
[0025]报文封装模块,用于将MAC地址表的所有本地MAC表项中属于同一 VXLAN的MAC地址信息携带在LLDP报文中,将该LLDP报文封装成VXLAN报文;
[0026]发送模块,用于通过与该VXLAN相关联的VXLAN隧道,将报文封装模块封装得到的VXLAN报文发送给对端VTEP ;
[0027]接收模块,用于接收对端VTEP发来的VXLAN报文;
[0028]报文解封装模块,用于对接收模块接收到的VXLAN报文进行解封装得到LLDP报文;
[0029]MAC表项更新模块,用于根据报文解封装模块解封装得到的LLDP报文中携带的MAC地址信息更新MAC地址表。
[0030]其中,MAC表项更新模块包括:
[0031]确定单元,用于确定接收模块接收到的VXLAN报文携带的VXLANID;
[0032]比较单元,用于比较报文解封装模块解封装得到的LLDP报文中携带的MAC地址信息以及MAC地址表的所有远端MAC表项中对应于该VXLAN ID的MAC地址信息;
[0033]添加单元,用于若比较单元的比较结果是该LLDP报文中携带的一MAC地址信息,在MAC地址表中不存在,则在MAC地址表中添加该MAC地址信息对应的远端MAC表项,其中,该远端MAC表项中的出接口为接收到该VXLAN报文的VXLAN隧道;
[0034]删除单元,用于若比较单元的比较结果是MAC地址表的远端MAC表项中对应于该VXLAN ID的一MAC地址信息,在该LLDP报文中不存在,则从MAC地址表中删除该MAC地址信息对应的远端MAC表项;
[0035 ] 更新单元,用于若比较单元的比较结果是该LLDP报文中携带的一 MAC地址信息,在MAC地址表中存在,则在该MAC地址信息对应的远端MAC表项中的出接口是接收到该VXLAN报文的VXLAN隧道时,刷新该远端MAC表项的老化时间,在该MAC地址信息对应的远端MAC表项中的出接口不是接收到该VXLAN报文的VXLAN隧道时,将该出接口更新为该VXLAN隧道并刷新该远端MAC表项的老化时间。
[0036]其中,LLDP报文中的TLV用于携带MAC地址信息。
[0037]本申请的以上技术方案中,实现了以下技术效果:
[0038]VXLAN隧道两端的VTEP之间通过交互LLDP报文,能够相互同步本设备连接的属于该VXLAN的VM的MAC地址信息,从而,通过MAC地址信息的同步,减少了目的MAC地址未知的用户报文的数量,进一步减少了封装有目的MAC地址未知的用户报文的VXLAN报文在IP核心网络中的转发数量,节约了网络带宽,提高了报文转发效率。
【附图说明】
[0039]图1是典型的VXLAN网络的架构示意图;
[0040]图2是本申请实施例的CASVXLAN的MAC地址信息同步方法的流程图;
[0041 ]图3是LLDP报文的格式示意图;
[0042]图4是本申请实施例的CASVXLAN的MAC地址信息同步装置的结构示意图。
【具体实施方式】
[0043]为了解决现有技术中存在的IP核心网络中有大量的封装有目的MAC地址未知的用户报文的VXLAN报文需要进行转发,占用了较大的网络带宽,降低了报文转发效率的问题,本申请实施例中提供了一种基于CAS VXLAN的MAC地址信息同步方法,以及一种可以应用该方法的基于CAS VXLAN的MAC地址信息同步装置。
[0044]本申请实施例的基于CASVXLAN的MAC地址信息同步方法包括以下内容:
[0045]VTEP在检测到任一VM与本设备建立了连接之后,即可获知该VM的MAC地址信息,从而会在MAC地址表中添加该VM的MAC地址信息对应的MAC表项,为了描述方便,本申请实施例中将通过这种方式添加的MAC表项称为本地MAC表项。
[0046]后续,VTEP可以根据用户配置决定是否开启MAC地址信息同步功能,如果开启此功能,并且,VTEP支持LLDP功能,则会执行如图2所示的MAC地址信息同步方法。
[0047 ] 如图2所示,VTEP执行的MAC地址信息同步方法包括以下步骤:
[0048]步骤S102,将MAC地址表的所有本地MAC表项中属于同一 VXLAN的MAC地址信息携带在LLDP报文中;
[0049]步骤S104,将该LLDP报文封装成VXLAN报文后通过与该VXLAN相关联的VXLAN隧道发送给对端VTEP;
[0050]具体的,在该LLDP报文中添加VXLAN头、外层UDP头和外层IP头,得到VXLAN报文。[0051 ] 在实际实施过程中,可以在MAC地址表的本地MAC表项发生变化时,例如,新增了本地MAC表项和删除了本地MAC表项时,执行步骤S102?步骤S104 ;也可以周期性的执行步骤S102?步骤S104;或者,也可以采用两种方式相结合的方式,本申请实施例对此不做限定。
[0052]步骤S106,接收到对端VTEP发来的VXLAN报文后进行解封装得到LLDP报文;
[0053]具体的,从该VXLAN报文中剥离外层IP头、外层UDP头和VXLAN头,得至IjLLDP报文。
[0054]步骤S108,根据接收到的LLDP报文中携带的MAC地址信息更新MAC地址表。
[0055]具体的,在步骤S108中,先确定接收到的VXLAN报文携带的VXLANID(为了描述方便,记为VLANl),然后,比较该LLDP报文中携带的MAC地址信息以及MAC地址表的所有远端MAC表项(远端MAC表项即为根据LLDP报文中携带的MAC地址信息学习到的MAC表项)中对应于VLANl的MAC地址信息,会存在以下三种比较结果:
[0056]比较结果一:该LLDP报文中携带了一MAC地址信息(为了描述方便,记为MAC1),而在MAC地址表中不存在属于VLANl的MACl,说明对端VTEP的MAC地址表中新增了
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1