যাওয়া-আসার সময় আর প্যাকেটের ব্যবধান
ব্যবস্থার বাইরের রাশি · SI সেকেন্ডে প্রকাশ করা হয় · RTT আর প্যাকেটের মধ্যে Δt
1983 সালে মাইক মিউস, যখন তিনি একটি জালের গোলমালের খোঁজ করছিলেন, এক সন্ধ্যায় একটি ছোট প্রোগ্রাম লিখলেন যা কোনো যন্ত্রে ছোট একটি অনুরোধ পাঠাত আর উত্তর আসা পর্যন্ত কাটা সময় ছাপত। নামটি তিনি সোনারের লোকদের কাছ থেকে নিলেন: ডুবোজাহাজ একটি টক ছাড়ে আর প্রতিধ্বনি শোনে, আর দূরত্ব হিসাব হয় একটিমাত্র সময়ের ফারাক থেকে। মাপার এই অভ্যাস থেকেই এককটির জন্ম: লেখা হয় না যাওয়ার পথ, না ফেরার, বরং গোটা ফাঁসটাই।
সূক্ষ্মতা এখানেই যে যাওয়া-আসা একটিমাত্র ঘড়ি দিয়ে মাপা হয়: অনুরোধ সেই যন্ত্র থেকেই বেরোয় যেখানে উত্তর এসে পৌঁছায়, আর তাই পাঠের ফারাক এর উপর নির্ভর করে না যে ওপাশের ঘড়ি মেলে কি না। একমুখী দেরি এত সহজে মেলে না — তার জন্য এমন ঘড়ি লাগে যা দেরির চেয়েও সূক্ষ্মভাবে একসঙ্গে চলে, অর্থাৎ হয় সময় পাঠানোর আলাদা রীতি, নয় দুই প্রান্তেই উপগ্রহের সময় নেওয়ার যন্ত্র।
01 · সংজ্ঞা
যাওয়া-আসার সময় হল একটি প্যাকেট পাঠানো আর তার উত্তর আসার মধ্যেকার ব্যবধান, একটি ও সেই একই ঘড়ি দিয়ে মাপা। প্যাকেটের ব্যবধান হল একই ধারার পাশাপাশি দুটি প্যাকেট ছাড়ার মধ্যেকার সময়; সেটা জাল বসায় না, বসায় যে জালে বোঝা চাপায়।
যাওয়া-আসা তিনটি ভিন্ন স্বভাবের অংশ নিয়ে গড়া, আর সেগুলি আলাদা করে চেনা জরুরি, কারণ প্রতিটির দাওয়াই আলাদা। প্রথমটি ছড়িয়ে পড়ার সময়, যা ঠিক করে পথের দৈর্ঘ্য আর তন্তুতে আলোর গতি, আর যা ছোট তারের ছাড়া আর কিছুর কাছে নতি স্বীকার করে না। দ্বিতীয়টি সারিবদ্ধকরণ, প্যাকেটকে সারিতে ঠেলে দেওয়ার সময়, আর সারি যত দ্রুত তত সেটি কম। তৃতীয়টি মাঝের গাঁটের ভাণ্ডারে অপেক্ষা, আর কেবল সেটিই নির্ভর করে জাল ঠিক তখন কতটা ভারী তার উপর।
এ থেকে খুব স্পষ্ট নয় এমন একটি কথা বেরোয়: সারিকে দশগুণ চওড়া করা যায় আর যাওয়া-আসা একটুও বদলায় না, কারণ চওড়া করা কেবল সারিবদ্ধকরণ সরায়, আর অপেক্ষার সারি ও পথের দৈর্ঘ্য যেখানে ছিল সেখানেই থাকে। আরও বেশি: «যদি লাগে» বলে ঢালাওভাবে বানানো ভাণ্ডারে প্যাকেট হারায় না বরং অপেক্ষা করে, আর বোঝার নিচে যাওয়া-আসা সেকেন্ডে গিয়ে দাঁড়ায় — এই বিপদকেই bufferbloat নাম দেওয়া হয়েছে।
প্যাকেটের ব্যবধান পাশে দাঁড়িয়ে আছে অকারণে নয়: ধারার সঙ্গে যা কিছু ঘটে তার প্রায় সবই ঠিক করে ব্যবধান আর যাওয়া-আসার অনুপাত। যতক্ষণ প্যাকেট স্বীকৃতি ফেরার চেয়ে বেশিবার বেরোয়, পাঠানেওয়ালা অন্ধের মতো কাজ করে আর পথে ততটা উপাত্ত ধরে রাখতে হয় যতটা তাতে বাস্তবে ধরে — আর সেই পরিমাণই ঠিক গতি আর যাওয়া-আসার গুণফল।
একটি পথ বেছে নিন আর টানুনিকে প্যাকেটের মাপের উপর ঘোরান। নীল প্যাকেট বাঁ দিকের র্যাক থেকে ডান দিকে যায় আর কমলা হয়ে ফেরে; পথের নিচের পটি যাওয়া-আসাকে তিনটি অংশে খোলে, যাতে দেখা যায় সত্যিই কীসে সেটা যায়। সারি চওড়া করলে কেবল মাঝের অংশটুকু ছোট হয় — যেটি লম্বা পথে এমনিতেই সবচেয়ে ছোট।
স্মৃতি অ্যালগরিদম বদলাবার আগেই সস্তা হয়ে গেল, আর নির্মাতারা যন্ত্রে শত শত প্যাকেটের সারি বসাতে লাগলেন, ভেবে যে বাড়তি একটা ভাণ্ডার ক্ষতি করতে পারে না। উলটোটা ঘটল: ভরা সারি প্যাকেট হারায় না বরং আটকে রাখে, পাঠানেওয়ালা যানজটের কোনো ইঙ্গিতই পায় না আর আরও চাপাতে থাকে। বাড়ির সারিতে বোঝার নিচে যাওয়া-আসা দেড় সেকেন্ডে গিয়ে ঠেকল, অথচ গতি রইল সেই একই।
02 · রূপান্তর
যাওয়া-আসা, নল আর প্যাকেটের ধারা
যাওয়া-আসা যে কোনো এককে বসান, আর পাতাটি তাকে বাকি এককে বদলে দেবে, তারপর গুনবে তার উপর কী নির্ভর করে: নানা গতিতে পথে কতটা উপাত্ত ধরে, জানালা কোন সীমা বসায়, আর নানা সংকেতকার প্যাকেটের কোন ব্যবধান বেছে নেয়।
ধারণক্ষমতা গোনার গতি নেওয়া হয় মিথস্ক্রিয় অংশে বেছে নেওয়া পথ থেকে; সূক্ষ্ম বিন্যাসে সেটিকে এক গিগাবিটে বসিয়ে রাখা যায়।
পিং ঠিক সেটা মাপে না যা কোনো প্রয়োগ-প্রোগ্রামের দরকার। দূরের গাঁটে প্রতিধ্বনির অনুরোধের নিষ্পত্তি আলাদা পথে চলে, প্রায়ই মূল গণনার অংশ এড়িয়ে, আর তাই তার দেরি সত্যিকারের সংযোগের দেরির সঙ্গে মেলে না; অন্য যন্ত্র আবার এমন অনুরোধের জবাব দেয় সবার শেষে, কিংবা দেয়ই না। তাই বড় পিং সবসময় ধীর সংযোগ বোঝায় না, আর ছোট পিং দ্রুতর জামিন দেয় না।
| মান | মন্তব্য | ||
|---|---|---|---|
| {u} | {name} | {value} | {note} |
03 · মাত্রার ক্রম
লগারিদমীয় স্কেল: মাইক্রোসেকেন্ড থেকে সেকেন্ড04 · মাপার যন্ত্র
যাওয়া-আসার সময় কী দিয়ে ধরা হয়
প্রোগ্রাম সময়-চিহ্নসহ একটি প্যাকেট পাঠায় আর তার ফেরার অপেক্ষা করে, আর পাঠের ফারাকই যাওয়া-আসা। এর গুণ হল একটি ঘড়িই যথেষ্ট আর ওপাশ থেকে জবাব দেওয়ার ইচ্ছা ছাড়া কিছুই চাওয়া হয় না; এর দোষ হল সে আলাদা পথে জবাব দেয়, যা দ্রুত হতেই হবে এমন নয়।
গোটা লেনদেন ধরে রাখলে যাওয়া-আসা মেলে ধারা থেকেই: একটি খণ্ড বেরোনো আর তার স্বীকৃতি আসার মধ্যেকার সময় থেকে। এভাবে ঠিক সেই দেরিই মাপা হয় যা প্রয়োগ-প্রোগ্রাম দেখে, আর সেই সঙ্গে ছড়ানোও চোখে পড়ে — যা কথাবার্তায় সমান দেরির চেয়ে বেশি জ্বালায়।
যেসব যন্ত্র সময়কে সোজা জালের চিপেই চিহ্নিত করে, তারা চালকব্যবস্থার আনা অনিশ্চয়তা সরিয়ে দেয় আর পার্থক্যক্ষমতাকে দশ-বিশ ন্যানোসেকেন্ডে নামিয়ে আনে। তারা আলাদা এক চুক্তি মেনে লেনদেন করে যেখানে প্রতিটি প্রান্ত দুটি করে চিহ্ন বসায় — আর এটাই যাওয়া-আসাকে তার দুই অসমান অর্ধে ভাগ করতে দেয়।
একমুখী দেরি কেবল সেখানেই মাপা হয় যেখানে দুই প্রান্তের ঘড়ি দেরির চেয়েও সূক্ষ্মভাবে এক সাধারণ সময়ে আনা হয়েছে — এর জন্য সারিগুলিকে আলাদা সমকালনের রীতিতে চিহ্নিত করা হয় বা উপগ্রহের সময় নেওয়ার যন্ত্র বসানো হয়। তা ছাড়া যাওয়া-আসাই একমাত্র সৎ সংখ্যা থেকে যায়।
05 · লেখার নিয়ম
যাওয়া-আসা এককসহ, ছড়ানো আলাদা
চিহ্নটি লেখা হয় তিনটি বড় লাতিন হরফে, বিন্দু ছাড়া, আর মান লেখা হয় তার এককসহ এবং ঠিক কী মাপা হল তা জানিয়ে: একটিমাত্র নমুনা, কোনো সারির গড়, না তার মধ্যমা। ছড়ানো পাশে আলাদা সংখ্যা হিসেবে দেওয়া হয়, কারণ গড় একা কিছুই বলে না যে প্যাকেট সমানভাবে চলছে কি না।
প্রথম লেখাটি একক ছাড়া চলে যায়, আর তার সঙ্গে মানে ছাড়াও: একশো ত্রিশ কী — মিলিসেকেন্ড না মাইক্রোসেকেন্ড? দ্বিতীয়টি অনুমানকে মাপ বলে চালায়, অথচ যাওয়ার আর ফেরার পথ প্রায়ই আলাদা হয় আর অর্ধেক দুটি অসমান দাঁড়ায়। তৃতীয়টি সবচেয়ে চালু ভুলটি আওড়ায় আর যাওয়া-আসাকে সারির ধর্ম ভাবে, গোটা পথের নয়। চতুর্থটি রাশি গুলিয়ে ফেলে: প্যাকেটের মধ্যেকার ব্যবধান যাওয়া-আসা নয়।
06 · প্রতিবেশী একক
যাওয়া-আসা পথকে বর্ণনা করে সময়ের দিক থেকে, গতি পরিমাণের দিক থেকে, আর তাদের গুণফল দেয় তৃতীয় এক রাশি, পথের ধারণক্ষমতা, যা ছাড়া দূরের কোনো দ্রুত সংযোগ বসে না। পাশে দাঁড়িয়ে দেরির ছড়ানো, যা কথাবার্তা আর খেলায় সমান পিছিয়ে পড়ার চেয়ে বেশি জ্বালায়।
এক সেকেন্ডে কতটা ধরে
গতি × যাওয়া-আসা
কম্পন, RFC 3550 অনুযায়ী
Simetrium-এর নথিগুলির মধ্যে পাশে আছে বিট আর বাইট, যেগুলিতে পথের ধারণক্ষমতা গোনা হয়, সেকেন্ড, যার দিকে দুটি রাশিই শেষ পর্যন্ত ফিরে আসে, ডেসিবেল সারির হিসাব থেকে আর ঘড়ির স্পন্দন, যা যন্ত্রের সময়-চিহ্নের পার্থক্যের সীমা বসায়।
07 · ঐতিহাসিক অংশ
টক আর প্রতিধ্বনি
যখন ক্যালিফোর্নিয়া বিশ্ববিদ্যালয় আর মেনলো পার্কের প্রতিষ্ঠানের মধ্যে প্রথম শব্দটি পাঠানো হয়, চালক সেটি টেলিফোনে বলে যাচ্ছিলেন আর হরফে হরফে স্বীকৃতির অপেক্ষা করছিলেন। সংযোগ তৃতীয় হরফে ছিঁড়ে গেল, কিন্তু পদ্ধতিটিই — পাঠানো হল, উত্তরের অপেক্ষা করা হল, ঘড়ি দেখা হল — ঠিক সেটিই দাঁড়াল যা আজও চালু।
মাইক মিউস তাঁর প্রোগ্রাম এক সন্ধ্যায় লিখেছিলেন, গোলমালের খোঁজ করতে করতে, আর নাম রেখেছিলেন গভীরতামাপকের শব্দে: একটি ছোট ধাক্কা, তারপর প্রতিফলনের অপেক্ষা। নামটি এত মানানসই হল যে «পিং করা» ক্রিয়াটি জালের পেশার অনেক বাইরে ভাষায় ঢুকে পড়ল আর এখন যে কোনো ছোট বার্তাকে বোঝায় যা পাঠানো হয় কেউ আছে কি না জানতে।
1986-এর শরতে বিশ্ববিদ্যালয়ের একটি সারির বহনক্ষমতা হাজার গুণ নেমে গেল: পাঠানেওয়ালারা স্বীকৃতি না পেয়ে নতুন নতুন নকল পাঠাতে লাগল আর পথটিকে একেবারে শেষ করে দিল। ভ্যান জেকবসন এমন এক দাওয়াই দিলেন যা আজও কাজ করে: যাওয়া-আসা আর তার ছড়ানোর উপর নজর রাখা আর তাদের বাড়াকে যানজটের চিহ্ন ধরা, অর্থাৎ ক্ষতি শুরু হওয়ার আগেই পাঠানো সামলে নেওয়া।
আজকের ধারা-নিয়ন্ত্রণের অ্যালগরিদম আর ক্ষতির দিকে নয়, সোজা এই দিকেই তাকায় যে যাওয়া-আসা কীভাবে বাড়ছে, আর সারি ভরে ওঠার আগেই পাঠানো সামলে নেয়। ঘরের পথনির্দেশক যন্ত্রে এমন নিয়ম এসেছে যা ভাণ্ডারকে ইচ্ছে করেই ছোট রাখে — আর বোঝার নিচে যাওয়া-আসা সেই একই সারিতে দেড় সেকেন্ড থেকে নেমে দশ-বিশ মিলিসেকেন্ড হয়ে যায়।
যাওয়া-আসার অর্ধেক অনুমান, মাপ নয়
যাওয়া-আসা এদিক থেকে সুবিধের যে সে ঘড়ির মিল দাবি করে না: পাঠানো আর পাওয়া দুইয়েই চিহ্ন বসায় একটিমাত্র যন্ত্র, আর মাপকাঠির সরে যাওয়া ফারাকে ঢোকেই না। ঠিক সেই কারণেই পিং সর্বত্র চলে আর তার বিন্যাসের দরকার হয় না, অথচ একমুখী দেরি অনেক বেশি খেয়ালি রাশি, যা মাপা জিনিসের চেয়েও সূক্ষ্ম সমকালন চায়।
যাওয়া-আসাকে অর্ধেক করার অভ্যাস এই কারণেই টিকে আছে, যদিও তার পক্ষে কমই বলা যায়: ওপাশে যাওয়া ধারা আর ফিরে আসা ধারা প্রায়ই আলাদা পথে যায়, আলাদা দৈর্ঘ্যের আর আলাদা বোঝার, ফলে সত্যিকারের অর্ধেক দুটি দ্বিগুণ পর্যন্ত আলাদা হতে পারে। গোটা জালের পেশায় সবচেয়ে সহজে মাপা রাশিটিই সবচেয়ে বেশিবার ভুল পড়া হয়।
তালিকা · মাপের একক
প্রতিটি রাশির জন্য একটি নথি
SI-এর সাতটি মূল একক, নিজস্ব নামওয়ালা বাইশটি উদ্ভূত একক, আর ব্যবস্থার বাইরের সেই রাশিগুলি যেগুলি ছাড়া প্রযুক্তিও চলে না, পঞ্জিকাও নয়।