Time Server Synchronization

Setup Time Server ตาม พรบ. กันหน่อย
ข้อ ๙ เพื่อให้ข้อมูลจราจรมีความถูกต้องและนำมาใช้ประโยชน์ได้จริงผู้ให้บริการ ต้องตั้งนาฬิกาของอุปกรณ์บริการทุกชนิดให้ตรงกับเวลาอ้างอิงสากล (Stratum 0) โดยผิดพลาดไม่เกิน ๑๐ มิลลิวินาที


ตามที่ค้นหามา ทำให้รู้ว่า Stratum คือลำดับชั้นของการเทียบเวลา
- Stratum 0 เป็น เวลาสากล หรือ International Atomic Time : TAI (แปลกใจตัวย่อล่ะสิ ที่จริงก็คือ ตัวย่อมาจากภาษาฝรั่งเศส คือ Temps Atomique International ครับ) ดูแลโดย BIPM
- Stratum 1 เป็นเครื่องคอมพิวเตอร์แม่ข่ายที่เชื่อมต่อกับ stratum 0 ได้รับค่าเวลามาจาก stratum 0 โดยตรง
- Stratum อื่น ๆ ก็ถ่ายทอดเวลากันมาเรื่อย ๆ

ดังนั้นถ้าจะทำตาม พรบ. เราก็ต้องเทียบเวลากับ เครื่องคอมพิวเตอร์แม่ข่าย ที่อยู่ใน Stratum 1 (เพราะเราไม่สามารถรับเวลาโดยตรงจาก stratum 0 ได้) ซึ่งเลือกได้ตามรูป


ใน Windows มี Service อยู่แล้วชื่อ Windows Time service (W32Time) โดยใช้ Simple Network Time Protocol (SNTP) ตามข้อกำหนด RFC 1769

วิธีใช้งานผ่าน Command line ได้ดังนี้
1.ดูว่าตอนนี้ใช้บริการ Time Server ตัวไหนอยู่
net time /querysntp



ถ้ายังไม่เคย set มาก่อนเลย ก็จะได้ค่าเป็น time.windows.com,0x1

2.เลือกใช้ Time Server ตัวอย่าง เช่น เลือกใช้ของ สถาบันมาตรวิทยาแห่งชาติ ก็ใช้คำสั่ง
net time /setsntp:"time1.nimt.or.th,0x1 time2.nimt.or.th,0x1"


ตามคำบอกเล่าของ Microsoft ,0x1 ต้องมีต่อท้ายไว้กรณีที่เราระบุ Time Server โดยใช้ DNS name แต่ถ้าใช้ IP ก็ไม่ต้อง เช่น
net time /setsntp:"203.185.69.60 203.185.69.59"


3.ทำการ restart Windows Time service ด้วยคำสั่ง
net stop w32time

ตามด้วย
net start w32time


Microsoft เค้ามีรายละเอียดเพิ่มเติมให้ที่ Knowledge Base ครับ

แล้วนี่ก็ link สำหรับอธิบายที่มาของ AnnounceFlags = 5 ครับ

ที่นี้ถ้าเราใช้ DHCP ก็จะง่ายในการกำหนดให้กับ Client ทั้งหลาย
โดยเข้าไปที่ Server Options แล้วกำหนด Time Server (004) ลงไป

ที่นี้เวลา Client ติดต่อขอ IP มา ก็จะได้ค่าของ Time Server ไปด้วย

Comments

Popular posts from this blog

Artillery Hornet + OctoPrint + Klipper

ย้ายบ้าน

ใต้ร่มกาสาวพัตร