بررسی عملکرد سرویس زمان ویندوز در شبکه – قسمت اول

حتما تا به حال در شبکه با مشکلاتی مانند مشکل عدم ورود کاربران به سیستم، اعمال نشدن پالسی ها، اشکال در ارتباطات Exchange و Certificate های مربوطه و … مواجه شده اید. به عنوان ادمین اکتیو دایرکتوری می بایست اهمیت و معنای واقعی زمان را بدانید.در یک شبکه ی کامپیوتری زمان از اهمیت بالایی برخوردار است. به نوعی همه ی ارتباطات و یکپارچه سازی ها در گروی یک مبنای زمانی دقیق است.از این رو زمان در یک شبکه بین تمام سیستم ها باید درست و یکسان باشد .یعنی ساعت کل سیستم های شبکه با سرور هماهنگ باشد.بعد از DNS ، یکپارچه سازی یا Synchronization زمان، یکی از مهمترین وابستگی های اکتیو دایرکتوری و پروتکل احراز هویت Kerberos و بسیاری از سرویس های دیگر زمان است.پس باید اطلاعاتی راجع به ساختار ، دستورات و پالسی هایی که به Time و Time Synchronization مربوط میشوند،داشته باشیم.

Kerberos چیست ؟

Kerberos پروتکل احراز هویت است که در سرویس اکتیو دایرکتوری کاربرد دارد و به کاربران امکان احراز هویت در هنگام ورود به شبکه را می دهد.وقتی به سروری که درحال اجرای پروتکل Kerberos است درخواستی وارد میشود این پروتکل بعد از اینکه هویت درخواست کننده ی سرویس برایش محرز شد،به آن اجازه ی دسترسی به منابع شبکه را می دهد.

به صورت پیشفرض،اکتیو دایرکتوری تحمل بعلاوه یا منهای 5 دقیقه اختلاف زمانی بین کامپیوترهای شبکه را دارد. این به آن معنی است که در صورتی که ساعت کلاینت 5 دقیقه جلوتر و یا عقب تر از Server باشد، باز هم امکان ورود به شبکه را خواهد داشت. اگر این اختلاف زمانی مابین دامین کنترلر وکلاینت بیش از 5 دقیقه باشد،کاربران قادر به احراز هویت توسط سیستم نخواهند بود.اگر این مشکل برای دامین کنترلرها ها به وجود بیاید، یکسان سازی (Replication) بین دامین کنترلرهایی که در یک Tree یا Forest هستند اتفاق نمی افتد.در این مبحث با یک سری اصطلاحات سروکار داریم.

Reference Clock یا ساعت مرجع

دستگاه و سیستمی است که دارای ساعت دقیق است و مهمترین مسئله درباره ی آن ، درستی و دقت است .ساعت های مرجع بایداز زمان استاندارد پیروی کنند.

توضیحاتی درباره ی زمان استاندارد

ساعت هماهنگ جهانی که به اختصار آن را UTC می نامند یک استاندارد زمان اتمی و پایه و اساس زمان قانونی و استاندارد در بیشتر نقاط جهان است.بسیاری از دستگاه ها برای سنجش و نمایش زمان و همچنین نشان دادن اختلاف زمانی، از این مقیاس زمانی 24 ساعته استفاده می کنند. ساعت هماهنگ جهانی بیشتر از ۰٫۹ ثانیه با ساعت گرینویچ اختلاف ندارد و برای بسیاری از کاربردهای روزمره چنین اختلافی قابل صرف‌ نظر کردن است.در هنگام تعیین مخفف این عبارت، فرانسویان اصرار داشتند که باید عبارت فرانسوی آن مخفف گردد که در نهایت تصمیم بر آن شد که از یو‌تی‌سی استفاده شود،که نه مخفف انگلیسی آن (به انگلیسی CUT: Coordinated Universal Time‏) و نه مخفف فرانسوی آن (به فرانسوی TUC : Temps Universel Coordonné‏) است.

ساعت جهانی یا ساعت گرینویچ (GMT) به ساعت جاری شهر گرینویچ اشاره می کند. این ساعت در رصدخانه سلطنتی گرینویچ و بر اساس موقعیت خورشید تنظیم می شود.گرینویچ تقریبا چیزی معادل ساعت هماهنگ جهانی (UTC) است با این تفاوت که عمدتا توسط مراکز وابسته به بریتانیای کبیر همچون بی بی سی، نیروی دریایی سلطنتی و معدود کشورهای عربی مورد استفاده قرار می گیرد. کشورهایی همچون استرالیا، آفریقای جنوبی، هند و پاکستان نیز از این استاندارد استفاده میکنند. UTC برابر با گرینویچ است٬ با این تفاوت که گرینویچ جغرافیایی است و از ظهر حساب می شود٬ اما UTC علمی است و از نیمه شب حساب می شود. اما در محاسبات تبدیل تفاوتی ندارد.

ساعت رسمی ایران (کد بین‌المللی IRST:Iran Standard Time) نسبت به زمان‌بندی گرینویچ ،با توجه به تفاضل نصف النهاری، به اضافه ۳:۳۰ (یوتی‌سی ۳:۳۰+) است که در نیمه اول سال خورشیدی با اعمال ساعت تابستانی یک ساعت به جلو کشیده شده و به اضافه ۴:۳۰ (یوتی‌سی ۴:۳۰+) درنظر گرفته می‌شود که(IRDT:Iran Daylight Time) نامیده می شود.اگر زمانی به وقت IRST یا Iran Standard Time بیان شد٬ یعنی قبلا به وقت ایران تبدیل شده است و شما هیچ کار خاصی نباید انجام دهید.

NTP یا Network Time Protocol

در بحث یکسان سازی زمان با NTP برخورد می کنیم که مخفف (Network Time Protocol) است.NTP یا پروتکل زمانی شبکه ،پروتکلی است که اطمینان پیدا می کند همه ی سیستم های موجود در Forest،ساعتهای تنظیم شده و یکسان با ساعت مرجع داشته باشند.در شبکه ی دامین،یک دامین کنترلر می تواند نقش NTP را داشته باشد یعنی به صورت خودکار، زمان سیستم ها با دامین کنترلر Synchronize و یکسان میشود.

NTP چگونه از ساعت مرجع استفاده می کند؟

ساعت مرجع زمان فعلی را ارایه میدهد،NTP ارزشهای محاسباتی ای را که کیفیت زمان را مشخص میکنند، محاسبه خواهد کرد.به بیان ساده ترNTP بر طبق یک سری معیارها و الگوهای زمانی که دارد ،زمان مناسب را انتخاب و تعیین میکند.

چگونه NTP منبع زمان را می شناسد و میداند که باید به کجا مراجعه کند؟

برای اینکه NTP Client بخواهد راجع به سرورهای NTP بداند و آنها را بشناسد راههای بسیاری وجود دارد:

  • 1. سرورهای NTP می توانند به صورت دستی برای شبکه معرفی و تنظیم شوند.
  • 2. سرورها میتوانند مستقیما زمان را به یک Peer ارسال کنند.
  • 3. ممکن است سرورها زمان را از طریق آدرسهای Multicast یا Broadcast ارسال کنند.

نکته:

Peer به معنای همتا و جفت است ،در شبکه،Peer یک نود، Workstation یا Client است .مثلا دو کامپیوتر درشبکه که قابلیت یکسانی دارند و از لحاظ عملیاتی در یک سطح هستند و میتوانند با هم به یک شکل تبادل و تعامل داشته باشند هرکدام یک Peer محسوب میشوند،اما یک کامپیوتر و یک سرور نمیتوانند با هم رابطه ی Peering داشته باشند،به دلیل اینکه سطحشان و نوع سرویسی که ارایه میدهند متفاوت است. مثلا کامپیوتر میتواند از سرور یک سری اطلاعات را جستجو کند و به دست بیاورد اما سرور نمیتواند همان کار مشابه را در کامپیوتر کلاینت انجام دهد.

Time Synchronization یا یکسان سازی زمان

هر سیستم ویندوز سرور 2000 و نسخه های جدیدتر آن ،از سرویس W32TIME برای همزمان سازی ساعتهایشان استفاده میکنند.به صورت ایده آل همه ی ساعت های کامپیوترها در یک دامین اکتیودایرکتوری (ADDS) زمان خودشان را با ساعت یک سیستم معتبر در شبکه همسان سازی و هماهنگ میکنند. فاکتورهای بسیاری می توانند بر Time Synchronization درشبکه تاثیرگذار باشند.مواردی که در زیر به آنها اشاره میشود اغلب میتوانند بر صحت و دقت Time Synchronization در شبکه تاثیر بگذارند:

  • 1. شرایط شبکه
  • 2. دقت و صحت ساعت سخت افزار کامپیوتر
  • 3. ظرفیت و حجم CPU و منابع شبکه در دسترس برای سرویس زمان

کامپیوترهایی که کمتر زمانشان را یکسان سازی می کنند،مثلا سیستمی با ویندوز XP Home Edition، یا کامپیوترهایی که هنوز عضو دامین نشده اند،به صورت پیشفرض طوری تنظیم شده اند که زمان خود را با Time.windows.com تطبیق دهند.و به دلیل اینکه زمان خود را به طور متناوب یکسان سازی نمی کنند ،برای ما غیرممکن است که بخواهیم دقت زمان را برای این چنین سیستم ها و یا کامپیوترهایی که ارتباطات شبکه ای ندارند تضمین کنیم.
یک فارست (ADDS (َActive Directory Domain Services ، یک سلسله مراتب Tim Synchronization از پیش تعیین شده دارد.سرویس زمان ویندوز، زمان سیستم را با درنظرگرفتن حالت سلسله مراتبی با دقیق ترین ساعت مرجع بالاسری خود یا Parent خود یکسان سازی میکند.اگر بیش از یک منبع زمان روی کامپیوتر تنظیم شده باشد سرویس زمان ویندوز برای انتخاب بهترین منبع زمان از الگوریتم های NTP استفاده میکند.در واقع این سرویس برای مدیریت دقیق زمان در یک سیستم به کار می رود.در بیشتر موارد نیازی به اعمال تنظیمات روی این سرویس نیست.کامپیوترهایی که عضو دامین هستند به صورت پیشفرض نقش تایم کلاینت را دارند.به علاوه سرویس زمان میتواند برای درخواست زمان از یک منبع زمان مرجع تعیین شده تنظیم شود و یا همچنین برای فراهم کردن زمان برای کلاینتها تنظیم شود.

Stratum چیست؟

درجه ای که اختلاف زمان سیستم ما را از ساعت مرجع و منبع نشان می دهد Stratum نام دارد.خود این ساعت منبع Stratum-0 است،بالاترین کیفیت ممکن است.یعنی درجه و سطح آن صفر است به این دلیل که با منبع دیگری اختلاف زمانی ندارد،مثل دستگاه GPS که زمان خودش را از یک منبع زمان اصلی مانند ساعت اتوماتیک جهانی می گیرد. دقیق ترین و مناسب ترین ساعت در شبکه را stratum-1 میگویند.این منبع دقیق زمان، ساعت مرجع نامیده میشود و منبع زمانی آن Stratum-0 است.و به همین منوال Stratum-2 ، از Stratum-1 به عنوان منبع زمانی استفاده میکند.همینطورکه درجه ی Stratum یک کامپیوتر افزایش می یابد،دقت زمان ساعت سیستم ممکن است کاهش یابد.بنابراین،سطح Stratum هرکامپیوتری شاخصی است برای اینکه چقدر زمان کامپیوتر با منبع دقیق زمان یکسان سازی و Synchronize شده است .

وقتی w32time manager الگوهای زمانی را میگیرد، از الگوریتم های NTP استفاده میکند تا تعیین شود که کدام یک از نمونه های زمان برای استفاده مناسب تر است.همچنین سرویس زمان، مجموعه ی دیگری از الگوریتمها را به کار می برد تا مشخص شود که کدام یک از منابع زمان تنظیم شده بیشترین دقت را دارند و دقیق تر هستند.وقتی سرویس زمان مشخص کرد که کدام الگوی زمانی بهتر است،براساس ضوابط بالا، میزان ساعت local یا محلی را به سمت زمان درست و دقیق سوق می دهد.اگر اختلاف زمانی بین ساعت محلی (local) و الگو ی زمانی انتخاب شده (که Time Skew نامیده میشود) بیشتر از حد زیاد باشد،سرویس زمان،ساعتهای محلی را طبق زمان درست تنظیم میکند.این تنظیم و تغییر زمان ساعت با عنوان Clock Discipline شناخته میشود.

ساختار سرویس زمان ویندوز

سرویس زمان ویندوز متشکل از اجزاء زیر است :

1
2
3
4
Service Control Manager
Windows Time Service Manager
Clock Discipline
Time Providers
  • Service Control Manager: مسئول Start و Stop سرویس تایم است.
  • Windows Time Service Manager: مسئول شروع کردن فعالیت NTP Time Provider (سرویسی که مکانیزم زمان را انجام می دهد) که در قالب سیستم عامل قرار دارد،می باشد.Windows Time Service Manager، تمامی فعالیت های سرویس Windows Time و یکی کردن تمام نمونه های زمانی را بر عهده دارد.به علاوه برای ارایه ی اطلاعاتی درباره ی وضعیت سیستم فعلی ،از قبیل :منبع زمان فعلی یا آخرین باری که ساعت سیستم آپدیت شده بود، استفاده می شود. Windows Time Service Manager همچنین مسئول ثبت گزارش ها در Event log است.
  • Time Discipline: همانطور که در بالا اشاره شد،سرویس زمان،ساعتهای محلی را طبق زمان صحیح تنظیم میکند، این تنظیم و تغییر زمان با عنوان Clock Discipline شناخته میشود.
  • Time Providers: یک منبع زمان است که پروتکلی را که برای دسترسی به الگوهای زمانی دقیق به آن نیاز داریم را نمایش می دهد.

شکل زیر ساختار و معماری سرویس تایم ویندوز را نشان می دهد.

ساعت-در-شبکه

فرآیند Time Synchronization شامل مراحل زیر است:

1. ورود درخواست Time Providers در شبکه و دریافت الگوهای زمانی از منابع تایم NTP که قبلا تنظیم شده اند.درخواستهای ارایه ی زمان از طرف آن سرورهایی که میخواهند تایم را به کلاینتها ارایه دهند دریافت و وارد میشود و الگوهای زمانی را از منابع NTP میگیریم تا در مراحل بعدی بهترین الگو انتخاب شود.
2. سپس این نمونه های زمانی به Windows Time Service Manager ارائه داده می شوند ، سپس Windows Time Service Manager تمامی نمونه ها را جمع آوری کرده و آنها را به بخش Clock Discipline میفرستد.
3. بخش Clock Discipline، الگوریتهای NTP را بررسی و پس از انتخاب بهترین الگوی زمانی ،آن را اعمال میکند.
4. Time Discipline همچنین ساعت سیستم را بر روی دقیق ترین زمان تنظیم می کند.
اگر یک کامپیوتر به عنوان تایم سرور تعیین شده باشد ،میتواند زمان درست و دقیق را برای هر کامپیوتری که درخواست Time Synchronization می دهد ارسال کند.

منبع : انجمن تخصصی فناوری اطلاعات ایران

697
۰
۲۱ فروردین ۹۳
برچسب ها :

فرزانه تقدیسی

کارشناس ارشد هوش مصنوعی - پس از اتمام دوره Elastix & MCSE & CCNA & CCNP و اخذ مدارک بین المللی در این حوزه مشغول به کار شدم