پروتکل زمان شبکه

از ویکی‌پدیا، دانشنامهٔ آزاد

پروتکل زمان شبکه‌ای (NTP) یک پروتکل شبکه برای همگام‌سازی ساعت بین سیستم‌های رایانه‌ای است. این پروتکل ساعت سیستم‌هایی را که در شبکه‌ی سوییچِ بسته (packet-switched) با تاخیر متغیر (variable-latency) باشند همگام می‌کند. NTP (که از قبل از سال ۱۹۸۵ به صورت عملیاتی مورد استفاده قرار می‌گیرد) یکی از قدیمی‌ترین پروتکل‌های اینترنتی است که در حال حاضر استفاده می‌شود. NTP توسط [./Https://en.wikipedia.org/wiki/David%20L.%20Mills David L. Mills] از دانشگاه دلاوِر طراحی شده است.

NTP به این منظور طراحی شده تا تمام رایانه‌های استفاده‌کننده از آن (با اختلاف کمی در حد میلی ثانیه) با زمان جهانی هماهنگ (UTC) هماهنگ باشند. این پروتکل از [./Https://en.wikipedia.org/wiki/Intersection%20algorithm الگوریتم تقاطع] (که یک نسخه‌ی اصلاح‌شده از الگوریتم مارزولو است) برای یافتن سرورهای زمانیِ دقیق استفاده می‌کند و به گونه‌ای طراحی شده که اثراتِ تاخیرِ متغیرِ شبکه را کاهش دهد. NTP معمولاً می تواند زمان را از طریق اینترنت عمومی با دقت چند ده میلی‌ثانیه تنظیم کند و در شرایط ایده‌آل (شبکه‌های محلی) می‌تواند به دقت بهتر از یک میلی‌ثانیه دست یابد. مسیرهای نامتقارن و ازدحام شبکه می‌تواند خطای ۱۰۰ میلی‌ثانیه یا بیشتر ایجاد کند.

این پروتکل معمولاً کلاینت - سرور در نظر گرفته می‌شود اما به راحتی می‌توان این پروتکل را به عنوان یک رابطه‌ی peer-to-peer هم در نظر گرفت هنگامی هر کدام از سیستم‌ها، دیگری را به عنوان یک منبع زمانی در نظر بگیرد. پیاده‌سازی‌های این پروتکل،با استفاده از UDP در پورت شماره ۱۲۳ داده‌های زمانی را می‌فرستند و دریافت می‌کنند. این پیاده‌سازی‌ها همچنین می توانند از پخش (broadcasting) یا چندپخشی (mulricasting) نیز استفاده کنند؛ به این صورت که کلاینت‌ها پس از مبادله کالیبراسیون اولیه رفت و برگشت، بطور منفعلانه به به‌روزرسانی‌های زمان گوش می‌دهند. NTP هشدارهای مربوط به هرگونه تغییر ثانیه قریب الوقوع را ارائه می‌دهد، اما هیچ اطلاعاتی درباره منطقه‌ی زمانیِ محلی یا زمان تابستانی را انتقال نمی‌دهد.

نسخه‌ی فعلی پروتکل، ۴ است و در RFC 5905 مستند شده است. این نسخه با نسخه ۳ که در RFC 1305 مشخص شده سازگار است.

تاریخچه

در سال ۱۱۹۷۹، در همایش ملی رایانه در نیویورک، فناوری همگام سازی زمان در اولین نمایش عمومی خدمات اینترنت که از طریق شبکه‌ی ماهواره‌ای فرا آتلانتیک اجرا می شد، مورد استفاده قرار گرفت. این فناوری بعداً در یادداشت مهندسی اینترنت ۱۹۸۱ شماره ۱۷۳ شرح داده شد و پروتكلی عمومی از آن تهیه شد كه در RFC 778 مستند شده است. این فناوری ابتدا در یك شبکه محلی به عنوان بخشی از پروتكل مسیریابی Hello پیاده‌سازی شد و در روتر Fuzzball، یک سیستم عامل آزمایشی مورد استفاده در نمونه‌سازی از شبکه، به کار گرفته شد؛ جایی که برای سالها اجرا می‌شد.

سایر ابزارهای شبکه‌ی مرتبط، هم در آن زمان و هم در حال حاضر در دسترس بوده و هستند؛ شامل پروتکل‌های Daytime و Time برای ضبط زمان وقایع و همچنین ICMP Timestamp message و IP Timestamp option (که در RFC 781 مستند شده‌اند). سیستم‌های هماهنگ‌سازی کامل‌تر، اگرچه فاقد تجزیه و تحلیل داده های NTP و الگوریتم های انضباط ساعت هستند، شامل زمان بندی Unix daemon (که از یک الگوریتم انتخابی برای تعیین سرور برای همه کلاینت‌ها استفاده می‌کند) و سرویس همگام‌سازی زمان دیجیتال (DTSS) (که از سلسله مراتبی از سرورها شبیه به مدل لایه NTP استفاده می‌کند) می‌باشند.

این مقاله در حال ترجمه از ویکی انگلیسی است لطفا پاک/بازگردانی نشود.