NTP

                                          NTP
                              Network Time Protocol

البرتوكول (NTP (NETWORK TIME PROTOCOL

تعريف: هو برتوكول مبني فوق TCP/IP موجود في طبقة ألNETWORK, هو واحد من أقدم البرتوكولات فهو لا يزال يستخدم منذ عام 1985 و قام بتطويره البروفيسورDavid .Mills في جامعة Delaware

يستخدم هذا البرتوكول لمزامنة ساعات(موقتات) موجودة في عدة أنظمة موزعة, يقوم بالمزامنة خلال أجزاء من الثانية. يستخدم ال UDP port 123

SNTP:هو بشكل أساسي البرتوكول NTP ولكن ينقصه بعض الخوارزميات الموجودة في NTP والتي لا تحتاجها بعض المخدمات, حيث تعتبر بعض الأنظمة NTP برتوكول معقد ,فتم إيجاد نسخة مبسطة منه وهي SNTP.

لماذا يجب مزامنة الوقت؟ الوقت دائما في تقدم مستمر, فلو كان هناك برنامج يعمل على عدد من الحواسب بعضها متقدم وبعضها متأخر فذلك يؤدي إلى ظهور نتائج غير مرغوب فيها مثلا بعض الشبكات الغير موصولة بالانترنت تعمل وفق زمنها الخاص, ولكن عند اتصالها بالانترنت تظهر المشاكل ,تخيل أن تصل رسالة البريد الالكتروني قبل خمس دقائق من إرسالها وان يتم الرد عليها قبل دقيقتين , حتى الحاسب الشخصي ممكن أن تحصل مشاكل قي بعض تطبيقاته عند تأخر الوقت ..

استخدامات البرتوكول NTP:

•يستخدم لمزامنة ساعة حاسب الزبون مع ساعة حاسب المخدم •يستخدم لمزامنة ساعات(موقتات) أنظمة الحاسوب. • تعتبر air traffic control أحد تطبيقات NTP الهامة •يستخدم مع نظام التشغيل Unix: NTP Unix daemon هو processمن النمط user_ level والتي تنفذ بشكل مستمر على جهاز يدعم البروتوكول NTP. جزء كبير من البروتوكول منجز بهذه العملية (user Level process) للحصول على الفعالية القصوى من NTP يجب استخدام ساعة NTPمعياريةphase-locked loop •يوجد أكثر من 175000 hosts يعمل على ال NTPفي الانترنت ..

الميزات الأساسية لNTP :

•يحتاج NTP إلى" مؤشر ساعة" لتحديد الوقت المثالي  ويقوم بوضع جميع ساعات الأجهزة على هذا الوقت"يجعل الأنظمة متوافقة مع الوقت الذي تم تحديده بشكل معياري".

•كما يستخدم UTC كمؤشر للوقت.

ما هو ألUTC؟ Universal Time Coordinated هو معيار رسمي للوقت شبيه بـ

          (GMT(Greenwich Mean Time	

•قادر على توقع حدوث الأخطاء عندها يقوم باختيار أفضل وقت من بين الأوقات المتاحة بشكل أوتوماتيكي ويقوم بمزامنة جميع الساعات على هذا الوقت , و يقوم بتحديد موارد الوقت الغير مقبولة ويتجنبها.

•NTP is highly scalable أي مرن جدا: الشبكات المتزامنة ربما تحوي العديد من مؤشرات الساعات.كل عقدة من الشبكة المتزامنة تبدل معلومات الوقت لديها ويتم نقل الزمن من عقدة إلى أخرى ليتشكل لدينا بالنهاية بنيان هرمي تكون مؤشرات الوقت فيه في القمة..


الأسهم الخضراء تشير إلى اتصال مباشر و الأسهم الحمراء تشير إلى اتصال شبكة, يستخدم ال NTP نظام هرمي في طبقة الساعة clock strata"" هذه المستويات(0,1,2,3)تعين البعد عن مؤشر الساعة و وجدت كي تمنع وجود الدورات(الحلقات)في التسلسل الهرمي(لاحظ أن هذا يختلف عن فكرة طبقة الساعة"clock strata" في أنظمة الاتصال (telecommunications)

                                                                              Stratum 0       

يوجد أجهزة مثل  : atomic (caesium, rubidium) clocks, GPS clocks or other radio clocks أجهزة الطبقة0 غير موصولة بالشبكة , لكنها موصولة إلى حواسب,بواسطة الاتصال .RS-232

                                                                              Stratum 1                
هذه الحواسب موصولة للطبقة 0 ,و تمثل مخدمات لتوقيت الطلبات القادمة من مخدمات  الطبقة 2 

هذه الحواسب تسمى أيضا" مخدمات الوقت".NTPبواسطة ال الكثير من مخدمات الطبقة 1 (من أجل الإصدار الثالث و ما قبل)يمكن ألا تعمل مع مخدمات الطبقة 1 المتقنة .

    بالرغم من تطور هذا البروتوكول إلا أنه ستقل إمكانية   

تشغل مخدمات الطبقة 1 و البروتوكول سيزيل مستويات المخدمات .


                                                                               Stratum 2 

هذه الحواسب ترسل طلبات ال NTPلمخدمات الطبقة 1 .و سيشير حاسب الطبقة 2 إلى رقم من مخدمات الطبقة 1 ويستخدم خوارزمية الNTP لجمع نماذج المعطيات الأفضل ,سقوط أي مخدم من الطبقة الأولى يعتبر خطأ.حواسب الطبقة 2 ستكون نظيرة لحواسب طبقة أخرى من المستوى 2 لتؤمن وقتا أكثر استقرارا لكل الأجهزة في مجموعة الpeer. إن حواسب الطبقة 2 تمثل مخدمات لطلبات ال NTPفي الطبقة الثالثة.


                                                                                Stratum 3 

هذه الحواسب تستخدم وظائف الNTPنفسها من النظائر peering وأخذ عينات المعطيات ,كما في الطبقة 2 . و تمثل مخدمات للطبقة الأدنى..يمكن أن نصل إلى 16 مستوى . يمكن أن يدعم البروتوكول NTP حتى 256 طبقة وهذا يعود لإصدار البروتوكول.

• NOTICE :It is hoped that in NTP 5 (a protocol still in development) -- only 8 strata will be permitted. As most NTP clients call on Stratum 2 servers, it is expected that no users will be disadvantaged by the loss of granularity.


•NTP قادر على اختيار أفضل الأزمنة الصالحة وتقييمها لتحديد الزمن المستخدم في المزامنة , وهو برتوكول عالي الدقة يحدد الوقت بدقة أقل من نانو ثانية(2^-32تقريبا)

•حتى عندما يكون اتصال الشبكة غير ممكنا NTP قادر على تقييم الزمن الصحيح وتحديد الخطأ •النظام UNIX يدعم البرتوكولNTP

•يوجد العديد من النسخ أحدثهاXNTP

•تستطيع أقدم نسخة موجودة من البرتوكول عند الزبون من التخاطب بنجاح مع أحدث نسخة موجودة عند المخدم

•يتضمن Microsoft Windows 2000 and XP الخدمة Windows Time Serviceالتي لديها القدرة على مزامنة ساعة الحاسب مع NTP المخدم


مساوئ البرتوكول NTP

•وجود بعض المشاكل عند تعامله مع النظام Windows NT تكون هذه المشاكل في دقة الوقت وفي المصادقة و الساعة

•لا تستطيع نسخة البروتوكول الموجودة على الserver من التخاطب مع النسخة الموجودة على ال client إذا كانت نسخة الCLIENT أكثر تطورا لكن يمكن حل هذه المشكلة بتحقيق واجهة تخاطب يدوية(MANUAL INTERFACE)

•بعض المشاكل تظهر في NTPv4 لأنه يستخدم الفاصلة العائمة والتي لا تتعامل معها الأنظمة القديمة

•بعض مشاكل الأمن موجودة في جميع النسخ NTPالأقدم من 4.0.99k23 التي تؤدي إلى حجب الخدمة أو لا تسمح بالولوج إلى النظام " system access"