در یک شبکه کامیپوتری زمان و سرعت از اهمیت بالایی برخوردار است. به طوری که ارتباطات شبکه ای همه در گروی یک زمان و تاریخ دقیقی می باشند در نتیجه باید زمان در یک شبکه بین تمام سیستم ها یکسان و درست باشد.
یک کامپیوتر میتواند تا 40 میکرو ثانیه انحراف زمانی داشته باشد! همین یک جمله اهمیت همگامسازی را به وضوح به ما نشان میدهد. ساعت کامپیوتر هر روز چند دقیقه یا چند ثانیه تغییر میکند و حفظ زمان دقیق چالشانگیز است؛ از طرفی مدیریت، ایمنسازی، برنامهریزی و اشکالزدایی شبکه به زمان درست و دقیق نیاز دارند.
اینجاست که پروتکل NTP به عنوان یک پروتکل همگامسازی وارد عمل میشود. سرورها، سوئیچها، روترها و رایانهها برای یکسان سازی زمان در شبکه از پروتکل NTP استفاده میکنند. در ادامه همراه ما باشید تا با جزییات پروتکل NTP آشنا شوید و همهچیز را دربارهاش بخوانیم.
NTP چیست و تاریخچه آن:
پروتکل NTP در واقع مخفف Network Time Protocol یا همان پروتکل زمان شبکه است. تحقیق در مورد زمان سنجی شبکه به مدتها قبل از معرفی پروتکل NTP برمیگردد. در سال 1983 یک سند RFC با عنوان «پروتکل زمان» منتشر شد که یک پروتکل زمانی بسیار ابتدایی را معرفی میکرد. پروتکلی که بهعنوان یک سرویس از طریق UDP یا TCP قابل استفاده بود. جهت آشنایی و بررسی تفاوت میان پروتکل TCP و UDP بر روی لینک ویدیو مربوطه کلیک کنید.
اما NTP اولین بار در سال 1985 در دانشگاه Delaware معرفی شد و بعد از آن تلاشهای بسیاری برای بهبود این پروتکل و مرتبط سازی آن با محیط شبکه صورت گرفت. پروتکل زمان شبکه (NTP) پرکاربردترین پروتکل همگام سازی ساعت شبکه به شمار میرود و حتی برای شبکههای بزرگ عالی عمل میکند.
به عبارت ساده تر این پروتکل زمان، کامپیوتری که در یک مکان جغرافیایی متفاوت قرار گرفته را برای استفاده از اینترنت همگام میکند تا زمان ها مشابه باشند. هدف نهایی این فناوری گسترده و فراگیر این است که ساعت تمام کامپیوترهای شبکه را در نهایت دقت و پایداری و یک یا دو میلی ثانیه UTC همگام کند.
UTC چیست:
UTC یا ساعت هماهنگ جهانی 0.9 ثانیه با ساعت GMT گرینویچ اختلاف دارد. در ساعت هماهنگ جهانی UTC از روش های مختلفی مثل تجهیزات رادیویی و گیرنده های ماهواره ای GPS خاص و گران قیمت جهت هماهنگی و دقت استفاده می شود ولی خوشبختانه با وجود NTP نیازی نیست برای هر کامپیوتر این تجهیزات خریداری شود و تایم سرورهای اصلی با اتصال به این تجهیزات به سایر کلاینت ها سرویس دقیق زمان را در حد کمتر از میلی ثانیه ارائه می دهند.
اهمیت پروتکل NTP در شبکه:
در اینجا چند نکته در مورد اهمیت پروتکل زمان شبکه وجود دارد:
- امنیت: برای جلوگیری از جرم و مبارزه با آن در صورت وقوع، سیستم های امنیتی به زمان هماهنگ بستگی دارند. به عنوان مثال، دستگاههایی مانند دوربینهای امنیتی رویدادها را در زمان واقعی ضبط میکنند، زیرا کار آنها بر اساس زمان های خاص است، که پیگیری شواهد و حل هر جنایت را بسیار آسانتر میکند. بنابراین برای امنیت بهینه می توان گفت همگام سازی زمانی یکی از دارایی های ارزشمند است.
- Log Timestamps: برنامههای نرمافزاری مانند فایلها برای ضمانتها و ضمانتها دارای مهر زمانی هستند. آنها همچنین دارای تاریخ انقضا و تقویم های به روز شده بر اساس زمان نصب آنها در رایانه هستند. این دستورالعملهای کدگذاریشده در برنامهها دنبال میشوند و با زمان همگامسازی شده تضمین میشوند. این دستورالعمل همچنین در مورد به روز رسانی خودکار سیستم فایل و رفع اشکال طراحی شده به دلیل تعمیر و نگهداری که می تواند در یک شبکه از رایانه ها در یک زمان ثابت رخ دهد، اعمال می شود.
- نظم در عملیات وابسته به زمان: پروژه هایی که رویه دارند، طبیعتاً پروژه هایی هستند که باید با ترتیب خاصی تکمیل شوند. این احتمال وجود دارد که برخی یا همه مراحل به زمان حساس باشند، بنابراین زمانی که فرآیندها بین چندین عضو تیم که روی یک پروژه کار می کنند تقسیم می شوند، زمان بندی هماهنگ برای موفقیت مهم است.
- پیامرسانی و ارتباطات از راه دور: در عناصری مانند ایمیلها، پیامکها و گزارشهای تحویل، مهرهای زمانی بسته به شرایط بسیار مرتبط هستند. پروتکل زمان شبکه در چارچوب های مخابراتی و پخش بسیار استفاده می شود.
- عیب یابی: در عیب یابی مشکلات شبکه، NTP و همگام سازی زمان بسیار مفید هستند.
- دقت و صحت را ایجاد می کند: برای دقت و صحت، برخی از اقدامات پزشکی زمان بندی شده و از تجهیزات پزشکی زمان بندی شده استفاده می کنند. و می توان گفت که تفاوت بین زندگی و مرگ می تواند وجود یا عدم وجود زمان هماهنگ باشد.
- ارزش زمان در دنیای واقعی: در حالی که پروتکل زمانی شبکه مستقیماً مسئول مناطق زمانی منطقه ای نیست، زمان همگام شده به این دلیل است که ساعت های منطقه ای می توانند با توجه به زمان جهانی هماهنگ (UTC) کار کنند. به عنوان مثال، زمان محلی در توکیو و لاگوس یکسان نیست. از سوی دیگر، زمان هماهنگ عملکردی است، بنابراین میتوانیم تفاوتهای زمانی دقیق را در مناطق حفظ کنیم.
- کنترل ترافیک: برای جلوگیری از تصادفات در زیرساخت های حساس مانند قطار یا ترافیک هوایی، کنترل به شدت به زمان هماهنگ بستگی دارد. با دادن دستورالعمل از برج های کنترل ترافیک هوایی برای فرود ایمن هواپیماها.
- تجزیه و تحلیل و حسابرسی: با مداخله زمان هماهنگ، فقط می توان حسابرسی معتبر یا تحلیل پزشکی قانونی از هر نوعی را انجام داد.
- زمان دقیق: همگامسازی خودکار زمان کارها را برای بسیاری از کاربران دستگاه آسانتر میکند، زیرا مهارت بسیار کمتری برای پیکربندی دستی تنظیمات زمان برای انعکاس دقیق و دقیق زمان واقعی وجود دارد.
NTP دقیقا برای ما چهکار میکند:
سه روش همگامسازی زمان وجود دارد:
- همگامسازی سخت افزار
- همگامسازی ناوبری ماهوارهای
- همگامسازی نرم افزار
میان این سه تکنیک رایجترین آنها همگامسازی نرم افزاری است که از همگامسازی زمان شبکه و الگوریتم همگامسازی ساعت استفاده میکند. پروتکل زمان شبکه رایج ترین پروتکل همگام سازی نرمافزاری ساعت شبکه است و برای شبکههای بزرگ مناسبتر است.
هر روتر، سوئیچ، سرور یا ایستگاه کاری میتواند زمان خاص خود را داشته باشد و هیچ مشکلی رخ ندهد. اما گاهی شرایطی رخ میدهد که دانستن زمان دقیق حائز اهمیت است. در نتیجه، در یک شبکه پیچیده با صدها دستگاه وابسته به زمان، همگامسازی ساعتها و زمانسنجی دقیق از اجزای حیاتی عملیات و مدیریت کلی شبکه محسوب میشود.
زمانی که عملیات شبکه در معرض اثرات نامطلوب رویدادهای ناشی از یک اتفاق اولیه (مانند نقض امنیتی) قرار میگیرد یا رویدادی رخ میدهد که قرار است عواقبی داشته باشد، میتوان با دانستن زمان این وقایع را بهدرستی بازسازی کرد. زمان فرصت بیشتری برای اجرای اقدامات اصلاحی مؤثر در اختیار مدیر میگذارد.
بیشتر بخوانید: TTL چیست و چه کاربردی در شبکه دارد
NTP چطور کار میکند:
پروتکل زمان شبکه یا NTP یک سیگنال زمان را از یک یا چند ساعت اتمی میگیرد و با توزیع آن روی دستگاههای شبکه، UTC را در دسترس سازمان قرار میدهد. در ابتداییترین حالت ممکن، شبکه NTP از دستگاههایی به عنوان کلاینت (نیازمند همگامسازی) و یک سرور تشکیل شده که زمان UTC را دریافت کرده و در اختیار کلاینتها قرار میدهد.
کلاینت و سرور از طریق ارسال درخواست و پاسخ با هم ارتباط برقرار میکنند:
- کلاینت یک بسته درخواست NTP را به سرور زمان ارسال میکند و زمان را تایم استمپ میکند.
- سرور به محض دریافت بسته زمان را مهر میکند.
- زمانی که پاسخ بسته برای کلاینت ارسال میشود، زمان دوباره مهر میشود.
- مشتری زمانی که بسته پاسخ را دریافت میکند (مهر زمانی مقصد) زمان را مهر میکند.
این فرآیند شاید فقط چند میکروثانیه طول بکشد، اما تاخیرهای رفت و برگشت بهطور کاملا دقیق محاسبه میشود. یعنی کلاینت میتواند تفاوت بین زمان داخلی خود و زمان ارائه شده سرور را بررسی کند و در صورت لزوم با تنظیم ساعت خود، همگام با سرور باقی بمانند.
ساختار سلسله مراتبی پروتکل NTP:
در شبکههای بزرگ کلاینتها زیادند و ممکن است سرور نتواند به درخواست همه آنها رسیدگی کند. در این موارد سرورها و کلاینتها در یک سلسله مراتب چند سطحی به نام لایهها مرتب میشوند. هر یک از این سطحها یک قشر (Stratum) نامیده میشود. یک سرور ntp همگام با ساعت معتبر روی قشر اول اجرا میشود.
سپس سرورهای لایه 2 زمان را از سرورهای لایه 1 میگیرند، سرورهای لایه 3 از سرورهای لایه 2 و الی آخر. انگار هر لایه برای لایه بعدی به عنوان سرور عمل میکند و دیگر همه درخواستها متوجه لایه اول نیست.
ترتیب این لایهها تا 15 سطح امکانپذیر است؛ اما هر لایه مقداری تاخیر دارد که باعث کاهش دقت میشود. برای مقابله با این مسئله میتوان کلاینتها را طوری تنظیم کرد که از چند سرور درخواست کنند تا زمان به دست آمده تا حد امکان صحیح باشد.
- سطح 0: یک ساعت مرجع، زمان واقعی را از یک فرستنده اختصاصی یا سیستم navigation ماهوارهای دریافت میکند و به عنوان سطح 0 طبقهبندی میشود.
- سطح 1: دستگاه مستقیماً به ساعت مرجع متصل است.
- سطح 2: دستگاه زمان خود را از یک کامپیوتر سطح 1 دریافت میکند.
- سطح 3: دستگاه زمان خود را از یک کامپیوتر سطح 2 دریافت میکند.
رتبهبندی طبقاتی تا اینجا ادامه دارد. هر چه فاصله بیشتر شود میزان دقت کاهش مییابد. از نظر امنیتی، NTP دارای آسیب پذیریهای شناخته شدهای است. این پروتکل به دو دلیل میتواند مورد سوء استفاده قرار گیرد و در حملات DoS مورد استفاده قرار گیرد: اول، به بستهای با آدرس IP منبع جعلی پاسخ میدهد. دوم، حداقل یکی از دستورات داخلی آن، یک پاسخ طولانی به یک درخواست کوتاه ارسال میکند.
پیکربندی NTP چیست:
انتخاب منبع زمان، تصمیمگیری در مورد توپولوژی NTP، شناسایی ویژگیهای NTP برای پیکربندی و نظارت و کنترل عملیات NTP، همگی بخشی از فرآیند پیکربندی موثر NTP هستند. در هر یک از این مراحل گزینههای متعددی ارائه میشود که همگی بر اساس نیاز کاربران شبکه به داشتن زمان دقیق و هماهنگ است.
بسته به اینکه سرور یا کلاینت را پیکربندی میکنید، تنظیمات پروتکل متفاوت است و این تغییرات در نتیجه عملکرد سیستم عامل تاثیر میگذارد. کلاینتها با پیکربندی مقدماتی و ابتدایی میتوانند بهروزرسانیها را از یک سرور دریافت کنند و سرورها میتوانند بهروزرسانیها را ارائه کنند. دقت کنید که امنیت و افزونگی NTP در پیکربندی ابتدایی پروتکل زمان شبکه یا پروتکل NTP مورد بررسی قرار نمیگیرد.
Local NTP چیست:
بیشتر دستگاهها برای همگامسازی زمان از یک سرور زمان اینترنتی و یک منبع ساعت مانند ماهواره GPS استفاده میکنند. همگامسازی زمان باید با استفاده از یک سرور محلی ntp در یک سناریوی آفلاین انجام شود که در آن دستگاهها به اینترنت متصل نیستند.
گاهی طراح موقع انتخاب یک منبع زمان، به پیکربندی یکی از دستگاههای شبکه به عنوان «مستر» محلی ntp فکر کند. این مستر از منبعی استفاده میکند که با UTC همگامسازی نشده و زمان آن توسط شما تعیین و تنظیم میشود.
با ویژگی مستر امکان همگانسازی زمان بین دستگاههای شرکتکننده بر اساس زمان محلی آنها امکان پذیر میشود، حتی اگر زمان آنها در مقایسه با UTC خیلی دقیق نباشد. روتر، سوئیچ یا سروری که قابلیت مستر را پیادهسازی میکند، میتواند به عنوان مستر محلی پروتکل زمان شبکه عمل کند.
کدام سیستم عاملها از NTP پشتیبانی میکنند:
پروتکل زمان شبکه در اصل برای سیستمهای یونیکس توسعه داده شد که هنوز هم در آن در قالب ntdp پیاده میشود. هم به عنوان کلاینتی که سیستم محلی را همگام سازی میکند و هم به عنوان سروری برای سیستمهای دیگر تا مدتها این سرویس اولین انتخاب برای پیادهسازی در توزیعهای لینوکس بود؛ اما نسخههای جدید بیشتر به برنامه کلاینت timeyncd متکی هستند. در حال حاضر سیستم عاملهای MacOS و Windows هم از این پروتکل استفاده میکنند تا زمان UTC را به سادهترین شکل ممکن و بدون نرم افزارهای اضافه دریافت کنند
امنیت پروتکل NTP:
پروتکل زمان شبکه (NTP) به هر دستگاهی اجازه میدهد تا با انتخاب از میان سرورهای زمان، ساعت داخلی خود را با UTC همگام کند. با این حال، برای اینکه سیستمها همگام شوند، باید دری برای ورود اطلاعات زمانی در فایروال باز بگذارد.
پروتکل زمان شبکه برای پورت 123 طراحی شده و این از نقطه نظر امنیتی، یک خطر بزرگ است. بسیاری از شرکتها از این استراتژی برای حفظ زمان شبکه استفاده میکنند. از سوی دیگر، هکرهای شرور نیز میدانند دقیقا کدام درب فایروال برای ورود اطلاعات باز است. چیزی درست شبیه ارسال یک دعوتنامه با دستورالعمل نحوه هک شبکه برای مهاجم.
شما میتوانید از مسترشبکه بزرگترین فروشگاه اینترنتی انواع تجهیزات شبکه را به همراه گارانتی خریداری نمایید. |