专利名称:一种地址分配的方法和设备的制作方法
技术领域:
本发明涉及通信技术领域,特别是涉及一种地址分配的方法和设备。
技术背景随着网络规模的不断扩大和网络复杂度的提高,IP地址数量已经不能满 足终端数量的需求,而随着便携机和无线网络的广泛应用,终端的位置经常 发生变化,相应的IP地址需要经常更新,从而导致网络配置的复杂度提高, 为了解决上述问题,DHCP (Dynamic Host Configuration Protocol,动态主机 配置协议)应运而生。其中,DHCP釆用客户端/服务器通信模式,由客户端 向服务器提出配置申请,服务器向客户端返回分配的IP地址等相应的配置信 息,以实现客户端IP地址的动态配置。基于802.11的无线技术已经广泛应用于家庭和企业中,终端用户能通过 无线局域网得到无线服务,对于目前的无线网络技术,为了扩大无线覆盖面 积,需要使用电缆、交换机、电源等设备将AP (Access Point,访问接入点) 互连,而AP之间的有线连接会导致最终部署的无线网络结构复杂,成本较高, 并且在大面积无线覆盖时需要大量的时间才能完成部署,WDS (Wireless Distribution System,无线分布式系统)技术使得管理员轻松的部署质优价廉 的无线局域网,以解决上述问题。其中,WDS网络的特点包括通过无线网 桥连接两个独立的局域网段,并且在两个独立的局域网段之间提供数据传输; 低成本,高性能,扩展性好,并且无需铺设新的有线连接和部署更多的AP设 备,适用于公司,大型仓储,制造,码头等领域。如图1所示的一种WDS的应用场景,实验室子网为了接入公司办公网, 需要通过无线Client (客户端)设备与公司办公网的无线AP设备互联,从而 实现实验室子网通过无线方式接入公司办公网。其中,对于实验室子网内的 终端(客户端),需要通过无线客户端向公司办公网内的服务器(服务器)申请DHCP地址,而公司办公网内的服务器也需要通过无线AP向实验室子网 内的终端返回分配的IP地址等相关信息(为了方便描述,客户端向服务器发 送的消息均以消息1为例进4亍i^明,月良务器向客户端返回的消息均以消息2 为例进行说明)。为了完成双方信息的交互,在该WDS的应用场景中,需要 使用802.11报文的4地址格式,.如图2所示,地址1和地址2分别为无线收/ 发器的Radio (无线)MAC (MediaAccess Control,々某体访问控制),地址3 和地址4分别为二层网络中的目的主机MAC和源主机MAC 。对应到图1的 场景中,在消息l的发送过程中,地址1为无线AP的MAC地址,地址3为 服务器的MAC地址,地址4为客户端的MAC地址,在消息2的发送过程中, 地址2为无线客户端的MAC地址,地址3为客户端的MAC地址,地址4为 服务器的MAC地址。通过上述的MAC地址信息,可以完成双方消息的交互, 从而成功的通过DHCP为客户端分配IP地址。但是,目前常用的AP设备并不能识别4地址格式的802.11报文,只能 识别3地址格式的802.11报文,即AP设备只支持无线Client直接接入,不 支持无线Client再下挂设备。如图3所示的3地址格式的802.11报文,地址 1和地址2分别为无线收/发器的Radio MAC,地址3在无线上行时表示AP 设备所在有线网络的目的主机MAC,在无线下行,表示AP设备的Radio MAC (与地址2相同)。对应到图1的场景中,在消息1的发送过程中,地址1为 无线AP的MAC地址,地址3为服务器的MAC地址,在消息2的发送过程 中,地址2为无线客户端的MAC地址,地址3为无线AP的MAC地址。可以看出,在消息l的发送过程中,在无线链路,源MAC地址(客户端 的MAC地址)会丢失,AP设备无法获知客户端的源MAC地址,从而导致 通信过程的失败,不能通过DHCP为客户端分配IP地址,无线客户端下挂的 客户端通过DHCP申请不到IP地址。WDS中的AP设备若仅支持3地址格式802.11报文,为了完成客户端通 过DHCP申请IP地址,现有技术中提出了 一种解决源MAC地址丟失的方法, 该方法通过在无线客户端上记录xid和源MAC地址的对应关系,当无法获知 客户端的源MAC地址时,通过查找消息中携带的xid,获得对应的源MAC地址,其中,该xid是消息中的字段,在一次DHCP地址申请过程中可以唯 一标识一个客户端的源MAC地址。继续以图1所示的WDS组网为例,该解 决源MAC地址丢失的方法包括以下步骤(1) 客户端向无线客户端发送消息1,该消息1中携带了源MAC地址 信息和xid信息,xid为DHCP客户端在发送消息1时生成的32位随机数, 对同一个客户端,在一次DHCP地址申请过程中DHCP交互过程中所有报文 携带的xid保持相同,而由于该数值为0~4294967295的随机数,即可以认为 每个DHCP客户端的xid数值是唯一的,即xid数值与源MAC地址--对应。(2) 无线客户端向无线AP转发该消息1,其中,无线客户端需要将消 息1中的MAC地址字段修改为该无线客户端自身的MAC地址,否则,无线 AP无法将消息2发送至无线客户端。(3 )无线AP将消息1转发给服务器,由该服务器才艮据该消息1向无线 AP返回消息2,并通过单播或广播的方式发送出去。(4)无线客户端接收到消息2,获得MAC地址信息,当该MAC地址信 息为无线客户端自身的MAC地址时,查找xid与MAC地址对应关系,获得 源MAC地址,将消息2中的MAC地址修改为该源MAC地址,从而将该消 息2发送给对应的客户端。基于上面的分析,目前在解决源MAC地址丢失的问题时,存在如下缺点(1) 客户端向服务器发送消息1,在经过无线客户端时,该消息1中携 带的MAC地址被无线客户端更改为自身的MAC地址,当该消息1中没有携 带标识选项时,服务器在接收到该消息l,服务器会将MAC地址所在字段作 为客户端标识来分配IP地址,即服务器会为该无线客户端分配IP地址。而无 线客户端的MAC地址只有一个,当该无线客户端下挂多个客户端(申请IP 地址时均不带option 61选项的客户端)时,服务器无法区分多个客户端,只 会认为是同一个DHCP客户端,只能根据该无线客户端的MAC地址分配同 一个IP地址,即无线客户端下挂的多个客户端中只有一个客户端可以通过无 线方式接入7>司办7>网。(2) 目前所使用的网络中,尤其是构建比较久的网络,还有4艮多终端在使用BOOTP( Bootstrap Protocol,自举协议),而BOOTP协议报文不支持Option 61选项,基于与l相同的理由,当无线客户端下挂多个客户端,而多个客户 端是通过BOOTP申请IP地址时,也只有一台客户端可以申请到IP。(3) 无线客户端的内存配置比较低,当该无线客户端下挂的客户端较多 时,无线客户端上需要记录的xid和源MAC对应关系将占用很多的内存,浪 费了大量的内存资源,并限制了无线客户端下挂的客户端数目。(4) 无线客户端作为中间设备,在上行方向和下行方向的消息传输过程 中,均需要修改消息(上述的消息1和消息2)中的内容,同时还需要记录 xid与源MAC的对应关系,并定期老化刷新,上述操作加大了实现的复杂度, 增加了维护成本。发明内容本发明提供一种地址分配的方法和设备,以保证挂接在802.11网桥上的 小网终端均能够通过DHCP正确的申请到IP地址。为了达到上述目的,本发明提出了一种地址分配的方法,应用于包括 DHCP客户端、网桥设备、AP设备和DHCP服务器的系统中,所述网桥设备 与所述AP设备通过无线链路连接,所述方法包括以下步骤所述网桥设备接收来自所述DHCP客户端的请求消息;所述网桥设备在该请求消息中设置广播标记,该广播标记用于指示DHCP 服务器以广播方式发送针对该请求消息的应答消息;所述网桥设备以无线局域网报文头封装所述请求消息,通过所述无线链 路将所述请求消息发送给AP设备,由所述AP设备解封装所述请求消息并转 发给所述DHCP服务器;所述DHCP服务器在接收到带有广播标记的请求报文后,以广播方式应 答该请求纟艮文;所述AP设备收到DHCP服务器的应叙艮文后以无线局域网报文头封装 该应答报文,并将该应斜艮文转发给网桥设备;网桥设备解封装该应 艮文,并将解封装后的带有广播地址的DHCP应答报文发送到DHCP客户端所在的子网中;子网中的各DHCP客户端接收到该DHCP应斜艮文后,比较报文中chaddr域中的客户端硬件地址是否和本设备的硬件地址相同,如果相同,DHCP客户端处理该应答消息,否则直接丢弃该应答消息。优选的,所述网桥设备在该请求消息中设置广播标记具体为 所述网桥设备设置所述请求消息中Flags字段第一个比特的标识。 优选的,所述来自DHCP客户端的请求消息包括DHCP DISCOVER消息、DHCP REQUEST消息、DHCP INFORM消息;与所述DHCP DISCOVER消息对应的应答报文具体为DHCP OFFER消息,所述DHCP OFFER消息中携带了所述DHCP服务器为所述DHCP客户端配置的IP地址信息;与所述DHCP REQUEST消息对应的应答报文具体为DHCP ACK消息或DHCP NAK消息,所述DHCP ACK消息中携带了确认将IP地址分配给所述DHCP客户端,所述DHCP NAK消息中携带了确认没有将IP地址分配给所述DHCP客户端;与所述DHCP INFORM消息对应的应答报文具体为DHCP ACK消息或DHCP NAK消息,所述DHCP ACK消息中携带了所述DHCP服务器为所述DHCP客户端配置的配置参数信息,所述DHCPNAK消息中携带了确认没有将配置参数信息分配给所述DHCP客户端。优选的,所述DHCP服务器在接收到带有广播标记的请求报文后,以广播方式应答该请求报文具体包括所述DHCP服务器设置应斜艮文的目的地址为广播地址。 本发明提出了一种网桥设备,应用于包括DHCP客户端、网桥设备、AP设备和DHCP服务器的系统中,所述网桥设备与所述AP设备通过无线链路连接,所述设备包括接收模块,用于接收来自所述DHCP客户端的请求消息;设置模块,用于在该接收模块接收的请求消息中设置广播标记,该广播标记用于指示DHCP服务器以广播方式发送针对该请求消息的应答消息;发送模块,用于以无线局域网报文头封装所述请求消息,并通过所述无 线链路将所述请求消息发送给所述AP设备,由所述AP设备解封装所述请求
消息并转发给所述DHCP服务器;
处理模块,用于接收来自所述AP设备封装后的应對艮文,解封装该应答 报文,并将解封装后的带有广播地址的DHCP应答报文发送到DHCP客户端 所在的子网中,由子网中的各DHCP客户端根据该DHCP应答报文比较报文 中chaddr域中的客户端硬件地址是否和本设备的硬件地址相同,如果相同, 由DHCP客户端处理该应答消息,否则直接丢弃该应答消息。
优选的,所述设置模块具体用于
设置所述请求消息中Flags字段第一个比特的标识。
优选的,所述来自DHCP客户端的请求消息包括DHCP DISCOVER消 息、DHCP REQUEST消息、DHCP INFORM消息;
与所述DHCP DISCOVER消息对应的应答报文具体为DHCP OFFER消 息,所述DHCP OFFER消息中携带了所述DHCP服务器为所述DHCP客户端 配置的IP地址信息;与所述DHCP REQUEST消息对应的应斜艮文具体为 DHCP ACK消息或DHCP NAK消息,所述DHCP ACK消息中携带了确认将 IP地址分配给所述DHCP客户端,所述DHCP NAK消息中携带了确认没有将 IP地址分配给所述DHCP客户端;与所述DHCP INFORM消息对应的应叙艮 文具体为DHCP ACK消息或DHCP NAK消息,所述DHCP ACK消息中携带 了所述DHCP服务器为所述DHCP客户端配置的配置参数信息,所述DHCP NAK消息中携带了确认没有将配置参数信息分配给所述DHCP客户端。
与现有技术相比,本发明具有以下优点通过在网桥设备上将需要响应 的请求消息设置为采用广播方式响应该请求消息,网桥设备在接收到响应消 息后,以广播的方式将该响应消息发送出去,使得网桥设备所在网段的所有 客户端均能够接收到该响应消息,即需要接收该响应消息的实际客户端也可 以接收到该响应消息,从而IP完成地址的分配过程,实现网桥两侧设备的 DHCP学习功能,并保证在特殊的无线组网环境中,对于不携带Option 61的 DHCP客户端和BOOTP客户端都可以正常获取到IP地址,合理有效地节省了网桥设备的内存空间,减小软件实现复杂度,降低后期维护成本。
图l为现有技术中提出的一种WDS的应用场景示意图; 图2为现有技术中提出的一种802.11报文的4地址格式示意图; 图3为现有技术中提出的一种802.11报文的3地址格式示意图; 图4本发明提出的一种地址分配的方法流程图5为本发明一种应用场景下提出的地址分配方法具体应用的组网模式
图6为本发明应用场景下提出的DHCP消息格式图7本发明应用场景下提出的 一种地址分配的方法流程图8为本发明提出的一种网桥设备的结构图。
具体实施例方式
本发明的核心思想是在不改变802.11报文3地址格式且遵循DHCP协议 要求的前提下,通过在网桥设备上修改DHCP消息的Flags域广播标记,实现 网桥两侧设备的DHCP学习过程,从而完成IP地址的分配。
当客户端的请求消息需要服务器发送对应的响应消息时,网桥设备将该 请求消息的Flags域广播标记设置为需要采用广播方式响应该请求消息,从而 使得服务器在接收到该请求消息后,在响应消息中将目的地址设置为广播地 址,网桥设备在接收到该响应消息后,获知目的地址为广播地址,以广播的 方式向该网桥设备所在子网的所有客户端发送该响应消息,使得网桥设备所 在网段的所有客户端均能够接收到该响应消息,即需要接收该响应消息的实 际客户端也可以接收到该响应消息,从而IP完成地址的分配过程,实现网桥 两侧设备的DHCP学习功能,并保证在特殊的无线组网环境中,^f于不携带 Option 61的DHCP客户端和BOOTP客户端都可以正常获取到IP地址,合理 有效地节省了网桥设备的内存空间,减小软件实现复杂度,降低后期维护成 本。本发明提出的一种地址分配的方法,应用于包括DHCP客户端、网桥设 备、AP设备和DHCP服务器的系统中,所述网桥设备与所述AP设备通过无 线链路连接,如图4所示,所述方法包括以下步骤
步骤S401 ,所述网桥设备接收来自所述DHCP客户端的请求消息。
步骤S402,所述网桥设备在该请求消息中设置广播标记,该广播标记用 于指示DHCP服务器以广播方式发送针对该请求消息的应答消息。
步骤S403,所述网桥设备以无线局域网报文头封装所述请求消息,通过 所述无线链路将所述请求消息发送给AP设备,由所述AP设备解封装所述请 求消息并转发给所述DHCP服务器。
步骤S404,所述DHCP服务器在接收到带有广播标记的请求报文后,以 广播方式应答该请求报文。
步骤S405,所述AP设备收到DHCP服务器的应答报文后以无线局域网 报文头封装该应答报文,并将该应答报文转发给网桥设备。
步骤S406,网桥设备解封装该应斜艮文,并将解封装后的带有广播地址 的DHCP应答报文发送到DHCP客户端所在的子网中。
步骤S407,子网中的各DHCP客户端接收到该DHCP应答净艮文后,比 较报文中chaddr域中的客户端硬件地址是否和本设备的硬件地址相同,如果 相同,DHCP客户端处理该应答消息,否则直接丟弃该应答消息。
本发明一种应用场景下提出的地址分配的方法,以图5所示的组网模式 为例进行说明,终端1和终端2分别为挂接在WLAN (Wireless Local Area Networks,无线局域网络)客户端网桥下的终端,该WLAN客户端网桥为网 桥设备,例如,无线客户端、终端等,以无线客户端为例进行说明,该无线 客户端通过无线网络与无线AP设备进行消息的交互过程,该无线AP设备与 服务器连接,其中,上述的终端'1和终端2为需要通过DHCP申请IP地址的 客户端,即DHCP客户端,上述的服务器为通过DHCP为终端l和终端2分 配IP的服务器,即DHCP服务器。
终端1和终端2与服务器进行DHCP消息的交互过程中,该DHCP消息 的格式是相同的,如图6所示的消息格式,在该消息格式中,Flags为标志字段,这个16比特的字段目前只有最左边一个比特被使用,第一个比特为广播
响应标识位,用来标识DHCP服务器响应报文是采用单播还是广4番方式发送, 0表示采用单播方式,l表示采用广播方式,其余比特保留不用;chaddr域携 带的是客户端的硬件地址,例如,客户端的MAC地址;options,除IP地址 之外的所有其他的选项都放在该域中,即可选变长选项字段,包含才艮文的类 型、有效租期、DNS服务器的IP地址、WINS服务器的IP地址等配置信息。 进一步的,在options中,包括option 61选项,该option 61选项为Client Identifier (标识)option,是DHCP Client的唯一标识,DHCP Server (服务器)以这 个标识为索引为DHCP Client分配IP地址,而该选项才艮文中并不是一定会填 充,当DHCP Client申请IP地址时未携带该option 61选项,DHCP Server会 以报文中的chaddr字段作为DHCP Client的标识。而对于该消息格式中的其 他字段,在此详加描述。
上述的地址分配方法如图7所示,包括以下步骤
步骤S701, DHCP客户端寻找DHCP服务器,即DHCP客户端以广播的 方式发送DHCP DISCOVER (发现)报文。其中,该DHCP客户端为终端l 和/或终端2,以终端1发送DHCP DISCOVER报文为例进行说明。
步骤S702,无线客户端接收该DHCP DISCOVER报文,其中,该无线客 户端为网桥设备,该DHCP DISCOVER报文为DHCP客户端发往DHCP Server 的广纟番才艮文。
步骤S703,无线客户端根据DHCP消息类型,修改DHCP消息中Flags 域的广播标记位。其中,对于需要DHCP Server回应的消息,需要将Flags域 的广播标记位修改为1,从而表示DHCP Server回应的消息的目的地址为广播 地址(当然,也可以将广播标记位修改为0来表示DHCP Server回应的消息 的目的地址为广播地址,在此不再赘述),其中,该Flags域第一个比特为广 播响应标识位,用1表示采用广播方式响应该DHCP消息,而DISCOVER报 文是需要DHCP Server回应的消息,即无线客户端需要将DISCOVER报文中 的Flags域的第一个比特修改为1。当然,本发明中,还可以用DISCOVER 报文的其他字段,或Flags域的其他比特来表示需要DHCP Server以广播方式响应该DISCOVER报文,在此不再赘述。
需要说明的是,本发明中无线客户端在接收到终端1发往DHCP Server 的DHCP消息(例如,该DISCOVER报文)时,并不修改消息中的chaddr (ClientHardware Addr)域,使DHCP消息能够携带真正的DHCPClient端的 石更件地址。
步骤S704,无线客户端为该DISCOVER报文封装802.11地址格式的报 文头,并按照802.11报文转发方式,经过无线链路将该DISCOVER报文发送 至无线AP设备。其中,该802.11地址格式的报文头为3地址格式的报文头, 如图3所示,该报文头中地址1为无线AP的MAC地址,地址2和地址3为 空地址,无线客户端通过使用该无线AP的MAC地址将该DISCOVER才艮文 发送至无线AP设备。该以802.11地址格式封装DISCOVER报文的方法以及 按照802.11报文转发方式DISCOVER报文的方式为现有802.11协议中规定 的方式,在此不再赘述。
步骤S705,无线AP设备解封装该DISCOVER报文,并将该DISCOVER 报文广播给网络中的DHCP服务器。其中,网络中可能会有多个DHCP服务 器,本发明中为了方便描述,以只有一个DHCP服务器为例进行说明。
步骤S706, DHCP服务器通过无线AP设备向DHCP客户端返回DHCP OFFER (提供)报文。在该DHCP OFFER报文中携带了为DHCP客户端分配 的IP地址信息,该IP地址信息包括但不限于IP地址、域名系统、网关等。
其中,DHCP服务器在接收到来自无线AP设备的DISCOVER报文之后, 剥离该DISCOVER报文的802.11报文头,获得对应的DISCOVER报文,并 需要根据IP地址分配的优先次序选出一个IP地址,与其他配置参凄t (例如, 域名系统、网关等) 一起通过DHCP OFFER报文发送给DHCP客户端。
需要说明的是,DHCP服务器需要根据DISCOVER报文中的flag字段决 定DHCP OFFER报文的发送方式,而该DISCOVER报文中的flag字段为1, 表示需要采用广播的方式发送(为0表示单播)DHCPOFFER报文,即DHCP 服务器需要将DHCP OFFER报文的目的地址设置为广播地址FFFF-FFFF-FFFF。步骤S707,无线AP设备接收来自该DHCP服务器的DHCP OFFER报文, 为该OFFER报文封装802.11地址格式的报文头,并按照802.11 l艮文转发方 式,经过无线链路将该OFFER稂文发送至无线客户端。
步骤S708,无线客户端解封装该DHCP OFFER报文,获得该DHCP OFFER报文中的目的地址,并根据该目的地址转发该DHCP OFFER报文。其 中,无线客户端只需要剥离DHCPOFFER报文的802.11报文头,不需要修改 DHCP消息任何内容。
本发明中,该DHCPOFFER报文中的目的地址为广播地址,即无线客户 端以广播的方式将该DHCP OFFER报文发送给无线客户端所在子网内的所有 客户端,即无线客户端将该DHCP OFFER报文发送给终端1和终端2。
步骤S709,客户端接收通过无线客户端转发的DHCP OFFER报文。其中, 无线客户端所在子网内的终端均能够收到该DHCP OFFER报文,根据DHCP 协议规定,终端在收到该DHCP OFFER报文后,要检查chaddr域中携带的客 户端硬件地址(例如,MAC地址)是否与本设备的硬件地址相同,只有相同 时,终端才会处理该应答消息,否则直接丢弃。对应到本发明中,步骤S701 为终端1发送DHCP DISCOVER报文,即DHCP OFFER报文中携带的MAC 地址为终端1的MAC地址,此时,终端l将对该DHCP OFFER报文进行处 理,而终端2将丟弃该DHCP OFFER报文。其中,根据实际的需要,还可以 在option字段中携带客户端硬件地址,当然,此时,客户端也需要4企查chaddr 域中携带的客户端硬件地址是否与本设备的硬件地址相同,只是实际应用中 会用到option字段中携带的客户端硬件地址,在此不再赘述。
需要说明的是,终端1处理该DHCP OFFER报文的过程具体为选择IP 地址的过程,当有多台DHCP服务器向该客户端发来DHCPOFFER报文时, 终端1只接受第一个收到的DHCP OFFER报文,本发明中是以一个DHCP服 务器发送DHCP OFFER报文为例进行说明的,即终端1只需要选择该DHCP 服务器分配的IP地址信息即可。
步骤S710, DHCP客户端以广播方式发送DHCP REQUEST(请求)报文,步骤S711,无线客户端接收该DHCP REQUEST报文,并根据DHCP REQUEST消息类型,修改DHCP REQUEST消息中Flags域的广纟番标记位, 即将广播标记位修改为1,从而表示DHCP Server回应的消息的目的地址为广 播地址。
步骤S712,无线客户端以802.11地址格式的报文头封装该REQUEST报 文,并按照802.11报文转发方式,经过无线链路将该DISCOVER报文发送至 无线AP设备。由该无线AP设备解封装该REQUEST报文,并以广播的方式 将该REQUEST报文发送给无线AP设备所在子网内的所有DHCP服务器。
步骤S713, DHCP服务器确认为DHCP客户端分配的IP地址。其中, DHCP服务器在收到DHCP客户端发来的DHCP REQUEST净艮文后,只有 DHCP客户端选择的DHCP服务器会进行处理,该处理过程具体为如果确 认将地址分配给该DHCP客户端,则返回DHCP ACK (确认)报文;否则返 回DHCPNAK (否定)报文,表明地址不能分配给该客户端。
需要说明的是,该DHCP ACK报文或DHCP NAK报文中的目的地址均 为广播地址FFFF-FFFF-FFFF,该获得广播地址的方式是由DHCP REQUEST 报文中的flag字段决定的,该REQUEST报文中的flag字^:为1,表示需要采 用广播的方式发送应答报文,在此不再赘述。
步骤S714, DHCP服务器通过无线AP设备向DHCP客户端返回DHCP ACK报文或DHCP NAK报文。该过程具体包括
(1) DHCP服务器将该DHCP ACK报文(表示客户端可以使用分配的 IP地址和配置参数)或DHCP NAK (表示客户端地址请求不正确或者租期已 过期)报文发送给无线AP设备。其中,在DHCP ACK报文中还可以具体携 带上述DHCP OFFER报文中为客户端分配的IP地址信息(例如,IP地址、 域名系统、网关等),以使客户端进一步确认可以使用上述DHCP OFFER报 文中携带的IP地址信息。
(2 )无线AP设备接收来自该DHCP服务器的DHCP ACK报文或DHCP NAK报文,为该DHCP ACK报文或DHCP NAK报文封装802.11地址格式的 报文头,并按照802.11报文转发方式,经过无线链路将该DHCP ACK报文或DHCP NAK报文发送至无线客户端。
(3)无线客户端解封装该DHCP ACK报文或DHCP NAK报文,获得该 DHCP ACK报文或DHCP NAK报文中的目的地址,并根据该目的地址转发该 DHCP ACK报文或DHCP NAK报文。其中,DHCP ACK报文或DHCP NAK 报文中的目的地址为广播地址,即无线客户端以广播的方式将该DHCP OFFER报文发送给无线客户端所在子网内的所有客户端,即无线客户端将该 DHCP OFFER报文发送给终端1和终端2。
步骤S715,客户端接收通过无线客户端转发的DHCP ACK报文或DHCP NAK报文。其中,无线客户端所在子网内的终端均能够收到该DHCP ACK报 文或DHCP NAK报文,终端在收到该DHCP ACK报文或DHCP NAK报文后, 要检查chaddr域中的客户端硬件地址是否与本设备的硬件地址相同,只有相 同时,终端才会处理该应答消息,否则直接丢弃。即终端l将对该DHCP ACK 报文或DHCP NAK报文进行处理,而终端2将丟弃该DHCP ACK报文或 DHCP NAK报文。
其中,当应^t艮文为DHCP ACK报文时,该终端1将使用DHCP OFFER 报文中为该终端1分配的IP地址信息,当应 艮文为DHCP NAK报文时, 该终端1将丢弃该DHCP OFFER报文中为该终端1分配的IP地址信息,并进 行重新申请IP地址的过程,该过程具体为上述的步骤S701-步骤S715,在此 不再赘述。
本发明中,当DHCP客户端已经存在了 IP地址时,DHCP客户端还可以 向DHCP服务器发送DHCP INFORM消息,通过使用该DHCP INFORM消息 向DHCP服务器请求其他的配置参数,例如,DHCP客户端需要更新域名系 统、网关等配置参数时,通过向DHCP服务器发送DHCP INFORM消息,获 得相应的域名系统、网关等配置参数。
需要说明的是,该DHCP INFORM消息的处理过程与上述步骤S701-步 骤S709的过程相同,即DHCP客户端向无线客户端发送DHCP INFORM消 息,无线客户端发将DHCPINFORM消息的Flags域的广播标记位修改为1, 并封装该DHCP INFORM消息,以802.11报文转发方式发送给无线AP设备,无线AP设备解封装该DHCP INFORM消息并转发给DHCP服务器,由DHCP 服务器响应该DHCP INFORM消息,该响应消息为DHCP ACK消息或DHCP NAK消息,该DHCP ACK消息或DHCP NAK消息的目的地址为广纟番地址, DHCP服务器将该DHCP ACK消息或DHCP NAK消息最终发送至DHCP客 户端,在此不再赘述。其中,在该DHCP ACK消息中携带了所述DHCP服务 器为所述DHCP客户端配置的配置参数信息,例如,网关、域名系统等,在 该DHCP NAK消息中携带了确认没有将配置参数信息分配给所述DHCP客户 端。
需要进一步说明的是,本发明中并不仅是所有的请求消息均需要DHCP
服务器响应的,对于客户端的请求消息,例如,DHCP RELEASE (释放)消
息(DHCP客户端主动向DHCP服务器发送,告知服务器该客户端不再需要
分配的IP地址),或DHCP DECLINE (拒绝)消息(DHCP客户端发现地址
冲突或由于其它原因导致地址不能使用,则发送DHCP DECLINE报文,通知
服务器所分配的IP地址不可用),并不需要DHCP服务器响应该请求消息,
此时,并不需要修改Flags域的广播标记位,无线客户端按照该DHCP
RELEASE消息或DHCP DECLINE消息中的原有Flags域进行转发,而DHCP
服务器在接收到该DHCP RELEASE消息或DHCP DECLINE消息时,并不需
要返回相应的响应才艮文。
本发明中,DHCP服务器还可以通过DHCP中继(例如,DHCP服务器
跨网段时)向DHCP客户端返回响应消息,在此不再赘述。
其中,本发明方法可以根据实际需要对各个步骤顺序进行调整。
本发明还提出的一种网桥设备,应用于包括DHCP客户端、网桥设备、
AP设备和DHCP服务器的系统中,所述网桥设备与所述AP设备通过无线链
路连接,如图8所示,所述设备包括
接收模块81,用于接收来自所述DHCP客户端的请求消息。
设置模块82,用于在该接收模块81接收的请求消息中设置广播标记,该
广播标记用于指示DHCP服务器以广播方式发送针对该请求消息的应答消 台其中,所述设置模块82具体用于设置所述请求消息中Flags字段第一 个比特的标识。
发送模块83,用于以无线局域网报文头封装所述请求消息,并通过所述 无线链路将所述请求消息发送给所述AP设备,由所述AP设备解封装所述请 求消息并转发给所述DHCP服务器。
处理模块84,用于接收来自所述AP设备封装后的应斜艮文,解封装该 应答报文,并将解封装后的带有广播地址的DHCP应對艮文发送到DHCP客 户端所在的子网中,由子网中的各DHCP客户端才艮据该DHCP应答才艮文比较 报文中chaddr域中的客户端硬件地址是否和本设备的硬件地址相同,如果相 同,由DHCP客户端处理该应答消息,否则直接丟弃该应答消息。
需要说明的是,所述来自DHCP客户端的请求消息包括DHCP DISCOVER消息、DHCP REQUEST消息、DHCP INFORM消息;
与所述DHCP DISCOVER消息对应的应叙艮文具体为DHCP OFFER消 息,所述DHCPOFFER消息中携带了所述DHCP服务器为所述DHCP客户端 配置的IP地址信息;与所述DHCP REQUEST消息对应的应纷艮文具体为 DHCP ACK消息或DHCP NAK消息,所述DHCP ACK消息中携带了确认将 IP地址分配给所述DHCP客户端,所述DHCP NAK消息中携带了确认没有将 IP地址分配给所述DHCP客户端;与所述DHCP INFORM消息对应的应斜艮 文具体为DHCP ACK消息或DHCP NAK消息,所述DHCP ACK消息中携带 了所述DHCP服务器为所述DHCP客户端配置的配置参数信息,所述DHCP NAK消息中携带了确认没有将配置参数信息分配给所述DHCP客户端。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述 模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发 明可以通过硬件实现,也可以可借助软件加必要的通用硬件平台的方式来实 现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来, 该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM, U盘,移 动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普 通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润 饰,这些改进和润饰也应视本发明的保护范围。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述 进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一 个或多个装置中。上述实施例的模块可以合并为一个才莫块,也可以进一步拆 分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此, 任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1、一种地址分配的方法,应用于包括DHCP客户端、网桥设备、AP设备和DHCP服务器的系统中,所述网桥设备与所述AP设备通过无线链路连接,其特征在于,所述方法包括以下步骤所述网桥设备接收来自所述DHCP客户端的请求消息;所述网桥设备在该请求消息中设置广播标记,该广播标记用于指示DHCP服务器以广播方式发送针对该请求消息的应答消息;所述网桥设备以无线局域网报文头封装所述请求消息,通过所述无线链路将所述请求消息发送给AP设备,由所述AP设备解封装所述请求消息并转发给所述DHCP服务器;所述DHCP服务器在接收到带有广播标记的请求报文后,以广播方式应答该请求报文;所述AP设备收到DHCP服务器的应答报文后以无线局域网报文头封装该应答报文,并将该应答报文转发给网桥设备;网桥设备解封装该应答报文,并将解封装后的带有广播地址的DHCP应答报文发送到DHCP客户端所在的子网中;子网中的各DHCP客户端接收到该DHCP应答报文后,比较报文中chaddr域中的客户端硬件地址是否和本设备的硬件地址相同,如果相同,DHCP客户端处理该应答消息,否则直接丢弃该应答消息。
2、 如权利要求l所述的方法,其特征在于,所述网桥设备在该请求消息 中设置广播标记具体为所述网桥设备设置所述请求消息中Flags字段第一个比特的标识。
3、 如权利要求l所述的方法,其特征在于,所述来自DHCP客户端的请 求消息包括DHCP DISCOVER消息、DHCP REQUEST消息、DHCP INFORM 消息;与所述DHCP DISCOVER消息对应的应答l艮文具体为DHCP OFFER消 息,所述DHCP OFFER消息中携带了所述DHCP服务器为所述DHCP客户端 配置的IP地址信息;与所述DHCP REQUEST消息对应的应答报文具体为DHCP ACK消息或 DHCP NAK消息,所述DHCP ACK消息中携带了确认将IP地址分配给所述 DHCP客户端,所述DHCP NAK消息中携带了确认没有将IP地址分配给所述 DHCP客户端;与所述DHCP INFORM消息对应的应答报文具体为DHCP ACK消息或 DHCP NAK消息,所述DHCP ACK消息中携带了所述DHCP服务器为所述 DHCP客户端配置的配置参数信息,所述DHCPNAK消息中携带了确认没有 将配置参数信息分配给所述DHCP客户端。
4、 如权利要求l所述的方法,其特征在于,所述DHCP服务器在接收到 带有广播标记的请求报文后,以广播方式应答该请求报文具体包括所述DHCP服务器设置应^艮文的目的地址为广播地址。
5、 一种网桥设备,应用于包括DHCP客户端、网桥设备、AP设备和DHCP 服务器的系统中,所述网桥设备与所述AP设备通过无线链路连接,其特征在 于,所述设备包括接收模块,用于接收来自所述DHCP客户端的请求消息;设置模块,用于在该接收模块接收的请求消息中设置广播标记,该广播 标记用于指示DHCP服务器以广播方式发送针对该请求消息的应答消息;发送模块,用于以无线局域网报文头封装所述请求消息,并通过所述无 线链路将所述请求消息发送给所述AP设备,由所述AP设备解封装所述请求 消息并转发给所述DHCP服务器;处理模块,用于接收来自所述AP设备封装后的应對艮文,解封装该应答 报文,并将解封装后的带有广播地址的DHCP应答报文发送到DHCP客户端 所在的子网中,由子网中的各DHCP客户端根据该DHCP应叙艮文比较报文 中chaddr域中的客户端硬件地址是否和本设备的硬件地址相同,如果相同, 由DHCP客户端处理该应答消息,否则直接丟弃该应答消息。
6、 如权利要求5所述的设备,其特征在于,所述设置模块具体用于 设置所述请求消息中Flags字段第一个比特的标识。
7、如权利要求5所述的设备,其特征在于,所述来自DHCP客户端的请 求消息包括DHCP DISCOVER消息、DHCP REQUEST消息、DHCP INFORM消息;与所述DHCP DISCOVER消息对应的应答报文具体为DHCP OFFER消 息,所述DHCP OFFER消息中携带了所述DHCP服务器为所述DHCP客户端 配置的IP地址信息;与所述DHCP REQUEST消息对应的应 艮文具体为 DHCP ACK消息或DHCP NAK消息,所述DHCP ACK消息中携带了确认将 IP地址分配给所述DHCP客户端,所述DHCP NAK消息中携带了确认没有将 IP地址分配给所述DHCP客户端;与所述DHCP INFORM消息对应的应對艮 文具体为DHCP ACK消息或DHCP NAK消息,所述DHCP ACK消息中携带 了所述DHCP服务器为所述DHCP客户端配置的配置参数信息,所述DHCP NAK消息中携带了确认没有将配置参数信息分配给所述DHCP客户端。
全文摘要
本发明公开了一种地址分配的方法和设备,所述方法包括以下步骤网桥设备接收来自所述DHCP客户端的请求消息;所述网桥设备在该请求消息中设置广播标记;所述网桥设备以无线局域网报文头封装所述请求消息,通过所述无线链路将所述请求消息发送给AP设备,由所述AP设备解封装所述请求消息并转发给所述DHCP服务器;所述DHCP服务器在接收到带有广播标记的请求报文后,以广播方式应答该请求报文。本发明中,合理有效地节省了网桥设备的内存空间,减小软件实现复杂度,降低后期维护成本。
文档编号H04L12/56GK101577738SQ20091014864
公开日2009年11月11日 申请日期2009年6月25日 优先权日2009年6月25日
发明者邱元香 申请人:杭州华三通信技术有限公司