日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
詳解NTPD具體工作原理

Network Time Protocol(NTP)是用來使計(jì)算機(jī)時(shí)間同步化的一種協(xié)議,它可以使計(jì)算機(jī)對其服務(wù)器或時(shí)鐘源(如石英鐘,GPS等等)做同步化,它可以提供高精準(zhǔn)度的時(shí)間校正(LAN上與標(biāo)準(zhǔn)間差小于1毫秒,WAN上幾十毫秒),下面為大家分享一下NTPD具體工作原理。

在清水等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),營銷型網(wǎng)站,成都外貿(mào)網(wǎng)站建設(shè),清水網(wǎng)站建設(shè)費(fèi)用合理。

img

NTP 工作原理

ntpd 進(jìn)程通過定期與NTP時(shí)鐘源服務(wù)器發(fā)送消息來獲取時(shí)間信息。在進(jìn)程初始啟動時(shí)候,不論是第一次boot還是隨后啟動,nptd 會給服務(wù)器發(fā)送消息以獲取時(shí)間本設(shè)置到本地系統(tǒng)。為了防止網(wǎng)絡(luò)風(fēng)暴,進(jìn)程啟動后會在定義好的間隔64秒之上再加一個(gè)隨機(jī)延遲值,這個(gè)隨機(jī)值的范圍是0~16秒;因此進(jìn)程啟動后需要數(shù)分鐘才會開始同步時(shí)間。

如今的計(jì)算機(jī)都帶有硬件時(shí)鐘芯片(time-of-year (TOY) chip),用于在計(jì)算機(jī)掉電過程中仍然保持正確時(shí)間,當(dāng)計(jì)算機(jī)上電,操作系統(tǒng)從時(shí)鐘芯片中獲取時(shí)間。當(dāng)操作系統(tǒng)啟動完成并連接到時(shí)鐘源之后,操作系統(tǒng)會依據(jù)時(shí)鐘源定時(shí)調(diào)整芯片時(shí)間。在服務(wù)器沒有硬件時(shí)鐘芯片或硬件時(shí)鐘芯片故障(CMOS電池沒電)或其他原因?qū)е虏僮飨到y(tǒng)本地時(shí)間與時(shí)鐘源時(shí)間差別超過1000秒,nptd認(rèn)為此時(shí)發(fā)生了嚴(yán)重問題,唯一可靠的處理方法是人為介入。這種情況下nptd Daemon進(jìn)程會退出并在操作系統(tǒng)的syslog中記錄一條日志。nptd 的啟動選項(xiàng) -g 選項(xiàng)可以忽略1000秒的檢查并強(qiáng)制將時(shí)鐘源時(shí)間設(shè)置為硬件時(shí)間,不過考慮到硬件時(shí)鐘芯片故障的場景(CMOS電池沒電、或時(shí)鐘計(jì)時(shí)器故障),一旦再次出現(xiàn)芯片時(shí)間與時(shí)鐘源超過1000秒,nptd還是會退出。

通常情況下,ntpd 以很小的步長調(diào)整時(shí)間使得時(shí)間盡量是連續(xù)的、不出現(xiàn)跳躍。在網(wǎng)絡(luò)極度擁塞的條件下,nptd 與時(shí)鐘源之間發(fā)送一個(gè)消息包來回的時(shí)延有可能達(dá)到3秒,因此會導(dǎo)致同步距離(半個(gè)來回時(shí)延,1.5秒)變的很大。ntpd 同步算法會丟棄時(shí)差大于128ms的包,除非在900秒內(nèi)沒有時(shí)差小于128ms的包,還有就是首次啟動時(shí)候不會檢查這個(gè)時(shí)差直接同步。這種設(shè)計(jì)是為了減少誤報(bào)時(shí)鐘同步異常的告警。

上述行為的結(jié)果是每次成功設(shè)置本地時(shí)間,一般不會超過128ms,即使在網(wǎng)絡(luò)時(shí)延很高的情況下。有時(shí)候,特別是在ntpd首次啟動的時(shí)候,時(shí)差可能超過128ms,這種罕見場景一般是本地時(shí)間比時(shí)鐘源的時(shí)間快(未來)超過128秒,這種情況本地時(shí)間將會被往過去方向調(diào)回。這種情況下某些應(yīng)用程序會有問題。如果啟動nptd時(shí)候加上了 -x 選項(xiàng),那么 nptd 不會以步長方式(stepped)同步,只會以微調(diào)校正方式(slew correction)同步。

使用 -x 選項(xiàng)之前需要仔細(xì)考量影響。 ntpd 微調(diào)校準(zhǔn)的最大頻率是 500 個(gè) PPM (parts-per-million)每秒,也就是每秒校準(zhǔn) 5/10,000 秒。因此會導(dǎo)致本地時(shí)間與時(shí)鐘源之間需要很長時(shí)間才能將時(shí)差同步到一個(gè)可接受的范圍,大概是2000秒同步一秒,對于依賴網(wǎng)絡(luò)時(shí)鐘源的應(yīng)用來說這種情況不可接受。

頻度規(guī)則

nptd 啟動時(shí)的行為依賴頻度文件是否存在,通常是 npt.drift 。這個(gè)文件包含了最近估算出的時(shí)鐘頻度誤差值。如果文件不存在,此時(shí) ntpd 進(jìn)入一種特殊模式會快速調(diào)整時(shí)間與頻度誤差值,這個(gè)快速大概好事15分鐘,隨后在時(shí)間與頻度誤差值正常后nptd進(jìn)入正常模式,時(shí)間與頻度持續(xù)與時(shí)鐘源同步。并在一個(gè)小時(shí)之后,將當(dāng)前的頻度誤差值寫入 npt.drift 文件。如果文件存在,nptd從此文件讀取頻度誤差值直接進(jìn)入正常模式,并沒隔一個(gè)小時(shí)將計(jì)算好的頻度誤差值寫入文件。

運(yùn)行模式

nptd 可以運(yùn)行在多種模式下,包括對稱的 主動、被動(active/passive),客戶端、服務(wù)端(client/server),廣播、多播(broadcast/multicase/manycase),詳細(xì)參考Association Management。通常運(yùn)行模式是以Daemon方式持續(xù)跟蹤同步時(shí)鐘源時(shí)間;當(dāng)然也可以只運(yùn)行一次,從外部時(shí)鐘源同步時(shí)間(從上次紀(jì)錄的頻度誤差文件中讀取頻度誤差值)。廣播與多播模式下客戶端能夠自動發(fā)現(xiàn)時(shí)鐘源服務(wù)器,并計(jì)算各個(gè)服務(wù)器的時(shí)延然后自動完成配置,這種模式使得工作站集群自動配置變?yōu)楝F(xiàn)實(shí)。

默認(rèn)情況下nptd以Daemon方式持續(xù)跟蹤多個(gè)時(shí)鐘源,同步的間隔由一個(gè)復(fù)雜的狀態(tài)機(jī)決定。狀態(tài)機(jī)使用啟發(fā)式算法,根據(jù)消息包來回時(shí)延、頻度誤差來計(jì)算最優(yōu)的同步間隔。通常情況下,狀態(tài)機(jī)初始以64秒為間隔并最終達(dá)到1024秒,少量的隨機(jī)數(shù)值會被增加到間隔上為了均衡服務(wù)器壓力。額外的,如果一個(gè)服務(wù)器不可達(dá)的情況下,為了減少網(wǎng)絡(luò)消息排隊(duì)阻塞,間隔會逐步增加到1024秒。

在某些情況下nptd不能正常持續(xù)運(yùn)行,通常的規(guī)避手段時(shí)使用cron定時(shí)任務(wù)執(zhí)行ntpdate命令。但是ntpdate并沒有像nptd一樣有考慮各種信號處理、錯(cuò)誤檢查、連續(xù)同步算法。nptd -q 可以達(dá)到與 ntpdate同樣的效果,-q 參數(shù)使得 npt同步一次后就退出;同步的過程與Daemon模式的nptd是相同的。

如果操作系統(tǒng)內(nèi)核支持調(diào)整時(shí)鐘頻度(Solaris,Linux,F(xiàn)reeBSD都已經(jīng)支持),那么時(shí)鐘同步還有一種不以Daemon方式運(yùn)行的可選用法。首先,nptd以Daemon方式運(yùn)行,配置好時(shí)鐘源,大約一個(gè)或幾個(gè)小時(shí)后,獲取到頻度誤差npt.drift 文件;然后退出nptd進(jìn)程,并以一次性模式運(yùn)行(nptd -q),此時(shí)每次nptd運(yùn)行都基于當(dāng)前獲取到的頻度誤差與時(shí)鐘源同步時(shí)間。

同步間隔控制

當(dāng)前版本的NTP包含了一個(gè)復(fù)雜的狀態(tài)機(jī),用于減少同步時(shí)的網(wǎng)絡(luò)負(fù)載;同時(shí)也包含很多種提升精度的方法。使用者在修改同步間隔(64秒~1024秒)的時(shí)候需要仔細(xì)考慮影響。默認(rèn)的最小同步間隔可以使用 tinker minpool 命令修改為不小于16秒,這個(gè)值會被用作所有相關(guān)的使用到同步間隔的地方,除非顯示使用minpoll 選項(xiàng)覆蓋。需要注意的是不少設(shè)備驅(qū)動在同步間隔小于64秒時(shí)候不能正常工作;同時(shí)廣播與多播模式也是使用的默認(rèn)值,除非顯示覆蓋。

NPTD語法

ntpd [ -aAbdgLmNPqx ] [ -c conffile ] [ -f driftfile ] [ -g ] [ -k keyfile ] [ -l logfile ] [ -N high ] [ -p pidfile ] [ -r broadcastdelay ] [ -s statsdir ] [ -t key ] [ -v variable ] [ -V variable ] [ -x ]

命令行參數(shù)

-a

“md_block md_has_block_below md_has_block_below_ul”>啟動認(rèn)證(默認(rèn)啟用)– -A禁用認(rèn)證

-b

使用NTP廣播消息同步– -c conffile指定配置文件名稱

-d

啟用調(diào)試模式– -D level指定調(diào)試級別

-f driftfile

指定頻度誤差文件的路徑– -g正常情況下,ntpd 與時(shí)鐘源的時(shí)間差超過1000秒的閾值會退出,如果閾值設(shè)置為0,則ntpd 不會檢查,任何時(shí)差都會強(qiáng)制同步。-g 選項(xiàng)就是用于設(shè)置閾值為0;但是只是一次生效,如果ntpd 運(yùn)行過程中發(fā)現(xiàn)時(shí)差超過1000秒,還是會退出。

-k keyfile

指定NTP認(rèn)證key文件的路徑– -l logfile指定日志文件路徑,默認(rèn)是操作系統(tǒng)日志

-L

listen在虛擬IP上– -m使用NTP多播消息在多播地址224.0.1.1上同步(需要內(nèi)核支持)

-n

不fork進(jìn)程– -N priority指定優(yōu)先級運(yùn)行ntpd進(jìn)程

-p

指定ntpd的pid文件– -P覆蓋操作系統(tǒng)的優(yōu)先級限制

-q

僅同步一次后退出– -r broadcastdelay指定默認(rèn)的廣播、多播延遲時(shí)間

-s statsdir

指定統(tǒng)計(jì)工具生成的文件所在目錄– -t key增加key到信任的key列表

-v, -V

增加系統(tǒng)變量– -x默認(rèn)情況下,ntpd在時(shí)差小于128ms時(shí)候使用微調(diào)模式,在大于128ms時(shí)候使用步長模式。-x 選項(xiàng)強(qiáng)制nptd僅使用微調(diào)模式同步。如果步長閾值(128ms)設(shè)置為0,則強(qiáng)制使用步長模式,-x也不生效。不是很推薦使用此選項(xiàng),會導(dǎo)致時(shí)間同步變的非常緩慢,對強(qiáng)依賴網(wǎng)絡(luò)時(shí)鐘的應(yīng)用有影響。微調(diào)模式的同步速率是0.5ms/s,需要2000s才同步1秒。


標(biāo)題名稱:詳解NTPD具體工作原理
文章地址:http://www.5511xx.com/article/dpihesj.html