อัลกอริทึม Master Clock ที่ดีที่สุด (BMCA) ใน IEEE 1588 PTP ทำงานอย่างไร?
Q: อัลกอริทึม Master Clock ที่ดีที่สุด (BMCA) คืออะไร?
A: อัลกอริทึม Master Clock ที่ดีที่สุด (BMCA) เป็นกลไกที่กำหนดไว้ใน IEEE 1588 Precision Time Protocol (PTP) ที่จะตัดสินโดยอัตโนมัติว่านาฬิกาตัวใดบนเครือข่ายควรทำหน้าที่เป็น Grandmaster (GM) — ซึ่งเป็นแหล่งเวลาที่น่าเชื่อถือที่นาฬิกาตัวอื่นๆ ทั้งหมดจะซิงโครไนซ์ด้วย BMCA ทำงานโดยอิสระบนอุปกรณ์ PTP ทุกตัว และแต่ละพอร์ตจะเปรียบเทียบคุณสมบัติของนาฬิกาของตัวเองกับข้อความประกาศที่ได้รับจากนาฬิกาข้างเคียง ผ่านการเปรียบเทียบแบบกระจายอำนาจนี้ อุปกรณ์ทั้งหมดจะได้ข้อสรุปเดียวกันอย่างอิสระว่านาฬิกาตัวใดดีที่สุด โดยไม่จำเป็นต้องมีตัวควบคุมแบบรวมศูนย์
Q: กระบวนการเปรียบเทียบทำงานอย่างไร?
A: เมื่ออุปกรณ์ PTP ได้รับข้อความ Announce จากเพื่อนบ้าน BMCA จะเปรียบเทียบชุดคุณสมบัติที่จัดลำดับเพื่อตัดสินว่านาฬิกาตัวใดเหนือกว่า การเปรียบเทียบจะปฏิบัติตามลำดับความสำคัญที่เข้มงวด:
- clockClass — ความสำคัญสูงสุดในการเปรียบเทียบ
- clockAccuracy
- offsetScaledLogVariance (ความเสถียร)
- priority1
- clockIdentity
- priority2
- ที่อยู่พอร์ต / ลำดับ
คุณสมบัติแรกที่แตกต่างกันจะตัดสินผู้ชนะ พอร์ตของนาฬิกาที่แพ้จะเปลี่ยนสถานะเป็น Slave (หรือ Passive) เมื่อเทียบกับผู้ชนะ
Q: clockClass คืออะไรและทำไมมันจึงสำคัญ?
A: clockClass เป็นค่าจำนวนเต็ม (0–255) ที่บ่งบอกคุณภาพและการตรวจสอบย้อนกลับได้ของแหล่งเวลาของนาฬิกา ค่าที่ต่ำกว่าหมายถึงคุณภาพที่ดีกว่า ช่วงที่สำคัญ ได้แก่:
- 6 — ล็อกเข้ากับแหล่งอ้างอิงปฐมภูมิ (เช่น นาฬิกาที่ควบคุมด้วย GPS)
- 7 — ไม่ได้ล็อกแต่อยู่ในข้อกำหนด holdover
- 13 — ล็อกเข้ากับแหล่งเฉพาะของแอปพลิเคชัน
- 248 — ค่าเริ่มต้น, ไม่ซิงโครไนซ์หรือคุณภาพลดลง
- 255 — นาฬิกาที่ทำหน้าที่ Slave เท่านั้น (ไม่ควรเลือกเป็น GM)
เนื่องจาก clockClass เป็นคุณสมบัติ แรก ในการเปรียบเทียบ นาฬิกาที่ล็อกด้วย GPS (class 6) จะมีลำดับเหนือกว่านาฬิกาที่รันอิสระในท้องถิ่น (class 248) เสมอ โดยไม่ขึ้นกับการตั้งค่าอื่นๆ
Q: priority1 และ priority2 คืออะไร?
A: Priority1 และ priority2 เป็นค่าที่ผู้ใช้สามารถกำหนดได้ (0–255) ที่ให้ผู้ดูแลระบบควบคุมด้วยตนเองในการเลือก GM
- priority1 จะถูกเปรียบเทียบก่อน clockIdentity ค่าที่ต่ำกว่าหมายถึงความสำคัญที่สูงกว่า การตั้งค่า priority1 เป็น 0 บนนาฬิกาที่ต้องการจะช่วยสนับสนุนอย่างมากให้มันกลายเป็น GM
- priority2 จะถูกเปรียบเทียบเป็นอันดับสุดท้ายในบรรดาคุณสมบัติมาตรฐาน ใช้เป็นตัวตัดสินสุดท้ายในหมู่นาฬิกาที่มีคุณภาพเหมือนกัน ตัวอย่างเช่น หากมีนาฬิกาสำรองที่เหมือนกันสองตัว priority2 จะบ่งบอกว่าตัวใดเป็นที่ต้องการมากกว่า
การตั้งค่า priority1 = 255 จะเป็นการกันนาฬิกาตัวนั้นไม่ให้กลายเป็น Grandmaster โดยเด็ดขาด
Q: สรุป
A: BMCA รับประกันการเลือก GM ที่แข็งแกร่ง อัตโนมัติ และแน่นอน clockClass ควบคุมคุณภาพของแหล่งเวลา priority1 ให้การตั้งค่าที่ต้องการจากผู้ดูแลระบบอย่างชัดเจน และ priority2 ให้การตัดสินใจขั้นสุดท้ายที่ละเอียด — ทั้งหมดนี้รวมกันให้วิศวกรมีการควบคุมอย่างเต็มที่ต่อโทโพโลยี grandmaster ของ PTP
← กลับไปที่แหล่งข้อมูล