索阅 100例 首 页| 资 讯| 下 载| 论 坛| 博 客| Webinar| 高 校| 专 刊| 会展| EETV| 百科| 问答| 电路图| 工程师手册| Datasheet

EEPW首页 > 百科 > 时间协议

时间协议


贡献者:sdjntl    浏览:1062次    创建时间:2009-12-04

时间协议  时间协议
  
协议的创建
  1983年 5月,为了规范一个ARPA Internet community ,而产生的一个标准。在ARPA Internet上所有的主机都应当采用和实现这个标准。
  规范收录在RFC 868,作者是 K. Harrenstien J. Postel
  
协议的内容
  
  [1]此协议提供了一个独立于站点的,机器可读的日期和时间信息。时间服务返回的是以秒数,是从1900年1月1日午夜到现在的秒数,天哪,也不小呢。
  设计这个协议的一个重要目的在于,网络上的许多主机并没有时间的观念,在分布式的系统上,我们可以想一想,北京的时间和东京的时间如何分呢?主机的时间往往可以人为改变,而且因为机器时钟内的误差而变得不一致,因此需要使用时间服务器通过选举方式得到网络时间,让服务器有一个准确的时间观念。不要小看时间,这对于一些以时间为标准的分布运行的程序简单是太重要了。
  这个协议可以工作在TCP和UDP协议下。下面是通过TCP协议工作的时间协议的工作过程:这里S代表服务器,C代表客户。
  S 检测端口37
  U 连接到端口37
  S 以32位二进制数发送时间
  U 接收时间
  U 关闭连接
  S 关闭连接
  这个过程也不难,如果服务器不能决定现在是什么时间,服务器会拒绝连接或不发送任何数据而直接关闭连接。
  下面我们看看使用UDP协议的情况:这里S代表服务器,C代表客户。
  S 检测端口37
  U 发送一个空数据报到端口37
  S 接收这个空数据报
  S 发送包含32位二进制数(用于表示时间)的数据报
  U 接收时间数据报
  这个过程也不难,如果服务器不能决定现在是什么时间,服务器会抛弃接收到的数据报而不作出任何应答。
  时间是由32位表示的,是自1900年1月1日0时到当前的秒数,我们可以计算一下,这个协议只能表示到2036年就不能用了,但是我们也知道计算机发展速度这么快,可能到时候就会有更好的协议代替这个协议,或者有已经想出有效的解决办法了。



如果您认为本词条还有待完善,需要补充新内容或修改错误内容,请编辑词条     查看历史版本

开放分类
接口    协议    通信    

参考资料

贡献者
sdjntl    


本词条在以下词条中被提及:

关于本词条的评论共:(0条)
匿名不能发帖!请先 [ 登陆 ]