Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Желілік уақыт протоколын іске асыру
Implementation of the Network Time Protocol
OpenNTPD (сонымен қатар OpenBSD NTP Daemon деп те аталады) – компьютер жүйесінің жергілікті сағатын қашықтағы NTP серверлерімен синхрондау үшін Желілік уақыт протоколын іске асыратын Unix демоны. Ол сондай-ақ NTP үйлесімді клиенттерге NTP сервері ретінде де қызмет ете алады. OpenBSD NTP Daemon бастапқыда Александр Гай және Хеннинг Брауер OpenBSD жобасының бөлігі ретінде, көптеген авторлардың көмегімен әзірленді. Оның жобалау мақсаттары қауіпсіздік (әсер етуге келмейтін), оңай конфигурациялау және көптеген мақсаттар үшін жеткілікті дәлдік болуын қамтиды. OpenSSH сияқты, оның портативті нұсқасы OpenBSD нұсқасына портативтілік кодын қосып, оны жеке шығаратын қосалқы жоба ретінде әзірленген. Портативті нұсқаны Брент Кук әзірледі. Жобаны дамытушылар OpenBSD Foundation-нан қаржыландыру алады.
OpenNTPD (also known as OpenBSD NTP Daemon) is a Unix daemon implementing the Network Time Protocol to synchronize the local clock of a computer system with remote NTP servers. It is also able to act as an NTP server to NTP compatible clients. OpenBSD NTP Daemon was initially developed by Alexander Guy and Henning Brauer as part of the OpenBSD project, with further help by many authors. Its design goals include being secure (non exploitable), easy to configure, and accurate enough for most purposes. Its portable version, like that of OpenSSH, is developed as a child project which adds the portability code to the OpenBSD version and releases it separately. The portable version is developed by Brent Cook. The project developers receive some funding from the OpenBSD Foundation.
Тарих
OpenNTPD-ді әзірлеуге қазіргі NTP-демондардағы бірнеше мәселе себеп болды: қиын конфигурация, күрделі және тексеруге қолайсыз код, сондай-ақ тиімсіз лицензия. OpenNTPD осы мәселелерді шешу және уақытты синхрондауды барынша көп пайдаланушыларға қолжетімді ету мақсатымен жасалды. Біршама дамытудан кейін OpenNTPD алғаш рет OpenBSD 3.6 нұсқасында пайда болды. Оның тұңғыш нұсқасы 2004 жылдың 2 қарашасында жарияланды.
The development of OpenNTPD was motivated by a combination of issues with current NTP daemons: difficult configuration, complicated and difficult to audit code, and unsuitable licensing. OpenNTPD was designed to solve these problems and make time synchronization accessible to a wider userbase. After a period of development, OpenNTPD first appeared in OpenBSD 3.6. Its first release was announced on 2 November 2004.
Мақсаттар
OpenNTPD – OpenBSD командасының қауіпсіз, аудиттеуге оңай, орнату мен басқаруға қарапайым, лайықты дәлдікте және жүйе ресурстарын аз қолданатын NTP демонды іске асыруға жасаған әрекеті. Осы ретте, OpenNTPD-нің жобалау мақсаттары: қауіпсіздік, қолданудың қарапайымдығы және өнімділік. OpenNTPD-дегі қауіпсіздік, желілік кіріс жолындағы сенімді жарамдылықты тексеру, strlcpy арқылы шектелген буферлік операцияларды қолдану, және мүмкін қауіпсіздік қателіктерін пайдаланып, демон арқылы құқықтарды көтерудің әсерін азайту үшін құқықтарды бөлу арқылы қамтамасыз етіледі. NTP-ны қолдануды жеңілдету үшін OpenNTPD, Network Time Protocol Project-те ұсылғандай, басқа NTP демондарына қарағанда функционалдықтардың кішірек жиынтығын іске асырады. Мақсаты – эзотерикалық немесе арнайы талаптарға сәйкес келмеу қаупі бар, типтік қолдануды қанағаттандыру үшін жеткілікті мүмкіндіктер ұсыну. OpenNTPD конфигурациялық файл, ntpd.conf арқылы конфигурацияланады. Ұсынылатын мүмкіндіктердің саны ең аз: OpenNTPD-нің тыңдауы керек IP-мекенжайы немесе хост атауы, қолданылатын уақыт дельтасы сенсорлық құрылғысы және уақытты синхрондау үшін қолданылатын серверлер жиынтығы. OpenNTPD-нің дәлдігі – барынша күш салу; демон мүмкіндігінше дәл болуға тырысады, бірақ нақты дәлдікке кепілдік берілмейді.
OpenNTPD is an attempt by the OpenBSD team to produce an NTP daemon implementation that is secure, simple to audit, trivial to set up and administer, reasonably accurate, and light on system resources. As such, the design goals for OpenNTPD are: security, ease of use, and performance. Security in OpenNTPD is achieved by robust validity check in the network input path, use of bounded buffer operations via strlcpy, and privilege separation to mitigate the effects of possible security bugs exploiting the daemon through privilege escalation. In order to simplify the use of NTP, OpenNTPD implements a smaller set of functionalities than those available in other NTP daemons, such as that provided by the Network Time Protocol Project. The objective is to provide enough features to satisfy typical usage at the risk of unsuitability for esoteric or niche requirements. OpenNTPD is configured through the configuration file, ntpd. conf. A minimal number of options are offered: IP address or hostname on which OpenNTPD should listen, a timedelta sensor device to be used, and the set of servers from which the time will be synchronized. The accuracy of OpenNTPD is best effort; the daemon attempts to be as accurate as possible but no specific accuracy is guaranteed.
Сын
OpenNTPD NTP жобасы (ntp.org) шығарған NTP демонынан кем дәлдігі үшін сынға ұшырады. Ішкі жағынан OpenNTPD миллисекундтық дәлдікті сақтамайды және «нақты» уақыттан 50–200 мс-қа дейін ауытқуы мүмкін, себебі ол кодты қарапайымдылыққа бағыттап, дәлдікті арттыратын әртүрлі алгоритмдерден бас тартады. OpenNTPD жобасы сынды мойындады, бірақ микросекундтық дәлдіктің болмауы қарапайымдық пен қауіпсіздікке пайда әкелетін дизайндық шарттылық болды деп мәлімдеді. 2004 жылдың қыркүйегінде OpenNTPD 3.6 нұсқасы шыққаннан кейін көп ұзамай ntp.org қатысушысы Брэд Ноулз «OpenNTPd Considered Harmful» деген мақала жариялады, онда OpenNTPD-нің NTP протоколын іске асыруының әртүрлі аспектілерін, сондай-ақ жоба қолданатын бөлінген даму моделін сынға алды, бұл модель OpenSSH және OpenBGPD әзірлеуінде де қолданылады. 2004 жылдың желтоқсанында OpenNTPD портативті тармағының бас әзірлеушісі Даррен Таккер Ноулзге егжей-тегжейлі жауап жазып, кейбір мәселелерді жарамды деп мойындады, бірнешеуін негізсіз деп қабылдамады, ал тағы басқаларын шатастырушы деп санады. Ноулз көтерген маңызды мәселелердің бірі – OpenNTPD серверлері 1-ші деңгейдегі серверлер деп мәлімдегені. Алайда, Таккердің жауабы кезінде бұл мәселе шешілген болатын. 2005 жылдың наурыз айында Ноулз Таккердің жауабын мойындады және ол «қалған мәселелерді шешу үшін [Таккермен] жұмыс істеу үшін бар күшін салатынын» айтты. Сонымен қатар, OpenBSD желілік жиі қойылатын сұрақтарға (FAQ) Ноулздің бастапқы сын-пікіріне жауап қосылды. OpenNTPD-нің қазіргі дәлдігі туралы 2004 жылғы 21C3 презентациясында «әдетте 50 мс» деп көрсетілген.
OpenNTPD has been criticized as being less accurate than the NTP daemon produced by the NTP Project (ntp. org). Internally, OpenNTPD does not maintain millisecond accuracy and can vary 50 200ms from "real" time because it omits a variety of algorithms that increase accuracy in favour of code simplicity. The OpenNTPD project acknowledged the criticism, but stated that the lack of microsecond precision was a design tradeoff that benefited simplicity and security. In September 2004, shortly after the release of OpenNTPD 3.6, ntp. org contributor Brad Knowles published an article entitled OpenNTPd Considered Harmful criticizing various aspects of OpenNTPD's implementation of the NTP protocol, as well as the split development model that the project employs, which is also used in the development of OpenSSH and OpenBGPD. In December 2004, Darren Tucker, the principal developer on the portable branch of OpenNTPD, wrote a detailed response to Knowles, acknowledging some issues as valid, rejecting several others as unwarranted, and considering yet others as misleading. Among the more serious issues raised by Knowles was that OpenNTPD servers claimed to be stratum 1 servers. The issue had however already been fixed by the time of Tucker's response. In March 2005, Knowles acknowledged Tucker's response, and stated that he was "going to do everything [he could] to work with [Tucker] to get any remaining issues resolved". Additionally, the OpenBSD networking FAQ was expanded with a response to Knowles' initial criticism. The current OpenNTPD accuracy claim is, from the 2004 21C3 presentation, "typically 50 ms".
Жылжымалы секундтар
OpenNTPD (және OpenBSD ядросы) серпіліс секундтарын қабылдамайды. OpenNTPD-ді басқа ntpd серверлері үшін жоғары деңгейдегі дереккөз ретінде пайдаланғанда немесе Координацияланған әмбебап уақытқа сілтеме жасайтын жоғары дәлдіктегі уақыт талаптарында сақ болу керек. Серпіліс секундтары Координацияланған әмбебап уақытта қолданылады, бірақ Халықаралық атомдық уақыт немесе Глобалдық позициялау жүйесінің уақыт сигналдарында қолданылмайды. 50 мс дәлдік жоғары деңгейдегі дереккөз үшін әдеттегіден ауытқушы. АҚШ Әскери-теңіз обсерваториясы және Халықаралық салмақтар мен өлшемдер бюросы серпіліс секундтарын қолдамайтын жүйелерді Халықаралық атомдық уақытқа немесе тікелей GPS уақыт сигналдарына сілтемелеуді ұсынады. Дегенмен, NTP-нің қазіргі нұсқалары (2023 жылға дейін) UTC емес уақыт шкалаларын қолдамайды.
OpenNTPD (and the OpenBSD kernel) ignore leap seconds. Care should be taken when using OpenNTPD as a higher stratum source for other ntpd servers, or with high resolution time requirements that reference Coordinated Universal Time. Leap seconds are used in Coordinated Universal Time, but not International Atomic Time or Global Positioning System time signals. The 50 ms accuracy is also not typical of a high stratum source. The United States Naval Observatory and the Bureau International des Poids et Mesures recommends that systems not implementing leap seconds be referenced to International Atomic Time, or directly to GPS time signals. However, no current version of NTP (as of 2023) supports non UTC time scales.