一种通过dhcp传送时区信息的方法

文档序号:6557082阅读:504来源:国知局
专利名称:一种通过dhcp传送时区信息的方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种通过DHCP传送时区信息的方法。
背景技术
DHCP是Dynamic Host Configuration Protocol的缩写,它提供了一种动态指定IP地址和配置参数的机制。
DHCP采用Client/Server模式,由客户端向服务器提出配置申请(包括分配的IP地址、子网掩码、缺省网关、时间信息等参数),服务器根据策略返回相应配置信息,DHCP报文采用UDP进行封装。
DHCPv4的工作过程如图1所示1.发现阶段,即DHCP客户端寻找DHCP服务器的阶段DHCP客户端以广播方式(因为DHCP服务器的IP地址对于DHCP客户端来说是未知的)发送DHCPDiscover消息来寻找DHCP服务器;2.提供阶段,即DHCP服务器提供IP地址的阶段。在网络中接收到DHCPDiscover消息的DHCP服务器都会做出响应,它从尚未分配的IP地址中选择一个分配给DHCP客户端,向DHCP客户端发送一个包含分配的IP地址和其他配置参数的DHCP Offer消息;
3.选择阶段,即DHCP客户端选择某个DHCP服务器提供的IP地址的阶段。如果有多个DHCP服务器向DHCP客户端发送DHCP Offer消息,则DHCP客户端从接收到的DHCP Offer中选择一个,即选定一个DHCP服务器。然后DHCP客户端以广播方式应答一个DHCP Request消息,该消息中包含DHCP客户端所选定的DHCP服务器的IP地址和该DHCP服务器提供的IP地址。之所以要以广播方式应答,是为了通知所有的DHCP服务器,它将选择某个DHCP服务器所提供的IP地址;4.确认阶段,即DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器接收到DHCP客户端的DHCP Request消息后,它便向DHCP客户端发送一个包含它所提供的IP地址和其他配置参数的DHCP Ack消息,告诉DHCP客户端可以使用它所提供的IP地址。另外,除DHCP客户端选中的DHCP服务器外,其他的DHCP服务器都将回收曾提供的IP地址。
DHCP客户端可以在DHCP Discover消息或者DHCP Request消息中包含Parameter Request List Option,向DHCP服务器请求自己感兴趣的配置参数,Parameter Request List Option的格式如下描述CodeLenOption Codes C1、C2......为DHCP客户端请求的option对应的codeDHCP客户端也可以在DHCP Discover消息或者DHCP Request消息中包含某个的Option,该Option中的值暗示DHCP服务器它希望获取的值,DHCP服务器可以返回DHCP客户端希望的值,也可以返回其他的值。
DHCPv6的工作过程类似于DHCPv4,但是DHCPv6是采用组播发送的,而不是广播发送。大家用时区timezone来设置时区信息,时区格式有很多,下面仅给出三种常用的时区格式(1)POSIX TZ字符串POSIX TZ字符串提供了一种通过字符串表述时区信息的标准,它的格式如下所描述stdoffset[dst[offset][,start[/time],end[/time]]]例如”EST5EDT4,M4.1.1,M11.1.1”(2)TZ DatabaseTZ Database也叫“Olson Database”,该数据库维护了全球的时区数据。这个数据库是定时更新的。如果想从该数据库中获取时区信息,需要给出索引,即时区的名字,然后根据该索引从数据库中查找。
例如“Europe/Zurich”(3)Microsoft时区Microsoft时区中包括了类似于POSIX TZ字符串的信息,但是一串可显示的字符串。Microsoft时区也是一个数据库,需要根据TZ ID从数据库中查找这个字符串例如<pre listing-type="program-listing"><时区ID="13" Name="(GMT-08:00)Pacific Time(US and Canada);Tijuana"Hidden="FALSE"> <Bias>480</Bias><StandardTime> <Bias>0</Bias> <Date><Month>10</Month><Day>5</Day><Hour>2</Hour> </pre><pre listing-type="program-listing"> </Date></StandardTime><DaylightTime> <Bias>-60</Bias> <Date><Month>4</Month><Day>1</Day><Hour>2</Hour> </Date> </DaylightTime></时区></pre>客户端可以在启动的时候,通过DHCP从DHCP服务器获取时区信息。
已有技术一DHCPv4中提供了一个time offset option(option code=2),用于传送UTC offset,DHCP客户端根据该option提供的值,设定和格林威治时间的偏移时间,单位是秒。但是,因为只传递和格林威治时间的偏移时间,所以该option提供的是一个静态的数据,对于某些应用来说,这些信息是不够的。例如DHCP客户端无法根据该数据确定自己当前所处的时区;在实行DST的地区或者国家,DHCP客户端无法根据该数据却动自己当前是否处于DST,什么时候启用DST以及什么时候哦退出DST等等。
已有技术二在DHCP消息中传送完整的时区信息。这虽然解决了已有技术一的缺陷,但是,本方案存在DHCP服务器返回的时区信息的格式和DHCP客户端支持的格式不兼容的问题。如何保证DHCP服务器返回的时区信息的格式和DHCP客户端支持的格式统一,是已有技术二存在的最大问题;而且,如果DHCP客户端请求TZDatabase格式或者Microsoft格式的时区信息时,DHCP服务器只能返回数据库的索引,DHCP客户端需要保存和更新时区数据库,存在因为数据库更新不及时而导致DHCP客户端获取的时区信息不准确的问题。

发明内容
本发明解决的技术问题是提供一种通过DHCP传送时区信息的方法,保证了DHCP服务器返回的时区信息和DHCP客户端支持的时区信息相互统一。
本发明的目的是通过以下技术方案实现的一种通过DHCP传送时区信息的方法,包括步骤A.动态主机配置协议DHCP客户端向DHCP服务器发送请求消息,所述请求消息承载DHCP客户端期望得到的时区信息;B.所述DHCP服务器收到所述消息,根据所述DHCP客户端的期望返回时区信息。
其中,步骤A所述时区信息包括时区格式,时间信息元素或者其组合。
其中,所述时区格式包括POSIX TZ时区格式,TZ Database时区格式,Microsoft时区格式,以及其他的时区格式。
其中,所述时间信息元素包括标准时区,夏令时区,与协调世界时UTC的偏移量,夏令时的开始时间和结束时间。
其中,步骤A所述DHCP客户端期望获取多个时区信息时,按照优先顺序逐一列出。
其中,步骤B中所述DHCP服务器根据DHCP客户端的期望,返回时区信息给DHCP客户端包括所述DHCP服务器只返回时间信息元素给DHCP客户端;或者,所述DHCP服务器按照所述DHCP客户端期望的时区格式返回时区信息;或者,所述DHCP服务器返回时间信息元素与时区格式的结合给DHCP客户端。
其中,步骤B还包括
如果DHCP服务器不支持DHCP客户端期望的时区信息,DHCP服务器根据配置或者返回缺省的时区信息,或者不返回时区信息。
其中,步骤B所述DHCP服务器返回的时区信息承载在所述DHCP服务器发送的应答消息中。
其中,步骤B之后,DHCP客户端收到所述来自DHCP服务器的时区信息,如果收到的是所述DHCP客户端期望的时区信息,则DHCP客户端直接使用,否则,DHCP客户端转换所述时区信息。
进而,本发明中DHCP服务器只发送时间信息元素给DHCP客户端,而不是数据库的索引,避免了因为DHCP客户端保存和更新时区数据库而引起的数据不同步的问题。
本发明通过采取协商机制,DHCP服务器返回时区信息之前,接收来自DHCP客户端的时区信息请求,根据DHCP客户端的期望,返回时区信息给DHCP客户端,有效保证了DHCP服务器返回的信息和DHCP客户端支持的信息相互统一。进而,本发明DHCP服务器发送时间信息元素给DHCP客户端时,避免了因为DHCP客户端保存和更新时区数据库而引起的数据不同步的问题。


图1为已有技术中DHCP工作过程示意图;图2为本发明实施例一中步骤1示意图;图3为本发明实施例一中步骤2示意图;图4为本发明实施例一中步骤2处理流程图;图5为本发明实施例一中步骤3示意图;图6为本发明实施例一中步骤4示意图。
具体实施例方式
贯穿说明书,示出的该优选实施例和示例应被看作本发明的范例而不受限制。
DHCP客户端向DHCP服务器发送的消息统称为请求消息,DHCP服务器向DHCP客户端发送的消息统称为应答消息。
DHCP客户端对时区信息的请求,承载在向DHCP服务器发送的请求消息。DHCP服务器收到请求后,把DHCP客户端期望的时区信息元素承载在应答消息中Offer消息Ack消息。DHCP服务器无法满足DHCP客户端对时区信息的需求时,DHCP服务器或者根据配置选择,或者返回缺省的时区信息,或者不返回时区信息。为了便于理解,我们仍然以DHCP的工作流程为主线阐述本发明的具体内容。
实施例一步骤1发现阶段如图2所示,DHCP客户端广播发送DHCP Discover消息,同时DHCP客户端可以请求获取时区信息。
DHCP客户端可以在DHCP Discover消息中包含parameter Request Listoption,在该option的code列表中可以包含时区option code,表明需要获取时区信息,包括时区格式,时间信息元素或者其组合。其中时间信息元素包括标准时区,夏令时区,与协调世界时UTC的偏移量,夏令时的开始时间和结束时间等。
DHCP客户端期望获取的时区信息有多个时,按照优先顺序在列表中逐一列出。
本步骤中DHCP客户端请求获取时区信息是可选的,也可以在步骤3中发送。
步骤2提供阶段如图3所示,DHCP服务器处理DHCP Discover消息,应答DHCP Offer,返回时区信息。
步骤100如图4所示,其中判断DHCP Discover消息中是否承载了时区信息请求,如果没有承载,跳转到步骤400;步骤200判断请求中是否有DHCP服务器支持的,如果没有,跳转到步骤400
步骤300如果有支持的话,DHCP服务器返回支持的时区信息;步骤400DHCP服务器根据配置返回缺省的时区信息,或者不返回时区信息。
步骤3选择阶段如图5所示,DHCP客户端处理DHCP Offer消息后,广播发送DHCP Request,同时可以请求获取时区信息。
在处理DHCP Offer时如果在DHCP Offer中返回了时区信息,则做如下处理如果返回的是自己期望的时区信息,则DHCP客户端直接使用,否则,DHCP客户端将DHCP Offer中提供的时区信息转化成自己支持的DHCPv4协议规定了,如果在发现阶段发送了Parameter Request ListOption,在选择阶段也必须发送Parameter Request List Option,当然,如果在发现阶段未发送Parameter Request List Option,在选择阶段是否发送Parameter Request List Option是可选的。所以,在发送DHCP选择的时候,因为不发送时区请求的情况比较简单,不再累述。发送时区请求的情况下,处理方法同步骤1。
步骤4确认阶段如图6所示,DHCP服务器处理DHCP Request消息,发送DHCP Ack消息,如果步骤3有时区信息请求,则返回时区的信息。
DHCP服务器在处理DHCP Request时,如果Request消息中承载了时区信息请求,其处理同步骤2,否则,按照DHCP的正常流程处理。
步骤5DHCP客户端在处理DHCP Ack时,如果在DHCP Ack消息中返回了时区信息,则做如下处理如果返回的是自己期望的时区信息,则DHCP客户端直接使用,否则,DHCP客户端将DHCP响应中提供的时区信息转化成自己支持的。
如果DHCP客户端没有能力或者不愿意保存和更新数据库,那么,它可以在请求的时候,给出期望获取的时间信息元素,DHCP服务器可以根据DHCP客户端的期望,返回具体的时间信息元素,而不是数据库的索引。进而,避免了因为DHCP客户端保存和更新时区数据库而引起的数据不同步的问题。
本实施例中仅以DHCPv4为例,通过DHCPv6协议传送时区信息也同理。
权利要求
1.一种通过DHCP传送时区信息的方法,其特征在于,包括步骤A.动态主机配置协议DHCP客户端向DHCP服务器发送请求消息,所述请求消息承载DHCP客户端期望得到的时区信息;B.所述DHCP服务器收到所述消息,根据所述DHCP客户端的期望返回时区信息。
2.根据权利要求1所述的方法,其特征在于,步骤A所述时区信息包括时区格式、时间信息元素或者其组合。
3.根据权利要求2所述的方法,其特征在于,所述时区格式包括POSIXTZ时区格式、TZ Database时区格式和Microsoft时区格式。
4.根据权利要求2所述的方法,其特征在于,所述时间信息元素包括标准时区、夏令时区、与协调世界时UTC的偏移量、夏令时的开始时间和夏令时的结束时间。
5.根据权利要求1所述的方法,其特征在于,步骤A所述DHCP客户端期望获取多个时区信息时,按照优先顺序逐一列出。
6.根据权利要求1所述的方法,其特征在于,步骤B中所述DHCP服务器根据DHCP客户端的期望,返回时区信息给DHCP客户端包括所述DHCP服务器只返回时间信息元素给DHCP客户端;或者,所述DHCP服务器按照所述DHCP客户端期望的时区格式返回时区信息;或者,所述DHCP服务器返回时间信息元素与时区格式的结合给DHCP客户端。
7.根据权利要求1至6中任意一项所述的方法,其特征在于,步骤B还包括如果DHCP服务器不支持DHCP客户端期望的时区信息,DHCP服务器根据配置或者返回缺省的时区信息,或者不返回时区信息。
8.根据权利要求6所述的方法,其特征在于,步骤B所述DHCP服务器返回的时区信息承载在所述DHCP服务器发送的应答消息中。
9.根据权利要求7所述的方法,其特征在于,步骤B之后,DHCP客户端收到所述来自DHCP服务器的时区信息,如果收到的是所述DHCP客户端期望的时区信息,则DHCP客户端直接使用,否则,DHCP客户端转换所述时区信息。
全文摘要
本发明公开了一种通过DHCP传送时区信息的方法。动态主机配置协议DHCP客户端向DHCP服务器发送消息,所述消息承载DHCP客户端期望得到的时区信息;所述DHCP服务器收到所述消息,根据所述DHCP客户端的期望,返回时区信息。本发明有效保证了DHCP服务器返回的格式和DHCP客户端支持的格式相互统一。
文档编号G06F1/14GK101043532SQ200610061238
公开日2007年9月26日 申请日期2006年6月20日 优先权日2006年6月20日
发明者管红光 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1