CN102143068B - 一种mac地址学习的方法,装置和系统 - Google Patents

一种mac地址学习的方法,装置和系统 Download PDF

Info

Publication number
CN102143068B
CN102143068B CN201110048898.6A CN201110048898A CN102143068B CN 102143068 B CN102143068 B CN 102143068B CN 201110048898 A CN201110048898 A CN 201110048898A CN 102143068 B CN102143068 B CN 102143068B
Authority
CN
China
Prior art keywords
message
arp
local
address
mac
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
CN201110048898.6A
Other languages
English (en)
Other versions
CN102143068A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201110048898.6A priority Critical patent/CN102143068B/zh
Publication of CN102143068A publication Critical patent/CN102143068A/zh
Application granted granted Critical
Publication of CN102143068B publication Critical patent/CN102143068B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种MAC地址学习的方法,装置和系统。所述方法包括:接收来自本地虚拟主机VM的免费地址解析协议ARP报文,根据所述免费ARP报文更新本地ARP表和本地媒体访问控制MAC表,并终结所述免费ARP报文;接收地址关系学习报文;当所述地址关系学习报文是来自网络侧的ARP请求报文时,根据所述ARP请求报文查询本地ARP表,当所述本地ARP表有匹配表项时,更新所述本地ARP表和本地MAC表,终结所述ARP请求报文。采用本发明实施例提供的技术方案,可以减轻网络设备的负荷、提高网络设备的处理能力,减少报文在传输过程中的延时,并降低数据中心网络中的MAC表规格,使得部署超大规模的网络,即大二层网络成为可能。

Description

一种MAC地址学习的方法,装置和系统
技术领域
本发明涉及网络通信领域,尤其涉及一种MAC地址学习的方法,装置和系统。
背景技术
如图1所示,是一种数据中心二层网络示意图,根交换机通常是汇聚交换机,叶交换机通常是接入交换机,数据中心拥有大量服务器,每台服务器又可以虚拟出多台虚拟主机(Virtual Machine,VM)。在IP(Internet Protocol,网际协议)网络环境下,每个主机都分配了一个32位的IP地址,IP地址是在网际范围标识主机的一种逻辑地址,为了让报文在物理网络上传送,必须知道对方目的主机的物理地址,MAC(MediaAccess Control,媒体访问控制)地址,这就需要在网络层有一组服务将IP地址转换为相应物理地址,这组协议就是ARP(Address ResolutionProtocol,地址解析协议)。每个VM会发送ARP报文在二层网络/VLAN(Virtual Local Area Network,虚拟局域网)内广播自己的地址信息或请求其他主机的地址信息,每个交换机在收到VM发送的ARP报文后都会自动学习MAC地址,这样叶交换机会学习到子网内所有VM的MAC地址,形成大规格的MAC表,一般已达到5M级;导致网络设备的负荷过高、处理能力不足,从而带来报文在传输过程中的延时,同时大规格的表项也限制了网络的规模。
发明内容
本发明实施例提供了一种MAC地址学习的方法,装置和系统,以解决现有技术中数据中心网络中MAC表规格过大,设备负荷高、处理能力不足,网络规模受限的问题。
为解决上述技术问题,本发明实施例提供了一种MAC地址学习的方法,包括:
接收来自本地虚拟主机VM的免费地址解析协议ARP报文,根据所述免费ARP报文更新本地ARP表和本地媒体访问控制MAC表,并终结所述免费ARP报文;
接收地址关系学习报文;
当所述地址关系学习报文是来自网络侧的ARP请求报文时,根据所述ARP请求报文查询本地ARP表,当所述本地ARP表有匹配表项时,更新所述本地ARP表和本地MAC表,终结所述ARP请求报文。
本发明实施例提供了一种MAC地址学习的装置,所述装置的MAC地址功能处于关闭状态,所述装置包括:
接收模块,用于接收来自本地虚拟主机VM的免费地址解析协议ARP报文;还用于接收地址关系学习报文;
查询模块,用于当所述地址关系学习报文是来自网络侧的ARP请求报文时,根据所述ARP请求报文查询本地ARP表;
更新模块,用于根据所述免费ARP报文更新本地ARP表和本地媒体访问控制MAC表;还用于当所述地址关系学习报文是来自网络侧的ARP请求报文,且本地ARP表有匹配所述ARP请求报文的表项时,根据所述ARP请求报文更新所述本地ARP表和本地MAC表;
终结模块,用于终结所述免费ARP报文;还用于当所述地址关系学习报文是来自网络侧的ARP请求报文时,终结所述ARP请求报文。
本发明实施例提供了一种MAC地址学习的系统,其特征在于,包括虚拟主机VM和第一网络设备,其中:
所述虚拟主机VM,用于向所述第一网络设备发送免费地址解析协议ARP报文;
所述第一网络设备,用于接收所述免费ARP报文,根据所述免费ARP报文更新本地ARP表和本地媒体访问控制MAC表,并终结所述免费ARP报文;还用于接收地址关系学习报文,当所述地址关系学习报文是来自网络侧的ARP请求报文时,根据所述ARP请求报文查询本地ARP表,当所述本地ARP表有匹配表项时,更新所述本地ARP表和本地MAC表,终结所述ARP请求报文。
采用本发明实施例提供的技术方案,可以减轻网络设备的负荷、提高网络设备的处理能力,减少报文在传输过程中的延时,并降低数据中心网络中的MAC表规格,使得部署超大规模的网络,即大二层网络成为可能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是一种数据中心二层网络示意图;
图2是本发明实施例1提供的一种MAC地址学习的方法流程图;
图3是本发明实施例2提供的一种MAC地址学习的装置框图;
图4是本发明实施例3提供的一种MAC地址学习的系统示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种MAC地址学习的方法,包括:接收来自本地虚拟主机VM的免费地址解析协议ARP报文,根据所述免费ARP报文更新本地ARP表和本地媒体访问控制MAC表,并终结所述免费ARP报文;接收地址关系学习报文;当所述地址关系学习报文是来自网络侧的ARP请求报文时,根据所述ARP请求报文查询本地ARP表,当所述本地ARP表有匹配表项时,更新所述本地ARP表和本地MAC表,终结所述ARP请求报文。采用本发明实施例提供的技术方案,可以减轻网络设备的负荷、提高网络设备的处理能力,减少报文在传输过程中的延时,并降低数据中心网络中的MAC表规格,使得部署超大规模的网络,即大二层网络成为可能。
为使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明实施例作进一步详细的说明。
参见图2,是本发明实施例1提供的一种MAC地址学习的方法流程图,具体步骤如下:
S101:网络设备接收来自本地VM的免费ARP报文,所述网络设备根据所述免费ARP报文更新本地ARP表和本地MAC表,并终结所述免费ARP报文;
S102:网络设备接收地址关系学习报文;
S103:当所述地址关系学习报文是来自网络侧的ARP请求报文时,所述网络设备根据所述ARP请求报文查询本地ARP表,当所述本地ARP表有匹配表项时,更新所述本地ARP表和本地MAC表,终结所述ARP请求报文。
ARP协议包括一组报文:免费ARP报文,ARP请求报文,ARP应答报文,RARP(Reverse Address Resolution Protocol,逆向地址解析协议)请求报文和RARP应答报文,不同场景下,主机会发送不同的ARP报文来学习地址信息。
ARP请求报文一般用于根据主机的IP地址,请求MAC地址;ARP应答报文用于对ARP请求的应答。而RARP请求报文一般用于根据主机的MAC地址,请求IP地址;RARP应答报文用于对RARP请求报文的应答。
免费ARP报文是广播报文,其发送方IP地址为发送该报文的VM的IP地址,发送方MAC地址为发送该报文的VM的MAC地址,目标IP地址为发送该报文的VM的IP地址,目标MAC地址为广播地址;由于免费ARP报文的目标IP地址与发送方IP地址相同,因此无需应答;由于目标MAC地址是广播地址,因此会在二层网络/VLAN内广播;用于VM向网络通告/注册自己的地址信息。
ARP请求报文是广播报文,其发送方IP地址为发送该报文的VM的IP地址,发送方MAC地址为发送该报文的VM的MAC地址,目标IP地址为目的VM的IP地址,目标MAC地址为广播地址;VM发送ARP请求报文在二层网络/VLAN中广播,通过接收ARP应答报文获取目的VM的MAC地址。
ARP应答报文是单播报文,用于响应ARP请求报文,其发送方IP地址为ARP请求报文中的目的VM的IP地址,发送方MAC地址为ARP请求报文中的目的VM的MAC地址,目标IP地址为对应的ARP请求报文中的发送方IP地址,目标MAC地址为对应的ARP请求报文中的发送方MAC地址;ARP应答报文还可用于VM发生迁移时向网络通告/更新注册的地址信息,此时发生迁移的VM发出的ARP应答报文的发送方IP地址和目标IP地址都是所述发生迁移的VM迁移后的IP地址,发送方MAC地址和目标MAC地址都是所述发生迁移的VM迁移后的MAC地址;
RARP应答报文是单播报文,也可用于VM发生迁移时向网络通告/更新注册的地址信息,此时发生迁移的VM发出的RARP应答报文的发送方IP地址和目标IP地址都是所述发生迁移的VM迁移后的IP地址,发送方MAC地址和目标MAC地址都是所述发生迁移的VM迁移后的MAC地址。
在实现所述MAC地址学习的方法之前,所述网络设备要关闭传统的MAC地址学习功能。所述网络设备可以是接入交换机,所述MAC地址学习的方法可以通过部署专门的网络设备集中式实现,也可以分布式实现。所述ARP表中包含IP地址和MAC地址的对应关系信息。
当所述网络设备接收到来自本地VM的免费ARP报文时,可以认为是所述本地VM从所述网络设备接入网络进行上线注册;所述网络设备根据所述免费ARP报文更新本地ARP表:将所述本地VM的IP地址和MAC地址的对应关系存入本地ARP表,更新本地MAC表:将所述本地VM的MAC地址和所述网络设备连接所述本地VM的端口标识的对应关系写入本地MAC表,并终结所述免费ARP报文。
举例来说,如图1所示,虚拟主机VM11从接入交换机1接入网络,VM11上线注册:首先VM11发送免费ARP报文,发送方地址为VM11的IP地址,发送方MAC地址为VM11的MAC地址,目标IP地址为VM11的IP地址,目标MAC地址为广播地址。接入交换机1收到该免费ARP报文后,更新本地ARP表:将VM11的IP地址和MAC地址的对应关系存入本地ARP表,更新本地MAC表:将VM11的MAC地址和接入交换机1连接VM11的端口标识(例如端口portl的端口号)的对应关系写入本地MAC表;然后接入交换机1终结来自VM11的免费ARP报文,不向网络广播,避免了VM11的免费ARP报文对二层网络中其他交换机和VM的冲击。
当所述地址关系学习报文是ARP请求报文时,表示源VM要与目的VM进行通信,需要学习所述目的VM的MAC地址:
当所述ARP请求报文是来自网络侧时,所述网络设备根据所述ARP请求报文查询本地ARP表,查看本地ARP表是否有匹配目标IP地址的表项:当本地ARP表有匹配表项时,所述网络设备更新本地ARP表:将所述ARP请求报文中携带的发送方IP地址和发送方MAC地址,即源VM的IP地址和MAC地址的对应关系存入本地ARP表,进一步更新本地MAC表:将源VM的MAC地址和所述网络设备收到所述ARP请求报文的端口标识的对应关系写入本地MAC表,向源VM发送ARP应答报文,其中携带了目的VM的MAC地址,终结所述ARP请求报文;当所述本地ARP表没有匹配表项时,所述网络设备终结所述ARP请求报文。
当所述ARP请求报文是来自VM时,所述网络设备根据所述ARP请求报文查询本地ARP表,查看本地ARP表是否有匹配目标IP地址的表项:当本地ARP表没有匹配表项时,所述网络设备向网络侧转发所述ARP请求报文;当本地ARP表有匹配表项时,所述网络设备向所述VM发送ARP应答报文,其中携带了目的VM的MAC地址,终结所述ARP请求报文。
举例来说,如图1所示,假设VM21请求与VM11通信:接入交换机2收到来自VM21的ARP请求报文,发送方IP地址为VM21的IP地址,发送方MAC地址为VM21的MAC地址,目标IP地址为VM11的IP地址,目标MAC地址为广播地址。接入交换机2根据目标IP地址(VM11的IP地址)查询本地ARP表:当有匹配的表项时(例如,接入交换机2下面已有其他VM与VM11通信),接入交换机2向VM21返回ARP应答报文,携带VM11的MAC地址;当没有匹配的表项,接入交换机2向网络侧转发所述ARP请求报文,接入交换机1收到该ARP请求报文后,查询本地ARP表,接入交换机1找到匹配的表项,根据所述ARP请求报文更新本地ARP表:将VM21的IP地址和MAC地址的对应关系写入本地ARP表,进一步更新MAC表:将VM21的MAC地址和接入交换机1收到该ARP请求的端口标识的对应关系写入本地MAC表,并向接入交换机2返回ARP应答报文,其中携带VM11的MAC地址,终结所述ARP请求报文;接入交换机3收到该ARP请求报文后,查询本地ARP表,没有匹配的表现,接入交换机3终结所述ARP请求报文。假设此时接入交换机2收到来自网络侧的ARP请求报文,请求与VM22通信:所述ARP请求报文的发送方IP地址为VM31的IP地址,发送方MAC地址为VM31的MAC地址,目标IP地址为VM22的IP地址,目标MAC地址为广播地址;接入交换机2收到来自网络侧的所述ARP请求报文,根据目标IP地址(VM22的IP地址)查询本地ARP表,找到匹配的表项,接入交换机2根据所述ARP请求报文更新本地ARP表:将VM31的IP地址和MAC地址的对应关系存入本地ARP表,更新本地MAC表:将VM31的MAC地址和接入交换机2收到该ARP请求的端口信息写入本地MAC表,然后向VM31返回ARP应答报文,其中携带VM22的MAC地址,VM31收到该ARP应答报文后,获得VM22的MAC地址,从而进行后续的通信。
当VM发生了迁移时,VM通过向网络发送RARP应答报文或ARP应答报文更新注册的地址信息,且所述RARP应答报文或ARP应答报文的发送方IP地址与目标IP地址相同、发送方MAC地址与目标MAC地址相同,以便保存了该发生迁移VM地址信息的网络设备和与该发生迁移VM通信的其他VM能及时更新各自的ARP表和MAC表,从而解决VM迁移可能带来的通信中断的问题,实现VM的实时迁移。
当所述RARP应答报文或ARP应答报文是来自VM时,所述网络设备根据所述RARP应答报文或ARP应答报文更新本地ARP表和本地MAC表,并向网络侧广播所述RARP应答报文或ARP应答报文,以使远端网络设备更新所述VM相关的ARP表项和MAC表项。当所述RARP应答报文或ARP应答报文是来自网络侧时,所述网络设备根据所述RARP应答报文或ARP应答报文查询本地ARP表,当有匹配表项时,则根据所述RARP应答报文或ARP应答报文更新本地ARP表和本地MAC表,终结所述RARP应答报文或ARP应答报文;当没有匹配表项时,终结所述RARP应答报文或ARP应答报文。
举例来说,如图1所示,假设虚拟主机VM21迁移到接入交换机1下接入网络,VM21需要向网络重新注册并通告迁移。VM21向接入交换机1发送RARP应答报文或ARP应答报文,所述RARP应答报文或ARP应答报文的发送方IP地址和目标IP地址都是VM21迁移后的IP地址,发送方MAC地址和目标MAC地址都是VM21迁移后的MAC地址,接入交换机1收到RARP应答报文或ARP应答报文后,更新本地ARP表和MAC表,并向网络广播所述RARP报文或ARP应答报文。由于VM21迁移前从交换机2接入网络,交换机2上保存有VM21的地址信息,交换机2收到所述RARP应答报文或ARP应答报文,更新本地的ARP表和MAC表,并终结所述RARP应答报文或ARP应答报文。假设在VM21迁移前,VM32与VM21进行通信,那么交换机3上也保存了VM21的地址信息,当交换机3收到所述RARP应答报文或ARP应答报文,VM31更新本地的ARP表和MAC表,并终结所述RARP应答报文或ARP应答报文;若VM21迁移前,交换机3下接入的VM都没有与VM21进行通信,则交换机3上没有与VM21相关的地址信息,当交换机3收到所述RARP应答报文或ARP应答报文,直接终结所述RARP应答报文或ARP应答报文。
由于所述网络设备对来自VM和来自网络侧的所述地址关系学习报文的处理不同,所述网络设备需要判断所述地址关系学习报文是来自VM还是来自网络侧。
当所述网络设备配置了端口属性时,所述网络设备可以根据接收所述地址关系学习报文的端口属性判断所述地址关系学习报文是来自所述VM或者网络侧:当接收所述地址关系学习报文的端口是网络侧端口NNI时,所述地址关系学习报文是来自所述网络侧;当接收所述地址关系学习报文的端口是用户侧端口UNI时,所述ARP请求报文是来自所述VM。
当所述网络设备采用最短路径桥接(Shortest Path Bridging,SPB)或多链接透明互连(Transparent Interconnect of Lots of Links,TRILL)技术时(SPB和TRILL运行在数据链路层,都是将链路状态路由应用在数据链路层的协议),所述网络设备可以根据所述地址关系学习报文的封装格式判断所述地址关系学习报文是来自所述VM或者网络侧:当所述地址关系学习报文是通过SPB或Trill封装时,所述地址关系学习报文是来自网络侧;否则,所述地址关系学习报文是来自所述VM。
举例来说,如图1所示,假设交换机1,交换机2和交换机3支持采用Trill技术。当交换机收到的ARP请求报文是未经过Trill封装的,则交换机可以判断所述ARP请求报文是来自VM的,交换机在向网络侧转发所述ARP请求报文之前,需要先对报文进行Trill封装。当交换机收到的ARP请求报文经过了Trill封装,则交换机可以判断所述ARP请求报文或是来自网络侧,交换机首先对报文进行解封装,然后根据解封装后的报文进行相应处理。
可选的,上述方法还可以包括对VM进行老化探测;当需要老化该VM对应的ARP表项时,老化所述ARP表项,并可以删除MAC表中相应的表项。
采用本发明实施例提供的技术方案,由于所述网络设备会根据来自本地VM的免费ARP报文,更新本地ARP表和MAC表,因此保存了本地VM的地址关系;由于所述网络设备对来自网络侧的地址关系学习报文,通过查询本地ARP,当有匹配表项时,才根据所述地址关系学习报文更新本地ARP表和MAC表,因此保存了与本地VM通信的远端VM的地址信息;由于所述网络设备对来自本地VM的免费ARP报文进行终结,对来自网络侧的地址关系学习报文进行终结,使得网络设备仅保存本地VM以及建立通信的远端VM的地址信息,降低了网络设备的MAC表规格,同时避免了广播报文对无关VM和网络设备的冲击,减轻了网络设备的负荷、提高网络设备的处理能力,进而降低报文在传输过程中的延时;使得部署大二层网络成为可能;此外,还可以解决VM的实时迁移问题。
参见图3,是本发明实施例2提供的一种MAC地址学习的装置框图,所述装置具体包括接收模块201,查询模块202,更新模块203,终结模块204。其中:
接收模块201,用于接收来自VM的免费ARP报文;还用于接收地址关系学习报文。
查询模块202:用于当所述地址关系学习报文是来自网络侧的ARP请求报文时,根据所述ARP请求报文查询本地ARP表;
更新模块203:用于根据所述免费ARP报文更新本地ARP表和本地MAC表;还用于当所述地址关系学习报文是来自网络侧的ARP请求报文,且本地ARP表有匹配所述ARP请求报文的表项时,根据所述ARP请求报文更新所述本地ARP表和本地MAC表;
终结模块204:用于终结所述免费ARP报文;还用于当所述地址关系学习报文是来自网络侧的ARP请求报文时,终结所述ARP请求报文。
所述装置可以由一个设备集中式实现,也可以由多个设备分布式协同实现。所述ARP表中包含IP地址和MAC地址的对应关系信息。所述装置的传统的MAC地址学习功能处于关闭状态。
当接收模块201接收到来自VM的免费ARP报文时,可以认为是所述VM通过所述装置接入网络进行上线注册;此时,更新模块203根据所述免费ARP报文更新本地ARP表和本地MAC表,终结模块204终结所述免费ARP报文。
当接收模块201接收到的所述地址关系学习报文是ARP请求报文时,表示源VM要与目的VM进行通信,需要学习所述目的VM的MAC地址:
当所述ARP请求报文是来自网络侧时,查询模块202根据所述ARP请求报文查询本地ARP表,查看本地ARP表是否有匹配目标IP地址的表项:当本地ARP表有匹配表项时,更新模块203更新本地ARP表:将ARP请求报文中携带的发送方IP地址和发送方MAC地址,即源VM的IP地址和MAC地址的对应关系存入本地ARP表,更新模块203更新本地MAC表:将源VM的MAC地址和所述装置接收所述ARP请求报文的端口标识的对应关系写入本地MAC表,向源VM发送ARP应答报文,其中携带了目的VM的MAC地址,终结模块204终结所述ARP请求报文;当所述本地ARP表没有匹配表项时,终结模块204终结所述ARP请求报文。
当所述ARP请求报文是来自VM时,查询模块202根据所述ARP请求报文查询本地ARP表,查看本地ARP表是否有匹配目标IP地址的表项,当本地ARP表没有匹配表项时,向网络侧转发所述ARP请求报文;当本地ARP表有匹配表项时,向所述VM发送ARP应答报文,其中携带了目的VM的MAC地址,终结模块204终结所述ARP请求报文。
当接收模块201接收到的所述地址关系学习报文是RARP应答报文或ARP应答报文,且所述RARP应答报文或ARP应答报文的发送方IP地址与目标IP地址、发送方MAC地址与目标MAC地址相同时,可以认为虚拟主机VM进行了迁移,且迁移前后接入的网络设备不同,因此通过向网络发送RARP应答报文或ARP应答报文更新注册的地址信息,以便保存了该发生迁移VM地址信息的网络设备和与该发生迁移VM通信的其他VM能及时更新各自的ARP表和MAC表,从而解决VM迁移可能带来的通信中断的问题,实现VM的实时迁移。
当所述RARP应答报文或ARP应答报文是来自VM时,更新模块203根据所述RARP应答报文或ARP应答报文更新本地ARP表和本地MAC表,向网络侧广播所述RARP应答报文或ARP应答报文,以使远端网络设备更新所述VM相关的ARP表项和MAC表项。当所述RARP应答报文或ARP应答报文是来自网络侧时,查询模块202根据所述RARP应答报文或ARP应答报文查询本地ARP表,当有匹配表项时,更新模块203根据所述RARP应答报文或ARP应答报文更新本地ARP表和本地MAC表,终结模块204终结所述RARP应答报文或ARP应答报文;当没有匹配表项时,终结模块204终结所述RARP应答报文或ARP应答报文。
由于对来自VM和来自网络侧的所述地址关系学习报文的处理不同,所述装置还包括:
判断模块205,用于判断所述地址关系学习报文是来自VM还是来自网络侧。
当所述网络设备配置了端口属性时,判断模块205根据接收所述地址关系学习报文的端口属性判断所述地址关系学习报文是来自所述VM还是网络侧:当接收所述地址关系学习报文的端口是网络侧端口NNI时,所述地址关系学习报文是来自所述网络侧;当接收所述地址关系学习报文的端口是用户侧端口UNI时,所述地址关系学习报文是来自所述VM。
当所述网络设备采用SPB或Trill技术时,判断模块205根据所述地址关系学习报文的封装格式判断所述地址关系学习报文是来自所述VM或者网络侧:当所述地址关系学习报文是通过SPB或Trill封装时,所述地址关系学习报文是来自网络侧;否则,所述地址关系学习报文是来自所述VM。
可选的,所述装置还可以包括:
老化模块206,用于对VM进行老化探测;当需要老化该VM对应的ARP表项时,老化所述ARP表项,并可以删除MAC表中相应的表项。
参见图4,是本发明实施例3提供的一种MAC地址学习的系统示意图,该系统包括虚拟主机VM 301和第一网络设备302,其中:
所述虚拟主机VM 301,用于向所述第一网络设备302发送免费ARP报文。
所述第一网络设备302,用于接收所述免费ARP报文,根据所述免费ARP报文更新本地ARP表和本地MAC表,并终结所述免费ARP报文;还用于接收地址关系学习报文,当所述地址关系学习报文是来自网络侧的ARP请求报文时,根据所述ARP请求报文查询本地ARP表,当所述本地ARP表有匹配表项时,更新所述本地ARP表和本地MAC表,终结所述ARP请求报文。
所述VM 301还用于向所述第一网络设备302发送所述地址关系学习报文。
当所述地址关系学习报文是来自所述VM301的ARP请求报文时,所述第一网络设备302还用于根据所述ARP请求报文查询本地ARP表,当所述本地ARP表没有匹配表项时,向网络侧转发所述ARP请求报文,当所述本地ARP表有匹配表项时,向所述本地VM发送ARP应答报文,终结所述ARP请求报文;
当所述地址关系学习报文是来自所述VM301的逆向地址解析协议RARP应答报文或ARP应答报文时,所述第一网络设备302还用于根据所述RARP应答报文或ARP应答报文更新本地ARP表和本地MAC表,当所述RARP应答报文或ARP应答报文的发送方IP地址与目标IP地址相同,且发送方MAC地址与目标MAC地址相同时,向网络侧广播所述RARP应答报文或ARP应答报文。
当所述地址关系学习报文是来自网络侧的RARP应答报文或ARP应答报文时,所述第一网络设备302还用于根据所述RARP应答报文或ARP应答报文查询本地ARP表,当所述本地ARP表有匹配表项时,更新所述本地ARP表和本地MAC表,终结所述RARP应答报文或ARP应答报文,当没有匹配表项时,终结所述RARP应答报文或ARP应答报文。
所述第一网络设备302还用于根据接收所述地址关系学习报文的端口属性或所述地址关系学习报文的封装格式判断所述地址关系学习报文来自所述VM 301或者网络侧。
采用本发明实施例提供的技术方案,可以降低数据中心网络中的MAC表规格,减轻网络设备的负荷、提高网络设备的处理能力,从而减少报文在传输过程中的延时,使得部署超大规模的网络,即大二层网络成为可能;同时还可以解决VM的实时迁移问题。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质可以是ROM/RAM,磁盘或光盘等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (14)

1.一种MAC地址学习的方法,其特征在于,包括:
接收来自本地虚拟主机VM的免费地址解析协议ARP报文,根据所述免费ARP报文更新本地ARP表和本地媒体访问控制MAC表,并终结所述免费ARP报文;
接收地址关系学习报文;
当所述地址关系学习报文是来自网络侧的ARP请求报文时,根据所述ARP请求报文查询本地ARP表,当所述本地ARP表有匹配表项时,更新所述本地ARP表和本地MAC表,终结所述ARP请求报文;当所述本地ARP表没有匹配表项时,终结所述ARP请求报文。
2.根据权利要求1所述的方法,其特征在于,当所述地址关系学习报文是来自本地VM的ARP请求报文时,根据所述ARP请求报文查询本地ARP表,
当所述本地ARP表没有匹配表项时,向网络侧转发所述ARP请求报文;当所述本地ARP表有匹配表项时,向所述本地VM发送ARP应答报文,终结所述ARP请求报文。
3.根据权利要求1所述的方法,其特征在于,还包括:
当所述地址关系学习报文是来自本地VM的逆向地址解析协议RARP应答报文或ARP应答报文时,根据所述RARP应答报文或ARP应答报文更新本地ARP表和本地MAC表,当所述RARP应答报文或ARP应答报文的发送方IP地址与目标IP地址相同,且发送方MAC地址与目标MAC地址相同时,向网络侧广播所述RARP应答报文或ARP应答报文;
当所述地址关系学习报文是来自网络侧的RARP应答报文或ARP应答报文时,根据所述RARP应答报文或ARP应答报文查询本地ARP表,当所述本地ARP表有匹配表项时,更新所述本地ARP表和本地MAC表,终结所述RARP应答报文或ARP应答报文,当没有匹配表项时,终结所述RARP应答报文或ARP应答报文。
4.根据权利要求1至3任一项所述的方法,其特征在于,根据所述地址关系学习报文的封装格式或接收所述地址关系学习报文的端口属性判断所述地址关系学习报文来自所述本地VM或者网络侧。
5.根据权利要求4所述的方法,其特征在于,根据所述地址关系学习报文的封装格式判断所述地址关系学习报文来自所述本地VM或者网络侧,具体为:
当所述地址关系学习报文是通过最短路径桥接SPB或多链接半透明互连Trill封装时,所述地址关系学习报文是来自网络侧;
否则,所述地址关系学习报文是来自所述本地VM。
6.一种MAC地址学习的装置,其特征在于,所述装置包括:
接收模块,用于接收来自本地虚拟主机VM的免费地址解析协议ARP报文;还用于接收地址关系学习报文;
查询模块,用于当所述地址关系学习报文是来自网络侧的ARP请求报文时,根据所述ARP请求报文查询本地ARP表;
更新模块,用于根据所述免费ARP报文更新本地ARP表和本地媒体访问控制MAC表;还用于当所述地址关系学习报文是来自网络侧的ARP请求报文,且本地ARP表有匹配所述ARP请求报文的表项时,根据所述ARP请求报文更新所述本地ARP表和本地MAC表;
终结模块,用于终结所述免费ARP报文;还用于当所述地址关系学习报文是来自网络侧的ARP请求报文时,终结所述ARP请求报文。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括
发送模块,用于当所述地址关系学习报文是来自网络侧的ARP请求报文,且本地ARP表有匹配所述ARP请求报文的表项时,发送ARP应答报文。
8.根据权利要求7所述的装置,其特征在于,当所述地址关系学习报文是来自VM的ARP请求报文时,
所述发送模块,还用于当所述本地ARP表没有匹配表项时,向网络侧转发所述ARP请求报文,当所述本地ARP表有匹配表项时,向所述VM发送ARP应答报文;
所述终结模块,还用于当所述本地ARP表有匹配表项时,终结所述ARP请求报文。
9.根据权利要求7所述的装置,其特征在于,当所述地址关系学习报文是逆向地址解析协议RARP应答报文或ARP应答报文时,
所述查询模块,还用于当所述RARP应答报文或ARP应答报文来自网络侧时,根据所述RARP应答报文或ARP应答报文查询本地ARP表;
所述更新模块,还用于当所述RARP应答报文或ARP应答报文是来自本地VM时,根据所述RARP应答报文或ARP应答报文更新本地ARP表和本地MAC表;当所述RARP应答报文或ARP应答报文是来自网络侧时,根据所述RARP应答报文或ARP应答报文查询本地ARP表,当所述本地ARP表有匹配表项时,更新所述本地ARP表和本地MAC表;
所述发送模块,还用于当所述RARP应答报文或ARP应答报文来自本地VM时,当所述RARP应答报文或ARP应答报文的发送方IP地址与目标IP地址,且发送方MAC地址与目标MAC地址相同时,向网络侧广播所述RARP应答报文或ARP应答报文;
所述终结模块,还用于当所述RARP应答报文或ARP应答报文来自网络侧时,终结所述RARP应答报文或ARP应答报文。
10.根据权利要求6至9任一项所述的装置,其特征在于,所述装置还包括判断模块,用于根据所述地址关系学习报文的封装格式或者接收所述地址关系学习报文的端口属性判断所述地址关系学习报文来自所述本地VM或者网络侧。
11.根据权利要求10所述的装置,其特征在于,所述判断模块具体用于:
当所述地址关系学习报文是通过最短路径桥接SPB或多链接半透明互连Trill封装时,判断所述地址关系学习报文是来自网络侧;
否则,判断所述地址关系学习报文是来自所述本地VM。
12.一种MAC地址学习的系统,其特征在于,包括虚拟主机VM和第一网络设备,其中:
所述虚拟主机VM,用于向所述第一网络设备发送免费地址解析协议ARP报文;
所述第一网络设备,用于接收所述免费ARP报文,根据所述免费ARP报文更新本地ARP表和本地媒体访问控制MAC表,并终结所述免费ARP报文;还用于接收地址关系学习报文,当所述地址关系学习报文是来自网络侧的ARP请求报文时,根据所述ARP请求报文查询本地ARP表,当所述本地ARP表有匹配表项时,更新所述本地ARP表和本地MAC表,终结所述ARP请求报文;当所述本地ARP表没有匹配表项时,终结所述ARP请求报文。
13.根据权利要求12所述的系统,其特征在于,
所述VM,还用于向所述第一网络设备发送所述地址关系学习报文;
当所述地址关系学习报文是来自所述VM的ARP请求报文时,所述第一网络设备,还用于根据所述ARP请求报文查询本地ARP表,当所述本地ARP表没有匹配表项时,向网络侧转发所述ARP请求报文,当所述本地ARP表有匹配表项时,向所述本地VM发送ARP应答报文,终结所述ARP请求报文;
当所述地址关系学习报文是来自所述VM的逆向地址解析协议RARP应答报文或ARP应答报文时,所述第一网络设备,还用于根据所述RARP应答报文或ARP应答报文更新本地ARP表和本地MAC表,当所述RARP应答报文或ARP应答报文的发送方IP地址与目标IP地址相同,且发送方MAC地址与目标MAC地址相同时,向网络侧广播所述RARP应答报文或ARP应答报文;
当所述地址关系学习报文是来自网络侧的RARP应答报文或ARP应答报文时,所述第一网络设备还用于根据所述RARP应答报文或ARP应答报文查询本地ARP表,当所述本地ARP表有匹配表项时,更新所述本地ARP表和本地MAC表,终结所述RARP应答报文或ARP应答报文,当没有匹配表项时,终结所述RARP应答报文或ARP应答报文。
14.根据权利要求12或13所述的系统,其特征在于,所述第一网络设备还用于根据接收所述地址关系学习报文的端口属性或所述地址关系学习报文的封装格式判断所述地址关系学习报文来自所述VM或者网络侧。
CN201110048898.6A 2011-03-01 2011-03-01 一种mac地址学习的方法,装置和系统 Active CN102143068B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110048898.6A CN102143068B (zh) 2011-03-01 2011-03-01 一种mac地址学习的方法,装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110048898.6A CN102143068B (zh) 2011-03-01 2011-03-01 一种mac地址学习的方法,装置和系统

Publications (2)

Publication Number Publication Date
CN102143068A CN102143068A (zh) 2011-08-03
CN102143068B true CN102143068B (zh) 2014-04-02

Family

ID=44410303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110048898.6A Active CN102143068B (zh) 2011-03-01 2011-03-01 一种mac地址学习的方法,装置和系统

Country Status (1)

Country Link
CN (1) CN102143068B (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102291320B (zh) * 2011-09-29 2015-03-18 杭州华三通信技术有限公司 Mac地址学习方法和边缘设备
CN102387205B (zh) * 2011-10-21 2013-12-25 杭州华三通信技术有限公司 一种虚拟机位置定位方法和装置
US20130107889A1 (en) * 2011-11-02 2013-05-02 International Business Machines Corporation Distributed Address Resolution Service for Virtualized Networks
CN102572013B (zh) * 2012-02-16 2016-08-17 神州数码网络(北京)有限公司 一种基于免费arp实现代理arp的方法及系统
CN103327130B (zh) * 2012-03-22 2017-07-07 中兴通讯股份有限公司 Mac地址复用的方法、终端及系统
CN102821023B (zh) * 2012-08-07 2016-12-21 杭州华三通信技术有限公司 一种vlan配置动态迁移的方法及装置
CN102868615B (zh) * 2012-09-17 2016-04-20 瑞斯康达科技发展股份有限公司 一种局域网间传输报文的方法和系统
CN102946356B (zh) * 2012-10-16 2015-05-20 杭州华三通信技术有限公司 一种基于cb-pe网络的组播报文传输方法和设备
CN103491010B (zh) * 2012-10-17 2016-12-07 华为技术有限公司 在虚拟网络中发送报文的方法、装置和系统
CN103795623B (zh) * 2012-10-26 2017-03-15 杭州华三通信技术有限公司 一种在虚拟设备间实现流量互通的方法和装置
CN104144130B (zh) * 2013-05-10 2019-04-12 中国电信股份有限公司 虚拟机系统互联的方法、系统和接入交换机
CN104348726B (zh) * 2013-08-02 2018-12-11 新华三技术有限公司 报文转发方法和装置
CN104426816B (zh) * 2013-08-19 2018-08-21 华为技术有限公司 一种虚拟机通信方法及装置
EP3073698A4 (en) * 2013-12-13 2016-11-23 Huawei Tech Co Ltd METHOD FOR PROCESSING ADDRESS RESOLUTION PROTOCOL MESSAGE, RE-ROUTING UNIT AND CONTROLLER
CN104168213A (zh) * 2014-08-18 2014-11-26 福建星网锐捷网络有限公司 二层互联网络中数据报文处理方法、装置及网络设备
CN105991450B (zh) * 2015-03-02 2019-05-07 杭州迪普科技股份有限公司 Mac地址表更新方法及装置
CN106559451B (zh) 2015-09-29 2020-09-08 新华三技术有限公司 用户迁移方法和装置
CN105262658A (zh) * 2015-10-30 2016-01-20 北京交控科技有限公司 一种交换设备、现场总线拓扑结构及传输数据的方法
CN106506378B (zh) * 2016-11-10 2019-09-06 杭州迪普科技股份有限公司 Mac地址表的更新方法和装置
CN107547286B (zh) * 2017-09-25 2020-10-09 新华三技术有限公司 地址解析协议arp表的生成方法及装置
CN109274784A (zh) * 2018-11-13 2019-01-25 郑州云海信息技术有限公司 基于openstack的IP和MAC地址绑定方法、装置、终端及存储介质
CN111371913B (zh) * 2020-02-21 2022-03-08 深圳震有科技股份有限公司 一种获取媒体ip的mac地址的方法和智能终端
CN111935337B (zh) * 2020-09-17 2021-01-08 南京中兴软件有限责任公司 聚合链路的mac地址保活方法、设备和存储介质
CN112511440B (zh) * 2020-11-30 2023-04-18 东软集团股份有限公司 报文转发方法、系统、存储介质和电子设备
CN113472912B (zh) * 2021-06-10 2022-08-26 中国联合网络通信集团有限公司 一种arp缓存表项的更新方法、vtep、vm及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101098292A (zh) * 2006-06-29 2008-01-02 中兴通讯股份有限公司 在接入设备上减少用户地址解析协议广播的方法
CN101394360A (zh) * 2008-11-10 2009-03-25 北京星网锐捷网络技术有限公司 地址解析协议报文的处理方法、接入设备和通信系统
CN101938533A (zh) * 2010-09-10 2011-01-05 中兴通讯股份有限公司 地址解析的处理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101098292A (zh) * 2006-06-29 2008-01-02 中兴通讯股份有限公司 在接入设备上减少用户地址解析协议广播的方法
CN101394360A (zh) * 2008-11-10 2009-03-25 北京星网锐捷网络技术有限公司 地址解析协议报文的处理方法、接入设备和通信系统
CN101938533A (zh) * 2010-09-10 2011-01-05 中兴通讯股份有限公司 地址解析的处理方法及装置

Also Published As

Publication number Publication date
CN102143068A (zh) 2011-08-03

Similar Documents

Publication Publication Date Title
CN102143068B (zh) 一种mac地址学习的方法,装置和系统
CN102859973B (zh) 一种地址解析的方法,装置和系统
CN102457583B (zh) 一种虚拟机移动性的实现方法及系统
CN100334866C (zh) 一种实现网关动态负载分担和备份的方法
CN102148749B (zh) 一种交换机端口扩展的方法及装置
CN101577722B (zh) 实现强制mac转发功能的方法和装置
CN102710509B (zh) 一种数据中心自动配置方法及其设备
CN101510853B (zh) Wlan无线桥接的实现方法和装置及无线接入客户端
EP2600573A1 (en) Method for transmitting addresses correspondence relationship in second-layer protocol using link status routing
CN100490424C (zh) 一种分布式arp实现方法
CN107172666A (zh) 在移动终端切换通信小区时保持其本地业务的方法及装置
CN102833721B (zh) 无线漫游数据转发方法及无线访问接入点
CN103220670A (zh) 一种设备切换方法、m2m平台和网络系统
CN103763407A (zh) 二层虚拟局域网实现地址解析协议代理方法及局域网系统
KR102074916B1 (ko) Rpl 기반 분산 mqtt 브로커 구조
CN101764751A (zh) 无线用户终端跨vlan漫游报文转发的方法、系统及设备
CN102355417A (zh) 一种数据中心二层互联方法和装置
CN101257447A (zh) 一种负载分担的方法、系统及路由装置
CN105245629A (zh) 基于dhcp的主机通信方法及装置
CN101252503B (zh) 环网的业务倒换方法和装置
CN104812021A (zh) 一种ap接入ac的方法及装置
CN101873726A (zh) 无线中继器的升级方法及无线接入设备
CN106257865A (zh) 设备管理方法、装置及系统
CN102572012A (zh) 一种消息处理方法、交换机及系统
CN101924698B (zh) 基于ip单播路由的二层域负载均衡方法、系统和设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant