Chinaunix首页 | 论坛 | 博客
  • 博客访问: 882071
  • 博文数量: 192
  • 博客积分: 8554
  • 博客等级: 中将
  • 技术积分: 1892
  • 用 户 组: 普通用户
  • 注册时间: 2006-08-12 04:36
文章分类

全部博文(192)

文章存档

2012年(5)

2010年(27)

2009年(22)

2008年(42)

2007年(51)

2006年(45)

分类:

2008-04-18 10:46:04

 之前写过一篇NTP的东西.但是其中有很多错误.也不够详细.这次经过多次实验,反复比较和分析,并且在HP800电话的帮助下,终于写出了一篇我自己认为比较完整和正确的文档.

NTP网络时间协议

()NTP基础

1.         NTP的时间资源

a)        一个于HP_UX系统串口联结的无限电时钟

                         i.              通过GPS卫星发出的信号或其他无线电时钟来确定当前时间.

1.         最准确

2.         要花钱(高达数百美元)

                       ii.              公共网络上的NTP时间服务器

1.        

                      iii.              本地网络上的NTP时间服务器

1.         只在本地网络的节点上需要时间同步的时候选用.

2.         方式:一个节点作为时间源,其他节点的时间向它同步.

2.         NTP时间层级

a)        最高层的时间服务器(1):从外部时间资源(如无线电)直接接收时间信号.

b)        下层时间服务器通过本层或更高层的一个或者多个时间服务器来估算时间.

c)         最下层的Client端只能从时间服务器接收时间信号.

见下图

3.         NTP角色

a)        server     向其他系统提供时间参照

b)        peer        同级别的NTP server.一个NTP server在失去其上层server,从同级别的其他server中对等的取得时间服务.

c)         direct polling client        直接轮询客户机,定期的轮询一个或多个NTP服务器,比较这写服务器的响应,采用最准确的时间源进行同步.

d)        broadcast client             NTP广播客户机.被动监听本地网络上的NTP服务器发出的NTP广播(精确度低)(占用的网络流量少).

4.         需要用到的配置文件

a)        /etc/rc.config.d/netdaemons         使系统启动时,自动启动xntpd进程.

b)        /etc/ntp.conf          用于定义一个系统与网络上其他系统的NTP关系.该文件在系统启动过程中被xntpd进程读取.

c)         /usr/lib/tztab           查看可用的时区表

d)        /etc/TIMEZONE    修改时区

5.         NTP如何调节系统时钟(3种时间机制)

a)        ntpdate命令

                         i.              ntpdate –b轮询一个或多个NTP server,可以立即与最准确的NTP server同步.

                       ii.              最好在启动应用程序前执行,避免应用程序运行混乱.

b)        xntpd守护进程

                         i.              在后台持续不断地运行,定期轮询在/etc/ntp.conf文件中定义的NTP服务器.然后根据需要微调系统的时钟以便保持同步.

                       ii.              如果系统时间与NTP时间源相差超过1000,xntpd进程假定NTP server崩溃,然后自己死亡.

                      iii.              /etc/ntp.drift文件

1.         同长用于在每次检查间隔时间时,继续客户机时钟与NTPserver时间的差别.

2.         xntpd守护进程确定在ClientNTPserver的时钟有预期的漂移,那么xntpd间开始使用期望的漂移时间.该漂移时间在/etc/ntp.drift文件中记录.

3.         xntpd通过参考drift文件进行缓慢的交互,胜于查询NTPserver.时间漂移值稳定后,NTPserver的查询数量将大量减少.直到最小的NTP查询数.

()在本地网络中配置NTP(非广播)

1.         配置NTP服务器

a)        修改/etc/rc.config.d/netdaemons文件,使xntpd进程在系统启动后自动启动

export NTPDATE_SERVER=

export XNTPD=1

export XNTPD_ARGS=

b)        修改当前时间到你所需要的时间

root:[/]date 01020304                  #一月二日三时四分

date: do you really want to run time backwards?[yes/no]yes

Wed Jan  2 03:04:00 MST 2008

root:[/]date

Wed Jan  2 03:04:01 MST 2008

c)         确认/etc/TIMEZONE中规定的时区是你所需要的时区.

TZ=MST7MDT

export TZ

d)        修改/etc/ntp.conf文件

server 127.127.1.1                      #IPNTP定义的server自己的IP

fudge 127.127.1.1 stratum 10              #fudge表示该IPNTPserver, stratum表示该#系统所在的NTP层级.

driftfile /etc/ntp.drift

e)        手工启动xntpd进程

/sbin/init.d/xntpd start

f)         等待5分钟左右,以便xntpd启动.

g)        检查

ps –ef |grep ntp

more /var/adm/syslog/syslog.log

ntpq –p

               *        指出响应的NTP服务器和最精确的服务器

               +        指出响应这个查询请求的NTP服务器
               Blank    指出没有响应的NTP服务器
               Remote   响应这个请求的NTP服务器的名称
               Refid    NTP服务器使用的更高一级的服务器的名称
               St       正在响应请求的NTP服务器的级别
               t        时间源的类型(1=本地时钟,u=单点广播,b=广播)
               When     上一次成功请求之后到现在的秒数
               Poll     当前的请求的时钟间隔的秒数
               reach    0:无法访问server.377:所有最近的查询都成功
               delay    服务器响应轮询需要的时间(微秒)
               disp     每次轮询的网络延时

2.         配置NTP客户端

a)        修改/etc/rc.config.d/netdaemons文件,使xntpd进程在系统启动后自动启动

export NTPDATE_SERVER= 109.10.1.71

export XNTPD=1

export XNTPD_ARGS=

b)        确认/etc/TIMEZONE中规定的时区是你所需要的时区.

TZ=MST7MDT

export TZ

c)         编辑/etc/ntp.conf文件来定义NTP客户机

server 109.10.1.71

driftfile /etc/ntp.drift

              :若想作为广播轮询client,则设置为

                     broadcastclient yes

                     driftfile /etc/ntp.drift

d)        手工启动xntpd进程

/sbin/init.d/xntpd start

e)        检查

ntpq –p

 

3.         部分内容解释说明

a)        客户端默认以64秒为间隔向NTPserver轮询.但当/etc/ntp.drift文件中所记录的漂移时间趋于稳定之后,client端将增大该轮询间隔,而通过读取/etc/ntp.drft中所记录的值来取代向server端轮询当前时间.以此来减少网络的使用.

b)        clientserver的时间同步有三种方式,根据clientserver的时间差来定:

                         i.              时间差低于128       轮询时,分多次向server的时间靠拢,直到一致.

                       ii.              时间差高于128       一次直接同步.

                      iii.              时间差高于1000      client端的xntpd进程自动消亡.

c)         xntpd已经启动的情况下,如果修改client时间,将在5分钟后向server同步时间.但即使同步了,也只是瞬时同步,还需要一段不定长短的时间来与server重新建立联结.

()在本地网络中配置NTP(广播)

       其他部分和上面的步骤是一样的,只是在修改/etc/ntp.conf文件时有些不同.

1.         NTPserver上修改/etc/ntp.conf文件

server 127.127.1.1                     

fudge 127.127.1.1 stratum 10             

broadcast 109.10.1.255                #109.10.1.*网段广播自己的时间.

2.         NTP client上修改/etc/ntp.conf文件

broadcastclient yes

 

word版的请参看附件.

 

文件: NTP文档(金明国).zip
大小: 109KB
下载: 下载
阅读(6000) | 评论(1) | 转发(0) |
0

上一篇:兔子的故事

下一篇:地震了

给主人留下些什么吧!~~

zongyongchun2008-06-21 14:16:34

棒!我在linux下还在试验广播模式!