Базуючись на вашій попередній зосередженості на сценаріях синхронізації PTP із подвійним-датчиком, BMCA (найкращий головний алгоритм синхронізації) є основним механізмом для автоматичного вибору головного та підлеглого годинників у протоколі PTP. Його робоча логіка в сценарії з подвійним-датчиком така:
Взаємодія в початковому стані: після запуску обох датчиків вони періодично транслюють повідомлення Announce для всієї мережі. Ці повідомлення мають власний пріоритет, точність годинника, тип годинника та інші основні атрибути.
Порівняння атрибутів Round-by-Round: після отримання повідомлень Announce один від одного два датчики порівнюють атрибути відповідно до фіксованих правил: спочатку вони порівнюють значення priority1 (чим менше значення, тим вищий пріоритет); потім вони порівнюють точність годинника та значення priority2; нарешті, вони порівнюють MAC-адреси пристроїв, щоб вибрати кращий годинник.
Автоматичне призначення ролей: датчик із кращими атрибутами автоматично стає головним годинником, а інший автоматично перемикається на підлеглий годинник. Підлеглий годинник буде безперервно слідувати за головним годинником для завершення синхронізації часу.
Динамічне технічне обслуговування та оновлення: якщо мережа переривається, а потім відновлюється, або якщо змінюється атрибут годинника датчика, BMCA повторно-виконає процес порівняння, автоматично оновлюючи ролі головного-підлеглого, щоб гарантувати, що вся мережа завжди синхронізується на основі оптимального годинника.
У сценаріях із подвійним-сенсором встановлення диференційованого значення priority1 вручну дозволяє BMCA стабільно виводити фіксовану роль master-slave, уникаючи частих конфліктів перемикань, спричинених автоматичним вибором.

