一种MAC地址生成方法及装置
技术领域
本发明涉及网络通信领域,特别涉及一种MAC地址生成方法及装置。
背景技术
目前普遍的设备MAC地址生成方法是:生成网络设备的厂商向IEEE申请购买一段MAC地址,MAC地址由48位二进制数字组成,其中0-23位是厂商向IETF(The InternetEngineering Task Force,互联网工程任务组)等机构申请用来标识厂商的代码,24-47位由厂商自行分配,决定了厂商制造的网卡的唯一编号。但是在某些电子设备的量产过程中,厂家需要定制MAC地址,即不使用网卡的MAC地址,而是使用厂家自己的MAC地址来通信。一般的做法是将MAC地址烧写到存储设备中,然后让通信模块来读取该MAC地址。但是这样会存在一个弊端:生成效率低浪费大量的时间。
目前终端电子设备MAC地址技术主要分为三种:通过串口、U盘或网口写入MAC地址。其中通过串口或者网口烧写MAC地址的方案需要上位机软件,同时也需要人员参与,增加了工序;而U盘烧写MAC地址方案,虽能自动完成,但需要设备支持USB接口,适用性不广也具有一定的安全隐患。上述三种方法都需要事先对MAC地址进行规划,确定各批次设备的MAC地址。
因此,提供一种可以自动生成MAC地址的方法来保证MAC地址写入的唯一性、安全性是本领域技术人员需解决的问题。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种MAC地址生成方法。
本发明的另一目的在于提供一种MAC地址生成装置。
本发明的目的通过以下的技术方案实现:
一种MAC地址生成方法,包含以下步骤:
终端设备:
A、上电启动,读取存储器是否有终端设备的有效标记信息,有效标记包括编号、MAC地址、设备序列号、CRC值;如果有,那么采用此MAC地址进行通信,结束流程;否则,执行步骤B;
B、读取设备芯片的设备序列号,由初始MAC地址生成方案生成初始MAC地址;
C、上报初始MAC地址和设备芯片的设备序列号给MAC地址管理设备,等待MAC地址管理设备应答信息;
D、解析初始MAC地址的应答,若MAC地址溢出,结束流程;若没溢出,继续步骤E;
E、若初始MAC地址重复,则更新自身的MAC地址,重复步骤C;若合法,则存储带此MAC信息的有效标记至存储器,结束流程;
MAC地址管理设备:
a、上电启动;
b、监测是否有终端设备的MAC地址申请信息:若有,执行步骤c;若没有,继续监测等待;
c、判断存储器中有效标记列表编号小于0xffffff:若不小于,回复MAC地址溢出,结束流程;否则执行步骤d;
d、判断MAC地址是否重复:若重复,回复MAC地址重复应答,以使所述终端设备继续步骤B;若合法,执行步骤e;
e、有效标记的编号加1,由此终端设备的MAC地址及设备序列号生成一个有效标记,将有效标记回复给终端设备,并存储至有效标记列表,然后继续步骤b。
所述初始MAC地址生成方案具体为:MAC地址包括厂家分配号(0-23位,由厂商向IEEE购买)、厂家自行指派号(24-47位);读取芯片设备序列号寄存器的值(设备序列号),取其低24位作为MAC地址的厂家自行指派号作为初始MAC地址。理论扩展设备可达到1670万台以上,若超过1670万台,需重新申请厂家分配号。
所述MAC地址管理设备同时管理一个以上终端设备的MAC地址。
所述MAC地址管理设备与终端设备的通信方式包括以太网、RS485、CAN。
所述MAC地址管理设备的处理芯片采用TI的AM1808。
本发明的另一目的通过以下的技术方案实现:
一种MAC地址生成装置,包括终端设备、管理终端设备MAC地址的MAC地址管理设备,以及存储终端设备有效标记信息的存储器,
所述终端设备:
A、上电启动,读取存储器是否有终端设备的有效标记信息,有效标记包括编号、MAC地址、设备序列号、CRC值;如果有,那么采用此MAC地址进行通信,结束流程;否则,执行步骤B;
B、读取设备芯片的设备序列号,由初始MAC地址生成方案生成初始MAC地址;
C、上报初始MAC地址和设备芯片的设备序列号给MAC地址管理设备,等待MAC地址管理设备应答信息;
D、解析初始MAC地址的应答,若MAC地址溢出,结束流程;若没溢出,继续步骤E;
E、若初始MAC地址重复,则更新自身的MAC地址,重复步骤C;若合法,则存储带此MAC信息的有效标记至存储器,结束流程;
所述MAC地址管理设备:
a、上电启动;
b、监测是否有终端设备的MAC地址申请信息:若有,执行步骤c;若没有,继续监测等待;
c、判断存储器中有效标记列表编号小于0xffffff:若不小于,回复MAC地址溢出,结束流程;否则执行步骤d;
d、判断MAC地址是否重复:若重复,回复MAC地址重复应答,以使所述终端设备继续步骤B;若合法,执行步骤e;
e、有效标记的编号加1,由此终端设备的MAC地址及设备序列号生成一个有效标记,将有效标记回复给终端设备,并存储至有效标记列表,然后继续步骤b。
所述初始MAC地址生成方案具体为:MAC地址包括厂家分配号(0-23位,由厂商向IEEE购买)、厂家自行指派号(24-47位);读取芯片设备序列号寄存器的值(设备序列号),取其低24位作为MAC地址的厂家自行指派号作为初始MAC地址。理论扩展设备可达到1670万台以上,若超过1670万台,需重新申请厂家分配号。
所述MAC地址管理设备同时管理一个以上终端设备的MAC地址。
所述MAC地址管理设备与终端设备的通信方式包括以太网、RS485、CAN。
所述MAC地址管理设备的处理芯片采用TI的AM1808。
本发明与现有技术相比,具有如下优点和有益效果:
本发明所述的MAC地址生成方法,终端设备利用芯片的设备序列号自动生成初始MAC地址,利用设备序列号的特殊性在一定程度上保证了MAC地址的唯一性,再通过与MAC地址管理设备之间的通信,由MAC地址管理设备进行判断从而完成了MAC地址的分配流程。最终生成唯一的MAC地址,与设备序列号做CRC校验,并保存在存储器,供下次开机启动读取验证。整个过程无需人员过多参与就完成了MAC地址的生成,在设备的处理器及存储器寿命内,MAC地址总是安全和唯一的。
附图说明
图1为本发明所述一种MAC地址生成装置的示意图。
图2为本发明所述一种MAC地址生成方法的终端设备流程图。
图3为本发明所述一种MAC地址生成方法的MAC地址管理设备流程图。
图4为有效标记的构成示意图。
图5为MAC地址的构成示意图。
图6为芯片设备序列号寄存器的存储字节示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
如图1所示,本发明实施例一系统组成框图,MAC地址管理设备1个,终端设备可以1个或多个,通信接口采用以太网接口(也可以采用CAN或者RS485)。本实例终端设备、MAC地址管理设备采用TI的AM1808做处理芯片(也可以其他的处理器芯片)具体实现流程如下:
终端设备端:
A)上电启动,读取存储器特定的位置是否有有效标记信息,终端设备只存储一个有效标记。如果有,那么采用此MAC地址进行通信,结束流程;否则,执行步骤B;
如图4,有效标记包括编号、设备产品序列号、MAC地址、CRC值;
B)读取AM1808芯片的寄存器DIEDR0-3获取设备序列号,由初始MAC地址生成方案生成初始MAC地址;
初始MAC地址生成方案:如图5,MAC地址构成:厂家分配号(0-23位,由厂商向IEEE购买)和厂家自行指派号(24-47位)。如图6,读取DIEDR0寄存器的值(设备序列号),取其低24位作为MAC地址的厂家自行指派号作为初始MAC地址,理论扩展设备可达到1670万台以上,若超过1670万台,需重新申请厂家分配号;
C)上报MAC地址信息和设备序列号给MAC地址管理设备,等待MAC地址管理设备应答信息,若收到应答,继续下面步骤;
D)解析MAC地址的应答,若地址溢出,结束流程;若没溢出,继续步骤E;
MAC地址溢出后,需厂家向IEEE购买新的厂家分配号,方可继续新的MAC地址分配。
E)若MAC地址重复,则修改自身的MAC地址(从低位递增),重复步骤C;若合法,则存储带此MAC信息的有效标记至存储器,结束流程。
MAC地址管理设备端:
A)上电启动;
B)监测是否有终端设备的MAC地址申请信息,若有,执行步骤C;若没有,继续监测等待;
C)判断存储器中有效标记列表编号小于0xffffff,若不小于,回复MAC地址溢出,结束流程;否则执行步骤D;
MAC地址管理设备,登记每个出厂终端设备的有效标记,并为每个标记分配了一个编号,有效标记列表最大编号不能超过0xffffff。
D)判断MAC地址是否重复,若重复,回复MAC地址重复应答,以使所述终端设备继续步骤B;若合法,执行步骤E;
E)回复终端设备MAC地址合法,有效标记编号加1,并存储此MAC信息至有效标记列表,然后继续步骤B;
MAC地址管理设备采用大容量的存储器,例如am1808支持sata接口,可以挂载一个128G字节的硬盘,并移植linux系统,通过文件操作就可以实现对MAC地址管理。每台设备一个有效标记,每个标记为20字节,总共可存储68亿个,完全满足要求。也可以采用传统PC机配备对应的上位机软件。
为什么要判断MAC地址的合法性,因为取芯片设备序列号的低24位,会出现数值相同的情况出现,那么需要终端设备及MAC地址管理设备交互,判断MAC地址是否合法。终端设备修改自身MAC地址,可以采用递增或者递减,每次修改后上报MAC信息给MAC地址管理设备,MAC地址管理设备查有效标记列表来判定MAC地址的合法性。且当设备超过1670万台,无法再分配MAC地址,需重新申请厂家分配号,再利用此方案进行分配。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。