CN104243318B - Vxlan网络中的mac地址学习方法及装置 - Google Patents

Vxlan网络中的mac地址学习方法及装置 Download PDF

Info

Publication number
CN104243318B
CN104243318B CN201410512469.3A CN201410512469A CN104243318B CN 104243318 B CN104243318 B CN 104243318B CN 201410512469 A CN201410512469 A CN 201410512469A CN 104243318 B CN104243318 B CN 104243318B
Authority
CN
China
Prior art keywords
mac address
tunnel
vxlan
list item
lsp messages
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410512469.3A
Other languages
English (en)
Other versions
CN104243318A (zh
Inventor
羊俊
曹辉
杜凤山
郭威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201410512469.3A priority Critical patent/CN104243318B/zh
Publication of CN104243318A publication Critical patent/CN104243318A/zh
Priority to PCT/CN2015/090355 priority patent/WO2016050158A1/en
Priority to US15/515,443 priority patent/US10956194B2/en
Application granted granted Critical
Publication of CN104243318B publication Critical patent/CN104243318B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4675Dynamic sharing of VLAN information amongst network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4675Dynamic sharing of VLAN information amongst network nodes
    • H04L12/4683Dynamic sharing of VLAN information amongst network nodes characterized by the protocol used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L2012/4629LAN interconnection over a backbone network, e.g. Internet, Frame Relay using multilayer switching, e.g. layer 3 switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Abstract

本申请公开了一种VXLAN网络中的MAC地址学习方法及装置,其中,该方法包括:接收到来自本地网络的数据报文后,进行源MAC地址的学习,将学习到的本地MAC地址表项添加到MAC地址转发表中;接收到来自隧道的数据报文后,不进行源MAC地址的学习;当MAC地址转发表中存在本地MAC地址表项的变化时,通过与变化的本地MAC地址表项中的VXLAN相关联的每一个隧道发送同步报文,将该同步报文保存到该隧道对应的数据库中,使得对端VTEP根据该同步报文更新该对端VTEP上的MAC地址转发表;其中,隧道与数据库一一对应。本申请在VXLAN网络中实现控制平面的MAC地址信息同步。

Description

VXLAN网络中的MAC地址学习方法及装置
技术领域
本申请涉及网络通信技术领域,特别涉及一种VXLAN网络中的MAC地址学习方法及装置。
背景技术
VXLAN(Virtual eXtensible Local Area Network,虚拟可扩展局域网)是一种Overlay(交叠)的网络技术,使用MAC(Media Access Control,媒体访问控制)in UDP(UserDatagram Protocol,用户数据包协议)的方法进行封装,即将原始报文封装在UDP报文里。
如图1所示,VXLAN网络中包括:由多个终端设备(例如,虚拟机)组成的本地网络和VTEP(VXLAN Tunnel End Point,VXLAN隧道终端),其中,VTEP是VXLAN网络的边缘设备,可以由物理交换机或者虚拟交换机实现,VTEP之间通过建立隧道(TUNNEL)来穿越三层网络进行数据通信。VXLAN网络由VNI(VXLAN Network Identifier,VXLAN网络标识)唯一标识,VNI的长度为24bit(比特)。
在VXLAN网络中,VTEP的MAC地址学习采用的是数据平面的自学习方式,即,VTEP只有在接收到数据帧时才会触发MAC地址学习,具体的,当从本地网络、或从隧道上接收到数据帧时,将该数据帧的源MAC(Media Access Control,媒体访问控制)地址及其对应的VXLAN学习到该数据帧的入端口上,并在本地的如表1所示的MAC地址转发表中配置相应的MAC地址表项。
表1
MAC地址 VXLAN 出接口
其中,当该数据帧是从本地网络接收到的时,配置的MAC地址表项中的出接口是VTEP上用于连接发出该数据帧的源终端设备的物理端口;当该数据帧是从隧道上接收到的时,配置的MAC地址表项中的出接口是接收到该数据帧的隧道。为了描述方便,以下将本地网络中的数据帧触发学习到的MAC地址表项称为本地MAC地址表项。
但是,这种MAC地址学习方式具有被动性、不及时和收敛慢的缺点。
发明内容
有鉴于此,本申请提供了一种VXLAN网络中的MAC地址学习方法及装置。
本申请的技术方案如下:
一方面,提供了一种VXLAN网络中的MAC地址学习方法,应用于VTEP,该方法包括:
接收到来自本地网络的数据报文后,进行源MAC地址的学习,将学习到的本地MAC地址表项添加到MAC地址转发表中;
接收到来自隧道的数据报文后,不进行源MAC地址的学习;
当MAC地址转发表中存在本地MAC地址表项的变化时,通过与变化的本地MAC地址表项中的VXLAN相关联的每一个隧道发送同步报文,将该同步报文保存到该隧道对应的数据库中,使得对端VTEP根据该同步报文更新该对端VTEP上的MAC地址转发表;其中,隧道与数据库一一对应。
另一方面,还提供了一种VXLAN网络中的MAC地址学习装置,应用于VTEP中,该装置包括:
接收模块,用于接收来自本地网络的数据报文以及来自隧道的数据报文;
保存模块,用于保存MAC地址转发表和与隧道对应的数据库;其中,隧道与数据库一一对应;
源MAC地址学习模块,用于在接收模块接收到来自本地网络的数据报文后,进行源MAC地址的学习,将学习到的本地MAC地址表项添加到MAC地址转发表中;还用于在接收模块接收到来自隧道的数据报文后,不进行源MAC地址的学习;
发送模块,用于当MAC地址转发表中存在本地MAC地址表项的变化时,通过与变化的本地MAC地址表项中的VXLAN相关联的每一个隧道发送同步报文,将该同步报文保存到该隧道对应的数据库中,使得对端VTEP根据该同步报文更新该对端VTEP上的MAC地址转发表。
本申请的以上技术方案中,提出了一种实现控制平面的MAC地址信息同步的方案。VTEP上的不同隧道具有彼此独立的数据库,用于保存通过该隧道收发的同步报文;任一VTEP在MAC地址转发表中存在本地MAC地址表项的变化,如新增或减少时,可以通过与新增或减少的本地MAC地址表项中的VXLAN相关联的隧道向对端VTEP发送同步报文,并将该同步报文保存到该隧道对应的数据库中,这样,对端VTEP就可以根据该同步报文更新该对端VTEP上的MAC地址转发表。从而,实现了隧道两端VTEP之间的本地MAC地址表项中的MAC地址信息的主动同步,弥补了现有技术的数据平面的自学习方式存在的被动性、不及时和收敛慢的缺点;由于及时进行了MAC地址同步,加快了网络收敛速度,减少了目的地址未知的单播数据报文的数量,减少了网络带宽资源的浪费。而且,每一个隧道对应一个独立的用于保存该隧道上收发的同步报文的数据库,存储更加方便。
附图说明
图1是VXLAN网络的一种实际组网架构图;
图2是本申请实施例的当新增了本地MAC地址表项时,VTEP执行的操作流程图;
图3是本申请实施例的用于携带VXLAN及其对应的MAC地址的TLV的格式示意图;
图4是本申请实施例的当减少了本地MAC地址表项时,VTEP执行的操作流程图;
图5是本申请实施例的在接收到对端VTEP发来的ISIS LSP报文后,VTEP执行的操作流程图;
图6是本申请实施例的MAC地址学习装置的一种结构示意图;
图7是本申请实施例的MAC地址学习装置的另一种结构示意图;
图8是本申请实施例的MAC地址学习装置的又一种结构示意图;
图9是本申请实施例的MAC地址学习装置的又一种结构示意图。
具体实施方式
为了解决现有技术中的数据平面的MAC地址自学习方式具有的被动性、不及时和收敛慢的缺点,本申请以下实施例中提供了一种VXLAN网络中的MAC地址学习方法,以及一种可以应用该方法的MAC地址学习装置,实现了控制平面的MAC地址信息同步。
本申请以下实施例应用于如图1所示的全连接架构的VXLAN网络中的任一VTEP上。在VTEP上,开启来自本地网络的数据报文的源MAC地址学习功能,关闭来自隧道的数据报文的源MAC地址学习功能。由于VXLAN网络需要在TUNNEL上运行,因此,在VTEP上分别配置好VXLAN和TUNNEL之后,还需要将VXLAN与TUNNEL进行关联或绑定。另外,为VTEP上的每一个隧道建立一个对应的数据库,即,隧道与数据库一一对应,使用数据库来存储通过对应隧道发送和接收的同步报文。
本申请实施例的方法中,任一VTEP接收到来自本地网络的数据报文后,进行源MAC地址的学习,将学习到的本地MAC地址表项添加到MAC地址转发表中;接收到来自隧道的数据报文后,不进行源MAC地址的学习;当MAC地址转发表中存在本地MAC地址表项的变化时,例如,新增或减少,通过与变化的本地MAC地址表项中的VXLAN相关联的每一个隧道发送同步报文,并将该同步报文保存到该隧道对应的数据库中,这样,对端VTEP就可以根据该同步报文更新该对端VTEP上的MAC地址转发表。
从而,任一VTEP在MAC地址转发表中存在本地MAC地址表项的变化,如新增或减少时,可以通过与新增或减少的本地MAC地址表项中的VXLAN相关联的隧道向对端VTEP发送同步报文,以通知对端VTEP更新该对端VTEP上的MAC地址转发表,实现了隧道两端VTEP之间的本地MAC地址表项中的MAC地址信息的主动同步,弥补了现有技术的数据平面的自学习方式存在的被动性、不及时和收敛慢的缺点;由于及时进行了MAC地址同步,加快了网络收敛速度,减少了目的地址未知的单播数据报文的数量,减少了网络带宽资源的浪费。而且,每一个隧道对应一个独立的用于保存该隧道上收发的同步报文的数据库,存储更加方便。
其中,上述的同步报文可以使用ISIS(Intermediate System to IntermediateSystem,中间系统到中间系统)协议报文或其它网络协议报文来实现,本申请对此不做限定。
以下以同步报文采用ISIS LSP(Link State Protocol Data Unit,链路状态协议数据单元)报文实现为例进行说明。在VTEP上使能ISIS协议,针对本设备上配置的每一个隧道,使用该隧道与该隧道的对端VTEP建立ISIS邻居。这样,任一VTEP均可以与本设备上配置的隧道的对端VTEP建立ISIS邻居,之后,就可以向隧道的对端VETP发送ISIS LSP报文,以及接收对端VTEP发来的ISIS LSP报文,并将收发的ISIS LSP报文保存到与该隧道对应的LSDB(Link State DataBase,链路状态数据库)中。
如图2所示,任一VTEP在检测到本设备上的MAC地址转发表中新增了本地MAC地址表项时,会执行以下操作:
步骤S102,确定与新增的本地MAC地址表项中的VXLAN相关联的至少一个隧道;之后执行步骤S104;
步骤S104,针对确定出的每一个隧道,判断该隧道对应的LSDB中是否存在满足以下条件的特定已发送ISIS LSP报文,若判断出不存在特定已发送ISISLSP报文,则执行步骤S106,若判断出存在特定已发送ISIS LSP报文,则执行步骤S108;
其中,该条件包括:可添加该新增的本地MAC地址表项中的MAC地址及其对应的VXLAN的已发送ISIS LSP报文,即,在特定已发送ISIS LSP报文中还有空闲空间可以携带该新增的本地MAC地址表项中的MAC地址及其对应的VXLAN。
步骤S106,生成携带有该新增的本地MAC地址表项中的MAC地址及其对应的VXLAN的ISIS LSP报文,通过该隧道将生成的ISIS LSP报文发送给对端VTEP,将生成的ISIS LSP报文保存到该隧道对应的LSDB中;
在实际实施过程中,在由小到大顺序编号的情况下,该生成的ISIS LSP报文中还会携带有未被占用的最小的报文ID(也可称为分片号)。
步骤S108,将该新增的本地MAC地址表项中的MAC地址及其对应的VXLAN添加到特定已发送ISIS LSP报文中,将添加后的特定已发送ISIS LSP报文通过该隧道发送给对端VTEP。
显然,添加后的特定已发送ISIS LSP报文的报文ID不变。
在实际实施过程中,ISIS LSP报文中包括报文头和报文体,其中,报文体是由至少一个TLV组成,需要携带的各类信息都封装在不同的TLV中。本申请实施例中,可以通过扩展一种新类型的TLV来携带MAC地址及其对应的VXLAN。如图3所示,该新类型的TLV中包括以下字段:
Type(类型):用于表示本TLV的类型,当Type字段的值置为特定值时,表示本TLV用于携带VXLAN及其对应的至少一个MAC地址,例如,该特定值可以是147;该字段的长度可以为1字节;
Length(长度):用于携带本TLV中除Type字段和Length字段以外的其它所有字段的长度,Length字段的值可以置为7+6*N,其中,N表示MAC地址的数量;该字段的长度可以为1字节;
Topology-Id(拓扑标识)/Nickname(昵称):用于根据实际应用环境标识发送者,在VXLAN网络中该字段无效,被设置为0,表示后面的MAC地址通过发出本TLV的源VTEP到达,不用区分拓扑和Nickname;该字段的长度可以为2字节;
Confidence(可信度):用于对冲突MAC地址的优选;该字段的长度可以为1字节;
RSV(保留位):填0;
TAG(标识位):该字段的值置为某一值,例如2时,表示紧接在后面的字段携带的是VXLAN;
VXLAN:用于携带VXLAN;RSV、TAG和VXLAN字段占用的总长度可以为4字节;
MAC:用于携带与前面的VXLAN对应的MAC地址;该字段的长度可以为6字节。
由此,在步骤S104中判断某一已发送ISIS LSP报文中是否可添加该新增的本地MAC地址表项中的MAC地址及其对应的VXLAN的方法可以是:计算报文最大长度(例如,1400字节)与该已发送ISIS LSP报文的长度之差A;判断该差值A是否不小于B,其中,B表示该新增的本地MAC地址表项中的MAC地址及其对应的VXLAN独占一个如图3所示的TLV时所需的长度,可以是15个字节;若不小于,则确定该已发送ISIS LSP报文中可添加该新增的本地MAC地址表项中的MAC地址及其对应的VXLAN,否则,确定不可添加。
在步骤S108中,将该新增的本地MAC地址表项中的MAC地址及其对应的VXLAN添加到特定已发送ISIS LSP报文中时,需要重新构造该特定已发送ISIS LSP报文。具体的,如果该特定已发送ISIS LSP报文中某一TLV携带的VXLAN与该新增的本地MAC地址表项中的VXLAN相同,则将该新增的本地MAC地址表项中的MAC地址添加到该TLV中,如果该特定已发送ISIS LSP报文中任一TLV携带的VXLAN均与该新增的本地MAC地址表项中的VXLAN不相同,则在该特定已发送ISIS LSP报文中添加一携带该新增的本地MAC地址表项中的MAC地址及其对应的VXLAN的TLV。从而,重新构造后的特定已发送ISIS LSP报文中对应于同一VXLAN的MAC地址携带在同一TLV中。
另外,如图4所示,任一VTEP在检测到本设备上的MAC地址转发表中减少了本地MAC地址表项时,会执行以下操作:
步骤S202,确定与该减少的本地MAC地址表项中的VXLAN相关联的至少一个隧道;之后执行步骤S204;
步骤S204,针对确定出的每一个隧道,从该隧道对应的LSDB中查找到携带有该减少的本地MAC地址表项中的MAC地址及其对应的VXLAN的已发送ISIS LSP报文;之后执行步骤S206;
由于该减少的本地MAC地址表项中的MAC地址及其对应的VXLAN之前已经携带在ISIS LSP报文中,通过与该VXLAN相关联的隧道同步出去过,因此,在步骤S204中,可以在这些隧道对应的LSDB中,查找到携带有该减少的本地MAC地址表项中的MAC地址及其对应的VXLAN的已发送ISIS LSP报文。
步骤S206,从步骤S204中查找到的已发送ISIS LSP报文中,删除该减少的本地MAC地址表项中的MAC地址及其对应的VXLAN,将删除后的已发送ISIS LSP报文通过该隧道发送给对端VTEP。
显然,删除后的已发送ISIS LSP报文的报文ID不变。
由如图3所示的TLV格式可以看出,在步骤S206中,从查找到的已发送ISIS LSP报文中删除该减少的本地MAC地址表项中的MAC地址(为了描述方便,记为MAC1)及其对应的VXLAN(为了描述方便,记为VXLAN1)时,需要重新构造该已发送ISIS LSP报文。具体的,由于在步骤S204中可以查找到携带有MAC1及其对应的VXLAN1的已发送ISIS LSP报文,并且,可以进一步查找到该已发送ISIS LSP报文中携带有MAC1及其对应的VXLAN1的TLV,因此,在步骤S206中从查找到的TLV中删除MAC1,若删除MAC1后该TLV中不存在任何MAC地址了,则将该TLV删除,若删除该TLV后,该已发送ISIS LSP报文中不存在任何TLV了,则将删除后的仅包含有报文头的ISIS LSP报文发送给对端VTEP,并在预定时间间隔,如60秒后,删除该ISISLSP报文;否则,若删除MAC1后该TLV中还存在其它MAC地址,或者,若删除该TLV后该ISISLSP报文中还存在其它TLV,则将删除后的ISIS LSP报文发送出去。
这样,通过如图2和图4所示的方法,任一VTEP在发现MAC地址转发表中新增或减少了本地MAC地址表项时,可以使用ISIS LSP报文同步给对端VTEP,而且,在同步时,只会同步给与新增或减少的本地MAC地址表项中的VXLAN相关联的隧道的对端VTEP,即,如果新增或减少的本地MAC地址表项中的VXLAN与任一隧道都不相关联,则新增或减少的本地MAC地址表项中的MAC地址及其对应的VXLAN不会通过任何隧道同步出去。因此,通过不同隧道同步出去的MAC地址及其对应的VXLAN可能是不同的。
任一VTEP还可以通过本设备上配置的一隧道,接收到该隧道的对端VTEP发来的ISIS LSP报文,此时,如图5所示,该VTEP会执行以下操作:
步骤S302,判断该隧道对应的LSDB中是否存在满足以下条件的特定已接收ISISLSP报文,若不存在特定已接收ISIS LSP报文,则执行步骤S304,否则,执行步骤S314;
其中,上述条件包括:与接收到的ISIS LSP报文的报文ID相同的已发送ISISLSP报文,即,特定已接收ISIS LSP报文与接收到的ISIS LSP报文的报文ID相同。
步骤S304,判断在本设备上,该接收到的ISIS LSP报文中携带的VXLAN与该隧道是否相关联,若是,则执行步骤S306,否则,结束本流程;
步骤S306,根据该接收到的ISIS LSP报文中携带的VXLAN及其对应的MAC地址,在本设备上的MAC地址转发表中查找对应的远端MAC地址表项;之后执行步骤S308;
步骤S308,判断在步骤S306中是否查找到了对应的远端MAC地址表项,若是,则执行步骤S310,否则,执行步骤S312;
步骤S310,将查找到的远端MAC地址表项中的出接口更新为该隧道;之后结束本流程;
假设,该接收到的ISIS LSP报文中携带的VXLAN及其对应的MAC地址分别是VXLAN1和MAC1,接收到该ISIS LSP报文的隧道是TUNNEL1,在步骤S306中查找到的远端MAC地址表项如表2-1所示,则在步骤S310中更新了出接口后的远端MAC地址表项如表2-2所示:
表2-1
MAC地址 VXLAN 出接口
MAC1 VXLAN1 TUNNEL2
表2-2
MAC地址 VXLAN 出接口
MAC1 VXLAN1 TUNNEL1
步骤S312,在本设备上的MAC地址转发表中添加远端MAC地址表项;之后结束本流程;
其中,添加的远端MAC地址表项中包括:该接收到的ISIS LSP报文中携带的VXLAN及其对应的MAC地址;该添加的远端MAC地址表项中的出接口置为该隧道。
假设,该接收到的ISIS LSP报文中携带的VXLAN及其对应的MAC地址分别是VXLAN1和MAC1,接收到该ISIS LSP报文的隧道是TUNNEL1,则在步骤S312中添加的远端MAC地址表项如表2-3所示:
表2-3
MAC地址 VXLAN 出接口
MAC1 VXLAN1 TUNNEL1
步骤S314,比较该接收到的ISIS LSP报文与特定已接收ISIS LSP报文;之后执行步骤S316;
步骤S316,判断步骤S314中的比较结果是比较结果1还是比较结果2,若是比较结果1,则执行步骤S318,若是比较结果2,则执行步骤S328;
其中,比较结果1是:该接收到的ISIS LSP报文中携带有对应于一VXLAN的MAC地址,而特定已接收ISIS LSP报文中没有携带对应于相同VXLAN的相同MAC地址,即,该接收到的ISIS LSP报文中携带的对应于一VXLAN的MAC地址,在特定已接收ISIS LSP报文中不存在;说明对端VTEP上的MAC地址表项中新增了包含有该VXLAN和该MAC地址的本地MAC地址表项。
比较结果2是:特定已接收ISIS LSP报文中携带有对应于一VXLAN的MAC地址,而该接收到的ISIS LSP报文中没有携带对应于相同VXLAN的相同MAC地址,即,特定已接收ISISLSP报文中携带的对应于一VXLAN的MAC地址,在该接收到的ISIS LSP报文中不存在;说明对端VTEP上的MAC地址表项中减少了包含有该VXLAN和该MAC地址的本地MAC地址表项。
步骤S318,判断在本设备上,该VXLAN与该隧道是否相关联,若是,则执行步骤S320,否则,结束本流程;
步骤S320,根据该VXLAN、该MAC地址和该隧道,在本设备上的MAC地址转发表中查找对应的远端MAC地址表项;之后执行步骤S322;
步骤S322,判断是否查找到了对应的远端MAC地址表项,若是,则执行步骤S324,否则,执行步骤S326;
步骤S324,将查找到的远端MAC地址表项中的出接口更新为该隧道;
假设,该接收到的ISIS LSP报文中携带有对应于VXLAN2的MAC2,而特定已接收ISIS LSP报文中没有携带对应于VXLAN2的MAC2,接收到该ISISLSP报文的隧道是TUNNEL1,在步骤S320中查找到的远端MAC地址表项如表3-1所示,则在步骤S324中更新了出接口后的远端MAC地址表项如表3-2所示:
表3-1
MAC地址 VXLAN 出接口
MAC2 VXLAN2 TUNNEL2
表3-2
MAC地址 VXLAN 出接口
MAC2 VXLAN2 TUNNEL1
步骤S326,在本设备上的MAC地址转发表中添加包含有该VXLAN和该MAC地址的远端MAC地址表项;
假设,该接收到的ISIS LSP报文中携带有对应于VXLAN2的MAC2,而特定已接收ISIS LSP报文中没有携带对应于VXLAN2的MAC2,接收到该ISISLSP报文的隧道是TUNNEL1,则在步骤S326中添加的远端MAC地址表项如表3-3所示:
表3-3
MAC地址 VXLAN 出接口
MAC2 VXLAN2 TUNNEL1
步骤S328,判断在本设备上,该VXLAN与该隧道是否相关联,若是,则执行步骤S330,否则,结束本流程;
步骤S330,根据该VXLAN、该MAC地址和该隧道,在本设备上的MAC地址转发表中查找对应的远端MAC地址表项;之后执行步骤S332;
步骤S332,判断是否查找到了对应的远端MAC地址表项,若是,则执行步骤S334,否则,结束本流程;
步骤S334,删除查找到的远端MAC地址表项,之后结束本流程。
另外,在上述方法中,在判断出存在特定已接收ISIS LSP报文之后,还需要将该特定已接收ISIS LSP报文替换为接收到的ISIS LSP报文。
通过如图5所示的方法,任一VTEP接收到隧道的对端VTEP发来的ISISLSP报文后,可以根据该隧道对应的LSDB报文中保存的已接收ISIS LSP报文,判断出该对端VTEP上是新增了还是减少了本地MAC地址表项。
可以看出,在本申请上述实施例中,将根据来自本地网络的数据报文学习到的MAC地址表项称为本地MAC地址表项,将根据隧道对端VTEP同步来的MAC地址信息学习到的MAC地址表项称为远端MAC地址表项。
在如图2、图4和图5所示的方法中,VTEP上的不同隧道具有彼此独立的LSDB,任一VTEP在发现本地MAC地址表项发生了变化,如新增或减少时,会利用ISIS LSP报文,通过与新增或减少的本地MAC地址表项中的VXLAN相关联的隧道,同步给该隧道的对端VTEP,并将该ISIS LSP报文保存到与该隧道对应的LSDB中;任一VTEP收到对端VTEP发来的ISIS LSP报文后,可以根据收到的该ISIS LSP报文、以及收到该ISIS LSP报文的隧道对应的LSDB中保存的已接收ISIS LSP报文,判断出该对端VTEP中新增或减少了本地MAC地址表项,则确定出在本设备上该新增或减少的本地MAC地址表项中的VXLAN与该隧道相关联之后,根据该新增或减少的本地MAC地址表项更新本设备上的MAC地址转发表,即,在本设备的MAC地址转发表中添加、删除或编辑对应的远端MAC地址表项,实现了隧道两端VTEP之间的本地MAC地址表项中的MAC地址信息的主动同步,弥补了现有技术的数据平面的自学习方式存在的被动性、不及时和收敛慢的缺点;由于及时进行了MAC地址同步,加快了网络收敛速度,减少了目的地址未知的单播数据报文的数量,减少了网络带宽资源的浪费。
以图1所示的VXLAN网络为例,详细说明上述实施例中的MAC地址学习方法。
VTEP1上配置了VXLAN1~VXLAN20,VXLAN类型的TUNNEL1和TUNNEL2;其中,TUNNEL1与VXLAN5~VXLAN15相关联,TUNNEL2与VXLAN10~VXLAN20相关联。VTEP1上新增的本地MAC地址表项如表4-1所示:
表4-1
MAC地址 VXLAN 出接口
MAC1 VXLAN1 XX
MAC10 VXLAN10 XX
VTEP2上配置了VXLAN5~VXLAN15,VXLAN类型的TUNNEL1和TUNNEL3;TUNNEL1与VXLAN5~VXLAN15相关联,TUNNEL3与VXLAN10~VXLAN15相关联。VTEP2上新增的本地MAC地址表项如表4-2所示:
表4-2
MAC地址 VXLAN 出接口
MAC5 VXLAN5 XX
MAC15 VXLAN15 XX
VTEP3上配置了VXLAN10~VXLAN30,VXLAN类型的TUNNEL2和TUNNEL3;TUNNEL2与VXLAN10~VXLAN20相关联,TUNNEL3与VXLAN10~VXLAN15相关联。VTEP3上新增的本地MAC地址表项如表4-3所示:
表4-3
MAC地址 VXLAN 出接口
MAC20 VXLAN20 XX
MAC30 VXLAN30 XX
VTEP1通过TUNNEL1与VTEP2建立了ISIS邻居,通过TUNNEL2与VTEP3建立了ISIS邻居;VTEP2通过TUNNEL1与VTEP1建立了ISIS邻居,通过TUNNEL3与VTEP3建立了ISIS邻居;VTEP3通过TUNNEL2与VTEP1建立了ISIS邻居,通过TUNNEL3与VTEP2建立了ISIS邻居。
VTEP1~VTEP3执行的MAC学习方法包括:
VTEP1将携带有MAC10及其对应的VXLAN10的ISIS LSP报文,通过TUNNEL1发送给VTEP2,并将该ISIS LSP报文保存到与TUNNEL1对应的LSDB中;将携带有MAC10及其对应的VXLAN10的ISIS LSP报文,通过TUNNEL2发送给VTEP3,并将该ISIS LSP报文保存到与TUNNEL2对应的LSDB;由于包含有MAC1及其对应的VXLAN1的本地MAC地址表项中的VXLAN1与任何TUNNEL均不相关联,则不会同步出去。
VTEP2将携带有MAC5及其对应的VXLAN5、MAC15及其对应的VXLAN15的ISIS LSP报文,通过TUNNEL1发送给VTEP1,并将该ISIS LSP报文保存到与TUNNEL1对应的LSDB中;将携带有MAC15及其对应的VXLAN15的ISIS LSP报文,通过TUNNEL3发送给VTEP3,并将该ISISLSP报文保存到与TUNNEL3对应的LSDB中。
VTEP3将携带有MAC20及其对应的VXLAN20的ISIS LSP报文,通过TUNNEL2发送给VTEP1,并将该ISIS LSP报文保存到与TUNNEL2对应的LSDB中;由于包含有MAC30及其对应的VXLAN30的本地MAC地址表项中的VXLAN30与任何TUNNEL均不相关联,则不会同步出去。
因此,VTEP1可以通过TUNNEL1接收到VTEP2发来的携带有MAC5及其对应的VXLAN5、MAC15及其对应的VXLAN15的ISIS LSP报文,并将该ISIS LSP报文保存到与TUNNEL1对应的LSDB中;通过TUNNEL2接收到VTEP3发来的携带有MAC20及其对应的VXLAN20的ISIS LSP报文,并将该ISIS LSP报文保存到与TUNNEL2对应的LSDB中;在如表4-1所示的MAC地址转发表中添加远端MAC地址表项,添加后的MAC地址转发表如表5-1所示:
表5-1
MAC地址 VXLAN 出接口
MAC1 VXLAN1 XX
MAC10 VXLAN10 XX
MAC5 VXLAN5 TUNNEL1
MAC15 VXLAN15 TUNNEL1
MAC20 VXLAN20 TUNNEL2
VTEP2可以通过TUNNEL1接收到VTEP1发来的携带有MAC10及其对应的VXLAN10的ISIS LSP报文,并将该ISIS LSP报文保存到与TUNNEL1对应的LSDB中;在如表4-2所示的MAC地址转发表中添加远端MAC地址表项,添加后的MAC地址转发表如表5-2所示:
表5-2
MAC地址 VXLAN 出接口
MAC5 VXLAN5 XX
MAC15 VXLAN15 XX
MAC10 VXLAN10 TUNNEL1
VTEP3可以通过TUNNEL2接收到VTEP1发来的携带有MAC10及其对应的VXLAN10的ISIS LSP报文,并将该ISIS LSP报文保存到与TUNNEL2对应的LSDB中;通过TUNNEL3接收到VTEP2发来的携带有MAC15及其对应的VXLAN15的ISIS LSP报文,并将该ISIS LSP报文保存到与TUNNEL3对应的LSDB中;在如表4-3所示的MAC地址转发表中添加远端MAC地址表项,添加后的MAC地址转发表如表5-3所示:
表5-3
MAC地址 VXLAN 出接口
MAC20 VXLAN20 XX
MAC30 VXLAN30 XX
MAC10 VXLAN10 TUNNEL2
MAC15 VXLAN15 TUNNEL3
针对上述实施例中的方法,本申请实施例中还提供了一种可以应用该方法的MAC地址学习装置,该装置应用于VTEP中。
如图6所示,该MAC地址学习装置中包括以下模块:接收模块401、保存模块402、源MAC地址学习模块403和发送模块404,其中:
接收模块401,用于接收来自本地网络的数据报文以及来自隧道的数据报文;
保存模块402,用于保存MAC地址转发表和与隧道对应的数据库;其中,隧道与数据库一一对应;
源MAC地址学习模块403,用于在接收模块401接收到来自本地网络的数据报文后,进行源MAC地址的学习,将学习到的本地MAC地址表项添加到MAC地址转发表中;还用于在接收模块401接收到来自隧道的数据报文后,不进行源MAC地址的学习;
发送模块404,用于当MAC地址转发表中存在本地MAC地址表项的变化时,通过与变化的本地MAC地址表项中的VXLAN相关联的每一个隧道发送同步报文,将该同步报文保存到该隧道对应的数据库中,使得对端VTEP根据该同步报文更新该对端VTEP上的MAC地址转发表。
其中,发送模块中可以包括以下单元:隧道确定单元、报文判断单元、报文生成单元、报文添加单元和报文发送单元,其中:
隧道确定单元,用于当MAC地址转发表中新增了本地MAC地址表项时,确定与该新增的本地MAC地址表项中的VXLAN相关联的至少一个隧道;
报文判断单元,用于针对隧道确定单元确定出的与新增的本地MAC地址表项中的VXLAN相关联的每一个隧道,判断该隧道对应的LSDB中是否存在满足以下条件的特定已发送ISIS LSP报文;其中,该条件包括:可添加该新增的本地MAC地址表项中的MAC地址及其对应的VXLAN的已发送ISIS LSP报文;
报文生成单元,用于若报文判断单元判断出不存在特定已发送ISIS LSP报文,则生成携带有该新增的本地MAC地址表项中的MAC地址及其对应的VXLAN的ISIS LSP报文,将生成的ISIS LSP报文保存到该隧道对应的LSDB中;
报文添加单元,用于若报文判断单元判断出存在特定已发送ISIS LSP报文,则将该新增的本地MAC地址表项中的MAC地址及其VXLAN添加到特定已发送ISIS LSP报文中;
报文发送单元,用于针对隧道确定单元确定出的与新增的本地MAC地址表项中的VXLAN相关联的每一个隧道,若报文判断单元判断出该隧道对应的LSDB中不存在特定已发送ISIS LSP报文,则通过该隧道将报文生成单元生成的ISIS LSP报文发送给对端VTEP;还用于针对隧道确定单元确定出的与新增的本地MAC地址表项中的VXLAN相关联的每一个隧道,若报文判断单元判断出该隧道对应的LSDB中存在特定已发送ISIS LSP报文,则将报文添加单元添加后的特定已发送ISIS LSP报文通过该隧道发送给对端VTEP。
其中,发送模块中还可以包括以下单元:报文查找单元和报文删除单元,其中:
隧道确定单元,还用于当MAC地址转发表中减少了本地MAC地址表项时,确定与该减少的本地MAC地址表项中的VXLAN相关联的至少一个隧道;
报文查找单元,用于针对隧道确定单元确定出的与减少的本地MAC地址表项中的VXLAN相关联的每一个隧道,从该隧道对应的LSDB中查找到携带有该减少的本地MAC地址表项中的MAC地址及其对应的VXLAN的已发送ISISLSP报文;
报文删除单元,用于从报文查找单元查找到的已发送ISIS LSP报文中,删除该减少的本地MAC地址表项中的MAC地址及其对应的VXLAN;
报文发送单元,还用于针对隧道确定单元确定出的与减少的本地MAC地址表项中的VXLAN相关联的每一个隧道,将报文删除单元删除后的已发送ISISLSP报文通过该隧道发送给对端VTEP。
另外,如图7所示,该MAC地址学习装置中还可以包括以下模块:判断模块405、第一查找模块406和第一处理模块407,其中:
接收模块401,还用于接收隧道的对端VTEP发来的ISIS LSP报文;
判断模块405,用于在接收模块401接收到一隧道的对端VTEP发来的ISISLSP报文之后,判断该隧道对应的LSDB中是否存在满足以下条件的特定已接收ISIS LSP报文;其中,该条件包括:与接收到的ISIS LSP报文的报文ID相同的已接收ISIS LSP报文;
第一查找模块406,用于若判断模块判断出不存在特定已接收ISIS LSP报文,则确定出在本设备上接收到的ISIS LSP报文中携带的VXLAN与该隧道相关联之后,根据接收到的ISIS LSP报文中携带的VXLAN及其对应的MAC地址,在MAC地址转发表中查找对应的远端MAC地址表项;
第一处理模块407,用于若第一查找模块406查找到了对应的远端MAC地址表项,则将查找到的远端MAC地址表项中的出接口更新为该隧道;还用于若第一查找模块没有查找到对应的远端MAC地址表项,则在MAC地址转发表中添加远端MAC地址表项,其中,添加的远端MAC地址表项中包括:接收到的ISIS LSP报文中携带的VXLAN及其对应的MAC地址。
另外,如图8所示,该MAC地址学习装置中还可以包括以下模块:比较模块408、第二查找模块409、第二处理模块410和替换模块411,其中:
比较模块408,用于若判断模块405判断出存在特定已接收ISIS LSP报文,则比较接收到的ISIS LSP报文与特定已接收ISIS LSP报文;
第二查找模块409,用于若比较模块408比较出接收到的ISIS LSP报文中携带有对应于一VXLAN的MAC地址,而特定已接收ISIS LSP报文中没有携带对应于相同VXLAN的相同MAC地址,则确定出在本设备上该VXLAN与该隧道相关联之后,根据该VXLAN和该MAC地址,在MAC地址转发表中查找对应的远端MAC地址表项;
第二处理模块410,用于若第二查找模块409查找到了对应的远端MAC地址表项,则将查找到的远端MAC地址表项中的出接口更新为该隧道;还用于若第二查找模块409没有查找到对应的远端MAC地址表项,则在MAC地址转发表中添加包含有该VXLAN和该MAC地址的远端MAC地址表项;
替换模块411,用于将特定已接收ISIS LSP报文替换为接收到的ISIS LSP报文。
另外,如图9所示,该MAC地址学习装置中还可以包括:第三查找模块412和第三处理模块413,其中:
第三查找模块412,用于若比较模块408比较出特定已接收ISIS LSP报文中携带有对应于一VXLAN的MAC地址,而接收到的ISIS LSP报文中没有携带对应于相同VXLAN的相同MAC地址,则确定出在本设备上该VXLAN与该隧道相关联之后,根据该VXLAN、该MAC地址和该隧道,在MAC地址转发表中查找到对应的远端MAC地址表项;
第三处理模块413,用于删除第三查找模块412查找到的远端MAC地址表项。
综上,本申请以上实施例可以达到以下技术效果:
本申请实施例的技术方案中,提出了一种实现控制平面的MAC地址信息同步的方案。VTEP上的不同隧道具有彼此独立的数据库,用于保存通过该隧道收发的同步报文;任一VTEP在MAC地址转发表中存在本地MAC地址表项的变化,如新增或减少时,可以通过与新增或减少的本地MAC地址表项中的VXLAN相关联的隧道向对端VTEP发送同步报文,并将该同步报文保存到该隧道对应的数据库中,这样,对端VTEP就可以根据该同步报文更新该对端VTEP上的MAC地址转发表。从而,实现了隧道两端VTEP之间的本地MAC地址表项中的MAC地址信息的主动同步,弥补了现有技术的数据平面的自学习方式存在的被动性、不及时和收敛慢的缺点;由于及时进行了MAC地址同步,加快了网络收敛速度,减少了目的地址未知的单播数据报文的数量,减少了网络带宽资源的浪费。而且,每一个隧道对应一个独立的用于保存该隧道上收发的同步报文的数据库,存储更加方便。
当使用ISIS LSP报文实现同步报文时,VTEP上的不同隧道具有彼此独立的LSDB,任一VTEP在发现本地MAC地址表项发生了变化,如新增或减少时,会利用ISIS LSP报文,通过与新增或减少的本地MAC地址表项中的VXLAN相关联的隧道,同步给该隧道的对端VTEP,并将该ISIS LSP报文保存到与该隧道对应的LSDB中;任一VTEP收到对端VTEP发来的ISISLSP报文后,可以根据收到的该ISIS LSP报文、以及收到该ISIS LSP报文的隧道对应的LSDB中保存的已接收ISIS LSP报文,判断出该对端VTEP中新增或减少了本地MAC地址表项,则确定出在本设备上该新增或减少的本地MAC地址表项中的VXLAN与该隧道相关联之后,根据该新增或减少的本地MAC地址表项更新本设备上的MAC地址转发表,即,在本设备的MAC地址转发表中添加、删除或编辑对应的远端MAC地址表项,实现了隧道两端VTEP之间的本地MAC地址表项中的MAC地址信息的主动同步,弥补了现有技术的数据平面的自学习方式存在的被动性、不及时和收敛慢的缺点;由于及时进行了MAC地址同步,加快了网络收敛速度,减少了目的地址未知的单播数据报文的数量,减少了网络带宽资源的浪费。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (11)

1.一种虚拟可扩展局域网VXLAN网络中的媒体访问控制MAC地址学习方法,应用于虚拟可扩展局域网隧道终端VTEP,其特征在于,所述方法包括:
接收到来自本地网络的数据报文后,进行源MAC地址的学习,将学习到的本地MAC地址表项添加到MAC地址转发表中;
接收到来自隧道的数据报文后,不进行源MAC地址的学习;
当MAC地址转发表中存在本地MAC地址表项的变化时,通过与变化的本地MAC地址表项中的VXLAN相关联的每一个隧道发送同步报文,将该同步报文保存到该隧道对应的数据库中,使得对端VTEP根据该同步报文更新该对端VTEP上的MAC地址转发表;其中,隧道与数据库一一对应;
所述通过与变化的本地MAC地址表项中的VXLAN相关联的每一个隧道发送同步报文,将该同步报文保存到该隧道对应的数据库中的方法包括:
当MAC地址转发表中新增了本地MAC地址表项时,确定与该新增的本地MAC地址表项中的VXLAN相关联的至少一个隧道;
针对确定出的每一个隧道,判断该隧道对应的链路状态数据库LSDB中是否存在满足以下条件的特定已发送中间系统到中间系统链路状态协议数据单元ISIS LSP报文;其中,该条件包括:可添加该新增的本地MAC地址表项中的MAC地址及其对应的VXLAN的已发送ISISLSP报文;
若判断出不存在所述特定已发送ISIS LSP报文,则生成携带有该新增的本地MAC地址表项中的MAC地址及其对应的VXLAN的ISIS LSP报文,通过该隧道将生成的ISIS LSP报文发送给对端VTEP,将所述生成的ISIS LSP报文保存到该隧道对应的LSDB中;
若判断出存在所述特定已发送ISIS LSP报文,则将该新增的本地MAC地址表项中的MAC地址及其VXLAN添加到所述特定已发送ISIS LSP报文中,将添加后的特定已发送ISIS LSP报文通过该隧道发送给对端VTEP。
2.根据权利要求1所述的方法,其特征在于,所述通过与变化的本地MAC地址表项中的VXLAN相关联的每一个隧道发送同步报文,将该同步报文保存到该隧道对应的数据库中的方法还包括:
当本设备上的MAC地址转发表中减少了本地MAC地址表项时,确定与该减少的本地MAC地址表项中的VXLAN相关联的至少一个隧道;
针对确定出的每一个隧道,从该隧道对应的LSDB中查找到携带有该减少的本地MAC地址表项中的MAC地址及其对应的VXLAN的已发送ISIS LSP报文;
从查找到的已发送ISIS LSP报文中,删除该减少的本地MAC地址表项中的MAC地址及其对应的VXLAN,将删除后的已发送ISIS LSP报文通过该隧道发送给对端VTEP。
3.根据权利要求2所述的方法,其特征在于,还包括:
接收到一隧道的对端VTEP发来的ISIS LSP报文之后,判断该隧道对应的LSDB中是否存在满足以下条件的特定已接收ISIS LSP报文;其中,该条件包括:与接收到的ISIS LSP报文的报文标识ID相同的已接收ISIS LSP报文;
若判断出不存在所述特定已接收ISIS LSP报文,则确定出在本设备上所述接收到的ISIS LSP报文中携带的VXLAN与该隧道相关联之后,根据所述接收到的ISIS LSP报文中携带的VXLAN及其对应的MAC地址,在MAC地址转发表中查找对应的远端MAC地址表项;
若查找到了对应的远端MAC地址表项,则将查找到的远端MAC地址表项中的出接口更新为该隧道;
若没有查找到对应的远端MAC地址表项,则在MAC地址转发表中添加远端MAC地址表项,其中,添加的远端MAC地址表项中包括:所述接收到的ISISLSP报文中携带的VXLAN及其对应的MAC地址。
4.根据权利要求3所述的方法,其特征在于,在判断该隧道对应的LSDB中是否存在所述特定已接收ISIS LSP报文之后,还包括:
若判断出存在所述特定已接收ISIS LSP报文,则比较所述接收到的ISIS LSP报文与所述特定已接收ISIS LSP报文;
若比较出所述接收到的ISIS LSP报文中携带有对应于一VXLAN的MAC地址,而所述特定已接收ISIS LSP报文中没有携带对应于相同VXLAN的相同MAC地址,则确定出在本设备上该VXLAN与该隧道相关联之后,根据该VXLAN和该MAC地址,在MAC地址转发表中查找对应的远端MAC地址表项;
若查找到了对应的远端MAC地址表项,则将查找到的远端MAC地址表项中的出接口更新为该隧道;若没有查找到对应的远端MAC地址表项,则在MAC地址转发表中添加包含有该VXLAN和该MAC地址的远端MAC地址表项;
将所述特定已接收ISIS LSP报文替换为所述接收到的ISIS LSP报文。
5.根据权利要求4所述的方法,其特征在于,在比较所述接收到的ISIS LSP报文与所述特定已接收ISIS LSP报文之后,还包括:
若比较出所述特定已接收ISIS LSP报文中携带有对应于一VXLAN的MAC地址,而所述接收到的ISIS LSP报文中没有携带对应于相同VXLAN的相同MAC地址,则确定出在本设备上该VXLAN与该隧道相关联之后,根据该VXLAN、该MAC地址和该隧道,在MAC地址转发表中查找到对应的远端MAC地址表项并删除。
6.根据权利要求1至5中任一项所述的方法,其特征在于,ISIS LSP报文由至少一个类型长度值TLV字段组成,所述TLV字段用于携带一VXLAN及其对应的至少一个MAC地址。
7.一种虚拟可扩展局域网VXLAN网络中的媒体访问控制MAC地址学习装置,应用于虚拟可扩展局域网隧道终端VTEP中,其特征在于,所述装置包括:
接收模块,用于接收来自本地网络的数据报文以及来自隧道的数据报文;
保存模块,用于保存MAC地址转发表和与隧道对应的数据库;其中,隧道与数据库一一对应;
源MAC地址学习模块,用于在所述接收模块接收到来自本地网络的数据报文后,进行源MAC地址的学习,将学习到的本地MAC地址表项添加到MAC地址转发表中;还用于在所述接收模块接收到来自隧道的数据报文后,不进行源MAC地址的学习;
发送模块,用于当MAC地址转发表中存在本地MAC地址表项的变化时,通过与变化的本地MAC地址表项中的VXLAN相关联的每一个隧道发送同步报文,将该同步报文保存到该隧道对应的数据库中,使得对端VTEP根据该同步报文更新该对端VTEP上的MAC地址转发表;
所述发送模块包括:
隧道确定单元,用于当MAC地址转发表中新增了本地MAC地址表项时,确定与该新增的本地MAC地址表项中的VXLAN相关联的至少一个隧道;
报文判断单元,用于针对所述隧道确定单元确定出的与新增的本地MAC地址表项中的VXLAN相关联的每一个隧道,判断该隧道对应的链路状态数据库LSDB中是否存在满足以下条件的特定已发送中间系统到中间系统链路状态协议数据单元ISIS LSP报文;其中,该条件包括:可添加该新增的本地MAC地址表项中的MAC地址及其对应的VXLAN的已发送ISISLSP报文;
报文生成单元,用于若所述报文判断单元判断出不存在所述特定已发送ISISLSP报文,则生成携带有该新增的本地MAC地址表项中的MAC地址及其对应的VXLAN的ISIS LSP报文,将生成的ISIS LSP报文保存到该隧道对应的LSDB中;
报文添加单元,用于若所述报文判断单元判断出存在所述特定已发送ISISLSP报文,则将该新增的本地MAC地址表项中的MAC地址及其VXLAN添加到所述特定已发送ISIS LSP报文中;
报文发送单元,用于针对所述隧道确定单元确定出的与新增的本地MAC地址表项中的VXLAN相关联的每一个隧道,若所述报文判断单元判断出该隧道对应的LSDB中不存在所述特定已发送ISIS LSP报文,则通过该隧道将所述报文生成单元生成的ISIS LSP报文发送给对端VTEP;还用于针对所述隧道确定单元确定出的与新增的本地MAC地址表项中的VXLAN相关联的每一个隧道,若所述报文判断单元判断出该隧道对应的LSDB中存在所述特定已发送ISISLSP报文,则将所述报文添加单元添加后的特定已发送ISIS LSP报文通过该隧道发送给对端VTEP。
8.根据权利要求7所述的装置,其特征在于,所述发送模块还包括:报文查找单元和报文删除单元,其中:
所述隧道确定单元,还用于当MAC地址转发表中减少了本地MAC地址表项时,确定与该减少的本地MAC地址表项中的VXLAN相关联的至少一个隧道;
所述报文查找单元,用于针对所述隧道确定单元确定出的与减少的本地MAC地址表项中的VXLAN相关联的每一个隧道,从该隧道对应的LSDB中查找到携带有该减少的本地MAC地址表项中的MAC地址及其对应的VXLAN的已发送ISIS LSP报文;
所述报文删除单元,用于从所述报文查找单元查找到的已发送ISIS LSP报文中,删除该减少的本地MAC地址表项中的MAC地址及其对应的VXLAN;
所述报文发送单元,还用于针对所述隧道确定单元确定出的与减少的本地MAC地址表项中的VXLAN相关联的每一个隧道,将所述报文删除单元删除后的已发送ISIS LSP报文通过该隧道发送给对端VTEP。
9.根据权利要求8所述的装置,其特征在于,还包括:判断模块、第一查找模块和第一处理模块,其中:
所述接收模块,还用于接收隧道的对端VTEP发来的ISIS LSP报文;
所述判断模块,用于在所述接收模块接收到一隧道的对端VTEP发来的ISISLSP报文之后,判断该隧道对应的LSDB中是否存在满足以下条件的特定已接收ISIS LSP报文;其中,该条件包括:与接收到的ISIS LSP报文的报文标识ID相同的已接收ISIS LSP报文;
所述第一查找模块,用于若所述判断模块判断出不存在所述特定已接收ISISLSP报文,则确定出在本设备上所述接收到的ISIS LSP报文中携带的VXLAN与该隧道相关联之后,根据所述接收到的ISIS LSP报文中携带的VXLAN及其对应的MAC地址,在MAC地址转发表中查找对应的远端MAC地址表项;
所述第一处理模块,用于若所述第一查找模块查找到了对应的远端MAC地址表项,则将查找到的远端MAC地址表项中的出接口更新为该隧道;还用于若所述第一查找模块没有查找到对应的远端MAC地址表项,则在MAC地址转发表中添加远端MAC地址表项,其中,添加的远端MAC地址表项中包括:所述接收到的ISIS LSP报文中携带的VXLAN及其对应的MAC地址。
10.根据权利要求9所述的装置,其特征在于,还包括:
比较模块,用于若所述判断模块判断出存在所述特定已接收ISIS LSP报文,则比较所述接收到的ISIS LSP报文与所述特定已接收ISIS LSP报文;
第二查找模块,用于若所述比较模块比较出所述接收到的ISIS LSP报文中携带有对应于一VXLAN的MAC地址,而所述特定已接收ISIS LSP报文中没有携带对应于相同VXLAN的相同MAC地址,则确定出在本设备上该VXLAN与该隧道相关联之后,根据该VXLAN和该MAC地址,在MAC地址转发表中查找对应的远端MAC地址表项;
第二处理模块,用于若所述第二查找模块查找到了对应的远端MAC地址表项,则将查找到的远端MAC地址表项中的出接口更新为该隧道;还用于若所述第二查找模块没有查找到对应的远端MAC地址表项,则在MAC地址转发表中添加包含有该VXLAN和该MAC地址的远端MAC地址表项;
替换模块,用于将所述特定已接收ISIS LSP报文替换为所述接收到的ISISLSP报文。
11.根据权利要求10所述的装置,其特征在于,还包括:
第三查找模块,用于若所述比较模块比较出所述特定已接收ISIS LSP报文中携带有对应于一VXLAN的MAC地址,而所述接收到的ISIS LSP报文中没有携带对应于相同VXLAN的相同MAC地址,则确定出在本设备上该VXLAN与该隧道相关联之后,根据该VXLAN、该MAC地址和该隧道,在MAC地址转发表中查找到对应的远端MAC地址表项;
第三处理模块,用于删除所述第三查找模块查找到的远端MAC地址表项。
CN201410512469.3A 2014-09-29 2014-09-29 Vxlan网络中的mac地址学习方法及装置 Active CN104243318B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201410512469.3A CN104243318B (zh) 2014-09-29 2014-09-29 Vxlan网络中的mac地址学习方法及装置
PCT/CN2015/090355 WO2016050158A1 (en) 2014-09-29 2015-09-23 Learning a mac address in vxlan
US15/515,443 US10956194B2 (en) 2014-09-29 2015-09-23 Learning a MAC address in VXLAN

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410512469.3A CN104243318B (zh) 2014-09-29 2014-09-29 Vxlan网络中的mac地址学习方法及装置

Publications (2)

Publication Number Publication Date
CN104243318A CN104243318A (zh) 2014-12-24
CN104243318B true CN104243318B (zh) 2018-10-09

Family

ID=52230700

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410512469.3A Active CN104243318B (zh) 2014-09-29 2014-09-29 Vxlan网络中的mac地址学习方法及装置

Country Status (3)

Country Link
US (1) US10956194B2 (zh)
CN (1) CN104243318B (zh)
WO (1) WO2016050158A1 (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243318B (zh) 2014-09-29 2018-10-09 新华三技术有限公司 Vxlan网络中的mac地址学习方法及装置
CN105812260B (zh) * 2014-12-31 2019-03-19 华为技术有限公司 一种控制mac地址转发表发送的方法、装置及系统
CN104601463B (zh) * 2015-02-28 2018-03-06 新华三技术有限公司 一种vxlan网络中报文转发方法及装置
WO2016175873A1 (en) 2015-04-29 2016-11-03 Hewlett Packard Enterprise Development Lp Client communications in multi-tenant data center networks
CN105391612B (zh) * 2015-10-15 2018-09-11 北京星网锐捷网络技术有限公司 一种vxlan vtep邻接学习的方法及装置
CN105591872B (zh) * 2015-10-23 2019-04-05 新华三技术有限公司 一种实现多数据中心互联的方法和装置
CN105634901B (zh) * 2015-12-28 2019-05-03 新华三技术有限公司 基于cas vxlan的mac地址信息同步方法及装置
CN107342925B (zh) * 2016-04-29 2020-03-06 新华三技术有限公司 一种报文传输方法及装置
US10454877B2 (en) * 2016-04-29 2019-10-22 Cisco Technology, Inc. Interoperability between data plane learning endpoints and control plane learning endpoints in overlay networks
US10027746B2 (en) * 2016-05-26 2018-07-17 International Business Machines Corporation Mechanism for overlay virtual networking
CN107645431B (zh) * 2016-07-20 2020-08-04 新华三技术有限公司 报文转发方法及装置
US10826796B2 (en) 2016-09-26 2020-11-03 PacketFabric, LLC Virtual circuits in cloud networks
US10050874B2 (en) * 2016-11-01 2018-08-14 Nicira, Inc. Media access control address learning for packets
CN108259295B (zh) 2017-03-24 2020-06-09 新华三技术有限公司 Mac地址同步方法及装置
US10963813B2 (en) 2017-04-28 2021-03-30 Cisco Technology, Inc. Data sovereignty compliant machine learning
CN108259347B (zh) 2017-05-19 2020-01-03 新华三技术有限公司 一种报文传输方法和装置
US10477148B2 (en) 2017-06-23 2019-11-12 Cisco Technology, Inc. Speaker anticipation
CN107547395B (zh) * 2017-06-27 2020-12-04 新华三技术有限公司 一种报文传输方法、装置及机器可读存储介质
CN109246162A (zh) * 2017-07-10 2019-01-18 中兴通讯股份有限公司 Mac地址信息同步方法、设备及存储介质
US10608901B2 (en) 2017-07-12 2020-03-31 Cisco Technology, Inc. System and method for applying machine learning algorithms to compute health scores for workload scheduling
US10091348B1 (en) 2017-07-25 2018-10-02 Cisco Technology, Inc. Predictive model for voice/video over IP calls
CN107911495B (zh) * 2017-11-16 2020-12-04 新华三技术有限公司 一种mac地址同步方法和vtep
CN108632148B (zh) * 2017-12-29 2020-06-16 西安电子科技大学 基于预读取方式的学习mac地址的装置及方法
CN108512949B (zh) * 2018-03-23 2021-05-07 烽火通信科技股份有限公司 一种mac地址同步方法及系统
US10867067B2 (en) 2018-06-07 2020-12-15 Cisco Technology, Inc. Hybrid cognitive system for AI/ML data privacy
CN109088767B (zh) * 2018-08-16 2022-02-22 新华三技术有限公司 路由更新方法及装置
CN110049149B (zh) * 2019-04-25 2021-08-24 新华三技术有限公司 Mac地址学习方法、装置及分布式设备
KR20210086067A (ko) 2019-12-31 2021-07-08 농업회사법인 고호팜 주식회사 인삼밭을 기반으로 하는 태양광발전장치 및 이를 이용한 인삼의 연작 재배 방법
CN111327717B (zh) * 2020-01-20 2022-04-01 新华三大数据技术有限公司 一种mac地址学习方法及装置
CN112187609B (zh) * 2020-09-21 2022-01-25 新华三信息安全技术有限公司 表项生成方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103503413A (zh) * 2012-12-28 2014-01-08 华为技术有限公司 传输网络信息的方法及装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7248579B1 (en) * 2002-10-15 2007-07-24 Cisco Technology, Inc. System and method for providing a link state database (LSDB) snapshot for neighbor synchronization
US8897303B2 (en) * 2010-06-29 2014-11-25 Futurewei Technologies, Inc. Delegate gateways and proxy for target hosts in large layer 2 and address resolution with duplicated internet protocol addresses
US8861339B2 (en) * 2010-11-01 2014-10-14 Avaya Inc. Packet forwarding function of a mobility switch deployed as routed SMLT (RSMLT) node
CN103546385B (zh) * 2012-07-10 2017-12-15 新华三技术有限公司 流量转发控制方法和设备
CN102882761B (zh) * 2012-10-31 2015-07-01 烽火通信科技股份有限公司 Vpls实现方法
CN103841023B (zh) * 2012-11-22 2017-03-08 华为技术有限公司 数据转发的方法和设备
US9571338B2 (en) * 2013-03-14 2017-02-14 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Scalable distributed control plane for network switching systems
US9203738B2 (en) * 2013-05-21 2015-12-01 Cisco Technology, Inc. Optimal forwarding for trill fine-grained labeling and VXLAN interworking
EP2910003B1 (en) * 2013-06-18 2016-11-23 Telefonaktiebolaget LM Ericsson (publ) Duplicate mac address detection
US9130775B2 (en) * 2013-07-10 2015-09-08 Cisco Technology, Inc. Support for virtual extensible local area network segments across multiple data center sites
US9876711B2 (en) * 2013-11-05 2018-01-23 Cisco Technology, Inc. Source address translation in overlay networks
US9374294B1 (en) * 2013-11-05 2016-06-21 Cisco Technology, Inc. On-demand learning in overlay networks
US9602385B2 (en) * 2013-12-18 2017-03-21 Nicira, Inc. Connectivity segment selection
CN103780485A (zh) 2014-02-17 2014-05-07 杭州华三通信技术有限公司 一种邻居关系维护方法和设备
US9794079B2 (en) * 2014-03-31 2017-10-17 Nicira, Inc. Replicating broadcast, unknown-unicast, and multicast traffic in overlay logical networks bridged with physical networks
US9509603B2 (en) * 2014-03-31 2016-11-29 Arista Networks, Inc. System and method for route health injection using virtual tunnel endpoints
US10216853B2 (en) * 2014-06-27 2019-02-26 Arista Networks, Inc. Method and system for implementing a VXLAN control plane
US9419897B2 (en) * 2014-06-30 2016-08-16 Nicira, Inc. Methods and systems for providing multi-tenancy support for Single Root I/O Virtualization
CN104243630B (zh) * 2014-09-29 2017-10-03 新华三技术有限公司 Vxlan网络中的mac地址学习方法及装置
CN104243318B (zh) 2014-09-29 2018-10-09 新华三技术有限公司 Vxlan网络中的mac地址学习方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103503413A (zh) * 2012-12-28 2014-01-08 华为技术有限公司 传输网络信息的方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
NVo3 Control Plane Protocol Using IS-IS,draft-xu-nvo3-isis-cp-00;X. Xu;《IETF》;20121015;正文第3.1-3.2节,第3.5节 *
The Evolution of the Carrier Cloud Networking;Dennis Cai;《IEEE》;IEEE;20130328;全文 *
Virtual eXtensible Local Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks,RFC7348;M. Mahalingam;《IETF》;20140831;全文 *

Also Published As

Publication number Publication date
US10956194B2 (en) 2021-03-23
WO2016050158A1 (en) 2016-04-07
CN104243318A (zh) 2014-12-24
US20170228251A1 (en) 2017-08-10

Similar Documents

Publication Publication Date Title
CN104243318B (zh) Vxlan网络中的mac地址学习方法及装置
CN104243630B (zh) Vxlan网络中的mac地址学习方法及装置
CN105706400B (zh) 在网络上转发分组的方法和装置
CN106878166B (zh) 路由通告方法及装置
CN104954218B (zh) 分布式虚拟交换装置及转发方法
US10263808B2 (en) Deployment of virtual extensible local area network
CN103139071B (zh) 报文转发方法、装置和系统
US20150180672A1 (en) Relay System and Switching Device
CN106878288B (zh) 一种报文转发方法及装置
CN104378296A (zh) 一种报文转发方法及设备
CN105634901B (zh) 基于cas vxlan的mac地址信息同步方法及装置
CN106130819B (zh) Vtep异常的检测方法及装置
CN106878048A (zh) 故障处理方法及装置
CN103259727A (zh) 一种报文转发方法及设备
CN102333028A (zh) 一种分层式二层虚拟专用网发送报文的方法及通信设备
CN107645431B (zh) 报文转发方法及装置
CN108418759B (zh) 一种mac地址表项处理方法及装置
CN108259304B (zh) 一种转发表项同步方法及装置
US20140301403A1 (en) Node device and method for path switching control in a ring network
JP6928076B2 (ja) パケット監視
CN103259726A (zh) 存储和发送mac地址表项的方法、设备及系统
JP2015122665A (ja) 中継システムおよびスイッチ装置
CN108540386B (zh) 一种防止业务流中断方法及装置
EP3119046B1 (en) Tunnel type selection method and apparatus
CN109412925A (zh) 基于vtep的转发表项更新方法及vtep

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant before: Huasan Communication Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant