如果是Unix,一般支持Time Protocol,当然也支持SNTP。它一般在TCP/UDP 37端口对客户端进行监听。
如果是Windows,则使用SNTP比较多。它一般在TCP/UDP 123端口对客户端进行监听。
当然,不管使用的是哪种类型,都可以使用一款叫做NTPC(Network Time Protocol)免费小软件来进行时间同步。它不需要安装,只让它每次随系统启动即可。设置也很简单,就不多说了。
上面的方法并没有从系统级别进行修改,只是简单的让它自动校时,类似请个小保姆手工调整时间
其实,还可以通过修改注册表的方法让你的DC和外部时间源来同步
以下资料来自与微软:
配置 Windows 时间服务以使用外部时间源
要将内部时间服务器配置为与外部时间源同步,请按照下列步骤 *** 作:
1 将服务器类型更改为 NTP。为此,请按照下列步骤 *** 作:
a 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
b 找到并单击下面的注册表子项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type
c 在右窗格中,右键单击“Type”,然后单击“修改”。
d 在“编辑值”的“数值数据”框中键入 NTP,然后单击“确定”。
2 将 AnnounceFlags 设置为 5。为此,请按照下列步骤 *** 作:
a 找到并单击下面的注册表子项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags
b 在右窗格中,右键单击“AnnounceFlags”,然后单击“修改”。
c 在“编辑 DWORD 值”的“数值数据”框中键入 5,然后单击“确定”。
3 启用 NTPServer。为此,请按照下列步骤 *** 作:
a 找到并单击下面的注册表子项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer
b 在右窗格中,右键单击“Enabled”,然后单击“修改”。
c 在“编辑 DWORD 值”的“数值数据”框中键入 1,然后单击“确定”。
4 指定时间源。为此,请按照下列步骤 *** 作:
a 找到并单击下面的注册表子项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer
b 在右窗格中,右键单击“NtpServer”,然后单击“修改”。
c 在“编辑值”的“数值数据”框中键入 Peers,然后单击“确定”。
注意:Peers 是一个占位符,应替换为您的计算机从中获取时间戳的对等端列表(以空格分隔)。列出的每个 DNS 名称都必须是唯一的。必须在每个 DNS 名称后面附加 ,0x1。如果不在每个 DNS 名称后面附加 ,0x1,则在步骤 5 中所做的更改将不会生效。
5 选择轮询间隔。为此,请按照下列步骤 *** 作:
a 找到并单击下面的注册表子项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval
b 在右窗格中,右键单击“SpecialPollInterval”,然后单击“修改”。
c 在“编辑 DWORD 值”的“数值数据”框中键入 TimeInSeconds,然后单击“确定”。
注意:TimeInSeconds 是一个占位符,应替换为您希望各次轮询之间的间隔秒数。建议值为 900(十进制)。该值将时间服务器配置为每隔 15 分钟轮询一次。
6 配置时间校准设置。为此,请按照下列步骤 *** 作:
a 找到并单击下面的注册表子项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxPosPhaseCorrection
b 在右窗格中,右键单击“MaxPosPhaseCorrection”,然后单击“修改”。
c 在“编辑 DWORD 值”的“基数”框中单击以选择“十进制”。
d 在“编辑 DWORD 值”的“数值数据”框中键入 TimeInSeconds,然后单击“确定”。
注意:TimeInSeconds 是一个占位符,应替换为适当的值,如 1 小时 (3600) 或 30 分钟 (1800)。您选择的值将因轮询间隔、网络状况和外部时间源而异。
e 找到并单击下面的注册表子项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxNegPhaseCorrection
f 在右窗格中,右键单击“MaxNegPhaseCorrection”,然后单击“修改”。
g 在“编辑 DWORD 值”的“基数”框中单击以选择“十进制”。
h 在“编辑 DWORD 值”的“数值数据”框中键入 TimeInSeconds,然后单击“确定”。
注意:TimeInSeconds 是一个占位符,应替换为适当的值,如 1 小时 (3600) 或 30 分钟 (1800)。您选择的值将因轮询间隔、网络状况和外部时间源而异。
7 退出注册表编辑器。
8 在命令提示符处,键入以下命令以重新启动 Windows 时间服务,然后按 Enter: net stop w32time && net start w32time
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 里大多数这些字段被预规定的数据给赋初值。为完整起见,每个字段的功能在下面被简要总结。
1 闰秒标识器:这是一个二位码,预报当天最近的分钟里要被插入或删除的闰秒秒数。用1/0表示,分别说明如下:
LI Value 含 义
--------------------------------------------------------------------------------------00 0 无预告
01 1 最近一分钟有61秒
10 2 最近一分钟有59秒
11 3 警告状态(时钟未同步)
2 版本号:这是一个三bits的整数,表示NTP的版本号,现在为3。
3 模式:这是一个三bits的整数,表示模式,定义如下:
mode 含 义
0 保留
1 对称性激活
2 被动的对称性
3 客户端几
4 服务器
5 广播
6 为NTP控制性系保留
7 为自用保留
在点对点模式下,客户端机在请求中设置此字段为3,服务器在回答时设置此字段为4;在广播模式下,服务器在回答时设置此字段为5。
4 stratum(层):这是一个8bits的整数(无符号),表示本地时钟的层次水平,数值定义如下:
stratum 含 义
0 未指定或难以获得
1 主要参考(如无线电时钟钟)
2-15 第二参考(通过NTP/SNTP)
16-255 保留
5.测试间隔:八位signed integer,表示连续信息之间的最大间隔,精确到秒的平方及。本字段的值从4(16s)到14(16284s);然而,大多数应用使用6(64s)到10(1024s)。
6.精度:八位signed integer,表示本地时钟精度,精确到秒的平方级。值从-6(主平)到-20(微妙级时钟)。
7 根时延:32位带符号定点小数,表示在主参考源之间往返的总共时延,以小数位后15~16bits。数值根据相关的时间与频率可正可负,从负的几毫秒到正的几百毫秒。
8 根离散:32位带符号定点小数,表示在主参考源有关的名义错误,以小数位后15~16bits。范围:0~几百毫秒。
9 参考时钟标识符:32bits,用来标识特殊的参考源。在stratum 0(未指定)或stratum 1(基本参考)的情况下,该字段以四个八位字节,左对齐,零填充的string表示。当没有NTP枚举时,使用下列ASCII标识符:
阶层 代码 意思
----------------------------------------------------------------
1 pps 精度校准源,例如ATOM(原子钟),PPS代表(
每秒脉冲精度源),等等
1 service 除了一般的NTP报时服务外,例如ACTS
(计算机自动化报时服务),TIME(UDP/Time协议),
TSP(Unix 报时服务协议),DTSS
(数字化时间同步服务),等等
1 radio 一般的收音机服务,带有callsigns,例如CHU,
DCF77, MSF, TDF, WWV, WWVB, WWVH,等等
1 nav 无线电导航系统,例如OMEG(欧米加导航系统),
LORC(远距离无线电导航系统),等等
1 satellite 一般的卫星业务,例如GOES(地球同步轨道环境卫星),
GPS(全球卫星定位服务),等等
2 address 二级参考(4个八位二进制字节表示的NTP服务器因特网
地址)
--------------------------------------------------------------------------------
10 参考时间戳:64bits时间戳,本地时钟被修改的最新时间。
11 原始时间戳:客户端发送的时间,64bits。
12 接受时间戳:服务端接受到的时间,64bits。
13 传送时间戳:服务端送出应答的时间,64bits。
14 认证符(可选项):当NTP的认证机制已运行后,这个字段包含认证者的信息(参见RFC1305 中的附件C)。在SNTP中本字段一般被来报输入消息所忽略,也不用在输出消息中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)