请求地址的方法及装置与流程

文档序号:15567946发布日期:2018-09-29 03:47阅读:175来源:国知局

本公开涉及通信技术领域,尤其涉及一种请求地址的方法及装置。



背景技术:

在dhcp(dynamichostconfigurationprotocol,动态主机配置协议)场景中,如果dhcp客户端和dhcp服务器不在同一物理网段,需要引入dhcp中继设备来转发来自dhcp客户端的请求报文。其中,dhcp客户端可以为支持dhcp功能的网络设备上的指定端口,dhcp中继设备可以为具有dhcp中继功能的网络设备,dhcp服务器可以为能够为dhcp客户端分配地址和子网掩码的服务器。采用客户端、中继设备、服务器的组网方式,分配地址更加灵活,服务器不直接面对客户端,也有利于服务器安全。

dhcp中继的工作过程为:dhcp中继设备接收dhcp客户端以广播方式发送的dhcp请求报文(discover报文或者request报文)后,为dhcp请求报文添加网关地址,并将添加了网关地址的dhcp请求报文单播转发给指定的dhcp服务器。dhcp服务器可以根据网关地址字段匹配地址池,并为dhcp客户端分配地址、子网掩码等参数,并通过dhcp中继设备将配置信息转发给dhcp客户端,完成对客户端的动态配置。



技术实现要素:

有鉴于此,本公开提出了一种请求地址的方法及装置,能够降低用户等待dhcp服务器响应的时间、提高用户上线效率。

根据本公开的一方面,提供了一种请求地址的方法,所述方法应用于dhcp的中继设备,所述方法包括:在接收到来自客户端的用于请求地址的第一请求报文的情况下,根据每个网关地址和所述第一请求报文生成对应的每个网关地址的第二请求报文,所述网关地址用于匹配dhcp服务器上的地址池;针对每个网关地址,将该网关地址对应的第二请求报文发送至与该网关地址对应的dhcp服务器;接收dhcp服务器响应于第二请求报文发送的第二响应报文,所述第二响应报文用于表示对应的网关地址所匹配的地址池能够为所述客户端提供地址;根据接收到的第二响应报文确定用于为所述客户端提供地址的指定dhcp服务器。

根据本公开的另一方面,提供了一种请求地址的装置,所述装置应用于dhcp的中继设备,所述装置包括:

生成模块,用于在接收到来自客户端的用于请求地址的第一请求报文的情况下,根据每个网关地址和所述第一请求报文生成对应的每个网关地址的第二请求报文,所述网关地址用于匹配dhcp服务器上的地址池;发送模块,用于针对每个网关地址,将该网关地址对应的第二请求报文发送至与该网关地址对应的dhcp服务器;接收模块,用于接收dhcp服务器响应于第二请求报文发送的第二响应报文,所述第二响应报文用于表示对应的网关地址所匹配的地址池能够为所述客户端提供地址;确定模块,用于根据接收到的第二响应报文确定用于为所述客户端提供地址的指定dhcp服务器。

通过在接收到来自客户端的用于请求地址的第一请求报文的情况下,根据每个网关地址和所述第一请求报文生成对应的每个网关地址的第二请求报文;针对每个网关地址,将该网关地址对应的第二请求报文发送至与该网关地址对应的dhcp服务器,接收dhcp服务器响应于所述第二请求报文发送的第二响应报文,根据接收到的第二响应报文确定用于为所述客户端提供地址的指定dhcp服务器,根据本公开的各方面实施例的请求地址的方法及装置能够一次向dhcp服务器发送多个请求报文进行地址请求,能够降低用户等待dhcp服务器响应的时间、提高用户上线效率。

根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

附图说明

包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。

图1示出根据本公开一实施例的请求地址的方法的流程图。

图2示出根据本公开一实施例的请求地址的方法的流程图。

图3示出根据本公开一实施例的请求地址的方法的流程图。

图4示出根据本公开一实施例的请求地址的方法的流程图。

图5示出根据本公开一实施例的请求地址的装置的框图。

图6示出根据本公开一实施例的请求地址的装置的框图。

图7示出根据本公开一实施例的请求地址的装置的框图。

具体实施方式

以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。

单个dhcp服务器上设置多个地址池,或者多个dhcp服务器上设置不同的地址池,可以在客户端当前请求的dhcp服务器出现问题或者地址池可用地址不足的情况下,使客户端能够通过其他地址池获得地址。

相关技术中,dhcp中继设备在选择地址池时,可以按照配置的顺序,依次向各地址池(位于同一dhcp服务器或者位于不同dhcp服务器)申请地址。若在一段时间内未收到dhcp服务器的回复,或者收到地址池无分配地址的消息,则dhcp中继设备切换到下一个地址池进行地址请求。

相关技术中,dhcp中继设备在选择地址池时需要依次去判断dhcp服务器是否可用,以及dhcp服务器上的地址池是否可用,在出现dhcp服务器忙或者地址池可用地址不足的情况下,dhcp中继设备需要重新进行地址申请,导致客户端等待时间较长,获得地址较慢,用户上线效率较低。

图1示出根据本公开一实施例的请求地址的方法的流程图。该请求地址的方法可以应用于dhcp的中继设备。其中,dhcp的中继设备可以为具有dhcp中继功能的网络设备,例如bras(broadbandremoteaccessserver,宽带远程接入服务器)设备可以作为dhcp的中继设备,来向dhcp服务器申请地址。如图1所示,该请求地址的方法包括:

步骤s11,在接收到来自客户端的用于请求地址的第一请求报文的情况下,根据每个网关地址和所述第一请求报文生成对应的每个网关地址的第二请求报文,所述网关地址用于匹配dhcp服务器上的地址池。

第一请求报文可以用于表示客户端发送的用于请求地址的请求报文。第二请求报文可以用于表示中继设备在接收到第一请求报文后,向dhcp服务器发送的用于请求地址的请求报文。

网关地址可以用于匹配dhcp服务器上的地址池。dhcp服务器可以接收第二请求报文,使用从第二请求报文中获取的网关地址匹配地址池,并从匹配到的地址池中选择一个地址预分配给客户端使用。

中继设备上配置有多个网关地址,每个网关地址对应于一个地址池。多个网关地址对应的地址池可以设置在同一个dhcp服务器上,也可以设置在不同的dhcp服务器上,对此本公开不做限制。

针对每一个网关地址,中继设备可以根据该网关地址和第一请求报文生成对应的该网关地址的第二请求报文。在一个示例中,针对每一个网关地址,中继设备可以通过将该网关地址添加至第一请求报文的giaddr(gatewayipaddress,网关ip地址)字段,生成该网关地址的第二请求报文。

在一种可能的实现方式中,中继设备可以为同一类型(例如来自同一接口)第一请求报文添加同一组网关地址。在一个示例中,dhcp中继设备中可以配置接口与网关地址的对应关系,一个接口可以对应一组网关地址(包括多个网关地址)。中继设备可以根据接收第一请求报文的接口,确定一组网关地址。针对确定的一组网关地址中的每个网关地址,dhcp中继设备可以根据该网关地址和第一请求报文生成对应的该网关地址的第二请求报文。

步骤s12,针对每个网关地址,将该网关地址对应的第二请求报文发送至与该网关地址对应的dhcp服务器。

在一种可能的实现方式中,多个地址池可以设置于同一个dhcp服务器上,中继设备中配置有该dhcp服务器的地址以及用于与该dhcp服务器上的各地址池进行匹配的网关地址。dhcp中继设备可以将多个第二请求报文发送至同一个dhcp服务器上,由该dhcp服务器根据各第二请求报文中携带的网关地址从不同的地址池中为客户端预分配地址。在一个示例中,中继设备中配置有dhcp服务器10以及用于与dhcp服务器10上的地址池11进行匹配的网关地址11和与dhcp服务器10上的地址池12进行匹配的网关地址12。中继设备接收来自客户端的第一请求报文,在步骤s11中,dhcp中继设备可以根据网关地址11和第一请求报文生成对应的网关地址11的第二请求报文11,根据网关地址12和第一请求报文生成对应的网关地址12的第二请求报文12。在步骤s12中,中继设备可以将第二请求报文11发送至dhcp服务器10,以及将第二请求报文12发送至dhcp服务器10。

在一种可能的实现方式中,多个地址池可以设置于不同的dhcp服务器上,中继设备中配置有各dhcp服务器的地址以及用于与各dhcp服务器上的地址池进行匹配的网关地址。中继设备可以将各第二请求报文发送至不同的dhcp服务器上,由各dhcp服务器根据接收到的第二请求报文中携带的网关地址从本地地址池中为客户端预分配地址。在一个示例中,中继设备中配置有dhcp服务器10以及用于与dhcp服务器10上的地址池11进行匹配的网关地址11,以及dhcp服务器20以及用于与dhcp服务器20上的地址池21进行匹配的网关地址21。中继设备接收来自客户端的第一请求报文,在步骤s11中,中继设备可以根据网关地址11和第一请求报文生成对应的网关地址11的第二请求报文11,根据网关地址21和第一请求报文生成对应的网关地址21的第二请求报文21。在步骤s12中,dhcp中继设备可以将第二请求报文11发送至dhcp服务器10,以及将第二请求报文21发送至dhcp服务器20。

步骤s13,接收dhcp服务器响应于第二请求报文发送的第二响应报文,所述第二响应报文用于表示对应的网关地址所匹配的地址池能够为所述客户端提供地址。

其中,第二响应报文可以为dhcp服务器响应于第二请求报文返回的响应报文。第二响应报文可以用于通知中继设备dhcp服务可为客户端提供地址。第二响应报文中携带有dhcp服务器为客户端预分配的地址。其中,dhcp服务器为客户端预分配的地址为dhcp服务器可为客户端提供的地址。

dhcp服务器可以接收第二请求报文,根据第二请求报文中携带的网关地址进行地址池匹配,在匹配到的地址池中确定为客户端预分配的地址。

若dhcp服务器上的地址池能够为客户端提供地址,则dhcp服务器可以向dhcp中继设备发送携带有为客户预分配的地址的第二响应报文。

若dhcp服务器上的地址池因某些原因(例如,地址池可用地址不足)无法为客户端提供地址,则dhcp服务器可以向dhcp中继设备发送nak(拒绝)报文,以通知dhcp中继设备无法为客户端提供地址。

步骤s14,根据接收到的第二响应报文确定用于为所述客户端提供地址的指定dhcp服务器。

由于中继设备发送了多个第二请求报文,中继设备可能会接收到多个第二响应报文,每个第二响应报文中携带有dhcp服务器为客户端预分配的地址。这样,终端发送了一个第一请求报文,中继设备可以获取到多个为客户端预分配的地址。因此,在首选dhcp服务器忙或者首选地址池可用地址不足的情况下,中继设备仍然可以获取到dhcp服务器为客户端预分配的地址,不需要重新向dhcp服务器请求地址,降低了用户等待dhcp服务器响应的时间。

指定dhcp服务器用于表示中继设备确定的为客户端提供地址的dhcp服务器。由于中继设备可能接收到多个第二响应报文,而客户端需要一个地址,因此,中继设备需要根据接收到的第二响应报文确定出为客户端提供地址的dhcp服务器,以便于确定为客户端提供的地址。

通过在接收到来自客户端的用于请求地址的第一请求报文的情况下,根据每个网关地址和所述第一请求报文生成对应的每个网关地址的第二请求报文;针对每个网关地址,将该网关地址对应的第二请求报文发送至与该网关地址对应的dhcp服务器,接收dhcp服务器响应于所述第二请求报文发送的第二响应报文,根据接收到的第二响应报文确定用于为所述客户端提供地址的指定dhcp服务器,根据本公开实施例的请求地址的方法能够一次向dhcp服务器发送多个请求报文进行地址请求,能够降低用户等待dhcp服务器响应的时间、提高用户上线效率、减少用户上线重试次数。

在一种可能的实现方式中,所述请求地址的方法还包括为客户端提供地址的过程,包括:向所述客户端发送第一响应报文,所述第一响应报文携带有所述指定dhcp服务器在与对应网关地址匹配的地址池中为所述客户端预分配的地址。

其中,第一响应报文可以为中继设备响应于第一请求报文向客户端发送的响应报文。第一响应报文可以用于通知客户端dhcp服务器在于对应网关地址匹配的地址池中为客户端预分配的地址。

客户端可以接收第一响应报文,并确定是否使用第一响应报文中携带的为其预分配的地址。

在一种可能的实现方式中,步骤s14可以实现为以下步骤:将接收到的第二响应报文中第一个到达本地的第二响应报文,确定为指定报文;将返回所述指定报文的dfcp服务器确定为指定dhcp服务器。

指定报文为dhcp服务器响应于第二请求报文发送的第二响应报文中第一个达到中继设备的第二响应报文。指定dhcp服务器为返回指定报文的dhcp服务器。dhcp服务器向客户端返回的第一响应报文中可以携带有指定服务器在与指定报文对应的网关地址匹配的地址池中为所述客户端提供的地址。

指定dhcp服务器发送的指定报文第一个到达中继设备,表明指定dhcp服务器的运行状态良好,且指定dhcp服务器上的地址池具有能够提供给客户端使用的地址。因此,通过将接收到的第二响应报文中第一个到达本地的第二响应报文,确定为指定报文,可以进一步缩短用户等待dhcp服务器响应的时间。进一步的,通过将第一个到达本地的第二响应报文携带的为客户端预分配的地址提供给客户端,避免了网络状态不好导致的地址分配慢的问题,缩短了用户等待服务器响应的时间。

图2示出根据本公开一实施例的请求地址的方法的流程图。如图2所示,该方法还包括:

步骤s15,记录所述指定dhcp服务器的地址和所述指定报文对应的网关地址。

步骤s16,后续接收到第一请求报文时,根据记录的网关地址和接收到的第一请求报文生成第二请求报文,并将生成的第二请求报文发送至记录的dhcp服务器的地址。

在一种可能的实现方式中,中继设备接收到来自客户端的第一请求报文时,可以确定本地是否记录有指定dhcp服务器的地址和指定报文对应的网关地址。若本地记录有与所述第一请求报文对应的指定dhcp服务器的地址和指定报文对应的网关地址,则dhcp中继设备可以按照本地记录的地址,根据指定报文对应的网关地址和第一请求报文生成第二请求报文,并将该第二请求报文发送至指定dhcp服务器。若本地未记录与所述第一请求报文对应的指定dhcp服务器的地址和指定报文对应的网关地址,则dhcp中继设备可以执行步骤s11至步骤s14。

由于指定报文对应的网关地址匹配的地址池能够为客户端提供地址,因此根据指定报文对应的网关地址和第一请求报文生成第二请求报文,可以减少用户上线重试次数,提高用户上线效率。

由于指定dhcp服务器的响应速度较快,因此将生成的第二请求报文发送至指定dhcp服务器可以缩短用户等待服务器响应的时间,提高用户上线效率。

图3示出根据本公开一实施例的请求地址的方法的流程图。如图3所示,该方法还包括:

步骤s17,对于指定报文之后到达本地的第二响应报文,向发送该第二响应报文的dhcp服务器发送预分配拒绝报文,以使发送该第二响应报文的dhcp服务器释放对应网关地址所匹配的地址池中为所述客户端预分配的地址。

dhcp服务器接收到预分配拒绝报文时,可以释放为所述客户端与分配的地址,避免地址资源浪费。

图4示出根据本公开一实施例的请求地址的方法的流程图。如图4所示,在记录所述指定dhcp服务器的地址和所述指定报文对应的网关地址之后,该方法包括:

步骤s18,启动针对指定dhcp服务器的地址的老化定时器。

步骤s19,若接收到指定dhcp服务器发送的第二响应报文,则重置针对所述指定dhcp服务器的地址的老化定时器。

网络状态是动态变化的,指定dhcp服务器与dhcp中继设备之间的通信状况也会发生变化,指定dhcp服务器也可以会出现故障。

再次接收到指定dhcp服务器发送的第二响应报文,表明指定dhcp服务器依旧处于可用状态,dhcp服务器可以重置针对所述指定dhcp服务器的地址的老化定时器。

在一种可能的实现方式中,若所述老化定时器的计数大于一定阈值,则dhcp中继设备可以删除记录的所述服务器的地址和所述指定报文对应的网关地址。

其中,一定阈值可以根据需要进行设置,例如可以设置为1小时。若所述老化定时器的计数大于一定阈值,表明较长时间未接收到指定dhcp服务器发送的第二响应报文,不确定指定dhcp服务器是否仍然可用。因此,dhcp中继设备可以在老化定时器的计数大于一定阈值的情况下,删除所述服务器的地址和所述指定报文对应的网关地址。

在一种可能的实现方式中,若接收到指定dhcp服务器发送的应答拒绝报文,则dhcp中继设备可以删除所述指定dhcp服务器的地址和所述指定报文对应的网关地址。

dhcp中继设备接收到指定dhcp服务器发送的应答拒绝报文,表明dhcp服务器上的地址池不可用,dhcp中继设备可以删除指定dhcp服务器的地址和所述指定报文对应的网关地址。

在一种可能的实现方式中,在删除所述服务器的地址和所述指定报文对应的网关地址之后,dhcp中继设备接收来自客户端的第一请求报文时,可以执行步骤s11至步骤s14。

图5示出根据本公开一实施例的请求地址的装置的框图。所述装置应用于dhcp的中继设备。如图5所示,所述装置50包括:

生成模块51,用于在接收到来自客户端的用于请求地址的第一请求报文的情况下,根据每个网关地址和所述第一请求报文生成对应的每个网关地址的第二请求报文,所述网关地址用于匹配dhcp服务器上的地址池;

发送模块52,用于针对每个网关地址,将该网关地址对应的第二请求报文发送至与该网关地址对应的dhcp服务器;

接收模块53,用于接收dhcp服务器响应于第二请求报文发送的第二响应报文,所述第二响应报文用于表示对应的网关地址所匹配的地址池能够为所述客户端提供地址;

确定模块54,用于根据接收到的第二响应报文确定用于为所述客户端提供地址的指定dhcp服务器。

在一种可能的实现方式中,所述确定模块54具体用于:

将接收到的第二响应报文中第一个到达本地的第二响应报文,确定为指定报文;

将返回所述指定报文的dfcp服务器确定为指定dhcp服务器。

图6示出根据本公开一实施例的请求地址的装置的框图。如图6所示,在一种可能的实现方式中,所述装置50还包括:

记录模块55,用于记录所述指定dhcp服务器的地址和所述指定报文对应的网关地址;

所述生成模块51,还用于后续接收到第一请求报文时,根据记录的网关地址和接收到的第一请求报文生成第二请求报文,并将生成的第二请求报文发送至记录的dhcp服务器的地址。

在一种可能的实现方式中,所述发送模块52还用于:

对于指定报文之后到达本地的第二响应报文,向发送该第二响应报文的dhcp服务器发送预分配拒绝报文,以使发送该第二响应报文的dhcp服务器释放对应网关地址所匹配的地址池中为所述客户端预分配的地址。

在一种可能的实现方式中,所述装置50还包括:

启动模块56,用于启动针对指定dhcp服务器的地址的老化定时器;

重置模块57,用于若接收到指定dhcp服务器发送的第二响应报文,则重置针对所述指定dhcp服务器的地址的老化定时器。

在一种可能的实现方式中,所述装置50还包括:

删除模块58,用于若接收到指定dhcp服务器发送的应答拒绝报文或者所述老化定时器的计数大于一定阈值,则删除记录的所述指定dhcp服务器的地址和所述指定报文对应的网关地址。

在一种可能的实现方式中,所述发送模块52还用于:

向所述客户端发送第一响应报文,所述第一响应报文携带有所述指定dhcp服务器在与对应网关地址匹配的地址池中为所述客户端预分配的地址。

通过在接收到来自客户端的用于请求地址的第一请求报文的情况下,根据每个网关地址和所述第一请求报文生成对应的每个网关地址的第二请求报文;针对每个网关地址,将该网关地址对应的第二请求报文发送至与该网关地址对应的dhcp服务器,接收dhcp服务器响应于所述第二请求报文发送的第二响应报文,根据接收到的第二响应报文确定用于为所述客户端提供地址的指定dhcp服务器,根据本公开实施例的请求地址的装置能够一次向dhcp服务器发送多个请求报文进行地址请求,能够降低用户等待dhcp服务器响应的时间、提高用户上线效率、减少用户上线重试次数。

图7是根据一示例性实施例示出的一种用于请求地址的装置900的框图。参照图7,该装置900可包括处理器901、存储有机器可执行指令的机器可读存储介质902。处理器901与机器可读存储介质902可经由系统总线903通信。并且,处理器901通过读取机器可读存储介质902中与请求地址的逻辑对应的机器可执行指令以执行上文所述的请求地址的方法。

本文中提到的机器可读存储介质902可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

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