Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
Page 1 of 18
Universitatea POLITEHNICA din Bucureşti
Facultatea de Electronică, Telecomunicaţii şi Tehnologia Informaţiei
Mecanisme de sincronizare în
reţelele de calculatoare
Băicoianu Raluca-Lavinia
Master I IISC
Page 2 of 18
Cuprins
Introducere în problema sincronizarii reţelelor de calculatoare
1. Comparaţie PTP (Precision Time Protocol )/ NTP (network Time Protocol)
2. Măsurarea şi controlul dispozitivelor de sincronizare
3. Metodologii de sincronizare
3.1 Sincronizare de bază
3.1.1 Ştampile de timp şi configuratii în exclusivitate software
3.1.2 Configurare hardware
3.2 Boundary clocks
3.3 Transparent switches
3.4 Mecanismul "peer delay"
4. Profiluri PTP
5. Utilizarea PTP si a NTP
6.Concluzii
Bibliografie
Page 3 of 18
Probleme de sincronizare în reţelele de calculatoare
Introducere în problema sincronizării reţelelor de calculatoare
Este dificil de estimat importanţa sincronizării timpului în sistemele moderne de
calculatoare. Viaţa noastră depinde acum de tranzacţii financiare, telecomunicaţii, fabricaţii de
mare viteză, care sunt conduse de rapiditate, dispozitive puternice ale calculatoarelor coordonate
în timp unele cu celelalte. De asemeni, avem nevoie de sincronizarea informaţiilor de securitate,
autentificări şi semnături digitale, sincronizarea aplicaţiilor industriale (transport, energie, gaze).
Ceasul fizic ataşat unui calculator este folosit pentru marcarea temporală a oricărui
eveniment apărut în cadrul unui proces ce se execută la hostul respectiv. Rezoluţia ceasului
trebuie să fie mai mică decât rată la care apar evenimentele. Se pune problema comparării
marcajelor generate de ceasuri similare din punctual de vedere al construcţiei. Pentru aceasta
trebuie luat în considerare faptul că nu este suficientă cunoaşterea deplasamentului datorat
momentelor de iniţializare diferite. În practică ceasurile nu ticăie exact cu aceeasi frecventă:
diferenţe infime pot deveni de neneglijat prin acumularea lor. Mai trebuie ţinut cont si de
deviaţia ratei ceasului. De exemplu pentru ceasurile cu cuarţ deviaţia este de 10-6
secunde. Cele
mai exacte ceasuri sunt ceasurile atomice care masoară timpul cu o acurateţe de 1 la 1013
. Pentru
a putea stabili un etalon în ceea ce priveşte măsurarea timpului s-a format UTC, un standard
internaţional care se bazează pe timpul atomic, dar care în anumite condiţii (inserţia/extragerea
unei secunde) poate ţine pasul cu timpul astronomic. Semnalele UTC sunt emise periodic prin
staţii radio şi sateliţi (GOES, GPS). în cazul în care timpul recepţionat de la serviciu este mai
mare decât timpul propriu, se va sări la timpul respective. NTP permite sincronizarea cu
acurateţe la UTC a clienţilor din Internet. [1]
Pentru sistemele moderne de Unix, clientul NTP este implementat ca un proces daemon
care rulează continuu în spațiu utilizator (ntpd). Toate versiunile recente de Linux, BSD, Mac
OS X, Solaris și AIX sunt puse în aplicare în acest mod. Pachet NTP este o datagrama UDP,
efectuat pe portul 123 [6].
Microsoft Windows Microsoft Windows NT 4.0 nu a venit cu o punere în aplicare NTP.
Implementare de referință a NTP poate fi utilizat pe sistemele de NT4. [7]
Toate versiunile Microsoft Windows din Windows 2000 și Windows XP includ serviciul
Windows Time ("W32Time"), [3], care are capacitatea de a sincroniza ceasul computerului la un
server NTP. Versiunea în Windows 2000 și Windows XP implementează doar simplă NTP, și
încalcă mai multe aspecte ale NTP versiunea 3 de iarnă [2] Începând cu Windows Server 2003 și
Windows Vista, este inclus o punere în aplicare completă a NTP [4].
Cu toate acestea, Microsoft nu garantează că punerea în aplicare a acestora va fi mult mai precisa
Page 4 of 18
decat 2 secunde. [5] În cazul în care se dorește o mai mare acuratețe, Microsoft recomandă să
utilizați o alta aplicaţie NTP. [9]
De la prima specificare completă a NTP ( Network Time Protocol) versiunea 1 şi a
algoritmului care-l însoteşte apărut în RFC 1059 în anul 1988, NTP a jucat un rol important în
sincronizarea timpului pentru menţinerea ceasurilor reţelei de calculatoare sincronizate la un
ordin mai mic decat milisecunde unul cu celalalt. NTP a fost dezvoltat pentru un vast numar de
sisteme dealungul timpului. Cand utilizatorii doresc să coordoneze evenimente în timp între mai
multe sisteme, ei au mai multe opţiuni pentru a rezolva problema, fiecare cu compromisul ei.
NTP trebuie să nu eşueze în cazul unei întreruperi de conectivitate, să aibă protecţie contra
interferenţelor cu serviciul de timp. NTP se aplica în reţele de servere cu acces la Internet, în care
serverele primare sunt conectate la un receptor UTC, iar serverele secundare sunt sincronizate cu
primele. O subretea cu mai multe straturi este reconfigurabila în cazul unui esec.NTP utilizeaza
trei moduri de sincronizare:
1.Multicast destinat LAN-urilor de viteză mare, care are o acurateţe redusă, dar care este
suficienă în cele mai multe cazuri.
2. Apel de procedură- similar cu algoritmul Christian şi se aplică atunci cand hardware-ul
nu suportă multicast sau se doreşte obţinerea unei acurateţi mai bune.
3. Simetric- pentru servere care oferă timpul în LAN-uri si la nivele înalte ale subreţelei
de sincronizare
Una din alternativele NTP este PTP (Precision Time Protocol). PTP este definit de
standardul IEEE în noiembrie 2002 şi s-a bazat pe prototipurile de mai înainte ale Agilent
Technologies. O revizuire a PTP a fost publicată în 2008 şi este cunoscută ca PTP versiunea 2
sau IEEE 1588-2008. IEEE 1588 este proiectat pentru a umple o nișă nu sunt bine deservite de
către una dintre cele două protocoale dominante, NTP și GPS. IEEE 1588 este proiectat pentru
sistemele locale care necesită precizie în afară de cele realizabile cu ajutorul NTP. Acesta este,
de asemenea, proiectat pentru aplicații care nu pot suporta costul unui receptor GPS la fiecare
nod, sau pentru care semnalele GPS sunt inaccesibile. [10]
1. Comparaţie PTP/NTP
PTP şi NTP sunt similar prin faptul că ambele se bazează pe transmisiuni de pachete şi
trimiterea de ştampile printr-o reţea de la un dispozitiv de referinţă, către unul sau mai multe alte
dispozitive. În plus, ambele fac sincronizarea ceasurilor dispozitivelor offset-ului de timp şi
intarzierii reţelei. Ambele suportă mai multe tipuri de dispozitive cu precizii şi rezoluţii diferite.
Fiecare protocol are propriile puncte forte şi alegerea unuia în detrimentul celuilalt se
face prin evaluarea mediului sistemului, a capacităţilor acestuia.
PTP este ales cand performanţele de sincronizare ale sistemului trebuie să depăşească
ordinul de precizie al NTP şi anume ordinul milisecundelor. Cand utilizăm un sistem hardware
PTP, care are capacitatea de a trimite stampile în pachete. Dispozitivele care utilizează PTP într-
un LAN (Local Area Network) poate sincroniza ceasurile acestei reţele la un ordin de mărime
Page 5 of 18
mai mic decat zeci de nanosecunde. Fără ştampile hardware, referindu-ne la configurare
exclusive software, implementările PTP pot obţine precizii mai mici decât milisecunde.
NTP rămâne o tehnologie populară de sincronizare, chiar dacă implementarile PTP au
fost făcute disponibile designerilor de sisteme în mai multe platforme, ambele comerciale şi
constituind implemetări la fel de disponibile. [1]
2. Măsurarea şi controlul dispozitivelor de sincronizare
Măsurarea si controlul dispozitivelor a fost întotdeauna o avangarda a sincronizarii de
mare precizie. Pentru a obţine gradul de sincronizare necesar tipului de dispozitiv, semnale
trimise prin cabluri specializate pot fi utilizate pentru sincronizarea evenimentelor dintre
dispozitive. Aceste cabluri utilizate exclusive pentru sincronizarea evenimentelor sunt adesea
potrivite în lungime pentru a se asigura că intarzicerea propagării este una compatibilă.
Sincronizarea utilizand aceste cabluri dedicate se obtine cu o precizie foarte ridicată, iar
evenimentele pot fi coordonate intre ele cu un ordin mai mic decat picosecunde, peste dispozitive
aflate în vecinatate. Acest tip de sincronizare poartă numele de sincronizare bazate pe semnal.
În timp ce este imbatabil pentru aplicaţii care necesită cea mai precisă sincronizare
posibilă, sincronizarea bazată pe semnal poate deveni imposibil de utilizat. Cablurile dedicate
pentru sincronizarea separată a dispozitivelor pot fi costuri prohibitive şi sincronizarea bazată pe
semnale necesită suport hardware şi software specializat pentru a genera şi receptiona semnale
prin cablu.
Cablul însuşi poate fi adesea subiectul variaţiei întârzierilor de propagare în timp sau
de temperatură şi ca multe dispozitive sunt adăugate sistemului, complexitatea cablării multiple a
dispozitivelor creşte, ceea ce înseamnă o mentenanţă mai dificilă şi efort în plus în ceea ce
poriveşte depanarea problemelor. Sincronizarea bazată pe semnal necesită ca echipamentele să
nu comunice unele cu altele şi sa nu poata fi măsurat pe distanţe lungi, când îl comparăm cu alte
mecanisme de sincronizare.
Între timp, cu Ethernet omniprezent în laboratoarele şi fabricile unde se desfăşoară
controlul şi măsurătorile dispozitivelor, o necessitate apăruta pentru ca aceste dispozitive să
poate să utilize o reţea LAN sau WAN pentru comunicaţii de date şi control.
NTP este adesea obligat să seteze timpul sistemului pentru aceste dispozitive, dar se
păstrează necesitatea unui eveniment de stocare dedicate. În ciuda prezentei tuturor
ingredientelor de baza ale evenimentului pentru sincronizarea coordonată , cronometre distribuite
( uneori se referă la sincronizarea bazată pe timp ), o tehnologie acceptabilă care poate să utilize
aceasta infrastructură pentru a putea înlocui sincronizarea bazată pe semnal. NTP utilizează
algoritmul Marzullo și este proiectat pentru a rezista efectelor de latență variabilă. NTP poate
menține, de obicei, în termen de timp pentru a zeci de milisecunde pe internet publice și poate
atinge o acuratețe milisecundă în rețele locale, în condiții ideale.[1]
Pentru ca implementarea bazată pe semnal impune constrângerile descrise anterior,
soluţiile bazate pe timp care utilizează Ethernet au fost investigate mai departe ca o soluţie de
Page 6 of 18
sincronizare. La prima vedere NTP pare a fi un bun candidat pentru o soluţie de sincronizare de
cost mic, bazată pe timp şi aceasta pentru numeroase aplicaţii. Sincronizarea bazată pe semnal
totuşi, furnizează un nivel de precizie foarte ridicat, NTP versiunea 3 furnizând un nivel de
precizie doar de ordinul milisecundelor.Această precizie este insuficientă pentru aplicaţiile care
utilizează soluţii bazate pe semnal.[11]
PTP a fost construit să indeplinească necesităţile industriale de masură şi control.
Acesta este capabil să obţină o precizie de ordinul nanosecundelor, utilizând o infrastructura
similară cu cea NTP. O privire mai apropiată asupra PTP arată de ce este o masură bună în
măsurarea şi controlul aplicaţiilor.
Introducere în PTP
Primele puncte forte ale designului PTP au fost enumerate în numeroase prezentări şi
documente, inclusive în standardul IEEE 1588.
Pentru a furniza o sincronizare de ordin mai mic decât microsecunde a ceasurilor în timp
real aflate în componentele unei reţele distribuite de măsurare şi control al sistemului.
Să obtină cea mai bună performanţă cu sisteme localizate tipice pentru automatizări
industriale, teste şi măsurători ale mediului
Să fie adaptabil pentru comunicaţii multicast pe suport LAN (incluzând, dar nu se
limitează la Ethernet)
Să furnizeze o instalare simplă
Să suporte sisteme heterogene de ceasuri în care variază precizia, rezoluţia şi stabilitatea
Să impună cereri minime de resurse de reţea şi component ale host-urilor
PTP îndeplineşte aceste puncte utilizând o metodologie robustă de sincronizare, un
algoritm care în mod continuu şi automat menţine ierarhia potrivită a dispozitivelor
pentru acurateţe maximă şi hardware specializat (necesar doar pentru performantă
optimă).
3.1 Metodologii de sincronizare
3.1.1.Sincronizarea de bază
La baza standardului PTP este metodologia de sincronizare. Similar cu alte protocoale de
sincronizare Ethernet, bazate pet timp în ceea ce priveşte conceptul, metodologia de sincronizare
PTP este unică şi depinde oarecum de hardware –ul; folosit şi aplicaţie ( industrie de putere,
telecomunicaţii).
PTP defineşte o ierarhie coordonator-subordonat (master-slave). Coordonatorul serveşte
drept rererinţă de timp pentru mai multe dispozitive. Procesul selectării coordonatorului dintre
dispozitivele participante este definit de algoritmul BMC (Best Master Clock), care este aplicat
pentru fiecare dispozitiv la interval spcifice. Dispozitivele ( adesea referindu-se la ceasuri
Page 7 of 18
obişnuite) se pot considera ele însele coordonator pentru ca au fost determinate în concordanţă cu
BMC ca având la acest moment cea mai bună abilitate de a păstra timpul faţă de coordonatorul
curent. Ele vor transmite un mesaj anunţ multicast utilizând UDP ( User Datagram Protocol) la
interval configurabile. Alte dispozitive vor procesa aceste anunţuri în conformitate cu BMC şi
vor selecta noul coordonator. Dacă un coordinator va recepţiona un mesaj anunţ de la un alt
potenţial coordinator ( cunoscut ca coordinator strain) şi algoritmul BMC indica acest
coordinator strain ca fiind coordinatorul curent va face tranzitia catre o pozitie de subordonat.
În plus, la mesajul anunţ un ceas coordinator transmite periodic un mesaj Sync utilizând
UDP multicast (by default), care este recepţionat de un ceas subordonat. Fiecare subordonat
utilizează un mesaj Sync pentru a calcula diferenţa dintre ceasul propriu şi ceasul coordonator.
Mesajul conţine o ştampila provenită de la coordinator cu momentul în care a fost eliberat. (t1
din figura 1).
Figura 1 Sincronizarea de bază a schimbului de mesaje
Sursa: [1]
Când subordonatul recepţionează mesajul Sync, înregistreaza tipul recepţionării (t2).
Timpul în mesajul Sync nu reprezintă timpul precis în care mesajul a părăsit dispozitivul,
deoarece acesta nu este cunoscut decât dupa trimiterea mesajului. Coordonatorul trimite apoi
mesajul de Follow-up, care include momentul de timp actualizat în care mesajul Sync părăseşte
coordonatorul . Momentul în care mesajul Sync părăseste coordonatorul este determinat de
hardware-ul specializat sau de driver-ul de reţea. Subordonatul recepţionează mesajul Follow-up
şi utilizează valoarea actuala a t1.
În acest punct subordonatul a avut doua valori de timp (t1 şi t2) şi poate calcula diferenţe
între timekeepers şi coordonator. Din nefericire, offset-ul obtinut din t1 şi t2 include cateva
Page 8 of 18
cantitati necunoscute de intarzieri de propagare datorate retelei. Pentru a determina aceasta
întârziere şi pentru a calcula offset-ul actual între timekeepers, subordonatul eliberează o cerere
“Delay Request” către coordonator şi notează timpul când a fost trimis (t3) şi apoi timpul când a
fost recepţionat Delay Request (t4) şi eliberează Delay Response catre subordonatul care conţine
t4. Când subordonatul receptionează Delay Response, va deţine patru ştampile de timp- t1,t2,t3
şi t4- şi poate calcula offset-ul între timekeeper-ul sau şi timekeeper-ul masterului, luând în
considerare însa şi o intarziere datorata retelei. [1]
3.1.2 Ştampile de timp şi configuratii în exclusivitate software
Pentru a obtine timpul actual mesajul Sync a fost trimis de master cu scopul de a-l insera
în mesajul “Follow-up”. Masterul trebuie să ştie exact când este capabila reţeaua sa hardware
este capabilă să trimită message Sync. Acest hardware este mult mai probabil interfata fizica de
retea (PHY) sau alt hardware care recunoaste pachetele PTP şi noteaza timpul exact în care ele
au fost trimise sau receptionate. Diferenţa între situaţia în care software-ul masterul PTP iniţiază
trimiterea acestui mesaj ( valoarea estimate a lui t1 într-un mesaj de sincronizare) şi timpul cand
PHY este capabil să trimită mesaje în mediul fizic, nu numai ca va varia dar va fi putin
semnificativa cu privire la precizia mai bună ca ordin decat microsecundele. Pentru aceasta
mesajului Sync message trebuie să-i fie contabilizat timpul petrecut în stivă de reţea pentru a
putea obţine o acurateţe maximă (Vezi figura 2).
Figura 2: Stiva de retea cu stampile de timp asistate hardware
Sursa:[1]
PTP defineşte un alt mecanism de sincronizare putin diferit, care are avantajul unui
suport hardware adiţional. Mesajele Sync şi Follow-up utilizate pentru a calcula offset-ul intre
coordinator şi subordonat asa cum a fost descris mai devreme este utilizat de un Ceas în doi pasi.
Un ceas cu un pas utilizeaza retele hardware specializate nu numai când ştampile de timp PTP
Sync părăsesc dispozitivul, dar şi pentru a modifica ieşirea mesajelor Sync cu valoarea t1 a
timpului actual de plecare (Vezi figura 3).
Page 9 of 18
Figura 3:Operatii intr-un singur pas
Sursa:[1]
Această valoare este trimisă în mod normal în mesajul Follow-up, dar pentru că sistemul
hardware o face disponibilă în mesajul Sync, mesajul Follow-up va fi inutil. Un dispozitiv
subordonat va trebui să inteleagă că coordonatorul său lucrează ca un ceas într-un singur pas. El
poate determina aceasta prin citirea campului de bit, aflat în headerul mesajului PTP trimis de
către coordonator. Ceasul cu un singur pas ajută la minimizarea traficului reţelei în timp ce se
menţine o performanţă foarte bună în ceeea ce priveşte sincronizarea. Acest tip de ceas este util
pentru cererea de aplicaţii PTP în diverse industrii.
Interfata hardware a retelei PTP poate simplifica stampila de timp a mesajului PTP şi sa-l
coreleze cu mesajul IDs pentru incercarile de mai tarziu ale software-ului PTP. Aceasta
capacitate face posibila operarea masterului PTP în modul “doi pasi” pentru a trimite valoare
precisa t1 în mesajul “Follow-up” catresubordonat. în timp ce gradul de suport hardware nu face
posibila operarea în doi pasi, aceasta poate fi facuta pentru performante superioare în doi pasi, în
comparative cu o implementare bazată în exclusivitate pe software. Un dispozitiv PTP este
considerat a opera ca un ceas în exckusivitate software , dacă nu are suport hardware. Un ceas în
exclusivitate software este limitată la operaţii în doi pasi şi în mod tipic trimite valori t1 în
mesajul Follow-up, care sunt preluate din componentele software, cât mai repede posibil în stiva
software, adesea din nivelul driver. Deşi ceasurile bazate exclusive pe software sunt în mod
evident mai puţin precise decât cele cu asistenţă hardware, acestea sunt capabile încă să obţină o
precizie mai mica de milisecunde. [1]
Page 10 of 18
Algoritmul BMC
Algoritmul BMC oferă dispozitivelor PTP abilitatea de a menţine ierarhia de sincronizare
dorita la schimbarea conditiilor de retea. Descrierea algoritmului BMC în sine nu sta în scopul
acestui articol, dar putem spune ca algoritmul BMC este un element cheie în ceea ce priveste
simplitatea şi auto-adminitrarea, obiective propuse în PTP. Unele dispozitive PTP actioneaza fie
ca coordinator fie ca subordonat, algoritmul BMC fiind utilizat pentru a determina dacă este
necesara selectarea unui nou master sau dacă un dispozitiv necesită tranziţia de la statul de
coordonator la unul de subordonat. [1]
Schimbarea stării poate apărea ca rezultat al unui numar de condiţii, toate acestea reflectate în
mesajul de anunţ al subalternului sau al potenţialului subaltern. Mesajul de anunt al acestora este
trimis la o rată configurabila, ca parte a protocolului. Mesajul anunt conţine toate informaţiile
necesare pentru ca algoritmul BMC să poată determina dacă subalternul curent rămâne subaltern
sau se va transforma într-un subaltern sau în cazul subalternului, poate asculta un nou subaltern
sau poate deveni el însuşi subaltern . Unul dintre atributele mesajului de anunţ este sursa de timp
a dispozitivului ( GPS, Atomic Ceas sau un oscilator ce ruleaza liber); prioritatea, aşa cum este
ea determinată de administratorul local al PTP-ului; ID-ul ceasului dispozitivului, şi alte attribute
utilizate de către BMC.
A avea un dispozitiv PTP pe care rulează BMC şi trimite mesaje de anunţ, înseamnă că
administratorul trebuie doar să deschidă sistemul şi are déjà o reţea cu dispozitive automat
sincronizate în timp, configurate pentru performanţe optime, fără modificări la schimbările
spontane ale topologiei de reţea.[1]
3.2 Ceasul Boundary
Pentru ca switch-urile şi routerele segmenetază o reţea PTP, PTP a introdus boundary
ceas în sensul distribuţiei ceasului unui subordonat în diferite părţi ale reţelei. Standardul PTP
descrie boundary ceas ca fiind deţinătorul unei singure stampile de timp comandată de PTP, dar
având mai multe porturi PTP intr-un domeniu. Un port poate servi ca sursă de timp
(subordonatul PTP) dispozitivelor atasate acestuia sau ca ieşire destinata sincronizarii
timekeeper-ului ( un subordonat PTP) cu alte ceasuri conectate la acesta. Un ceas boundary poate
fi implementat pentru a inlocui un switch traditional sau un router dintr-o retea care în mod
obisnuit este segmentata de aceste dispozitive. Boundary ceas difera de ceasurile PTP în operatii.
PTP le diferentiaza pe cele doua numindu-le “ordinary clock” sau ceas obisnuit şi respectiv
ceasul boundary. [1][5]
Fiecare port al unui ceas boundary poate fi inteles ca un ceas obisnuit separat care
imparte acelasi timekeeper cu ceasurile boundary ale altor ceasuri obisnuite. Doar un port al
acestui dispozitiv poate fi în starea de subordonat, care elimină utilizarea timekeeper-ului
dispozitivului ( de exemplu doua porturi care incerarca sa ajusteze timpul). Toate celelalte
porturi sunt considerate coordonatoare pentru dispozitivele din segmentele respective.[1][5]
Page 11 of 18
Existenta unui ceas boundary cere PTP utilizarea unui coordonator general pentru a
descrie intreaga retea PTP, de cand subordonatull unui port ceas boundary considera acel ceas
boundary ca fiind subalternul sau. Fiecare port coordonator este responsabil pentru indeplinirea
acelorasi obictive ca şi un ceas obisnuit coordonator , care efectiv ascunde toti subordonatii din
ceasul boundary coordonator. [1][5]
De asemenea, un ceas obisnuit de tip subordonat ( sau un alt ceas boundary cu porturile
conectate în starea de subaltern) este ascuns din ierarhia PTP “ de deasupra” boundary ceas. Un
ceas boundary nu trece mesajul de sincronizare PTP de la subordonatii superiori în ierarhie la
coordonatorul sau. Fara aceasta un coordinator general poate fi responsabil pentru procesarea
mesajelor “Delay Request” şi emite mesajul de “ Delay Response”de la şi către, fiecare
dispozitiv subaltern din intreaga reţea PTP. Un ceas boundary, totuşi, poate permite în continuare
oricarui sclav eligibil să fie coordonator general în intreaga retea PTP .
De exemplu, dacă coordonatorul general iese din retea, urmatorul cel mai eligibil
dispozitiv subordonat poate declara el singur ca fiind coordinator ( o dată ce algoritmul său
BMC a determinat ca este potrivit să facă asta), şi ceasul boundary va trimite portul conectat la
acest subordonat intr-un subordonat. Acest ceas boundary va avea apoi un port care a fost în
starea de subaltern, acum e în starea de coordonator pentru alte ceasuri obisnuite şi boundary.
Aceste ceasuri vor evalua apoi noul coordinator cu ajutorul algoritmului BMC şi tranzitioneaza
potrivit acestuia, repetand acest process pentru restul ierarhiei. în functie de topologia de retea,
aceasta situatie poate sa nu fie una ideala, în functie de numarul de hopuri intre care acest nou
coordonator şi un subordonat a crescut cu o unu ( un ceas boundary conectat la un nou master),
aceasta marind orice acumulare a erorilor de sincronizare. Utilizarea ceasului boundary şi
ierarhia rezultata a dispozitivelor PTP trebuie luata în considerare pentru a maximize precizia de
sincronizare a sistemului. (Vezi figura 4).
Figura 4: Ierarhia de dispozitiv care utilizeaza ceasuri boundery
Sursa:[1]
Page 12 of 18
Ceasurile boundary pot fi , de asemenea, utilizate pentru retele corelate care utilizeaza diferite
protocoale de retea (vezi figura 5), de cand nu exista nicio constrangere pentru care
implementarile PTP utilizeaza aceeasi tehnologie sau mediu de comunicatie. De exemplu un
system poate avea cateva dispositive care utilizeaza Ethernet şi altele care utilizeaza DeviceNet,
toate sincronizate dupa acelasi coordonator general prin utilizarea capacitatilor unor ceasuri
boundary. în acest scenario un ceas boundary va putea avea un port compatibil DeviceNet
conectata la un dispozitiv DeviceNet şi un alt port conectat la dispositive Ethernet. PTP face
posibila sincronizarea ambelor tipuri de dispozitive la acelasi coordonator general fara a se uita
la mediul de transmisie. în plus, la protocoale diferite de retea, ceasurile boundary pot intra în
sisteme PTP mecanisme de calcul al intarzierii diferite, care sunt descrise mai jos. [1]
Figura 5 Ceasurile boundery utilizate pentru a se potrivi in diferite tehnologii de retea
Sursa:[1]
3.3 Switchuri invizibile
Nu toate aplicaţiile permit dispozitivelor PTP să fie desfăşurate într-o manieră care
conduce la o ierarhie netedă, echilibrată. Reţelele sunt uneori dezvoltate în topologii lungi lineare
sau de tip inel care pot avea acumulari semnificative de erori de sincronizare cand ceasurile
boundary sunt utilizate pentru a intra în aceste segmente. Din această cauză, PTP defineşte un
dispozitiv cunoscut la switch invizibil care conectează grupuri de dispositive PTP fără a
segmenta reţeaua PTP. Un switch invizibil recunoaşte mesajele PTP care trec prin reţea şi
Page 13 of 18
notează “timpul de rezidenţă”, timpul petrecut în switch unde mesajele nu sunt încă vizibile
dispozitivelor PTP vizate.Timpul de rezidenţă este adaugat cmpurilor de corectie ale mesajelor
PTP inainte de a fi transmise de la switch catre urmatorul dispozitiv (vezi figura 6).
Ceasurile PTP pot apoi să evalueze mesajele din camurile de corecţie si să le aplice
propriilor calcule. Deşi, mesajele au fost temporar păstrate în switchul invizibil- un
comportament nedeterminist, care în mod normal introduce erori de sincronizare semnificative-
câmpul de corecţie permite că timpul să fie îndepărtat, că şi cum switchul nu ar fi fost niciodată
acolo (şi de aici numele de switch invizibil).
Spre deosebire de ceasurile boundary, switchurile invizibile işi expun dispozitivele
subordonate coordonatorului PTP. Switchurile invizibile sunt interesate doar intr-un timp relativ,
şi anume timpul în care mesajul trece prin switch. De aceea nu este necesar un timekeeper
sincronizat cu timpul coordonatorului. Oscilatoarele care “ticaie” atat în coordinator cat şi în
switch, trebuie totusi sa “ticaie” cu caeeasi rata. Păstrarea acestei rate ca fiind aceeaşi este
cunoscută ca sincronizare. [1]
3.4 Mecanismul întârziere în pereche (“peer delay”)
Modelul de sincronizare descris mai devreme, în care subordonatul crea problema
mesajului Delay Request şi coordonatorul raspunde cu De;ay Response, este cunoscută ca
mecanismul întârzierii cerere raspuns (delay request-response). PTP oferă o alternativă la acest
mecanism numită îintârzierea în pereche sau modul peer-to-peer, care poate furniza performanţe
superioare în anumite situaţii. Pentru ca cele doua moduri nu pot fi utilizate împreună, designerii
de system au trebuit să evalueze care mecanism de întârziere furnizează cele mai bune rezultate
şi în consecinţă, proiectarea sistemului lor. în modul peer-to-peer un dispozitiv transmite
primului vecin un mesaj “Peer Delay Request”, care este sau nu coordonatorul dispozitivului.
Dispozitivul receptor raspunde cu un mesaj “Peer Delay Response” ( şi optional cu un mesaj
Peer Delay Follow-up dupa acesta în cazul folosirii unui ceas în doi pasi). Aceasta permite
dispozitivului solicitant sa calculeze intarzierea de propagare pentru segmental individual.
Prin cunoaşterea exactă a intarzierii de propagare pentru fiecare segment de reţea, modul
peer to peer permite PTP să aplice compensări ale întârzierii între coordinator şi subordonaţi,
care sunt mult mai precise decât în mecanismul Delay-Request-Response, unde switchurile
intermediare aleg diferite căi. De când modul peer to peer specifică faptul că switchurile
invizibile ajustează câmpul de corecţie nu doar cu timpul de rezidentă al mesajelor Sync şi
Follow up ( aşa cum se întâmplă în modul Delay-Request-Response), el adaugă întârzierea
calculate anterior pentru legara pe care a venit mesajul anterior.( vezi figura 7)
Acest comportament semnifică faptul că coordonatorul nu trebuie să proceseze mesajul
Delay Request de la fiecare subordonat; în schimb ea însăţi se refera la Peer Delay Request and
Response pentru perechea sa imediată (switchuri invizibile sau ceasuri PTP în starea de
subordonat). Din aceasta cauza switchurile invizibile în modul peer to peer pot fi mult mai
atractive pentru designerii de sisteme ceea ce priveşte traficul de reţea, de cand un dispozitiv
Page 14 of 18
coordonator nu trebuie să recepţioneze şi să răspundă fiecarui mesaj de cerere al unui
subordonat, ci se referă la el insuşi şi perechea sa imediat următoare. [1]
4. Profiluri PTP
Profilurile PTP permit specificarea valorilor atributelor şi ale caracteristicilor opţionale
ale PTP, care atunci când utilizăm acelaşi protocol de transport, lucrează împreuna şi obţin
performanţe care îndeplinesc cererile aplicatiilor particulare.3 Profilurile fac din PTP cel mai
potrivit mod pentru aplicatii particulare, în timp ce adera la un standard tot mai general.
Profilurile pot specifica mai multe aspect ale standardului. Exista doua profiluri default: Delay
Request Response şi Peer Delay. Implemetarile trebuie sa suporte cel putin una dintre aceste
default-uri. Profilurile însa si sunt standardizate şi definite de o organizatie recunoscuta de
standardizare care are jurisdictia asupra unor industrii particulare. Aceste organizatii, dupa cum
se mentioneaza în standardul PTP, trebuie să consulte The Precise Networked Clock
Syncronization Working Group of IM/ST (Instrumentation and Measurements/Sensor
Technology) Committee pentru revizuiri tehnice.
Profilurile PTP nu numai că schimbă mai multe aspecte ale standardului PTP, dar îl
extinde. Un profil poate defini propriul algoritm BMC , mecanismul de monitorizare şi
configurare, mecanismul de întarziere, transmisia unicast sau multicast, mecanismul de transport,
tipul nodurilor şi alte opţiuni care sunt cerute, permise sau interzise. Profilurile pot defini
mecanisme de transport complet noi şi tipuri de date. Flexibilitatea profilurilor PTP îndeplineşte
nevoile unor aplicaţii particulare s-au dovedit a fi utile în special în telecomunicaţii şi industria
energetica. [1]
Unicast
PTP a fost construit să asigure comunicaţii multicast, dar a fost adăugat şi suportul
unicast ca o caracteristică opţional.Standardul PTP nu descrie o implemetare PTP unicast în
detaliu, dar în schimb descrie mai multe caracteristici optionale unicast care pot fi utilizate atâta
timp cat comportamentul protocolului este pastrat.2 Cateva implementari pot necesita ca
ceasurile coordonaţilor să utilizeze o configuraţie care specifică o listă cunoscută de ceasuri
coordonatoare prin adresa protocolului ( de exemplu o listă de adrese IP utilizate în Ethernet).
Aceasta ajuta subordonaţii sa gaseasca potenţialii coordonatori. Mecasnismul de descoperire
unicast este optional, însemnând ca în utilizarea multicast poate alege să se implementeze
desoperirea multicast a ceasurilor coordonatoare şi unicast pentru toate celelalte mesaje. Mai
mult, acest tip de descoperire necesită anumite configuraţii pentru a define lista coordonatorilor,
din moment ce este specifica unui sistem dat şi imbunatateste indeplinirea obicetivelor PTP prin
faptul ca furnizeaza o instalare simpla care nu necesita administrare. [1]
O alta implementare optional definite de PTP este utilizarea mecanismului de negociere
unicast, care imbunatateste trimiterea mesajelor de semnalizare specifica catre dispozitivul
Page 15 of 18
coordonator, indicand faptul ca ei raspund cu un mesaj unicast Announce, Sync, Delay Response
sau Peer Delay Response dispozitivului subordonat. Aceasta flexibilitate în alocarea operatiei
unicast şi furnizarea mai multor caracteristici optionale în implementare, permit profilurilor sa
defieasca o implementare unicast specifica avand cele mai bune detalii pentru o anumita
aplicatie. [1]
5. Utilizarea PTP şi a NTP
Cererile dispozitivelor pentru masuratori şi control industrial sunt similare cu cele ale
multor alte industrii- şi multe rezultate inovatoare au venit din aplicarea tehnologieie în metode
pe care proprii designer nu le-au luat în considerare-, dar aplicatii destinate pentru anumite
tehnologii sunt luate în considerare inainte de a adopta altele noi.
Asa cum am descris mai sus şi este scris în standard, PTP a fost construit sa fie utilizat în
retele LAN, sau mai exact, sisteme localizate spatial, cu optiuni pentru sisteme mai mari,4 acesta
este unul dintre diferentiatorii specifici intre PTP şi NTP. Utilizarea unui LAN permite altor
obiective PTP sa fie indeplinite utilizand tehnici ca multicast pentru descoperire şi selectie
automata a coordonatorilor PTP, echipamente de retea cum sunt ceasurile boundary şi switchuri
invizibile, precum şi o rata foarte mare de transmitere a mesajelor, care nu ar fi posibila intr-un
WAN. O retea LAN ofera PTP-ului cateva libertati pe care NTP –ul nu le are, asa cum este
presupunerea- cu un grad de incredere rezonabil- care nu are legatura cu traficul scaut de retea şi
securitatea de nivel scazut, avand în vedere ca în LAN utilizarea este de obicei limitata şi
controlata. [1]
In contrast, NTP este utilizata în Internet şi este prin urmare subiectul unui numar mare
de intarzieri nedeterministe provenite de la elementele retelelor intermediare, asa cum sunt
routerele şi expuse unui numar mult mai mare de provocari de securitate. Aceste inconveniente
trebuie sa fie acceptate sau în cazul securitatii sa raspunda acestor provocari. Securitatea este
evidentiata de cand PTP include numai o extensie experimentala a protocolului adresata
securitatii, dar NTP defineste utilizarea listei de control al accesului şi o variant de criptografiere
numita Autokey. De altfel am notat ca NTP poate utilize modul milticast pentru a descoperi în
mod automat serverele cand este utilizat intr-un LAN, şi PTP poate opera în modul unicast
pentru a fi utilizat intr-un WAN . Totusi este cea mai comuna şi poate impune costuri aditionale
de configurare. [11]
Un alt obiectiv PTP este administrarea libera a operatiilor, în care dispozitivele care
formeaza un sistem pot fi desfasurate cu configurari mici sau inexistente , dar cu care se poate
obtine un timp optim de sincronizare pentru un mediu dat. Dispozitivele pot fi adaugate, şterse
sau reconfigurate în timpul utilizării sistemului şi dispozitivele PTP care formează sistemul vor
negocia automat o noua ierarhie pentru a menţine performanţa optimă de sincronizare.
Algoritmul BMC al PTP-ului este responsabil pentru acest comportament. Algoritmul de
optimizarea NTP nu permite acelasi grad de autonomie .Acesta nu permite unui dispozitiv să
devină coordonator general dacă este necesar, în ciuda schemei de descoperire dinamică a
Page 16 of 18
ultimelor specificatii NTP. deşi NTP defineste o serie de algoritmi de atenuare pentru a fi
utilizati în găsirea drumului optim.
Comparaţie privind tehnicile de sincronizare PTP si NTP
În timp ce metodologiile de sincronizare impuse de PTP şi NTP sunt similare prin faptul
ca în cele din urmă calculează offsetul ceasului şi întârzierea mesajului. Protocoalele diferă
semnificativ în ceea ce priveţte mecanismele şi acest lucru poate fi luat în considerare la alegerea
uneia dintre cele doua tipuri de tehnologii. De exemplu, PTP se bazează pe ceasuri boundery şi
switchuri invizibile pentru a obţine performanţe maxime în anumite medii.
Relevant pentru implementarea acestor aplicaţii este faptul că PTP nu defineşte un
algoritm servo pentru aplicarea informaţiilor PTP date de un dispozitiv unui dispozitiv oscilator.
în schimb, definiţia servo este specific implementată şi nu exista garanţii care să garanteze că
stivele software PTP vor avea aceeaşi sincronizare în acelaşi dispozitiv. în opozitie, NTP
defineşte un parametru tranformat şi adaptiv “cu o frecvenţă şi fază aflate într-o bucla”, utilizat
pentru a seta dispozitivul timekeeper-ului cu datele furnizate de NTP.
Termenele celor două tehnologii diferă. NTP utilizează timpul UTC, în timp ce PTP
utilizează TAI şi offseturile UTC. Aceste diferenţe pot fi semnificative designerilor de system
care işi asumă o anume scală de timp. Preocuparile legate de manipularea saltului pot fi, de
asemenea, un factor important. Spre deosebire de PTP, un salt de secunde va determina shiftarea
întregului interval de timp cu o secundă. [1]
Aşteptări în ceea ce priveşte performanţa
Un sistem tipic PTP sincronizat se aşteaptă la o sincronizare de o precizie mai mică decât
microsecunde, care în mod tipic implică asistare hardware şi dispozitive conectate într-un LAN.
Un sistem de sincronizare tipic NTP cu hardware nespecializat şi dispositive conectate într-un
WAN, va obţine o precizie de sincronizare mai mica decât milisecunde. Când PTP este
configurată corespunzator pentru utilizare într-un WAN, totuşi nu pot fi reduse la niciun avantaj
de performanţă într-un NTP. [1]
Page 17 of 18
Concluzii
PTP are capacitatea să sincronizeze dispozitivele la un ordin mai mic decât
nanosecundele unul de altul peste o infrastructură comună de reţea, care permit designerilor de
system să înlocuiască soluţiile de sincronizare costisitoare sau limitate. NTP a avut cazuri
similare, dar adesea se încadrează în aplicaţii care necesită un nivel de performanţă al
măsurătorilor şi control al sistemului. Algoritmul PTP al BMC permite adaptarea la condiţii
schimbătoare, asigurând mereu că dispozitivele au cea mai bună calitate a referinţei de timp.
Ceasurile PTP boundery şi switchurile invizibile asigură performanţe ridicate de sincronizare,
adesea într-o topologie de reţea nu tocmai ideală.
În contrast, NTP necesită ca toate dispozitivele să fie configurate la o referinţă predefinită
de timpi ai servarului, prioritari de utilizat, şi performanţă are de suferit când mesajele trebuie să
traverseze elemente de reţea aşa cum sunt switchurile.
Totuşi mediul PTP este diferit de NTP şi în functie de aplicaţie, NTP este sau nu o bună
alegere. De exemplu, mechanism de securitate al NTP şi faptul ca e timpul serverelor e
disponibil public, îl face mai potrivit pentru sincronizarea timpului în Internet, unde
performantele cerute permit.
PTP a umplut un gol pe care NTP nu a fost capabil să îl umple, dar el nu a fost înlocuit.
Totuşi PTP oferă designerilor de sistem noi instrumente de sincronizare.
Page 18 of 18
Bibliografie
1. Revista “Communications of the ACM”, Association for Computing Machinary, Rick Ratzel
si Rodney Greenstreet, online: www.acm.org/renew, accesat la 08.01.2013
2. "Windows Time Service Technical Reference". technet.microsoft.com. Link:
http://technet.microsoft.com/en-us/library/cc773061%28WS.10%29.aspx accesat la
08.01.2013
3. "Windows Time Service page at NTP.org". Support.ntp.org. 2008-02-25, accesat la
10.11.2012
4. "How the Windows Time Service Works"., technet.microsoft.com.accesat la 08.11.2012
5. "Support boundary to configure the Windows Time service for high accuracy
environments". Microsoft Corporation, http://support.microsoft.com/kb/939322 accesat la
12.01.2013
6. Internet Engineering Task Force (IETF),Request for Comments: 5905
Obsoletes: 1305, 4330, Category: Standards Track, ISSN: 2070-1721 D. Mills, U. Delaware,
J. Martin, J. Burbank, W. Kasch, APL June 2010
7. NTP 4.x for Windows NT". NTP Documentation Archive,
http://doc.ntp.org/4.2.6/hints/winnt.html, accesat la 20.01.2013
8. "Executive Summary: Computer Network Time Synchronization",
http://www.eecis.udel.edu/~mills/exec.html, accesat la 12.01.2013
9. Ned Pyle (2007-10-23). "High Accuracy W32time Requirements". Microsoft
Corporation, http://blogs.technet.com/b/askds/archive/2007/10/23/high-
accuracy-w32time-requirements.aspx?Redirected=true, accesat la 13.01.2013
10. Measurement, Control and Communication Using IEEE 1588, Eidson, John C. (April
2006), Springer. ISBN 1-84628-250-0.
11. Welcome to the NTP.Servers Web., http://ntp.isc.org/bin/view/Servers/