ঘড়ির অফসেট কী?

ঘড়ির অফসেট হল আপনার স্থানীয় সিস্টেম ঘড়ি এবং সত্যিকারের রেফারেন্স সময়ের মধ্যে পার্থক্য — এই ক্ষেত্রে, সার্ভারের ঘড়ি। যদিও অপারেটিং সিস্টেমগুলি NTP (নেটওয়ার্ক টাইম প্রোটোকল) ব্যবহার করে ঘড়িগুলি সিঙ্ক্রোনাইজ রাখার চেষ্টা করে, কয়েক মিলিসেকেন্ড থেকে কয়েক সেকেন্ডের ছোট বিচ্যুতি সাধারণ, বিশেষত এমন ডিভাইসগুলিতে যা সম্প্রতি সিঙ্ক করেনি বা কঠোর ফায়ারওয়ালের পিছনে রয়েছে।

বিতরণকৃত সিস্টেম, রিয়েল-টাইম অ্যাপ্লিকেশন, প্রমাণীকরণ টোকেন (যেমন TOTP), নির্ধারিত কাজ এবং যেকোনো পরিস্থিতিতে ঘড়ির অফসেট বোঝা গুরুত্বপূর্ণ যেখানে আপনার ক্লায়েন্ট এবং একটি দূরবর্তী সার্ভারকে বর্তমান সময়ে সম্মত হতে হবে। একটি বড় অফসেট টোকেন যাচাইকরণ ব্যর্থতা, মিস করা সময়সীমা বা লগে ভুল টাইমস্ট্যাম্প সৃষ্টি করতে পারে।

সরঞ্জাম বর্ণনা

এই সরঞ্জামটি WebSocket-ভিত্তিক টাইমিং প্রোটোকল ব্যবহার করে আপনার ব্রাউজার এবং সার্ভারের মধ্যে ঘড়ির অফসেট পরিমাপ করে। এটি একটি সিরিজ রাউন্ড-ট্রিপ প্রোব পাঠায়, প্রতিটির লেটেন্সি রেকর্ড করে এবং মধ্যম রাউন্ড-ট্রিপ সময় (RTT) ব্যবহার করে গণনা করে যে আপনার স্থানীয় ঘড়ি সার্ভারের তুলনায় কতদূর এগিয়ে বা পিছিয়ে আছে। পরিমাপের পরে, সরঞ্জামটি সার্ভার সময়ের একটি লাইভ চলমান অনুমান আপনার স্থানীয় সময়ের পাশাপাশি প্রদর্শন করে যাতে আপনি রিয়েল টাইমে পার্থক্য পর্যবেক্ষণ করতে পারেন।

এটি কীভাবে কাজ করে

সরঞ্জামটি সার্ভারে একটি WebSocket সংযোগ খোলে এবং টাইমস্ট্যাম্প করা ping/pong বার্তাগুলির একটি সিরিজ বিনিময় করে। প্রতিটি বার্তার জন্য:

  1. ক্লায়েন্ট পাঠানোর সময় রেকর্ড করে, প্রতিক্রিয়ায় সার্ভারের টাইমস্ট্যাম্প পায় এবং গ্রহণের সময় রেকর্ড করে।
  2. রাউন্ড-ট্রিপ সময়ের অর্ধেক এক-মুখী নেটওয়ার্ক বিলম্বের অনুমান হিসাবে ব্যবহৃত হয়।
  3. ঘড়ির অফসেট গণনা করা হয় যেমন: serverTime − clientTime − (RTT / 2)

দশটি নমুনা সংগ্রহ করা হয় এবং মধ্যম RTT ব্যবহার করা হয় — গড় নয় — GC পজ বা ক্ষণস্থায়ী নেটওয়ার্ক জিটার দ্বারা সৃষ্ট আউটলায়ার স্পাইকের প্রভাব কমাতে। ফলাফলের ঘড়ির অফসেট নির্দেশ করে যে আপনার স্থানীয় ঘড়ি সার্ভারকে কতটি মিলিসেকেন্ড এগিয়ে (ইতিবাচক) বা পিছিয়ে (নেতিবাচক) রাখে।

বৈশিষ্ট্য

  • WebSocket-ভিত্তিক পরিমাপ — HTTP ওভারহেড ছাড়াই নির্ভুল টাইমিং প্রোবের জন্য রিয়েল-টাইম দ্বিমুখী যোগাযোগ ব্যবহার করে
  • মধ্যম RTT ফিল্টারিং — 10টি নমুনা সংগ্রহ করে এবং জিটার এবং আউটলায়ার স্পাইক দূর করতে মধ্যম ব্যবহার করে
  • লাইভ ঘড়ি প্রদর্শন — পরিমাপের পরে পাশাপাশি অনুমানিত সার্ভার সময় এবং আপনার স্থানীয় সময় ক্রমাগত আপডেট করে দেখায়