MAC映射表处理方法、装置、控制器和系统制造方法及图纸

技术编号:28301019 阅读:31 留言:0更新日期:2021-04-30 16:29
本公开公开了一种MAC映射表处理方法、装置、控制器和系统,涉及IP网络智能化领域。其中的方法包括:对MAC映射表中的MAC地址进行聚合,得到基础MAC地址和MAC掩码地址;去除MAC映射表中的具有连续数值的MAC地址中的非基础MAC地址,并添加对应的MAC掩码地址,形成聚合映射表;将聚合映射表发送至对应的VTEP;VTEP在接收到数据包后,将数据包的目的MAC地址与接收的聚合映射表和自身形成的聚合映射表进行比对,确定目的VTEP,并根据目的VTEP进行数据转发。本公开能有效控制各VTEP上的映射表容量和增长速度,能够更灵活地实现大规模网络环境下大二层网络的搭建。

【技术实现步骤摘要】
MAC映射表处理方法、装置、控制器和系统
本公开涉及IP网络智能化领域,尤其涉及一种MAC映射表处理方法、装置、控制器和系统。
技术介绍
云计算环境下,一般基于隧道方式来搭建跨主机、跨机架以及跨IDC(InternetDataCenter,互联网数据中心)的大二层网络,常用的隧道技术有VxLAN(VirtualExtensibleLocalAreaNetwork,虚拟扩展局域网)、nvGRE(NetworkVirtualizationusingGenericRoutingEncapsulation,使用通用路由封装的网络虚拟化)等。基于隧道方式的Overlay(一种网络架构上叠加的虚拟化技术模式)网络架构中,各VTEP(VXLANTunnelEndPoint,VXLAN隧道终端)一般需要通过自学习的方式来形成转发数据表所需的MAC(MediaAccessControl,媒体访问控制)/VTEP映射表。但相关技术中,即使虚拟机的MAC的分布很有规律,这种基于自学习方式形成的MAC映射表无法也实现自动聚合,每台虚拟机均需要映射表中的一个表项来存储。在虚拟机数量规模巨大的大二层网络,基于该方式形成的VTEP映射表会对各VTEP形成较大的压力。
技术实现思路
本公开要解决的一个技术问题是,提供一种MAC映射表处理方法、装置、控制器和系统,能够减少MAC映射表对各类VTEP的容量压力。根据本公开一方面,提出一种MAC映射表处理方法,包括:第一虚拟扩展局域网隧道终端VTEP对媒体访问控制MAC映射表中的MAC地址进行聚合,得到基础MAC地址和MAC掩码地址;第一VTEP去除MAC映射表中的具有连续数值的MAC地址中的非基础MAC地址,并添加对应的MAC掩码地址,形成聚合映射表;第一VTEP将聚合映射表发送至第二VTEP;第二VTEP在接收到数据包后,将数据包的目的MAC地址与接收的聚合映射表和自身形成的聚合映射表进行比对,确定目的VTEP,并根据目的VTEP进行数据转发。在一些实施例中,第一VTEP得到MAC掩码地址包括:第一VTEP将MAC映射表中的基础MAC地址的数值,依次与具有连续数值的MAC地址中的其他MAC地址的数值进行第一异或运算;确定第一异或运算结果中多位连续数值的位置;将多位连续数值所在位置的数字设置为1,得到与基础MAC地址对应的MAC掩码地址。在一些实施例中,第一VTEP得到MAC掩码地址还包括:第一VTEP将MAC映射表中的离散MAC地址的各位置的数值设置为0,得到与离散MAC地址对应的MAC掩码地址。在一些实施例中,第一VTEP得到基础MAC地址包括:第一VTEP将MAC映射表中的MAC地址,按照数值由小到大的顺序进行排序;根据排序结果,将具有连续数值的MAC地址中的第一个MAC地址作为基础MAC地址。在一些实施例中,第二VTEP确定目的VTEP包括:第二VTEP将数据包的目的MAC地址,与接收的聚合映射表和自身形成的聚合映射表中的第i个MAC地址进行第二异或运算,其中,接收的聚合映射表和自身形成的聚合映射表中有N个MAC地址,i为大于等于1小于等于N的正整数;将第二异或运算结果与第i个MAC地址对应的MAC掩码地址进行或运算;将或运算结果与第i个MAC地址对应的MAC掩码地址进行第三异或运算;若第三异或运算结果的全部数值为0,则第i个MAC地址对应的VTEP为目的VTEP。在一些实施例中,若第三异或运算结果中没有全部数值为0对应的MAC地址,则第二VTEP利用泛洪方式进行数据转发。根据本公开的另一方面,还提出一种VTEP,包括:MAC地址聚合单元,被配置为对媒体访问控制MAC映射表中的MAC地址进行聚合,得到基础MAC地址和MAC掩码地址;聚合映射表形成单元,被配置为去除MAC映射表中的具有连续数值的MAC地址中的非基础MAC地址,并添加对应的MAC掩码地址,形成聚合映射表;聚合映射表发送单元,被配置为将聚合映射表发送至第二虚拟扩展局域网隧道终端VTEP;目的VTEP确定单元,被配置为在接收到数据包后,将数据包的目的MAC地址与接收的聚合映射表和自身形成的聚合映射表进行比对,确定目的VTEP;数据转发单元,被配置为根据目的VTEP进行数据转发。根据本公开的另一方面,还提出一种MAC映射表处理方法,包括:接收各虚拟扩展局域网隧道终端VTEP上报的媒体访问控制MAC映射表;对属于同一VTEP的MAC映射表中的MAC地址进行聚合,得到基础MAC地址和MAC掩码地址;去除各VTEP的MAC映射表中的具有连续数值的MAC地址中的非基础MAC地址,并添加对应的MAC掩码地址,形成聚合映射表;将聚合映射表按照需求发送至对应的VTEP,以便VTEP在接收到数据包后,将数据包的目的MAC地址与聚合映射表进行比对,确定目的VTEP,并根据目的VTEP进行数据转发。在一些实施例中,得到MAC掩码地址包括:将属于同一VTEP的MAC映射表中的基础MAC地址的数值,依次与具有连续数值的MAC地址中的其他MAC地址的数值进行第一异或运算;确定第一异或运算结果中多位连续数值的位置;将多位连续数值所在位置的数字设置为1,得到与基础MAC地址对应的MAC掩码地址。在一些实施例中,得到MAC掩码地址还包括:将属于同一VTEP的MAC映射表中的离散MAC地址的各位置的数值设置为0,得到与离散MAC地址对应的MAC掩码地址。在一些实施例中,得到基础MAC地址包括:将属于同一VTEP的MAC映射表中的MAC地址,按照数值由小到大的顺序进行排序;根据排序结果,将具有连续数值的MAC地址中的第一个MAC地址作为基础MAC地址。根据本公开的另一方面,还提出一种控制器,包括:MAC映射表接收单元,被配置为接收各虚拟扩展局域网隧道终端VTEP上报的媒体访问控制MAC映射表;MAC地址聚合确定单元,被配置为对属于同一VTEP的MAC映射表中的MAC地址进行聚合,得到基础MAC地址和MAC掩码地址;聚合映射表确定单元,被配置为去除各VTEP的MAC映射表中的具有连续数值的MAC地址中的非基础MAC地址,并添加对应的MAC掩码地址,形成聚合映射表;聚合映射表分发单元,被配置为将聚合映射表按照需求发送至对应的VTEP,以便VTEP在接收到数据包后,将数据包的目的MAC地址与聚合映射表进行比对,确定目的VTEP,并根据目的VTEP进行数据转发。根据本公开的另一方面,还提出一种MAC映射表处理系统,包括:上述的控制器;以及VTEP,被配置为向控制器上报MAC映射表,以及在接收到数据包后,将数据包的目的MAC地址与聚合映射表进行比对,确定目的VTEP,并根据目的VTEP进行数据转发。在一些实施例中,VTEP被配置为将数据包的目的MAC地址与聚合映射表中的第i个MAC地址进行第二异或运算,其中,聚合映射表中有N个MAC地址,i为大于等于1小于等于N的正整数;将第二异或运算结果与第i个MAC地址对应的MAC掩码地址进行或运算;将或运算结果与第i个MAC地址对应的MA本文档来自技高网...

【技术保护点】
1.一种MAC映射表处理方法,包括:/n第一虚拟扩展局域网隧道终端VTEP对媒体访问控制MAC映射表中的MAC地址进行聚合,得到基础MAC地址和MAC掩码地址;/n所述第一VTEP去除所述MAC映射表中的具有连续数值的MAC地址中的非基础MAC地址,并添加对应的所述MAC掩码地址,形成聚合映射表;/n所述第一VTEP将所述聚合映射表发送至第二VTEP;/n所述第二VTEP在接收到数据包后,将所述数据包的目的MAC地址与接收的聚合映射表和自身形成的聚合映射表进行比对,确定目的VTEP,并根据所述目的VTEP进行数据转发。/n

【技术特征摘要】
1.一种MAC映射表处理方法,包括:
第一虚拟扩展局域网隧道终端VTEP对媒体访问控制MAC映射表中的MAC地址进行聚合,得到基础MAC地址和MAC掩码地址;
所述第一VTEP去除所述MAC映射表中的具有连续数值的MAC地址中的非基础MAC地址,并添加对应的所述MAC掩码地址,形成聚合映射表;
所述第一VTEP将所述聚合映射表发送至第二VTEP;
所述第二VTEP在接收到数据包后,将所述数据包的目的MAC地址与接收的聚合映射表和自身形成的聚合映射表进行比对,确定目的VTEP,并根据所述目的VTEP进行数据转发。


2.根据权利要求1所述的MAC映射表处理方法,其中,所述第一VTEP得到MAC掩码地址包括:
所述第一VTEP将所述MAC映射表中的基础MAC地址的数值,依次与具有连续数值的MAC地址中的其他MAC地址的数值进行第一异或运算;
确定第一异或运算结果中多位连续数值的位置;
将所述多位连续数值所在位置的数字设置为1,得到与所述基础MAC地址对应的MAC掩码地址。


3.根据权利要求2所述的MAC映射表处理方法,其中,所述第一VTEP得到MAC掩码地址还包括:
所述第一VTEP将MAC映射表中的离散MAC地址的各位置的数值设置为0,得到与所述离散MAC地址对应的MAC掩码地址。


4.根据权利要求1至3任一所述的MAC映射表处理方法,其中,所述第一VTEP得到基础MAC地址包括:
所述第一VTEP将所述MAC映射表中的MAC地址,按照数值由小到大的顺序进行排序;
根据排序结果,将具有连续数值的MAC地址中的第一个MAC地址作为所述基础MAC地址。


5.根据权利要求1至3任一所述的MAC映射表处理方法,其中,所述第二VTEP确定目的VTEP包括:
所述第二VTEP将所述数据包的目的MAC地址,与所述接收的聚合映射表和自身形成的聚合映射表中的第i个MAC地址进行第二异或运算,其中,所述接收的聚合映射表和自身形成的聚合映射表中有N个MAC地址,i为大于等于1小于等于N的正整数;
将第二异或运算结果与所述第i个MAC地址对应的MAC掩码地址进行或运算;
将或运算结果与所述第i个MAC地址对应的MAC掩码地址进行第三异或运算;
若第三异或运算结果的全部数值为0,则所述第i个MAC地址对应的VTEP为所述目的VTEP。


6.根据权利要求5所述的MAC映射表处理方法,还包括:
若所述第三异或运算结果中没有全部数值为0对应的MAC地址,则所述第二VTEP利用泛洪方式进行数据转发。


7.一种VTEP,包括:
MAC地址聚合单元,被配置为对媒体访问控制MAC映射表中的MAC地址进行聚合,得到基础MAC地址和MAC掩码地址;
聚合映射表形成单元,被配置为去除所述MAC映射表中的具有连续数值的MAC地址中的非基础MAC地址,并添加对应的所述MAC掩码地址,形成聚合映射表;
聚合映射表发送单元,被配置为将所述聚合映射表发送至第二虚拟扩展局域网隧道终端VTEP;
目的VTEP确定单元,被配置为在接收到数据包后,将所述数据包的目的MAC地址与接收的聚合映射表和自身形成的聚合映射表进行比对,确定目的VTEP;
数据转发单元,被配置为根据所述目的VTEP进行数据转发。


8.一种MAC映射表处理方法,包括:
接收各虚拟扩展局域网隧道终端VTEP上报的媒体访问控制MAC映射表;
对属于同一VTEP的MAC映射表中的MAC地址进行聚合,得到基础MAC地址和MAC掩码地址;
去除各VTEP的MAC映射表中的具有连...

【专利技术属性】
技术研发人员:王爱俊
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1