分配MAC地址的方法、装置及系统与流程

文档序号:14410289阅读:537来源:国知局
分配MAC地址的方法、装置及系统与流程

本发明涉及通信领域,具体而言,涉及一种分配mac地址的方法、装置及系统。



背景技术:

相关技术中,数据中心规模的扩大和虚拟化的引入,除了带来了物理设备的增加,数据中心的服务器、存储和网络的虚拟化更是带来了虚拟设施的指数增长。这些都导致了mac地址的消耗急剧上升。由此也暴露出来传统mac地址的很多问题,比如:mac地址空间容量已不能满足日益消耗的mac地址;mac地址是固定不变的;mac地址并不分层,不提供位置信息等。而上述这些问题也带来了数据中心中的许多其他的问题,比如:路由转发耗时长、引发广播风暴和设备不方便迁移等等。因此,相关技术中提出了很多关于新型mac地址的设计、寻址以及对mac地址的分配方案。

为了针对目前mac地址日益出现的问题,ieee标准组织提出了一种本地mac地址的概念,即mac地址在一些网络环境下不再是全球唯一的48位地址,而是一种本地化的地址。图1是根据相关技术中本地mac地址的结构图,如图1所示,给出了这种本地mac地址在ieee802c标准中的定义。

在相关技术中,只涉及到网络设备给主机等设备的地址分配,这种方案只适用于小型网络,如车载内部小网络。对于大型网络来讲,这种广发地址申请报文的方式是不可取的,对于稍大型网路来讲会占用太多网络资源。

针对相关技术中分配mac地址的方法耗费大量网络资源的问题,目前还没有有效地解决方案。



技术实现要素:

本发明实施例提供了一种分配mac地址的方法、装置及系统,以至少解决相关技术中分配mac地址的方法耗费大量网络资源的问题。

根据本发明的一个实施例,提供了一种分配mac地址的方法,包括:

第一网络设备接收第二网络设备发送的用于请求媒体访问控制mac地址的第一请求消息;

所述第一网络设备向所述第二网络设备发送所述第一请求消息的第一响应消息,其中,所述第一响应消息中携带所述第一网络设备为所述第二网络设备分配的第一mac地址。

可选地,所述第一响应消息中携带的所述第一mac地址中携带有所述第一网络设备为所述第二网络设备分配的子网标识id,所述子网id用于指示所述第一网络设备为所述第二网络设备分配的位置消息。

可选地,在所述第二网络设备为主机的情况下,所述第一响应消息中携带的mac地址携带有主机id或主机id组。

可选地,所述主机id为所述第一网络设备为所述第二网络设备分配的用于指示所述第二网络设备的标识信息,所述主机id组为所述第一网络设备为所述第二网络设备分配的用于指示所述第二网络设备的多个所述标识信息。

可选地,在所述第一网络设备将所述第一mac地址分配给所述第二网络设备之后,所述方法还包括:

所述第一网络设备按照预定规则取消所述第一mac地址与所述第二网络设备的关联。

可选地,所述第一网络设备按照以下预定规则之一取消所述第一mac地址与所述第二网络设备的关联,包括:

所述第一网络设备将所述第一mac地址与所述第二网络设备取消关联,并向所述第二网络设备发送用于指示所述第一网络设备将所述第一mac地址与所述第二网络设备取消关联的回收消息;

所述第一网络设备在接收到所述第二网络设备发送的用于指示所述第二网络设备不再使用所述第一mac地址的请求回收消息之后,所述第一网络设备将所述第一mac地址与所述第二网络设备取消关联;

在所述第一网络设备与所述第二网络设备之间的链路出现故障或者第二网络设备故障的情况下,所述第一网络设备在超过预设时间的情况下将所述第一mac地址与所述第二网络设备取消关联。

可选地,所述第一网络设备建立所述第一mac地址与所述第一网络设备接收所述第一请求消息的接口的映射关系,并在所述第一网络设备本地存储所述映射关系。

可选地,所述第一mac地址包括一个或者多个mac地址。

根据本发明的另一个实施例,还提供了一种分配mac地址的方法,包括:

第一网络设备接收第二网络设备发送的用于请求使用第一mac地址的第二请求消息;

在所述第一mac地址合法且未被分配的情况下,所述第一网络设备向所述第二网络设备发送用于指示允许所述第二网络设备使用所述第一mac地址的第二响应消息。

可选地,所述第二请求消息中携带有所述第二网络设备的子网id。

可选地,在所述第二网络设备为主机的情况下,所述第二请求消息中携带有所述主机的子网id和主机id,其中,所述主机id为所述第一网络设备为所述主机分配的用于指示所述主机的标识信息。

可选地,所述第一网络设备判断所述第一mac地址合法,包括:所述第一mac地址符合所述第一网络设备的地址空间范围,其中,所述第一mac地址中的子网id属于所述第一网络设备的子网id范围。

根据本发明的另一个实施例,还提供了一种分配mac地址的方法,包括:

第二网络设备向第一网络设备发送用于请求媒体访问控制mac地址的第一请求消息;

接收所述第一网络设备依据所述第一请求消息反馈的第一响应消息,其中,所述第一响应消息中携带所述第一网络设备为所述第二网络设备分配的第一mac地址。

可选地,所述第一响应消息中携带的所述第一mac地址中携带有所述第一网络设备为所述第二网络设备分配的子网标识id。

可选地,在所述第二网络设备为主机的情况下,所述第一响应消息中携带的mac地址携带有主机id或主机id组,其中,所述主机id为所述第一网络设备为所述第二网络设备分配的用于指示所述第二网络设备的标识信息。

可选地,在接收到第一网络设备为所述第二网络设备分配的所述第一mac地址之后,所述方法还包括:

所述第二网络设备在预设条件下与所述第一mac地址失去关联。

可选地,在满足以下之一预设条件时所述第二网络设备与所述第一mac地址失去关联,包括:所述第二网络设备接收所述第一网络设备发送的用于指示所述第一网络设备取消所述第一mac地址与所述第二网络设备关联的回收消息;所述第二网络设备向所述第一网络设备发送用于指示所述第二网络设备不再使用所述第一mac地址的请求回收消息;在所述第一网络设备与所述第二网络设备之间的链路出现故障的情况下,在超过预设时间之后,所述第二网络设备与所述第一mac地址失去关联。

可选地,所述第一mac地址包括一个或者多个mac地址。

根据本发明的另一个实施例,还提供了一种分配mac地址的方法,包括:

第二网络设备向第一网络设备发送用于请求使用第一mac地址的第二请求消息;

所述第二网络设备接收所述第一网络设备在检测到所述第一mac地址合法且未被分配的情况下,发送的用于指示允许所述第二网络设备使用所述第一mac地址的第二响应消息。

可选地,所述第二请求消息中携带有所述第二网络设备的子网id。

可选地,在所述第二网络设备为主机的情况下,所述第二请求消息中携带有所述主机的子网id和主机id,其中,所述主机id为所述第一网络设备为所述主机分配的用于指示所述主机的标识信息。

根据本发明的另一个实施例,还提供了一种分配mac地址的装置,应用于第一网络设备,包括:

第一接收模块,用于接收第二网络设备发送的用于请求媒体访问控制mac地址的第一请求消息;

第一发送模块,用于向所述第二网络设备发送所述第一请求消息的第一响应消息,其中,所述第一响应消息中携带所述第一网络设备为所述第二网络设备分配的第一mac地址。

可选地,所述第一发送模块还用于在所述第一响应消息中携带的所述第一mac地址中携带有所述第一网络设备为所述第二网络设备分配的子网标识id。

可选地,所述第一发送模块还用于在所述第一网络设备将所述第一mac地址分配给所述第二网络设备之后,按照预定规则取消所述第一mac地址与所述第二网络设备的关联。

根据本发明的另一个实施例,还提供了一种分配mac地址的装置,应用于第一网络设备,包括:

第二接收模块,用于接收第二网络设备发送的用于请求使用第一mac地址的第二请求消息;

第二发送模块,用于在所述第一mac地址合法且未被分配的情况下,向所述第二网络设备发送用于指示允许所述第二网络设备使用所述第一mac地址的第二响应消息。

可选地,所述第二请求消息中携带有所述第二网络设备的子网id;或者,在所述第二网络设备为主机的情况下,所述第二请求消息中携带有所述主机的子网id和主机id,其中,所述主机id为所述第一网络设备为所述主机分配的用于指示所述主机的标识信息。

根据本发明的另一个实施例,还提供了一种分配mac地址的装置,应用于第二网络设备,包括:

第三发送模块,用于向第一网络设备发送用于请求媒体访问控制mac地址的第一请求消息;

第三接收模块,用于接收所述第一网络设备依据所述第一请求消息反馈的第一响应消息,其中,所述第一响应消息中携带所述第一网络设备为所述第二网络设备分配的第一mac地址。

可选地,所述第三接收模块还用于在所述第一响应消息中携带的所述第一mac地址中携带有所述第一网络设备为所述第二网络设备下发的子网标识id。

根据本发明的另一个实施例,还提供了一种分配mac地址的装置,应用于第二网络设备,包括:

第四发送模块,用于向第一网络设备发送用于请求使用第一mac地址的第二请求消息;

第四接收模块,用于接收所述第一网络设备在检测到所述第一mac地址合法且未被分配的情况下,发送的用于指示允许所述第二网络设备使用所述第一mac地址的第二响应消息。

可选地,所述第二请求消息中携带有所述第二网络设备的子网id;或者,在所述第二网络设备为主机的情况下,所述第二请求消息中携带有所述主机的子网id和主机id,其中,所述主机id为所述第一网络设备为所述主机分配的用于指示所述主机的标识信息。

根据本发明的另一个实施例,还提供了一种分配mac地址的系统,包括:

第二网络设备向第一网络设备发送用于请求媒体访问控制mac地址的第一请求消息;

所述第一网络设备向所述第二网络设备发送所述第一请求消息的第一响应消息,其中,所述第一响应消息中携带所述第一网络设备为所述第二网络设备分配的第一mac地址。

可选地,所述第一响应消息中携带的所述第一mac地址中携带有所述第一网络设备为所述第二网络设备分配的子网标识id。

根据本发明的又一个实施例,还提供了一种存储介质。该存储介质设置为存储用于执行以下步骤的程序代码:

第一网络设备接收第二网络设备发送的用于请求媒体访问控制mac地址的第一请求消息;

所述第一网络设备向所述第二网络设备发送所述第一请求消息的第一响应消息,其中,所述第一响应消息中携带所述第一网络设备为所述第二网络设备分配的第一mac地址。

可选地,存储介质还设置为存储用于执行以下步骤的程序代码:

第一网络设备接收第二网络设备发送的用于请求使用第一mac地址的第二请求消息;

在所述第一mac地址合法且未被分配的情况下,所述第一网络设备向所述第二网络设备发送用于指示允许所述第二网络设备使用所述第一mac地址的第二响应消息。

可选地,存储介质还设置为存储用于执行以下步骤的程序代码:

第二网络设备向第一网络设备发送用于请求媒体访问控制mac地址的第一请求消息;

接收所述第一网络设备依据所述第一请求消息反馈的第一响应消息,其中,所述第一响应消息中携带所述第一网络设备为所述第二网络设备分配的第一mac地址。

可选地,存储介质还设置为存储用于执行以下步骤的程序代码:

第二网络设备向第一网络设备发送用于请求使用第一mac地址的第二请求消息;

所述第二网络设备接收所述第一网络设备在检测到所述第一mac地址合法且未被分配的情况下,发送的用于指示允许所述第二网络设备使用所述第一mac地址的第二响应消息。

通过本发明,第二网络设备向第一网络设备申请一个mac地址,第一网络设备在接收到请求消息之后,为第二网络设备分配一个mac地址。可选地,在分配的mac地址中携带有第一网络设备为第二网络设备分配的子网id,该子网id是上层设备依据下层设备的位置设定的。采用上述技术方案,解决了相关技术中分配mac地址的方法耗费大量网络资源的问题,实现了有效利用mac地址资源,mac地址中携带有位置信息,便于故障的诊断和定位。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据相关技术中本地mac地址的结构图;

图2是根据相关技术中的网络拓扑结构图;

图3是根据本发明实施例的网络拓扑结构图;

图4是根据本发明实施例的一种分配mac地址的方法的流程图;

图5是根据本发明优选实施例的具体mac地址格式示意图;

图6是根据本发明优选实施例中实施例1的流程示意图;

图7是根据本发明优选实施例的实施例4的流程示意图一;

图8是根据本发明优选实施例的实施例4的流程示意图二;

图9是根据本发明优选实施例的实施例5的流程示意图一;

图10是根据本发明优选实施例的实施例5的流程示意图二。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

实施例一

图2是根据相关技术中的网络拓扑结构图,如图2所示,该网络拓扑中包括三级设备,最下一层h打头的是主机,主机上层是两层网络设备。

图3是根据本发明实施例的网络拓扑结构图,如图3所示,本申请文件中共有四级设备,最下一层为主机,上层还有三层设备,最上层有一个连接地址数据库d,每个网络设备s都有一个连接d的上行端口,可以是直连的(如s1),也可以是通过其他网络设备连接的(s22)。

本申请文件中的技术方案可以运行于上述图3中所述的网络拓扑结构中,第一网络设备是上层网络设备,第二网络设备是下层网络设备,也可以是最下层的主机设备。

图4是根据本发明实施例的一种分配mac地址的方法的流程图,如图4所示,该方法包括以下步骤:

步骤s402,第一网络设备接收第二网络设备发送的用于请求媒体访问控制mac地址的第一请求消息;需要补充的是,请求消息中可以请求多个mac地址,相应的,第一网络设备在第一响应消息中分配给多个mac地址。

步骤s404,该第一网络设备向该第二网络设备发送该第一请求消息的第一响应消息,其中,该第一响应消息中携带该第一网络设备为该第二网络设备分配的第一mac地址。

可选地,该第一响应消息中携带的该第一mac地址中携带有该第一网络设备为该第二网络设备分配的子网标识id。该子网id是与第一网络设备相关的位置信息,例如一个小区的网管设备,上层设备为它分配一个子网id,携带在上层网络设备为他分配的多个mac地址中。可选地,该第一mac地址包括一个或者多个mac地址。

通过上述技术方案,第二网络设备向第一网络设备申请一个mac地址,第一网络设备在接收到请求消息之后,为第二网络设备分配一个mac地址。可选地,在分配的mac地址中携带有第一网络设备为第二网络设备分配的子网id,该子网id是上层设备依据下层设备的位置设定的。采用上述技术方案,解决了相关技术中分配mac地址的方法耗费大量网络资源的问题,实现了有效利用mac地址资源,mac地址中携带有位置信息,便于故障的诊断和定位。

可选地,在该第二网络设备为主机的情况下,该第一响应消息中携带的mac地址携带有主机id或主机id组。可选地,该主机id为该第一网络设备为该第二网络设备分配的用于指示该第二网络设备的标识信息。在第二网络设备为主机的情况下,分配的mac地址中除了用于指示位置的子网id,还有在小型网络中用于指示主机编号的主机id。主机id组是指第一网络设备为主机分配的一组主机id,可以用于在一个主机有多个虚拟机的情况下。例如一个网吧的网管设备为第一网络设备,该网管设备为下属的主机分配mac地址时,还携带着作为主机编号的主机id,该主机开有10个虚拟机,网管设备相应的为该主机分配一组主机id,包括10个id。

可选地,在该第一网络设备将该第一mac地址分配给该第二网络设备之后,该第一网络设备按照预定规则取消该第一mac地址与该第二网络设备的关联。在第二网络设备不使用分配的mac地址时,第一网络设备及时回收mac地址,节约mac地址资源。

可选地,该第一网络设备按照以下预定规则之一取消该第一mac地址与该第二网络设备的关联,包括:

该第一网络设备将该第一mac地址与该第二网络设备取消关联,并向该第二网络设备发送用于指示该第一网络设备将该第一mac地址与该第二网络设备取消关联的回收消息;

该第一网络设备在接收到该第二网络设备发送的用于指示该第二网络设备不再使用该第一mac地址的请求回收消息之后,该第一网络设备将该第一mac地址与该第二网络设备取消关联;

在该第一网络设备与该第二网络设备之间的链路出现故障或者第二网络设备故障的情况下,该第一网络设备在超过预设时间的情况下将该第一mac地址与该第二网络设备取消关联。

需要补充的是,上述是三种回收分配的mac地址的情况,即取消第二网络设备与第一mac地址的关联。

可选地,该第一网络设备建立该第一mac地址与该第一网络设备接收该第一请求消息的接口的映射关系,并在该第一网络设备本地存储该映射关系。第一网络设备有多个接口,不同区域范围的下层网络设备的请求mac的消息分别由不同的接口接收,将请求消息与不同的接口建立一个映射关系,便于第一网络设备通过各个接口管理不同区域的下层设备。

根据本发明的另一个实施例,还提供了一种分配mac地址的方法,该方法包括以下步骤:

步骤一,第一网络设备接收第二网络设备发送的用于请求使用第一mac地址的第二请求消息;

步骤二,在该第一mac地址合法且未被分配的情况下,该第一网络设备向该第二网络设备发送用于指示允许该第二网络设备使用该第一mac地址的第二响应消息。

需要补充的是,上述方法适用于,第二网络设备要求申请使用第一mac地址(这个mac地址可能是之前被第二网络设备使用过的),第一网络设备在检测到第一mac地址可以被分配时,将该第一mac分配给第二网络设备。当然,前提是该第一mac地址合法且未被其他设备使用,合法可能是说第一网络设备拥有分配第一mac地址的权限。在第一mac地址已经被其他设备使用的情况下,第一网络设备可以收回该第一mac地址,将其分给第二网络设备。如果,第一网络设备检测到不能将第一mac地址分配给第二网络设备,则重新为第二网络设备分配一个mac地址。

可选地,该第一网络设备判断该第一mac地址合法是指该第一mac地址符合该第一网络设备的地址空间范围。该第一mac地址中的子网id属于该第一网络设备的子网id范围,即该第二网络设备之前使用过第一网络设备下发的mac地址,相应的,请求消息中携带的子网id也是第一网络设备范围内的子网id。

可选地,该第二请求消息中携带有该第二网络设备的子网id。

可选地,在该第二网络设备为主机的情况下,该第二请求消息中携带有该主机的子网id和主机id或主机id组,其中,该主机id为该第一网络设备为该主机分配的用于指示该主机的标识信息。

根据本发明的另一个实施例,还提供了一种分配mac地址的方法,该实施例中的方法应用于作为下层网络设备的第二网络设备,该方法包括以下步骤:

步骤一,第二网络设备向第一网络设备发送用于请求媒体访问控制mac地址的第一请求消息;

步骤二,接收该第一网络设备依据该第一请求消息反馈的第一响应消息,其中,该第一响应消息中携带该第一网络设备为该第二网络设备分配的第一mac地址。可选地,该第一mac地址包括一个或者多个mac地址。

可选地,该第一响应消息中携带的该第一mac地址中携带有该第一网络设备为该第二网络设备分配的子网标识id。

可选地,在该第二网络设备为主机的情况下,该第一响应消息中携带的mac地址携带有主机id,其中,该主机id为该第一网络设备为该第二网络设备分配的用于指示该第二网络设备的标识信息。

可选地,在接收到第一网络设备为该第二网络设备分配的该第一mac地址之后,该方法还包括:

该第二网络设备在预设条件下与该第一mac地址失去关联。

可选地,在满足以下之一预设条件时该第二网络设备与该第一mac地址失去关联,包括:该第二网络设备接收该第一网络设备发送的用于指示该第一网络设备取消该第一mac地址与该第二网络设备关联的回收消息;该第二网络设备向该第一网络设备发送用于指示该第二网络设备不再使用该第一mac地址的请求回收消息;在该第一网络设备与该第二网络设备之间的链路出现故障的情况下,在超过预设时间之后,该第二网络设备与该第一mac地址失去关联。

根据本发明的另一个实施例,还提供了一种分配mac地址的方法,该实施例中的方法应用于作为下层网络设备的第二网络设备,该方法包括以下步骤:

步骤一,第二网络设备向第一网络设备发送用于请求使用第一mac地址的第二请求消息;

步骤二,该第二网络设备接收该第一网络设备在检测到该第一mac地址合法且未被分配的情况下,发送的用于指示允许该第二网络设备使用该第一mac地址的第二响应消息。

可选地,该第二请求消息中携带有该第二网络设备的子网id。

可选地,在该第二网络设备为主机的情况下,该第二请求消息中携带有该主机的子网id和主机id,其中,该主机id为该第一网络设备为该主机分配的用于指示该主机的标识信息。

下面结合本发明优选实施例进行详细说明。

本发明优选实施例的目的在于,提供一种有效的,能够动态分配携带位置信息的mac地址的实现方法,本发明优选实施例以48位mac地址为例,本优选实施例中的技术方案也适用于64位mac地址等。需要强调的是,上层网络设备和下层网络设备是相对的技术名词,相对于图3中的网络拓扑中,一层设备是低层设备的上层网络设备,是上边一层网络设备的下层网络设备。

本优选实施例采用以下技术方案:

网络中的mac地址均为位置相关,即48位的mac地址包含有子网id,这里的子网id可以标识网络设备,从而确定携带该子网id的mac地址的位置。

mac地址的分配采用自动分级分配的方式:地址服务器(上层网络设备)根据mac地址空间请求给下层网络设备分配子网id,下层网络设备获取到子网id就获取到了属于自己的可分配的mac地址空间。依据子网id,给自己预留一组mac地址。

获取了子网id的下层网络设备,在收到了下下层网络设备的mac地址请求报文后,下层网络设备会回复携带有分配的mac地址的mac地址回复报文,这里携带的mac地址是从本网络设备的mac地址空间范围内选取可用的mac地址。

对于mac地址的回收,上层网络设备根据收到的mac地址回收消息,将对应的mac地址或mac地址空间回收。如果上层网络设备感知断链,则会启动定时器,定时器超时仍然断链才将对应的mac地址或mac地址空间回收。

对于主机或下层网络设备已使用的mac地址(块),发送携带有其原有mac地址的mac地址征询消息,上层网络设备收到该mac地址征询消息时,确认该原有mac地址(块)是否可用,则给发送mac地址征询确认消息,同意主机或下层网络设备使用该原mac地址(块),否则发送mac地址征询否认消息,此时上层网络设备会给主机分配一个新的mac地址(块)。这里的可用是指mac地址没有被其他设备占用,并且该mac地址属于收到该mac地址征询消息的上层网络设备的mac地址空间范围内。

本发明优选实施例的具体实施方式

本发明优选实施例中涉及的mac地址是携带地址信息,即mac地址主要由两部分组成:子网id(switchid)加上主机id(hostid),其中子网id代表了该mac地址的位置,即通过其子网id,可以找到该mac地址所属主机的位置。本申请文件以48位的mac地址为例,图5是根据本发明优选实施例的具体mac地址格式示意图。扩展本地标识(extendedlocalidentifier,简称为eli)类型的本地mac地址由24位组织id(companyid,简称为cid),子网id和主机设备id组成,其中子网id加主机设备id一共24位。对于标准分配标识(standardassignedidentifier,简称为sai)、管理分配标识(administrativelyassignedidentifier,简称为aai)类型来说,只有4位m/x/y/z是特定的,另外44位由子网id和主机设备id组成。64位mac地址也可以同方法推导出。子网id和主机id分别占用的位数依据网络的实际情况来定,本申请文件中不涉及这一mac地址空间大小的具体分配。

以下五个实施例,均适用于图3中所示的网络拓扑结构。

本发明优选实施例中的实施例1

s1和s2通过上行端口给d发送mac地址空间请求消息,d收到该mac地址空间请求消息按相关策略,给s1或s2分配子网id。本实施例中给s1分配mac地址空间为0xaade48100000开始(其中aade48这个mac地址所属的组织标识companyid,包括了x/y/z位指示这个mac地址的类型,本实施例是以eli类型的mac地址为例。1是给s1分配的子网id);同理,s2分配地址空间为0xaade48200000开始(其中aade48包括了x/y/z位指示这个mac地址的类型,以及这个mac地址所属的组织标识companyid。2是给s2分配的子网id)。

s1,s2获取到了各自的地址空间之后,分别接受到来自s11、s12、s13和s21、s22、s23的mac地址空间请求消息,s1和s2再按策略,给s11、s12、s13和s21、s22、s23分配子网id。这里以s1为例,s1给s11分配地址空间为0xaade48110000开始(其中aade48包括了x/y/z位指示这个mac地址的类型,以及这个mac地址所属的组织标识companyid。s11的子网id为11);s1给s12分配地址空间为0xaade48120000开始(其中aade48包括了x/y/z位指示这个mac地址的类型,以及这个mac地址所属的组织标识companyid。s12的子网id为12);同理,s1给s13分配地址空间为0xaade48130000开始(其中aade48包括了x/y/z位指示这个mac地址的类型,以及这个mac地址所属的组织标识companyid。s13的子网id为13)。

这里d,s1,s2分配的地址块,可以将分配的地址块和对应收到的mac地址空间请求消息的端口相对应,保存这样的映射关系,可以方便设备、主机的定位。

当网络设备都获取到各自的子网id,确定对应的mac地址空间后,在收到主机h发来的mac地址请求消息,则会给从属于本设备的mac地址空间中选取mac地址分配给主机h。例如s11拥有的mac地址空间为0xaade48120000到0xaade4812ffff,则s11针对从h收到的mac地址请求,给h1分配mac地址0xaade4812aa36。这样h1就获取了属于自己的mac地址。

同理,这里的s11-s23也可以将分配的mac地址或mac地址空间和收到请求消息的端口相对应,保存这样的映射关系,方便主机的定位。

图6是根据本发明优选实施例中实施例1的流程示意图,如图6所示,展示了一层网络设备向上层网络设备请求mac地址空间,即首先向上层网络设备发送mac地址空间请求消息,在收到mac地址空间回复消息之后,又收到下层网络设备发送的mac地址空间请求消息,在自身有空间的mac地址时,为下层网络设备被分配mac地址,并保存分配的mac地址和接收请求消息的端口的映射关系,后续通过该mac地址与下层网络设备通信。

这里的d除了是一个专用分配地址设备,也可以由网络设备兼职。

本发明优选实施例中的实施例2

对于h1需要获取一组地址的情况,则h1发送的mac地址请求消息,消息中携带有h1需要获取地址的数量。假如h1内部虚拟机有10个,需要获取10个mac地址,则h1发送给s11的mac地址请求消息中携带有申请10个mac地址的信息,h1收到请求消息后根据自身mac地址空间情况给h1分配10个mac地址消息,发送mac地址回复消息给h1,mac地址回复消息中携带有分配的10个mac地址空间,如0xaade48120100—0x0xaade4812010a。同时会在自身保存h1和这样一个地址空间的对应关系。

本发明优选实施例中的实施例3

当网络设备的mac地址空间耗尽,或不够用了,则需要再去申请mac地址空间块。例如,本实施例中,当s11感知到自身的mac地址空间耗尽,全部分配完,或者剩余mac地址已经不够分配地址空间,或者收到了mac地址请求消息,但已经没有地址空间可以用于分配了,则需要再次向s1发送mac地址空间请求消息,获取一块mac地址块。mac地址空间请求消息中携带有再次新一块mac地址空间。

本发明优选实施例中的实施例4

对于mac地址的回收,正常情况下,当主机不再需要该mac地址,或者上层网络设备不再感知主机的链接,则需要回收该mac地址。这里的mac地址回收分为主动和被动两种方式。

对于主动回收mac地址来说,是主机不再需要使用该mac地址,这时主机是主动发送消息给所连接的网络设备。图7是根据本发明优选实施例的实施例4的流程示意图一,如图7所示,主机要求上层网络设备回收mac地址。例如,h11不再需要使用之前分配的mac地址,可以主动发送一个mac地址回收消息给其所连接的s1,mac地址回收消息中携带有需要回收的mac地址信息。s收到mac地址回收消息后,回收该mac地址,将该mac地址列入可分配地址池中,并取消该mac地址和端口的映射关系。对于网络设备来说,也可以主动发起mac地址回收消息。s11发送mac地址回收消息到s1,s1收到后也会收回相应的地址块,并取消该地址块和端口的对应关系。

图8是根据本发明优选实施例的实施例4的流程示意图二,如图8所示,展示了被动回收的流程,被动回收是感知不到连接,例如主机故障,在感知到链路故障等原因导致的无连接,则立刻启动一个内部定时器,只有在定时器超时后,才回收该mac地址块。

本发明优选实施例中的实施例5

在主机故障或者链路故障恢复后,主机需要重新使用之前用过的地址或者重新申请mac地址,按照使用原地址优先的原则,主机需要先询问之前使用过的mac地址是否已经被其他设备占用,图9是根据本发明优选实施例的实施例5的流程示意图一,如图9所示,展示了第一种要求使用指定mac地址的步骤流程,主机需要发送mac地址征询消息,该mac地址征询消息中携带有该主机的原mac地址。当这个原mac地址获得了网络设备的确认,仍然可以用于该主机时,则将会收到网络设备发来的mac地址征询确认消息;否则将会收到网络设备发来的mac地址征询否认消息,则表示原mac地址已经不能分配给该主机使用,因此主机需要重新发送一个mac地址请求消息,重新申请新的mac地址。

也可以是网络设备根据主机发来的mac地址征询消息中携带的原mac地址判断该地址主机是否可以使用,如果可以使用,则发送mac地址征询确认消息;如果不能使用(被占用或该地址不合法),则给该主机重新分配一个新mac地址,并发送mac地址征询否认消息,mac地址征询否认消息中携带有网络设备分配的新mac地址,图10是根据本发明优选实施例的实施例5的流程示意图二,如图10所示,展示了第二种要求使用指定mac地址的步骤流程,如图10所示,如果主机采纳这个新mac地址,则用这个新mac地址进行通信。

需要补充的是,这里的mac地址同样也适用于网络设备申请mac地址空间,即可以申请使用多个mac地址。

与相关技术相比较,本发明中的技术方案首先是动态分配mac地址,可以有效利用地址资源,并且这些mac地址是携带位置信息,便于故障的诊断和定位,方便寻址方式优化,对于超十万大型数据中心网络显得尤为重要,另外通过这种方式,可以本能的避免mac地址冲突的风险。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例二

在本实施例中还提供了一种分配mac地址的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

根据本发明的另一个实施例,还提供了一种分配mac地址的装置,应用于第一网络设备,该装置包括以下模块:

第一接收模块,用于接收第二网络设备发送的用于请求媒体访问控制mac地址的第一请求消息;

第一发送模块,与该第一接收模块连接,用于向该第二网络设备发送该第一请求消息的第一响应消息,其中,该第一响应消息中携带该第一网络设备为该第二网络设备分配的第一mac地址。

可选地,该第一发送模块还用于在该第一响应消息中携带的该第一mac地址中携带有该第一网络设备为该第二网络设备分配的子网标识id。

可选地,该第一发送模块还用于在该第一网络设备将该第一mac地址分配给该第二网络设备之后,按照预定规则取消该第一mac地址与该第二网络设备的关联。

根据本发明的另一个实施例,还提供了一种分配mac地址的装置,应用于第一网络设备,该装置包括以下模块:

第二接收模块,用于接收第二网络设备发送的用于请求使用第一mac地址的第二请求消息;

第二发送模块,与该第二接收模块连接,用于在该第一mac地址合法且未被分配的情况下,向该第二网络设备发送用于指示允许该第二网络设备使用该第一mac地址的第二响应消息。

可选地,该第二请求消息中携带有该第二网络设备的子网id;或者,在该第二网络设备为主机的情况下,该第二请求消息中携带有该主机的子网id和主机id,其中,该主机id为该第一网络设备为该主机分配的用于指示该主机的标识信息。

根据本发明的另一个实施例,还提供了一种分配mac地址的装置,应用于第二网络设备,该装置包括以下模块:

第三发送模块,用于向第一网络设备发送用于请求媒体访问控制mac地址的第一请求消息;

第三接收模块,与该第三发送模块连接,用于接收该第一网络设备依据该第一请求消息反馈的第一响应消息,其中,该第一响应消息中携带该第一网络设备为该第二网络设备分配的第一mac地址。

可选地,该第三接收模块还用于在该第一响应消息中携带的该第一mac地址中携带有该第一网络设备为该第二网络设备下发的子网标识id。

根据本发明的另一个实施例,还提供了一种分配mac地址的装置,应用于第二网络设备,该装置包括以下模块:

第四发送模块,用于向第一网络设备发送用于请求使用第一mac地址的第二请求消息;

第四接收模块,与该第四发送模块连接,用于接收该第一网络设备在检测到该第一mac地址合法且未被分配的情况下,发送的用于指示允许该第二网络设备使用该第一mac地址的第二响应消息。

可选地,该第二请求消息中携带有该第二网络设备的子网id;或者,在该第二网络设备为主机的情况下,该第二请求消息中携带有该主机的子网id和主机id,其中,该主机id为该第一网络设备为该主机分配的用于指示该主机的标识信息。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

实施例三

根据本发明的另一个实施例,还提供了一种分配mac地址的系统,包括:

第二网络设备向第一网络设备发送用于请求媒体访问控制mac地址的第一请求消息;

该第一网络设备向该第二网络设备发送该第一请求消息的第一响应消息,其中,该第一响应消息中携带该第一网络设备为该第二网络设备分配的第一mac地址。

可选地,该第一响应消息中携带的该第一mac地址中携带有该第一网络设备为该第二网络设备分配的子网标识id。

实施例四

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

s1,第一网络设备接收第二网络设备发送的用于请求媒体访问控制mac地址的第一请求消息;

s2,该第一网络设备向该第二网络设备发送该第一请求消息的第一响应消息,其中,该第一响应消息中携带该第一网络设备为该第二网络设备分配的第一mac地址。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:

s3,第一网络设备接收第二网络设备发送的用于请求使用第一mac地址的第二请求消息;

s4,在该第一mac地址合法且未被分配的情况下,该第一网络设备向该第二网络设备发送用于指示允许该第二网络设备使用该第一mac地址的第二响应消息。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:

s5,第二网络设备向第一网络设备发送用于请求媒体访问控制mac地址的第一请求消息;

s6,接收该第一网络设备依据该第一请求消息反馈的第一响应消息,其中,该第一响应消息中携带该第一网络设备为该第二网络设备分配的第一mac地址。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:

s7,第二网络设备向第一网络设备发送用于请求使用第一mac地址的第二请求消息;

s8,该第二网络设备接收该第一网络设备在检测到该第一mac地址合法且未被分配的情况下,发送的用于指示允许该第二网络设备使用该第一mac地址的第二响应消息。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例中的方法步骤。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1