一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

MAC地址表的更新方法及装置与流程

2022-05-21 05:42:13 来源:中国专利 TAG:

mac地址表的更新方法及装置
技术领域
1.本发明涉及通信技术领域,尤指一种mac地址表的更新方法及装置。


背景技术:

2.虚拟可扩展局域网(virtual extensible local area network,vxlan)是一种建立在互联网协议(internet protocol,ip)网络之上的叠加(overlay)网络技术,其使用媒体访问控制(media access control,mac)在(in)用户数据报协议(user datagram protocol,udp)的方法进行封装,即将普通以太网报文封装在udp报文里,普通以太网报文当作udp数据传输。
3.虚拟可扩展局域网隧道终端(vxlan tunnel end point,vtep)是vxlan的边缘设备,与物理网络相连,分配有物理网络的互联网协议(internet protocol,ip)地址,该地址用于vxlan报文的封装和解封装,vtep之间在ip网络上建立vxlan隧道,这些vxlan隧道实现了vxlan报文穿越ip网络的传输服务。vtep之间可以采用集中式部署架构,也就是将overlay网络中的vtep分为两层:vxlan网桥和vxlan网关。
4.如图1所示为vxlan的集中式部署架构示意图,vxlan网桥是主机直接接入的vtep,vxlan网桥上配置了vxlan网络标识(vxlan network identifier,vni),vxlan网桥只能进行vxlan报文的二层转发,即基于mac地址表在同一个vni内进行vxlan报文的二层转发报文。vxlan网关一般不直接和主机直连,vxlan网关和所有的vxlan网桥互联并建立vxlan隧道,来自主机的报文需要通过vxlan网桥封装成vxlan报文,经过vxlan隧道转发后到达vxlan网关,vxlan网关可以进行vxlan报文的三层转发,即基于vxlan路由表和地址解析协议(address resolution protocol,arp)邻接表进行跨vni的vxlan报文的三层转发。
5.以太虚拟专用网络(ethernet virtual private network,evpn)使用边界网关协议(border gateway protocol,bgp)作为上层控制协议,使得虚拟专用网络(virtual private network,vpn)的拓扑更加具有灵活性。在vxlan中,vtep直接利用evpn协议进行vxlan隧道的建立与维护,并学习vxlan隧道对端设备的媒体访问控制(media access control address,mac)地址。
6.正常情况下vxlan网桥上会学习到vxlan网关的mac地址,并在mac地址表中建立vxlan网关的mac地址的表项。主机访问vxlan网关的报文会基于建立的表项被转发到vxlan网关上。在异常情况下,例如主机发起网络攻击,使用vxlan网关的mac地址向vxlan网桥发送报文,此时,vxlan网桥会基于该mac地址重新学习表项,该表项指向的是发起网络攻击的主机,后面接收到访问vxlan网关的报文后,会基于该表项转发到发起网络攻击的主机,而不会发送到vxlan网关上,从而导致其他主机无法正常访问vxlan网关。
7.不仅仅是在vxlan中,只要存在网桥和网关的选定网络中,且网桥与网关之间建立evpn,都会存在上述主机无法正常访问网关的问题。


技术实现要素:

8.本发明实施例提供一种mac地址表的更新方法及装置,用以解决现有技术中存在的导致其他主机无法正常访问网关的问题。
9.根据本发明实施例,提供一种mac地址表的更新方法,应用于选定网络包括的各个网桥中,所述选定网络还包括与各个网桥连接的至少一个网关,所述至少一个网关分别与各个网桥之间建立以太虚拟专用网络evpn,其特征在于,所述方法包括:
10.接收到下联的主机发送的报文后,获取所述报文的第一源mac地址;
11.在mac地址表中查找包括所述第一源mac地址的第一表项,所述mac地址表中所述至少一个网关的mac地址的类型设置为静态mac地址;
12.若在所述mac地址表中查找到所述第一表项,则确定所述第一表项中所述第一源mac地址的类型是否为静态mac地址;
13.若确定所述第一表项中所述第一源mac地址的类型为静态mac地址,则不更新所述第一表项。
14.可选的,还包括:
15.接收所述至少一个网关发送的evpn 2类路由后,获取所述evpn 2类路由携带的第二源mac地址;
16.确定所述evpn 2类路由的设定字段是否携带设定标识;
17.若确定所述设定字段携带所述设定标识,则在所述mac地址表中建立与所述第二源mac地址对应的第二表项;
18.将所述第二表项中所述第二源mac地址的类型设置为静态mac地址。
19.可选的,还包括:
20.若在所述mac地址表中未查找到所述第一表项,则基于所述第一源mac地址在所述mac地址表中建立所述第一表项。
21.可选的,还包括:
22.若确定所述第一表项中所述第一源mac地址的类型不为静态mac地址,则基于所述第一源mac地址更新所述第一表项。
23.根据本发明实施例,还提供一种mac地址表的更新装置,应用于选定网络包括的各个网桥中,所述选定网络还包括与各个网桥连接的至少一个网关,所述至少一个网关分别与各个网桥之间建立以太虚拟专用网络evpn,所述装置包括:
24.第一获取模块,用于接收到下联的主机发送的报文后,获取所述报文的第一源mac地址;
25.查找模块,用于在mac地址表中查找包括所述第一源mac地址的第一表项,所述mac地址表中所述至少一个网关的mac地址的类型设置为静态mac地址;
26.第一确定模块,用于若在所述mac地址表中查找到所述第一表项,则确定所述第一表项中所述第一源mac地址的类型是否为静态mac地址;
27.处理模块,用于若确定所述第一表项中所述第一源mac地址的类型为静态mac地址,则不更新所述第一表项。
28.可选的,还包括:
29.第二获取模块,用于接收所述至少一个网关发送的evpn 2类路由后,获取所述
evpn 2类路由携带的第二源mac地址;
30.第二确定模块,用于确定所述evpn 2类路由的设定字段是否携带设定标识;
31.第一建立模块,用于若确定所述设定字段携带所述设定标识,则在所述mac地址表中建立与所述第二源mac地址对应的第二表项;
32.设置模块,用于将所述第二表项中所述第二源mac地址的类型设置为静态mac地址。
33.可选的,还包括:
34.第二建立模块,用于若在所述mac地址表中未查找到所述第一表项,则基于所述第一源mac地址在所述mac地址表中建立所述第一表项。
35.可选的,还包括:
36.更新模块,用于mac地址的类型不为静态mac地址,则基于所述第一源mac地址更新所述第一表项。
37.根据本发明实施例,还提供一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
38.存储器,用于存放计算机程序;
39.处理器,用于执行存储器上所存储的程序时,实现上述的方法步骤。
40.根据本发明实施例,还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法步骤。
41.本发明有益效果如下:
42.本发明实施例提供一种mac地址表的更新方法及装置,通过接收到下联的主机发送的报文后,获取所述报文的第一源mac地址;在mac地址表中查找包括所述第一源mac地址的第一表项,所述mac地址表中所述至少一个网关的mac地址的类型设置为静态mac地址;若在所述mac地址表中查找到所述第一表项,则确定所述第一表项中所述第一源mac地址的类型是否为静态mac地址;若确定所述第一表项中所述第一源mac地址的类型为静态mac地址,则不更新所述第一表项。该方案中,网桥的mac地址表中至少一个网关的mac地址的类型设置为静态mac地址,在接收到下联的主机发送的报文后,若在mac地址表中查找到包括报文的第一源mac地址的第一表项后,若确定第一表项中第一源mac地址的类型为静态mac地址,则不更新第一表项,也就是说不会基于下联的主机发送的报文来更新mac地址表中基于网关的mac地址建立的表项,即使下联的主机冒充网关发起网络攻击,也不会更改mac地址表中基于网关的mac地址建立起来的表项,从而可以确保正确转发下联的主机发往网关的报文,即确保下联的主机可以正确访问网关。
附图说明
43.图1为现有技术中的集中式部署结构的示意图;
44.图2为本发明实施例中一种mac地址表的更新方法的流程图;
45.图3为本发明实施例中一种mac地址表的更新装置的结构示意图;
46.图4为本技术示出的一种电子设备的结构示意图。
具体实施方式
47.针对现有技术中存在的导致其他主机无法正常访问网关的问题,本发明实施例提供一种mac地址表的更新方法,选定网络包括的各个网桥中,选定网络还包括与各个网桥连接的至少一个网关,至少一个网关分别与各个网桥之间建立以evpn,其中,选定网络可以但不限于为vxlan,该方法的流程如图2所示,执行步骤如下:
48.s21:接收到下联的主机发送的报文后,获取报文的第一源mac地址。
49.网桥下通常会接入多个主机,这些主机会与网桥之间通过发送报文进行通信,网桥接收到报文后,首先会获取报文的源mac地址,该源mac地址可以定义为第一源mac地址,第一源mac地址就是发送报文的mac地址。
50.s22:在mac地址表中查找包括第一源mac地址的第一表项。
51.其中,mac地址表中至少一个网关的mac地址的类型设置为静态mac地址。
52.通常,网桥接收到报文后,会进行mac地址的学习,具体可以在mac地址表中查找包括第一源mac地址的表项,该表项可以定义为第一表项。
53.s23:若在mac地址表中查找到第一表项,则确定第一表项中第一源mac地址的类型是否为静态mac地址。
54.若在mac地址表中查找到第一表项,说明之前学习过第一源mac地址的表项,还需要进一步确定第一表项中第一源mac地址的类型是否为静态mac地址。
55.若在mac地址表中未查找到第一表项,说明之前未学习过第一源mac地址的表项,则直接可以基于第一源mac地址在mac地址表中建立第一表项。
56.s24:若确定第一表项中第一源mac地址的类型为静态mac地址,则不更新第一表项。
57.若确定第一表项中第一源mac地址的类型为静态mac地址,由于mac地址表中至少一个网关的mac地址的类型设置为静态mac地址,mac地址的类型可以分为静态mac地址和动态mac地址,而静态mac地址的优先级高于动态mac地址的优先级,因此可以不更新第一表项。
58.若确定第一表项中第一源mac地址的类型不为静态mac地址,可以学习第一源mac地址对应的表项,从而可以基于第一源mac地址更新第一表项。
59.该方案中,网桥的mac地址表中至少一个网关的mac地址的类型设置为静态mac地址,在接收到下联的主机发送的报文后,若在mac地址表中查找到包括报文的第一源mac地址的第一表项后,若确定第一表项中第一源mac地址的类型为静态mac地址,则不更新第一表项,也就是说不会基于下联的主机发送的报文来更新mac地址表中基于网关的mac地址建立的表项,即使下联的主机冒充网关发起网络攻击,也不会更改mac地址表中基于网关的mac地址建立起来的表项,从而可以确保正确转发下联的主机发往网关的报文,即确保下联的主机可以正确访问网关。
60.可选的,上述方法还包括:
61.接收至少一个网关发送的evpn 2类路由后,获取evpn 2类路由携带的第二源mac地址;
62.确定evpn 2类路由的设定字段是否携带设定标识;
63.若确定设定字段携带设定标识,则在mac地址表中建立与第二源mac地址对应的第
二表项;
64.将第二表项中第二源mac地址的类型设置为静态mac地址。
65.evpn 2类路由用于vtep之间同步学习mac地址表的表项,网桥若接收到至少一个网关发送的evpn 2类路由,可以首先获取evpn 2类路由携带的源mac地址(该源mac地址可以定义为第二源mac地址),还需要进一步确定evpn 2类路由的设定字段是否携带设定标识,若确定设定字段携带设定标识,则在mac地址表中建立与第二源mac地址对应的表项(可以定义为第二表项),还需要进一步将第二表项中第二源mac地址的类型设置为静态mac地址。
66.其中,设定字段可以但不限于为扩展团体属性,设定标识可以但不限于为default gateway extended community和/或置上sticky/static标志位的mac mobility extended community。
67.基于同一发明构思,本发明实施例提供一种mac地址表的更新装置,应用于选定网络包括的各个网桥中,选定网络还包括与各个网桥连接的至少一个网关,至少一个网关分别与各个网桥之间建立以太虚拟专用网络evpn,该装置的结构如图3所示,包括:
68.第一获取模块31,用于接收到下联的主机发送的报文后,获取报文的第一源mac地址;
69.查找模块32,用于在mac地址表中查找包括第一源mac地址的第一表项,mac地址表中至少一个网关的mac地址的类型设置为静态mac地址;
70.第一确定模块33,用于若在mac地址表中查找到第一表项,则确定第一表项中第一源mac地址的类型是否为静态mac地址;
71.处理模块34,用于若确定第一表项中第一源mac地址的类型为静态mac地址,则不更新第一表项。
72.该方案中,网桥的mac地址表中至少一个网关的mac地址的类型设置为静态mac地址,在接收到下联的主机发送的报文后,若在mac地址表中查找到包括报文的第一源mac地址的第一表项后,若确定第一表项中第一源mac地址的类型为静态mac地址,则不更新第一表项,也就是说不会基于下联的主机发送的报文来更新mac地址表中基于网关的mac地址建立的表项,即使下联的主机冒充网关发起网络攻击,也不会更改mac地址表中基于网关的mac地址建立起来的表项,从而可以确保正确转发下联的主机发往网关的报文,即确保下联的主机可以正确访问网关。
73.可选的,还包括:
74.第二获取模块,用于接收至少一个网关发送的evpn 2类路由后,获取evpn 2类路由携带的第二源mac地址;
75.第二确定模块,用于确定evpn 2类路由的设定字段是否携带设定标识;
76.第一建立模块,用于若确定设定字段携带设定标识,则在mac地址表中建立与第二源mac地址对应的第二表项;
77.设置模块,用于将第二表项中第二源mac地址的类型设置为静态mac地址。
78.可选的,还包括:
79.第二建立模块,用于若在mac地址表中未查找到第一表项,则基于第一源mac地址在mac地址表中建立第一表项。
80.可选的,还包括:
81.更新模块,用于mac地址的类型不为静态mac地址,则基于第一源mac地址更新第一表项。
82.本技术实施例还提供了一种电子设备,请参见图4所示,包括处理器410、通信接口420、存储器430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。
83.存储器430,用于存放计算机程序;
84.处理器410,用于执行存储器430上所存放的程序时,实现上述实施例中任一所述的mac地址表的更新方法。
85.通信接口420用于上述电子设备与其他设备之间的通信。
86.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
87.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
88.该方案中,网桥的mac地址表中至少一个网关的mac地址的类型设置为静态mac地址,在接收到下联的主机发送的报文后,若在mac地址表中查找到包括报文的第一源mac地址的第一表项后,若确定第一表项中第一源mac地址的类型为静态mac地址,则不更新第一表项,也就是说不会基于下联的主机发送的报文来更新mac地址表中基于网关的mac地址建立的表项,即使下联的主机冒充网关发起网络攻击,也不会更改mac地址表中基于网关的mac地址建立起来的表项,从而可以确保正确转发下联的主机发往网关的报文,即确保下联的主机可以正确访问网关。
89.相应地,本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的mac地址表的更新方法。
90.该方案中,网桥的mac地址表中至少一个网关的mac地址的类型设置为静态mac地址,在接收到下联的主机发送的报文后,若在mac地址表中查找到包括报文的第一源mac地址的第一表项后,若确定第一表项中第一源mac地址的类型为静态mac地址,则不更新第一表项,也就是说不会基于下联的主机发送的报文来更新mac地址表中基于网关的mac地址建立的表项,即使下联的主机冒充网关发起网络攻击,也不会更改mac地址表中基于网关的mac地址建立起来的表项,从而可以确保正确转发下联的主机发往网关的报文,即确保下联的主机可以正确访问网关。
91.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产
生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
92.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
93.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
94.尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。
95.显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献