网络通信专题之获取ntp时间
目录
网络通信专题之获取ntp时间
大纲:
|NTP是什么? |哪些地方用到了NTP? |准确获取NTP时间的重要性? |如何准确获取NTP时间?
#NTP是什么?
NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。
它的用途是把计算机的时钟同步到世界协调时UTC,其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms。
NTP时间同步报文中包含的时间是格林威治时间,是从1900年开始计算的秒数。
#哪些地方用到了NTP?
如设置闹钟、HTTPS证书的有效时间鉴定
#准确获取NTP时间的重要性?
就拿"HTTPS证书的有效时间鉴定"这个例子来说,假如在HTTPS握手的过程中报告的时间有误,这样就会导致证书校验失败,通信失败。
#如何准确获取NTP时间?
NTP获得UTC的时间来源可以是原子钟、天文台、卫星,也可以从Internet上获取。
计算机主机一般同多个时钟服务器连接,利用统计学的算法过滤来自不同服务器的时间,以选择最佳的路径和来源以便校正主机时间。即使在主机长时间无法与某一时钟服务器联系的情况下,NTP服务依然可以有效运转。
所以,准确获取NTP时间需要参考多个可靠的NTP服务器,而且还需要对这些服务进行筛选。
获取ntp时间有三种通信模式:
客户端/服务端、广播模式、symmetric
关于获取ntp时间的三种通信模式的详细介绍以及协议的内容
可以参考:
对于以上三种模式时间信息的传输都采用UDP协议,端口号123
实现的过程中需要注意的问题:
是否需要时间补偿(传输过程中时间延迟、本地处理报文所需时间)
常用的ntp服务器域名:
“fr.pool.ntp.org”
“pool.ntp.org'
“ch.pool.ntp.org”
“us.pool.ntp.org”
参考文献:
UTC 和 GMT的区别是什么啊?
NTP介绍与分析