个人觉得的有用的文档,贴出来和大家分享

日志 [2008年07月11日]

上一篇 / 下一篇  2008-07-11 16:19:07 / 个人分类:linux


NTP协议

2008年7月11日

16:13

NTP原理、结构与工作模式

NTP的基本原理                      

T1:客户方发送查询请求时间(以客户方时间系统为参照) 

T2:服务器收到查询请求时间(以服务器时间系统为参照)            

T3:服务器回复时间信息包时间(以服务器时间系统为参照)

T4:客户方收到时间信息包时间(以客户方时间系统为参照)

                1: NTP传输模型                         

 δ1:请求信息在网上传播所消耗的时间

 δ2:回复信息在网上传播所消耗的时间  

现已知T1 、T2、T3、T4,希望求得θ以调整客户方时钟有:


                   (1)

假设请求和回复在网上传播的时间相同,即δ1=δ2,则可解得:

          


           (2)                    

可以看到,θδ只与T2T1差值、T3T4差值相关,而与T2T3差值无关,即最终的结果与服务器处理请求所需的时间无关。据此,客户方A即可通过T1、T2、T3、T4计算出时差θ去调整本地时钟。

 

文档 <http://www.linuxpk.com/spacecp.php?action=spaceblogs&op=add>

4.        NTP 报文格式
   NTP 和SNTP 是用户数据报协议( UDP) 的客户端 [POS80 ],而UDP自己是网际协议( IP)
[DAR81 ] 的客户端. IP 和UDP 报头的结构在被引用的指定资料里描述,这里就不更进一步描
述了。UDP的端口是123,UDP头中的源断口和目的断口都是一样的,保留的UDP头如规范中所述。
   以下是SNTP 报文格式的描述,它紧跟在IP 和UDP 报头之后。SNTP的消息格式与RFC-1305
中所描述的NTP格式是一致的,不同的地方是:
一些SNTP的数据域已被风装,也就是说已初始化为一些预定的值。NTP 消息的格式被显示如下。
                   1                  2                  3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |LI | VN |Mode |   Stratum   |    Poll     |  Precision  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           根延迟                            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           根差量                            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                         参考标识符                          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                              |
     |                         参考时间戳(64)                      |
     |                                                              |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                              |
     |                          原始时间戳(64)                     |
     |                                                              |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                              |
     |                          接受时间戳 (64)                    |
     |                                                              |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                              |
     |                         传送时间戳(64)                      |
     |                                                              |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                              |
     |                                                              |
     |                        认证符(可选项) (96)                  |
     |                                                              |
     |                                                              |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
如下一部分描述,在SNTP 里大多数这些字段被预规定的数据给赋初值。为完整起见,每个字段
的功能在下面被简要总结。 

协议结构

  SNTP 信息具有与 NTP 相同的格式:

258162432bit
LIVNModeStratumPollPrecision
Root Delay
Root Dispersion
Reference Identifier
Reference timestamp (64)
Originate Timestamp (64)
Receive Timestamp (64)
Transmit Timestamp (64)
Key Identifier (optional) (32)
Message digest (optional) (128)

  • LI:跳跃指示器,警告在当月最后一天的最终时刻插入的迫近闺秒(闺秒)。
  • VN:版本号。
  • Mode:模式。该字段包括以下值:0-预留;1-对称行为;3-客户机;4-服务器;5-广播;6-NTP 控制信息
  • Stratum:对本地时钟级别的整体识别。
  • Poll:有符号整数表示连续信息间的最大间隔。
  • Precision:有符号整数表示本地时钟精确度。
  • Root Delay:有符号固定点序号表示主要参考源的总延迟,很短时间内的位15到16间的分段点。
  • Root Dispersion:无符号固定点序号表示相对于主要参考源的正常差错,很短时间内的位15到16间的分段点。
  • Reference Identifier:识别特殊参考源。
  • Originate Timestamp:这是向服务器请求分离客户机的时间,采用64位时标(Timestamp)格式。
  • Receive Timestamp:这是向服务器请求到达客户机的时间,采用64位时标(Timestamp)格式。
  • Transmit Timestamp:这是向客户机答复分离服务器的时间,采用64位时标(Timestamp)格式。
  • Authenticator(Optional)-当实现了 NTP 认证模式,主要标识符和信息数字域就包括已定义的信息认证代码(MAC)信息。


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar