由特拉华大学的David L. Mills热心提供。http://www.eecis.udel.edu/~mills [email protected]
由Reinhard v. Hanxleden CAU Kiel稍微改编。[email protected]
原文http://www.doc88.com/p-7864235424656.html
相关文章http://blog.chinaunix.net/uid-13532695-id-90421.html
百度文库地址http://wenku.baidu.com/view/0d5fbe4b2cc58bd63186bdc0
(一) 引言
(1)网络时间协议( NTP)使得在互联网上主机和路由器的时钟同步。
(2)在广域网上,它提供了名义上低于几毫秒的精度;它为局域网提供了亚毫秒的精度;并且如果使用一个精密时间发生器(如铯震荡器或GPS接收器)的话,它能提供亚微秒的误差。
(3)Unix的NTP守护进程可以移植到现今存在的几乎每一个工作站和服务器平台上面(从PC到Cray),并且适用于UNIX,Windows,VMS和嵌入式等系统。
(4)有超过十万的网络时间协议部署在互联网上其支流遍布世界各地。
(5)对于多种多样类型的故障稳定,包括时钟源分歧,恶意攻击和实现bug。
我们的方法是基于不同的网络路径,冗余服务器和一套复杂的手工缓解算法。
(6)服务器自动和客户端配置在资源约束下优化性能。
我们的方法是基于网络多播和广播,连同工程drop-add试探法。
(7)自动使用公钥和密钥加密的身份验证。
我们方法使用自动生成和管理密钥控制寿命和设计的算法,用来避免精确度损失由于加密延迟。
(二)NTP怎样工作
(1)多重同步器提供冗余性和多样性
(2)时钟过滤器从一个窗口的八个时钟偏移样本中选择最佳的
(3)交叉和聚类算法挑选最好的被认为是准确的和已排除故障的子服务器
(4)组合算法计算出最精确的偏移的加权平均
(5)相位/频率锁反馈环路训练当地时钟时间和频率,以达到最大限度的准确性和稳定性
(三)NTP的过滤算法
(1)以最低的测量延迟,接近准确的时钟偏移问d(楔图的顶点)
(2)相位偏差 加权平均大于最后八个样本,作为误差估计量
(3)频率色散 代表时钟读和频率公差偏差——用于距离度量
(4)同步偏差 -用测量距离和最大误差界,时间抖动范围必须在
(四)交叉算法
(1) 最初,设置错误集合 f 和计算器 c,d为零
(2) 从最左边端点起开始扫描:在每一低端点对加一,对每一个高端点减一,每一个中点,对加一
(3) 如果c>m-f ,d>m-f.测试完成退出程序
(4) 对右边缘做同样的操作
(5) 如果成功未经宣布,f+1,在开始一遍
(6) 如果f《m/2,这失败
注:
(1)相交算法能够消除falsetickers,而保留truechimers(偏移量在区间中点的同级为truechimers)
(2)DTS正确性区间是交集,这个交集包含了区间最大中的点
(3)NTP算法要求的区间的中点在交集当中
(4)交叉算法实质是为求出离标准NTP最接近的时间值
(五)聚类算法
1)通过增加同步距离将intersction算法过滤幸存者排序。n为幸存者的数量,nmin下限。
2)对于每一个幸存者si, 选择si和所有其他人计算色散他们之间的时钟差异 (加权和)。
3)让smax幸存者最大选择色散(相对于其他幸存者)和smin幸存者最低样品色散(时钟差异相对于过去的样本相同的幸存者)。
4)最后的幸存者处理相结合的算法来产生一个加权平均作为最终补偿调整
(六)NTP自动配置
1)动态对等体发现
初次发现使用NTP多播和manycast模式
通过DNS,网络和服务位置协议增强
增强NTP子网搜索使用标准的监控设施
2)自动最优配置
测量距离旨在最大化的准确性和可靠性
约束取决锲型限制和最大距离约束
复杂性问题需要智能判断
3)候选优化算法
多播模式有或没有最初的传播延迟校准
-广播模式与行政和/或TTL分隔的范围
分布式、层次化、贪婪的添加/删除选择
4)多播计划(温和的准确性)
当地服务器洪水与周期性多播响应消息
客户再使用客户机/服务器单播模式首次接触测量传播延迟,然后继续只接收模式
5)广播计划(最高精度)
——开始时,客户当地洪水多播请求消息
服务器响应与多播响应消息
客户再继续服务器好像在普通单播配置客户机/服务器模式
6)两方案需要有效的内爆/爆炸控制
伸缩圈搜索使用TTL和管理范围
多余的网络流量避免使用多播响应和谣言扩散
人口过剩的客户机/服务器使用NTP聚类算法和控制超时舍弃
7)循环困境
加密密钥不能忍受超越执行生命
实施终身需要安全的计时
安全的计时需要密码认证
8)验证和同步协议对于每一个对等体独立工作,与每一个可以达成一个初步的结果
9)当收有身份验证和同步完成,对等体加入到承认可用于系统时钟同步的服务器数据中
10)并发要求整个过程所有公钥的,包括那些用于必须执行的签名证书,
11)但使用公开密匙加密的致命弱点是它计时太慢了
(七)时延计算
1)我们希望T3和T4时间戳对准确校正网络
如果服务器输出时延小,T3a将近似T3
-T3a经cryptosum计算不能包含在包中,但可以包含在下一个发送的消息中;使用T3b 接近T3
T4是大多数网络驱动程序中断时间;如果不是,使用T4a的最佳逼近T4
2)最大的错误通常在cryptosum输出
根据体系结构私钥算法(MD5,des - cbc)运行时间范围从10 ms到1毫秒 ,但可以预测相当好
根据架构公钥算法(RSA)运行时间范围100 ms ,但高度变量和取决于消息内容
注:T3b客户端发包时间,T3a服务器接收时间,T3服务器处理发出时间,T4客户端接受包时间,T4a客户端处理时间。
(八)MD5信息摘要
测量次构造128位散列48-octet NTP在RSAREF头使用MD5算法
(九)MD5/RSA数字签名
测量时间(s)使用RSAREF构建数字签名
消息身份验证代码由48-octet NTP头和MD5散列,然后用RSA 512位加密私钥
(十)NTP认证方案
会话密钥使用IP地址和密钥生成标识符
初始密钥标识符是随机的,每一个成功标示对于于前一个是随机的
会话密钥列表中使用倒序;客户验证散列当前会话密钥匹配最近会话密钥标识符
间隔,服务器生成一个随机的服务器密匙并生成一个公共价值与RSA加密它
当服务器关键变化,客户获得公共价值和解密和验证它匹配服务器的关键
(十一)NTPv4 进步和状态
1)NTP版本4架构和算法实现和测试
简单的NTP(sntp)版本4规范现在互联网草案
改善本地时钟模型现在标准的NTP的特征
精密数字内核修改现在Unix4.0和Sun Solaris 2.6
2)自动配置
多播服务器发现现在标准的NTP的功能
-Manycast服务器发现实现和测试
分布式添加/删除贪婪启发式设计和模拟
-Span-limited、分层多播组使用NTP分布式模式和添加/删除启发式学习
3)密码认证
-自动密钥方案在实现和测试
公钥证书发现和验证方案将遵循IETF模型
4)完成NTP版本4协议测试和验证项目
部署、测试和评估NTP版本4守护进程在本地网络
部署和测试在DARPA试验台(DARTnet和凯恩)
部署和测试友好地点在美国,欧洲和亚洲
5)检查标准符合IETF, ANSI, ITU, POSIX
修改NTP正式规范和标准
参与与NIST部署策略,USNO等
6)开发场景等其他应用程序web缓存,DNS服务器和其他多播服务
(十二)NTP网络资源
1)互联网(草案)》标准rfc - 1305版本3
简单的NTP(部门)版本4规范rfc - 2030
指定SAFEnet标准(海军)
基于ANSI, ITU, POSIX
2)NTP网页http://www.eecis.udel.edu/ ~NTP
NTP版本3发布说明和HTML文档
附些公共NTP时间服务器(主要和次要)
NTP新闻组和FAQ纲要
教程、提示和参考书目
3)NTP版本3的实现和文档Unix, VMS, Windows
移植到24个架构和操作系统
公用事业项目远程监控、控制和绩效评估