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

文档序号:7596911阅读:152来源:国知局
专利名称:一种mac地址学习的方法,装置和系统的制作方法
技术领域
本发明涉及网络通信领域,尤其涉及一种MAC地址学习的方法,装置和系统。
背景技术
如图1所示,是一种数据中心二层网络示意图,根交换机通常是汇聚交换机,叶交 换机通常是接入交换机,数据中心拥有大量服务器,每台服务器又可以虚拟出多台虚拟主 机(Virtual Machine, VM)。在IPGnternet 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地址学习的方法流程图,具体步骤如 下SlOl 网络设备接收来自本地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地址的对应关系
fn息ο当所述网络设备接收到来自本地VM的免费ARP报文时,可以认为是所述本地VM从所述网络设备接入网络进行上线注册;所述网络设备根据所述免费ARP报文更新本地 ARP表将所述本地VM的IP地址和MAC地址的对应关系存入本地ARP表,更新本地MAC表 将所述本地VM的MAC地址和所述网络设备连接所述本地VM的端口标识的对应关系写入本 地MAC表,并终结所述免费ARP报文。举例来说,如图1所示,虚拟主机VMll从接入交换机1接入网络,VMll上线注册 首先VMll发送免费ARP报文,发送方地址为VMll的IP地址,发送方MAC地址为VMll的 MAC地址,目标IP地址为VMll的IP地址,目标MAC地址为广播地址。接入交换机1收到该 免费ARP报文后,更新本地ARP表将VMll的IP地址和MAC地址的对应关系存入本地ARP 表,更新本地MAC表将VMll的MAC地址和接入交换机1连接VMll的端口标识(例如端 口 portl的端口号)的对应关系写入本地MAC表;然后接入交换机1终结来自VMll的免费 ARP报文,不向网络广播,避免了 VMll的免费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请求与VMll通信接入交换机2收到来自VM21 的ARP请求报文,发送方IP地址为VM21的IP地址,发送方MAC地址为VM21的MAC地址, 目标IP地址为VMll的IP地址,目标MAC地址为广播地址。接入交换机2根据目标IP地 址(VM11的IP地址)查询本地ARP表当有匹配的表项时(例如,接入交换机2下面已有 其他VM与VMll通信),接入交换机2向VM21返回ARP应答报文,携带VMll的MAC地址; 当没有匹配的表项,接入交换机2向网络侧转发所述ARP请求报文,接入交换机1收到该 ARP请求报文后,查询本地ARP表,接入交换机1找到匹配的表项,根据所述ARP请求报文 更新本地ARP表将VM21的IP地址和MAC地址的对应关系写入本地ARP表,进一步更新 MAC表将VM21的MAC地址和接入交换机1收到该ARP请求的端口标识的对应关系写入本 地MAC表,并向接入交换机2返回ARP应答报文,其中携带VMll的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的实时迁移问题。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以 通过程序来指令相关的硬件完成,所述的程序可以存储于计算机可读存储介质中,所述存 储介质可以是R0M/RAM,磁盘或光盘等。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围 为准。
权利要求
1.一种MAC地址学习的方法,其特征在于,包括接收来自本地虚拟主机VM的免费地址解析协议ARP报文,根据所述免费ARP报文更新 本地ARP表和本地媒体访问控制MAC表,并终结所述免费ARP报文;接收地址关系学习报文;当所述地址关系学习报文是来自网络侧的ARP请求报文时,根据所述ARP请求报文查 询本地ARP表,当所述本地ARP表有匹配表项时,更新所述本地ARP表和本地MAC表,终结 所述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请求报文。
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或者网络侧。
全文摘要
本发明实施例公开了一种MAC地址学习的方法,装置和系统。所述方法包括接收来自本地虚拟主机VM的免费地址解析协议ARP报文,根据所述免费ARP报文更新本地ARP表和本地媒体访问控制MAC表,并终结所述免费ARP报文;接收地址关系学习报文;当所述地址关系学习报文是来自网络侧的ARP请求报文时,根据所述ARP请求报文查询本地ARP表,当所述本地ARP表有匹配表项时,更新所述本地ARP表和本地MAC表,终结所述ARP请求报文。采用本发明实施例提供的技术方案,可以减轻网络设备的负荷、提高网络设备的处理能力,减少报文在传输过程中的延时,并降低数据中心网络中的MAC表规格,使得部署超大规模的网络,即大二层网络成为可能。
文档编号H04L29/12GK102143068SQ201110048898
公开日2011年8月3日 申请日期2011年3月1日 优先权日2011年3月1日
发明者尹国理, 张益波 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1