当前位置: 首页 > news >正文

【麒麟】基于GPS北斗卫星技术的NTP网络时间服务器

【麒麟】基于GPS北斗卫星技术的NTP网络时间服务器
【麒麟】基于GPS北斗卫星技术的NTP网络时间服务器

  1. 麒麟系统NTP授时方案

设计思路:
在通用的麒麟服务器内部固定一块北斗卫星接收模块并引出卫星天线接口,卫星模块接收北斗卫星数据并解码输出时间数据(NMEA0183串口数据),并将时间数据输入到系统主板的串口上;麒麟系统串口接收时间数据解码时间信息并同步麒麟系统时间,确保麒麟系统的时间与准确。为了实现麒麟系统的NTP授时服务,需要在系统内运行NTPD授时程序。

重点:
(1)内置北斗卫星接收模块;
(2)串口输入到麒麟操作系统
(3)麒麟操作系统的时间同步
(4)麒麟系统的NTP授时服务
2. 网络拓扑图

图 常见拓扑结构

在中心机房配置1台麒麟系统NTP服务器,麒麟NTP服务器直接获取北斗卫星时间数据实现本地系统的时间同步,通过NTP网络时间同步协议对外提供授时服务。系统内的办公设备、堡垒机、防火墙、虚拟化集群、容灾备份系统、存储服务器及其他终端设备通过NTP时间协议同步到麒麟NTP服务器。麒麟NTP服务器和北斗卫星直接同步,这就保证了整个系统的时间准确、稳定和可靠性。
在实际的项目使用中,推荐使用2台或3台NTP服务器,在NTP客户端配置多个NTP服务器IP地址,NTP实时访问各个NTP服务器,通过内部时间同步算法自动切换时间基准,任何一台NTP服务器故障不影响NTP客户端的时间同步,这种做法可以规避单点故障。
3. 授时策略

图 C/S模式
NTP C/S授时原理
网络时延:
delay=(T4-T2)+(T3-T1)
客户端计算机时间偏差:
offset = ((T3-T1)-(T4-T2) )/2
客户机修正时间为T+offset
(Device A为客户端,Device B为NTP服务器)
Device A发送一个NTP报文给Device B,该报文带有它离开Device A时的时间戳,该时间戳为10:00:00am(T1)。
当此NTP报文到达Device B时,Device B加上自己的时间戳,该时间戳为11:00:01am(T2)。
当此NTP报文离开Device B时,Device B再加上自己的时间戳,该时间戳为11:00:02am(T3)。
当Device A接收到该响应报文时,Device A的本地时间为10:00:03am(T4)。
至此,Device A已经拥有足够的信息来计算两个重要的参数:
NTP报文的往返时延Delay=(T4-T1)-(T3-T2)=2秒。
Device A相对Device B的时间差offset=((T2-T1)+(T3-T4))/2=1小时。
4. 客户端配置
大部分服务器在出厂时都安装了NTP协议,在NTP实施时只需将NTP源指向现有NTP服务即可。
AIX、Solaris、HP-UNIX等UNIX 和Linux系统使用系统自带的NTP服务。在原有配置文件(/etc/ntp.conf),增加如下语句,重新启动NTP进程即可。
server 主时钟IP minpoll 4 maxpoll 4 prefer
server 备时钟IP minpoll 4 maxpoll 4
server 备时钟IP minpoll 4 maxpoll 4
tinker step 0 #linux使用
其中, Linux使用tinker step 0配置缓慢调整,Aix使用slewalways yes配置缓慢调整,缓慢调整可规避闰秒时间调整对系统产生的影响。

备注:麒麟系统需包含串口的相关驱动程序!

http://www.lryc.cn/news/14061.html

相关文章:

  • “互联网+”下劳动关系认定的现状
  • LPWAN及高效弹性工业物联网核心技术方案
  • OPTIONS FMTSEARCH
  • Python3 pip
  • 【2023-02-20】JS逆向之翼支付
  • 假如面试官问你Babel的原理该怎么回答
  • 深入Spring底层透析Bean创建过程之拨云见日篇
  • 8 狗监控的封装
  • 基于卷积神经网络图像风格迁移系统的设计与实现(flask系统)
  • 【1】linux命令每日分享——mkdir
  • 实例2:树莓派GPIO控制外部LED灯闪烁
  • 详解可变形注意力模块(Deformable Attention Module)
  • Java数据结构中链表分割及链表排序使用快速排序、归并排序、集合排序、迭代、递归,刷题的重点总结
  • 音视频基础之音频编码原理简介
  • 【Python--XML文件读写】XML文件读写详解
  • GNU make 中文手册 第一二章 概述与介绍
  • 真的了解HashMap、HashSet吗?做一道测试题试试!
  • 树莓派下安装OpenEuler
  • VSCode Remote-SSH配置免密登录踩坑
  • 【Python语言基础】——Python NumPy 数组拆分
  • 虹科资讯| 虹科AR荣获汽车后市场“20佳”维修工具评委会提名奖!
  • Mysql架构与内部模块
  • 从技术上来看,互联网技术开始衍生和蜕变出更多的新技术
  • 最长不含重复字符的子字符串
  • git中git push origin master推送远程操作失败,报错解决方案
  • 服务器部署流程与经验记录
  • 超火的情感视频短视频账号,赚钱的路子有多野?
  • Linux系列 linux 常用命令(笔记)
  • Cosmos 基础教程(二)-- Run a Node, API, and CLI
  • C# 读写xml文件总结 [详细]