ฉันสังเกตเห็นว่าบนเซิร์ฟเวอร์ของฉันและเครื่องอื่น ๆ นาฬิกาจะลอยอยู่เสมอดังนั้นมันจึงต้องทำการซิงค์ให้แม่นยำ
นาฬิกาเซิร์ฟเวอร์ NTP ทำไม่ดริฟท์และยังคงถูกต้องอยู่เสมอ
ฉันสังเกตเห็นว่าบนเซิร์ฟเวอร์ของฉันและเครื่องอื่น ๆ นาฬิกาจะลอยอยู่เสมอดังนั้นมันจึงต้องทำการซิงค์ให้แม่นยำ
นาฬิกาเซิร์ฟเวอร์ NTP ทำไม่ดริฟท์และยังคงถูกต้องอยู่เสมอ
คำตอบ:
เซิร์ฟเวอร์ NTP ใช้นาฬิกาที่มีความแม่นยำสูง แหล่งเวลาทั่วไปสำหรับเซิร์ฟเวอร์ NTP กลางคือนาฬิกาอะตอมหรือตัวรับสัญญาณ GPS (โปรดจำไว้ว่าดาวเทียม GPS มีนาฬิกาอะตอมมิกออนบอร์ดอยู่) นาฬิกาเหล่านี้มีความแม่นยำเนื่องจากให้การอ้างอิงเวลาที่แม่นยำสูง ไม่มีอะไรน่าอัศจรรย์เกี่ยวกับ GPS หรือนาฬิกาอะตอมที่บอกให้คุณรู้ว่าเวลาเท่าไหร่ เพราะนาฬิกาอะตอมทำงานได้ดีมากเมื่อได้รับการบอกว่าเวลามันคืออะไรให้บอกเวลาที่แม่นยำ (ตั้งแต่วินาทีที่ถูกกำหนดในแง่ของผลกระทบของอะตอม ) ในความเป็นจริงมันเป็นที่น่าสังเกตว่าเวลา GPS แตกต่างจาก UTCที่เราคุ้นเคยมากขึ้นในการดู นาฬิกาอะตอมเหล่านี้จะถูกซิงโครไนซ์เวลาปรมาณูระหว่างประเทศหรือ TAIเพื่อไม่เพียง แต่บอกเวลาที่ถูกต้อง แต่ยังบอกเวลาด้วย
เมื่อคุณมีเวลาที่แน่นอนในระบบเดียวที่เชื่อมต่อกับเครือข่ายเช่นอินเทอร์เน็ตมันเป็นเรื่องของวิศวกรรมโพรโทคอลที่ทำให้สามารถถ่ายโอนเวลาที่แม่นยำระหว่างโฮสต์ผ่านเครือข่ายที่ไม่น่าเชื่อถือ ในเรื่องนี้ stratum 2 (หรือไกลจากแหล่งเวลาจริง) เซิร์ฟเวอร์ NTP ไม่แตกต่างจากระบบเดสก์ท็อปของคุณที่ซิงค์กับชุดของเซิร์ฟเวอร์ NTP
ตามเวลาที่คุณมีเวลาที่ถูกต้องไม่กี่ครั้ง (ตามที่ได้รับจากเซิร์ฟเวอร์ NTP หรือที่อื่น ๆ ) และทราบอัตราความก้าวหน้าของนาฬิกาท้องถิ่นของคุณ (ซึ่งง่ายต่อการตรวจสอบ) คุณสามารถคำนวณอัตราดริฟท์ของนาฬิกาในประเทศของคุณ กาลเวลา เมื่อล็อคเข้าแล้วค่านี้สามารถใช้เพื่อปรับนาฬิกาท้องถิ่นอย่างต่อเนื่องเพื่อให้รายงานค่าใกล้เคียงกับเวลาที่ถูกต้องแม้ว่านาฬิกาเรียลไทม์ท้องถิ่นจะไม่แม่นยำอย่างมากก็ตาม ตราบใดที่นาฬิกาท้องถิ่นของคุณไม่ทำงานผิดปกติอย่างมากสิ่งนี้จะช่วยให้รักษาเวลาได้อย่างแม่นยำแม้ว่าบางครั้งแหล่งที่มาเวลาอัปสตรีมของคุณจะไม่สามารถใช้งานได้ไม่ว่าด้วยเหตุผลใดก็ตาม การปรับใช้ไคลเอนต์ NTP บางอย่าง (อาจเป็นntpd
daemon ส่วนใหญ่หรือการใช้งานบริการระบบ) ทำสิ่งนี้และอื่น ๆ (เช่นคู่หูของ ntpdntpdate
ซึ่งเพียงแค่ตั้งค่านาฬิกาหนึ่งครั้ง) ทำไม่ได้ โดยทั่วไปจะเรียกว่าไฟล์ดริฟท์เพราะมันเก็บการวัดดริฟท์ของนาฬิกาอย่างต่อเนื่อง แต่การพูดอย่างเคร่งครัดไม่จำเป็นต้องเก็บเป็นไฟล์เฉพาะบนดิสก์
ใน NTP, stratum 0 เป็นนิยามแหล่งเวลาที่แม่นยำ Stratum 1 เป็นระบบที่ใช้แหล่งเวลา Stratum 0 เป็นแหล่งเวลา (และจึงมีความแม่นยำน้อยกว่าแหล่งเวลา Stratum 0 เล็กน้อย) Stratum 2 อีกครั้งมีความแม่นยำน้อยกว่า stratum 1 เนื่องจากซิงค์เวลากับแหล่ง Stratum 1 และอื่น ๆ ในทางปฏิบัติการสูญเสียความแม่นยำนี้มีน้อยมากจนแทบไม่มีเลย แต่ในกรณีส่วนใหญ่
ในการจับเวลาด้วยเครือข่ายข้อมูลจำเพาะที่บอกคุณว่าเซิร์ฟเวอร์ได้รับแหล่งเวลานั้นเรียกว่าระดับ Stratum อย่างไร ยิ่งระดับต่ำลงเท่าใดเวลาในการรักษาเซิร์ฟเวอร์ก็จะยิ่งดีขึ้นเท่านั้น
อุปกรณ์ชั้น Stratum ระดับ 0 ไม่ได้เชื่อมต่อกับเครือข่ายโดยตรง เป็นอุปกรณ์บอกเวลาจริงและต้องเชื่อมต่อกับคอมพิวเตอร์เพื่อให้ได้เวลาตามจริง คอมพิวเตอร์เครื่องนี้กลายเป็นเซิร์ฟเวอร์ Stratum ระดับ 1 NTP
คอมพิวเตอร์ที่เชื่อมต่อกับ Stratum ระดับ 1 ก็สามารถกลายเป็นเซิร์ฟเวอร์เวลาได้ แต่มันก็จะเป็นระดับที่ 2 เมื่อคอมพิวเตอร์เชื่อมต่อกับเซิร์ฟเวอร์เวลายิ่งระดับของคุณลดลง
อุปกรณ์ชั้น Stratum ระดับ 0 ประกอบด้วยนาฬิกาอะตอมที่มีส่วนร่วมในTAIหรือทำข้อมูลให้ตรงกันกับมันและรับสัญญาณเวลาที่ส่งมาจากนาฬิกาดังกล่าว ส่วนใหญ่เป็นตัวรับสัญญาณบอกเวลา GPS ที่มีอินเตอร์เฟสที่เหมาะสมซึ่งรวมถึงสัญญาณ GPS PPS สัญญาณ PPS เมื่อ GPS มีการล็อคที่ดีสำหรับดาวเทียมหลายดวงส่งพัลส์หนึ่งครั้งต่อวินาทีและขอบนำของพัลส์นั้นอยู่ในระยะนาโนวินาทีของการเริ่มต้นที่แท้จริงของวินาทีนั้น ขึ้นอยู่กับข้อมูลจำเพาะของตัวรับสัญญาณ GPS สัญญาณ PPS อาจมีความแม่นยำมากขึ้นหรือน้อยลง เนื่องจากดาวเทียม GPS แต่ละเครื่องมีนาฬิกาอะตอม เมื่อตัวรับสัญญาณ GPS พบตำแหน่งของตัวเองและตำแหน่งของดาวเทียม GPS ที่กำลังฟังอยู่ก็สามารถแก้ไขการแพร่กระจายคลื่นความถี่วิทยุและให้เวลาที่แม่นยำเกือบเท่ากับการมีนาฬิกาอะตอมที่ตัวรับสัญญาณ GPS
ดังนั้นเซิร์ฟเวอร์ Stratum ระดับ 1 จึงเชื่อมต่อกับนาฬิกาอะตอมมิกหรือตัวรับสัญญาณ GPS และเซิร์ฟเวอร์ NTP จะเชื่อมต่อกับพวกเขา แม้แต่การเชื่อมต่อกับเซิร์ฟเวอร์ระดับ 2 หรือ 3 ที่มีการปรับเปลี่ยนบ่อยครั้งจะช่วยให้คอมพิวเตอร์ของคุณมีความแม่นยำในการจับเวลาในหน่วยนาโนวินาที แต่ถ้าคุณต้องการเวลาที่ดีกว่าให้เชื่อมต่อกับเซิร์ฟเวอร์ระดับ stratum ระดับหนึ่งหรือซื้อเครื่องรับสัญญาณบอกเวลา GPS ที่เหมาะสมและกลายเป็นระดับชั้นที่หนึ่งมาด้วยตัวคุณเอง
นาฬิกาทุกเรือนลอยไปในระดับหนึ่งขึ้นอยู่กับแหล่งที่มาของสัญญาณจับเวลาและการติดตามที่ดีเพียงใด ในพีซีนี่คือ HPET ในทุกวันนี้ แต่พีซีสามารถติดตามจำนวนเห็บที่เกิดขึ้นได้หากโอเวอร์โหลด
เซิร์ฟเวอร์ NTP ที่เครื่องของคุณพูดถึงอาจเสียเวลาด้วยเช่นกัน แต่พวกเขาล่องลอยเวลากลับไปยังแหล่งที่ดีกว่า
ในที่สุดแหล่งที่ดีกว่าคือนาฬิกาที่มีความแม่นยำสูงเช่นนาฬิกาอะตอม คุณสามารถคิดว่า NTP เป็นเครือข่ายของเครื่องจักรแต่ละเครื่องจะมีแหล่งข้อมูลจำนวนหนึ่งที่ต้องอาศัยเวลา
สิ่งนี้อยู่ภายใต้การควบคุมของแหล่งที่ประกาศชั้นของมัน นาฬิกาอะตอมหรือจีพีเอสคือ stratum 0 และอำนาจในเวลานั้น แต่ละชั้นออกมาจากชั้นถัดไปคือชั้น 1 และจะตรวจสอบชั้นแหล่ง 0 พร้อมกับเพื่อนในระดับเดียวกันเพื่อสติตรวจสอบแหล่งเวลา
คุณกำลังพูดคุยกับแหล่งเวลาสตราตัม 2 หรือ 3
สิ่งที่คนอื่นเขียนเป็นความจริง: เซิร์ฟเวอร์ Stratum 1 ได้เวลามาจากอุปกรณ์ Stratum 0 ฉันไม่รู้ว่าช่วงเวลาใดที่เกิดขึ้น แต่ฉันคิดว่าพวกมันค่อนข้างแม่นยำ
เซิร์ฟเวอร์ Stratum n ที่มี n> 1 ได้เวลาผ่าน NTP จากเซิร์ฟเวอร์ Stratum n-1 นั่นหมายความว่ามันจะทำการซิงโครไนซ์มันเป็นระยะ ๆ เมื่อเริ่มบริการ NTP การซิงโครไนซ์จะเกิดขึ้นในช่วงเวลาสั้น ๆ และตามช่วงเวลาช่วงเวลาจะเริ่มเพิ่มขึ้น ในที่สุดช่วงเวลานั้นมีขนาดใหญ่เท่ากับ 1024 วิประมาณ 17 นาที
สิ่งที่ไม่ได้รับการตอบคือคำถามว่าเกิดอะไรขึ้นในช่วงเวลานั้น? ดีมีสิ่งอำนวยความสะดวกที่เรียกว่าไฟล์ดริฟท์ ช่วยให้ NTP ตรวจสอบการเบี่ยงเบนใด ๆ ระหว่างนาฬิกาโลคัลและนาฬิกาอ้างอิง จากนั้นความถี่ของนาฬิกาท้องถิ่นจะถูกปรับตามค่าดริฟต์ที่ตรวจพบเพื่อให้เวลามีความแม่นยำระหว่างการสำรวจเซิร์ฟเวอร์
การปรับใช้ NTP อื่น ๆ อาจใช้สิ่งอำนวยความสะดวกอื่น ๆ แต่สิ่งหนึ่งที่พบได้ทั่วไปคือความต้องการและความสามารถในการปรับความถี่ของนาฬิกา