Bufferbloat
প্যাকেটের অতিরিক্ত বাফারিং-এর কারণে প্যাকেট-স্যুইচড নেটওয়ার্কে উচ্চ বিলম্ব এবং ঝাঁকুনির কারণ হল বাফারব্লোট। বাফারব্লোট প্যাকেট বিলম্বের বৈচিত্র্য ঘটাতে পারে (যা জিটার নামেও পরিচিত), পাশাপাশি সামগ্রিক নেটওয়ার্ক থ্রুপুট হ্রাস করতে পারে। যখন কোনও রাউটার বা সুইচ অত্যধিক বড় বাফার ব্যবহারের জন্য কনফিগার করা হয়, তখন খুব উচ্চ-গতির নেটওয়ার্কগুলিও ভয়েস ওভার আইপি (ভিওআইপি), অডিও স্ট্রিমিং, অনলাইন গেমিং এবং এমনকি সাধারণ ওয়েব ব্রাউজিংয়ের মতো অনেক ইন্টারেক্টিভ অ্যাপ্লিকেশনের জন্য ব্যবহারিকভাবে অকেজো হয়ে যেতে পারে। কিছু যোগাযোগ সরঞ্জাম প্রস্তুতকারক তাদের কিছু নেটওয়ার্ক পণ্যের মধ্যে অপ্রয়োজনীয়ভাবে বড় বাফার ডিজাইন করেছেন। এই ধরনের সরঞ্জামগুলিতে, বাফারব্লোত ঘটে যখন একটি নেটওয়ার্ক সংযোগ ঘন হয়ে যায়, যার ফলে এই বড় আকারের বাফারগুলিতে প্যাকেটগুলি দীর্ঘ সময়ের জন্য লাইনে দাঁড়িয়ে থাকে। ফার্স্ট-ইন-ফার্স্ট-আউট সারি ব্যবস্থায়, অতিরিক্ত বড় বাফারের ফলে দীর্ঘ সারি এবং উচ্চতর বিলম্ব ঘটে এবং নেটওয়ার্ক থ্রুপুটের উন্নতি হয় না। এটি নির্দিষ্ট ধীর গতির সংযোগ দ্বারাও প্ররোচিত হতে পারে যা অন্যান্য প্যাকেটগুলির সময়মতো সরবরাহকে বাধা দেয়। বাফারব্লোটের ঘটনাটি 1985 সালের প্রথম দিকে বর্ণনা করা হয়েছিল। 2009 সাল থেকে এটি আরও ব্যাপক দৃষ্টি আকর্ষণ করে। কিছু সূত্র অনুসারে অনলাইন ভিডিও গেমগুলিতে উচ্চ বিলম্বের ("ল্যাগ") সবচেয়ে ঘন ঘন কারণ হল স্থানীয় হোম নেটওয়ার্ক বাফারব্লোট। উচ্চ বিলম্বতা আধুনিক অনলাইন গেমিংকে অসম্ভব করে তুলতে পারে। নেটওয়ার্ক সরঞ্জাম নির্মাতাদের জন্য একটি প্রতিষ্ঠিত নিয়ম ছিল কোনও ডিভাইসের মধ্য দিয়ে যাওয়া ট্র্যাফিকের প্রবাহের জন্য কমপক্ষে 250 এমএস বাফারিং সমন্বিত করার জন্য যথেষ্ট বড় বাফার সরবরাহ করা। উদাহরণস্বরূপ, একটি রাউটারের গিগাবিট ইথারনেট ইন্টারফেসের জন্য তুলনামূলকভাবে বড় 32 এমবি বাফারের প্রয়োজন হবে। বাফারগুলির এই ধরনের আকার টিসিপি কনজেশন কন্ট্রোল অ্যালগরিদমের ব্যর্থতার কারণ হতে পারে। যানজট নিয়ন্ত্রণ পুনরায় সেট করার আগে বাফারগুলি নিষ্কাশন করতে কিছুটা সময় নেয় এবং টিসিপি সংযোগ র্যাম্পগুলি আবার গতি বাড়ায় এবং আবার বাফারগুলি পূরণ করে। বাফারব্লোট এইভাবে উচ্চ এবং পরিবর্তনশীল বিলম্বের মতো সমস্যা সৃষ্টি করে এবং অন্যান্য সমস্ত প্রবাহের জন্য নেটওয়ার্কের বাধা সৃষ্টি করে কারণ বাফারটি একটি টিসিপি প্রবাহের প্যাকেটগুলিতে পূর্ণ হয়ে যায় এবং অন্যান্য প্যাকেটগুলি পরে ফেলে দেওয়া হয়। একটি স্ফীত বাফার কেবল তখনই প্রভাব ফেলে যখন এই বাফারটি আসলে ব্যবহার করা হয়। অন্য কথায়, বড় আকারের বাফারগুলি কেবল তখনই ক্ষতিকারক প্রভাব ফেলে যখন তারা যে লিঙ্কটি বাফার করে তা একটি বাধা হয়ে ওঠে। বেশিরভাগ অপারেটিং সিস্টেম দ্বারা প্রদত্ত পিং ইউটিলিটি ব্যবহার করে বাফারের আকার পরিমাপ করা যেতে পারে। প্রথমত, অন্য হোস্টটি ক্রমাগত পিঙ্গ করা উচিত; তারপর, এটি থেকে কয়েক সেকেন্ড-দীর্ঘ ডাউনলোড শুরু করা উচিত এবং কয়েকবার বন্ধ করা উচিত। নকশা অনুযায়ী, টিসিপি কনজেশন অ্যাভোয়েডেন্স অ্যালগরিদম দ্রুত পথের বাধা পূরণ করবে। যদি ডাউনলোড (এবং আপলোড, যথাক্রমে) পিং দ্বারা রিপোর্ট করা রাউন্ড ট্রিপ সময়ের সরাসরি এবং গুরুত্বপূর্ণ বৃদ্ধির সাথে সম্পর্কযুক্ত হয়, তবে এটি দেখায় যে ডাউনলোড (এবং আপলোড, যথাক্রমে) দিকের বর্তমান প্রতিবন্ধকতার বাফার স্ফীত। যেহেতু রাউন্ড ট্রিপের সময় বৃদ্ধি বাফলনেকের বাফারের কারণে হয়, তাই সর্বাধিক বৃদ্ধি মিলিসেকেন্ডে এর আকারের মোটামুটি অনুমান দেয়। পূর্ববর্তী উদাহরণে, সাধারণ পিঙ্গিংয়ের পরিবর্তে একটি উন্নত ট্রেসাররুট সরঞ্জাম ব্যবহার করা (উদাহরণস্বরূপ, এম. টি. আর) কেবল বাটলনেকে একটি স্ফীত বাফারের অস্তিত্বই প্রদর্শন করবে না, তবে নেটওয়ার্কে এর অবস্থানও চিহ্নিত করবে। ট্রেসাররুট রুট (পথ) প্রদর্শন করে এবং নেটওয়ার্ক জুড়ে প্যাকেটগুলির ট্রানজিট বিলম্ব পরিমাপ করে এটি অর্জন করে। রুটের ইতিহাস রুটের (পথ) প্রতিটি ধারাবাহিক হোস্ট (দূরবর্তী নোড) থেকে প্রাপ্ত প্যাকেটগুলির রাউন্ড-ট্রিপ সময় হিসাবে রেকর্ড করা হয়। প্রক্রিয়া বেশিরভাগ টিসিপি কনজেশন কন্ট্রোল অ্যালগরিদম একটি সংযোগের দুটি প্রান্তের মধ্যে উপলব্ধ ব্যান্ডউইথ নির্ধারণ করতে প্যাকেট ড্রপের ঘটনা পরিমাপের উপর নির্ভর করে। অ্যালগরিদমগুলি ডেটা স্থানান্তরের গতি বাড়ায় যতক্ষণ না প্যাকেটগুলি নামতে শুরু করে, তারপর সংক্রমণের হার কমিয়ে দেয়। আদর্শভাবে, তারা সংযোগের ভারসাম্য গতিতে না পৌঁছানো পর্যন্ত সংক্রমণের হার সামঞ্জস্য করতে থাকে। যাতে অ্যালগরিদমগুলি একটি উপযুক্ত স্থানান্তর গতি নির্বাচন করতে পারে, প্যাকেট ড্রপ সম্পর্কে প্রতিক্রিয়া অবশ্যই সময়মতো ঘটতে হবে। ভরাট করা একটি বড় বাফার সহ, প্যাকেটগুলি তাদের গন্তব্যে পৌঁছাবে, তবে উচ্চতর বিলম্বের সাথে। প্যাকেটগুলি ফেলে দেওয়া হয়নি, তাই আপলিংকটি স্যাচুরেটেড হয়ে যাওয়ার পরে টিসিপি ধীর হয় না, বাফারটি আরও পূরণ করে। নতুন আগত প্যাকেটগুলি কেবল তখনই ফেলে দেওয়া হয় যখন বাফারটি সম্পূর্ণরূপে স্যাচুরেটেড থাকে। একবার এটি হয়ে গেলে টিসিপি এমনকি সিদ্ধান্ত নিতে পারে যে সংযোগের পথ পরিবর্তিত হয়েছে, এবং আবার একটি নতুন অপারেটিং পয়েন্টের জন্য আরও আক্রমণাত্মক অনুসন্ধানে যেতে পারে। প্যাকেটগুলি প্রেরণের আগে একটি নেটওয়ার্ক বাফারের মধ্যে সারিবদ্ধ করা হয়; সমস্যাযুক্ত পরিস্থিতিতে, প্যাকেটগুলি কেবল তখনই ফেলে দেওয়া হয় যখন বাফারটি পূর্ণ থাকে। পুরোনো রাউটারগুলিতে, বাফারগুলি মোটামুটি ছোট ছিল তাই সেগুলি দ্রুত ভরাট করা হত এবং তাই লিঙ্কটি স্যাচুরেটেড হওয়ার পরেই প্যাকেটগুলি নামতে শুরু করে, যাতে টিসিপি প্রোটোকল সামঞ্জস্য করতে পারে এবং সমস্যাটি স্পষ্ট হয়ে ওঠে না। নতুন রাউটারগুলিতে, বাফারগুলি বেশ কয়েক সেকেন্ডের বাফার ডেটা ধরে রাখার জন্য যথেষ্ট বড় হয়ে উঠেছে। টিসিপির কাছে, বাফার পূরণ হওয়ার সাথে সাথে একটি জনাকীর্ণ লিঙ্ক স্বাভাবিকভাবে কাজ করছে বলে মনে হতে পারে। টিসিপি অ্যালগরিদম জানে না যে লিঙ্কটি ঘনবসতিপূর্ণ এবং যতক্ষণ না বাফার শেষ পর্যন্ত উপচে পড়ে এবং প্যাকেটগুলি ফেলে দেওয়া হয় ততক্ষণ সংশোধনমূলক পদক্ষেপ নেওয়া শুরু করে না। একক সারি হিসাবে বাস্তবায়িত একটি সাধারণ বাফারের মধ্য দিয়ে যাওয়া সমস্ত প্যাকেট একই ধরনের বিলম্ব অনুভব করবে, তাই ভরাট করা বাফারের মধ্য দিয়ে যাওয়া যে কোনও সংযোগের বিলম্বতা প্রভাবিত হবে। উপলব্ধ চ্যানেল ব্যান্ডউইথও অব্যবহৃত হয়ে যেতে পারে, কারণ কিছু দ্রুত গন্তব্যগুলিতে দ্রুত পৌঁছানো যাবে না কারণ বাফারগুলি ধীর গন্তব্যগুলিতে সরবরাহের অপেক্ষায় থাকা ডেটা দিয়ে আটকে রয়েছে। এই প্রভাবগুলি ভিওআইপি এবং অনলাইন গেমিংয়ের মতো বিলম্ব-সংবেদনশীল অ্যাপ্লিকেশনগুলিতে ব্যবহৃত ইউডিপি সহ অন্যান্য নেটওয়ার্ক প্রোটোকল ব্যবহার করে অ্যাপ্লিকেশনগুলির মিথস্ক্রিয়াকে ক্ষতিগ্রস্ত করে। অ্যাপ্লিকেশনের উপর প্রভাব ব্যান্ডউইথের প্রয়োজনীয়তা নির্বিশেষে, যে কোনও ধরনের পরিষেবা যার জন্য ধারাবাহিকভাবে কম বিলম্ব বা ঝাঁকুনি-মুক্ত সংক্রমণের প্রয়োজন হয় তা বাফারব্লোটের দ্বারা প্রভাবিত হতে পারে। এই ধরনের পরিষেবাগুলির মধ্যে রয়েছে ডিজিটাল ভয়েস কল (ভিওআইপি), অনলাইন গেমিং, ভিডিও চ্যাট এবং অন্যান্য ইন্টারেক্টিভ অ্যাপ্লিকেশন যেমন রেডিও স্ট্রিমিং, ভিডিও অন ডিমান্ড এবং রিমোট লগইন। যখন বাফারব্লোট ঘটনা উপস্থিত থাকে এবং নেটওয়ার্কটি লোডে থাকে, তখন সাধারণ ওয়েব পেজ লোডগুলিও সম্পূর্ণ হতে অনেক সেকেন্ড সময় নিতে পারে, অথবা সাধারণ ডিএনএস প্রশ্নগুলি টাইমআউটের কারণে ব্যর্থ হতে পারে। প্রকৃতপক্ষে যে কোনও টিসিপি সংযোগের সময়সীমা শেষ হয়ে যেতে পারে এবং সংযোগ বিচ্ছিন্ন হয়ে যেতে পারে এবং ইউডিপি প্যাকেটগুলি বাতিল হয়ে যেতে পারে। যেহেতু টিসিপি ডাউনলোড স্ট্রিমের ধারাবাহিকতা আপলোড স্ট্রিমের স্বীকৃতি (এসিকে) প্যাকেটের উপর নির্ভর করে, তাই আপলোডের একটি বাফারব্লোট সমস্যা অন্যান্য অ-সম্পর্কিত ডাউনলোড অ্যাপ্লিকেশনগুলির ব্যর্থতার কারণ হতে পারে, কারণ ক্লায়েন্ট এসিকে প্যাকেটগুলি সময়মতো ইন্টারনেট সার্ভারে পৌঁছায় না। আপনি উদাহরণস্বরূপ হতে পারে। ইন্টারনেট রেডিও স্ট্রিমিংয়ের মতো অন্যান্য হোম নেটওয়ার্ক ব্যবহারকারীদের বিরক্ত না করার জন্য আপলোড ওয়ানড্রাইভ সিঙ্ক্রোনাইজেশনের সংক্রমণ হার সীমিত করুন। ডিএসএল রিপোর্ট স্পিডটেস্ট একটি সহজে ব্যবহারযোগ্য পরীক্ষা যার মধ্যে বাফারব্লোটের জন্য একটি স্কোর রয়েছে। আই. সি. এস. আই নেটালিজার ছিল আরেকটি অনলাইন সরঞ্জাম যা অন্যান্য অনেক সাধারণ কনফিগারেশন সমস্যা পরীক্ষা করার পাশাপাশি বাফারব্লোটের উপস্থিতির জন্য নেটওয়ার্কগুলি পরীক্ষা করার জন্য ব্যবহার করা যেতে পারে। 2019 সালের মার্চ মাসে পরিষেবাটি বন্ধ করে দেওয়া হয়। bufferbloat.net ওয়েবসাইটটি কোনও সংযোগে অতিরিক্ত বাফারিং রয়েছে কিনা তা নির্ধারণের জন্য সরঞ্জাম এবং পদ্ধতিগুলি তালিকাভুক্ত করে যা এটিকে ধীর করে দেবে। সমাধান এবং প্রশমন বেশ কয়েকটি প্রযুক্তিগত সমাধান রয়েছে যা বিস্তৃতভাবে দুটি বিভাগে বিভক্ত করা যেতে পারেঃ সমাধান যা নেটওয়ার্ককে লক্ষ্য করে এবং সমাধান যা শেষ পয়েন্টগুলিকে লক্ষ্য করে। দুই ধরনের সমাধান প্রায়শই পরিপূরক হয়। সমস্যাটি কখনও কখনও দ্রুত এবং ধীর নেটওয়ার্ক পথের সংমিশ্রণে আসে। নেটওয়ার্ক সমাধানগুলি সাধারণত সারি ব্যবস্থাপনার অ্যালগরিদমের রূপ নেয়। এই ধরনের সমাধান আই. ই. টি. এফ একিউ. এম ওয়ার্কিং গ্রুপের কেন্দ্রবিন্দুতে রয়েছে। উল্লেখযোগ্য উদাহরণগুলির মধ্যে রয়েছেঃ আইপি সারির দৈর্ঘ্য সীমিত করা, কোডেল এবং পিআইই-এর মতো টিসিপি টিউনিং একিউএম অ্যালগরিদম দেখুন। হাইব্রিড একিউএম এবং প্যাকেট সিডিউলিং অ্যালগরিদম যেমন এফকিউ-কোডেল। কেবল মডেমে আরও স্মার্ট বাফার নিয়ন্ত্রণ সক্ষম করতে ডি. ও. সি. এস. আই. এস মান সংশোধন করা হয়েছে। লিনাক্স হিসাবে লিনাক্স অপারেটিং সিস্টেমের ওয়াই-ফাই সাবসিস্টেমের মধ্যে সারি ব্যবস্থাপনার (এফকিউ-কোডেল) সংহতকরণ সাধারণত ওয়্যারলেস অ্যাক্সেস পয়েন্টগুলিতে ব্যবহৃত হয়। শেষ বিন্দুগুলিকে লক্ষ্য করে সমাধানের উল্লেখযোগ্য উদাহরণগুলি হলঃ টিসিপির জন্য বিবিআর কনজেশন কন্ট্রোল অ্যালগরিদম। অনেক বিটটরেন্ট ক্লায়েন্ট দ্বারা নিযুক্ত মাইক্রো ট্রান্সপোর্ট প্রোটোকল। সাধারণ এইচটিটিপি প্রোটোকলের পরিবর্তে এইচটিটিপি পাইপলাইনিং বা এইচটিটিপি/2-এর মতো কম সংযোগ ব্যবহারের কৌশল। ওএস এবং নেটওয়ার্ক হার্ডওয়্যারে বাফার আকার হ্রাস করে সমস্যাটি হ্রাস করা যেতে পারে; তবে, এটি প্রায়শই কনফিগারযোগ্য নয় এবং সর্বোত্তম বাফার আকার লাইন হারের উপর নির্ভরশীল যা বিভিন্ন গন্তব্যের জন্য ভিন্ন হতে পারে। ডিফসার্ভের ব্যবহার (এবং একাধিক অগ্রাধিকার-ভিত্তিক সারি নিয়োগ) কম-বিলম্বিত ট্র্যাফিক (যেমন ভিওআইপি, ভিডিও কনফারেন্সিং, গেমিং) সম্প্রচারকে অগ্রাধিকার দিতে সহায়তা করে, যানজট এবং বাফারব্লোটের সাথে মোকাবিলা করা অ-অগ্রাধিকার ট্র্যাফিকের দিকে ঠেলে দেয়। সর্বোত্তম বাফার আকার দীর্ঘতম বিলম্ব টিসিপি সংযোগগুলির জন্য ব্যান্ডউইথের ন্যায্য অংশ পেতে, বাফার আকারটি কমপক্ষে ব্যান্ডউইথ-বিলম্ব পণ্যটি একই সাথে স্ট্রিমের সংখ্যার বর্গমূল দ্বারা ভাগ করা উচিত। থাম্বের একটি সাধারণ নিয়ম হল 50 এমএস লাইন রেট ডেটা, তবে কিছু জনপ্রিয় কনজিউমার গ্রেড সুইচগুলিতে কেবল 1 এমএস থাকে, যার ফলে অন্যদের সাথে স্থানীয় বিরোধের ক্ষেত্রে দীর্ঘ বিলম্ব সংযোগগুলিতে অতিরিক্ত ব্যান্ডউইথ ক্ষতি হতে পারে। আরও দেখুন ব্যান্ডউইথ-বিলম্বিত পণ্য কনজেশন উইন্ডো এক্সপ্লিসিট কনজেশন বিজ্ঞপ্তি হেড-অফ-লাইন ব্লকিং প্যাকেট লস রেফারেন্স বাহ্যিক লিঙ্ক বাফারব্লোটঃ ইন্টারনেটে কী ভুল? ভিন্ট সার্ফ, ভ্যান জ্যাকবসন, নিক উইভার এবং জিম গেটিসের সাথে একটি আলোচনা এপ্রিল, 2011, জিম গেটিস দ্বারা, ভিন্ট সার্ফ এপ্রিল, 2011 দ্বারা জিম গেটিস দ্বারা ভূমিকা, ভিন্ট সার্ফ 21 মিনিটের উপস্থাপনা এবং স্প্যানিশ ভাষায় ফ্রেড বেকার (আই. ই. টি. এফ চেয়ার) দ্বারা সাধারণ ব্রডব্যান্ড বাফারব্লোটের ব্যাখ্যা মে 2012, ইংরেজি স্লাইডগুলি উপলব্ধ টি. এস. ও আকার এবং এফকিউ সময়সূচী (জোনাথন করবেট, LWN.net) ফ্লো কন্ট্রোল (ডেটা) ইন্টারনেট আর্কিটেকচার নেটওয়ার্ক পারফরম্যান্স