ˇ e vysok´e uˇcen´ı technick´e v Praze Cesk´ Fakulta elektrotechnick´a Katedra telekomunikaˇcn´ı techniky
Moˇ znosti zlepˇsen´ı pˇresnosti synchronizace ˇ casu v paketov´ ych s´ıt´ıch Disertaˇcn´ı pr´ace
Ing. Michal Pravda
Praha, srpen 2015
Doktorsk´y studijn´ı program: Elektrotechnika a informatika Studijn´ı obor: Telekomunikaˇcn´ı technika ˇ Skolitel: Doc. Ing. Jiˇr´ı Vodr´aˇzka Ph.D.
ii
c 2015 Ing. Michal Pravda Copyright
Abstrakt Disertaˇcn´ı pr´ace se zab´ yv´a moˇznostmi zlepˇsen´ı pˇresnosti synchronizace ˇcasu v paketov´ ych s´ıt´ıch a n´asledn´eho pˇresn´eho generov´an´ı taktu ze synchronizovan´eho zaˇr´ızen´ı. C´ılem pr´ace bylo prostudov´an´ı moˇznost´ı synchronizace v paketov´ ych s´ıt´ıch a nalezen´ı moˇznost´ı, kter´e zlepˇs´ı ˇcasovou synchronizaci jednotliv´ ych zaˇr´ızen´ı a zv´ yˇs´ı pˇresnost generovan´eho taktu na stranˇe klienta. Pr´ace je rozdˇelena do dvou hlavn´ıch ˇca´st´ı. Prvn´ı ˇc´ast je zamˇeˇrena na mˇeˇren´ı a anal´ yzu pˇresnosti synchronizace ˇcasu v re´aln´e s´ıti. Pˇri mˇeˇren´ı byla vyuˇz´ıv´ana zaˇr´ızen´ı s podporou Precision Time Protokolu (PTP). Vlastnosti s´ıtˇe a pˇrenosov´e parametry byly mˇenˇeny pomoc´ı s´ıt’ov´eho emul´atoru a v z´avislosti na zmˇenˇe doch´azelo i ke zmˇenˇe v´ ysledn´e pˇresnosti synchronizace ˇcasu. Druh´a ˇca´st se zab´ yv´a moˇznostmi vylepˇsen´ı pˇresnosti synchronizace ˇcasu. Strana klienta byla rozˇs´ıˇrena o druh´e lok´aln´ı hodiny H2, kter´e umoˇzn ˇuj´ı pomalejˇs´ı dolad’ov´an´ı a zvyˇsuj´ı tak v´ yslednou pˇresnost synchronizace ˇcasu klienta. N´avrh klienta byl proveden univerz´alnˇe, aby mohl b´ yt pouˇzit bud’ pro NTP nebo PTP protokol. Pˇri simulac´ıch jednotliv´ ych navrˇzen´ ych algoritm˚ u byly pouˇzity stejn´e podm´ınky, jako pˇri mˇeˇren´ı v re´aln´em prostˇred´ı a v´ ysledky byly n´aslednˇe porovn´av´any. V´ ysledn´a pˇresnost synchronizace ˇcasu pˇri simulaci metody s navrˇzen´ ym vylepˇsen´ım dosahovala lepˇs´ıch v´ ysledk˚ u neˇz pˇri mˇeˇren´ı v re´aln´e s´ıti. V´ ysledky simulac´ı uveden´e v t´eto pr´aci ukazuj´ı, ˇze navrˇzen´a metoda vylepˇsen´ı klienta dosahuje vyˇsˇs´ı pˇresnosti synchronizace ˇcasu. V pˇr´ıpadˇe porovn´an´ı lok´aln´ıch hodin H1 a H2 na stranˇe klienta zjist´ıme, ˇze kol´ıs´an´ı hodin H2 je vˇzdy niˇzˇs´ı neˇz hodin H1 za stejn´ ych vstupn´ıch podm´ınek. Toto chov´an´ı je spr´avn´e a bylo c´ılem t´eto pr´ace.
iv
Abstract This doctoral thesis deals with the possibilities of improving accuracy of time synchronization over packet networks and the subsequent accurate pulse generation. The goal of this paper is to analyze the options of synchronization in packet networks, and also to design and simulate a possible method for increasing device synchronization and accuracy of pulse generated on the side of the client. The work is divided into two main parts. The first part is focused on the analysis and measurement of synchronization accuracy in a real packet network. Measurement was performed using the Precision Time Protocol (PTP). Network transmission parameters were changed using a network emulator and depending on the change resulting synchronization accuracy varied. The second part deals with methods for improving accuracy of clock synchronization. An additional source of a local H2 clock is used on the client’s side to improve synchronization accuracy. Client design was made to be very versatile, therefore it can be used for NTP as well as PTP protocol. The proposed methods were simulated under the same conditions as the previous measurements and the results were compared. The resulting synchronization accuracy was better in the simulation than in the real network. The simulation results presented in this paper indicate that the proposed method of client improvement achieves higher accuracy of time synchronization. When comparing the results of the local H1 and H2 clocks on the client’s side, it is apparent that the variation of the H2 is always smaller than that of the H1 under identical input conditions. This behavior proves to be correct which is the aim of this work.
Podˇ ekov´ an´ı R´ad bych podˇekoval sv´emu ˇskoliteli Doc. Ing. Jiˇr´ımu Vodr´aˇzkovi, Ph.D. za vytvoˇren´ı tv˚ urˇc´ıch podm´ınek a za cenn´e pˇripom´ınky i rady pˇri tvorbˇe t´eto disertaˇcn´ı pr´ace. D´ale bych chtˇel podˇekovat sv´e rodinˇe za veˇskerou podporu a trpˇelivost bˇehem cel´eho m´eho doktorsk´eho studia.
vi
Obsah Obsah
1
Seznam obr´ azk˚ u
3
Seznam tabulek
5
Seznam zkratek
7
´ 1 Uvod
9
2 Souˇ casn´ y stav ˇ reˇ sen´ e problematiky ˇ 2.1 Casov´ a synchronizace v paketov´ ych s´ıt´ıch . . . . . . 2.2 Network Time Protocol . . . . . . . . . . . . . . . . 2.2.1 V´ ypoˇcet korekce ˇcasu . . . . . . . . . . . . . 2.2.2 V´ ykonnost NTP protokolu . . . . . . . . . . 2.3 IEEE 1588 – Precision Time Protocol . . . . . . . . 2.3.1 Architektura PTP . . . . . . . . . . . . . . 2.3.2 Princip synchronizace u PTP . . . . . . . . 2.3.2.1 Pr˚ uchoz´ı hodiny . . . . . . . . . . 2.3.3 Vlastnosti PTP . . . . . . . . . . . . . . . . 2.4 Synchronn´ı Ethernet . . . . . . . . . . . . . . . . . 2.5 Porovn´an´ı jednotliv´ ych protokol˚ u . . . . . . . . . . 2.6 Mˇeˇren´ı v re´aln´e s´ıti . . . . . . . . . . . . . . . . . . 2.6.1 Zpoˇzdˇen´ı paketov´e s´ıtˇe . . . . . . . . . . . . 2.6.2 Mˇeˇren´ı PTP . . . . . . . . . . . . . . . . . . 2.6.2.1 Popis jednotliv´ ych zaˇr´ızen´ı . . . . . 2.6.2.2 S´ıt’ov´e topologie a v´ ysledky mˇeˇren´ı 2.7 Zhodnocen´ı souˇcasn´eho stavu . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
11 11 12 13 14 14 16 17 18 19 21 22 22 22 23 24 25 33
3 C´ıle disertaˇ cn´ı pr´ ace
35
4 N´ avrh a simulace synchronizaˇ cn´ıho algoritmu 4.1 Model synchronizaˇcn´ıch obvod˚ u - aktu´aln´ı stav . . . . . . . . . . . . . . . . 4.1.1 Vyhodnocovac´ı algoritmus klienta . . . . . . . . . . . . . . . . . . .
37 37 38
1
2
OBSAH 4.2 4.3
Mˇeˇren´ı synchronizace v re´aln´em prostˇred´ı . . . . . . N´avrh na zlepˇsen´ı synchronizace . . . . . . . . . . . 4.3.1 N´avrh vhodn´eho filtru - stabilita obvodu . . 4.3.1.1 Vlastnosti a v´ ysledky FIR filtru . . 4.3.1.2 Vlastnosti a v´ ysledky IIR filtru . . 4.3.2 Simulace a v´ ysledky druh´ ych hodin . . . . . 4.3.2.1 Pr˚ umˇerovac´ı filtr . . . . . . . . . . 4.3.2.2 V´ ysledn´a pˇresnost hodin H2 . . . . 4.3.2.3 Lok´aln´ı oscil´ator a jeho dolad’ov´an´ı
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
5 Z´ avˇ er 5.1 Splnˇen´ı c´ıl˚ u disertaˇcn´ı pr´ace . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.1 Anal´ yza a mˇeˇren´ı vlivu vel. zpoˇzdˇen´ı s´ıtˇe na pˇresnost synchronizace 5.1.2 Simulaˇcn´ı program s aktu´aln´ım stavem a funkc´ı synch. algoritmu . 5.1.3 Sn´ıˇzen´ı vlivu kol´ıs´an´ı zpoˇzdˇen´ı na pˇresnost synch. a zv´ yˇsen´ı pˇresnosti 5.1.4 Vytvoˇren´ı simulaˇcn´ıho programu s vylepˇsenou synchronizac´ı . . . . 5.2 Vyuˇzit´ı pro praxi a budouc´ı pr´ace . . . . . . . . . . . . . . . . . . . . . . .
44 47 48 50 53 57 57 59 64 69 69 69 70 70 71 71
Literatura
73
Publikace autora
77
Seznam obr´ azk˚ u 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 2.18 2.19 2.20 2.21
Hierarchie jednotliv´ ych vrstev NTP [22] . . . . . . . . . . . . . . . . . ˇ Casov´ e znaˇcky pˇri komunikaci klienta se serverem . . . . . . . . . . . . Topologie jednoduch´e s´ıtˇe . . . . . . . . . . . . . . . . . . . . . . . . . Architektura synchronizaˇcn´ı jednotky s PTP. [23] . . . . . . . . . . . . Korekce offsetu [14] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mˇeˇren´ı zpoˇzdˇen´ı [14] . . . . . . . . . . . . . . . . . . . . . . . . . . . . Blokov´e sch´ema vyuˇzit´ı pr˚ uchoz´ıch hodin . . . . . . . . . . . . . . . . . Jednotliv´a zpoˇzdˇen´ı v s´ıti . . . . . . . . . . . . . . . . . . . . . . . . . Funkce synchronn´ıho Ethernetu . . . . . . . . . . . . . . . . . . . . . . ˇ Cetnost zpoˇzdˇen´ı paket˚ u pˇri propojen´ı na NTP server . . . . . . . . . . Blokov´e sch´ema synchronizaˇcn´ı karty PTP serveru [9] . . . . . . . . . . Pˇr´ım´e propojen´ı serveru a klienta . . . . . . . . . . . . . . . . . . . . . S´ıt’ov´a topologie se serverem, PTP pˇrep´ınaˇcem a klientem . . . . . . . . V´ ysledky mˇeˇren´ı pˇri pˇr´ım´em propojen´ı a s PTP pˇrep´ınaˇcem . . . . . . Topologie pro mˇeˇren´ı standardn´ıho pˇrep´ınaˇce a rozboˇcovaˇce . . . . . . V´ ysledky mˇeˇren´ı pˇri pouˇzit´ı standardn´ıho pˇrep´ınaˇce a rozboˇcovaˇce . . . Topologie pro mˇeˇren´ı rozboˇcovaˇce se zat´ıˇzen´ım . . . . . . . . . . . . . . V´ ysledky mˇeˇren´ı pˇri pouˇzit´ı rozboˇcovaˇce se zat´ıˇzen´ım a bez zat´ıˇzen´ı . . Topologie pro mˇeˇren´ı pˇrep´ınaˇce se zat´ıˇzen´ım . . . . . . . . . . . . . . . V´ ysledky mˇeˇren´ı standardn´ıho pˇrep´ınaˇce se zat´ıˇzen´ım a bez zat´ıˇzen´ı . . V´ ysledky mˇeˇren´ı stand. pˇrep´ınaˇce a Hirschmann pˇrep´ınaˇce se zat´ıˇzen´ım
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
12 13 15 16 18 19 20 20 21 23 24 25 26 26 27 27 28 29 30 31 31
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11
Blokov´e sch´ema synchronizace ˇcasu . . . . . . . . . . . . . . . . . . . Fitr FIR s ˇra´dem 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . Korekce K1 v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 1 ms Korekce K2 v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 1 ms Odchylka ˇcasu pˇri stˇredn´ı hodnotˇe zpoˇzdˇen´ı 3 ms a rozptylu 1 ms . . Korekce K1 v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 2 ms Korekce K2 v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 2 ms Odchylka ˇcasu pˇri stˇredn´ı hodnotˇe zpoˇzdˇen´ı 3 ms a rozptylu 2 ms . . Blokov´e sch´ema mˇeˇren´ı s emul´atorem s´ıtˇe . . . . . . . . . . . . . . . . Odchylka ˇcasu pˇri stˇredn´ı hodnotˇe zpoˇzdˇen´ı 3 ms a rozptylu 1 ms . . Odchylka ˇcasu pˇri stˇredn´ı hodnotˇe zpoˇzdˇen´ı 3 ms a rozptylu 2 ms . .
. . . . . . . . . . .
. . . . . . . . . . .
38 39 40 40 41 42 42 43 44 45 45
3
. . . . . . . . . . .
´ U ˚ SEZNAM OBRAZK
4 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20 4.21 4.22 4.23 4.24 4.25 4.26 4.27 4.28 4.29 4.30 4.31 4.32 4.33 4.34 4.35 4.36
Odchylka ˇcasu pˇri stˇredn´ı hodnotˇe zpoˇzdˇen´ı 10 ms a rozptylu 1 ms . . . . . Rozˇs´ıˇren´e blokov´e sch´ema synchronizace ˇcasu . . . . . . . . . . . . . . . . . Regulaˇcn´ı smyˇcka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Oblast stability diskr´etn´ıch regulaˇcn´ıch obvod˚ u . . . . . . . . . . . . . . . Amplitudov´a charakterist. fitru FIR ˇra´du 20 s mezn´ım kmitoˇctem 0,03 Hz Zobrazen´ı nul a p´ol˚ u filtru FIR ˇra´du 20 s mezn´ım kmitoˇctem 0,03 Hz . . . V´ ysledek synchronizace ˇcasu klienta s filtrem FIR ˇr´ad 20 . . . . . . . . . . Filtr IIR s ˇra´dem 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zobrazen´ı nul a p´ol˚ u filtru IIR ˇra´du 4 s mezn´ım kmitoˇctem 0,03 Hz . . . . Nyquist˚ uv diagram pro filtr IIR s ˇra´dem 4 . . . . . . . . . . . . . . . . . . Korekce K1 v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 1 ms . . . Korekce K2 v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 1 ms . . . Odchylka ˇcasu pˇri stˇredn´ı hodnotˇe zpoˇzdˇen´ı 3 ms a rozptylu 1 ms . . . . . ˇ ast blokov´eho sch´ematu s hodinami H2 . . . . . . . . . . . . . . . . . . . C´ V´ ysledn´e korekce K4 a K2 pˇri stˇredn´ı hodnotˇe zpoˇzd. 3 ms a rozptylu 1 ms Rozd´ıl ˇcasu serveru a H2 pˇri stˇredn´ı hodnotˇe zpoˇzdˇen´ı 3 ms a rozptylu 1 ms Rozd´ıl ˇcasu serveru a H1, H2 pˇri stˇredn´ı hodnotˇe zpoˇzd. 3 ms a rozpt. 1 ms Rozd´ıl ˇcasu serveru a H1, H2 pˇri stˇredn´ı hodnotˇe zpoˇzd. 3 ms a rozpt. 3 ms Rozd´ıl ˇcasu serveru a H1, H2 pˇri stˇredn´ı hodnotˇe zpoˇzd. 10 ms a rozpt. 1 ms ˇ ast blokov´eho sch´ematu s oscil´atorem . . . . . . . . . . . . . . . . . . . . C´ F´azov´ y z´avˇes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pˇrevodn´ı charakteristika doladˇen´ı oscil´atoru . . . . . . . . . . . . . . . . . Rozd´ıl ˇcasu serveru a ˇcasu H1 a H2 pˇri chybˇe lok´aln´ıho oscil´atoru o 2 Hz . Dolad’ov´an´ı osc. s chybou 2 Hz pˇri stˇredn´ı hodnotˇe zpoˇz. 3 ms a rozp. 1 ms Dolad’ov´an´ı osc. s chybou 2 Hz pˇri stˇredn´ı hodnotˇe zpoˇz. 3 ms a rozp. 2 ms
46 47 48 49 50 51 52 53 54 55 55 56 56 57 59 60 61 63 63 64 65 66 67 68 68
5.1
Histogram ˇcetnost´ı rozd´ılu ˇcasu serveru a ˇcasu hodin H1 a H2 . . . . . . .
72
Seznam tabulek 2.1
V´ ysledky mˇeˇren´ı pro r˚ uzn´e topologie pˇri r˚ uzn´ ych podm´ınk´ach . . . . . . .
32
4.1 4.2 4.3 4.4 4.5 4.6
V´ ysledky simulac´ı pˇri r˚ uzn´ ych podm´ınk´ach nastaven´ı s´ıtˇe . . . . . . . . . . V´ ysledky mˇeˇren´ı s emul´atorem s´ıtˇe pˇri r˚ uzn´ ych podm´ınk´ach nastaven´ı s´ıtˇe V´ ysledky pˇresnosti syn. hodin H1 pˇri r˚ uzn´ ych podm´ınk´ach nastaven´ı s´ıtˇe . V´ ysledky pˇresnosti syn. hodin H2 pˇri r˚ uzn´ ych podm´ınk´ach nastaven´ı s´ıtˇe . Funkce doladˇen´ı oscil´atoru pˇri simulaci . . . . . . . . . . . . . . . . . . . . V´ ysledky pˇresnosti synchronizace hodin H2 v z´avislosti na doladˇen´ı osc. . .
43 46 62 62 65 67
5
6
SEZNAM TABULEK
Seznam zkratek
SDH OTH IEEE ITU ITU-T ETSI RFC ISO SNTP NTP PTP BMC TSU TC E2E P2P FTP HTTP FPGA PHY MII MAC UDP TCP SyncE SSM LAN MAN WAN
Synchronous Digital Hierarchy Optical Transport Network Institute of Electrical and Electronics Engineers International Telecommunication Union International Telecommunication Union Telecommunication Sector European Telecommunication Standards Institute Request for Comments International Organization for Standardization Simple Network Time Protocol Network Time Protocol Precision Time Protocol Best Master Clock Time Stamp Unit Transparent Clock End to End Peer to Peer File Transfer Protocol Hypertext Transfer Protocol Field Programmable Gate Array Physical Layer Media Independent Interface Medium Access Layer User Datagram Protocol Transmission Control Protocol Synchronous Ethernet Synchronization status message Local Area Network Metropolitan Area Network Wide Area Network 7
8
SEZNAM TABULEK GPS USB PPS FIR IIR PLL VCO RTT
Global Positioning System Universal Serial Bus Pulse Per Second Finite Impulse Response Infinite Impulse Response Phase Lock Loop Voltage Controlled Oscillator Round Trip Time
Pouˇ z´ıvan´ e symboly x Promˇenn´a, kter´a pˇredstavuje nˇejakou hodnotu t Reprezentuje ˇcas - vyuˇz´ıv´ano zejm´ena v simulac´ıch ∆t Reprezentuje rozd´ıl ˇcas˚ u (hodin) - vyuˇz´ıv´ano zejm´ena pˇri porovn´an´ı rozd´ılu hodin klienta a serveru δ Reprezentuje poˇcet pr˚ umˇerovan´ ych vzork˚ u - vyuˇz´ıvano u pr˚ umˇerovac´ıch filtr˚ u f Symbol frekvence ∆f Reprezentuje odchylku frekvence k Symbol korekce - reprezentuje hodnotu korekce hodin na stranˇe klienta
Kapitola 1 ´ Uvod Synchronizace ˇcasu a distribuce taktu je d˚ uleˇzit´ ym parametrem telekomunikaˇcn´ıch a poˇc´ıtaˇcov´ ych s´ıt´ı. Pˇresn´a distribuce a synchronizace taktu je vyˇzadov´ana pˇri komunikaci v re´aln´em ˇcase napˇr´ıklad v automatizaˇcn´ıch syst´emech nebo pˇri pˇrenosu audia ˇci videa. V p´ateˇrn´ıch s´ıt´ıch jsou vyuˇz´ıv´any s´ıtˇe se synchronizac´ı (napˇr´ıklad s´ıtˇe SDH), nicm´enˇe je potˇreba umoˇznit synchronizaci i pˇres jin´e typy s´ıt´ı, jak´ ymi jsou napˇr´ıklad paketov´e s´ıtˇe. V automatizaci doch´az´ı vlivem vzr˚ ustaj´ıc´ı sloˇzitosti a v´ ykonu strojn´ıch zaˇr´ızen´ı, kter´e pracuj´ı relativnˇe samostatnˇe, k decentralizaci ˇr´ızen´ı. To klade vˇetˇs´ı d˚ uraz na rychlost a pˇresnost vz´ajemn´e synchronizace jednotliv´ ych zaˇr´ızen´ı a pˇresn´e generov´an´ı ˇr´ıd´ıc´ıho taktu pro dalˇs´ı zaˇr´ızen´ı. Koordinaci a pˇresn´e ˇcasov´an´ı zaˇr´ızen´ı je potˇreba ˇreˇsit pomoc´ı s´ıt’ov´eho propojen´ı a jednou z moˇznost´ı, kter´a je nejv´ıce rozv´ıjena a diskutov´ana, je vyuˇzit´ı standardn´ı paketov´e s´ıtˇe Ethernet.
Pˇ r´ınos t´ eto disertaˇ cn´ı pr´ ace Hlavn´ı n´apln´ı t´eto disertaˇcn´ı pr´ace je anal´ yza moˇznost´ı synchronizace ˇcasu v paketov´ ych s´ıt´ıch a zv´ yˇsen´ı pˇresnosti synchronizace ˇcasu i generov´an´ı taktu. Pro synchronizaci ˇcasu se vyuˇz´ıv´a nˇekolik synchronizaˇcn´ıch protokol˚ u. Z´akladn´ı princip synchronizace ˇcasu je u vˇsech protokol˚ u podobn´ y a spoˇc´ıv´a ve v´ ymˇenˇe ˇcasov´ ych zpr´av mezi serverem a klientem. Hlavn´ım probl´emem pˇri synchronizaci ˇcasu je zpoˇzdˇen´ı pˇri doruˇcov´an´ı jednotliv´ ych zpr´av pomoc´ı paket˚ u. V pˇr´ıpadˇe generov´an´ı taktu je nejd˚ uleˇzitˇejˇs´ım aspektem pˇresnost gener´atoru a jeho schopnost doladˇen´ı na z´akladˇe informac´ı z´ıskan´ ych ze synchronizaˇcn´ıho protokolu. Hlavn´ı oblasti t´eto pr´ace lze shrnout do n´asleduj´ıc´ıch bod˚ u: 1. Mˇeˇren´ı a anal´ yza zp˚ usob˚ u synchronizace ˇcasu klienta v r˚ uzn´ ych s´ıt´ıch a za r˚ uzn´ ych podm´ınek. 2. Simulace zp˚ usobu synchronizace ˇcasu u st´avaj´ıc´ıch synchronizaˇcn´ıch protokol˚ u. 3. Vytvoˇren´ı optimalizovan´ ych algoritm˚ u a simulaˇcn´ıho modelu na stranˇe klienta, kter´ y vylepˇsuje v´ yslednou pˇresnost synchronizace ˇcasu. 9
10
´ KAPITOLA 1. UVOD 4. Implementace gener´atoru taktu do simulaˇcn´ıho modelu na stranˇe klienta za u ´ˇcel zv´ yˇsen´ı pˇresnosti stability generovan´eho taktu.
Pˇredloˇzen´a pr´ace shrnuje v´ ysledky v´ yzkumu v oblasti synchronizace ˇcasu v paketov´ ych s´ıt´ıch v n´avaznosti na n´avrh synchronizaˇcn´ı jednotky s gener´atorem taktu a navrhuje moˇznosti vylepˇsen´ı pro budouc´ı implementaci do jednotliv´ ych zaˇr´ızen´ı.
Kapitola 2 Souˇ casn´ y stav ˇ reˇ sen´ e problematiky Paketov´e s´ıtˇe jsou nejrychleji se rozv´ıjej´ıc´ım typem s´ıt´ı v souˇcasnosti. Pˇrenosy pˇres paketov´e s´ıtˇe jsou dnes vyuˇz´ıvan´e i v p´ateˇrn´ıch s´ıt´ıch, kde dˇr´ıve byly vyuˇz´ıvan´e jin´e technologie. Ethernet je nejzn´amˇejˇs´ım z´astupcem paketov´ ych s´ıt´ı. Jeˇstˇe pˇred rokem 2000 se Ethernet [4] stal dominantn´ı technologi´ı pro dr´atov´e lok´aln´ı s´ıtˇe (LAN). Dnes je Ethernet definov´an i pro optick´e vl´akno, kde je dosahov´ano rychlosti des´ıtek Gbit/s. V z´avislosti na rozˇsiˇrov´an´ı paketov´ ych s´ıt´ı do pr˚ umyslov´e oblasti se vz´ajemn´a synchronizace zaˇr´ızen´ı st´av´a poˇzadovanou funkˇcnost´ı jednotliv´ ych zaˇr´ızen´ı. Proto je synchronizace v paketov´ ych s´ıt´ıch velice diskutovan´ ym probl´emem [12]. Moje pr´ace se zamˇeˇruje na synchronizaci a distribuci ˇcasu v paketov´ ych s´ıt´ıch a n´asledn´e generov´an´ı pˇresn´eho taktu. Network Time Protocol (NTP), Simple Network Time Protocol (SNTP) a relativnˇe nov´ y IEEE-1588 Precision Time Protocol (PTP) patˇr´ı mezi nejrozˇs´ıˇrenˇejˇs´ı synchronizaˇcn´ı protokoly. Network Time Protocol [1] patˇr´ı mezi nejzn´amˇejˇs´ı protokoly a je vyuˇz´ıv´an k synchronizaci ˇcasu poˇc´ıtaˇc˚ u pˇres Internet. SNTP [2] je zjednoduˇsen´ y synchronizaˇcn´ı protokol vych´azej´ıc´ı z NTP, kter´ y m´a horˇs´ı pˇresnost synchronizace. Nejnovˇejˇs´ı synchronizaˇcn´ı protokol popisuje standard IEEE 1588 a je tak´e zn´am´ y jako PTP (Precision Time Protocol). Prvn´ı n´avrh standardu byl vyd´an v roce 2002, ale v roce 2008 byla vyd´ana druh´a revize tohoto dokumentu [6]. Hlavn´ım rozd´ılem mezi NTP a PTP protokolem jsou moˇznosti jejich implementace. Zat´ımco NTP dovoluje pouze softwarovou implementaci, PTP protokol umoˇzn ˇuje jak softwarovou, tak hardwarovou implementaci. Hardwarov´a implementace umoˇzn ˇuje pˇresnˇejˇs´ı urˇcen´ı ˇcasu pˇrijet´ı ˇci odesl´an´ı paketu, ˇc´ımˇz se zvyˇsuje v´ ysledn´a pˇresnost synchronizace [23].
2.1
ˇ Casov´ a synchronizace v paketov´ ych s´ıt´ıch
Obsahem t´eto kapitoly jsou jednotliv´e moˇznosti synchronizace ˇcasu v paketov´ ych s´ıt´ıch, popis jednotliv´ ych protokol˚ u, kter´e synchronizaci umoˇzn ˇuj´ı a jejich vlastnosti. Jak bylo zm´ınˇeno v u ´vodu, mezi nejzn´amˇejˇs´ı protokoly patˇr´ı Network Time Protocol (NTP) a Precision Time Protocol (PTP). NTP je velice popul´arn´ı a ˇsiroce rozˇs´ıˇren´ y hlavnˇe v poˇc´ıtaˇcov´ ych s´ıt´ıch, kde se pouˇz´ıv´a k synchronizaci ˇcasu poˇc´ıtaˇc˚ u a jednotliv´ ych s´ıt’ov´ ych 11
ˇ ´ STAV RE ˇ SEN ˇ E ´ PROBLEMATIKY KAPITOLA 2. SOUCASN Y
12
zaˇr´ızen´ı. Pˇresnost NTP protokolu je v ˇra´du jednotek aˇz des´ıtek milisekund. PTP protokol je dnes nejpˇresnˇejˇs´ım protokolem pro synchronizaci ˇcasu pˇres paketov´e s´ıtˇe. Jeho pˇresnost pˇri hardwarov´e podpoˇre je v ˇra´du des´ıtek nanosekund. NTP protokol vyuˇz´ıv´a podobn´ ych princip˚ u jako PTP, nicm´enˇe hlavn´ı d˚ uvod lepˇs´ı pˇresnosti synchronizace u PTP je pˇresn´e urˇcen´ı pˇr´ıchodu ˇcasov´e znaˇcky na u ´rovn´ı s´ıt’ov´e karty, to ale vyˇzaduje hardwarovou implementaci protokolu. Tato vlastnost speci´aln´ı hardwarov´e podpory m˚ uˇze b´ yt jasnou nev´ yhodou oproti NTP.
2.2
Network Time Protocol
Network Time Protocol (NTP) je jeden z nejstarˇs´ıch a nejrozˇs´ıˇrenˇejˇs´ıch protokol˚ u, kter´ y je vyuˇz´ıv´an pro ˇcasovou synchronizaci v prostˇred´ı Internetu. NTP byl prim´arnˇe vynalezen pro synchronizaci hodin v poˇc´ıtaˇc´ıch a jeho struktura umoˇzn ˇuje i synchronizaci jednotliv´ ych d˚ uvˇeryhodn´ ych ˇcasov´ ych server˚ u, kter´e n´aslednˇe poskytuj´ı pˇresn´ y ˇcas sv´ ym klient˚ um. Bylo vytvoˇreno nˇekolik verz´ı tohoto protokolu. Nejrozˇs´ıˇrenˇejˇs´ı verz´ı je verze 3, kterou vytvoˇril David Mills v roce 1992 [1]. NTP vyuˇz´ıv´a konceptu jednotliv´ ych u ´rovn´ı, kter´e jsou oznaˇcov´any jako stratum. Jedn´a se o hierarchick´ y model, kde kaˇzd´e zaˇr´ızen´ı v urˇcit´e vrstvˇe m˚ uˇze fungovat jako ˇcasov´ y server pro zaˇr´ızen´ı v niˇzˇs´ı vrstvˇe (obr. 2.1). Stratum 0 reprezentuj´ı servery se samostatn´ ymi ˇ ım vyˇsˇs´ı ˇc´ıslo stratum, t´ım niˇzˇs´ı pˇresnost hodin. Stratum 1 a 2 referenˇcn´ımi hodinami. C´ maj´ı NTP servery velk´ ych poskytovatel˚ u a stratum 3 a 4 jsou uˇz pro klienty ˇci lok´aln´ı poskytovatele. NTP klient um´ı pˇrijmout ˇcasovou informaci souˇcasnˇe od v´ıce NTP server˚ u, coˇz umoˇzn´ı pˇresnˇejˇs´ı urˇcen´ı ˇcasu. Transportn´ım protokolem pro NTP pakety je UDP (User Datagram Protocol), kter´ y pouˇz´ıv´a port 123. UDP nevytv´aˇr´ı st´al´e pˇripojen´ı mezi serverem a klientem.
Obr´azek 2.1: Hierarchie jednotliv´ ych vrstev NTP [22] NTP vyuˇz´ıv´a nˇekolik algoritm˚ u, kter´e jsou urˇceny pro specifick´e ˇcinnosti a mezi kter´e
2.2. NETWORK TIME PROTOCOL
13
patˇr´ı napˇr´ıklad Marzulloho algoritmus. Tento algoritmus se star´a o v´ ybˇer jednoho synchronizaˇcn´ıho serveru z nˇekolika server˚ u. Algoritmus je schopn´ y urˇcit, kter´e ˇcasov´e servery maj´ı ’ nejvyˇsˇs´ı pˇresnost. Dalˇs´ı algoritmus zajiˇst uje spr´avn´ y synchronizaˇcn´ı proces a je zaloˇzen na postupn´em pˇribliˇzov´an´ı k pˇresn´emu ˇcasu. U algoritmu m˚ uˇzeme rozliˇsit dvˇe f´aze. Prvn´ı f´aze je pouˇzita pˇri velk´em rozd´ılu ˇcasu klienta a serveru (obvykle nad 125 milisekund) a v tomto ˇ klienta se okamˇzitˇe uprav´ı o vypoˇctenou kopˇr´ıpadˇe dojde ke skokov´e synchronizaci. Cas rekci. V druh´e f´azi doch´az´ı k pravideln´e synchronizaci, kter´a pozvolna zpˇresˇ nuje ˇcas klienta.
2.2.1
V´ ypoˇ cet korekce ˇ casu
NTP protokol je zaloˇzen na v´ ymˇenˇe ˇcasov´ ych zpr´av mezi jednotliv´ ymi zaˇr´ızen´ımi, kter´ ymi m˚ uˇzou b´ yt jak servery, tak poˇc´ıtaˇce ˇci jin´a s´ıt’ov´a zaˇr´ızen´ı [1]. Jednotliv´e ˇcasov´e ˇ znaˇcky jsou pˇren´aˇseny v NTP paketech. Casov´ a znaˇcka je ˇc´ıslo, kter´e ud´av´a datum a ˇcas. ˇ Casov´a znaˇcka je v paketu reprezentov´ana ˇc´ıslem o velikosti 64 bit˚ u, kde prvn´ıch 32 bit˚ u reprezentuje poˇcet sekund od 1. ledna 1900 a druh´ ych 32 bit˚ u vyjadˇruje ˇc´ıslo za desetinou teˇckou. Jsme tedy schopni pˇren´aˇset ˇcas s pˇresnost´ı 232 ps. Pˇri synchronizaci ˇcasu klient poˇsle dotaz na NTP server, kter´ y dopln´ı svou lok´aln´ı ˇcasovou znaˇcku a poˇsle ji zpˇet klientovi. Jeden klient se m˚ uˇze dotazovat souˇcasnˇe nˇekolik NTP server˚ u a podle vestavˇen´eho algoritmu vybere ten nejvhodnˇejˇs´ı. V´ ysledn´a ˇcasov´a korekce lok´aln´ıch hodin je n´aslednˇe vypoˇc´ıt´av´ana ze vˇsech ˇcasov´ ych znaˇcek zobrazen´ ych na ilustraˇcn´ım obr´azku 2.2. Zaˇca´tek komunikace zahajuje klient, kter´ y vyˇsle ˇza´dost ve formˇe NTP paketu, kter´ y obsahuje prvn´ı ˇcasovou znaˇcku T1 (ˇcas odesl´an´ı poˇzadavku). Pot´e co server pˇrijme tuto zpr´avu, vygeneruje ˇcasovou znaˇcku T2 , kter´a reprezentuje ˇcas pˇrijet´ı NTP paketu. N´aslednˇe server poˇzadavek zpracuje a pos´ıl´a zpˇet NTP paket, do kter´eho tˇesnˇe pˇred odesl´an´ım dopln´ı ˇcasovou znaˇcku T3 . Posledn´ım krokem je pˇrijet´ı paketu klientem v ˇcase T4 .
ˇ Obr´azek 2.2: Casov´ e znaˇcky pˇri komunikaci klienta se serverem Z tˇechto ˇctyˇrech ˇcasov´ ych znaˇcek je vypoˇc´ıt´ano zpoˇzdˇen´ı s´ıtˇe δ (2.1) a odchylka ˇcasu serveru a klienta (offset) o (2.4). δ = ((T4 − T1 ) − (T3 − T2 ))/2
(2.1)
ˇ ´ STAV RE ˇ SEN ˇ E ´ PROBLEMATIKY KAPITOLA 2. SOUCASN Y
14
V´ ypoˇcet s´ıt’ov´eho zpoˇzdˇen´ı pˇredpokl´ad´a, ˇze zpoˇzdˇen´ı ve smˇeru od klienta k serveru je stejn´e jako ve smˇeru od serveru ke klientovi. Pˇresnˇe jsme schopni urˇcit jen celkov´e zpoˇzdˇen´ı tam i zpˇet (T4 − T1 ) − (T3 − T2 ). Rozd´ıl ˇcasu serveru a klienta vyjadˇruje, o kolik se m´a ˇcas klienta upravit, aby odpov´ıdal ˇcasu serveru. Rovnice (2.2) prezentuje ide´aln´ı pˇr´ıpad, kdy ˇcas klienta je pˇresnˇe zasynchronizov´an s ˇcasem serveru. T4 = T3 + δ (2.2) V pˇr´ıpadˇe, ˇze klient nen´ı zasynchronizov´an, mus´ı se k ˇcasu klienta pˇriˇc´ıst korekce o, kter´a ˇcas klienta uprav´ı. V´ ysledn´ y v´ ypoˇcet hodnoty korekce po u ´prav´ach je uveden ve vztahu 2.4. o + T4 o
2.2.2
= T3 + δ = (T2 − T1 + T3 − T4 )/2
(2.3) (2.4)
V´ ykonnost NTP protokolu
Pˇresnost NTP protokolu je znaˇcnˇe z´avisl´a na vzd´alenosti od NTP serveru. V pˇr´ıpadˇe velk´ ych s´ıt´ı jako je tˇreba Internet se pˇresnost synchronizace ˇcasu pohybuje v ˇra´du des´ıtek milisekund. V pˇr´ıpadˇe lok´aln´ıch s´ıt´ı (LAN) je pˇresnost synchronizace v rozmez´ı od 0,5 do 10 milisekund. Studie [23] uv´ad´ı pro lok´aln´ı s´ıtˇe pr˚ umˇernou hodnotu ˇcasov´e nepˇresnosti 8,2 milisekundy, medi´an 1,8 milisekundy a smˇerodatnou odchylku 18 milisekund. V pˇr´ıpadˇe Internetu byla zjiˇstˇena pr˚ umˇern´a hodnota 88 milisekund, medi´an 30 milisekund a smˇerodatn´a odchylka 175 milisekund. Na pˇresnost synchronizace m´a vliv mnoho faktor˚ u. Promˇenliv´e zpoˇzdˇen´ı s´ıtˇe m˚ uˇzeme povaˇzovat za nejv´ yznamnˇejˇs´ı a je zejm´ena zp˚ usobeno s´ıt’ov´ ymi prvky v cestˇe mezi klientem a serverem (pˇrep´ınaˇce, smˇerovaˇce). V kapitole 2.6.1 je popsan´e mˇeˇren´ı v re´aln´e s´ıti s NTP.
2.3
IEEE 1588 – Precision Time Protocol
Pˇresn´ y ˇcasov´ y protokol (The Precision Time Protocol - PTP) je n´azev pro synchronizaˇcn´ı protokol umoˇznuj´ıc´ı synchronizaci ˇcasu v paketov´ ych s´ıt´ıch a je pops´an ve standardu IEEE 1588. Prvn´ı verze tohoto standardu byla publikov´ana v roce 2002. Druh´a verze, kter´a je nyn´ı aktu´aln´ı a pˇrin´aˇs´ı mal´e zmˇeny a vylepˇsen´ı, byla publikov´ana v roce 2008. C´ılem v´ yvoje protokolu PTP bylo hlavnˇe zv´ yˇsen´ı pˇresnosti synchronizace [29]. D˚ uraz pˇri v´ yvoji a formulaci standardu byl kladen zejm´ena na: • v´ yslednou pˇresnost synchronizace ˇcasu, kter´a je v ˇra´du des´ıtek aˇz stovek nanosekund • vytvoˇren´ı mezin´arodn´ıho standardu, kter´ y by zajistil interoperabilitu zaˇr´ızen´ı jednotliv´ ych v´ yrobc˚ u a umoˇznil tak vˇetˇs´ı rozˇs´ıˇren´ı a vyuˇzit´ı tohoto synchronizaˇcn´ıho protokolu
2.3. IEEE 1588 – PRECISION TIME PROTOCOL
15
• vˇsestrannost a univerz´alnost protokolu, kter´ y umoˇzn´ı vyuˇzit´ı v nejrozˇs´ıˇrenˇejˇs´ıch typech s´ıt´ı (Ethernet), d´ale pouˇzitelnost i v mal´ ych s´ıt´ıch ˇci pods´ıt´ıch s minim´aln´ımi n´aroky na spr´avu, n´ızk´e n´aroky na hardware a v´ ypoˇcetn´ı v´ ykon jednotliv´ ych zaˇr´ızen´ı PTP protokol slouˇz´ı k synchronizaci ˇcasu vˇsech zaˇr´ızen´ı, kter´a jsou pˇripojena k jedn´e s´ıti. PTP protokol je zaloˇzen na pˇrenosu synchronizaˇcn´ıch zpr´av mezi jednotliv´ ymi zaˇr´ızen´ımi. Aby bylo dosaˇzeno vysok´e pˇresnosti synchronizace ˇcasu, je na zaˇca´tku synchronizaˇcn´ıho algoritmu nutn´e urˇcit zaˇr´ızen´ı s nejpˇresnˇejˇs´ım ˇcasem a toto zaˇr´ızen´ı je v r´amci synchronizaˇcn´ıho algoritmu oznaˇceno jako hlavn´ı (master). Ostatn´ı zaˇr´ızen´ı se n´aslednˇe chovaj´ı jako podˇr´ızen´a, ale i u nich doch´az´ı k urˇcit´e konfiguraci, a to podle toho zda jsou hraniˇcn´ımi zaˇr´ızen´ımi (boundary) a nebo bˇeˇzn´ ymi koncov´ ymi zaˇr´ızen´ımi (ordinary). Hraniˇcn´ı s´ıt’ov´e prvky pˇrij´ımaj´ı synchronizaci od hlavn´ıho (master) s´ıt’ov´eho prvku a n´aslednˇe ji pˇred´avaj´ı koncov´ ym s´ıt’ov´ ym prvk˚ um (obr. 2.3). Druh´a verze PTP nav´ıc definuje takzvan´e pr˚ uchoz´ı hodiny (transparent clock) [13], kter´ ym se budeme vˇenovat pozdˇeji.
Obr´azek 2.3: Topologie jednoduch´e s´ıtˇe Pˇr´ıklad jednoduch´e s´ıtˇe je zobrazen na obr´azku 2.3. Jsou zde zobrazeny dvoje hraniˇcn´ı hodiny a dvoje standardn´ı. Pˇri startu je nastaveno jedno zaˇr´ızen´ı jako hlavn´ı (master) a to podle pˇresnosti vnitˇrn´ıch hodin jednotliv´ ych zaˇr´ızen´ı. N´aslednˇe toto zaˇr´ızen´ı poskytuje pˇresn´ y ˇcas ostatn´ım. Zaˇr´ızen´ı, kter´e maj´ı v´ıce port˚ u (napˇr´ıklad pˇrep´ınaˇce), mohou m´ıt nˇekter´e porty v reˇzimu slave a nˇekter´e v reˇzimu master (v obr´azku oznaˇceno jako S a M). To znamen´a, ˇze zaˇr´ızen´ı se synchronizuj´ı z jednoho zdroje a pˇresn´ y ˇcas d´ale poskytuj´ı dalˇs´ım zaˇr´ızen´ım. Algoritmus, kter´ y urˇcuje nejpˇresnˇejˇs´ı hodiny, se naz´ yv´a Best Master Clock (BMC). Detailn´ı popis n´avrhu a realizace jednotliv´ ych topologi´ı je pops´ana v kapitole 3.3 v knize [14]. Po nastaven´ı jednotliv´ ych s´ıt’ov´ ych prvk˚ u a urˇcen´ı master-slave hierarchie dojde ke spuˇstˇen´ı synchronizace mezi jednotliv´ ymi prvky. Pˇresn´ y ˇcas je na jednotliv´ ych s´ıt’ov´ ych prvc´ıch urˇcov´an v´ ypoˇctem. Podobnˇe jako u NTP protokolu doch´az´ı k v´ ypoˇctu zpoˇzdˇen´ı paketu mezi dvˇema zaˇr´ızen´ımi a n´aslednˇe je vypoˇc´ıt´ana korekce ˇcasu klienta. Vyuˇzit´ı vysok´e pˇresnosti synchronizace ˇcasu a tedy cel´eho protokolu PTP se najde v mnoha oblastech. Jednou z nich jsou napˇr´ıklad mˇeˇr´ıc´ı syst´emy, kde potˇrebujeme zn´at
16
ˇ ´ STAV RE ˇ SEN ˇ E ´ PROBLEMATIKY KAPITOLA 2. SOUCASN Y
pˇresn´ y okamˇzik mˇeˇren´ı urˇcit´eho senzoru. Proto je potˇreba m´ıt pˇresnˇe synchronizovan´ y ˇcas v mˇeˇr´ıc´ım zaˇr´ızen´ı. Synchronn´ı sbˇer dat, registrace ud´alost´ı a dalˇs´ı funkce vyˇzaduj´ı vysokou pˇresnost synchronizace. Uplatnˇen´ı je moˇzn´e naj´ıt napˇr´ıklad v inteligentn´ıch s´ıt´ıch ”Smart Grid”, kter´e vznikaj´ı v oblasti ˇr´ızen´ı energetick´ ych s´ıt´ı. PTP se tak´e vyuˇz´ıv´a v telekomunikac´ıch napˇr´ıklad pro synchronizaci taktu z´akladnov´ ych stanic v mobiln´ı s´ıti a n´aslednˇe generov´an´ı taktu pro dalˇs´ı zaˇr´ızen´ı v mobiln´ı s´ıti. Tento protokol je velice vhodn´e vyuˇz´ıt v pˇr´ıpadˇe potˇreby generov´an´ı pˇresn´eho taktu pro dalˇs´ı zaˇr´ızen´ı v odlehl´e lokalitˇe. D´ıky tomuto protokolu nepotˇrebujeme budovat samostatnou synchronizaˇcn´ı s´ıt’, coˇz m´a pˇr´ımou n´avaznost na finanˇcn´ı n´aklady. Vlastnosti a frekvence generovan´eho taktu je z´avisl´a na moˇznostech koncov´eho zaˇr´ızen´ı.
2.3.1
Architektura PTP
Standardn´ı synchronizaˇcn´ı protokoly byly vˇzdy implementov´any jen softwarovˇe a to pˇrin´aˇs´ı urˇcit´e nev´ yhody [23]. PTP protokol pˇrin´aˇs´ı moˇznost jak softwarov´e, tak hardwarov´e implementace. Hardwarov´a implementace je n´aroˇcnˇejˇs´ı a jednotliv´a zaˇr´ızen´ı mus´ı podporovat tento synchronizaˇcn´ı protokol, ale v´ ysledn´a pˇresnost synchronizace je mnohem lepˇs´ı v porovn´an´ı se softwarovou implementac´ı. Hardwarov´a implementace umoˇzn ˇuje pˇresn´e urˇcen´ı ˇcasu pˇr´ıchoz´ıho a odchoz´ıho PTP paketu na fyzick´e m´edium.
IEEE 1588 (PTP) Aplika ní vrstva Port
Rozhraní asového razítka
Rozhraní Hodin SW
Sí ový Protokol (OS)
Jednotka asového razítka
Hardwarové Hodiny
MAC
PHY
HW
Fyzické p ipojení
Obr´azek 2.4: Architektura synchronizaˇcn´ı jednotky s PTP. [23] Architektura protokolu PTP je specifick´a t´ım, ˇze jsou oddˇelen´e ˇcasovˇe n´aroˇcn´e u ´koly, kter´e jsou implementov´any v hardwaru a pak samotn´ y protokol. D´ıky tomuto doch´az´ı
2.3. IEEE 1588 – PRECISION TIME PROTOCOL
17
k rozdˇelen´ı hardwarov´e a softwarov´e ˇca´sti. Z toho vypl´ yvaj´ı niˇzˇs´ı n´aroky na v´ ykonnost procesoru. Hardwarov´a jednotka obsahuje velmi pˇresn´e hodiny a jednotku ˇcasov´eho raz´ıtka (TSU Time Stamp Unit). Jednotka ˇcasov´eho raz´ıtka zajiˇst’uje vloˇzen´ı ˇci vyjmut´ı ˇcasov´ ych znaˇcek z paketu. Softwarov´a ˇca´st implementuje protokol IEEE 1588 s vazbou na pˇresn´e hodiny a jednotku ˇcasov´eho raz´ıtka (Obr. 2.4). Protokol podle IEEE 1588 je nez´avisl´ y na operaˇcn´ım syst´emu, a proto je tˇreba vytvoˇrit mezivrstvu, kter´a bude komunikovat mezi operaˇcn´ım syst´emem a protokolem. M˚ uˇzeme tedy hovoˇrit o tˇrech vrstv´ach. Prvn´ı vrstva implementuje synchronizaci v s´ıti a lze j´ı nal´ezt v r˚ uzn´ ych komunikaˇcn´ıch zaˇr´ızen´ı (switch, router, PC). Mezivrstva oznaˇcovan´a jako Abstraction Layer zajiˇst’uje pˇred´av´an´ı potˇrebn´ ych informac´ı mezi operaˇcn´ım syst´emem a PTP (protokolovou vrstvou). Komunikace t´eto vrstvy s protokolovou vrstvou je realizov´ana pomoc´ı fronty. Mezivrstva obsahuje nˇekolik rozhran´ı. Rozhran´ı ˇcasov´eho raz´ıtka zpracov´av´a jednotliv´e zpr´avy ze s´ıt’ov´e komunikace a rozhran´ı hodin slouˇz´ı ke ˇcten´ı a modifikov´an´ı lok´aln´ıch hodin. Pˇri realizaci mohou b´ yt pouˇzity napˇr´ıklad syst´emov´e hodiny z operaˇcn´ıho syst´emu, pokud nebudou realizov´any ˇza´dn´e hardwarov´e hodiny. Posledn´ım rozhran´ım je rozhran´ı portu, kter´e se pouˇz´ıv´a k vys´ıl´an´ı a pˇr´ıjmu PTP zpr´av. PTP m˚ uˇze kromˇe UDP/IP vyuˇz´ıt jenom IP protokolu. Detailn´ı popis moˇzn´e hardwarov´e implementace pomoc´ı FPGA je pops´an v ˇcl´anku ”Design and implementation of IEEE1588 time synchronization messages timestamping based on FPGA”[21].
2.3.2
Princip synchronizace u PTP
Princip synchronizace klienta je uveden na obr´azku 2.5. Hodnoty zpoˇzdˇen´ı a poˇca´teˇcn´ıch ˇcas˚ u jsou z n´azorn´eho d˚ uvodu zvoleny tak, aby se s nimi dobˇre poˇc´ıtalo a neodpov´ıdaj´ı realitˇe. Jelikoˇz ˇcasov´ y rozd´ıl mezi hlavn´ımi a podˇr´ızen´ ymi hodinami je souˇctem offsetu (rozd´ılu) hodin a pˇrenosov´ ym zpoˇzdˇen´ım s´ıtˇe, prob´ıh´a synchronizace ve dvou f´az´ıch: oprava offsetu a korekce vlivu s´ıt’ov´eho zpoˇzdˇen´ı. V prvn´ım f´azi je vys´ıl´ana synchronizaˇcn´ı zpr´ava “Sync”, kter´a je n´asledov´ana zpr´avou “N´asleduj´ıc´ı zpr´ava”. Hodnoty Tm a Ts pˇredstavuj´ı aktu´aln´ı ˇcasy na zaˇr´ızen´ı master a slave. Hodnoty TM a TS vyjadˇruj´ı ˇcasy, kdy byl odesl´an nebo pˇrijat paket. Ve zpr´avˇe “Sync” se pˇren´aˇs´ı informaci o ˇcasu hlavn´ı ˇcasov´e z´akladny v dobˇe, kdy byla zpr´ava odesl´ana. Tato hodnota se “N´asleduj´ıc´ı zpr´avou” potvrd´ı, nebo m˚ uˇze doj´ıt k upˇresnˇen´ı t´eto hodnoty vlivem kontroln´ıch mechanism˚ u masteru. Vedlejˇs´ı ˇcasov´a z´akladna tyto zpr´avy pˇrijme a provede v´ ypoˇcet offsetu na z´akladˇe rozd´ılu sv´eho intern´ıho ˇcasu a ˇcasu pˇrijat´eho v synchronizaˇcn´ıch zpr´av´ach. Na z´akladˇe offsetu je n´aslednˇe upravena hodnota ˇcasu v synchronizuj´ıc´ım se zaˇr´ızen´ı. Ve druh´e f´azi (obr. 2.6) se urˇcuje zpoˇzdˇen´ı mezi hlavn´ı a vedlejˇs´ı ˇcasovou z´akladnou. Vedlejˇs´ı ˇcasov´a z´akladna poˇsle zpr´avu “Dotaz” a zaˇcne mˇeˇrit dobu pˇrenosu zpr´avy. Hlavn´ı ˇcasov´a z´akladna pˇrijme zpr´avu, pˇreˇcte si sv˚ uj aktu´aln´ı ˇcas, kter´ y dopln´ı do zpr´avy “Od’ povˇed ” a odeˇsle zpr´avu zpˇet. Po pˇrijet´ı zpr´avy vedlejˇs´ı ˇcasovou z´akladnou dojde k v´ ypoˇctu zpoˇzdˇen´ı a k opravˇe ˇcasu na zaˇr´ızen´ı.
18
ˇ ´ STAV RE ˇ SEN ˇ E ´ PROBLEMATIKY KAPITOLA 2. SOUCASN Y
Obr´azek 2.5: Korekce offsetu [14] D´ıky tomu, ˇze mˇeˇren´ı je prov´adˇeno vˇzdy jen mezi dvˇema prvky s´ıtˇe, se v´ ysledn´a pˇresnost pohybuje v ˇra´dech des´ıtek nanosekund. Mˇeˇren´ı zpoˇzdˇen´ı je vykon´av´ano nepravidelnˇe. Hodnota intervalu je mezi 4 a 60 sekundami, kde 60 sekund je nastaveno jako z´akladn´ı. D´ıky t´eto moˇznosti lze ovlivnit zat´ıˇzen´ı s´ıtˇe, kter´e m˚ uˇze b´ yt nepatrn´e. 2.3.2.1
Pr˚ uchoz´ı hodiny
Pojem transparent clock [25, 16, 17], kter´ y m˚ uˇzeme pˇreloˇzit jako pr˚ uchoz´ı hodiny, byl zaveden aˇz v druh´e verzi standardu pro PTP protokol vydan´eho v roce 2008. D˚ uvodem byla niˇzˇs´ı v´ ysledn´a pˇresnost ˇcasu klienta pˇri pouˇzit´ı v´ıce prvk˚ u v s´ıti, kter´e byly zapojeny s´eriovˇe. V pˇr´ıpadˇe vˇetˇs´ıho zat´ıˇzen´ı urˇcit´e cesty, kter´a m˚ uˇze b´ yt dokonce asymetrick´a, doch´az´ı pˇri pˇrenosu k vˇetˇs´ımu zpoˇzdˇen´ı PTP paket˚ u urˇcit´ ym smˇerem. To se n´aslednˇe projevuje ve vˇetˇs´ı nepˇresnosti synchronizace jednotliv´ ych zaˇr´ızen´ı, kter´e se ve v´ ysledku sˇc´ıtaj´ı. D´ale v pˇr´ıpadˇe zmˇeny konfigurace s´ıtˇe roste ˇcas k resynchronizaci vˇsech hodin za zmˇenˇen´ ym ’ s´ıt ov´ ym prvkem. Ve standardu IEEE 1588 jsou definov´any dva reˇzimy pr˚ uchoz´ıch hodin (Transparent Clock TC) a to End-to-End a Peer-to-Peer. S´ıt’ov´a zaˇr´ızen´ı v reˇzimu pr˚ uchoz´ıch hodin neprov´adˇej´ı synchronizaci sv´ ych vnitˇrn´ıch hodin. Princip TC hodin je takov´ y, ˇze mˇeˇr´ı a kompenzuj´ı zpoˇzdˇen´ı, kter´e vznik´a pˇri pr˚ uchodu synchronizaˇcn´ıho paketu pˇres blok TC hodin. End-to-End (E2E) TC pˇred´av´a synchronizaˇcn´ı zpr´avu Sync od serveru nezmˇenˇenou a zamˇeˇruje se jen na pˇresn´e zmˇeˇren´ı zpoˇzdˇen´ı paketu v dan´em zaˇr´ızen´ı. Kaˇzd´e zaˇr´ızen´ı
2.3. IEEE 1588 – PRECISION TIME PROTOCOL
19
Obr´azek 2.6: Mˇeˇren´ı zpoˇzdˇen´ı [14] nastaven´e v reˇzimu E2E TC a um´ıstˇen´e mezi masterem a slavem urˇcuje, kdy synchronizaˇcn´ı PTP paket pˇriˇsel a kdy odeˇsel a v´ yslednou d´elku zpoˇzdˇen´ı zaznamen´av´a a pos´ıl´a d´ale. Klient tuto hodnotu spolu s hodnotami od serveru pouˇzije pˇri v´ ypoˇctu v´ ysledn´e odchylky sv´eho ˇcasu. V pˇr´ıpadˇe pouˇzit´ı reˇzimu Peer-to-Peer (P2P) nen´ı mˇeˇreno jen zpoˇzdˇen´ı v dan´em zaˇr´ızen´ı, ale je zde zahrnov´ano i zpoˇzdˇen´ı trasy. Jednotliv´a zaˇr´ızen´ı zjiˇst’uj´ı zpoˇzdˇen´ı jednotliv´ ych pˇripojen´ ych tras pomoc´ı Peer delay mechanismu. Namˇeˇren´a zpoˇzdˇen´ı jsou n´aslednˇe vyhodnocov´ana a pˇripoˇc´ıt´av´ana ke zpoˇzdˇen´ı jednotliv´ ych s´ıt’ov´ ych prvk˚ u a d´ale pˇred´av´ana koncov´ ym klient˚ um. Klient tyto hodnoty vyuˇz´ıv´a k urˇcen´ı pˇresnˇejˇs´ıho zpoˇzdˇen´ı a n´aslednˇe k pˇresnˇejˇs´ı korekci lok´aln´ıch hodin.
2.3.3
Vlastnosti PTP
Dosahovan´a pˇresnost hardwarov´e implementace je v ˇra´du des´ıtek nanosekund. Bylo provedeno nˇekolik r˚ uzn´ ych re´aln´ ych mˇeˇren´ı, kter´e jsou pops´any v kapitole 2.6.2. Hlavn´ım omezen´ım v pˇr´ıpadˇe hardwarov´a implementace PTP je nutnost nov´ ych zaˇr´ızen´ı s podporou dan´eho protokolu. Proto je PTP moment´alnˇe vyuˇz´ıv´an sp´ıˇse v menˇs´ıch s´ıt´ıch, kde lze um´ıstit jeden synchronizaˇcn´ı server s pˇresn´ ym ˇcasem, kter´ y distribuuje synchronizaci ke koncov´ ym bod˚ um s´ıtˇe. Tento protokol se v posledn´ım obdob´ı velice rychle vyv´ıj´ı a zaˇc´ın´a b´ yt souˇca´st´ı jednotliv´ ych s´ıt’ov´ ych zaˇr´ızen´ı.
20
ˇ ´ STAV RE ˇ SEN ˇ E ´ PROBLEMATIKY KAPITOLA 2. SOUCASN Y
Obr´azek 2.7: Blokov´e sch´ema vyuˇzit´ı pr˚ uchoz´ıch hodin
Obr´azek 2.8: Jednotliv´a zpoˇzdˇen´ı v s´ıti
2.4. SYNCHRONN´I ETHERNET
2.4
21
Synchronn´ı Ethernet
Jako dalˇs´ı alternativou, kter´a umoˇzn ˇuje synchronizaci v Ethernet s´ıti, je Synchronn´ı Ethernet. Synchronn´ı Ethernet (oznaˇcovan´ y jako SyncE) vyuˇz´ıv´a pˇr´ımo fyzick´e vrstvy a takt je odvozov´an pˇr´ımo z pˇren´aˇsen´eho bitov´eho toku dat. Je zde vyuˇz´ıv´ano podobn´eho principu jako napˇr´ıklad u E1 sign´alu v telekomunikac´ıch. Synchronn´ı Ethernet byl standardizov´an organizac´ı ITU-T ve spolupr´aci s IEEE a je pops´an ve tˇrech doporuˇcen´ıch [5, 8, 7]. Synchronn´ı Ethernet nelze u ´plnˇe porovn´avat s pˇredchoz´ımi protokoly jako je PTP ˇci NTP. Pˇri synchronizaci, kter´a prob´ıh´a po fyzick´e vrstvˇe, nen´ı moˇzn´e pˇren´aˇset ˇza´dnou informaci o ˇcase, a proto se zde mluv´ı o synchronizaci taktu. Pro urˇcitou spr´avu a informaci o pˇresnosti se samozˇrejmˇe vyuˇz´ıvaj´ı protokoly vyˇsˇs´ıch vrstev. Konkr´etnˇe se jedn´a o zpr´avy SSM (synchronization status message). Synchronn´ı Ethernet hlavnˇe ˇreˇs´ı synchronizaci taktu jednotliv´ ych zaˇr´ızen´ı. Pro vˇetˇsinu zaˇr´ızen´ı, kter´e maj´ı mezi sebou komunikovat, je synchronizace taktu dostateˇcn´a, protoˇze nepotˇrebuj´ı zn´at pˇresn´ y ˇcas. Vz´ajemn´a synchronizace jim umoˇzn ˇuje lepˇs´ı fungov´an´ı, coˇz pˇrisp´ıv´a ke zv´ yˇsen´ı kvality sluˇzby.
Obr´azek 2.9: Funkce synchronn´ıho Ethernetu Struktura a funkce s´ıt’ov´eho adapt´eru u Synchronn´ıho Ethernetu je zobrazena na obr´azku 2.9. Hlavn´ım blokem je synchronizaˇcn´ı jednotka, kter´a dod´av´a takt (nebo pˇrij´ım´a) do (nebo z) fyzick´eho rozhran´ı s´ıt’ov´eho adapt´eru. Tento sign´al m˚ uˇze b´ yt br´an z extern´ıho vstupu nebo z vnitˇrn´ıho oscil´atoru. V pˇr´ıpadˇe hlavn´ıho zaˇr´ızen´ı je vyˇzadov´ana vysok´a stabilita oscil´atoru, a proto jsou tyto oscil´atory mnohem pˇresnˇejˇs´ı. D´ale je nutn´e urˇcit´ ym zp˚ usobem ˇr´ıdit a nastavovat Synchronizaˇcn´ı jednotku, a proto je nutn´e propojen´ı s MAC (Medium Access Layer). Velkou v´ yhodou u Synchronn´ıho Ethernetu je moˇznost pˇrenosu taktovac´ıho sign´alu pro jin´a zaˇr´ızen´ı. Napˇr´ıklad do hlavn´ıho zaˇr´ızen´ı pracuj´ıc´ıho na Ethernetu m˚ uˇze b´ yt zaveden synchronizaˇcn´ı sign´al napˇr´ıklad ze s´ıtˇe SDH a na konci je tento sign´al vyveden a pˇripojen zase do jin´e s´ıtˇe SDH. Synchronn´ı Ethernet m˚ uˇze slouˇzit k pˇreklenut´ı urˇcit´e vzd´alenosti, kde je potˇreba pˇren´est synchronizaˇcn´ı informaci. Poˇzadavky na ˇcasov´e charakteristiky jsou uvedeny v doporuˇcen´ıch G.813 [3] a G.8262 [8]
22
2.5
ˇ ´ STAV RE ˇ SEN ˇ E ´ PROBLEMATIKY KAPITOLA 2. SOUCASN Y
Porovn´ an´ı jednotliv´ ych protokol˚ u
Vˇsechny protokoly, kromˇe synchronn´ıho Ethernetu, jsou pouˇz´ıv´any v prostˇred´ı internetu a jejich zpr´avy se pˇren´aˇsej´ı po paketov´ ych s´ıt´ıch. Hlavn´ım probl´emem paketov´ ych s´ıt´ı je promˇenn´e zpoˇzdˇen´ı, kter´e je d´ano architekturou paketov´e s´ıtˇe a nelze ho pˇredv´ıdat. Kaˇzd´e zaˇr´ızen´ı, kter´e je vloˇzeno do pˇrenosov´e cesty, pˇrid´av´a k celkov´emu zpoˇzdˇen´ı urˇcitou malou ˇca´st a jednotliv´e protokoly se snaˇz´ı toto zpoˇzdˇen´ı zmˇeˇrit a korigovat. Protokol NTP je jeden z nejstarˇs´ıch protokol˚ u, kter´ y se st´ale vyv´ıj´ı a dok´aˇze konkurovat i nov´ ym protokol˚ um. Jeho hlavn´ı v´ yhodou je dostupnost po cel´em internetu. Pˇresnost tohoto protokolu nen´ı pˇr´ıliˇs vysok´a. Mnohem l´epe je na tom PTP protokol podle standartu IEEE 1588, kter´ y poskytuje mnohem vˇetˇs´ı pˇresnost. Pˇresnost tohoto protokolu je ud´avan´a v ˇra´du des´ıtek nanosekund pˇri hardwarov´e implementaci [28] a okolo jedn´e mikrosekundy pˇri softwarov´e implementaci [20]. PTP protokol ve sv´e hardwarov´e verzi vyuˇz´ıv´a ke sv´e synchronizaci jednotliv´a zaˇr´ızen´ı s podporou tohoto protokolu, a proto nen´ı zat´ıˇzen zpoˇzdˇen´ım jin´ ych s´ıt’ov´ ych prvk˚ u, kter´e by se v s´ıti nemˇeli vyskytovat.
2.6
Mˇ eˇ ren´ı v re´ aln´ e s´ıti
Z´akladem pr´ace byla anal´ yza a mˇeˇren´ı zpoˇzdˇen´ı v paketov´e s´ıti a mˇeˇren´ı pˇresnosti jednotliv´ ych synchronizaˇcn´ıch protokol˚ u. Jednotliv´a mˇeˇren´ı jsou uvedena v t´eto ˇca´sti a umoˇznila z´ıskat pˇrehled o principech fungov´an´ı a moˇznostech dalˇs´ıho vylepˇsen´ı jednotliv´ ych protokol˚ u.
2.6.1
Zpoˇ zdˇ en´ı paketov´ e s´ıtˇ e
Paketov´a s´ıt’ byla navrˇzena pro pˇrenos paket˚ u a to sebou pˇrin´aˇs´ı jist´e v´ yhody i nev´ yhody. V´ yhodou je rozdˇelen´ı zpr´av, kter´e mohou b´ yt posl´any r˚ uzn´ ymi cestami a tud´ıˇz lepˇs´ı vyuˇzit´ı pˇrenosov´ ych prostˇredk˚ u, ale z´aroveˇ n to m˚ uˇze b´ yt i nev´ yhodou, coˇz je n´aˇs pˇr´ıpad. Nelze zaruˇcit, aby se paket ˇs´ıˇril pˇres paketovou s´ıt’ pˇredem urˇcenou cestou. Zpoˇzdˇen´ı paketu pˇri pr˚ uchodu s´ıt´ı se mˇen´ı vlivem zmˇeny zat´ıˇzen´ı jednotliv´ ych bod˚ u s´ıtˇe nebo aktu´aln´ı zmˇenou topologie s´ıtˇe napˇr´ıklad pˇri v´ ypadku urˇcit´eho spojen´ı. Mˇeˇren´ı zpoˇzdˇen´ı s´ıtˇe bylo prov´adˇeno pomoc´ı protokolu NTP, kdy byl zjiˇst’ov´an ˇcas ˇ zpoˇzdˇen´ı mezi klientem a serverem. Mˇeˇren´ı bylo prov´adˇeno v Ethernet s´ıti CVUT, kde klient byl um´ıstˇen na Bubeneˇcsk´e koleji v Praze a server byl um´ıstˇen na Strahovsk´ ych kolej´ıch v Praze. Jednalo se o veˇrejn´ y NTP server. Kaˇzdou sekundu byl vysl´an dotaz na NTP server a bylo zjiˇstˇeno zpoˇzdˇen´ı tam a zpˇet, kter´e bylo zaznamen´ano. V´ ysledky jsou zobrazeny ve formˇe histogramu (obr. 2.10). Detailn´ı popis mˇeˇren´ı a zp˚ usoby vyhodnocen´ı jsou uvedeny v Diplomov´e pr´aci [24]. Ze zm´ınˇen´eho histogramu je vidˇet typick´e rozloˇzen´ı zpoˇzdˇen´ı jednotliv´ ych paket˚ u [19], kter´e odpov´ıd´a logaritmicko-norm´aln´ımu rozloˇzen´ı [27][18]. Pˇri mˇeˇren´ı jsme schopni pˇresnˇe zmˇeˇrit obousmˇern´e zpoˇzdˇen´ı. Z pohledu synchronizace je d˚ uleˇzitˇejˇs´ı jednosmˇern´e zpoˇzdˇen´ı (napˇr. od serveru ke klientovi), kter´e pot´e slouˇz´ı ke korekci lok´aln´ıch hodin klientsk´e strany. Algoritmus pˇredpokl´ad´a zpoˇzdˇen´ı v obou smˇerech
ˇ REN ˇ ´I V REALN ´ E ´ S´ITI 2.6. ME
23
ˇ Obr´azek 2.10: Cetnost zpoˇzdˇen´ı paket˚ u pˇri propojen´ı na NTP server stejn´e. Dalˇs´ı d˚ uleˇzit´ y vliv na pˇresnost synchronizace maj´ı jednotliv´a koncov´a zaˇr´ızen´ı, kter´a pˇrid´avaj´ı dalˇs´ı zpoˇzdˇen´ı dan´e d´elkou zpracov´an´ı jednotliv´ ych poˇzadavk˚ u. Je to d´ano operaˇcn´ım syst´emem, kter´ y m´a vˇzdy nˇejakou frontu u ´loh a jednotliv´e priority jednotliv´ ych proces˚ u. Rozd´ıl mezi okamˇzikem, kdy je ˇcasov´e raz´ıtko vloˇzeno do paketu a kdy je paket skuteˇcnˇe odesl´an, je d´ano zat´ıˇzen´ım syst´emu a to m˚ uˇze zp˚ usobovat velkou variabilitu zpoˇzdˇen´ı. Ke stejn´emu probl´emu m˚ uˇze doch´azet tak´e na druh´e stranˇe pˇri pˇr´ıjmu paketu. PTP protokol toto ˇreˇs´ı hardwarovou implementac´ı hodin popsanou v kapitole 2.3.1. Hodnota rozptylu jednotliv´ ych paket˚ u, kter´a nejv´ıce ovlivˇ nuje pˇresnost synchronizace ˇ na stranˇe klienta, je nejd˚ uleˇzitˇejˇs´ım parametrem. C´ım menˇs´ı bude rozptyl zpoˇzdˇen´ı, t´ım vˇetˇs´ı bude pˇresnost synchronizace, protoˇze j moˇzn´e vypoˇc´ıtat pˇresnˇejˇs´ı ˇcas. Nejvyˇsˇs´ı hodnota ˇcetnosti zpoˇzdˇen´ı pˇri mˇeˇren´ı na re´aln´e s´ıti (obr. 2.10) je okolo hodnoty zpoˇzdˇen´ı 7 ms. Velikost konstantn´ıho zpoˇzdˇen´ı nen´ı d˚ uleˇzit´a, protoˇze ji m˚ uˇzeme z pˇrijat´ ych paket˚ u vypoˇc´ıtat a eliminovat (kapitola 2.2.1). Naˇs´ım u ´kolem je eliminovat ruˇsiv´e p˚ usoben´ı paket˚ u, kter´e pˇrich´azej´ı s velk´ ym zpoˇzdˇen´ım a negativnˇe ovlivˇ nuj´ı pˇresnost synchronizace.
2.6.2
Mˇ eˇ ren´ı PTP
Precision Time Protocol (IEEE 1588) vyuˇz´ıv´a hierarchickou topologii ve tvaru stromu, stejnˇe jako je vyuˇz´ıv´ana z´akladn´ı topologie v Ethernet s´ıti. To znamen´a, ˇze v s´ıti je dostupn´ y jeden hlavn´ı synchronizaˇcn´ı server, kter´ y poskytuje pˇresn´ y ˇcas dalˇs´ım s´ıt’ov´ ym zaˇr´ızen´ım jako jsou pˇrep´ınaˇce a koncov´e s´ıt’ov´e karty v reˇzimu klienta. Jak bylo pops´ano v kapitole 2.3, mechanismus pro v´ ybˇer nejpˇresnˇejˇs´ıch hodin a vytvoˇren´ı synchronizaˇcn´ı hierarchie je implementov´an pˇr´ımo v PTP. Pˇri mˇeˇren´ı pˇresnosti tohoto protokolu byl pouˇzit jeden synchronizaˇcn´ı server s GPS
24
ˇ ´ STAV RE ˇ SEN ˇ E ´ PROBLEMATIKY KAPITOLA 2. SOUCASN Y
pˇrij´ımaˇcem, jeden Ethernet pˇrep´ınaˇc a jeden poˇc´ıtaˇc se s´ıt’ovou kartou s podporou PTP. D´ale byl pouˇzit jeden obyˇcejn´ y pˇrep´ınaˇc a rozboˇcovaˇc bez podpory PTP, kter´ y byl vloˇzen do synchronizaˇcn´ı cesty za u ´ˇcelem sledov´an´ı vlivu na zhorˇsen´ı pˇresnosti synchronizace. 2.6.2.1
Popis jednotliv´ ych zaˇ r´ızen´ı
Jako hlavn´ı synchronizaˇcn´ı server byl pouˇzit ˇcasov´ y server od firmy Meinberg s oznaˇcen´ım LANTIME (Local Area Network Timeserver) M600/GPS. Tento server poskytuje velice pˇresn´ y ˇcas pˇres Ethernet (TCP/IP) s´ıt’. Jedn´a se o modul´arn´ı koncepci serveru, a proto m˚ uˇze b´ yt rozˇsiˇrov´an o dalˇs´ı moduly ˇci rozhran´ı. V naˇs´ı konfiguraci server obsahuje ˇctyˇri z´akladn´ı 100Base-T Ethernetov´e rozhran´ı, kter´e podporuj´ı NTP a SNTP protokol, jeden 100Base-T Ethernetov´e rozhran´ı s podporou PTP, nˇekolik v´ ystup˚ u vyveden´ ych na BNC konektory s r˚ uznou taktovac´ı frekvenc´ı, RS232 rozhran´ı a vstup na GPS ant´enu. Server poskytuje mnoho s´ıt’ov´ ych sluˇzeb pˇres Ethernet rozhran´ı jako je napˇr´ıklad NTP v2, v3 a v4 (ve vˇsesmˇerov´em i v´ıcesmˇerov´em reˇzimu), SNTP, FTP, HTTP a dalˇs´ı. Hlavn´ı funkci PTP protokolu u serveru pln´ı jednotka ˇcasov´eho raz´ıtka, kter´a je implementov´ana na FPGA a star´a se o kontrolu datov´ ych paket˚ u na u ´rovni rozhran´ı MII (Media Independent Interface), kter´e je mezi fyzickou vrstvou (PHY) a pˇr´ıstupovou vrstvou (MAC) (Obr. 2.4). Jestliˇze je v pˇr´ıchoz´ıch zpr´av´ach detekov´an PTP paket, jednotka ˇcasov´eho raz´ıtka si zaznamen´a pˇresn´ y ˇcas pˇr´ıchodu a pˇred´a tuto informaci d´ale. N´aslednˇe je tento ˇcas pouˇzit k v´ ypoˇctu zpoˇzdˇen´ı pˇrenosov´e cesty a ke korekci m´ıstn´ıch hodin. V pˇr´ıpadˇe odchoz´ıho PTP paketu je urˇcen pˇresn´ y ˇcas odesl´an´ı, kter´ y je n´aslednˇe posl´an v n´asleduj´ıc´ı zpr´avˇe (obr. 2.5). Tato zpr´ava je v angliˇctinˇe naz´ yv´ana jako follow up zpr´ava. Pˇresn´ y ˇcas hodin je urˇcov´an z GPS modulu a pomoc´ı f´azov´eho z´avˇesu je udrˇzov´an i pˇri v´ ypadku. Cel´ y proces je pops´an na obr´azku 2.11.
Obr´azek 2.11: Blokov´e sch´ema synchronizaˇcn´ı karty PTP serveru [9] Nejd˚ uleˇzitˇejˇs´ım obvodem synchronizaˇcn´ıho serveru je intern´ı oscil´ator a jeho stabilita taktu. PTP server je osazen velice stabiln´ım oscil´atorem typu OCXO LQ, kter´ y m´a kr´atkodobou stabilitu okolo 1 · 10−9 a dlouhodobou stabilitu pˇribliˇznˇe 4 · 10−7 v reˇzimu
ˇ REN ˇ ´I V REALN ´ E ´ S´ITI 2.6. ME
25
voln´eho bˇehu bez synchronizace (free-running mode). D´ıky GPS modulu, kter´ y poskytuje velice pˇresn´ y ˇcas, je v´ ysledn´a pˇresnost synchronizace pˇri spolupr´aci s intern´ım oscil´atorem −11 okolo hodnoty 1 · 10 . Vˇsechny tyto charakteristiky jsou teplotnˇe z´avisl´e a lze je nal´ezt v dokumentaci k PTP serveru [9]. Konfiguraci serveru je moˇzn´e prov´adˇet pomoc´ı konzole pˇripojen´e pˇres RS232 port nebo pomoc´ı Telnetu. Lze tak´e vyuˇz´ıt jednoduch´ ych www str´anek dostupn´ ych pˇres libovoln´ y webov´ y prohl´ıˇzeˇc. Dalˇs´ı komponentou pouˇzitou pˇri mˇeˇren´ı byl pr˚ umyslov´ y pˇrep´ınaˇc od firmy Hirschmann s podporou PTP (IEEE 1588). D´ıky modul´arnosti tohoto pˇrep´ınaˇce je moˇzn´e pˇrid´avat dalˇs´ı porty a rozˇs´ıˇren´ı, nicm´enˇe postaˇcuje z´akladn´ı konfigurace se 4 Ethernetov´ ymi porty, USB konektorem a s rozhran´ım V.24 pro spr´avu pˇrep´ınaˇce. Konfigurace pˇrep´ınaˇce je samozˇrejmˇe moˇzn´a v´ıce zp˚ usoby. Posledn´ı komponentou s podporou PTP je s´ıt’ov´a karta PTP270PEX od firmy Meinberg. Tato karta vyuˇz´ıv´a standardn´ı sbˇernice PCI-E (Express). S´ıt’ov´a karta pracuje typicky v reˇzimu klient, kdy synchronizuje sv˚ uj ˇcas na z´akladˇe pˇr´ıchoz´ıch paket˚ u. S´ıt’ov´a karta tak´e obsahuje jednotku ˇcasov´eho raz´ıtka, kter´a je implementov´ana v obvodu FPGA a kter´a pracuje podobnˇe jako u synchronizaˇcn´ıho serveru uveden´eho na obr´azku 2.11. S´ıt’ov´a karta m´a tak´e nˇekolik v´ ystup˚ u s r˚ uzn´ ym taktem napˇr´ıklad 10MHz nebo PPS (kaˇzdou sekundu jeden puls). Tyto v´ ystupy budou pouˇzity pˇri mˇeˇren´ı, abychom z´ıskali odchylku ˇcasu serveru a klienta a t´ım p´adem zjistili vliv jednotliv´ ych zaˇr´ızen´ı na pˇresnost synchronizace. D´ale byl pouˇzit jeˇstˇe jeden standardn´ı rozboˇcovaˇc a pˇrep´ınaˇc. Pˇri mˇeˇren´ı byl zjiˇst’ov´an vliv tˇechto zaˇr´ızen´ı (bez podpory PTP) na pˇresnost v´ ysledn´e synchronizace. 2.6.2.2
S´ıt’ov´ e topologie a v´ ysledky mˇ eˇ ren´ı
V pˇredchoz´ı podkapitole byla pops´ana jednotliv´a zaˇr´ızen´ı, kter´a budou vyuˇz´ıv´ana pˇri mˇeˇren´ı. V kaˇzd´e mˇeˇren´e topologii mus´ı b´ yt obsaˇzen minim´alnˇe PTP server a poˇc´ıtaˇc se ’ s´ıt ovou kartou, kter´a podporuje PTP protokol. Tedy nejjednoduˇsˇs´ı topologi´ı je pˇr´ım´e propojen´ı serveru a klienta (Obr´azek 2.12).
Obr´azek 2.12: Pˇr´ım´e propojen´ı serveru a klienta Mˇeˇren´ı je n´aslednˇe prov´adˇeno porovn´an´ım n´abˇeˇzn´ ych hran sekundov´ ych pulz˚ u (PPS Pulse per Second) ze serveru a klienta pomoc´ı osciloskopu. V pˇr´ıpadˇe, ˇze je ˇcas klienta a
ˇ ´ STAV RE ˇ SEN ˇ E ´ PROBLEMATIKY KAPITOLA 2. SOUCASN Y
26
serveru pˇresnˇe synchronizov´an, nen´ı namˇeˇren ˇza´dn´ y rozd´ıl mezi PPS od serveru a klienta. Tedy kaˇzdou sekundu je z´ısk´ana jedna hodnota, kter´a vyjadˇruje rozd´ıl ˇcasu klienta od ˇcasu serveru. Tyto hodnoty jsou zaznamen´any a zobrazeny ve formˇe grafu (obr. 2.14) a statistick´ ych hodnot (tabulka 2.1).
Obr´azek 2.13: S´ıt’ov´a topologie se serverem, PTP pˇrep´ınaˇcem a klientem Velice podobn´ ych v´ ysledk˚ u se dos´ahlo i v topologii, kdy byl mezi serverem a s´ıt’ovou kartou pˇripojen jeˇstˇe pˇrep´ınaˇc s podporou PTP od firmy Hirschmann. Topologie mˇeˇren´ı je zobrazena na obr´azku 2.13. −8
x 10
pˇr´ıme´ propojen´ı pˇres PTP pˇrep´ınaˇc
3 2 1
∆t [s]
0 −1 −2 −3 −4 −5 0
50
100
150
200
250
300
t [s]
Obr´azek 2.14: V´ ysledky mˇeˇren´ı pˇri pˇr´ım´em propojen´ı a s PTP pˇrep´ınaˇcem Obr´azek 2.14 zobrazuje jednotliv´e odchylky ˇcasu serveru a ˇcasu klienta (s´ıt’ov´a karta v poˇc´ıtaˇci). Graf zobrazuje v´ ysledky mˇeˇren´ı na obou topologi´ıch zm´ınˇen´ ych v´ yˇse. V grafu
ˇ REN ˇ ´I V REALN ´ E ´ S´ITI 2.6. ME
27
je pro pˇrehlednost zobrazeno jenom 300 hodnot, nicm´enˇe pˇri kaˇzd´em mˇeˇren´ı bylo z´ısk´ano v´ıce neˇz 1000 hodnot. Stˇredn´ı hodnota rozd´ılu ˇcasu serveru a klienta pˇri pˇr´ım´em propojen´ı byla okolo 15 nanosekund. Nejvˇetˇs´ı zaznamenan´ y rozd´ıl byl 54 ns. Topologie se serverem, PTP pˇrep´ınaˇcem a PC mˇela stˇredn´ı hodnotu nepˇresnosti synchronizace 19,8 ns a nejvˇetˇs´ı zaznamenan´ y rozd´ıl ˇcas˚ u byl 58 ns. Tyto v´ ysledky opravdu potvrzuj´ı tvrzen´ı, ˇze pˇresnost synchronizace s hardwarovou implementac´ı je v ˇra´du des´ıtek maxim´alnˇe stovek nanosekund.
Obr´azek 2.15: Topologie pro mˇeˇren´ı standardn´ıho pˇrep´ınaˇce a rozboˇcovaˇce D´ale byl mˇeˇren vliv standardn´ıho pˇrep´ınaˇce a rozboˇcovaˇce na v´ yslednou pˇresnost synchronizace. Topologie je uvedena na obr´azku 2.15. V´ ysledn´a pˇresnost synchronizace se zhorˇsila pˇribliˇznˇe desetkr´at. −7
x 10 8
pˇrep´ınaˇc opakovaˇc
6 4
∆t [s]
2 0 −2 −4 −6 0
50
100
150 t [s]
200
250
300
Obr´azek 2.16: V´ ysledky mˇeˇren´ı pˇri pouˇzit´ı standardn´ıho pˇrep´ınaˇce a rozboˇcovaˇce
28
ˇ ´ STAV RE ˇ SEN ˇ E ´ PROBLEMATIKY KAPITOLA 2. SOUCASN Y
V´ ysledn´a odchylka synchronizace ˇcasu je u pˇrep´ınaˇce a rozboˇcovaˇce velice podobn´a. Pˇri synchronizaci se hodnoty odchylek pohybovaly v kladn´ ych i z´aporn´ ych ˇc´ıslech a v´ ysledn´a stˇredn´ı hodnota pˇri mˇeˇren´ı s rozboˇcovaˇcem je 33 ns a s pˇrep´ınaˇcem je 106 ns. Maxim´aln´ı namˇeˇren´a odchylka byla v pˇr´ıpadˇe rozboˇcovaˇce 787 ns a v pˇr´ıpadˇe pˇrep´ınaˇce 820 ns (Obr´azek 2.16). Lze tedy ˇr´ıci, ˇze rozboˇcovaˇc je dosahuje lepˇs´ıch v´ ysledk˚ u neˇz pˇrep´ınaˇc. Pravdˇepodobnˇe to bude zp˚ usobeno funkc´ı jednotliv´ ych zaˇr´ızen´ı, kdy rozboˇcovaˇc okamˇzitˇe pos´ıl´a vˇsechny pakety vˇsemi smˇery, zat´ımco pˇrep´ınaˇc rozhoduje jak´ ym smˇerem se m´a dan´ y paket poslat, coˇz pˇrin´aˇs´ı vˇetˇs´ı zat´ıˇzen´ı a zpoˇzdˇen´ı jednotliv´ ych paket˚ u. Vˇetˇsina standardn´ıch pˇrep´ınaˇc˚ u vyuˇz´ıv´a metody uloˇz a poˇsli (store and forward) nebo i jin´e metody, kter´e mohou pˇrid´avat dalˇs´ı variabiln´ı zpoˇzdˇen´ı do pˇrenosov´e cesty. Pˇri dalˇs´ıch mˇeˇren´ıch byl zkoum´an vliv zat´ıˇzen´ı s´ıtˇe datov´ ymi pˇrenosy na v´ yslednou pˇresnost synchronizace ˇcasu. Byla vytvoˇrena topologie, kde bylo zapojeno v´ıce poˇc´ıtaˇc˚ u pˇres jeden pˇrep´ınaˇc ˇci opakovaˇc a mezi tˇemito poˇc´ıtaˇci byly pˇren´aˇseny velk´e soubory. Jelikoˇz n´aˇs rozboˇcovaˇc mˇel jenom pˇet port˚ u, vyuˇzili jsme jeˇstˇe jeden pˇrep´ınaˇc, abychom mohli vytvoˇrit dvˇe nez´avisl´e cesty pro pˇrenos soubor˚ u. Rychlost rozboˇcovaˇce je 10 Mbit/s zat´ımco pˇrep´ınaˇc podporuje rychlost 100 Mbit/s. Topologie pro tento pˇr´ıpad je zobrazena na obr´azku 2.17.
Obr´azek 2.17: Topologie pro mˇeˇren´ı rozboˇcovaˇce se zat´ıˇzen´ım Rozboˇcovaˇc byl v tomto mˇeˇren´ı opravdu nejslabˇs´ım ˇcl´ankem. Z obr´azku 2.18 je n´azornˇe vidˇet velk´ y rozd´ıl ˇcasu serveru a klienta, ke kter´emu doˇslo pˇri v´ ypadku synchronizace.
ˇ REN ˇ ´I V REALN ´ E ´ S´ITI 2.6. ME
29
V´ ypadek synchronizace byl nejsp´ıˇse zp˚ usoben ztr´atou synchronizaˇcn´ıch paket˚ u. V pˇr´ıpadˇe velk´eho zat´ıˇzen´ı doch´az´ı na rozboˇcovaˇci k mnoha koliz´ım, kter´e negativnˇe ovlivn´ı pˇresnost synchronizace. V pr˚ ubˇehu mˇeˇren´ı byl rozpad synchronizace zaznamen´an a byl zastaven datov´ y tok mezi PC. Po chvilce byla synchronizace znovu nav´az´ana, a tak jsem znovu obnovil pˇrenos dat. Situace s rozpadem synchronizace se opakovala (obr´azek 2.18). −6
x 10
standardn´ı rozboˇcovaˇc bez zat´ızˇ en´ı standardn´ı rozboˇcovaˇc se zat´ızˇ en´ım
6 5 4
∆t [s]
3 2 1 0 −1 −2 −3 0
100
200
300
400
500
600
700
t [s]
Obr´azek 2.18: V´ ysledky mˇeˇren´ı pˇri pouˇzit´ı rozboˇcovaˇce se zat´ıˇzen´ım a bez zat´ıˇzen´ı Pˇri pouˇzit´ı Hirschmann pˇrep´ınaˇce s podporou PTP byla v´ ysledn´a pˇresnost synchronizace se zat´ıˇzen´ım a bez zat´ıˇzen´ı velice podobn´a. Principy PTP protokolu, kter´e byly pops´any v pˇredeˇsl´ ych kapitol´ach, zaruˇcuj´ı urˇcitou pˇresnost synchronizace, coˇz se t´ımto mˇeˇren´ım ovˇeˇrilo. V´ ysledn´a pˇresnost synchronizace se tedy st´ale pohybuje pod hranic´ı 100 ns (Tabulka 2.1). Standardn´ı pˇrep´ınaˇc m´a horˇs´ı pˇresnost synchronizace pˇri zat´ıˇzen´ı datov´ ym tokem, nicm´enˇe tento vliv nen´ı nˇejak v´ yrazn´ y (Obr´azek 2.20). Pˇri zat´ıˇzen´ı byla stˇredn´ı hodnota 238 ns a nejvˇetˇs´ı odchylka ˇcas˚ u serveru a klienta byla 1,21 µs. V pˇr´ıpadˇe, ˇze porovn´ame pˇresnost synchronizace standardn´ıho pˇrep´ınaˇce a pˇrep´ınaˇce s podporou PTP pˇri zat´ıˇzen´ı tˇechto pˇrep´ınaˇc˚ u, zjist´ıme vˇetˇs´ı rozd´ıl (pˇribliˇznˇe 10 kr´at obr´azek 2.21)
30
ˇ ´ STAV RE ˇ SEN ˇ E ´ PROBLEMATIKY KAPITOLA 2. SOUCASN Y
Obr´azek 2.19: Topologie pro mˇeˇren´ı pˇrep´ınaˇce se zat´ıˇzen´ım Byly provedeny dalˇs´ı zkuˇsebn´ı mˇeˇren´ı s pozmˇenˇen´ ymi topologiemi a s jin´ ymi standardn´ımi zaˇr´ızen´ımi, ale v´ ysledky byli velice podobn´e mˇeˇren´emu pˇrep´ınaˇci a rozboˇcovaˇci. Vˇsechny v´ ysledky jsou pˇrehlednˇe zaps´any v tabulce 2.1. Tabulka pro jednotliv´e topologie zobrazuje stˇredn´ı hodnotu, smˇerodatnou odchylku, hodnotu rozptylu a maxim´aln´ı hodnoty. V pˇr´ıpadˇe mˇeˇren´ı topologie, kde mˇela vˇsechna zaˇr´ızen´ı podporu PTP, byly v´ ysledky v ˇra´dech nanosekund. Odchylka synchronizace ˇcasu serveru a klienta nepˇrekroˇcila hodnotu 100 ns a pr˚ umˇern´e hodnoty se pohybovali v ˇra´du des´ıtek nanosekund. V pˇr´ıpadˇe pouˇzit´ı standardn´ıch s´ıt’ov´ ych prvk˚ u (v tabulce topologie Server - Hub - PC nebo Server - Switch - PC)) jsou hodnoty rozptylu a maxim´aln´ı hodnoty v´ yraznˇe vyˇsˇs´ı, coˇz vypov´ıd´a o horˇs´ı pˇresnosti synchronizace. V pˇr´ıpadˇe zat´ıˇzen´ı jednotliv´ ych datov´ ych prvk˚ u v s´ıti datov´ ym provozem, doch´az´ı u prvk˚ u bez podpory PTP protokolu k dalˇs´ımu zhorˇsen´ı pˇresnosti synchronizace, coˇz je v tabulce nejv´ıce vidˇet u topologie Server - Hub - PC (se zat´ıˇzen´ım).
ˇ REN ˇ ´I V REALN ´ E ´ S´ITI 2.6. ME
31
−7
x 10 12
standardn´ı pˇrep´ınaˇc bez zat´ızˇ en´ı standardn´ı pˇrep´ınaˇc se zat´ızˇ en´ım
10 8 6
∆t [s]
4 2 0 −2 −4 −6 −8 0
50
100
150 t [s]
200
250
300
Obr´azek 2.20: V´ ysledky mˇeˇren´ı standardn´ıho pˇrep´ınaˇce se zat´ıˇzen´ım a bez zat´ıˇzen´ı
−7
x 10 12
Hirschmann PTP pˇrep´ınaˇc pˇri zat´ızˇ en´ı pˇrenosem dat standardn´ı pˇrep´ınaˇc pˇri zat´ızˇ en´ı pˇrenosem dat
10 8 6
∆t [s]
4 2 0 −2 −4 −6 −8 0
50
100
150 t [s]
200
250
300
Obr´azek 2.21: V´ ysledky mˇeˇren´ı stand. pˇrep´ınaˇce a Hirschmann pˇrep´ınaˇce se zat´ıˇzen´ım
ˇ ´ STAV RE ˇ SEN ˇ E ´ PROBLEMATIKY KAPITOLA 2. SOUCASN Y
32
Topologie Server – PC (obr. 2.12) Server – PTP switch – PC (obr. 2.13) Server – Hub – PC (obr. 2.15) Server – Switch – PC (obr. 2.15) Server – PTP switch – PC (se zat´ıˇzen´ım) (obr. 2.19) Server – Hub – PC (se zat´ıˇzen´ım) (obr. 2.17) Server – Switch – PC (se zat´ıˇzen´ım) (obr. 2.19) Server – PTP switch – switch – PC (zat´ıˇzen´ım)
Stˇredn´ı hodnota [s] -1,48e-8 -1,96e-8
Rozptyl
Min [s]
Max [s]
1,7e-16 2,2e-16
Smˇerodatn´a odchylka [s] 1,29e-8 1,49e-8
-5,4e-8 -5,8e-8
3,0e-8 3,75e-8
3,37e-8
5,5e-14
23,5e-8
-67,4e-8
78,7e-8
10,6e-8
5,7e-14
23,9e-8
-72,4e-8
82e-8
-2,02e-8
2,7e-16
1,66e-8
-7,1e-8
3,2e-8
24,91e-8
4,9e-12
222e-8
-338e-8
499e-8
23,85e-8
5,5e-14
23,6e-8
-79,5e-8
121e-8
12,6e-8
3,6e-14
18e-8
-46e-8
-86e-8
Tabulka 2.1: V´ ysledky mˇeˇren´ı pro r˚ uzn´e topologie pˇri r˚ uzn´ ych podm´ınk´ach
ˇ ´ 2.7. ZHODNOCEN´I SOUCASN EHO STAVU
2.7
33
Zhodnocen´ı souˇ casn´ eho stavu
Synchronizace ˇcasu pomoc´ı paketov´ ych s´ıt´ı je st´ale velice diskutovan´ ym probl´emem. Princip ˇcasov´e synchronizace byl poprv´e vymyˇslen a pouˇzit pˇred v´ıce neˇz 20 roky u NTP protokolu. Mnoho zaˇr´ızen´ı vyˇzaduje st´ale vˇetˇs´ı pˇresnost synchronizace ˇcasu, kter´a ovlivˇ nuje generov´an´ı taktu jak pro vnitˇrn´ı obvody zaˇr´ızen´ı, tak i jako extern´ı zdroj pro dalˇs´ı zaˇr´ızen´ı, a proto jsou synchronizaˇcn´ı protokoly st´ale vylepˇsov´any. PTP protokol (standard IEEE1588) je nyn´ı nejpˇresnˇejˇs´ım protokolem pro synchronizaci ˇcasu v lok´aln´ıch s´ıt´ıch. Jeho nev´ yhodou je nutnost pouˇzit´ı jednotliv´ ych zaˇr´ızen´ı s podporou tohoto protokolu, coˇz vyˇzaduje finanˇcn´ı investice. Pˇresnost PTP protokolu je v ˇra´du des´ıtek nanosekund. Dalˇs´ım protokolem, kter´ y se dnes hojnˇe vyuˇz´ıv´a k synchronizaci ˇcasu v poˇc´ıtaˇc´ıch, je protokol NTP. Pˇresnost NTP protokolu je v ˇra´du jednotek milisekund. Pˇresnost ˇcasov´e synchronizace z´avis´ı na mnoha faktorech, kter´e byly pops´any v pˇredeˇsl´ ych kapitol´ach. Hlavn´ımi faktory jsou rozptyl zpoˇzdˇen´ı v jednotliv´ ych smˇerech pˇri pˇrenosu paket˚ u a pˇresn´e urˇcen´ı ˇcasu pˇr´ıchodu a odchodu paketu. D´ıky jednotliv´ ym mˇeˇren´ım a prostudovan´ ym ˇcl´ank˚ um [20], [17], [23], [28], [15] byly zjiˇstˇeny jednotliv´e parametry, kter´e nejv´ıce ovlivˇ nuj´ı v´ yslednou pˇresnost. N´asleduj´ıc´ı pr´ace se zamˇeˇr´ı na moˇznosti vylepˇsen´ı synchronizaˇcn´ıho algoritmu. Nab´ız´ı se nˇekolik r˚ uzn´ ych moˇznost´ı, kter´e budou analyzov´any a pomoc´ı simulac´ı ovˇeˇreny.
34
ˇ ´ STAV RE ˇ SEN ˇ E ´ PROBLEMATIKY KAPITOLA 2. SOUCASN Y
Kapitola 3 C´ıle disertaˇ cn´ı pr´ ace C´ılem disertaˇcn´ı pr´ace je vytvoˇrit algoritmus, kter´ y pomoc´ı synchronizaˇcn´ıho protokolu umoˇzn´ı zv´ yˇsit pˇresnost synchronizace ˇcasu na stranˇe klienta, coˇz umoˇzn´ı i pˇresnˇejˇs´ı gene´ rov´an´ı ˇr´ıd´ıc´ıho taktu pro samotn´e ˇci dalˇs´ı zaˇr´ızen´ı. Ukolem synchronizace ˇcasu je nastavit ˇ ˇcas klienta tak, aby byl totoˇzn´ y s ˇcasem serveru. Cas serveru je povaˇzov´an za referenˇcn´ı a je ˇr´ızen z pˇresn´eho ˇcasov´eho zdroje. Z obecn´eho principu synchronizace (kap. 2.2.1), kdy doch´az´ı k v´ ymˇenˇe ˇcasov´ ych znaˇcek mezi serverem a klientem, jsme schopni velice pˇresnˇe vypoˇc´ıtat celkov´e zpoˇzdˇen´ı pr˚ uchodu paketu tam i zpˇet (zpoˇzdˇen´ı ve smyˇcce, RTT). Nicm´enˇe pro pˇresnou synchronizaci je d˚ uleˇzit´e stanovit zpoˇzdˇen´ı jednom smˇeru, coˇz nelze v praxi pˇresnˇe urˇcit. Vˇetˇsinou se pˇredpokl´ad´a, ˇze zpoˇzdˇen´ı jedn´ım smˇerem je stejn´e jako druh´ ym, a proto se zpoˇzdˇen´ı ve smyˇcce vydˇel´ı dvˇema. Kol´ıs´an´ı zpoˇzdˇen´ı je jedn´ım z nejd˚ uleˇzitˇejˇs´ıch parametr˚ u negativnˇe ovlivˇ nuj´ıc´ı synchronizaci. Pro vlastn´ı ˇreˇsen´ı disertaˇcn´ı pr´ace jsem si stanovil n´asleduj´ıc´ı c´ıle: 1. Anal´ yza a mˇeˇren´ı vlivu velikosti zpoˇzdˇen´ı s´ıtˇe na pˇresnost synchronizace. • R˚ uzn´e zat´ıˇzen´ı pˇrenosov´ ych cest zp˚ usobuje, ˇze variabiln´ı sloˇzka zpoˇzdˇen´ı se v jednotliv´ ych smˇerech liˇs´ı. • V pˇr´ıpadˇe hardwarov´e implementace PTP protokolu, kdy kaˇzd´e s´ıt’ov´e zaˇr´ızen´ı m´a vlastn´ı hodiny a synchronizuj´ı se navz´ajem, je kol´ıs´an´ı zpoˇzdˇen´ı zanedbateln´e. Ale i tak se sˇc´ıtaj´ı nepˇresnosti jednotliv´ ych synchronizovan´ ych s´ıt’ov´ ych zaˇr´ızen´ıch, kter´e se nach´azej´ı mezi hlavn´ım PTP serverem a koncov´ ym klientem. 2. Sestaven´ı modelu a vytvoˇren´ı simulaˇcn´ıho programu, kter´ y bude prov´adˇet synchronizaci ˇcasu klienta a reflektovat aktu´aln´ı stav a funkci synchronizaˇcn´ıho algoritmu. • Simulaˇcn´ı program bude pouˇzit k porovn´an´ı simulovan´ ych a namˇeˇren´ ych hodnot pˇri re´aln´em mˇeˇren´ı. T´ım dojde k ovˇeˇren´ı modelu a spr´avn´e funkˇcnosti programu. Vstupn´ımi parametry budou hodnoty pro nastaven´ı simulovan´e s´ıtˇe jako je minim´aln´ı a maxim´aln´ı zpoˇzdˇen´ı paket˚ u a rozptyl jednotliv´ ych hodnot zpoˇzdˇen´ı paket˚ u. 35
36
ˇ ´I PRACE ´ KAPITOLA 3. C´ILE DISERTACN 3. Sn´ıˇzen´ı vlivu kol´ıs´an´ı zpoˇzdˇen´ı na pˇresnost synchronizace a zv´ yˇsen´ı pˇresnosti synchronizace ˇcasu a generov´an´ı taktu klienta. • Eliminaci vlivu je nutn´e prov´adˇet na stranˇe klienta a jako nejjednoduˇsˇs´ı algoritmus lze pouˇz´ıt napˇr´ıklad pr˚ umˇerov´an´ı jednotliv´ ych v´ ysledk˚ u korekc´ı ˇcasu zjiˇstˇen´ ych pˇri synchronizaci ˇcasu. 4. Sestaven´ı modelu a vytvoˇren´ı simulaˇcn´ıho programu s vylepˇsenou synchronizac´ı, kter´ y bude prov´adˇet synchronizaci ˇcasu klienta a bude obsahovat vylepˇsen´ı a rozˇs´ıˇren´ı synchronizaˇcn´ıho algoritmu. • Simulaˇcn´ı program bude obsahovat nov´e algoritmy a vylepˇsen´ı, kter´e pˇrinesou vyˇsˇs´ı pˇresnost synchronizace ˇcasu a generov´an´ı taktu na stranˇe klienta. • Jednou z moˇznost´ı je implementace sofistikovan´ ych pr˚ umˇerovac´ıch ˇci filtraˇcn´ıch algoritm˚ u, kter´e budou eliminovat kol´ıs´an´ı zpoˇzdˇen´ı. • Dalˇs´ı moˇznost´ı je pˇrid´an´ı druh´eho gener´atoru hodin na stranu klienta, kter´ y nebude pˇr´ımo ˇr´ızen z ˇcasov´ ych korekc´ı vypoˇc´ıtan´ ych po pˇr´ıchodu synchronizaˇcn´ıch paket˚ u, ale bude ˇr´ızen f´azovou smyˇckou. F´azov´a smyˇcka by mohla porovn´avat rozd´ıl mezi ˇcasem obou vnitˇrn´ıch hodin a jemnˇe by korigovala v´ ysledn´ y ˇcas na druh´ ych hodin´ach. Vyuˇzit´ı dvou hodin by mˇelo pˇrin´est vyˇsˇs´ı stabilitu ˇcasu klienta. • Dalˇs´ım zp˚ usobem zv´ yˇsen´ı pˇresnosti synchronizace je pˇr´ım´e dolad’ov´an´ı oscil´atoru, kter´ y ˇr´ıd´ı ˇcas klienta a generuje takt. U vˇetˇsiny zaˇr´ızen´ı doch´az´ı ke zpomalov´an´ı ˇci ke zrychlov´an´ı bˇehu ˇcasu klienta a moˇznost jemn´eho dolad’ov´an´ı oscil´atoru pˇrin´aˇs´ı vysokou pˇresnost zejm´ena z pohledu dlouhodob´e stability ˇcasu a generov´an´ı taktu. C´ılem je vyuˇzit´ı paketov´e s´ıtˇe pro synchronizaci s n´aslednou moˇznost´ı odvozen´ı taktu pro ostatn´ı zaˇr´ızen´ı.
Kapitola 4 N´ avrh a simulace synchronizaˇ cn´ıho algoritmu Principy a funkce synchronizaˇcn´ıch protokol˚ u byly vysvˇetleny v pˇredchoz´ıch kapitol´ach. Tato kapitola se vˇenuje simulaci synchronizaˇcn´ıho algoritmu tak, jak ho vyuˇz´ıvaj´ı jednotliv´e synchronizaˇcn´ı protokoly. Jedn´a se o v´ ymˇenu ˇcasov´ ych zpr´av a z´ısk´an´ı ˇctyˇrech ˇcasov´ ych znaˇcek, ze kter´ ych urˇc´ıme v´ yslednou korekci ˇcasu hodin klienta. Tento postup je pops´an pro NTP protokol na obr´azku 2.2 a pro PTP na obr´azku 2.6 a je velice podobn´ y. Jak bylo uvedeno, z´asadn´ı vliv na pˇresnost synchronizace ˇcasu a generov´an´ı taktu m´a rozd´ıln´e zpoˇzdˇen´ı v r˚ uzn´ ych smˇerech pˇrenosu dat po paketov´e s´ıti a promˇenlivost tohoto zpoˇzdˇen´ı.
4.1
Model synchronizaˇ cn´ıch obvod˚ u - aktu´ aln´ı stav
´ Ukolem prvn´ı ˇca´sti je vytvoˇren´ı simulaˇcn´ıho programu, kter´ y bude odpov´ıdat re´aln´emu chov´an´ı synchronizaˇcn´ıch protokol˚ u v s´ıti. Vstupn´ı parametry, kter´e budeme zad´avat, budou ovlivˇ novat jednotliv´e vlastnosti Ethernet s´ıtˇe. Pˇres tuto s´ıt’ bude prob´ıhat komunikace meze klientem a serverem. Z´akladn´ı blokov´e sch´ema, kter´e zobrazuje strukturu serveru a klienta je zobrazen na obr´azku 4.1. Strana serveru (hlavn´ıho poskytovatele ˇcasu) je pomˇernˇe jednoduch´a. At’ uˇz se jedn´a o NTP server nebo PTP server, z´akladem je pˇresn´ y ˇcas, kter´ y mus´ı splˇ novat urˇcitou pˇresnost a stabilitu. Tento ˇcas je pˇred´av´an do jednotky Zpracov´an´ı ˇcasov´ ych znaˇcek“, kter´a se star´a ” o komunikaci s klienty a poskytuje jim pˇresn´ y ˇcas. Pˇrenos paket˚ u prob´ıh´a pˇres paketovou ’ ’ s´ıt . Dnes je nejv´ıce rozˇs´ıˇrena s´ıt Ethernet. Zde m˚ uˇze b´ yt zastoupen r˚ uzn´ y poˇcet zaˇr´ızen´ı, coˇz z´aleˇz´ı na vzd´alenosti mezi serverem a klientem. U PTP se pˇredpokl´ad´a vzd´alenost mnohem menˇs´ı s adekv´atn´ım hardwarov´ ym vybaven´ım, aby bylo moˇzn´e vyuˇz´ıt vyˇsˇs´ı pˇresnosti synchronizace popsan´e v kapitole 2.6.2. V pˇr´ıpadˇe klienta je situace sloˇzitˇejˇs´ı, protoˇze na stranˇe klienta mus´ı b´ yt prov´adˇeno vyhodnocen´ı, zda vypoˇcten´a korekce ˇcasu je spr´avn´a a o kolik se m´a upravit ˇcas klienta. Hlavnˇe u NTP protokolu jsou implementov´any r˚ uzn´e zpˇresˇ nuj´ıc´ı algoritmy a korekce ˇcasu nen´ı prov´adˇena ihned po v´ ypoˇctu prvn´ı korekce. Vˇetˇsinou je vypoˇc´ıt´ano nˇekolik korekc´ı 37
38
´ ˇ ´IHO ALGORITMU KAPITOLA 4. NAVRH A SIMULACE SYNCHRONIZACN
Obr´azek 4.1: Blokov´e sch´ema synchronizace ˇcasu ˇcasu, kter´e se urˇcit´ ym zp˚ usobem pr˚ umˇeruj´ı, aby byla urˇcena jedna pˇresnˇejˇs´ı korekce ˇcasu klienta. Po kaˇzd´em pˇr´ıjmu synchronizaˇcn´ıho paketu je vypoˇc´ıt´an ˇcasov´ y rozd´ıl klienta a serveru podle vzorce 2.4 a tento v´ ysledek je d´ale zpracov´av´an vyhodnocovac´ım algoritmem, kter´ y urˇc´ı v´ yslednou korekci hodin klienta. D´ale klient obsahuje uˇz jen hodiny, kter´e jsou ˇr´ızeny lok´aln´ım oscil´atorem. Pˇresnost a stabilita lok´aln´ıho oscil´atoru je mnohem menˇs´ı neˇz u synchronizaˇcn´ıch server˚ u, a proto m˚ uˇze doch´azet ke zpoˇzd’ov´an´ı ˇci ke zrychlov´an´ı ˇcasu klienta. Vyhodnocovac´ı algoritmus m˚ uˇze fungovat r˚ uzn´ ymi zp˚ usoby, a proto se mu budeme vˇenovat v n´asleduj´ıc´ı podkapitole podrobnˇeji.
4.1.1
Vyhodnocovac´ı algoritmus klienta
Pˇri vyhodnocen´ı jednotliv´ ych ˇcasov´ ych rozd´ıl˚ u serveru a klienta a urˇcen´ı v´ ysledn´e korekce klienta je nutn´e urˇcit pr˚ umˇernou hodnotu, kter´a se mus´ı co nejv´ıce bl´ıˇzit pˇresn´e korekci hodin. Jako prvn´ı vyhodnocovac´ı algoritmus se nab´ız´ı obyˇcejn´a pr˚ umˇern´a hodnota z nˇekolika pˇrijat´ ych ˇcasov´ ych rozd´ıl˚ u. Zde m˚ uˇze b´ yt probl´em s t´ım, ˇze budeme ˇcekat neˇz z´ısk´ame potˇrebn´ y poˇcet hodnot. Jako v´ yhodnˇejˇs´ı algoritmus se jev´ı vyuˇzit´ı filtr˚ u. Existuj´ı r˚ uzn´e druhy filtr˚ u a kaˇzd´ y filtr m˚ uˇze m´ıt jin´ y ˇra´d. Jako z´akladn´ı filtr byl pouˇzit FIR filtr (Finite Impulse Response) s ˇra´dem 10. Amplitudov´a charakteristika filtru je zobrazena na obr´azku 4.2. Jako vstupn´ı hodnoty pro filtr jsou pouˇzity ˇcasov´e korekce K1 vypoˇc´ıtan´e z pˇrijat´ ych paket˚ u.
ˇ ´ICH OBVODU ˚ - AKTUALN ´ ´I STAV 4.1. MODEL SYNCHRONIZACN
39
V´ ychoz´ı parametry algoritmu pro vyhodnocov´an´ı ˇcasov´e korekce byly stanoveny experiment´alnˇe. Pˇri n´avrhu jsem zvolil doln´ı propust s mezn´ım kmitoˇctem propustn´eho p´asma 0,03 Hz a vzorkovac´ım kmitoˇctem 1 Hz. Po pr˚ uchodu hodnot filtrem jsou v´ ysledn´e hodnoty jeˇstˇe vydˇeleny ˇc´ıslem 5, aby velikost u ´pravy lok´aln´ıch hodin byla pozvoln´a a aby nedoˇslo k rozkmit´an´ı cel´eho syst´emu. Hodnota 5 byla zvolena s ohledem na dostateˇcnou rychlost u ´pravy ˇcasu lok´aln´ıch hodin klienta, ale z´aroveˇ n i pˇresnost ˇcasu. Pokud zvol´ıme vyˇsˇs´ı hodnotu (napˇr. 10) budou v´ ysledn´e hodnoty korekc´ı K2 po vydˇelen´ı menˇs´ı a u ´prava ˇcasu hodin bude pozvolnˇejˇs´ı. V pˇr´ıpadˇe mal´e hodnoty m´ame naopak rychl´ y syst´em, kter´ y se v pˇr´ıpadˇe zmˇeny dok´aˇze rychle pˇrizp˚ usobit, ale tento syst´em je mnohem n´achylnˇejˇs´ı na promˇenliv´e zpoˇzdˇen´ı v s´ıti a m˚ uˇze doj´ıt i k nestabilitˇe syst´emu. Volba parametru je z´avisl´a na poˇzadavc´ıch na syst´em a vˇetˇsinou se vol´ı kompromis mezi rychlost´ı a pˇresnost´ı syst´emu. Magnitude Response (dB) 0
−10
Magnitude (dB)
−20
−30
−40
−50
−60
−70 0
0.1
0.2
0.3
0.4 0.5 0.6 Normalized Frequency (×π rad/sample)
0.7
0.8
0.9
Obr´azek 4.2: Fitr FIR s ˇra´dem 10 Bylo provedeno nˇekolik simulac´ı s r˚ uzn´ ymi vstupn´ımi podm´ınkami. Vstupn´ı veliˇciny definuj´ı chov´an´ı Ethernetu. Pˇri kaˇzd´e simulaci nastavujeme stˇredn´ı hodnotu zpoˇzdˇen´ı paketu v s´ıti a d´ale k t´eto hodnotˇe pˇriˇc´ıt´ame urˇcit´ y rozptyl. Byla provedena simulace a n´aslednˇe i mˇeˇren´ı s emul´atorem s´ıtˇe pro stˇredn´ı hodnotu zpoˇzdˇen´ı 3 ms a 10 ms a s rozptylem 1, 2 a 3 ms. Jako pˇr´ıklad zde uvedu odsimulovan´e hodnoty pˇri nastaven´ı stˇredn´ı hodnoty zpoˇzdˇen´ı s´ıtˇe 3 ms a rozptylu hodnot do maxim´aln´ı velikosti ± 1 ms. Obr´azek 4.3 zobrazuje korekce ˇcasu klienta vypoˇcten´e z pˇrijat´ ych paket˚ u (ˇcasov´ ych raz´ıtek). Z obr´azku je vidˇet, ˇze rozptyl zpoˇzdˇen´ı paket˚ u v r˚ uzn´ ych smˇerech pr˚ uchodu s´ıt´ı zp˚ usob´ı podobn´ y rozptyl nepˇresnost´ı vypoˇc´ıtan´ ych korekc´ı. Samozˇrejmˇe nejvˇetˇs´ı ˇcetnost hodnot korekc´ı je do 1 ms, ale lze naj´ıt i v´ ysledn´e korekce, kter´e pˇresahuj´ı hodnotu 3 ms. Korekce vypoˇcten´e z pˇrijat´ ych paket˚ u K1 d´ale vstupuj´ı do filtru. V´ ystupn´ı hodnoty filtru jsou znormov´any (vydˇeleny 5). V´ ysledn´e korekce K2, kter´e jsou pouˇzity k u ´pravˇe hodin klienta, jsou zobrazeny na obr´azku 4.4 a jsou v´ yraznˇeji niˇzˇs´ı neˇz vstupn´ı korekce. Hodnoty korekc´ı ˇcasu lok´aln´ıch hodin jsou pˇribliˇznˇe od - 200 do 200 µs.
´ ˇ ´IHO ALGORITMU KAPITOLA 4. NAVRH A SIMULACE SYNCHRONIZACN
2500 2000 1500 1000
k [µs]
500 0 −500 −1000 −1500 −2000 −2500 10
20
30
40
50
60
70
80
90
100
t [s]
Obr´azek 4.3: Korekce K1 v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 1 ms
400 300 200 100
k [µs]
40
0 −100 −200 −300 −400 0
10
20
30
40
50
60
70
80
90
t [s]
Obr´azek 4.4: Korekce K2 v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 1 ms
ˇ ´ICH OBVODU ˚ - AKTUALN ´ ´I STAV 4.1. MODEL SYNCHRONIZACN
41
Jak´ ym zp˚ usobem tato korekce ovlivn´ı v´ yslednou pˇresnost ˇcasu klienta je zobrazeno na obr´azku 4.5. Je patrn´e, ˇze v´ ysledn´a pˇresnost synchronizace ˇcasu se pohybuje v rozmez´ı do ± 1 ms. V´ ysledek pˇresnosti pˇribliˇznˇe odpov´ıd´a velikosti rozptylu zpoˇzdˇen´ı paket˚ u v paketov´e s´ıti, kter´ y byl v prvn´ı simulaci zvolen 1 ms.
1500
1000
∆t [µs]
500
0
−500
−1000
0
20
40
60
80
100
120
t [s]
Obr´azek 4.5: Odchylka ˇcasu klienta od ˇcasu serveru v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 1 ms Druh´a simulace byla provedena s odliˇsn´ ymi parametry s´ıtˇe. Stˇredn´ı hodnota zpoˇzdˇen´ı paket˚ u v s´ıti byla ponech´ana na 3 ms, ale rozptyl zpoˇzdˇen´ı, kter´ y se pˇriˇc´ıt´a ke stˇredn´ı hodnotˇe byl zvˇetˇsen na 2 ms. Tedy zpoˇzdˇen´ı paketu v jednom smˇeru se m˚ uˇze pohybovat od 1 ms do 5 ms. Toto zvˇetˇsen´ı rozptylu by mˇelo m´ıt za n´asledek zhorˇsen´ı pˇresnosti synchronizace ˇcasu na stranˇe klienta. Obr´azek 4.6 zobrazuje korekci ˇcasu K1 vypoˇc´ıtanou z ˇcasov´ ych raz´ıtek NTP paket˚ u. Obr´azek 4.7 d´ale zobrazuje vyfiltrovanou korekci K2, kter´a slouˇz´ı k u ´pravˇe ˇcasu klienta. V´ ysledn´e korekce v porovn´an´ı s pˇredeˇslou simulac´ı jsou pˇribliˇznˇe dvakr´at vˇetˇs´ı, coˇz odpov´ıd´a pˇredpokladu. Rozptyl paket˚ u pˇ r´ımo ovlivˇ nuje v´ yslednou pˇ resnost synchronizace ˇ casu klienta.
´ ˇ ´IHO ALGORITMU KAPITOLA 4. NAVRH A SIMULACE SYNCHRONIZACN
4000
2000
k [µs]
0
−2000
−4000
−6000
10
20
30
40
50
60
70
80
90
100
t [s]
Obr´azek 4.6: Korekce K1 v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 2 ms
600
400
200
k [µs]
42
0
−200
−400
0
10
20
30
40
50
60
70
80
90
100
t [s]
Obr´azek 4.7: Korekce K2 v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 2 ms
ˇ ´ICH OBVODU ˚ - AKTUALN ´ ´I STAV 4.1. MODEL SYNCHRONIZACN
43
Rozd´ıl ˇcas˚ u klienta a serveru zobrazuje obr´azek 4.8. V´ ysledn´a pˇresnost synchronizace ˇcasu klienta je pˇribliˇznˇe dvakr´at horˇs´ı a rozd´ıl ˇcas˚ u dosahuje hodnot 2 ms. 4000
3000
∆t [µs]
2000
1000
0
−1000
−2000
−3000
0
20
40
60
80
100
120
140
160
180
200
t [s]
Obr´azek 4.8: Odchylka ˇcasu klienta od ˇcasu serveru v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 2 ms Zpoˇ zdˇ en´ı s´ıtˇ e Stˇredn´ı Rozptyl hodnota [s] 3e-3 1e-3 3e-3 2e-3 3e-3 3e-3 1e-2 1e-3 1e-2 2e-3 1e-2 3e-3
V´ ysledn´ a pˇ resnost Stˇredn´ı Smˇerodatn´a hodnota [s] odchylka [s] 5,5e-6 3,5e-4 9,5e-6 6,6e-4 -6,8e-6 9,2e-4 2,6e-6 3,4e-4 5,1e-6 6,9e-4 9,9e-6 1,1e-3
synchronizace Min [s] Max [s] -1,3e-3 -2,3e-3 -3,3e-3 -1,2e-3 -2,3e-3 -3,8e-3
1,5e-3 2,4e-3 3,6e-3 1,2e-3 2,5e-3 3,7e-3
Tabulka 4.1: V´ ysledky simulac´ı pˇri r˚ uzn´ ych podm´ınk´ach nastaven´ı s´ıtˇe Simulac´ı bylo provedeno nˇekolik i s jin´ ymi stˇredn´ımi hodnotami zpoˇzdˇen´ı. Jednotliv´e v´ ysledky jsou uvedeny v tabulce 4.1. Statistick´e hodnoty byly vypoˇc´ıt´any aˇz po stabilizaci hodin klienta. Vliv zmˇeny stˇredn´ı hodnoty zpoˇzdˇen´ı paket˚ u v simulovan´e s´ıti na v´ yslednou pˇresnost synchronizace je zanedbateln´ y. Hlavn´ım faktorem, kter´ y m´a vliv na pˇresnost synchronizace ˇcasu klienta, je promˇenliv´e zpoˇzdˇen´ı paket˚ u v jednotliv´ ych smˇerech pˇrenosu. ˇ ım vˇ C´ etˇ s´ı rozptyl zpoˇ zdˇ en´ı, t´ım horˇ s´ı pˇ resnost synchronizace ˇ casu klienta.
44
´ ˇ ´IHO ALGORITMU KAPITOLA 4. NAVRH A SIMULACE SYNCHRONIZACN
4.2
Mˇ eˇ ren´ı synchronizace v re´ aln´ em prostˇ red´ı
Pˇredchoz´ı podkapitola se zab´ yvala simulac´ı funkce synchronizaˇcn´ıho protokolu. V t´eto kapitole se pokus´ıme vytvoˇrit stejn´e podm´ınky, jak´e byly pouˇzity pˇri simulaci a prov´est re´aln´e mˇeˇren´ı v re´aln´e s´ıti. Abychom mohli upravovat zpoˇzdˇen´ı jednotliv´ ych paket˚ u v re´aln´e s´ıti, potˇrebujeme zaˇr´ızen´ı, kter´e bude zmˇenu zpoˇzdˇen´ı umoˇzn ˇovat. Byl pouˇzit s´ıt’ov´ y emul´ator Simena [10], kter´ y byl zapojen mezi synchronizaˇcn´ı kartu a synchronizaˇcn´ı server. Jako synchronizaˇcn´ı server byl vyuˇzit PTP server LANTIME M600 a jako s´ıt’ov´a karta byla vyuˇzita karta PTP270PEX stejnˇe jako pˇri mˇeˇren´ı PTP s´ıtˇe popsan´e v kapitole 2.6.2. Z´akladn´ı princip synchronizace ˇcasu v s´ıti PTP i NTP je stejn´ y, a proto m˚ uˇzeme namˇeˇren´e v´ ysledky pouˇz´ıt pro porovn´an´ı s pˇredeˇsl´ ymi simulacemi. Blokov´e sch´ema zp˚ usobu mˇeˇren´ı je uvedeno na obr´azku 4.9.
Obr´azek 4.9: Blokov´e sch´ema mˇeˇren´ı s emul´atorem s´ıtˇe S´ıt’ov´ y emul´ator Simena m´a nˇekolik s´ıt’ov´ ych port˚ u a umoˇzn ˇuje nastavovat jednotliv´a zpoˇzdˇen´ı mezi porty. Je moˇzn´e nastavit konstantn´ı zpoˇzdˇen´ı a nebo pˇridat dalˇs´ı variabiln´ı sloˇzku, coˇz v naˇsem pˇr´ıpadˇe potˇrebujeme. Emul´ator umoˇzn ˇuje definovat, jak velk´a variabiln´ı sloˇzka (rozptyl hodnot zpoˇzdˇen´ı) se m´a generovat a d´ale je moˇzn´e zvolit, podle jak´eho rozloˇzen´ı se budou generovat. Bylo zvoleno norm´aln´ı rozloˇzen´ı, kter´e odpov´ıd´a skuteˇcn´emu chov´an´ı v paketov´ ych s´ıt´ıch (viz. anal´ yza zpoˇzdˇen´ı v kapitole 2.6.1). Jednotliv´a zpoˇzdˇen´ı jsme nastavovali stejnˇe jako u pˇredchoz´ıch simulac´ıch. V´ ysledkem prvn´ıho mˇeˇren´ı, kdy emul´ator mˇel nastavenou stˇredn´ı hodnotu zpoˇzdˇen´ı na 3 ms a rozptyl hodnot byl nastaven na 1 ms, je pˇresnost ˇcasu klienta zobrazena na obr´azku 4.10. V´ ysledn´ y rozd´ıl ˇcasu klienta a serveru dosahuje hodnot aˇz 3 ms, coˇz je horˇs´ı v´ ysledek neˇz za stejn´ ych podm´ınek pˇri simulaci. V pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 2 ms (obr´azek 4.11) je tak´e nepˇresnost synchronizace ˇcasu vˇetˇs´ı. Pravdˇepodobnˇe to bude d´ano t´ım, ˇze s´ıt’ov´a karta s PTP protokolem nevyuˇz´ıv´a ˇza´dn´ ych statistick´ ych v´ ypoˇct˚ u ke zlepˇsen´ı pˇresnosti. Z principu PTP protokolu se prov´ad´ı synchronizace jen mezi dvˇema body s´ıtˇe, a proto se nepˇredpokl´ad´a velk´e kol´ıs´an´ı zpoˇzdˇen´ı paket˚ u. Z toho vypl´ yv´a, ˇze vyuˇzit´ı filtraˇcn´ıch algoritm˚ u zlepˇsuje v´ yslednou pˇresnost synchronizace.
ˇ REN ˇ ´I SYNCHRONIZACE V REALN ´ EM ´ PROSTRED ˇ ´I 4.2. ME
45
−3
4
x 10
3
2
∆t [s]
1
0
−1
−2
−3
−4 0
100
200
300
400
500
600
700
800
900
1000
t [s]
Obr´azek 4.10: Odchylka ˇcasu klienta od ˇcasu serveru v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 1 ms −3
x 10
6
4
∆t [s]
2
0
−2
−4
−6
−8 0
100
200
300
400
500
600
700
800
900
1000
t [s]
Obr´azek 4.11: Odchylka ˇcasu klienta od ˇcasu serveru v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 2 ms
46
´ ˇ ´IHO ALGORITMU KAPITOLA 4. NAVRH A SIMULACE SYNCHRONIZACN −3
x 10 4
3
2
1
∆t [s]
0
−1
−2
−3
−4
−5
−6 0
100
200
300
400
500
600
700
800
900
1000
t [s]
Obr´azek 4.12: Odchylka ˇcasu klienta od ˇcasu serveru v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 10 ms a rozptylu 1 ms U mˇeˇren´ı (obr. 4.12), kde byla nastavena stˇredn´ı hodnota zpoˇzdˇen´ı na 10 ms a rozptyl na 1 ms, jsou v´ ysledky podobn´e pˇredchoz´ımu mˇeˇren´ı se stˇredn´ı hodnotou 3 ms a s rozptylem 1 ms. To potvrzuje pˇredpoklad, ˇze pˇresnost synchronizace ˇcasu z´avis´ı na variabiln´ı sloˇzce zpoˇzdˇen´ı. Veˇsker´a jednotliv´a mˇeˇren´ı shrnuje tabulka 4.2, kde jsou uvedeny jednotliv´e v´ ysledky. Tabulka obsahuje tak´e mˇeˇren´ı, kde bylo nastaveno nulov´e zpoˇzdˇen´ı. Emul´ator s´ıtˇe i pˇri tomto nastaven´ı ovlivˇ nuje proch´azej´ıc´ı pakety a t´ım p´adem i v´ yslednou pˇresnost synchronizace ˇcasu klienta. Zpoˇ zdˇ en´ı dan´ e emul´ atorem Stˇredn´ı Rozptyl hodnota [s] 3e-3 1e-3 3e-3 2e-3 1e-2 1e-3 1e-2 3e-3 0 0
V´ ysledn´ a pˇ resnost Stˇredn´ı Smˇerodatn´a hodnota [s] odchylka [s] 2,3e-4 1,3e-3 2,6e-4 2,5e-3 -3,1e-4 1,3e-3 1,3e-3 3,7e-3 9,8e-5 1,2e-4
synchronizace Min [s] Max [s] -3,6e-3 -8,0e-3 -5,5e-3 -9,9e-3 -1,6e-4
3,4e-3 6,7e-3 3,2e-3 9,9e-3 3,5e-4
Tabulka 4.2: V´ ysledky mˇeˇren´ı s emul´atorem s´ıtˇe pˇri r˚ uzn´ ych podm´ınk´ach nastaven´ı s´ıtˇe V´ ysledn´a pˇresnost synchronizace je pomˇernˇe n´ızk´a a je z´avisl´a na variabilitˇe zpoˇzdˇen´ı paket˚ u. PTP protokol je navrˇzen pro pˇresnou synchronizaci a pravdˇepodobnˇe nepoˇc´ıt´a s
´ ˇ ´I SYNCHRONIZACE 4.3. NAVRH NA ZLEPSEN
47
velk´ ym variabiln´ım zpoˇzdˇen´ım paket˚ u v s´ıti. Dalˇs´ı ˇca´st pr´ace se zab´ yv´a moˇznostmi vylepˇsen´ı v´ ysledn´e pˇresnosti synchronizace ˇcasu na stranˇe klienta.
4.3
N´ avrh na zlepˇ sen´ı synchronizace
Kapitola 4.1 a 4.2 se vˇenovala simulaci a mˇeˇren´ı v re´aln´e s´ıti. C´ılem t´eto kapitoly je navrhnout vylepˇsen´ y synchronizaˇcn´ı algoritmus tak, aby doˇslo ke zv´ yˇsen´ı pˇresnost ˇcasu na stranˇe klienta. Jednou z metod je vyuˇzit´ı optimalizovan´eho filtru, aby byla pˇresnˇejˇs´ı korekce ˇcasu klienta. Dalˇs´ı moˇznost´ı je vyuˇzit´ı nˇekolika hodin na stranˇe klienta, kter´e se budou vz´ajemnˇe dolad’ovat. Bylo navrˇzeno rozˇs´ıˇren´ı standardn´ıho blokov´eho sch´ematu uveden´eho na obr´azku 4.1 a nov´e blokov´e sch´ema je uvedeno na obr´azku 4.13.
Obr´azek 4.13: Rozˇs´ıˇren´e blokov´e sch´ema synchronizace ˇcasu Z blokov´eho sch´ematu je patrn´e znaˇcn´e rozˇs´ıˇren´ı strany klienta. Doˇslo k pˇrid´an´ı druh´ ych lok´aln´ıch hodin oznaˇcen´ ych jako H2 a k nim pˇr´ısluˇsej´ıc´ıch obvod˚ u. Smyˇcka lok´aln´ıch hodin
48
´ ˇ ´IHO ALGORITMU KAPITOLA 4. NAVRH A SIMULACE SYNCHRONIZACN
H1 z˚ ustala stejn´a jako u z´akladn´ıho stavu (kap. 4.1). Pˇri hled´an´ı vhodn´eho filtru je potˇreba se zab´ yvat stabilitou cel´eho obvodu. Stabilita a jednotliv´a rizika jsou pops´ana v kapitole 4.3.1, kde v´ ysledkem bylo nahrazen´ı FIR filtru IIR filtrem, kter´ y dosahoval lepˇs´ıch v´ ysledk˚ u. Vlastnostem a nastaven´ı filtru se vˇenuje podrobnˇeji kapitola 4.3.1.2. Za u ´ˇcelem vyˇsˇs´ı pˇresnosti synchronizace ˇcasu je v´ ysledn´ y ˇcas hodin H1 porovn´av´an ˇ s ˇcasem hodin H2. Cas lok´aln´ıch hodin H2 je zpˇresˇ nov´an pomoc´ı korekc´ı K4, kter´e jsou vypoˇc´ıt´av´any s menˇs´ı frekvenc´ı neˇz v pˇr´ıpadˇe hodin H1, kter´e jsou ˇr´ızeny korekc´ı K2. O urˇcen´ı v´ ysledn´e korekce K4 se star´a pr˚ umˇerovac´ı filtr, kter´ y shromaˇzd’uje ˇcasov´e rozd´ıly jednotliv´ ych hodin H1 a H2 (Korekce K3). Dalˇs´ı a z´aroveˇ n posledn´ı smyˇcka se star´a o dolad’ov´an´ı lok´aln´ıho oscil´atoru a v blokov´em sch´ematu je oznaˇcena jako PLL. Pokud lok´aln´ı oscil´ator nen´ı zcela pˇresn´ y, bude se ˇcas klienta a serveru postupnˇe rozch´azet a v´ ysledn´e korekce jednotliv´ ych hodin budou st´ale kladn´e ˇci z´aporn´e. Stabilita lok´aln´ıho oscil´atoru je velice d˚ uleˇzit´a i v pˇr´ıpadˇe vyuˇzit´ı taktovac´ıho sign´alu pro dalˇs´ı zaˇr´ızen´ı a vytvoˇren´ı pˇresn´eho gener´atoru taktu. F´azov´a smyˇcka lok´aln´ıho oscil´atoru m´a za u ´kol urˇcit v´ yslednou nepˇresnost z korekc´ı K3 a doladit lok´aln´ı oscil´ator na co nejpˇresnˇejˇs´ı hodnotu z pohledu dlouhodob´e stability. Jednotliv´ ym blok˚ um a v´ ysledk˚ um pˇresnosti synchronizace ˇcasu klienta se vˇenuj´ı n´asleduj´ıc´ı ˇca´sti t´eto kapitoly.
4.3.1
N´ avrh vhodn´ eho filtru - stabilita obvodu
Pˇri n´avrhu vhodn´eho filtru jsem narazil na probl´em se stabilitou cel´eho obvodu. Je potˇreba si uvˇedomit, ˇze ˇca´st s filtrem a lok´aln´ımi hodinami H1, pˇredstavuje uzavˇrenou smyˇcku. Blokov´e sch´ema smyˇcky je uvedeno na n´asleduj´ıc´ım obr´azku 4.14. Z obr´azku je patrn´e, ˇze filtr v t´eto smyˇcce pracuje jako regul´ator, kter´ y vyhodnocuje odchylky ˇcas˚ ua pomoc´ı korekce K2 ˇr´ıd´ı lok´aln´ı hodiny H1. Problematiku ˇr´ızen´ı a stability jednotliv´ ych obvod˚ u m˚ uˇzeme naj´ıt detailnˇe rozpracovanou napˇr´ıklad v knize [11].
Obr´azek 4.14: Regulaˇcn´ı smyˇcka Pˇri ˇreˇsen´ı regulaˇcn´ıho obvodu uvaˇzujme jako vstupn´ı veliˇcinu ˇcas (oznaˇcen´ y jako W ) a v´ ystupn´ı veliˇcinu regulaˇcn´ıho obvodu tak´e ˇcas (oznaˇcen´ y jako Y ). Z pomˇeru mezi ˇza´danou veliˇcinou Y a regulovanou veliˇcinou W m˚ uˇzeme urˇcit pˇrenos ˇr´ızen´ı (vztah 4.1).
´ ˇ ´I SYNCHRONIZACE 4.3. NAVRH NA ZLEPSEN
GW =
GF · GH Y = W 1 + GF · GH
49
(4.1)
kde GW je pˇrenos ˇr´ızen´ı, W je vstupn´ı veliˇcina (ˇcas), Y je v´ ystupn´ı veliˇcina (ˇcas), GF je pˇrenos filtru (regul´atoru), GH je pˇrenos hodin (regulovan´e soustavy). Souˇcin vˇsech ˇclen˚ u ve smyˇcce pˇredstavuje pˇrenos otevˇren´eho regulaˇcn´ıho obvodu (ORO) a oznaˇcuje se jako GO (vztah 4.2). GO = GF · GH
(4.2)
Charakteristick´ y mnohoˇclen 1 + GO pˇredstavuje v´ yraz ve jmenovateli u pˇrenosu ˇr´ızen´ı a vlastnˇe i u vˇsech ostatn´ıch pˇrenos˚ u regulaˇcn´ıho obvodu a je velice d˚ uleˇzit´ y pro stabilitu obvodu. Pokud charakteristick´ y mnohoˇclen poloˇz´ıme rovn´ y 0 z´ısk´ame charakteristickou rovnici (4.3). 1 + GO = 0
(4.3)
Pˇri vyˇsetˇrov´an´ı stability diskr´etn´ıch obvodu je potˇreba vych´azet z charakteristick´eho mnohoˇclenu, resp. charakteristick´e rovnice. Pro diskr´etn´ı regulaˇcn´ı obvod se pouˇz´ıv´a Ztransformace. Diskr´ etn´ı RO je stabiln´ı pr´ avˇ e tehdy, kdyˇ z velikost vˇ sech koˇ ren˚ u charakteristick´ eho mnohoˇ clenu bude menˇ s´ı neˇ z 1 [30].
Obr´azek 4.15: Oblast stability diskr´etn´ıch regulaˇcn´ıch obvod˚ u V m´em pˇr´ıpadˇe je stabilita obvodu z´avisl´a hlavnˇe na pˇrenosu regul´atoru (filtru) a pˇrenos hodin lze povaˇzovat za jednotkov´ y. Proto se zamˇeˇr´ım na vyˇsetˇren´ı filtru. Dalˇs´ım hlavn´ım aspektem, na kter´ y d´ale naraz´ıme, je zpoˇzdˇen´ı jednotliv´ ych druh˚ u filtr˚ u.
50 4.3.1.1
´ ˇ ´IHO ALGORITMU KAPITOLA 4. NAVRH A SIMULACE SYNCHRONIZACN Vlastnosti a v´ ysledky FIR filtru
FIR filtry se mohou zd´at jako ide´aln´ı pro realizaci regul´atoru, protoˇze jsou vˇzdy stabiln´ı a vˇsechny p´oly maj´ı um´ıstˇeny v nule. Magnitude Response (dB) 0
−10
Magnitude (dB)
−20
−30
−40
−50
−60
−70 0
0.1
0.2
0.3
0.4 0.5 0.6 0.7 Normalized Frequency (×π rad/sample)
0.8
0.9
Obr´azek 4.16: Amplitudov´a charakterist. fitru FIR ˇra´du 20 s mezn´ım kmitoˇctem 0,03 Hz Byl proveden n´avrh filtru FIR stejn´eho typu, jako byl uveden v pˇredchoz´ı kapitole na obr´azku 4.2, ale doˇslo ke zv´ yˇsen´ı stupnˇe filtru na 20. Kmitoˇcet propustn´eho p´asma FIR filtru byl ponech´an na 0,03 Hz a vzorkovac´ı kmitoˇcet 1 Hz. Provedeme n´avrh filtru a z´ısk´ame pˇrenosovou funkci (4.4). Z´ıskan´a pˇrenosov´a funkce m´a n´asleduj´ıc´ı tvar:
H[z] =
Y [z] = 0, 004085 + 0, 006067z −1 + 0, 01124z −2 + 0, 02003z −3 + X[z] 0, 03221z −4 + 0, 04691z −5 + 0, 06268z −6 + 0, 07771z −7 + 0, 09014z −8 + 0, 09834z −9 + 0, 1012z −10 + 0, 09834z −11 + 0, 09014z −12 + 0, 07771z −13 + 0, 06268z −14 + 0, 04691z −15 + 0, 03221z −16 + 0, 02003z −17 + 0, 01124z −18 + 0, 006067z −19 + 0, 004085z −20 (4.4)
Amplitudov´a charakteristika filtru je zobrazena na obr´azku 4.16 a zobrazen´ı nul a p´ol˚ u je uvedeno na obr´azku 4.17. Z amplitudov´e charakteristiky je zˇrejm´e, ˇze se zvˇetˇsila strmost dan´eho filtru. Stabilita filtru je tak´e vyhovuj´ıc´ı, vˇsechny p´oly jsou v nule. Pod´ıvejme se na v´ ysledek synchronizace ˇcasu v navrˇzen´em syst´emu (obr´azek 4.18). Z obr´azku je patrn´e rozkmit´an´ı cel´eho syst´emu. D˚ uvodem je velk´e zpoˇzdˇen´ı filtru, kter´e zp˚ usobuje velmi pomalou reakci v´ ystupn´ı veliˇciny na vstupn´ı (pˇrekmitnut´ı zmˇeny ˇcasu hodin do vˇetˇs´ıch odchylek s opaˇcn´ ym znam´enkem neˇz byla p˚ uvodn´ı chyba). D˚ uvodem
´ ˇ ´I SYNCHRONIZACE 4.3. NAVRH NA ZLEPSEN
51
Obr´azek 4.17: Zobrazen´ı nul a p´ol˚ u filtru FIR ˇra´du 20 s mezn´ım kmitoˇctem 0,03 Hz je i chyba dan´a zpoˇzdˇen´ım s´ıtˇe, kter´a je na blokov´em sch´ematu 4.14 oznaˇcena jako chybov´a veliˇcina. Z toho vypl´ yv´ a, ˇ ze cel´ y syst´ em je potˇ reba ˇ reˇ sit jako syst´ em se zpoˇ zdˇ en´ım a jedn´ım z hlavn´ıch poˇ zadavk˚ u je minimalizace zpoˇ zdˇ en´ı. Samotn´a stabilita filtru nestaˇc´ı. Proto je v n´asleduj´ıc´ı sekci uveden n´avrh realizace pomoc´ı IIR filtru.
´ ˇ ´IHO ALGORITMU KAPITOLA 4. NAVRH A SIMULACE SYNCHRONIZACN
5
6
x 10
4
2
∆t [µs]
52
0
−2
−4
−6
−8
0
1
2
3
4
5
6
7
t [s]
Obr´azek 4.18: V´ ysledek synchronizace ˇcasu klienta s filtrem FIR ˇra´d 20
´ ˇ ´I SYNCHRONIZACE 4.3. NAVRH NA ZLEPSEN 4.3.1.2
53
Vlastnosti a v´ ysledky IIR filtru
IIR filtry maj´ı oproti FIR filtr˚ um mnohem vˇetˇs´ı strmost pˇri niˇzˇs´ım stupni filtru. To je velice v´ yhodn´e, jelikoˇz ˇc´ım niˇzˇs´ı stupeˇ n filtru, t´ım niˇzˇs´ı je i zpoˇzdˇen´ı cel´eho filtru. V pˇr´ıpadˇe n´avrhu IIR filtru je potˇreba vˇetˇs´ı kontroly n´avrhu, protoˇze IIR filtr m˚ uˇze b´ yt nestabiln´ı, zat´ımco FIR filtr je vˇzdy stabiln´ı. Pˇri n´avrhu IIR filtru byla zvolena doln´ı propust s mezn´ım kmitoˇctem propustn´eho p´asma 0,03 Hz a vzorkovac´ım kmitoˇctem 1 Hz (stejnˇe jako u FIR filtru) a byla vyuˇzita Butterworthova aproximace. Byl pouˇzit IIR filtr ˇra´du 4, kter´ y m´a dostateˇcnou strmost a dostateˇcnˇe rychlou odezvu v regulaˇcn´ı smyˇcce. Amplitudov´a charakteristika IIR filtru ˇra´du 4 je uvedena na obr´azku 4.19. Magnitude Response (dB) 0 −20 −40
Magnitude (dB)
−60 −80 −100 −120 −140 −160 −180 −200 0
0.1
0.2
0.3
0.4 0.5 0.6 0.7 Normalized Frequency (×π rad/sample)
0.8
0.9
Obr´azek 4.19: Filtr IIR s ˇra´dem 4 Zobrazen´ı nul a p´ol˚ u je uvedeno na obr´azku 4.20 a filtr IIR je stabiln´ı (P´oly oznaˇcen´e kˇr´ıˇzkem). Pˇrenosov´a funkce je d´ana vztahem 4.5.
H[z] =
4, 373e−6 z −4 + 1, 749e−1 z −3 + 2, 624e−5 z −2 + 1, 749e−5 z −3 + 4, 373e−6 z −4 (4.5) 1 − 3, 754z −1 + 5, 291z −2 − 3, 319z −3 + 0, 7816z −4
V pˇr´ıpadˇe pouˇzit´ı IIR filtru pˇri synchronizaci ˇcasu se syst´em choval korektnˇe a k rozkmit´an´ı soustavy nedoˇslo. Z pohledu ˇreˇsen´ı stability zm´ınˇen´eho syst´emu se zpoˇzdˇen´ım m˚ uˇzeme vyuˇz´ıt Nyquistovo krit´erium stability [11]. Toto krit´erium umoˇzn ˇuje ovˇeˇrit stabilitu regulaˇcn´ıho obvodu na z´akladˇe kmitoˇctov´e charakteristiky. Nyquist˚ uv diagram je uveden na obr´azku 4.21. Krit´erium stability ˇr´ık´a, ˇze regulaˇcn´ı obvod bude stabiln´ı tehdy
54
´ ˇ ´IHO ALGORITMU KAPITOLA 4. NAVRH A SIMULACE SYNCHRONIZACN Pole/Zero Plot 1 0.8 0.6
Imaginary Part
0.4 0.2 4
0 −0.2 −0.4 −0.6 −0.8 −1 −1.5
−1
−0.5
0 Real Part
0.5
1
1.5
Obr´azek 4.20: Zobrazen´ı nul a p´ol˚ u filtru IIR ˇra´du 4 s mezn´ım kmitoˇctem 0,03 Hz a jen tehdy, kdyˇz amplitudo-f´azov´a kmitoˇctov´a charakteristika otevˇren´eho regulaˇcn´ıho obvodu neobklopuje kritick´ y bod [-1; j0]. Z uveden´ ych v´ ysledk˚ u vypl´ yv´a, ˇze samotn´ y syst´em s IIR filtrem je stabiln´ı. Z pohledu vstupn´ı hodnoty filtru je ale tak´e nutn´e poˇc´ıtat s chybovou veliˇcinou (obr. 4.14), kter´a zde reprezentuje nepˇresnost zpoˇzdˇen´ı v re´aln´e paketov´e s´ıti. V pˇr´ıpadˇe spr´avn´e funkce ˇcasov´eho protokolu se bude korekce K1 bl´ıˇzit nule, ale v pˇr´ıpadˇe chyb (napˇr´ıklad pˇri v´ ypadku spojen´ı) m˚ uˇze doj´ıt k nekorektn´ım hodnot´am ˇcas˚ u (pˇr´ıpadnˇe korekc´ı), kter´e je potˇreba pˇredem odstranit. Pˇri n´avrhu je proto dobr´e prov´est simulace pro r˚ uzn´e hodnoty zpoˇzdˇen´ı s´ıtˇe a ovˇeˇrit si tak stabilitu syst´emu. Navrˇzen´e filtry byly podrobeny d˚ ukladn´emu testov´an´ı pomoc´ı simulac´ı. Pˇri kaˇzd´e simulaci je nastavov´ana stˇredn´ı hodnota zpoˇzdˇen´ı paket˚ u v s´ıti a rozptyl zpoˇzdˇen´ı paket˚ u, kter´ y je pˇriˇc´ıt´an ke stˇredn´ı hodnotˇe zpoˇzdˇen´ı. Simulace byly prov´adˇeny pro stˇredn´ı hodnotu zpoˇzdˇen´ı 3 ms a 10 ms a s rozptylem 1, 2 a 3 ms. V´ ysledky jsou jako pˇr´ıklad uvedeny pro stˇredn´ı hodnotu zpoˇzdˇen´ı 3 ms s rozptylem 1 ms. Na prvn´ım obr´azku 4.22 je zobrazen v´ ysledek v´ ypoˇctu korekce vypoˇc´ıtan´e z pˇrijat´ ych paket˚ u (v blokov´em sch´ematu je oznaˇcena jako K1). Tato korekce je n´aslednˇe vyhodnocov´ana IIR filtrem. V´ ysledn´e vypoˇc´ıtan´e korekce z´ıskan´e po pr˚ uchodu hodnot filtrem (v blokov´em sch´ematu oznaˇcen´e jako K2) jsou zobrazeny na obr´azku 4.23. V´ ysledn´e hodnoty korekc´ı v porovn´an´ı s bˇeˇzn´ ym stavem, kde byl pouˇzit FIR filtr zobrazen´ y na obr´azku 4.4, jsou mnohem niˇzˇs´ı. Jedn´a se pˇribliˇznˇe o desetin´asobn´e zmenˇsen´ı hodnoty korekc´ı, kter´e z IIR filtru z´ısk´av´ame. To m´a i v´ yznamn´ y vliv na v´ yslednou pˇresnost synchronizace, kter´a je uvedena na obr´azku 4.24.
´ ˇ ´I SYNCHRONIZACE 4.3. NAVRH NA ZLEPSEN
55
Nyquist Diagram 1 0.8 0.6
Imaginary Axis
0.4 0.2 0 −0.2 −0.4 −0.6 −0.8 −1 −1
−0.8
−0.6
−0.4
−0.2
0 Real Axis
0.2
0.4
0.6
0.8
1
Obr´azek 4.21: Nyquist˚ uv diagram pro filtr IIR s ˇra´dem 4
2000
k [µs]
1000
0
−1000
−2000
−3000 0
10
20
30
40
50
60
70
80
90
t [s]
Obr´azek 4.22: Korekce K1 v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 1 ms
56
´ ˇ ´IHO ALGORITMU KAPITOLA 4. NAVRH A SIMULACE SYNCHRONIZACN
25 20 15 10
k [µs]
5 0 −5 −10 −15 −20 −25 10
20
30
40
50
60 t [s]
70
80
90
100
110
Obr´azek 4.23: Korekce K2 v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 1 ms
250 200 150 100
∆t [µs]
50 0 −50 −100 −150 −200 0
20
40
60
80
100
120
140
160
t [s]
Obr´azek 4.24: Odchylka ˇcasu serveru od ˇcasu klienta v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 1 ms
´ ˇ ´I SYNCHRONIZACE 4.3. NAVRH NA ZLEPSEN
4.3.2
57
Simulace a v´ ysledky druh´ ych hodin
V t´eto podkapitole je uvedeno vylepˇsen´ı v´ ysledn´e synchronizace ˇcasu v podobˇe pˇridan´ ych ´ dalˇs´ıch hodin. Uˇcelem tˇechto hodin je zamezit velk´emu kol´ıs´an´ı pˇresnosti ˇcasu, a proto bude ˇr´ızen´ı prob´ıhat mnohem pomaleji neˇz je tomu v pˇr´ıpadˇe prvn´ıch hodin. Jak je uvedeno v blokov´em sch´ematu principu synchronizace (obr. 4.13), jsou druh´e hodiny nastavov´any a ˇ ast blokov´eho sch´ematu je uvedena na obr´azku 4.25. dolad’ov´any z prvn´ıch hodin. C´ Korekce K3
Porovnávač as z lokálních časů Hodin H1
Průměrovací Filtr
as Lokální Hodiny H2 Lokální oscilátor
Korekce K4
Takt
PLL
ˇ ast blokov´eho sch´ematu s hodinami H2 Obr´azek 4.25: C´ Stejnˇe jako hodiny H1 jsou i hodiny H2 ˇr´ızeny stejn´ ym taktem. V re´aln´em prostˇred´ı se pouˇz´ıv´a oscil´ator, kter´ y m´a urˇcitou m´ıru stability. Bˇehem simulace jsem zvolil takt 1 MHz (perioda 1 µs), kter´ y jsem tak´e definovan´ ym zp˚ usobem na poˇca´tku znepˇresnil (typicky ˇra´dovˇe odchylka 2 Hz) a analyzoval jsem spr´avnou funkci dolad’ov´an´ı oscil´atoru. Podrobnˇeji to bude rozeps´ano d´ale. ´ Hodiny H2 se chovaj´ı stejnˇe jako hodiny H1. Uprava ˇcasu hodin je prov´adˇena pomoc´ı korekce K4, kter´a vych´az´ı z pr˚ umˇerovac´ıho filtru. Samozˇrejmˇe na zaˇca´tku jsou hodiny H2 nastaveny pˇr´ımo z hodin H1 a to po dostateˇcn´em ust´alen´ı ˇcasu hodin H1. V pˇr´ıpadˇe simulace dojde k ust´alen´ı hodin H1 bˇehem 1 s. Cyklus synchronizace se prov´ad´ı jednou za 10 ms, tedy kaˇzd´ ych 10 ms je vysl´an nov´ y dotaz na server a po zasl´an´ı odpovˇedi jsou vypoˇc´ıt´any jednotliv´e korekce. V´ ysledn´ y ˇcas hodin H2 a hodin H1 je porovn´av´an v bloku nazvan´ ym jako Porovn´avaˇc ˇcas˚ u. V´ ysledkem je rozd´ıl ˇcas˚ u hodin H1 a H2. Tento rozd´ıl je d´ale propagov´an jako korekce K3, kter´a vstupuje do pr˚ umˇerovac´ıho filtru a tak´e do ’ f´azov´eho z´avˇesu, kter´ y ˇr´ıd´ı dolad ov´an´ı oscil´atoru. 4.3.2.1
Pr˚ umˇ erovac´ı filtr
Pr˚ umˇerovac´ı filtr slouˇz´ı k ukl´ad´an´ı hodnot jednotliv´ ych korekc´ı K3 a po z´ısk´an´ı dostateˇcn´eho poˇctu hodnot urˇc´ı v´ yslednou korekci K4 pro hodiny H2. Jelikoˇz je potˇreba
58
´ ˇ ´IHO ALGORITMU KAPITOLA 4. NAVRH A SIMULACE SYNCHRONIZACN
z´ıskat korekci jednou za urˇcit´e delˇs´ı obdob´ı, nebylo moˇzn´e pouˇz´ıt ˇza´dn´ y standardn´ı filtr, protoˇze stupeˇ n filtru by byl extr´emnˇe velik´ y. Tak´e by doch´azelo ke korekci pˇri kaˇzd´e vstupn´ı hodnotˇe, coˇz je neˇza´douc´ı. Pro pr˚ umˇerovac´ı filtr zavedeme obecnou veliˇcinu δ (delta), kter´a bude urˇcovat poˇcet pr˚ umˇerovan´ ych vzork˚ u. Tato δ tak´e urˇcuje dobu, za kterou jsou hodiny korigov´any. Pr˚ umˇerovac´ı filtr prov´ad´ı prost´ y pr˚ umˇer hodnot, kter´ y vypoˇc´ıt´a jednu hodnotu z δ pˇredchoz´ıch hodnot. Hlavn´ım c´ılem je zamezit neˇza´douc´ım v´ ychylk´am, kter´e m˚ uˇzou negativnˇe ovlivnit pˇresnost ˇcasu hodin H2. Na z´akladˇe proveden´ ych simulac´ı s r˚ uznou hodnotou δ, byla jako optim´aln´ı hodnota zvolna hodnota 50. V pˇr´ıpadˇe vˇetˇs´ı hodnoty δ je ˇ ım vˇetˇs´ı potˇreba si uvˇedomit, ˇze tato hodnota m´a vliv na rychlost u ´pravy ˇcasu hodin H2. C´ poˇcet pr˚ umˇerovan´ ych hodnot, t´ım delˇs´ı bude ˇcas potˇrebn´ y k pˇresn´emu doladˇen´ı hodin z chybn´eho poˇca´teˇcn´ıho stavu. Proto je vhodn´e zachovat hodnotu δ v mez´ıch stanoven´ ych n´asleduj´ıc´ım vztahem (4.6): 30 ≤ δ ≤ 100
(4.6)
V z´avislosti na velikosti rozd´ılu ˇcasu hodin H1 a H2 bylo zvoleno odstupˇ nov´an´ı velikost´ı jednotliv´ ych v´ ysledn´ ych korekc´ı K4. Samotn´ y pr˚ umˇer x rozd´ılu ˇcas˚ u H1 a H2 z´ıskan´ ych z poˇctu hodnot δ nelze pˇr´ımo pouˇz´ıt jako korekci K4. D˚ uvodem je nemˇen´ıc´ı se ˇcas hodin H2, kter´e se koriguj´ı jednou za delˇs´ı ˇcasov´ yu ´sek dan´ y hodnotou δ. Proto je korekce K4 urˇcov´ana podle n´asleduj´ıc´ıch vztah˚ u: x=
Pδ
i=1
H1i − H2i δ
(4.7)
V´ ysledn´a korekce K4 je pro jednotliv´e pˇr´ıpady vypoˇc´ıt´ana takto: Pokud x > 5µs nebo x < −5µs tak K4 =
Pokud 5µs ≥ x > 2µs nebo
Pokud 2µs ≥ x > 1µs nebo
x · 10 δ
(4.8)
− 5µs ≤ x < −2µs tak K4 =
− 2µs ≤ x < −1µs tak K4 =
Pokud 1µs ≥ x ≥ −1µs tak K4 =
x δ
x ·4 δ
x ·2 δ
(4.9)
(4.10)
(4.11)
Skuteˇcn´e hodnoty jednotliv´ ych korekc´ı K4 jsou uvedeny na n´asleduj´ıc´ım obr´azku 4.26 spoleˇcnˇe s korekcemi K2, kter´e jsou urˇcov´any IIR filtrem. Pˇri porovn´an´ı je v´ ysledn´a velikost korekce K4 menˇs´ı a pozvolnˇejˇs´ı, coˇz bylo hlavn´ım c´ılem. To v´ yrazn´ ym zp˚ usobem ovlivn´ı v´ yslednou pˇresnost hodin H2.
´ ˇ ´I SYNCHRONIZACE 4.3. NAVRH NA ZLEPSEN
59
30 Korekce K2 Korekce K4 20
k [µs]
10
0
−10
−20
40
50
60
70
80
90 t [s]
100
110
120
130
140
Obr´azek 4.26: V´ ysledn´e korekce K4 a K2 pˇri stˇredn´ı hodnotˇe zpoˇzdˇen´ı 3 ms a rozptylu 1 ms 4.3.2.2
V´ ysledn´ a pˇ resnost hodin H2
Hodiny H2 jsou ˇr´ızeny stejn´ ym lok´aln´ım oscil´atorem jako hodiny H1, ale ˇcas hodin H2 je upravov´an a zpˇresˇ nov´an pomoc´ı korekc´ı K4 (blokov´e sch´ema na obr´azku 4.25). Hodnoty korekc´ı K4 byly uvedeny na obr´azku 4.26 v pˇredeˇsl´e podkapitole. Tyto korekce jsou pˇriˇc´ıt´any k ˇcasu hodin H2 a postupnˇe doch´az´ı ke zpˇresˇ nov´an´ı ˇcasu H2 tak, aby se co nejv´ıce bl´ıˇzil ˇcasu serveru. Rozd´ıl ˇcasu serveru a hodin H2 zobrazuje n´asleduj´ıc´ı obr´azek 4.27. Je zde vidˇet, ˇze po stabilizaci je maxim´aln´ı rozd´ıl ˇcasu mezi hodinami H2 a serverem okolo 50 µs. Pokud porovn´ame tento v´ ysledek s hodinami H1 na stranˇe klienta (obr. 4.24) nebo pokud si hodiny H1 a H2 d´ame do stejn´eho grafu, uk´aˇze se n´am v´ ysledn´ y efekt zpˇresnˇen´ı ˇcasu. Toto porovn´an´ı je uvedeno na obr´azku 4.28. Modr´a kˇrivka reprezentuje rozd´ıl ˇcasu hodin H1 a serveru, ˇcerven´a kˇrivka ukazuje rozd´ıl ˇcasu hodin H2 a serveru. Na zaˇca´tku je ˇcas hodiny H2 u ´myslnˇe posunut a je zde vidˇet postupn´e zpˇresnˇen´ı ˇcasu hodin H2. Hodiny H1 jsou samozˇrejmˇe v tomhle ohledu rychlejˇs´ı, protoˇze jsou ˇr´ızeny z pˇrijat´ ych paket˚ u a IIR filtru, jak uˇz bylo zm´ınˇeno dˇr´ıve v kap. 4.3.1.2. V´ ysledn´ y pr˚ ubˇeh rozd´ılu ˇcasu hodin H2 a serveru je vyrovnan´ y a pˇresnˇejˇs´ı. V´ ysledky simulace potvrdily pˇredpoklad chov´an´ı cel´eho
60
´ ˇ ´IHO ALGORITMU KAPITOLA 4. NAVRH A SIMULACE SYNCHRONIZACN
100
∆t [µs]
50
0
−50 50
100
150 t [s]
200
250
300
Obr´azek 4.27: Rozd´ıl ˇcasu serveru a hodin H2 v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 1 ms syst´emu. Pokud porovn´ame maxim´aln´ı odchylky ˇcas˚ u hodin H1 a H2 oproti serveru (H1 max okolo 200 µs a H2 max okolo 50 µs), tak se v´ ysledn´a pˇresnost zlepˇsila 4x. Pˇresnost v ˇra´du des´ıtek mikrosekund pˇri pr˚ umˇern´em zpoˇzdˇen´ı s´ıtˇe 3 ms a rozptylem paket˚ u 1 ms je velice dobr´a. Vˇsechny v´ ysledky, kter´e byly v t´eto podkapitole uvedeny, byly simulov´any za stejn´ ych podm´ınek nastaven´ı s´ıtˇe. Jedn´a se o pˇr´ıpad, kdy stˇredn´ı hodnota zpoˇzdˇen´ı s´ıtˇe byla nastavena na 3 ms a rozptyl tohoto zpoˇzdˇen´ı byl 1 ms. Z toho vypl´ yv´a, ˇze zpoˇzdˇen´ı jedn´ım smˇerem bylo generov´ano v rozmez´ı od 2 ms do 4 ms. Simulace byly prov´adˇeny i pro ostatn´ı hodnoty zpoˇzdˇen´ı, stejnˇe jako pˇri simulaci aktu´aln´ıho stavu v kapitole 4.1, abychom mohli jednotliv´e v´ ysledky porovnat. N´asleduj´ıc´ı tabulky 4.3 a 4.4 zobrazuj´ı v´ ysledky pˇresnosti ˇcasu klienta oproti ˇcasu serveru pro jednotliv´e simulace. Tabulka 4.3 zobrazuje v´ yslednou pˇresnost ˇcasu hodin H1 pro jednotliv´e varianty simulac´ı. Rozd´ıl v´ ysledn´ ych hodnot oproti tabulce 4.1, kde pˇri simulac´ıch byl pouˇzit jin´ y filtr, je znateln´ y. Podle vypoˇc´ıtan´ ych statistick´ ych hodnot pˇrin´aˇs´ı pouˇzit´ı IIR filtru zlepˇsen´ı pˇresnosti synchronizace ˇcasu o necel´ y jeden ˇra´d. V pˇr´ıpadˇe porovn´an´ı pˇresnosti hodin H1 a H2 na stranˇe klienta je vidˇet rozd´ıl pˇribliˇznˇe o jeden ˇra´d. Hodiny H2 vykazuj´ı vyˇsˇs´ı stabilitu, kter´a jiˇz byla uk´az´ana na obr´azku 4.28, kde je zobrazeno porovn´an´ı pˇresnosti synchronizace ˇcasu hodin H1 a H2. V´ ysledky simulac´ı potvrdily pˇredpoklad, kdy v´ ysledn´a pˇresnost ˇcasu hodin H2 dosahuje nejvyˇsˇs´ıch hodnot. Pro n´azornost zde uvedu i graf porovn´an´ı ˇcasu hodin H1 a H2 pro simulace se stˇredn´ı
´ ˇ ´I SYNCHRONIZACE 4.3. NAVRH NA ZLEPSEN
61
Hodiny H1 Hodiny H2
400 300 200
∆t [µs]
100 0 −100 −200 −300 −400 50
100
150
200
250
t [s]
Obr´azek 4.28: Rozd´ıl ˇcasu serveru a ˇcasu hodin H1 a H2 v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 1 ms hodnotou zpoˇzdˇen´ı 3 ms a rozptylem 3 ms (Obr. 4.29) a se stˇredn´ı hodnotou zpoˇzdˇen´ı 10 ms a rozptylem 1 ms (Obr. 4.30). Jak uˇz bylo ˇreˇceno dˇr´ıve, stˇredn´ı hodnota zpoˇzdˇen´ı nem´a z´asadn´ı vliv na v´ yslednou pˇresnost synchronizace, coˇz je n´azornˇe vidˇet jak v tabulk´ach, tak i v pˇr´ıpadˇe porovn´an´ı obr´azk˚ u 4.28 a 4.30.
62
´ ˇ ´IHO ALGORITMU KAPITOLA 4. NAVRH A SIMULACE SYNCHRONIZACN
Zpoˇ zdˇ en´ı s´ıtˇ e Stˇredn´ı Rozptyl hodnota [s] 3e-3 1e-3 3e-3 2e-3 3e-3 3e-3 1e-2 1e-3 1e-2 2e-3 1e-2 3e-3
V´ ysledn´ a pˇ resnost synchronizace hodin H1 Stˇredn´ı Smˇerodatn´a Min [s] Max [s] hodnota [s] odchylka [s] 4,2e-6 6,4e-5 -2,2e-4 2,2e-4 8,6e-6 1,2e-4 -4,4e-4 4,6e-4 1,2e-5 1,6e-4 -6,3e-4 6,4e-4 -7,9e-6 5,8e-5 -2,2e-4 1,8e-4 7,2e-6 1,2e-4 -4,3e-4 4,1e-4 1,1e-5 1,8e-4 -6,5e-4 6,1e-4
Tabulka 4.3: V´ ysledky pˇresnosti synchronizace hodin H1 pˇri r˚ uzn´ ych podm´ınk´ach nastaven´ı s´ıtˇe
Zpoˇ zdˇ en´ı s´ıtˇ e Stˇredn´ı Rozptyl hodnota [s] 3e-3 1e-3 3e-3 2e-3 3e-3 3e-3 1e-2 1e-3 1e-2 2e-3 1e-2 3e-3
V´ ysledn´ a pˇ resnost synchronizace hodin H2 Stˇredn´ı Smˇerodatn´a Min [s] Max [s] hodnota [s] odchylka [s] 3,8e-6 1,8e-5 -4,8e-5 4,6e-5 8,8e-6 3,2e-5 -8,3e-5 9,2e-5 8,5e-6 4,2e-5 -1,1e-4 1,1e-4 -5,2e-6 2,1e-5 -3,4e-5 7,2e-5 1,2e-5 3,1e-5 -5,2e-5 8,6e-5 2,2e-5 4,3e-5 -7,1e-5 1,1e-4
Tabulka 4.4: V´ ysledky pˇresnosti synchronizace hodin H2 pˇri r˚ uzn´ ych podm´ınk´ach nastaven´ı s´ıtˇe
´ ˇ ´I SYNCHRONIZACE 4.3. NAVRH NA ZLEPSEN
63
1000
Hodiny H1 Hodiny H2
800 600
∆t [µs]
400 200 0 −200 −400 −600 0
50
100
150 t [s]
200
250
Obr´azek 4.29: Rozd´ıl ˇcasu serveru a ˇcasu hodin H1 a H2 v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 3 ms
400
Hodiny H1 Hodiny H2
300
∆t [µs]
200
100
0
−100
−200
0
50
100
150
200
t [s]
Obr´azek 4.30: Rozd´ıl ˇcasu serveru a ˇcasu hodin H1 a H2 v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 10 ms a rozptylu 1 ms
64 4.3.2.3
´ ˇ ´IHO ALGORITMU KAPITOLA 4. NAVRH A SIMULACE SYNCHRONIZACN Lok´ aln´ı oscil´ ator a jeho dolad’ov´ an´ı
Dalˇs´ım d˚ uleˇzit´ ym bodem, kter´ y byl ˇreˇsen v r´amci disertaˇcn´ı pr´ace, je stabilizace a doladˇen´ı lok´aln´ıho oscil´atoru, kter´ y ˇr´ıd´ı jak hodiny H1 tak i hodiny H2. V pˇr´ıpadˇe jednotliv´ ych zaˇr´ızen´ı a v´ yrobk˚ u se stabilita pouˇzit´ ych oscil´ator˚ u znaˇcnˇe liˇs´ı. Kvalitativnˇe vyˇsˇs´ı tˇr´ıda zaˇr´ızen´ı vyuˇz´ıv´a lepˇs´ıch oscil´ator˚ u, coˇz je ale vykoupeno vyˇsˇs´ı cenou cel´eho zaˇr´ızen´ı a i u tˇechto zaˇr´ızen´ı je potˇreba urˇcit´e dolad’ov´an´ı dan´eho oscil´atoru (nucen´a synchronizace). Pokud m´a lok´aln´ı oscil´ator na stranˇe klienta urˇcitou odchylku (∆t), bude doch´azet k nepˇretrˇzit´emu pˇredb´ıh´an´ı ˇci zpoˇzd’ov´an´ı hodin klienta H. Ht+1 = Ht + ∆t
(4.12)
Z pohledu synchronizaˇcn´ıho algoritmu budou m´ıt v´ ysledn´e korekce st´ale stejnou nenulovou hodnotu (bud’ st´ale kladnou ˇci z´apornou). Synchronizaˇcn´ı algoritmus bude st´ale korigovat ˇcas klienta, kter´ y se bude drˇzet v urˇcit´em rozmez´ı, ale v´ ysledn´a pˇresnost (pˇri porovn´an´ı rozd´ılu ˇcasu serveru a klienta) bude horˇs´ı. Princip ˇr´ızen´ı oscil´atoru je zn´azornˇen na obr´azku 4.31, kter´ y pˇredstavuje v´ yˇrez z celkov´eho blokov´eho sch´ematu na obr´azku 4.13. Lok´aln´ı oscil´ator ud´av´a takt, kter´ y ˇr´ıd´ı jedˇ jednotliv´ notliv´e hodiny a ty si na z´akladˇe taktu poˇc´ıtaj´ı sv˚ uj vnitˇrn´ı ˇcas. Cas ych hodin je upravov´an jednotliv´ ymi korekcemi K2 nebo K4, kter´e prov´adˇej´ı bud’ pˇriˇcten´ı nebo odeˇcten´ı mal´eho ˇcasu (ˇra´dy mikrosekund) tak, aby doˇslo k celkov´emu zpˇresnˇen´ı jednotliv´ ych hodin.
Korekce K2
as
as
Lokální Hodiny H1
Lokální Hodiny H2
Takt Výstup
Generátor taktu
Lokální oscilátor
Korekce K4
Takt
PLL
Korekce K3
ˇ ast blokov´eho sch´ematu s oscil´atorem Obr´azek 4.31: C´ Lok´aln´ı oscil´ator b´ yv´a ˇr´ızen pomoc´ı napˇet´ı a cel´ y syst´em pro ˇr´ızen´ı kmitoˇctu oscil´atoru ˇci f´aze se naz´ yv´a f´azov´ y z´avˇes (PLL - Phase Lock Loop). Teorie okolo f´azov´ ych z´avˇes˚ u je velice d˚ ukladnˇe propracovan´a [26] a existuj´ı r˚ uzn´e varianty ˇreˇsen´ı analogov´ ych ˇci digit´aln´ıch f´azov´ ych z´avˇes˚ u. Pro doladˇen´ı kmitoˇctu lok´aln´ıho oscil´atoru n´am staˇc´ı z´akladn´ı princip f´azov´eho z´avˇesu uveden´eho na obr´azku 4.32. Pokud si prom´ıtneme tento obr´azek do pˇredchoz´ıho blokov´eho sch´ema 4.31 pˇredstavuje blok VCO (Voltage-controlled oscillator) Lok´aln´ı oscil´ator, kter´ y je ˇr´ızen napˇet´ım. Frekvence f0 je v naˇsem pˇr´ıpadˇe takt, kter´ y vstupuje do jednotliv´ ych
´ ˇ ´I SYNCHRONIZACE 4.3. NAVRH NA ZLEPSEN fr
Referenní kmito et
Fázový detektor
Filtr F(s)
65
VCO
fo Výstupní kmito et
Dělič kmitočtu1/N
Obr´azek 4.32: F´azov´ y z´avˇes hodin H1 a H2. Blok dˇeliˇc kmitoˇctu nen´ı ve vˇsech pˇr´ıpadech nutn´ y a m˚ uˇze b´ yt vynech´an. V´ ysledn´a frekvence f0 je d´ana vztahem 4.13. f0 = N · fr
(4.13)
D˚ uleˇzit´ ym blokem je F´azov´ y detektor, kter´ y porovn´av´a v´ ystupn´ı kmitoˇcet s referenˇcn´ım ´ kmitoˇctem. Uprava referenˇcn´ıho kmitoˇctu mus´ı b´ yt v naˇsem pˇr´ıpadˇe ˇr´ızena na z´akladˇe korekc´ı K3, kter´e pˇrich´azej´ı na vstup obvodu PLL. Tyto korekce mohou b´ yt vyhodnocov´any r˚ uznˇe a jeden z moˇzn´ ych postup˚ u, kter´ y byl vyuˇzit pˇri simulaci, je popsan´ y d´ale. V´ ystup z f´azov´eho detektoru proch´az´ı filtrem a v´ ysledn´a velikost napˇet´ı ˇr´ıd´ı kmitoˇcet oscil´atoru. Bˇehem simulace je ˇr´ızen´ı oscil´atoru zjednoduˇseno a blok PLL se tak´e chov´a jako pr˚ umˇerovac´ı filtr (podkapitola 4.3.2.1). Prov´ad´ı se dlouhodob´e vyhodnocov´an´ı korekce K3, kter´a ud´av´a rozd´ıl hodin H1 a H2 a n´aslednˇe doch´az´ı k v´ ypoˇctu pr˚ umˇeru tˇechto dat. Simulaˇcn´ı program prov´ad´ı pr˚ umˇerov´an´ı s velikost´ı okna 100 vzork˚ u. Tato hodnota je optim´aln´ı vzhledem k rychlosti odezvy cel´eho syst´emu. V pˇr´ıpadˇe bloku PLL je potˇreba z´ıskat jednu pr˚ umˇernou hodnotu korekce k, kter´a stanov´ı, jak´ ym smˇerem je potˇreba lok´aln´ı ’ oscil´ator doladit. V´ ysledn´a korekce k ovlivˇ nuje dolad ov´an´ı lok´aln´ıho oscil´atoru podle n´asleduj´ıc´ıch podm´ınek (tabulka 4.5) a pˇrevodn´ı charakteristika je uvedena na obr´azku ˇc´ıslo 4.33. V´ ysledn´a korekce [µs] k>5 5≥k>2 2≥k>1 1 ≥ k ≥ -1 -1 > k ≥ -2 -2 > k ≥ -5 -5 > k
´ Uprava oscil´atoru [Hz] ∆f = −0, 05 1 k − 120 ∆f = 120 k 1 ∆f = 40 + 40 +0 1 k − 40 ∆f = 40 k 1 ∆f = 120 + 120 ∆f = +0, 05
Tabulka 4.5: Funkce doladˇen´ı oscil´atoru pˇri simulaci V´ ysledn´a z´avislost u ´pravy frekvence na velikosti korekce (tabulka 4.5) byla vytvoˇrena experiment´alnˇe pˇri simulac´ıch a jejich v´ ysledc´ıch. V pˇr´ıpadˇe velk´e korekce, kter´a je vˇetˇs´ı
66
´ ˇ ´IHO ALGORITMU KAPITOLA 4. NAVRH A SIMULACE SYNCHRONIZACN
0.06
0.04
0.02
0
−0.02
−0.04
−0.06
−8
−6
−4
−2
0
2
4
6
8
Obr´azek 4.33: Pˇrevodn´ı charakteristika doladˇen´ı oscil´atoru neˇz ±5 µs je stanoven krok dolad’ov´an´ı na ±1/20 Hz. D˚ uvodem t´eto limitn´ı hodnoty je poˇzadavek, aby nedoˇslo k velk´emu rozladˇen´ı oscil´atoru napˇr´ıklad pˇri chybˇe, a proto tato hodnota nen´ı z´avisl´a na korekci k. Pokud je korekce mezi ±5 a ±1 µs, je oscil´ator dolad’ov´an podle vztah˚ u uveden´ ych v tabulce 4.5, kter´e jsou z´avisl´e na hodnotˇe v´ ysledn´e korekce k. Pokud je v´ ysledn´a korekce menˇs´ı neˇz 1 µs, povaˇzujeme lok´aln´ı oscil´ator a ˇcasy jednotliv´ ych ’ hodin za stabilizovan´e a nedoch´az´ı k dalˇs´ımu dolad ov´an´ı oscil´atoru. Simulace je realizov´ana s oscil´atorem o frekvenci 1 MHz. Na zaˇca´tku simulace byla nepˇresnost lok´aln´ıho oscil´atoru nastavena na +2 Hz. Tato nepˇresnost zp˚ usob´ı pˇredb´ıh´an´ı hodin, coˇz zapˇr´ıˇcin´ı pˇrev´aˇznˇe kladnou korekci, kter´a je zobrazena na obr´azku 4.34. Z tohoto obr´azku je patrn´e, ˇze v´ ysledn´e korekce hodin H2 (ˇcerven´a kˇrivka) je pˇrev´aˇznˇe nad hodnotou 0 ˇcemuˇz odpov´ıd´a i stˇredn´ı hodnota 26 µs uveden´a v tabulce 4.6. Tato hodnota se v´ yznamnˇe liˇs´ı oproti v´ ysledku simulace uveden´e v tabulce 4.4, kdy byla f´azov´a smyˇcka a dolad’ov´an´ı oscil´atoru funkˇcn´ı. V pˇr´ıpadˇe funkˇcn´ıho dolad’ov´an´ı je stˇredn´ı hodnota odchylky ˇcasu serveru a hodin H2 3,8 µs. V pˇr´ıpadˇe funkˇcn´ıho dolad’ov´an´ı oscil´atoru m˚ uˇzeme simulaci vidˇet na n´asleduj´ıc´ım obr´azku 4.35. Na zaˇca´tku byla odchylka nastavena o 2 Hz a n´aslednˇe jsme sledovali schopnost zpˇetn´eho doladˇen´ı k hodnotˇe nula, kdy je takt oscil´atoru 1 MHz a kdy ˇcas hodin je poˇc´ıt´an pˇresnˇe. V´ ysledek v pˇr´ıpadˇe simulace s jin´ ymi vstupn´ımi parametry je zobrazen na obr´azku 4.36. Jedn´a se o simulaci, kde stˇredn´ı hodnota zpoˇzdˇen´ı je 3 ms a rozptyl 2 ms. Lze tedy ˇr´ıci, ˇze doladˇen´ı oscil´atoru m´a v´ yznamn´ y vliv na celkovou pˇresnost synchronizace a to zejm´ena na rozd´ıl stˇredn´ı hodnoty ˇcasu klienta oproti ˇcasu serveru.
´ ˇ ´I SYNCHRONIZACE 4.3. NAVRH NA ZLEPSEN
67
Hodiny H1 Hodiny H2 300
∆t [µs]
200
100
0
−100
−200
50
100
150 t [s]
200
250
300
Obr´azek 4.34: Rozd´ıl ˇcasu serveru a ˇcasu hodin H1 a H2 pˇri chybˇe lok´aln´ıho oscil´atoru o 2 Hz v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylem 1 ms
Zpoˇ zdˇ en´ı s´ıtˇ e Stˇredn´ı Rozptyl Dolad’. hodnota [s] oscil´atoru 3e-3 1e-3 ne 3e-3 1e-3 ano 3e-3 2e-3 ne 3e-3 2e-3 ano
V´ ysledn´ a pˇ resnost synchronizace hodin H2 Stˇredn´ı Smˇerodatn´a Min [s] Max [s] hodnota [s] odchylka [s] 2,6e-5 1,7e-5 -2,2e-5 7,1e-5 3,8e-6 1,8e-5 -4,8e-5 4,6e-5 2,9e-5 2,6e-5 -2,3e-5 9,9e-5 8,8e-6 3,2e-5 -8,3e-5 9,2e-5
Tabulka 4.6: V´ ysledky pˇresnosti synchronizace hodin H2 v z´avislosti na doladˇen´ı oscil´atoru
68
´ ˇ ´IHO ALGORITMU KAPITOLA 4. NAVRH A SIMULACE SYNCHRONIZACN
2
1.5
∆f [Hz]
1
0.5
0
−0.5
−1
0
50
100
150 t [s]
200
250
300
Obr´azek 4.35: Dolad’ov´an´ı lok´aln´ıho oscil´atoru s poˇca´teˇcn´ı chybou 2 Hz v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 1 ms
2
1.5
∆f [Hz]
1
0.5
0
−0.5
−1
0
50
100
150
200
250
t [s]
Obr´azek 4.36: Dolad’ov´an´ı lok´aln´ıho oscil´atoru s poˇca´teˇcn´ı chybou 2 Hz v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 2 ms
Kapitola 5 Z´ avˇ er Hlavn´ım t´ematem t´eto disertaˇcn´ı pr´ace je synchronizace ˇcasu v paketov´ ych s´ıt´ıch, a to zejm´ena moˇznosti rozˇs´ıˇren´ı a vylepˇsen´ı st´avaj´ıc´ıch metod synchronizace ˇcasu a jejich algoritm˚ u. V r´amci disertaˇcn´ı pr´ace bylo postupov´ano systematicky od z´akladn´ı anal´ yzy probl´emu pˇres jednotliv´a mˇeˇren´ı parametr˚ u s´ıtˇe aˇz po modelov´an´ı synchronizace ˇcasu, n´avrhy na zlepˇsen´ı ˇcinnosti algoritmu synchronizace ˇcasu a prok´az´an´ı jeho u ´ˇcinnosti. Jednotliv´e v´ ysledky a c´ıle disertaˇcn´ı pr´ace jsou uvedeny d´ale vˇcetnˇe postupu prac´ı prov´adˇen´ ych bˇehem ˇreˇsen´ı disertaˇcn´ı pr´ace.
5.1
Splnˇ en´ı c´ıl˚ u disertaˇ cn´ı pr´ ace
V t´eto ˇca´sti jsou uvedeny v´ ysledky a zp˚ usoby dosaˇzen´ı vytyˇcen´ ych c´ıl˚ u disertaˇcn´ı pr´ace. Na z´akladˇe toho lze konstatovat, ˇze vytyˇcen´e c´ıle byly beze zbytku splnˇeny.
5.1.1
Anal´ yza a mˇ eˇ ren´ı vlivu velikosti zpoˇ zdˇ en´ı s´ıtˇ e na pˇ resnost synchronizace
Zpoˇzdˇen´ı v paketov´ ych s´ıt´ıch a hlavnˇe kol´ıs´an´ı zpoˇzdˇen´ı v jednotliv´ ych smˇerech pˇrenosu maj´ı z´asadn´ı vliv na v´ yslednou pˇresnost synchronizace. Vˇsechny synchronizaˇcn´ı algoritmy zaloˇzen´e na pˇrenosu ˇcasov´ ych raz´ıtek pˇres paketovou s´ıt’ (podrobnˇe pops´ano v kapitole 2) pˇredpokl´adaj´ı stejn´e zpoˇzdˇen´ı paketu v obou smˇerech pˇrenosu. Na z´akladˇe tohoto pˇredpokladu se d´a vypoˇc´ıtat odchylka ˇcasu klienta a serveru (vztah 2.4). Probl´emem paketov´ ych s´ıt´ı je zpoˇzdˇen´ı paket˚ u v jednotliv´ ych smˇerech, kter´e nen´ı v obecn´em pˇr´ıpadˇe stejn´e. Proto prvn´ım c´ılem bylo analyzovat zpoˇzdˇen´ı mezi dvˇema body v s´ıti. Mˇeˇren´ı zpoˇzdˇen´ı paket˚ u v re´aln´e s´ıti se vˇenuje kapitola 2.6.1, kde bylo prov´adˇeno mˇeˇren´ı ˇ napˇr´ıˇc s´ıt´ı CVUT. V´ ysledky jsou zobrazeny ve formˇe histogramu (obr. 2.10). Ze zm´ınˇen´eho histogramu je vidˇet rozloˇzen´ı dob zpoˇzdˇen´ı jednotliv´ ych paket˚ u. V´ ysledky tˇechto zpoˇzdˇen´ı odpov´ıdaj´ı logaritmicko-norm´aln´ımu rozdˇelen´ı. Tyto v´ ysledky byly oˇcek´av´any a potvrzuj´ı pˇredpoklad pˇri pˇrenosu paket˚ u v s´ıti. 69
70
´ ER ˇ KAPITOLA 5. ZAV
D´ale bylo provedeno mˇeˇren´ı pˇri pouˇzit´ı synchronizaˇcn´ıho protokolu PTP (kapitola 2.3), kter´ y disponuje hardwarov´ ym vylepˇsen´ım pro pˇresn´e urˇcen´ı pˇr´ıchodu synchronizaˇcn´ıch paket˚ u. Protokol PTP je urˇcen pro menˇs´ı s´ıtˇe a v nich dosahuje vysok´e pˇresnosti synchronizace. Jednotliv´e s´ıt’ov´e prvky mus´ı m´ıt implementov´anu hardwarovou podporu tohoto protokolu, a proto c´ılem vybran´ ych mˇeˇren´ı bylo vyhodnocen´ı vlivu standardn´ıch ’ s´ıt ov´ ych prvk˚ u na v´ yslednou pˇresnost synchronizace. Mˇeˇren´ı na r˚ uzn´ ych topologi´ıch s´ıtˇe jsou pops´ana v kapitole 2.6.2. V´ ysledn´a pˇresnost synchronizace (rozd´ıl ˇcasu klienta od ˇcasu serveru) pro jednotliv´a mˇeˇren´ı je pˇrehlednˇe shrnuta v tabulce 2.1. V pˇr´ıpadˇe vyuˇzit´ı s´ıt’ov´ ych zaˇr´ızen´ı bez hardwarov´e podpory synchronizaˇcn´ıho protokolu PTP klesne pˇresnost synchronizace z des´ıtek nanosekund aˇz na stovky nanosekund ˇci jednotky mikrosekund.
5.1.2
Simulaˇ cn´ı program s aktu´ aln´ım stavem a funkc´ı synchronizaˇ cn´ıho algoritmu
C´ılem bylo nasimulovat re´aln´ y stav, tak jak je dnes protokol pro synchronizaci ˇcasu v paketov´ ych s´ıt´ıch pouˇz´ıv´an. Jelikoˇz dnes existuje nˇekolik r˚ uzn´ ych protokol˚ u (kapitola 2), tak nebylo moˇzn´e implementovat a simulovat vˇsechny vlastnosti jednotliv´ ych protokol˚ u, a proto se simulace zamˇeˇruj´ı na spoleˇcn´e vlastnosti vypl´ yvaj´ıc´ı z podstaty pˇrenosu paket˚ u v paketov´e s´ıti. Z´akladn´ı princip a pˇrenos ˇcasov´ ych znaˇcek v jednotliv´ ych paketech je pro vˇsechny synchronizaˇcn´ı protokoly stejn´ y. Z´akladn´ı simulace, popsan´a v kapitole 4.1, vych´az´ı ze znalosti fungov´an´ı synchronizaˇcn´ıho algoritmu. Strana klienta prov´ad´ı v´ ypoˇcet korekce ˇcasu lok´aln´ıch hodin na z´akladˇe pˇrijat´ ych ˇcasov´ ych znaˇcek. Jednotliv´e korekce jsou zpracov´any algoritmem, kter´ y prov´ad´ı pr˚ umˇerov´an´ı hodnot jednotliv´ ych korekc´ı a v´ ysledkem je korekce K2 pro lok´aln´ı hodiny klienta. Tento cyklus se st´ale opakuje a u ´ˇcelem je co nejvˇetˇs´ı zpˇresnˇen´ı ˇcasu lok´aln´ıch hodin klienta. Hlavn´ım promˇenn´ ym parametrem pˇri simulaci je promˇenn´a doba zpoˇzdˇen´ı pˇrenosu paket˚ u v s´ıti Ethernet. Byl zkoum´an vliv nastaven´ı zpoˇzdˇen´ı v jednotliv´ ych smˇerech pˇrenosu na celkovou pˇresnost synchronizace ˇcasu na stranˇe klienta. V´ ysledky pro jednotliv´e simulace jsou pˇrehlednˇe zobrazeny v tabulce 4.1. Tyto v´ ysledky byly porovn´any s v´ ysledky zjiˇstˇen´ ymi pˇri mˇeˇren´ı v re´aln´e s´ıti popsan´ ymi v kapitole 4.2. Pˇri mˇeˇren´ı bylo vyuˇzito s´ıt’ov´eho emul´atoru, kter´ y byl pˇripojen mezi synchronizaˇcn´ım serverem a klientem. V´ ysledn´a pˇresnost synchronizace ˇcasu pˇri mˇeˇren´ı v re´aln´e s´ıti s emul´atorem byla o ˇra´d niˇzˇs´ı neˇz v pˇr´ıpadˇe simulac´ı.
5.1.3
Sn´ıˇ zen´ı vlivu kol´ıs´ an´ı zpoˇ zdˇ en´ı na pˇ resnost synchronizace a zv´ yˇ sen´ı pˇ resnosti synchronizace
Za u ´ˇcelem vylepˇsen´ı synchronizaˇcn´ıho algoritmu byly zkoum´any moˇznosti zv´ yˇsen´ı pˇresnosti synchronizace ˇcasu a generov´an´ı taktu v z´avislosti na kol´ıs´an´ı zpoˇzdˇen´ı jednotliv´ ych paket˚ u. Prvn´ı vylepˇsen´ı spoˇc´ıv´a v anal´ yze a n´avrhu filtru (kapitola 4.3.1), kter´ y
ˇ ´I PRO PRAXI A BUDOUC´I PRACE ´ 5.2. VYUZIT
71
zajiˇst’uje filtraci korekc´ı vypoˇc´ıtan´ ych na z´akladˇe ˇcas˚ u pˇren´aˇsen´ ych v jednotliv´ ych paketech. Pro dalˇs´ı vylepˇsen´ı stability a pˇresnosti synchronizace ˇcasu a generov´an´ı pˇresn´eho taktu byl navrˇzen syst´em dvou lok´aln´ıch hodin a syst´em zpˇetn´eho dolad’ov´an´ı lok´aln´ıho oscil´atoru (kapitola 4.3.2.3). Tento syst´em m´a v´ yznamn´ y vliv na zamezen´ı kr´atkodob´ ych v´ ykyv˚ ua ’ zajiˇst uje dlouhodobou stabilitu generov´an´ı taktu. Jednotliv´a vylepˇsen´ı jsou implementov´ana do simulaˇcn´ıho programu (kapitola 4.3), kter´ y byl dalˇs´ım c´ılem t´eto disertaˇcn´ı pr´ace,jak je uvedeno d´ale.
5.1.4
Vytvoˇ ren´ı simulaˇ cn´ıho programu s vylepˇ senou synchronizac´ı
Hlavn´ım u ´kolem t´eto disertaˇcn´ı pr´ace bylo zkoumat moˇznosti vylepˇsen´ı pˇresnosti synchronizace hodin na stranˇe klienta s n´avaznost´ı na generov´an´ı pˇresn´eho taktu klientem. Bylo postupnˇe vytvoˇreno a testov´ano nˇekolik postup˚ u, kter´e vedly k vytvoˇren´ı konceptu vyuˇz´ıvaj´ıc´ıho dvou lok´aln´ıch hodin. Popis a ˇreˇsen´ı probl´emu je detailnˇe rozebr´ano v kapitole 4.3 a hlavn´ı blokov´e sch´ema syst´emu na stranˇe klienta je uvedeno na obr´azku 4.13. Hlavn´ı princip vylepˇsen´ı spoˇc´ıv´a v pˇrid´an´ı druh´ ych lok´aln´ıch hodin H2, kter´e jsou dolad’ov´any smyˇckou s pr˚ umˇerov´an´ım odchylky ˇcasu, a d´ale zaveden´ı zpˇetn´e vazby na doladˇen´ı lok´aln´ıho oscil´atoru, kter´ y ud´av´a takt pro lok´aln´ı hodiny H1, H2 a z´aroveˇ n slouˇz´ı pro generov´an´ı extern´ıho taktu pro pˇr´ıpadn´a dalˇs´ı zaˇr´ızen´ı. V´ ysledky simulac´ı jsou uvedeny v kapitole 4.3 vˇcetnˇe porovn´an´ı pˇresnost´ı vnitˇrn´ıch hodin H1 a H2 pˇri simulaci se stˇredn´ı hodnotou zpoˇzdˇen´ı v s´ıti 3 ms a rozptylem 1 ms (obr´azek 5.1, 4.28). V pˇr´ıpadˇe porovn´an´ı pˇresnosti hodin H1 a H2 na stranˇe klienta je patrn´ y rozd´ıl pˇribliˇznˇe o jeden ˇra´d, pˇriˇcemˇz hodiny H2 vykazuj´ı vyˇsˇs´ı stabilitu (obr´azek 5.1). V´ ysledky simulac´ı potvrdily pˇredpoklad, ˇze v´ ysledn´a pˇresnost ˇcasu hodin H2 dosahuje vyˇsˇs´ı stability oproti hodin´am H1. Jak uˇz bylo ˇreˇceno dˇr´ıve, stˇredn´ı hodnota zpoˇzdˇen´ı nem´a z´asadn´ı vliv na v´ yslednou pˇresnost synchronizace, coˇz je n´azornˇe vidˇet jak v tabulk´ach 4.3 a 4.4, tak i v pˇr´ıpadˇe porovn´an´ı graf˚ u v kapitole 4.3.2.2. Dalˇs´ı vliv na v´ yslednou pˇresnost synchronizace m´a stabilita a dolad’ov´an´ı lok´aln´ıho oscil´atoru. Lok´aln´ı oscil´ator ud´av´a takt pro lok´aln´ı hodiny H1, H2 a pro gener´ator extern´ıho taktu. Problematika doladˇen´ı je ˇreˇsena v kapitole 4.3.2.3. Doladˇen´ı oscil´atoru m´a v´ yznamn´ y vliv na celkovou pˇresnost synchronizace.
5.2
Vyuˇ zit´ı pro praxi a budouc´ı pr´ ace
Tato disertaˇcn´ı pr´ace byla vypracov´ana na u ´rovni teorie a simulac´ı, kter´e vych´azej´ı z re´aln´ ych namˇeˇren´ ych dat. Dalˇs´ım u ´kolem by mˇela b´ yt implementace navrˇzen´ ych vylepˇsen´ı do re´aln´eho zaˇr´ızen´ı klienta, aby bylo moˇzn´e experiment´alnˇe ovˇeˇrit oˇcek´avan´e v´ ysledky. Mˇelo by doj´ıt k vylepˇsen´ı pˇresnosti synchronizace tak, jak bylo uk´az´ano v simulac´ıch. Dalˇs´ı moˇznou oblast´ı v´ yzkumu je vyuˇzit´ı adaptivn´ıch filtr˚ u, kter´e mohou ovlivnit v´ yslednou pˇresnost synchronizace ˇcasu a stabilitu ˇcasu klienta.
´ ER ˇ KAPITOLA 5. ZAV
72
5000 Hodiny H1 Hodiny H2
4500 4000 3500
ˇ Cetnost
3000 2500 2000 1500 1000 500 0 −250
−200
−150
−100
−50 0 ∆t [µs]
50
100
150
200
250
Obr´azek 5.1: Histogram ˇcetnost´ı rozd´ılu ˇcasu serveru a ˇcasu hodin H1 a H2 v pˇr´ıpadˇe stˇredn´ı hodnoty zpoˇzdˇen´ı 3 ms a rozptylu 1 ms
Literatura [1] RFC 1305, Network Time Protocol (Version 3), 1992. [2] RFC 2030, Simple Network Time Protocol (SNTP) Version 4, 1996. [3] Recommendation ITU–T G.813, Timing characteristics of SDH equipment slave clocks (SEC), 2003. [4] IEEE 802.3, Carrier sense multiple access with collision detection (CSMA/CD) access method and physical layer specifications, 2005. [5] Recommendation ITU–T G.8261, Timing and synchronization aspects in packet networks, 2006. [6] IEEE 1588, Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems, 2008. [7] Recommendation ITU–T G.8264, Distribution of timing information through packet networks, 2008. [8] Recommendation ITU–T G.8262, Timing characteristics of a synchronous Ethernet equipment slave clock (EEC), 2010. [9] Server lantime m600/gps/ptp. [online], 2012. Dostupn´ y z WWW:
. [10] Simena network emulator. [online], 2012. Dostupn´ y z WWW: . [11] J. Bal´atˇe. Automatick´e ˇr´ızen´ı. BEN, 2003, 663 s, ISBN 80-7300-020-2. [12] S. Bregni. Synchronization of Digital telecommunications Networks. Wiley, 2002. [13] J. Burch, K. Green, J. Nakulski, and D. Vook. Verifying the performance of transparent clocks in ptp systems. In Precision Clock Synchronization for Measurement, Control and Communication, 2009. ISPCS 2009. International Symposium on, pages 1 –6, oct. 2009. 73
74
LITERATURA
[14] J. C. Eidson. Measurement, Control and Communication Using IEEE1588. Springer, 2006. [15] D. Fontanelli and D. Macii. Accurate time synchronization in ptp-based industrial networks with long linear paths. In Precision Clock Synchronization for Measurement Control and Communication (ISPCS), 2010 International IEEE Symposium on, pages 97–102, Sept 2010. [16] G. M. Garner, M. Ouellette, and M. J. Teener. Using an ieee 802.1as network as a distributed ieee 1588 boundary, ordinary, or transparent clock. In Precision Clock Synchronization for Measurement Control and Communication (ISPCS), 2010 International IEEE Symposium on, pages 109–115, 2010. [17] J. Han and D. Jeong. A practical implementation of ieee 1588-2008 transparent clock for distributed measurement and control systems. Instrumentation and Measurement, IEEE Transactions on, 59(2):433–439, 2010. [18] P. Jareˇs and J. Vodr´aˇzka. Modelling of data stream time characteristics for use of inverse multiplexer. Advances in Electrical and Electronic Engineering, 12(4), 2014. ˇ a tech[19] D. Jaruˇskov´a. Pravdˇepodobnost a matematick´ a statistika. Vyd. 2. Praha: Cesk´ ˇ nika - nakladatelstv´ı CVUT, 2006. 138 s. ISBN 80-01-03427-5. [20] T. Kovacshazy and B. Ferencz. Performance evaluation of ptpd, a ieee 1588 implementation, on the x86 linux platform for typical application scenarios. In Instrumentation and Measurement Technology Conference (I2MTC), 2012 IEEE International, pages 2548 –2552, may 2012. [21] Q. Mingzhu, W. Xiaoli, and Y. Zhiqiang. Design and implementation of ieee1588 time synchronization messages timestamping based on fpga. In Electric Utility Deregulation and Restructuring and Power Technologies (DRPT), 2011 4th International Conference on, pages 1566 –1570, july 2011. [22] C. D. Murta, P. R. Torres, and P. Mohapatra. Qrpp1-4: Characterizing quality of time and topology in a time synchronization network. In Global Telecommunications Conference, 2006. GLOBECOM ’06. IEEE, pages 1 –5, 27 2006-dec. 1 2006. [23] T. Neagoe, V. Cristea, and L. Banica. Ntp versus ptp in computer networks clock synchronization. In Industrial Electronics, 2006 IEEE International Symposium on, volume 1, pages 317 –362, july 2006. ˇ [24] M. Pravda. Simulaˇcn´ı model obnovy synchronizace z paket˚ u. Master’s thesis, CVUT, FEL, Katedra telekomunikaˇcn´ı techniky, Praha, 2008. [25] R. L. Scheiterer, N. Chongning, D. Obradovic, G. Steindl, and F. J. Goetz. 1 microsecond-conform line length of the transparent clock mechanism defined by the
LITERATURA
75
precision time protocol (ptp version 2). In Precision Clock Synchronization for Measurement, Control and Communication, 2008. ISPCS 2008. IEEE International Symposium on, pages 92–97, 2008. [26] J. L. Stensby. Phase-Locked Loops: Theory and Applications. CRC Press, 1997, 400 s, ISBN: 0849394716,. [27] J. Vodrazka and P. Lafata. Transmission delay modeling of packet communication over digital subscriber line. Advances in Electrical and Electronic Engineering, 11(4), 2013. [28] H. Weibel. High precision clock synchronization according to ieee 1588 implementation and performance issues. Dostupn´ y z WWW: http://www.engineering.zhaw.ch/fileadmin/user upload/engineering/ Institute und Zentren/INES/Documents/IEE1588/embedded World 05 Contribution final 02.pdf, 2005. [29] F. Zezulka. Synchronizace v distribuovan´ ych ˇr´ıdic´ıch syst´emech: Precision time protocol (ptp) podle ieee 1588. In Automa. – ISSN 1210-9592., pages 17–19, u ´nor 2010. ˇ [30] P. Z´ıtek, M. Hofreiter, and J. Hlava. Automatick´e ˇr´ızen´ı. Vyd. 3. Praha: CVUT, 2004. 148 s. ISBN 80-01-03020-2.
76
LITERATURA
Publikace autora Publikace vztahuj´ıc´ı se k t´ ematu disertaˇ cn´ı pr´ ace Spoluautorsk´ y pod´ıl je u vˇsech publikac´ı stejn´ y.
Publikace v recenzovan´ ych ˇ casopisech [A1]
[A2]
[A3]
[A4]
Pravda, M. - Vodr´aˇzka, J. Designing of Method for Improving Synchronization Accuracy in Packet Networks In: International Journal of Emerging Technologies in Computational and Applied Sciences (IJETCAS). 2013, vol. 3, p. 244-249. Available from WWW: ISSN 22790055. Pod´ıl doktoranda 50% Pravda, M. - Lafata, P. - Vodr´aˇzka, J. Time Synchronization in Packet Networks and Influence of Network Devices on Synchronization Accuracy In: Elektrorevue. 2010, vol. 13, no. 2010/84, p. 84-1-84-6. Available from WWW: ISSN 1213-1539. Pod´ıl doktoranda 33% Pravda, M. Protokoly k synchronizaci ˇcasu pro paketovou s´ıt’ In: Access server. 2008, roˇc. 6., ˇc. 2008100001, s. 1-6. Dostupn´ y z WWW: ISSN 1214-9675. Pod´ıl doktoranda 100% Pravda, M. Synchronizaˇcn´ı jednotka pro paketovou s´ıt’ In: Access server. 2008, roˇc. 6., ˇc. 2008100004, s. 1-5. Dostupn´ y z WWW: . ISSN 1214-9675. Pod´ıl doktoranda 100%
Publikace ve sborn´ıc´ıch konferenc´ı evidovan´ ych ve Web of science [A5]
Pravda, M. - Lafata, P. - Vodr´aˇzka, J. Precise Time Protocol in Ethernet over SDH Network In: 34th International Conference on Telecommunications and Signal Processing. Brno: VUT v Brnˇe, FEKT, 2011, p. 170-174. ISBN 978-1-4577-1409-2. Pod´ıl doktoranda 33% 77
78
LITERATURA [A6]
[A7]
[A8]
Pravda, M. - Vodr´aˇzka, J. - Lafata, P. Simulations and Measurements of Packet Network Synchronization by Precision Time Protocol In: 35th International Conference Telecommunications and Signal Processing. Brno: Vysok´e uˇcen´ı technick´e v Brnˇe, Fakulta elektrotechniky a komunikaˇcn´ıch technologi´ı, 2012, art. no. 0203, p. 116-120. ISBN 978-1-4673-1118-2. Pod´ıl doktoranda 33% Pravda, M. - Kocur, Z. Time Synchronization through Network Time Protocol and Improvement of Its Accuracy In: TSP - 32nd International Conference on Telecommunications and Signal Processing. Budapest: Asszisztencia Szervez˝o Kft., 2009, ISBN 978-963-06-7716-5. Pod´ıl doktoranda 50% Pravda, M. - Lafata, P. - Vodr´aˇzka, J. Precision Clock Synchronization Protocol and Its Implementation into Laboratory Ethernet Network In: TSP 2010 - 33rd International Conference on Telecommunications and Signal Processing. Budapest: Asszisztencia Szervez˝o Kft., 2010, p. 286-291. ISBN 978-963-88981-0-4. Pod´ıl doktoranda 33%
Publikace ve sborn´ıc´ıch mezin´ arodn´ıch konferenc´ı [A9]
Kocur, Z. - Pravda, M. - Vodr´aˇzka, J. Enhancement Ethernet Network ˇ ˇ e, 2009, vol. 1, Emulator In: Digital Technologies 2009. Zilina: TU v Zilinˇ ISBN 978-80-554-0150-8. Pod´ıl doktoranda 33%
Ostatn´ı publikace [A10]
Pravda, M. Transmission of Synchronization across Packet Network. In: ˇ e vysok´e uˇcen´ı technick´e v Praze, 2010, p. 132Workshop 2010. Praha: Cesk´ 133. ISBN 978-80-01-04513-8. Pod´ıl doktoranda 100%
Publikace nevztahuj´ıc´ı se k t´ ematu disertaˇ cn´ı pr´ ace Skripta [A11]
ˇ a Lafata, P. - Hampl, P. - Pravda, M. Digit´aln´ı technika 1. vyd. Praha: Cesk´ ˇ technika - nakladatelstv´ı CVUT, 2011. 164 s. ISBN 978-80-01-04914-3. Pod´ıl doktoranda 33%
Publikace ve sborn´ıc´ıch konferenc´ı evidovan´ ych ve Web of science [A12]
Lafata, P. - Pravda, M. Analyzing and Modeling of Far-End Crosstalk in Twisted Multi-Pair Metallic Cables In: 2011 International Conference on Applied Electronics. Plzeˇ n: Z´apadoˇcesk´a univerzita v Plzni, 2011, p. 223226. ISSN 1803-7232. ISBN 978-80-7043-987-6. Pod´ıl doktoranda 50%
LITERATURA [A13]
[A14]
Pravda, M. - Zavrt´alek, J. - Nemˇc´ık, M. Voice Transmission Quality Testing and the Design of Measuring Unit In: TSP 2010 - 33rd International Conference on Telecommunications and Signal Processing. Budapest: Asszisztencia Szervez˝o Kft., 2010, p. 397-401. ISBN 978-963-88981-0-4. Pod´ıl doktoranda 33% Pravda, M. - Nemˇc´ık, M. Voice Transmission Quality Tester In: Applied Electronic 2010. Pilsen: University of West Bohemia, 2010, p. 277-280. ISSN 1803-7232. ISBN 978-80-7043-865-7. Pod´ıl doktoranda 50%
Ostatn´ı publikace [A15]
Nemˇc´ık, M. - Pravda, M. - Vodr´aˇzka, J. Mˇeˇriˇc kvality pˇrenosu ˇreˇci In: Access server. 2010, roˇc. 8, ˇc. 1, s. 1-4. Dostupn´ y z WWW: ISSN 1214-9675. Pod´ıl doktoranda 33%
Funkˇ cn´ı vzorky [A16] [A17] [A18]
Pravda, M. Synchronizaˇcn´ı jednotka pro paketovou s´ıt’ [Funkˇcn´ı vzorek]. 2008. Vlastn´ık: STROM telecom s.r.o. Nemˇc´ık, M. - Pravda, M. Mˇeˇriˇc kvality pˇrenosu ˇreˇci [Funkˇcn´ı vzorek]. 2009. ˇ Vlastn´ık: CVUT FEL Pravda, M. - Vodr´aˇzka, J. - Zavrt´alek, J. Mˇeˇriˇc kvality hovoru (VTQ tester) ˇ [Funkˇcn´ı vzorek]. 2010. Vlastn´ık: CVUT FEL
Projekty [A19]
[A20]
[A21]
[A22]
ˇ Intern´ı grant CVUT CTU0904113 - Pravda, M. Pˇrenos synchronizace pˇres paketovou s´ıt’ Fakulta elektrotechnick´a, katedra telekomunikaˇcn´ı techniky, 2009 ˇ Intern´ı grant CVUT SGS10/182/OHK3/2T/13 - Pravda, M. Metody mˇeˇren´ı kvality pˇrenosu ˇreˇci v r˚ uzn´ ych typech s´ıt´ı a moˇzn´e zp˚ usoby synchronizace Fakulta elektrotechnick´a, katedra telekomunikaˇcn´ı techniky, 2010 ˇ Projekt G1 830 - Pravda, M. Implementace nov´ FRVS ych technologi´ı a pom˚ ucek do laboratorn´ı v´ yuky pˇredmˇetu Pˇrenosov´e syst´emy Fakulta elektrotechnick´a, katedra telekomunikaˇcn´ı techniky, 2010 ˇ Projekt G1 2211 - Pravda, M. Vytvoˇren´ı nov´ FRVS ych v´ yukov´ ych materi´al˚ u a pom˚ ucek do laboratorn´ı v´ yuky pˇredmˇetu Digit´aln´ı technika Fakulta elektrotechnick´a, katedra telekomunikaˇcn´ı techniky, 2011
79