[0030] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
[0031] 本实施例的目的在于提供一种IP地址分配方法及系统,用于解决现有方法中保持终端IP地址不变时存在的繁琐、工作量大的问题。以下将详细阐述本实施例的一种IP地址分配方法及系统的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本实施例的一种IP地址分配方法及系统。
[0032] 本实施例提供一种IP地址分配方法和系统,用于电子设备从分配IP地址的路由器获取IP地址的过程中,其中,所述电子设备包括但不限于个人电脑、手机或PAD。本实施例基于电子设备的MAC地址唯一性,获取与MAC地址一一对应的IP地址,即使电子设备断掉与路由器之间的连接,只要MAC地址不变,再次连接上之后,电子设备的IP地址就不变,解决了再次连接后重新分配IP地址时新分配的IP地址与电子设备原IP地址不相同的问题,更加有利于管理同一路由器下连接的电子设备,而电子设备的每个管理员也省去了多次配置IP地址的麻烦。
[0033] 具体地,如图1所示,本实施例提供一种IP地址分配方法,用于电子设备从分配IP地址的路由器获取IP地址的过程中,所述IP地址分配方法包括以下步骤。
[0034] 步骤S11,在接收到电子设备发送的IP地址分配请求时,从所述IP地址分配请求中获取所述电子设备的子网掩码和MAC地址。
[0035] 步骤S12,根据获取的所述子网掩码、所述MAC地址和预设算法获取与所述MAC地址相对应的初始IP地址。
[0036] 步骤S13,断所述初始IP地址在IP地址池中是否可用,若是,则接着执行步骤S14,若都,则接着执行步骤S15。
[0037] 步骤S14,从所述IP地址池中获取与所述初始IP地址相同的IP地址并将该IP地址反馈至所述电子设备。
[0038] 步骤S15,对所述初始IP地址进行至少一次加1运算获取在所述IP地址池中可被分配的最终IP地址。
[0039] 步骤S16,从所述IP地址池中获取与所述最终IP地址相同的IP地址并将该IP地址反馈至所述电子设备。
[0040] 以下对步骤S11至步骤S16进行详细说明。
[0041] 步骤S11,在接收到电子设备发送的IP地址分配请求时,从所述IP地址分配请求中获取所述电子设备的子网掩码和MAC地址。
[0042] 具体地,于本实施例中,电子设备连接到相关路由器时,电子设备会请求路由器分配给自己一个IP地址,即电子设备会向路由器发送一个IP地址分配请求,其中,所述IP地址分配请求中包括有电子设备的一些信息,例如电子设备的子网掩码和MAC地址。
[0043] 步骤S12,根据获取的所述子网掩码、所述MAC地址和预设算法获取与所述MAC地址相对应的初始IP地址。
[0044] 具体地,于本实施例中,所述预设算法包括:判断所述子网掩码中四个网段的数值,将所述子网掩码中数值为固定值的网段中的数值设置为所述初始IP地址的对应网段中的数值,将所述MAC地址的字节进行异或运算生成的二进制数值转换为十进制数值后作为所述初始IP地址的其余网段的数值。其中,于本实施例中,所述子网掩码的网段中固定值为255,所述子网掩码的网段中变量值为小于255的自然数,即所述变量值的范围为0≤变量值≤255。
[0045] 更进一步地,于本实施例中,若所述子网掩码中前三个网段的数值为固定值,最后一个网段的数值为变量值,则将所述子网掩码的前三个网段的数值对应作为所述初始IP地址的前三个网段的数值,将所述MAC地址的六个字节依次异或运算后生成的二进制数值转换为十进制数值后的数值作为所述初始IP地址的最后一个网段的数值。
[0046] 例如,如果子网掩码a.b.c.d四个网段的情况是a=255,b=255,c=255,0<=d<=255,例如子网掩码为255.255.255.0,那么最后一个网段的IP地址来源于MAC地址的6个字节的依次异或运算。假设MAC地址为D0-67-E5-00-C1-52,则对D0异或运算为1,67异或运算为1,E5异或运算为1,00异或运算为0,C1异或运算为1,52异或运算为1,则对MAC地址的六个字节依次异或运算后生成的二进制数值为111011,转换为十进制数值为59,则初始IP地址为255.255.255.59。
[0047] 更进一步地,于本实施例中,若所述子网掩码中前两个网段的数值为固定值,后两个网段的数值为变量值,则将所述子网掩码的前两个网段的数值对应作为所述初始IP地址的前两个网段的数值,分别将所述MAC地址的前三个字节依次异或运算后和后三个字节依次异或运算后生成的二进制数值转换为十进制数值后的数值作为所述初始IP地址的后两个网段的数值。
[0048] 例如,如果子网掩码a.b.c.d四个网段的情况是a=255,b=255,0=
[0049] 更进一步地,于本实施例中,若所述子网掩码中第一个网段的数值为固定值,后三个网段的数值为变量值,则将所述子网掩码的第一个网段的数值对应作为所述初始IP地址的第一个网段的数值,分别将所述MAC地址的前两个字节依次异或运算后、中间两个字节依次异或运算后以及后两个字节依次异或运算后生成的二进制数值转换为十进制数值后的数值作为所述初始IP地址的后三个网段的数值。
[0050] 例如,如果子网掩码a.b.c.d四个网段的情况是0<=a<=255,0=67-E5-00-C1-52,则对D0异或运算为1,67异或运算为1,即MAC地址的前两个字节的异或运算后生成的二进制数值为11,转换为十进制数值为3,E5异或运算为1,00异或运算为0,即MAC地址的中间两个字节的异或运算后生成的二进制数值为10,转换为十进制数值为2,C1异或运算为1,52异或运算为1,即MAC地址的后两个字节的异或运算后生成的二进制数值为
11,转换为十进制数值为3,则初始IP地址为255.3.2.3。
[0051] 步骤S13,断所述初始IP地址在IP地址池中是否可用,若是,则接着执行步骤S14,若都,则接着执行步骤S15。
[0052] 步骤S14,从所述IP地址池中获取与所述初始IP地址相同的IP地址并将该IP地址反馈至所述电子设备。
[0053] 步骤S15,对所述初始IP地址进行至少一次加1运算获取在所述IP地址池中可被分配的最终IP地址。
[0054] 具体地,于本实施例中,例如初始IP地址为255.255.7.3,该IP地址在IP地址池中不可用,则对255.255.7.3进行加1运算,即将初始IP地址的任意一个或几个或最后一个网段的数值加1,例如对最后一个网段的数值加1,即现有初始IP地址变为255.255.7.4,然后继续判断255.255.7.4在IP地址池中是否可用,若可用则将该IP地址作为最终IP地址,若不可用,则继续对255.255.7.4进行加1运算,变为255.255.7.5,然后判断255.255.7.5在IP地址池中是否可用,如此循环,直至获取在IP地址池中可用的IP地址并将该IP地址作为最终IP地址。
[0055] 步骤S16,从所述IP地址池中获取与所述最终IP地址相同的IP地址并将该IP地址反馈至所述电子设备。
[0056] 所以本实施例的IP地址分配方法实现了根据MAC地址获取一一对应的IP地址的功能,适用于管理连接在路由器上的多台电子设备。本实施例的IP地址分配方法通过对MAC地址进行一系列的计算,获得一个IP地址,在对获得的地址进行一系列的判断,以及之后的情况算法处理,最终获得一个唯一的IP地址,即有效又不会与地址池中的地址有任何的重复,最后分配给电子设备,电子设备获得的IP地址不会随着任何外界情况而发生改变,有效的减少了多次获取地址的时间,提高IP地址的利用率,提高了各种电子设备之间连接的稳定性。
[0057] 为实现上述IP地址分配方法,本实施例对应提供一种IP地址分配系统,用于电子设备从分配IP地址的路由器获取IP地址的过程中,具体地,于本实施例中,如图2所示,所所述IP地址分配系统1包括:信息获取模块11,初始IP地址获取模块12,判断模块13,IP地址分配模块14,IP地址反馈模块15和最终IP地址获取模块16。
[0058] 于本实施例中,所述信息获取模块11用于在接收到电子设备发送的IP地址分配请求时,从所述IP地址分配请求中获取所述电子设备的子网掩码和MAC地址。
[0059] 具体地,于本实施例中,电子设备连接到相关路由器时,电子设备会请求路由器分配给自己一个IP地址,即电子设备会向路由器发送一个IP地址分配请求,其中,所述IP地址分配请求中包括有电子设备的一些信息,例如电子设备的子网掩码和MAC地址。
[0060] 于本实施例中,所述初始IP地址获取模块12与所述信息获取模块11相连,用于根据获取的所述子网掩码、所述MAC地址和预设算法获取与所述MAC地址相对应的初始IP地址。
[0061] 具体地,于本实施例中,所述初始IP地址获取模块12中的预设算法包括:判断所述子网掩码中四个网段的数值,将所述子网掩码中数值为固定值的网段中的数值设置为所述初始IP地址的对应网段中的数值,将所述MAC地址的字节进行异或运算生成的二进制数值转换为十进制数值后作为所述初始IP地址的其余网段的数值。
[0062] 更进一步地,于本实施例中,若所述子网掩码中前三个网段的数值为固定值,最后一个网段的数值为变量值,则将所述子网掩码的前三个网段的数值对应作为所述初始IP地址的前三个网段的数值,将所述MAC地址的六个字节依次异或运算后生成的二进制数值转换为十进制数值后的数值作为所述初始IP地址的最后一个网段的数值。
[0063] 例如,如果子网掩码a.b.c.d四个网段的情况是a=255,b=255,c=255,0<=d<=255,例如子网掩码为255.255.255.0,那么最后一个网段的IP地址来源于MAC地址的6个字节的依次异或运算。假设MAC地址为D0-67-E5-00-C1-52,则对D0异或运算为1,67异或运算为1,E5异或运算为1,00异或运算为0,C1异或运算为1,52异或运算为1,则对MAC地址的六个字节依次异或运算后生成的二进制数值为111011,转换为十进制数值为59,则初始IP地址为255.255.255.59。
[0064] 更进一步地,于本实施例中,若所述子网掩码中前两个网段的数值为固定值,后两个网段的数值为变量值,则将所述子网掩码的前两个网段的数值对应作为所述初始IP地址的前两个网段的数值,分别将所述MAC地址的前三个字节依次异或运算后和后三个字节依次异或运算后生成的二进制数值转换为十进制数值后的数值作为所述初始IP地址的后两个网段的数值。
[0065] 例如,如果子网掩码a.b.c.d四个网段的情况是a=255,b=255,0=
[0066] 更进一步地,于本实施例中,若所述子网掩码中第一个网段的数值为固定值,后三个网段的数值为变量值,则将所述子网掩码的第一个网段的数值对应作为所述初始IP地址的第一个网段的数值,分别将所述MAC地址的前两个字节依次异或运算后、中间两个字节依次异或运算后以及后两个字节依次异或运算后生成的二进制数值转换为十进制数值后的数值作为所述初始IP地址的后三个网段的数值。
[0067] 例如,如果子网掩码a.b.c.d四个网段的情况是0<=a<=255,0=67-E5-00-C1-52,则对D0异或运算为1,67异或运算为1,即MAC地址的前两个字节的异或运算后生成的二进制数值为11,转换为十进制数值为3,E5异或运算为1,00异或运算为0,即MAC地址的中间两个字节的异或运算后生成的二进制数值为10,转换为十进制数值为2,C1异或运算为1,52异或运算为1,即MAC地址的后两个字节的异或运算后生成的二进制数值为
11,转换为十进制数值为3,则初始IP地址为255.3.2.3。
[0068] 于本实施例中,所述判断模块13与所述初始IP地址获取模块12和路由器中的IP地址池相连,用于判断所述初始IP地址在IP地址池中是否可用。
[0069] 于本实施例中,所述IP地址分配模块14分别与所述初始IP地址获取模块12、所述最终IP地址获取模块16以及所述判断模块13相连,用于在所述初始IP地址在IP地址池中可用时,从所述IP地址池中获取与所述初始IP地址相同的IP地址。
[0070] 于本实施例中,所述IP地址反馈模块15与所述IP地址分配模块14相连,用于将从所述IP地址池中获取的IP地址反馈至所述电子设备。
[0071] 于本实施例中,所述最终IP地址获取模块16分别与所述初始IP地址获取模块12和所述判断模块13相连,用于在所述初始IP地址在IP地址池中不可用时,对所述初始IP地址进行至少一次加1运算获取在所述IP地址池中可被分配的最终IP地址。然后所述IP地址分配模块14从所述IP地址池中获取与所述最终IP地址相同的IP地址。
[0072] 具体地,于本实施例中,在所述最终IP地址获取模块16中,例如初始IP地址为255.255.7.3,该IP地址在IP地址池中不可用,则对255.255.7.3进行加1运算,即将初始IP地址的任意一个或几个或最后一个网段的数值加1,例如对最后一个网段的数值加1,即现有初始IP地址变为255.255.7.4,然后继续判断255.255.7.4在IP地址池中是否可用,若可用则将该IP地址作为最终IP地址,若不可用,则继续对255.255.7.4进行加1运算,变为
255.255.7.5,然后判断255.255.7.5在IP地址池中是否可用,如此循环,直至获取在IP地址池中可用的IP地址并将该IP地址作为最终IP地址。
[0073] 综上所述,本发明根据电子设备的子网掩码、MAC地址和预设算法获取与所述MAC地址相对应的初始IP地址,若初始IP地址在IP地址池中可用,则从所述IP地址池中获取与所述初始IP地址相同的IP地址并将该IP地址反馈至所述电子设备,若初始IP地址在IP地址池中不可用,对所述初始IP地址进行至少一次加1运算获取在所述IP地址池中可被分配的最终IP地址,同时从所述IP地址池中获取与所述最终IP地址相同的IP地址并将该IP地址反馈至所述电子设备,所以本发明可以自动将MAC地址与IP地址一一对应起来,避免出现不同的MAC地址对应到相同的IP地址上,让再多的电子设备都能得到唯一的IP地址,管理IP地址时,只需要设置一次,以后将不用再改变,有效的提高了每一个IP地址的利用率和工作效率;本发明无需通过DNS服务器等类似服务的支持,利用域名来访问IP地址,使得工作流程简单,也不会存在因不支持域名导致工作阻塞等类似情况的出现;本发明通过将MAC地址和IP地址捆绑在一起,这样,就不会出现IP地址被盗用而不能正常使用网络的情况,可以有效保证网络的安全和用户的应用。而且在使用IP地址的一些应用中,通过本发明获得的IP只需获取一次,以后将无需再进行配置,因为IP不在变动。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0074] 上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。