PTP مخفف عبارت Precision Timing Protocol بوده که در استاندارد 1588 IEEE تعریف شده است. PTP پروتکلی است که وظیفه تعیین زمان در شبکهای از پکتهای داده را دارد. این پروتکل با ارسال پیام از ساعت مرجع یا Master Clock، زمان را به ساعت زیر مجموعه یا Slave Clock اعلام میکند. وظیفه اصلی پروتکل این است که موضوع تاخیر بین زمان ارسال پیام از مبدا و زمان دریافت پیام در مقصد به نوعی حل شود و بخش اعظمی از کارایی پروتکل PTP نیز در همین امر میگنجد.
نحوه کار پروتکل PTP
برای مثال در نظر بگیرید شما هیچگونه اطلاعی از زمان پیرامون خود ندارید، شخصی نامهای برای شما ارسال میکند و در آن ساعت و تاریخ ارسال نامه را ذکر میکند. وقتی این نامه به شما میرسد، هیچ اطلاعات مفیدی در اختیارتان نخواهد گذاشت، مگر آن که مدت زمان در راهبودن نامه نیز به شما اطلاع داده شود.
در این حالت دقت بیان زمان در راهبودن نامه از اهمیت بالایی برخوردار است. چرا که اگر مدت روزهای در راه بودن نامه اعلام شود، تنها میتوان تاریخ صحیح را به دست آورد و هرچه دقت بالاتر برود، به ساعت و دقیقه ارسال نامه نزدیکتر خواهیم شد. در این مثال مدت زمان در راهبودن نامه همان مدت زمان تاخیر بین ارسال پیام از مبدا و دریافت پیام در مقصد است و هرچه مقدار تاخیر با دقت بالاتری بدست بیاید، زمان تنظیمشده مبدا دقیقتر خواهد بود.
پروتکل PTP از طریق ارسال رفت و برگشتی نوعی از پیامهای زمانی با نام event message کار میکند. محاسبه Round Trip Delay یا زمان رفت و برگشت از این طریق راحت است و زمان رسیدن پیام از طریق نصف کردن این عدد محاسبه میشود. این نکته یکی از اصلیترین نقاط ضعف این پروتکل به شمار میآید، چرا که فرض میشود زمان رفت و برگشت پیامهای بین مبدا یکی است. در عمل اما زمان رفت با برگشت عموما دارای تفاوت بوده و همین موضوع ممکن است باعث کاهش دقت زمان اعلام شده به ساعت زیرمجموعه شود.
تکنیکهای پروتکل PTP برای کاهش خطا
سه تنکنیک اصلی توسط پروتکل PTP برای کمکردن خطا استفاده میشود:
- Hardware Timestamping: این تکنیک به طور دقیق زمانی که Event Messageها از سختافزار عبور میکنند را محاسبه میکند تا به این ترتیب تاخیر نرمافزاری حاصل از شناخت و پردازش پیامها از معادله حذف گردد.
- Boundary Clocks: این تکنیک زمان تاخیر در برخی از نقاط شبکه را بازیابی میکند و بر اساس آن زمان اصلاحشده را با پیامهایی جدید مخابره میکند. این ساعتها عمدتا در روتر و سوییچها وجود دارند و خطاهای زمانی رخ داده در شبکه را کاهش میدهند.
- Transparent Clocks: این ساعتها نیز عموما در روتر و سوییچها مشاهده میشوند، اما به جای بازیابی زمان و ارسال مجدد آن، تنها زمان عبور پیام از روتر یا سوییچ ثبت میگردد. زمانی که پیام به ساعت مقصد یا همان Slave Clock میرسد، شامل اطلاعاتی راجب به تاخیر رخ داده در شبکه نیز هست که به محاسبه زمان دقیق کمک میکند.
پروتکل PTP در گذر زمان تکامل یافته است و IEEE 1588 در حال حاضر در حال بازنگری برای بهبود کارایی این پروتکل و تناسب آن با صنایعی همچون تلکام و توزیع انرژی و حوزههای علمی و صنعتی است. نکته مشخص این است که این پروتکل در به زودی به عنوان روش اصلی توزیع زمان در شبکه آینده روشنی خواهد داشت.