網絡時間協議介紹以及伺服器同步網絡時間

2021-02-13 MySQL從刪庫到跑路
NTP介紹

網絡時間協議(英語:Network Time Protocol,縮寫:NTP)是在數據網絡潛伏時間可變的計算機系統之間通過分組交換進行時鐘同步的一個網絡協議,位於OSI模型的應用層。自1985年以來,NTP是目前仍在使用的最古老的網際網路協議之一。NTP由德拉瓦大學的David L. Mills設計。
NTP意圖將所有參與計算機的協調世界時(UTC)時間同步到幾毫秒的誤差內。它使用Marzullo算法的修改版來選擇準確的時間伺服器,其設計旨在減輕可變網絡延遲造成的影響。NTP通常可以在公共網際網路保持幾十毫秒的誤差,並且在理想的區域網環境中可以實現超過1毫秒的精度。不對稱路由和擁塞控制可能導致100毫秒(或更高)的錯誤。
該協議通常描述為一種主從式架構,但它也可以用在點對點網絡中,對等體雙方可將另一端認定為潛在的時間源。發送和接收時間戳採用用戶數據報協議(UDP)的埠123實現。這也可以使用廣播或多播,其中的客戶端在最初的往返校準交換後被動地監聽時間更新。NTP提供一個即將到來閏秒調整的警告,但不會傳輸有關本地時區或夏時制的信息。
當前協議為版本4(NTPv4),這是一個RFC 5905文檔中的建議標準。它向下兼容指定於RFC 1305的版本3。

ntp組件是Linux平臺ntp協議的軟體實現,部分Linux作業系統默認安裝了ntp組件,如果沒有先安裝ntp,才能使用該協議完成時間同步。

伺服器可訪問網際網路時的時間同步方法已配置DNS

伺服器能訪問外網並且配置了DNS,直接

ntpdate 0.cn.pool.ntp.org 或 nptdate ntp1.aliyun.com

就可以同步外網時間。

未配置DNS

部分伺服器出於安全考慮,雖然通外網,但沒有配置DNS,這時需要直接從時間伺服器的ip地址同步時間。可以使用阿里雲(ntp1.aliyun.com)的時間伺服器ip直接同步,

ntpdate 120.24.81.91  或者 清華的時間伺服器ntpdate 84.16.73.33

伺服器不能訪問網際網路的時間同步方法

假設區域網有一臺伺服器(ip地址是IP_TIME)時間是正確的,將這臺伺服器配置為區域網ntp時間伺服器,其它伺服器執行

ntpdate IP_TIME

這樣,至少所有伺服器就和這臺的時間同步了,這臺是否需要和網絡時間同步要看功能要求。確實需要的話,這臺必須可以訪問網際網路,按上面描述同步到網絡時間,其餘可保持不能訪問網際網路的狀態。

舉個例子

假設A B兩臺Linux伺服器,要將兩臺都同步到網絡時間。
A是開通了外網的,雖然沒配置DNS伺服器,但能ping通120.24.81.91(阿里雲時間伺服器)。可以直接同步時間。
B沒開通外網,ping 120.24.81.91會報connect: Network is unreachable,這種肯定無法從外網伺服器同步時間。執行ntpdate 120.24.81.91,會報no server suitable for synchronization found,或者no servers can be used, exiting。

解決辦法統共分三步,A和B的防火牆都關閉,整個過程用root帳號操作。

A同步網絡時間

伺服器第一次同步時間顯示如下

[root@localhost ~]# ntpdate 120.24.81.91
10 Aug 09:46:07 ntpdate[15071]: step time server 120.24.81.91 offset 1.423469 sec

第2-n次顯示如下

[root@localhost ~]# ntpdate 120.24.81.91
10 Aug 14:16:14 ntpdate[12150]: adjust time server 120.24.81.91 offset -0.030012 sec

每執行一次,offset後面的誤差都會變化,趨勢是越來越準確。

把A配置為NTP server

配置A為NTP server,首先修改配置文件/etc/ntp.conf。怎麼修改往下看。
修改完成執行如下cat指令,除了192.168.2.0改成你自己區域網的網段,其餘要求必須和下面一樣,有比下面多出的語句就注釋掉,沒有的語句就加上。如果恰好和下面一樣,192位置也是你的區域網網段,那就什麼都不用改。

#cat /etc/ntp.conf |awk '{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}'  

restrict default ignore                                //#設置默認策略為允許任何主機進行時間同步
restrict 127.0.0.1                                         //給於本機所有權限
restrict 192.168.2.0 mask 255.255.255.0 nomodify notrap     //給於區域網機的機器有同步時間的權限
server 0.127.127.1.0               //設置時間伺服器為本機,可以設為120.24.81.91外網伺服器
server  127.127.1.0  # local clock
fudge  127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift
broadcastdelay  0.008
keys    /etc/ntp/keys

然後執行

# /etc/init.d/ntpd start 或 #service ntpd start

會顯示OK,表示成功,本機已經是NTP server了。

如果配置文件反覆修改,執行

# /etc/init.d/ntpd restart

重新加載配置文件。

B和A同步時間

A啟動NTP server服務後,要等待5分鐘,才能在B上執行同步時間指令,這個時間是給NTP server同步本機時間用的。5分鐘後在B上執行

[root@DB1 ~]# ntpdate AIP (AIP是A的內網IP位址)
10 Aug 13:35:59 ntpdate[10737]: adjust time server AIP offset 0.004937 sec

,就可以同步A的系統時間到B,也相當於同步了外網時間。

如果A啟動NTP server後,不等5分鐘,馬上在B上同步時間會怎麼樣?

由於NTP server本身時間還沒和作業系統同步好,會返回錯誤

no server suitable for synchronization found

可以使用ntpdate –d AIP指令查看。

[root@DB1 ~]# ntpdate -d AIP
10 Aug 13:28:07 ntpdate[10719]: ntpdate 4.2.0a@1.1190-r Thu Oct  5 04:11:32 EDT 2006 (1)
Looking for host 192.168.2.10 and service ntp
host found : 192.168.2.10
transmit(192.168.2.10)
receive(192.168.2.10)
省略
192.168.2.10: Server dropped: strata too high
server 192.168.2.10, port 123
stratum 16, precision -20, leap 11, trust 000
refid [192.168.2.10], delay 0.02573, dispersion 0.00000
省略  

有「Server dropped: strata too high」的提示,並且「stratum 16」。
stratum的正常範圍是「0~15」。
什麼都不用做,等一段時間再執行指令試試,就會變成stratum 11, precision -20, leap 00, trust 000。stratum 11是正常範圍,此時執行ntpdate AIP就成功同步時間了。

B伺服器要始終和A保持一致怎麼辦?

B需要頻繁校正時間的話,crontab配置ntpdate指令可以達到目的。

crontab -e  
9 7 * * * /usr/sbin/ntpdate  AIP

作業系統時間同步到硬體時間也都可以根據需要設定crontab。硬體時間保持和作業系統時間一致的好處是可以避免重啟伺服器後硬體時間覆蓋系統時間導致誤差。

A可以一邊從外網同步時間,一邊作為區域網的NTP server嗎?

經測試,ntpd服務運行時,無法執行ntpdate指令。要頻繁同步網絡時間,還要作為區域網的NTP server給其它伺服器同步時間,A上的crontab定時任務要按照如下順序執行

1. ntpdate 外網時間伺服器ip
2. service ntpd start
3. 間隔一段可接受的時間,間隔約長,和網絡時間的誤差越大。
   此時B可同步到A的時間
4. service ntpd stop
下面循環回第一步
1. ntpdate 外網時間伺服器ip

相關焦點

  • 網絡同步時鐘系統讓所有終端時間精準一致
    目前,在國內,網絡同步時鐘系統因LED數字顯示效用直接有效,所以大多運用在城市的主要營業場所,以及車站、碼頭等公共場所。在對公共場所的電子鐘設定的時候,使用者還可根據周邊的氣候、溫度等對LED屏進行設置。同時,因為LED的顯示耗電量很省,所以能夠保持持續的工作效果。
  • 時間同步伺服器配置
    網絡中心提供的網絡時間服務,使得各種網絡設備、伺服器、個人計算機等可以通過網絡時間伺服器校正它們自己的時間。用戶可使用任何支持NTP或SNTP(Simple Network Time Protocol)的客戶端進行時間同步。時間伺服器的地址是:time.jmu.edu.cn。
  • 北鬥GPS雙模NTP時間伺服器如何對接同步時鐘系統
    、多平臺多系統支持、故障報警等功能,為網絡設備(用戶)提供精確、標準、安全、可靠和多功能的同步時間服務。一、GPS北鬥時間伺服器組網方式介紹1、同步時鐘系統中電子鐘可通過連接「區域網時間伺服器」、「網際網路時間伺服器」自動校時,多用於醫院、車站、行政單位。
  • NTP 4.2.8 發布,網絡時間協議 - OSCHINA - 中文開源技術交流社區
    網絡時間協議(Network Time Protocol,NTP)是以交換封包把兩臺電腦的時鐘同步化的網絡協議。NTP使用udp123作為埠。     NTP是仍在使用中的最古老的網絡協議之一(在1985前開始),是使用最廣泛的時間同步協議。NTP最初由德拉瓦州大學的Dave Mills設計,他與一群志願者仍在維護NTP。
  • 銀行基準時鐘系統時間同步方案
    因此,建立國產化時鐘同步系統,實現系統的信息設備國產化、核心技術自主化勢在必行。1、 銀行基準時鐘系統設計網絡時鐘同步協議(Network Time Protocol,NTP)是目前國際網際網路通用的時間服務協議。
  • 時間敏感網絡白皮書
    傳統乙太網已經不能滿足越來越多的數據和廣泛分布的網絡需求,時間敏感網絡(TSN)技術應運而生。時間敏感網絡以傳統乙太網為網絡基礎,通過時鐘同步、數據調度、網絡配置等機制,提供確定性數據傳輸能力。2.2 TSN 核心機制TSN 協議族包含了時鐘同步、流量整形、數據調度、網絡配置、應用配置等方面的標準。在本節中,將介紹時鐘同步、數據調度、網絡配置等 TSN 核心技術。
  • linux ntp時間伺服器配置
    學習的時候也順便複習了一下如何設置Linux的時間,現在拿出來和大家分享:設置NTP伺服器不難但是NTP本身是一個很複雜的協議. 這裡只是簡要地介紹一下實踐方法和上次一樣,下面的實驗都在RHEL5上運行 1. 時間和時區如果有人問你說現在幾點? 你看了看表回答他說晚上8點了.
  • 音視頻網絡傳輸協議有哪些,RTSP/RTMP/SRT/NDI的介紹
    打開APP 音視頻網絡傳輸協議有哪些,RTSP/RTMP/SRT/NDI的介紹 KILOVIEW千視 發表於 2019-12-19 11:19:00
  • Python學習第149課——常見的網際網路埠、協議以及Linux系統伺服器
    現在我們先了解Common Network Ports,即通用網絡埠。我們先了解一些網際網路常見的網絡埠號碼(英文是Port Number)、協議(應為是Protocol)、以及伺服器應用(Server Application)。
  • Linux雲伺服器配置自動時間同步
    時間同步命令:ntpdata time.windows.com自動時間同步:需要配置/etc/crontab文件,實現自動執行任務讓linux從time.windows.com自動同步時間vi /etc/crontab
  • 幾個常用網絡協議的簡單說明
    網絡協議的五花八門,讓我們初學者總是有些不知所措。那麼接下來我們就簡單介紹一下常用的幾個網絡協議。那麼就讓我們看看這些常用網絡協議的一些概念,功能以及作用吧。
  • 與郵件有關的Exchange ActiveSync® & SyncML行動裝置同步協議...
    【中國郵箱網 電子郵件頻道】1月22日消息,本月來自國外科技博客報導,微軟對谷歌移除Gmail ActiveSync的計劃感到驚訝以及失望。微軟公司指出,谷歌的這一計劃將會影響到Windows Phone新用戶的個人Gmail通訊錄以及日曆同步的使用。
  • 網絡中的計算機互相通信網絡分層和各層協議
    網絡中的計算機互相通信網絡分層和各層協議 Learning hard 發表於 2020-10-23 13:58:52 因為這段時間都在研究C#網絡編程的一些知識,
  • 淺談物理引擎的網絡同步方案!
    0x02 狀態同步初探說起網絡同步,自然會想起經典的各種幀同步與狀態同步。我們先來說狀態同步,狀態同步的思想是客戶端將輸入上傳到伺服器,由伺服器計算出結果,再將狀態廣播給所有客戶端,客戶端使用獲得的狀態在本地更新渲染數據。
  • 北京天良數字網絡時鐘系統
    3、系統採用網絡時間同步技術:網絡時間同步技術是基於NTP/SNTP標準的低功耗網絡時間協議,根據這個協議規定的技術是一種長距離、低功耗的區域網路通信技術。即在母鍾(校時器)系統傳輸同步信號的狀態下,區域內眾多子鍾(顯示器)對該信號進行同步接收,通過網絡方式的通信及處理,使各子鍾顯示完全一致的時間,從根本上解決了辦公大樓內各個時間不同步的現狀。各在線設備直接接收機房中心母鍾時間同步系統信號且能自動消除累計誤差。所有的網絡數字子鍾、管理計算機、時鐘網管監控系統、其它弱電系統均通過網絡獲取標準時間。
  • 網盾極風雲BGP:HTTP網絡傳輸協議
    百度百科的名詞解釋如下:HTTP是網際網路上應用最為廣泛的一種網絡協議,是一個客戶端和伺服器端請求和應答的標準(TCP),用於從WWW伺服器傳輸超文本到本地瀏覽器的傳輸協議。一句話概括,就是一個在計算機裡專門在兩點之間傳輸各種文字、圖片、視頻、音頻等超文本數據的規範。
  • 安卓手機時間變慢?小米人士:運營商同步錯誤時間導致
    從10月12日傍晚到10月13日上午,微博上多位網友反映自己的安卓手機時間慢了十多分鐘。在微博話題「安卓手機時間慢10多分鐘」、「安卓手機時間不準」話題下,討論數超過700條。 10月12日晚,有網友就已經發現了安卓時間手機不準的問題,並曬出了不同手機的時間對比。
  • overlay網絡與underlay網絡的介紹區別
    打開APP overlay網絡與underlay網絡的介紹區別 發表於 2017-12-05 17:35:37 Overlay 技術是在現有的物理網絡之上構建一個虛擬網絡,上層應用只與虛擬網絡相關。   Overlay網絡組成:   邊緣設備:是指與虛擬機直接相連的設備   控制平面:主要負責虛擬隧道的建立維護以及主機可達性信息的通告   轉發平面:承載 Overlay 報文的物理網絡
  • 網絡七層協議詳解
    網絡七層協議物理層定義物理設備標準,如網線的接口類型,光纖的接口類型,各種傳輸介質的傳輸速率等。網絡層通過IP進行域名尋址。IP協議負責把數據從一臺計算機通過網絡發送到另一臺計算機。數據被分割為多個小塊,然後通過IP包發送出去。IP包的特點是按塊發送,會經過多個路由,但不保證能送達,也不保證順序送達。
  • 安徽京準NTP數字網絡時鐘系統
    3、系統採用網絡時間同步技術:網絡時間同步技術是基於NTP/SNTP標準的低功耗網絡時間協議,根據這個協議規定的技術是一種長距離、低功耗的區域網路通信技術。即在母鍾(校時器)系統傳輸同步信號的狀態下,區域內眾多子鍾(顯示器)對該信號進行同步接收,通過網絡方式的通信及處理,使各子鍾顯示完全一致的時間,從根本上解決了辦公大樓內各個時間不同步的現狀。各在線設備直接接收機房中心母鍾時間同步系統信號且能自動消除累計誤差。所有的網絡數字子鍾、管理計算機、時鐘網管監控系統、其它弱電系統均通過網絡獲取標準時間。