【黑科技】GPS北斗卫星授时技术下的NTP网络时间服务器
【黑科技】GPS北斗卫星授时技术下的NTP网络时间服务器
京准电子科技官微——ahjzsz
计算机网络时间同步
摘要:保持生产环境中全网计算机时间的同步是一件很重要且必须的事情,至少在我们的网络环境中就是这样。我们的网络由一个域和一个工作组组成,域主要是财务系统,而工作组是另一个管理系统,它们都要求计算机时间的一致性,大家都知道,在一个域中计算机时间都是自动同步的,但工作组却没那么简单。
保持生产环境中全网计算机时间的同步是一件很重要且必须的事情,至少在我们的网络环境中就是这样。我们的网络由一个域和一个工作组组成,域主要是财务系统,而工作组是另一个管理系统,它们都要求计算机时间的一致性,大家都知道,在一个域中计算机时间都是自动同步的,但工作组却没那么简单。
经过讨论,我们最后一致认为全网的计算机时间应该以工作组中的UNIX/MIS服务器为准,于是整个网络的时间同步要求就应该如图1所示,即域的PDC与UNIX/MIS服务器同步,然后域成员与域DC同步(这里DC与PDC是一台服务器),而工作组内的计算机则直接与UNIX/MIS服务器同步,下面就来看看怎样实现上述要求。

网络时间同步的相关背景知识
在网络中同步时间通常使用以下的两种协议中的一种:
◆1. SNTP,simple network time protocol,简单网络时间协议
◆2. 时间协议(Time Protocol)
SNTP是现在应用较多的一种网络时间协议, windows域内的时间同步就是使用的这种协议,那windows域内时间同步的层次是怎样的呢?森林中根域的PDC是整个森林的时间源,然后根域中其他DC和子域的PDC就与这个根PDC进行时间同步,再然后域成员就与自己域中的DC进行时间同步,也就是说DC与PDC进行时间同步,域成员与DC进行时间同步,当系统启动时将进行一次同步,后面每45分钟再进行周期性同步,使用UDP123端口进行通讯。
对于第二种时间协议(Time Protocol),这种方法虽然并不流行了,但在一定情况下还是很有用的,Time Protocol服务器在TCP/UDP 37端口上进行监听,它并不像上面一样给出特定时间,而是给出从1900年1月1日午夜到现在的秒数,由于时间是由32位表示,所以这种协议只能使用到2036年。
在这里我们将结合使用这两种协议。
具体步骤
◆1.实现PDC/DC与UNIX/MIS服务器的时间同步
由于这里MIS不是一台SNTP服务器,而且也不便将其配置成一台SNTP服务器,但发现其在监听37端口,可以判定它是一台Time Protocol服务器(Unix系统通常都是),于是可以在客户机上安装这种协议的客户端软件与其同步,于是在网上搜索到这样一种时间同步程序,名为NTPclock,既支持SNTP也支持Time Protocol,它是台湾海洋大学开发的,所以有些术语可能与我们常用的有所不同,不过这并不妨碍我们理解。NTPclock不需安装,为了让它随计算机一起启动,请把它放在启动菜单中。
首先双击运行它,它会在桌面显示一个浮动窗口,并显示当前系统时间,为了完成时间同步,右击此浮动窗口,然后选择“网络较时设定”项,弹出如图2 的窗口,

在“校时通讯协定”栏选择“Time/TCP”或“Time/UDP”,也就是使用Time Protocol,在“时间伺服器位址”栏填入MIS服务器的IP,然后点击下方的“立即查询主机时间”按钮,如果同步成功,你将会看到系统时间的改变,并且下方的 “时间校正讯息”栏也有相应信息提示。其他项保持默认设置,比如周期性的同步和同步后自动调整时间等,然后点击“结束设定”按钮退出配置。
◆2. 像上面一样同理在工作组内的客户机上进行相同的设置,使得工作组内的客户机与MIS服务器进行时间同步。
◆3. 域内的时间同步
Win2k/xp/2003域成员有个w32time时间服务,它会自动与域DC进行时间同步,无需人为干涉,保持域内时间的同步是kerberos认证协议的一个基本要求,也是为了防止重放攻击的一种手段,如果域成员客户机与DC的时间相差太大的话,它的登录将不能成功,这时你可以手动调整系统时间,通常情况下,只要通讯无阻碍,域成员将自动与DC保持时间同步,所以在这里我们无需进一步的设置,当然如果通讯要通过防火墙时,请记得打开外出的UDP123端口。
我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..
最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru
在Rails4.0.2中,我使用s3_direct_upload和aws-sdkgems直接为s3存储桶上传文件。在开发环境中它工作正常,但在生产环境中它会抛出如下错误,ActionView::Template::Error(noimplicitconversionofnilintoString)在View中,create_cv_url,:id=>"s3_uploader",:key=>"cv_uploads/{unique_id}/${filename}",:key_starts_with=>"cv_uploads/",:callback_param=>"cv[direct_uplo
我需要检查DateTime是否采用有效的ISO8601格式。喜欢:#iso8601?我检查了ruby是否有特定方法,但没有找到。目前我正在使用date.iso8601==date来检查这个。有什么好的方法吗?编辑解释我的环境,并改变问题的范围。因此,我的项目将使用jsapiFullCalendar,这就是我需要iso8601字符串格式的原因。我想知道更好或正确的方法是什么,以正确的格式将日期保存在数据库中,或者让ActiveRecord完成它们的工作并在我需要时间信息时对其进行操作。 最佳答案 我不太明白你的问题。我假设您想检查
这个问题在这里已经有了答案:Railsformattingdate(4个答案)关闭4年前。我想格式化Time.Now函数以显示YYYY-MM-DDHH:MM:SS而不是:“2018-03-0909:47:19+0000”该函数需要放在时间中.现在功能。require‘roo’require‘roo-xls’require‘byebug’file_name=ARGV.first||“Template.xlsx”excel_file=Roo::Spreadsheet.open(“./#{file_name}“,extension::xlsx)xml=Nokogiri::XML::Build
我正在尝试解析一个CSV文件并使用SQL命令自动为其创建一个表。CSV中的第一行给出了列标题。但我需要推断每个列的类型。Ruby中是否有任何函数可以找到每个字段中内容的类型。例如,CSV行:"12012","Test","1233.22","12:21:22","10/10/2009"应该产生像这样的类型['integer','string','float','time','date']谢谢! 最佳答案 require'time'defto_something(str)if(num=Integer(str)rescueFloat(s
您如何在Rails中的实时服务器上进行有效调试,无论是在测试版/生产服务器上?我试过直接在服务器上修改文件,然后重启应用,但是修改好像没有生效,或者需要很长时间(缓存?)我也试过在本地做“脚本/服务器生产”,但是那很慢另一种选择是编码和部署,但效率很低。有人对他们如何有效地做到这一点有任何见解吗? 最佳答案 我会回答你的问题,即使我不同意这种热修补服务器代码的方式:)首先,你真的确定你已经重启了服务器吗?您可以通过跟踪日志文件来检查它。您更改的代码显示的View可能会被缓存。缓存页面位于tmp/cache文件夹下。您可以尝试手动删除
?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------
MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO
我正在尝试查询我的Rails数据库(Postgres)中的购买表,我想查询时间范围。例如,我想知道在所有日期的下午2点到3点之间进行了多少次购买。此表中有一个created_at列,但我不知道如何在不搜索特定日期的情况下完成此操作。我试过:Purchases.where("created_atBETWEEN?and?",Time.now-1.hour,Time.now)但这最终只会搜索今天与那些时间的日期。 最佳答案 您需要使用PostgreSQL'sdate_part/extractfunction从created_at中提取小时