本发明涉及动态主机配置协议(DHCP,Dynamic Host Configuration Protocol)技术,尤指一种获取地址的方法和装置。
背景技术:
为了防止家庭网关无线覆盖信号弱导致下挂的终端无法上网的情况,会通过在家庭网关和下挂的终端之间添加无线中继器(Repeater)来增强无线信号。图1为家庭网关与Repeater对接的组网示意图。如图1所示,家庭网关和Repeater之间通过无线方式相连,Repeater和移动终端之间通过无线方式相连,Repeater和笔记本之间通过无线方式相连,Repeater和个人电脑(PC,Personal Computer)之间通过有线方式相连。
图2为现有的获取地址的方法的流程图。如图2所示,该方法大致包括:
终端向Repeater发送发现(DISCOVER)报文,Repeater将接收到的DISCOVER报文的源媒体访问控制(MAC,Media Access Control)地址改为自身的MAC地址后转发给家庭网关;支持引导程序协议(BOOTP,Bootstrap Protocol)的家庭网关向Repeater发送提供(OFFER)报文,OFFER报文中包含有分配给终端的互联网协议(IP,Internet Protocol)地址,Repeater将OFFER报文转发给终端;终端向Repeater发送请求(REQUEST)报文,Repeater向家庭网关转发REQUEST报文;家庭网关向Repeater发送确认字符(ACK,Acknowledgement),Repeater向终端转发ACK。
其中,不支持BOOTP的家庭网关接收到DISCOVER报文后,会检测DISCOVER报文中的源MAC地址和DISCOVER内部与MAC地址相关的信息是否相匹配,如果匹配,则向Repeater发送OFFER报文;如果不匹配,则不发送OFFER报文,从而无法获得家庭网关分配的IP地址。终端在预设时间内接收不到OFFER报文时,重新向Repeater发送DISCOVER报文。
现有的获取地址的方法中,由于终端和Repeater并不知道家庭网关是否支持BOOTP,存在不能获取地址的问题,因此降低了获取地址的成功率。
技术实现要素:
为了解决上述问题,本发明提出了一种获取地址的方法和装置,能够保证获取地址,从而提高获取地址的成功率。
为了达到上述目的,本发明提出了一种获取地址的方法,包括:
无线中继器Repeater获取来自家庭网关的互联网协议IP地址和子网掩码,根据获得的IP地址和子网掩码计算IP地址范围段,并开启动态主机配置协议DHCP服务;
当Repeater接收到来自终端的第一发现DISCOVER报文时,向终端发送第一提供OFFER报文;其中,第一OFFER报文中包含有Repeater根据计算得到的IP地址范围段为终端分配的IP地址。
优选地,所述Repeater获取来自家庭网关的IP地址和子网掩码包括:
所述Repeater向所述家庭网关发送第二DISCOVER报文;其中,所述第二DISCOVER报文的源媒体访问控制MAC地址和第二DISCOVER报文内部与MAC地址相关的信息相匹配;
所述Repeater接收到来自所述家庭网关的第二OFFER报文;其中,所述第二OFFER报文包含有所述IP地址和所述子网掩码。
优选地,所述第一DISCOVER报文中还包括:
所述第二DISCOVER报文中的子网掩码、所述第二DISCOVER报文中的路由、所述第二DISCOVER报文中的域名解析系统DNS、租期。
优选地,该方法之前还包括:
所述Repeater向所述家庭网关发送第三DISCOVER报文;其中,所述第三DISCOVER报文的源MAC地址和第三DISCOVER报文内部与MAC地址相关的信息不匹配;
所述Repeater在预设时间内未接收到来自所述家庭网关的第三OFFER 报文。
优选地,所述向终端发送第一OFFER报文之前还包括:
所述Repeater对所述为终端分配的IP地址进行冲突检测。
优选地,该方法还包括:
所述Repeater接收到来自所述终端的请求REQUEST报文,向所述终端发送确认字符ACK。
本发明还提出了一种获取地址的装置,至少包括:
计算模块,用于获取来自家庭网关的互联网协议IP地址和子网掩码,根据获得的IP地址和子网掩码计算IP地址范围段,并开启动态主机配置协议DHCP服务;
发送模块,用于接收到第一通知消息,向终端发送第一提供OFFER报文;其中,第一OFFER报文中包含有Repeater根据计算得到的IP地址范围段为终端分配的IP地址;
接收模块,用于当Repeater接收到来自终端的第一发现DISCOVER报文时,向发送模块发送第一通知消息。
优选地,所述计算模块具体用于:
向所述家庭网关发送第二DISCOVER报文;其中,所述第二DISCOVER报文的源媒体访问控制MAC地址和第二DISCOVER报文内部与MAC地址相关的信息相匹配;接收到来自所述家庭网关的第二OFFER报文;其中,所述第二OFFER报文包含有所述IP地址和所述子网掩码;根据获得的IP地址和子网掩码计算IP地址范围段。
优选地,所述发送模块还用于:
向所述家庭网关发送第三DISCOVER报文;其中,所述第三DISCOVER报文的源MAC地址和第三DISCOVER报文内部与MAC地址相关的信息不匹配;接收到第二通知消息,向所述家庭网关发送所述第二DISCOVER报文;
所述接收模块还用于:
在预设时间内未接收到来自所述家庭网关的第三OFFER报文,向所述发送模块发送第二通知消息。
优选地,所述发送模块对所述为终端分配的IP地址进行冲突检测后,向所述终端发送所述第一OFFER报文。
优选地,所述接收模块还用于:
接收到来自所述终端的请求REQUEST报文,向所述发送模块发送第三通知消息;
所述发送模块还用于:
接收到所述第三通知消息,向所述终端发送确认字符ACK。
与现有技术相比,本发明包括:Repeater获取来自家庭网关的IP地址和子网掩码,根据获得的IP地址和子网掩码计算IP地址范围段,并开启动态主机配置协议DHCP服务;当Repeater接收到来自终端的第一DISCOVER报文时,向终端发送第一OFFER报文;其中,第一OFFER报文中包含有Repeater根据计算得到的IP地址范围段为终端分配的IP地址。通过本发明的方案,Repeater通过来自家庭网关的IP地址和子网掩码为终端分配IP地址,保证了获取地址,提高了终端获得地址的成功率。
附图说明
下面对本发明实施例中的附图进行说明,实施例中的附图是用于对本发明的进一步理解,与说明书一起用于解释本发明,并不构成对本发明保护范围的限制。
图1为现有的家庭网关与Repeater对接的组网示意图;
图2为现有的获取地址的方法的流程图;
图3为本发明获取地址的方法的流程图;
图4为本发明第一实施例获取地址的方法的流程图;
图5为本发明第二实施例获取地址的方法的流程图;
图6为本发明第三实施例获取地址的方法的流程图;
图7为本发明获取地址的装置的结构组成示意图。
具体实施方式
为了便于本领域技术人员的理解,下面结合附图对本发明作进一步的描述,并不能用来限制本发明的保护范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的各种方式可以相互组合。
参见图3,本发明提出了一种获取地址的方法,包括:
步骤300、Repeater获取来自家庭网关的IP地址和子网掩码,根据获得的IP地址和子网掩码计算IP地址范围段,并开启DHCP服务。
本步骤中,Repeater获取来自家庭网关的IP地址和子网掩码包括:
Repeater向家庭网关发送第二DISCOVER报文,Repeater接收到来自家庭网关的第二OFFER报文。
其中,Repeater可以定期向家庭网关发送第二DISCOVER报文。
其中,第二DISCOVER报文的源MAC地址和第二DISCOVER报文内部与MAC地址相关的信息相匹配。
其中,第二DISCOVER报文内部与MAC地址相关的信息是指第二DISCOVER报文内部包含有源MAC地址的字段,如用户硬件地址(Chaddr,Client Hardware Address)字段、或用户标识(ClientID,Client Identification)字段等。这些字段可能本身就是源MAC地址,也可能部分包含了源MAC地址。
其中,第二DISCOVER报文中的源MAC地址可以是Repeater的MAC地址,第二DISCOVER报文内部与MAC地址相关的信息所包含的MAC地址可以是Repeater的MAC地址。
其中,如何根据获得的IP地址和子网掩码计算IP地址范围段属于本领域技术人员的公知技术,并不用于限定本发明的保护范围,这里不再赘述。例如,IP地址范围段可以是以第二OFFER报文中的IP地址为中心的IP地 址范围段。
其中,第二OFFER报文中还可以包含有路由、域名解析系统(DNS,Domain Name System)、租期等。
本步骤中,Repeater如何开启DHCP服务属于本领域技术人员的公知技术,并不用于限定本发明的保护范围,这里不再赘述。
步骤301、当Repeater接收到来自终端的第一DISCOVER报文时,向终端发送第一OFFER报文。
本步骤中,第一OFFER报文中包含有Repeater根据计算得到的IP地址范围段为终端分配的IP地址,还可以包含有子网掩码、路由、DNS、租期等。
其中,Repeater如何为终端分配IP地址属于本领域技术人员的公知技术,并不用于限定本发明的保护范围,这里不再赘述。
其中,第一OFFER报文中的子网掩码与第二OFFER报文中的子网掩码相同,第一OFFER报文中的路由与第二OFFER报文中的路由相同,第一OFFER报文中的DNS与第二OFFER报文中的DNS相同,第一OFFER报文中的租期可以根据具体情况定义,第一OFFER报文中的租期最好小于或等于第二OFFER报文中的租期。
本步骤中,向终端发送第一OFFER报文之前还包括:Repeater对为终端分配的IP地址进行冲突检测。具体实现属于本领域技术人员的公知技术,并不用于限定本发明的保护范围,这里不再赘述。
通过本发明的方案,Repeater通过自身构造的第二DISCOVER报文向家庭网关获取IP地址,并根据获得的IP地址为终端分配IP地址,避免了家庭网关不支持BOOTP的情况,提高了终端获得地址的成功率。
作为可选的步骤,该方法还包括:
步骤302、Repeater接收到来自终端的REQUEST报文,向终端发送ACK。
作为可选的步骤,该方法之前还包括:
Repeater向家庭网关发送第三DISCOVER报文;其中,第三DISCOVER 报文的源MAC地址和第三DISCOVER报文内部与MAC地址相关的信息不匹配;Repeater在预设时间内未接收到来自家庭网关的第三OFFER报文。
其中,当Repeater在预设时间内接收到来自家庭网关的第三OFFER报文时,则当Repeater接收到来自终端的第一DISCOVER报文时,按照现有的方法获取地址。
其中,第三DISCOVER报文中的源MAC地址可以是Repeater的MAC地址,第三DISCOVER报文内部与MAC地址相关的信息所包含的MAC地址可以随意设置。
下面通过具体实施例详细说明本发明的方法。
第一实施例,参见图4,该方法包括:
步骤400、Repeater和家庭网关通过无线方式关联成功后,向家庭网关发送第三DISCOVER报文。
步骤401、Repeater在预设时间内未接收到来自家庭网关的第三OFFER报文,向家庭网关发送第二DISCOVER报文。
步骤402、Repeater接收到来自家庭网关的第二OFFER报文,根据第二OFFER报文中的IP地址和子网掩码计算IP地址范围段,并开启DHCP服务。
步骤403、Repeater接收到来自终端的第一DISCOVER报文,对为终端分配的IP地址进行冲突检测,向终端发送第一OFFER报文。
步骤404、Repeater接收到来自终端的REQUEST报文,向终端发送ACK。
第二实施例,参见图5,该方法包括:
步骤500、Repeater和家庭网关通过无线方式关联成功后,向家庭网关发送第三DISCOVER报文。
步骤501、Repeater接收到来自家庭网关的第三OFFER报文。
步骤502、Repeater接收到来自终端的第一DISCOVER报文,将第一DISCOVER报文中的源MAC改为自身的MAC地址后转发给家庭网关。
步骤503、Repeater接收到来自家庭网关的第一OFFER报文,将第一 OFFER报文转发给终端。
步骤504、Repeater接收到来自终端的REQUEST报文,将REQUEST报文转发给家庭网关。
步骤505、Repeater接收到来自家庭网关的ACK,将ACK转发给终端。
第三实施例,参见图6,该方法包括:
步骤600、Repeater向家庭网关发送第二DISCOVER报文。
步骤601、Repeater接收到来自家庭网关的第二OFFER报文,根据第二OFFER报文中的IP地址和子网掩码计算IP地址范围段,并开启DHCP服务。
步骤602、Repeater接收到来自终端的第一DISCOVER报文,对为终端分配的IP地址进行冲突检测,向终端发送第一OFFER报文。
步骤603、Repeater接收到来自终端的REQUEST报文,向终端发送ACK。
参见图7,本发明还提出了一种获取地址的装置,至少包括:
计算模块,用于获取来自家庭网关的互联网协议IP地址和子网掩码,根据获得的IP地址和子网掩码计算IP地址范围段,并开启DHCP服务;
发送模块,用于接收到第一通知消息,向终端发送第一OFFER报文;其中,第一OFFER报文中包含有Repeater根据计算得到的IP地址范围段为终端分配的IP地址;
接收模块,用于当Repeater接收到来自终端的第一DISCOVER报文时,向发送模块发送第一通知消息。
本发明的装置中,计算模块具体用于:
向家庭网关发送第二DISCOVER报文;其中,第二DISCOVER报文的源媒体访问控制MAC地址和第二DISCOVER报文内部与MAC地址相关的信息相匹配;接收到来自家庭网关的第二OFFER报文;其中,第二OFFER报文包含有所述IP地址和子网掩码;根据获得的IP地址和子网掩码计算IP地址范围段。
本发明的装置中,发送模块还用于:
向家庭网关发送第三DISCOVER报文;其中,第三DISCOVER报文的源MAC地址和第三DISCOVER报文内部与MAC地址相关的信息不匹配;接收到第二通知消息,向家庭网关发送第二DISCOVER报文;
接收模块还用于:
在预设时间内未接收到来自家庭网关的第三OFFER报文,向发送模块发送第二通知消息。
本发明的装置中,发送模块对为终端分配的IP地址进行冲突检测后,向终端发送第一OFFER报文。
本发明的装置中,接收模块还用于:
接收到来自终端的请求REQUEST报文,向发送模块发送第三通知消息;
发送模块还用于:
接收到第三通知消息,向终端发送确认字符ACK。
需要说明的是,以上所述的实施例仅是为了便于本领域的技术人员理解而已,并不用于限制本发明的保护范围,在不脱离本发明的发明构思的前提下,本领域技术人员对本发明所做出的任何显而易见的替换和改进等均在本发明的保护范围之内。