{"id":77041,"date":"2020-04-07T13:42:46","date_gmt":"2020-04-07T11:42:46","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/podrobnosti-realizaczii-protokola-sinhronizaczii-vremeni-ptpv2"},"modified":"2020-04-07T13:42:46","modified_gmt":"2020-04-07T11:42:46","slug":"podrobnosti-realizaczii-protokola-sinhronizaczii-vremeni-ptpv2","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/podrobnosti-realizaczii-protokola-sinhronizaczii-vremeni-ptpv2","title":{"rendered":"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b>Wprowadzenie<\/b><\/p>\n<p>Koncepcja budowy \u201eCyfrowej Stacji Transformatorowej\u201d w energetyce wymaga synchronizacji z dok\u0142adno\u015bci\u0105 1 \u00b5s. W przypadku przeprowadzania transakcji finansowych r\u00f3wnie\u017c wymagana jest dok\u0142adno\u015b\u0107 w \u00b5s. W tych aplikacjach dok\u0142adno\u015b\u0107 czasu NTP ju\u017c nie wystarcza.<\/p>\n<p>Protok\u00f3\u0142 synchronizacji PTPv2, opisany w standardzie IEEE 1588v2, pozwala osi\u0105gn\u0105\u0107 dok\u0142adno\u015b\u0107 synchronizacji na poziomie kilku dziesi\u0105tych nanosekund. PTPv2 umo\u017cliwia wysy\u0142anie pakiet\u00f3w synchronizacji przez sieci L2 i L3.<\/p>\n<p>G\u0142\u00f3wne obszary, gdzie stosuje si\u0119 PTPv2, to:<\/p>\n<ul>\n<li>energetyka;<\/li>\n<li>sprz\u0119t pomiarowy;<\/li>\n<li>przemys\u0142 obronny;<\/li>\n<li>telekomunikacja;<\/li>\n<li>sektor finansowy.<\/li>\n<\/ul>\n<p>\nW tym artykule omawiamy, jak dzia\u0142a protok\u00f3\u0142 synchronizacji PTPv2.<\/p>\n<p>Mamy wi\u0119ksze do\u015bwiadczenie w przemy\u015ble i cz\u0119sto spotykamy si\u0119 z tym protoko\u0142em w aplikacjach energetycznych. Odpowiednio, przegl\u0105d wykonamy z uwzgl\u0119dnieniem <noindex><a rel=\"nofollow\" href=\"https:\/\/www.phoenixcontact.com\/online\/portal\/ru?1dmy&amp;urile=wcm%3apath%3a\/ruru\/web\/main\/products\/subcategory_pages\/Managed_switches_P-08-10-16-01\/aead25f7-3319-485d-8868-126c62b77cb1\">energetyki<\/a><\/noindex>.<\/p>\n<p><b>Dlaczego jest to potrzebne?<\/b><\/p>\n<p>Na chwil\u0119 obecn\u0105 w STO 34.01-21-004-2019 P\u0410\u041e \u201eRosseti\u201d oraz w STO 56947007-29.240.10.302-2020 PAO \u201eFSK EES\u201d znajduj\u0105 si\u0119 wymagania dotycz\u0105ce organizacji szyny procesowej z zapewnieniem synchronizacji czasu zgodnie z PTPv2.<\/p>\n<p>Jest to zwi\u0105zane z tym, \u017ce do szyny procesowej pod\u0142\u0105czone s\u0105 terminale ochrony relacyjnej i urz\u0105dzenia pomiarowe, kt\u00f3re za pomoc\u0105 tak zwanych strumieni SV (strumienie multicast) przesy\u0142aj\u0105 natychmiastowe warto\u015bci pr\u0105du i napi\u0119cia.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Terminale ochrony relacyjnej wykorzystuj\u0105 te warto\u015bci do realizacji zabezpiecze\u0144 po\u0142\u0105czenia. Je\u015bli dok\u0142adno\u015b\u0107 pomiar\u00f3w czasowych b\u0119dzie zbyt ma\u0142a, niekt\u00f3re zabezpieczenia mog\u0105 dzia\u0142a\u0107 fa\u0142szywie.<\/p>\n<p>Na przyk\u0142ad ofiar\u0105 \u201es\u0142abej\u201d synchronizacji czasu mog\u0105 pa\u015b\u0107 zabezpieczenia absolutnej selektywno\u015bci. Cz\u0119sto logika takich zabezpiecze\u0144 opiera si\u0119 na por\u00f3wnaniu dw\u00f3ch wielko\u015bci. Je\u015bli wielko\u015bci r\u00f3\u017cni\u0105 si\u0119 na wystarczaj\u0105co du\u017c\u0105 warto\u015b\u0107, w\u00f3wczas zabezpieczenie si\u0119 uruchamia. Je\u015bli te wielko\u015bci zmierzy\u0107 z dok\u0142adno\u015bci\u0105 czasow\u0105 1 ms, mo\u017cna uzyska\u0107 du\u017c\u0105 r\u00f3\u017cnic\u0119 tam, gdzie warto\u015bci s\u0105 w rzeczywisto\u015bci w normie, je\u015bli zmierzy\u0107 je z dok\u0142adno\u015bci\u0105 1 \u00b5s.<\/p>\n<p><b>Wersje PTP<\/b><\/p>\n<p>Protok\u00f3\u0142 PTP zosta\u0142 pierwotnie opisany w 2002 roku w standardzie IEEE 1588-2002 i nosi\u0142 nazw\u0119 \u201eStandard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems\u201d. W 2008 roku wydano zaktualizowany standard IEEE 1588-2008, kt\u00f3ry opisuje PTP Version 2. W tej wersji protoko\u0142u poprawiono dok\u0142adno\u015b\u0107 i stabilno\u015b\u0107, jednak nie zachowano zgodno\u015bci wstecznej z pierwsz\u0105 wersj\u0105 protoko\u0142u. W 2019 roku wydano wersj\u0119 standardu IEEE 1588-2019, opisuj\u0105c\u0105 PTP v2.1. Ta wersja wprowadza niewielkie ulepszenia do PTPv2 i jest zgodna wstecznie z PTPv2.<\/p>\n<p>Innymi s\u0142owy, mamy nast\u0119puj\u0105cy obraz wersji:<\/p>\n<p>PTPv1<br \/>\n(IEEE 1588-2002)<\/p>\n<p>PTPv2<br \/>\n(IEEE 1588-2008)<\/p>\n<p>PTPv2.1<br \/>\n(IEEE 1588-2019)<\/p>\n<p>PTPv1 (IEEE 1588-2002)<\/p>\n<p> \u2014<br \/>\nNiezgodne<\/p>\n<p>Niezgodne<\/p>\n<p>PTPv2 (IEEE 1588-2008)<\/p>\n<p>Niezgodne<\/p>\n<p> \u2014<br \/>\nZgodne<\/p>\n<p>PTPv2.1 (IEEE 1588-2019)<\/p>\n<p>Niezgodne<\/p>\n<p>Zgodne<\/p>\n<p> \u2014 <\/p>\n<p>\nAle, jak to zwykle bywa, s\u0105 niuanse.<\/p>\n<p>Niezgodno\u015b\u0107 pomi\u0119dzy PTPv1 a PTPv2 oznacza, \u017ce urz\u0105dzenie obs\u0142uguj\u0105ce PTPv1 nie b\u0119dzie mog\u0142o synchronizowa\u0107 si\u0119 z dok\u0142adnymi zegarami dzia\u0142aj\u0105cymi na PTPv2. Do synchronizacji korzystaj\u0105 z r\u00f3\u017cnych format\u00f3w wiadomo\u015bci.<\/p>\n<p>Jednak\u017ce mo\u017cna po\u0142\u0105czy\u0107 urz\u0105dzenia z PTPv1 i urz\u0105dzenia z PTPv2 w jednej sieci. W tym celu niekt\u00f3rzy producenci umo\u017cliwiaj\u0105 na portach zegar\u00f3w granicznych wyb\u00f3r wersji protoko\u0142u. Oznacza to, \u017ce zegary graniczne mog\u0105 synchronizowa\u0107 si\u0119 za pomoc\u0105 PTPv2 i jednocze\u015bnie synchronizowa\u0107 inne pod\u0142\u0105czone do nich zegary zar\u00f3wno za pomoc\u0105 PTPv1, jak i PTPv2.<\/p>\n<p><b>Urz\u0105dzenia PTP. Jakie s\u0105 rodzaje i czym si\u0119 r\u00f3\u017cni\u0105?<\/b><\/p>\n<p>Standard IEEE 1588v2 opisuje kilka typ\u00f3w urz\u0105dze\u0144. Wszystkie s\u0105 przedstawione w tabeli.<\/p>\n<p>Urz\u0105dzenia komunikuj\u0105 ze sob\u0105 za po\u015brednictwem LAN, u\u017cywaj\u0105c PTP.<\/p>\n<p>Urz\u0105dzenia PTP nazywane s\u0105 zegarami. Wszystkie zegary czerpi\u0105 dok\u0142adny czas z zegar\u00f3w grandmaster.<\/p>\n<p>Istnieje 5 typ\u00f3w zegar\u00f3w:<\/p>\n<p>Grandmaster clock (Zegar Grandmaster)<\/p>\n<p>G\u0142\u00f3wny \u017ar\u00f3d\u0142o dok\u0142adnego czasu. Cz\u0119sto wyposa\u017cone w interfejs do pod\u0142\u0105czenia GPS.<\/p>\n<p>Ordinary Clock (Zegar Obyczajny)<\/p>\n<p>Urz\u0105dzenie z jednym portem, kt\u00f3re mo\u017ce by\u0107 mistrzem (zegarem prowadz\u0105cym) lub niewolnikiem (zegarem podporz\u0105dkowanym).<\/p>\n<p>Zegary prowadz\u0105ce (mistrz)<\/p>\n<p>S\u0105 \u017ar\u00f3d\u0142em dok\u0142adnego czasu, na kt\u00f3rym synchronizuj\u0105 si\u0119 inne zegary.<\/p>\n<p>Zegary podporz\u0105dkowane (niewolnik)<\/p>\n<p>Ko\u0144cowe urz\u0105dzenie, kt\u00f3re synchronizuje si\u0119 z zegarami prowadz\u0105cymi.<\/p>\n<p>Boundary Clock (Zegar Graniczny)<\/p>\n<p>Urz\u0105dzenie z wieloma portami, kt\u00f3re mo\u017ce by\u0107 mistrzem lub niewolnikiem.<\/p>\n<p>Oznacza to, \u017ce te zegary mog\u0105 synchronizowa\u0107 si\u0119 z wy\u017cszymi zegarami prowadz\u0105cymi i synchronizowa\u0107 ni\u017csze zegary podporz\u0105dkowane.<\/p>\n<p>Przezroczysty zegar End-to-End<\/p>\n<p>Urz\u0105dzenie z wieloma portami, kt\u00f3re nie jest ani zegarem g\u0142\u00f3wnym, ani podrz\u0119dnym. Przekazuje dane PTP mi\u0119dzy dwoma zegarami. <\/p>\n<p>Podczas przesy\u0142ania danych przezroczyste zegary koryguj\u0105 wszystkie wiadomo\u015bci PTP. <\/p>\n<p>Korekta odbywa si\u0119 poprzez dodanie czasu op\u00f3\u017anienia na tym urz\u0105dzeniu do pola korekty w nag\u0142\u00f3wku przesy\u0142anej wiadomo\u015bci.<\/p>\n<p>Przezroczysty zegar Peer-to-Peer<\/p>\n<p>Urz\u0105dzenie z wieloma portami, kt\u00f3re nie jest ani zegarem g\u0142\u00f3wnym, ani podrz\u0119dnym. <br \/>\nPrzekazuje dane PTP mi\u0119dzy dwoma zegarami. <\/p>\n<p>Podczas przesy\u0142ania danych przezroczyste zegary koryguj\u0105 wszystkie wiadomo\u015bci PTP Sync i Follow_Up (wi\u0119cej na ten temat poni\u017cej).<\/p>\n<p>Korekta osi\u0105gana jest poprzez dodanie do pola korekty przesy\u0142anej paczki op\u00f3\u017anienia na urz\u0105dzeniu nadawczym oraz op\u00f3\u017anienia na kanale transmisyjnym.<\/p>\n<p>W\u0119ze\u0142 zarz\u0105dzaj\u0105cy<\/p>\n<p>Urz\u0105dzenie, kt\u00f3re konfiguruje i diagnozuje inne zegary.<\/p>\n<p>Zegary g\u0142\u00f3wne i podrz\u0119dne synchronizuj\u0105 si\u0119 za pomoc\u0105 znacznik\u00f3w czasowych w wiadomo\u015bciach PTP. W protokole PTP s\u0105 dwa typy wiadomo\u015bci:<\/p>\n<ul>\n<li>Wiadomo\u015bci zdarze\u0144 \u2013 s\u0105 to synchronizowane wiadomo\u015bci, kt\u00f3re przewiduj\u0105 generacj\u0119 znacznika czasowego w momencie wysy\u0142ania wiadomo\u015bci i w momencie jej odbioru.<\/li>\n<li>Wiadomo\u015bci og\u00f3lne \u2013 te wiadomo\u015bci nie wymagaj\u0105 znacznik\u00f3w czasowych, ale mog\u0105 zawiera\u0107 znaczniki czasowe dla powi\u0105zanych wiadomo\u015bci.<\/li>\n<\/ul>\n<p><\/p>\n<p>Wiadomo\u015bci zdarze\u0144<\/p>\n<p>Wiadomo\u015bci og\u00f3lne<\/p>\n<p>Sync<br \/>\nDelay_Req<br \/>\nPdelay_Req<br \/>\nPdelay_Resp<\/p>\n<p>Og\u0142oszenie<br \/>\nFollow_Up<br \/>\nDelay_Resp<br \/>\nPdelay_Resp_Follow_Up<br \/>\nZarz\u0105dzanie<br \/>\nSygna\u0142y<\/p>\n<p>Poni\u017cej om\u00f3wione zostan\u0105 wszystkie typy wiadomo\u015bci bardziej szczeg\u00f3\u0142owo.<\/p>\n<p><b>G\u0142\u00f3wne problemy synchronizacji<\/b><\/p>\n<p>Podczas przesy\u0142ania pakietu synchronizacji przez lokaln\u0105 sie\u0107, op\u00f3\u017ania si\u0119 on w switche oraz w kanale transmisyjnym. Ka\u017cdy switch generuje op\u00f3\u017anienie oko\u0142o 10 \u00b5s, co jest niedopuszczalne dla PTPv2. Na ko\u0144cowym urz\u0105dzeniu musimy uzyska\u0107 precyzj\u0119 1 \u00b5s. (To jest w przypadku energetyki. Inne aplikacje mog\u0105 wymaga\u0107 jeszcze wi\u0119kszej precyzji.)<\/p>\n<p>W IEEE 1588v2 opisano kilka algorytm\u00f3w, kt\u00f3re pozwalaj\u0105 na pomiar op\u00f3\u017anienia czasowego i jego korekcj\u0119.<\/p>\n<p><b>Algorytm dzia\u0142ania<\/b><br \/>\nW normalnej pracy protok\u00f3\u0142 dzia\u0142a w dw\u00f3ch fazach.<\/p>\n<ul>\n<li>Faza 1 \u2014 ustalanie hierarchii 'Zegary g\u0142\u00f3wne - Zegary podrz\u0119dne'.<\/li>\n<li>Faza 2 \u2014 synchronizacja zegar\u00f3w za pomoc\u0105 mechanizmu End-to-End lub Peer-to-Peer.<\/li>\n<\/ul>\n<p>\n<i>Faza 1 \u2014 Ustawienie hierarchii \u201eMistrz-Podw\u0142adny\u201d<\/i><\/p>\n<p>Ka\u017cdy port zwyk\u0142ych lub brzegowych zegar\u00f3w ma okre\u015blon\u0105 liczb\u0119 stan\u00f3w (zegar podw\u0142adny i zegar prowadz\u0105cy). Standard opisuje algorytm przej\u015bcia mi\u0119dzy tymi stanami. W programowaniu taki algorytm nazywany jest automat ko\u0144cowy lub maszyn\u0105 stan\u00f3w (szczeg\u00f3\u0142y w Wiki).<\/p>\n<p>Ten automat ko\u0144cowy u\u017cywa algorytmu Best Master Clock Algorithm (BMCA) do ustalenia mistrza podczas \u0142\u0105czenia dw\u00f3ch zegar\u00f3w.<\/p>\n<p>Ten algorytm umo\u017cliwia zegarom przej\u0119cie obowi\u0105zk\u00f3w zegar\u00f3w arcymistrzowskich, gdy wy\u017csze zegary arcymistrzowskie trac\u0105 sygna\u0142 GPS, s\u0105 od\u0142\u0105czane od sieci itp.<\/p>\n<p>Przej\u015bcia mi\u0119dzy stanami zgodnie z BMCA s\u0105 kr\u00f3tko przedstawione na nast\u0119pnej schemacie:<br \/>\n<img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/add811d60135de3be9c6865a5e4493c1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nInformacje o zegarze po drugiej stronie \u201eprzewodu\u201d s\u0105 wysy\u0142ane w specjalnej wiadomo\u015bci (Wiadomo\u015b\u0107 og\u0142oszenia). Gdy te informacje zostan\u0105 odebrane, algorytm maszyny stan\u00f3w dzia\u0142a i por\u00f3wnuje, kt\u00f3re zegary s\u0105 lepsze. Port w najlepszym zegarze staje si\u0119 zegarem prowadz\u0105cym.<\/p>\n<p>Prosta hierarchia przedstawiona jest na schemacie poni\u017cej. \u015acie\u017cki 1, 2, 3, 4, 5 mog\u0105 zawiera\u0107 przezroczyste zegary (Transparent clock), ale nie bior\u0105 udzia\u0142u w ustalaniu hierarchii \u201eZegary prowadz\u0105ce \u2013 Zegary podw\u0142adne\u201d.<\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/05831c032a2d4df286ef41c531c949a3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Faza 2 \u2014 Synchronizacja zwyk\u0142ych i brzegowych zegar\u00f3w<\/b><\/p>\n<p>Bezpo\u015brednio po ustaleniu hierarchii \u201eZegary prowadz\u0105ce \u2013 Zegary podw\u0142adne\u201d rozpoczyna si\u0119 faza synchronizacji zwyk\u0142ych i brzegowych zegar\u00f3w.<\/p>\n<p>Aby zsynchronizowa\u0107, zegary prowadz\u0105ce wysy\u0142aj\u0105 do zegar\u00f3w podw\u0142adnych wiadomo\u015b\u0107 zawieraj\u0105c\u0105 znacznik czasu.<\/p>\n<p>Zegary prowadz\u0105ce mog\u0105 by\u0107:<\/p>\n<ul>\n<li>jednoetapowe;<\/li>\n<li>dwuetapowe.<\/li>\n<\/ul>\n<p>\nJednoetapowe zegary w celu synchronizacji wysy\u0142aj\u0105 jedn\u0105 wiadomo\u015b\u0107 Sync.<\/p>\n<p>Dwuetapowe zegary w celu synchronizacji u\u017cywaj\u0105 dw\u00f3ch wiadomo\u015bci \u2013 Sync i Follow_Up.<\/p>\n<p>W fazie synchronizacji mo\u017cna zastosowa\u0107 dwa mechanizmy:<\/p>\n<ul>\n<li>Mechanizm zapytania-odpowiedzi op\u00f3\u017anienia (Delay request-response mechanism).<\/li>\n<li>Mechanizm pomiaru op\u00f3\u017anienia s\u0105siedniego w\u0119z\u0142a (Peer delay measurement mechanism).<\/li>\n<\/ul>\n<p>\nNa pocz\u0105tek rozwa\u017cmy te mechanizmy w najprostszym przypadku \u2013 gdy nie s\u0105 stosowane przezroczyste zegary.<\/p>\n<p>Mechanizm zapytania-odpowiedzi op\u00f3\u017anienia (Delay request-response mechanism)<\/p>\n<p>Mechanizm zak\u0142ada dwa kroki:<\/p>\n<ol>\n<li>Pomiar op\u00f3\u017anienia przy przesy\u0142aniu wiadomo\u015bci mi\u0119dzy zegarami prowadz\u0105cymi a zegarami podw\u0142adnymi. Wykonywane jest za pomoc\u0105 mechanizmu zapytania-odpowiedzi op\u00f3\u017anienia.<\/li>\n<li>Wykonywana jest korekcja przesuni\u0119cia dok\u0142adnego czasu.<\/li>\n<\/ol>\n<p>\n<i>Pomiar op\u00f3\u017anienia<\/i><br \/>\n<img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/3a0d534384329c6232259736995eb0bd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nt1 \u2013 Czas wysy\u0142ania wiadomo\u015bci Sync przez zegar g\u0142\u00f3wny; t2 \u2013 Czas odbierania wiadomo\u015bci Sync przez zegar podrz\u0119dny; t3 \u2013 Czas wysy\u0142ania \u017c\u0105dania op\u00f3\u017anienia (Delay_Req) przez zegar podrz\u0119dny; t4 \u2013 Czas odbierania Delay_Req przez zegar g\u0142\u00f3wny.<\/p>\n<p>Kiedy zegary podrz\u0119dne znaj\u0105 czasy t1, t2, t3 i t4, mog\u0105 obliczy\u0107 \u015brednie op\u00f3\u017anienie przy przekazywaniu wiadomo\u015bci synchronizacji (tmpd). Oblicza si\u0119 je w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/513eb7352a143073835fe36aedd9cb98.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPrzy przesy\u0142aniu wiadomo\u015bci Sync i Follow_Up oblicza si\u0119 op\u00f3\u017anienie czasu od g\u0142\u00f3wnego do podrz\u0119dnego \u2013 t-ms.<\/p>\n<p>Przy przesy\u0142aniu wiadomo\u015bci Delay_Req i Delay_Resp oblicza si\u0119 op\u00f3\u017anienie czasu od podrz\u0119dnego do g\u0142\u00f3wnego \u2013 t-sm.<\/p>\n<p>Je\u015bli pomi\u0119dzy tymi dwoma warto\u015bciami wyst\u0119puje jaka\u015b asymetria, pojawia si\u0119 b\u0142\u0105d korekcji odchylenia dok\u0142adnego czasu. B\u0142\u0105d ten wynika z faktu, \u017ce obliczone op\u00f3\u017anienie jest \u015bredni\u0105 z op\u00f3\u017anie\u0144 t-ms i t-sm. Je\u015bli op\u00f3\u017anienia nie s\u0105 r\u00f3wne, b\u0119dziemy korygowa\u0107 czas niedok\u0142adnie.<\/p>\n<p><i>Korekcja przesuni\u0119cia dok\u0142adnego czasu.<\/i><\/p>\n<p>Po tym jak op\u00f3\u017anienie mi\u0119dzy zegarami g\u0142\u00f3wnymi a podrz\u0119dnymi jest znane, zegary podrz\u0119dne wykonuj\u0105 korekcj\u0119 czasu.<\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/27f230252126a768273b40e8c8e7cc4e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZegary podrz\u0119dne korzystaj\u0105 z wiadomo\u015bci Sync oraz opcjonalnej wiadomo\u015bci Follow_Up do obliczenia przesuni\u0119cia dok\u0142adnego czasu podczas przesy\u0142ania pakietu z zegara g\u0142\u00f3wnego do podrz\u0119dnego. Przesuni\u0119cie oblicza si\u0119 wed\u0142ug poni\u017cszego wzoru:<\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/190604a9287f285e191eb26381fca52c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Mechanizm pomiaru op\u00f3\u017anienia s\u0105siedniego w\u0119z\u0142a (Peer delay measurement mechanism).<\/b><\/p>\n<p>Ten mechanizm tak\u017ce u\u017cywa dw\u00f3ch krok\u00f3w do synchronizacji:<\/p>\n<ol>\n<li>Urz\u0105dzenia mierz\u0105 op\u00f3\u017anienie czasu do wszystkich s\u0105siad\u00f3w przez wszystkie porty. W tym celu korzystaj\u0105 z mechanizmu op\u00f3\u017anienia s\u0105siedniego.<\/li>\n<li>Korekcja przesuni\u0119cia dok\u0142adnego czasu.<\/li>\n<\/ol>\n<p>\n<i>Pomiar op\u00f3\u017anienia mi\u0119dzy urz\u0105dzeniami wspieraj\u0105cymi tryb Peer-to-Peer.<\/i><\/p>\n<p>Op\u00f3\u017anienie mi\u0119dzy portami obs\u0142uguj\u0105cymi mechanizm peer-to-peer jest mierzone za pomoc\u0105 nast\u0119puj\u0105cych wiadomo\u015bci:<\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/897c9914110e9a56f98f4fa835f524cd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKiedy port 1 zna czasy t1, t2, t3 i t4, mo\u017ce obliczy\u0107 \u015brednie op\u00f3\u017anienie (tmld). Oblicza si\u0119 je wed\u0142ug poni\u017cszego wzoru:<\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/17416bf3b60f86136002b27cf4987b27.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNast\u0119pnie port wykorzystuje t\u0119 warto\u015b\u0107 przy obliczaniu pola korekcji dla ka\u017cdej wiadomo\u015bci Sync lub opcjonalnej wiadomo\u015bci Follow_Up, kt\u00f3re przechodz\u0105 przez dane urz\u0105dzenie. <\/p>\n<p>Ostateczne op\u00f3\u017anienie b\u0119dzie r\u00f3wne sumie op\u00f3\u017anienia przy przesy\u0142aniu przez dane urz\u0105dzenie, \u015bredniemu op\u00f3\u017anieniu przy przesy\u0142aniu przez kana\u0142 danych oraz ju\u017c istniej\u0105cemu op\u00f3\u017anieniu w danej wiadomo\u015bci, uwzgl\u0119dnionemu na wy\u017cszych urz\u0105dzeniach.<\/p>\n<p>Wiadomo\u015bci Pdelay_Req, Pdelay_Resp i opcjonalne Pdelay_Resp_Follow_Up pozwalaj\u0105 uzyska\u0107 op\u00f3\u017anienie od mastera do slave'a i od slave'a do mastera (okresowe).<\/p>\n<p>Jakakolwiek asymetria mi\u0119dzy tymi dwoma warto\u015bciami wprowadzi b\u0142\u0105d korekcji przesuni\u0119cia czasu.<\/p>\n<p><i>Korekcja przesuni\u0119cia czasu<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/c9cdedffd98db044718b8bc0eef156b9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZegary podrz\u0119dne u\u017cywaj\u0105 wiadomo\u015bci Sync oraz opcjonalnej wiadomo\u015bci Follow_Up do obliczenia przesuni\u0119cia czasu przy przesy\u0142aniu pakietu od zegar\u00f3w g\u0142\u00f3wnych do podrz\u0119dnych. Przesuni\u0119cie oblicza si\u0119 wed\u0142ug nast\u0119puj\u0105cego wzoru:<\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/dff497d0f5644c3591f05f99e4c8c23a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZalety mechanizmu korekcji peer-to-peer polegaj\u0105 na tym, \u017ce op\u00f3\u017anienie ka\u017cdego komunikatu Sync lub Follow_Up jest obliczane w czasie jego przesy\u0142ania w sieci. W zwi\u0105zku z tym zmiana \u015bcie\u017cki przesy\u0142u nie wp\u0142ynie w \u017caden spos\u00f3b na dok\u0142adno\u015b\u0107 korekcji.<\/p>\n<p>Przy u\u017cyciu tego mechanizmu synchronizacja czasu nie wymaga obliczenia op\u00f3\u017anienia na \u015bcie\u017cce, kt\u00f3r\u0105 pokonuje pakiet synchronizacji, jak ma to miejsce w podstawowej wymianie. To znaczy, wiadomo\u015bci Delay_Req i Delay_Resp nie s\u0105 wysy\u0142ane. W tej metodzie op\u00f3\u017anienie mi\u0119dzy zegarami g\u0142\u00f3wnymi a podrz\u0119dnymi po prostu sumuje si\u0119 w polu korekcji ka\u017cdej wiadomo\u015bci Sync lub Follow_Up.<\/p>\n<p>Kolejn\u0105 zalet\u0105 jest to, \u017ce zegary g\u0142\u00f3wne s\u0105 zwolnione z konieczno\u015bci przetwarzania wiadomo\u015bci Delay_Req.<\/p>\n<p><b>Tryby pracy zegar\u00f3w transparentnych<\/b><\/p>\n<p>Odpowiednio, zosta\u0142y om\u00f3wione proste przyk\u0142ady. A teraz za\u0142\u00f3\u017cmy, \u017ce na \u015bcie\u017cce synchronizacji pojawiaj\u0105 si\u0119 prze\u0142\u0105czniki.<\/p>\n<p>Je\u015bli u\u017cywa\u0107 prze\u0142\u0105cznik\u00f3w bez wsparcia PTPv2, pakiet synchronizacji b\u0119dzie op\u00f3\u017aniony na prze\u0142\u0105czniku o oko\u0142o 10 \u00b5s.<\/p>\n<p>Prze\u0142\u0105czniki z obs\u0142ug\u0105 PTPv2 w terminologii IEEE 1588v2 nazywane s\u0105 zegarami transparentnymi. Zegary transparentne nie synchronizuj\u0105 si\u0119 z zegarami g\u0142\u00f3wnymi i nie uczestnicz\u0105 w hierarchii \u201eZegary g\u0142\u00f3wne \u2013 Zegary podrz\u0119dne\u201d, ale podczas przesy\u0142ania wiadomo\u015bci synchronizacji zapami\u0119tuj\u0105, o ile wiadomo\u015b\u0107 si\u0119 op\u00f3\u017ani\u0142a. Pozwala to skorygowa\u0107 op\u00f3\u017anienie czasu.<\/p>\n<p>Zegary transparentne mog\u0105 dzia\u0142a\u0107 w dw\u00f3ch trybach:<\/p>\n<ul>\n<li>End-to-End.<\/li>\n<li>Peer-to-Peer.<\/li>\n<\/ul>\n<p>\n<b>End-to-End (E2E)<\/b><\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/94e5d2f343d1657f1458adcbb344d024.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZegary transparentne E2E przesy\u0142aj\u0105 wiadomo\u015bci Sync i towarzysz\u0105ce wiadomo\u015bci Follow_Up do wszystkich port\u00f3w. Nawet tych, kt\u00f3re s\u0105 zablokowane przez jakiekolwiek protoko\u0142y (na przyk\u0142ad RSTP).<\/p>\n<p>Prze\u0142\u0105cznik zapami\u0119tuje znacznik czasowy, kiedy pakiet Sync (Follow_Up) zosta\u0142 przyj\u0119ty na port i kiedy zosta\u0142 wys\u0142any z portu. Na podstawie tych dw\u00f3ch znacznik\u00f3w czasowych oblicza si\u0119 czas przetwarzania wiadomo\u015bci przez prze\u0142\u0105cznik. W standardzie czas ten nazywa si\u0119 czasem rezydencji.<\/p>\n<p>Czas przetwarzania jest dodawany do pola correctionField wiadomo\u015bci Sync (jednostopniowe zegary) lub Follow_Up (dwustopniowe zegary).<\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/b04cfa6cd1a93f25222079d5bb864a6d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPrzezroczyste zegary E2E mierz\u0105 czas przetwarzania dla wiadomo\u015bci Sync i Delay_Req przechodz\u0105cych przez prze\u0142\u0105cznik. Wa\u017cne jest jednak, aby rozumie\u0107, \u017ce op\u00f3\u017anienie czasowe mi\u0119dzy zegarami g\u0142\u00f3wnymi a zegarami podrz\u0119dnymi jest obliczane za pomoc\u0105 mechanizmu zapytania-odpowiedzi op\u00f3\u017anienia. Je\u015bli zegary g\u0142\u00f3wne zmieni\u0105 si\u0119 lub zmieni si\u0119 \u015bcie\u017cka od zegar\u00f3w g\u0142\u00f3wnych do zegar\u00f3w podrz\u0119dnych, op\u00f3\u017anienie jest mierzone na nowo. To zwi\u0119ksza czas przej\u015bciowy w przypadku zmian w sieci.<\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/5bcb72a639accf802ffba7a1fa9a4767.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPrzezroczyste zegary P2P, poza pomiarem czasu przetwarzania wiadomo\u015bci przez prze\u0142\u0105cznik, mierz\u0105 op\u00f3\u017anienie na kanale transmisyjnym do najbli\u017cszego s\u0105siada, wykorzystuj\u0105c mechanizm pomiaru op\u00f3\u017anienia s\u0105siedniego w\u0119z\u0142a.<\/p>\n<p>Op\u00f3\u017anienie jest mierzone na ka\u017cdym kanale w obu kierunkach, w tym na kana\u0142ach, kt\u00f3re s\u0105 zablokowane przez jakikolwiek protok\u00f3\u0142 (np. RSTP). Umo\u017cliwia to natychmiastowe obliczenie nowego op\u00f3\u017anienia na drodze synchronizacji, je\u015bli zmieni\u0142y si\u0119 zegary grandmastera lub topologia sieci.<\/p>\n<p>Czas przetwarzania wiadomo\u015bci przez prze\u0142\u0105czniki oraz czas op\u00f3\u017anienia s\u0105 gromadzone podczas przesy\u0142ania wiadomo\u015bci Sync lub Follow_Up.<\/p>\n<p><b>Typy wsparcia PTPv2 przez prze\u0142\u0105czniki<\/b><\/p>\n<p>Prze\u0142\u0105czniki mog\u0105 wspiera\u0107 PTPv2:<\/p>\n<ul>\n<li>programowo;<\/li>\n<li>sprz\u0119towo.<\/li>\n<\/ul>\n<p>\nW przypadku programowej realizacji protoko\u0142u PTPv2 prze\u0142\u0105cznik \u017c\u0105da znacznika czasowego z oprogramowania uk\u0142adowego. Problem polega na tym, \u017ce oprogramowanie dzia\u0142a cyklicznie i trzeba poczeka\u0107, a\u017c zako\u0144czy bie\u017c\u0105cy cykl, przetworzy \u017c\u0105danie, a po up\u0142ywie nast\u0119pnego cyklu wyda znacznik czasowy. Na to wszystko r\u00f3wnie\u017c b\u0119dzie potrzeba czasu, co spowoduje op\u00f3\u017anienie, chocia\u017c nie tak znacz\u0105ce jak w przypadku braku programowego wsparcia PTPv2.<\/p>\n<p>Zachowanie niezb\u0119dnej dok\u0142adno\u015bci jest mo\u017cliwe tylko dzi\u0119ki sprz\u0119towemu wsparciu PTPv2. W tym przypadku wydawanie znacznika czasowego odbywa si\u0119 za pomoc\u0105 specjalnego uk\u0142adu ASIC, kt\u00f3ry jest zainstalowany na porcie.<\/p>\n<p><b>Format wiadomo\u015bci<\/b><\/p>\n<p>Wszystkie wiadomo\u015bci PTP sk\u0142adaj\u0105 si\u0119 z nast\u0119puj\u0105cych p\u00f3l:<\/p>\n<ul>\n<li>Nag\u0142\u00f3wek \u2013 34 bajty.<\/li>\n<li>Cia\u0142o \u2013 rozmiar zale\u017cy od typu wiadomo\u015bci.<\/li>\n<li>Suffix \u2013 opcjonalnie.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/99086e6601dcdf8f41c10f273c4ebfdc.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Nag\u0142\u00f3wek<\/b><\/p>\n<p>Pole Header jest takie samo dla wszystkich komunikat\u00f3w PTP. Jego rozmiar wynosi 34 bajty.<\/p>\n<p>Format pola Header:<\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/e4500d7e9026d9d059b1dcd668a44e5f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>messageType <\/b>\u2013 zawiera typ przesy\u0142anego komunikatu, na przyk\u0142ad Sync, Delay_Req, PDelay_Req itd.<\/p>\n<p><b>messageLength<\/b> \u2013 zawiera ca\u0142kowity rozmiar komunikatu PTP, w tym header, body i suffix (z wyj\u0105tkiem bajt\u00f3w wype\u0142niaj\u0105cych).<\/p>\n<p><b>domainNumber<\/b> \u2013 okre\u015bla, do kt\u00f3rego <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pl\/domain\/\"   title=\"domeny\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1225\">domeny<\/a> PTP nale\u017cy komunikat.<\/p>\n<p><b>Domena<\/b> \u2013 to kilka r\u00f3\u017cnych zegar\u00f3w zebranych w jedn\u0105 logiczn\u0105 grup\u0119 i synchronizowanych od jednego zegara g\u0142\u00f3wnego, ale niekoniecznie zsynchronizowanych z zegarami nale\u017c\u0105cymi do innej domeny.<\/p>\n<p><b>flags<\/b> \u2013 to pole zawiera r\u00f3\u017cne flagi do identyfikacji statusu komunikatu.<\/p>\n<p><b>correctionField<\/b> \u2013 zawiera czas op\u00f3\u017anienia w nanosekundach. Czas op\u00f3\u017anienia obejmuje op\u00f3\u017anienie przy przesy\u0142aniu przez przezroczyste zegary, a tak\u017ce op\u00f3\u017anienie przy przesy\u0142aniu przez kana\u0142 w trybie Peer-to-Peer.<\/p>\n<p><b>sourcePortIdentity<\/b> \u2013 to pole zawiera informacje o tym, z kt\u00f3rego portu pierwotnie wys\u0142ano dany komunikat.<\/p>\n<p><b>sequenceID<\/b> \u2013 zawiera identyfikacyjny numer dla poszczeg\u00f3lnych komunikat\u00f3w.<\/p>\n<p><b>controlField<\/b> \u2013 pole-artefakt=) Pozosta\u0142o z pierwszej wersji standardu i zawiera informacje o typie wiadomo\u015bci. W zasadzie to samo co messageType, ale z mniejsz\u0105 liczb\u0105 opcji.<\/p>\n<p><b>logMessageInterval<\/b> \u2013 to pole jest okre\u015blane przez typ komunikatu.<\/p>\n<p><b>Tre\u015b\u0107<\/b><\/p>\n<p>Jak om\u00f3wiono powy\u017cej, istnieje kilka typ\u00f3w komunikat\u00f3w. Te typy s\u0105 opisane poni\u017cej:<\/p>\n<p><b>Komunikat Announce<\/b><br \/>\nKomunikat Announce s\u0142u\u017cy do \"opowiadania\" innym zegarom w obr\u0119bie jednej domeny o swoich parametrach. Ten komunikat pozwala ustali\u0107 hierarchi\u0119 \"Zegary g\u0142\u00f3wne \u2013 Zegary podrz\u0119dne\".<br \/>\n<img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/054b35f0c74757d531205fa352b90f4e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Komunikat Sync<\/b><br \/>\nKomunikat synchronizacji (Sync) jest wysy\u0142any przez zegary g\u0142\u00f3wne i zawiera czas zegar\u00f3w g\u0142\u00f3wnych w momencie, gdy komunikat Sync zosta\u0142 stworzony. Je\u015bli zegary g\u0142\u00f3wne s\u0105 dwustopniowe, znacznik czasu w komunikacie Sync b\u0119dzie r\u00f3wny 0, a aktualny znacznik czasu b\u0119dzie wysy\u0142any w powi\u0105zanym komunikacie Follow_Up. Komunikat Sync jest u\u017cywany dla obu mechanizm\u00f3w pomiaru op\u00f3\u017anienia.<\/p>\n<p>Komunikat jest przesy\u0142any za pomoc\u0105 Multicast. Opcjonalnie mo\u017cna u\u017cywa\u0107 Unicast.<\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/38268221aa5663ba021f225c9de01df9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Komunikat Delay_Req<\/b><\/p>\n<p>Format komunikatu Delay_Req jest taki sam jak komunikatu Sync. Zegary podrz\u0119dne wysy\u0142aj\u0105 Delay_Req. Zawiera czas wys\u0142ania Delay_Req przez zegary podrz\u0119dne. Ten komunikat jest u\u017cywany tylko w mechanizmie \u017c\u0105dania-odpowiedzi op\u00f3\u017anienia.<\/p>\n<p>Komunikat jest przesy\u0142any za pomoc\u0105 Multicast. Opcjonalnie mo\u017cna u\u017cywa\u0107 Unicast.<\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/1e64f3902ff3364b968581ff6b6a6573.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Wiadomo\u015b\u0107 Follow_Up<\/b><\/p>\n<p>Wiadomo\u015b\u0107 Follow_Up jest opcjonalnie wysy\u0142ana przez prowadz\u0105ce zegary i zawiera czas wys\u0142ania <b>wiadomo\u015bci Sync<\/b> mistrzem. Wiadomo\u015b\u0107 Follow_Up wysy\u0142aj\u0105 tylko dwustopniowe prowadz\u0105ce zegary.<\/p>\n<p>Wiadomo\u015b\u0107 Follow_Up jest u\u017cywana do obu mechanizm\u00f3w pomiaru op\u00f3\u017anienia.<\/p>\n<p>Komunikat jest przesy\u0142any za pomoc\u0105 Multicast. Opcjonalnie mo\u017cna u\u017cywa\u0107 Unicast.<\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/00917743466b8a331922d18e0928d3db.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Wiadomo\u015b\u0107 Delay_Resp<\/b><\/p>\n<p>Wiadomo\u015b\u0107 Delay_Resp jest wysy\u0142ana przez prowadz\u0105ce zegary. Zawiera czas przyj\u0119cia Delay_Req przez prowadz\u0105ce zegary. Ta wiadomo\u015b\u0107 jest u\u017cywana tylko w mechanizmie zapytania-odpowiedzi op\u00f3\u017anienia.<\/p>\n<p>Komunikat jest przesy\u0142any za pomoc\u0105 Multicast. Opcjonalnie mo\u017cna u\u017cywa\u0107 Unicast.<\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/b9d0bc41f94ceee560c0c593dd9e4afd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Wiadomo\u015b\u0107 Pdelay_Req<\/b><\/p>\n<p>Wiadomo\u015b\u0107 Pdelay_Req jest wysy\u0142ana przez urz\u0105dzenie, kt\u00f3re \u017c\u0105da op\u00f3\u017anienia. Zawiera czas wys\u0142ania wiadomo\u015bci z portu tego urz\u0105dzenia. Pdelay_Req jest u\u017cywana tylko w mechanizmie pomiaru op\u00f3\u017anienia s\u0105siedniego w\u0119z\u0142a.<\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/7eef44a2655158758cdbcfbc25fc2e48.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Wiadomo\u015b\u0107 Pdelay_Resp<\/b><\/p>\n<p>Wiadomo\u015b\u0107 Pdelay_Resp jest wysy\u0142ana przez urz\u0105dzenie, kt\u00f3re otrzyma\u0142o \u017c\u0105danie op\u00f3\u017anienia. Zawiera czas przyj\u0119cia wiadomo\u015bci Pdelay_Req przez to urz\u0105dzenie. Wiadomo\u015bci Pdelay_Resp s\u0105 u\u017cywane tylko w mechanizmie pomiaru op\u00f3\u017anienia s\u0105siedniego w\u0119z\u0142a.<\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/6a3bb44c70fc09db3025df93c4d58a3f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Wiadomo\u015b\u0107 Pdelay_Resp_Follow_Up<\/b><\/p>\n<p>Wiadomo\u015b\u0107 Pdelay_Resp_Follow_Up jest opcjonalnie wysy\u0142ana przez urz\u0105dzenie, kt\u00f3re otrzyma\u0142o \u017c\u0105danie op\u00f3\u017anienia. Zawiera czas przyj\u0119cia wiadomo\u015bci Pdelay_Req przez to urz\u0105dzenie. Wiadomo\u015b\u0107 Pdelay_Resp_Follow_Up jest wysy\u0142ana tylko przez dwustopniowe prowadz\u0105ce zegary.<\/p>\n<p>Ta wiadomo\u015b\u0107 mo\u017ce by\u0107 r\u00f3wnie\u017c u\u017cywana dla czasu wykonania zamiast znacznika czasu. Czas wykonania to czas od momentu otrzymania Pdelay-Req do wys\u0142ania Pdelay_Resp.<\/p>\n<p>Pdelay_Resp_Follow_Up s\u0105 u\u017cywane tylko w mechanizmie pomiaru op\u00f3\u017anienia s\u0105siedniego w\u0119z\u0142a.<\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/523043f7a880030474098fcdc1c5822d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Wiadomo\u015bci zarz\u0105dzaj\u0105ce (Wiadomo\u015b\u0107 Management)<\/b><\/p>\n<p>Wiadomo\u015bci zarz\u0105dzaj\u0105ce PTP s\u0105 niezb\u0119dne do przesy\u0142ania informacji mi\u0119dzy jednym lub wieloma zegarami a w\u0119z\u0142em zarz\u0105dzaj\u0105cym.<\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/4388d9f4b6b12f3a2cdc764c20597499.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Przesy\u0142anie w LV<\/b><\/p>\n<p>Wiadomo\u015b\u0107 PTP mo\u017ce by\u0107 przesy\u0142ana na dw\u00f3ch poziomach:<\/p>\n<ul>\n<li>Sieciowym \u2013 jako cz\u0119\u015b\u0107 danych IP.<\/li>\n<li>Liniowym \u2013 jako cz\u0119\u015b\u0107 ramki Ethernet.<\/li>\n<\/ul>\n<p>\nPrzesy\u0142anie wiadomo\u015bci PTP przez UDP przez IP przez Ethernet<\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/361e008fc48396915e5e9c23cc52bd63.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPTP przez UDP przez Ethernet<\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/1862a5d27931a744e75e3c5bc63d7091.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Profile<\/b><\/p>\n<p>PTP ma do\u015b\u0107 du\u017co \u00abelastycznych\u00bb parametr\u00f3w, kt\u00f3re nale\u017cy skonfigurowa\u0107. Na przyk\u0142ad:<\/p>\n<ul>\n<li>Opcje BMCA.<\/li>\n<li>Mechanizm pomiaru op\u00f3\u017anienia.<\/li>\n<li>Interwa\u0142y i pocz\u0105tkowe warto\u015bci wszystkich konfigurowalnych parametr\u00f3w itp.<\/li>\n<\/ul>\n<p>\nI mimo \u017ce wcze\u015bniej m\u00f3wili\u015bmy, \u017ce urz\u0105dzenia PTPv2 s\u0105 mi\u0119dzy sob\u0105 zgodne, w rzeczywisto\u015bci tak nie jest. Urz\u0105dzenia musz\u0105 mie\u0107 takie same ustawienia, aby mog\u0142y ze sob\u0105 wsp\u00f3\u0142pracowa\u0107.<\/p>\n<p>Dlatego istniej\u0105 tzw. profile PTPv2. Profile to grupy skonfigurowanych ustawie\u0144 oraz okre\u015blonych ogranicze\u0144 protoko\u0142u, kt\u00f3re umo\u017cliwiaj\u0105 realizacj\u0119 synchronizacji czasu dla konkretnej aplikacji.<\/p>\n<p>Sam standard IEEE 1588v2 opisuje tylko jeden profil - \u201eProfil domy\u015blny\u201d. Wszystkie pozosta\u0142e profilu zosta\u0142y stworzone i opisane przez r\u00f3\u017cne organizacje i stowarzyszenia.<\/p>\n<p>Na przyk\u0142ad, profil dla elektroenergetyki lub PTPv2 Power Profile zosta\u0142 stworzony przez Komitet System\u00f3w Przesy\u0142owych oraz Komitet Stacji Transformacyjnych Towarzystwa IEEE Power and Energy Society. Sam profil nosi nazw\u0119 IEEE C37.238-2011.<\/p>\n<p>Profil opisuje, w jaki spos\u00f3b PTP mo\u017ce by\u0107 przesy\u0142any:<\/p>\n<ul>\n<li>Wy\u0142\u0105cznie przez sieci L2 (tj. Ethernet, HSR, PRP, nie IP).<\/li>\n<li>Wiadomo\u015bci s\u0105 przesy\u0142ane tylko w spos\u00f3b Multicast.<\/li>\n<li>Jako mechanizm pomiaru op\u00f3\u017anienia wykorzystuje si\u0119 mechanizm pomiaru op\u00f3\u017anienia pomi\u0119dzy portami.<\/li>\n<\/ul>\n<p>\nDomy\u015blny domen to 0, zalecany domen to 93.<\/p>\n<p>Filozofi\u0105 stworzenia C37.238-2011 by\u0142o pragnienie zmniejszenia liczby opcjonalnych cech i pozostawienie tylko niezb\u0119dnych funkcji zapewniaj\u0105cych niezawodn\u0105 wsp\u00f3\u0142prac\u0119 pomi\u0119dzy urz\u0105dzeniami oraz zwi\u0119kszaj\u0105cych stabilno\u015b\u0107 systemu.<\/p>\n<p>Okre\u015blono r\u00f3wnie\u017c cz\u0119stotliwo\u015b\u0107 przesy\u0142ania wiadomo\u015bci:<\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/117c81192ff2eb160652738bb9ecbb1d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nW zasadzie dost\u0119pny jest tylko jeden parametr - typ g\u0142\u00f3wnych zegar\u00f3w (jednoetapowe lub dwuetapowe).<\/p>\n<p>Dok\u0142adno\u015b\u0107 nie powinna przekracza\u0107 1 \u03bcs. Innymi s\u0142owy, w jednej \u015bcie\u017cce synchronizacji mo\u017ce znajdowa\u0107 si\u0119 maksymalnie 15 przezroczystych zegar\u00f3w lub trzy zegary brze\u017cne.<\/p>\n<p><img decoding=\"async\" alt=\"Szczeg\u00f3\u0142y realizacji protoko\u0142u synchronizacji czasu PTPv2\" src=\"\/wp-content\/uploads\/2020\/04\/d3f1cb822d01b8733eadb6cd75805b20.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/phoenix_contact\/blog\/495920\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u041a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u00ab\u0426\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u0446\u0438\u0438\u00bb \u0432 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u044d\u043d\u0435\u0440\u0433\u0435\u0442\u0438\u043a\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0441 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e 1 \u043c\u043a\u0441. \u0414\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0442\u0430\u043a\u0436\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0432 \u043c\u043a\u0441. \u0412 \u044d\u0442\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 NTP \u0443\u0436\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e. \u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 PTPv2, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u043c IEEE 1588v2, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u043d\u0430\u043d\u043e\u0441\u0435\u043a\u0443\u043d\u0434. PTPv2 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u044b \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 L2 \u0438 L3-\u0441\u0435\u0442\u0438. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u043c\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":77042,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-77041","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u041a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u00ab\u0426\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u0446\u0438\u0438\u00bb \u0432 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u044d\u043d\u0435\u0440\u0433\u0435\u0442\u0438\u043a\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0441 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e 1 \u043c\u043a\u0441. \u0414\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0442\u0430\u043a\u0436\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0432 \u043c\u043a\u0441.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/podrobnosti-realizaczii-protokola-sinhronizaczii-vremeni-ptpv2\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 PTPv2 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u041a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u00ab\u0426\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u0446\u0438\u0438\u00bb \u0432 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u044d\u043d\u0435\u0440\u0433\u0435\u0442\u0438\u043a\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0441 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e 1 \u043c\u043a\u0441. \u0414\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0442\u0430\u043a\u0436\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0432 \u043c\u043a\u0441.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/podrobnosti-realizaczii-protokola-sinhronizaczii-vremeni-ptpv2\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-04-07T11:42:46+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-04-07T11:42:46+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Szczeg\u00f3\u0142y wdro\u017cenia protoko\u0142u synchronizacji czasu PTPv2 | ProHoster","description":"Wprowadzenie Koncepcja budowy \u201eCyfrowej stacji transformacyjnej\u201d w elektroenergetyce wymaga synchronizacji z dok\u0142adno\u015bci\u0105 1 \u03bcs. Do przeprowadzania transakcji finansowych r\u00f3wnie\u017c wymagana jest precyzja w \u03bcs.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/podrobnosti-realizaczii-protokola-sinhronizaczii-vremeni-ptpv2","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 PTPv2 | ProHoster","og:description":"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u041a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u00ab\u0426\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u0446\u0438\u0438\u00bb \u0432 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u044d\u043d\u0435\u0440\u0433\u0435\u0442\u0438\u043a\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0441 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e 1 \u043c\u043a\u0441. \u0414\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0442\u0430\u043a\u0436\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0432 \u043c\u043a\u0441.","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/podrobnosti-realizaczii-protokola-sinhronizaczii-vremeni-ptpv2","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-04-07T11:42:46+00:00","article:modified_time":"2020-04-07T11:42:46+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"77041","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 17:25:29","updated":"2026-02-09 15:52:39","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/77041","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=77041"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/77041\/revisions"}],"predecessor-version":[{"id":158469,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/77041\/revisions\/158469"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/77042"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=77041"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=77041"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=77041"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}