আমার সহকর্মী বিশ্বাস করেছিলেন যে এটি শারীরিক দূরত্বের কারণেই আমি মনে করি না যে এটি গুরুত্ব দেয়। আমার বোঝাটি একবার আপনি প্রাথমিক হ্যান্ডশেক হয়ে গেলে এবং ডেটা প্রবাহ শুরু হয়ে গেলে সার্ভারটি কোথায় অবস্থিত এবং ফলাফল প্রায় একই রকম হওয়া উচিত তা বিবেচনা করে না। আমি কি এখানে কিছু মিস করছি? এটা সত্যিই কিভাবে কাজ করে?
আপনারা উভয়েই ইতিহাসের এক পর্যায়ে ঠিক ছিলেন, তবে আপনার বোঝাপড়া বেশিরভাগ ক্ষেত্রেই সঠিক ... আজ :)। আপনার বন্ধুটি দেওয়া পুরানো উত্তর এবং আজ আমাদের যে সক্ষমতা রয়েছে তার মধ্যে কয়েকটি কারণ রয়েছে।
- টিসিপি উইন্ডো স্কেলিং
- হোস্ট বাফার টিউনিং
আপনি যে ফলাফলগুলি দেখেছেন তার মধ্যে পার্থক্য তার দ্বারা প্রভাবিত হতে পারে:
- প্যাকেটের ক্ষয়ক্ষতি
- সমান্তরাল টিসিপি স্থানান্তর
টিসিপি উইন্ডো স্কেলিং: ব্যান্ডউইথ-বিলম্ব প্রভাব
আপনার বন্ধু হিসাবে উল্লেখ করা হয়েছে, টিসিপি-র পুরানো বাস্তবায়নগুলি টিসিপি শিরোলেখের মূল 16-বিট দ্বারা উইন্ডো আকার প্রাপ্ত (সীমাবদ্ধ আরএফসি 793: বিভাগ 3.1 ) দ্বারা সীমাবদ্ধতায় পড়েছিল ; RWIN নিয়ন্ত্রণ করে যে কোনও একক টিসিপি সকেটে কত অগ্রহণযোগ্য ডেটা অপেক্ষা করতে পারে। 16-বিট আরডব্লিন উচ্চ ব্যান্ডউইথ-বিলম্ব পণ্য (এবং আজকের অনেক উচ্চ ব্যান্ডউইথ ইন্টারনেট সংযোগ 16-বিট মান দ্বারা সীমাবদ্ধ হবে) সহ সীমিত ইন্টারনেট পাথকে মান দেয়।
উচ্চ আরটিটি মানগুলির জন্য, এটি একটি খুব বড় RWIN রাখা সহায়ক। উদাহরণস্বরূপ, আপনার মালয়েশিয়া থেকে মার্কিন যুক্তরাষ্ট্রে আরটিটি যদি প্রায় 200 মাইল হয় তবে মূল টিসিপি আরডবিন আপনাকে ২. 2. এমবিপিএস সীমাবদ্ধ করবে।
থ্রুপুট সর্বোচ্চ = আরসিভি_ওয়িন / আরটিটি
* মাধ্যমে আউটপুট সর্বোচ্চ = 65535 * 8 / 0.200 *
থ্রুপুট সর্বোচ্চ = 2.6 এমবিপিএস
আরএফসি 1323 এই সীমাবদ্ধতাগুলি কাটিয়ে উঠতে কিছু "টিসিপি বিকল্পগুলি" সংজ্ঞায়িত করেছে; এই টিসিপি বিকল্পগুলির মধ্যে একটি হ'ল "উইন্ডো স্কেলিং"। এটি একটি স্কেল ফ্যাক্টর প্রবর্তন করে, যা সম্পূর্ণ প্রাপ্ত উইন্ডোটির মান পাওয়ার জন্য মূল আরডব্লিন মানকে বহুগুণ করে; উইন্ডো স্কেলিং বিকল্পগুলি ব্যবহার করে 1073725440 বাইটের সর্বোচ্চ RWIN অনুমতি দেয়। একই গণনা প্রয়োগ করা:
থ্রুপুট সর্বোচ্চ = আরসিভি_ওয়িন / আরটিটি
* মাধ্যমে আউটপুট সর্বোচ্চ = 1073725440 * 8 / 0.200 *
থ্রুপুট সর্বোচ্চ = 42.96 জিবিপিএস
মনে রাখবেন যে টিসিপি হস্তান্তরের সময়কালে ধীরে ধীরে RWIN বৃদ্ধি করে, যতক্ষণ প্যাকেট হ্রাস সমস্যা না হয়। উচ্চ-বিলম্ব সংযোগের মাধ্যমে সত্যিকারের বৃহত স্থানান্তর হারগুলি দেখতে আপনাকে একটি বড় ফাইল স্থানান্তর করতে হবে (যাতে টিসিপির উইন্ডোটি বাড়ানোর সময় রয়েছে) এবং প্যাকেটের ক্ষতি হ'ল সংযোগের জন্য সমস্যা হতে পারে না।
প্যাকেটের ক্ষয়ক্ষতি
প্রশান্ত মহাসাগর জুড়ে ইন্টারনেট সার্কিটগুলি মাঝে মাঝে বেশ জমজমাট হয়ে যায়। আমার পরিবারের কেউ কেউ তাইওয়ানে বাস করে এবং আমরা যখন তাদের সাথে গুগল টক ব্যবহার করি তখন আমরা নিয়মিত সমস্যা সমাধান করি। আমি যখন মার্কিন যুক্তরাষ্ট্র থেকে তাদের ডিএসএল লাইনটি পিন করি তখন প্রায়শই আমি প্যাকেটের ক্ষতি 0.5% এর বেশি দেখতে পাই; আপনি যদি "ধীর" সার্ভারে 0.5% লোকসানের মতো কোনও কিছু দেখতে পান তবে এটি খুব সহজেই একক টিসিপি সকেটে থ্রুপুট সীমাবদ্ধ করবে।
সমান্তরাল টিসিপি স্ট্রিম
এফওয়াইআই, কিছু গতি পরীক্ষার ওয়েবসাইটগুলি থ্রুপুট বাড়ানোর জন্য সমান্তরাল টিসিপি স্ট্রিম ব্যবহার করে ; এটি আপনার দেখা ফলাফলগুলিকে প্রভাবিত করতে পারে, কারণ আপনার যদি পথে কিছু প্যাকেট-ক্ষতি হয় তবে সমান্তরাল টিসিপি স্ট্রিমগুলি নাটকীয়ভাবে থ্রুপুট বৃদ্ধি করে। আমি চারটি সমান্তরাল টিসিপি স্ট্রিমগুলি সম্পূর্ণরূপে 5% এমবিপিএস কেবলের মডেমকে পূরণ করে যা 1% ধ্রুবক প্যাকেটের ক্ষতিতে ভুগেছে। সাধারণত 1% লোকসান একক টিসিপি স্ট্রিমের থ্রুপুট কমিয়ে দেয়।
বোনাস উপাদান: হোস্ট বাফার টিউনিং
অনেক পুরানো ওএস বাস্তবায়নের সীমিত বাফার সহ সকেট ছিল; পুরানো ওএসের সাথে (উইন্ডোজ 2000 এর মতো) টিসিপি বড় পরিমাণে ডেটা ফ্লাইটের অনুমতি দেয় কিনা তা বিবেচ্য নয় ... তাদের সকেট বাফারগুলি বড় আরডবিনের সুবিধা নিতে টিউন করা হয়নি। টিসিপি স্থানান্তরগুলিতে উচ্চ পারফরম্যান্স সক্ষম করতে প্রচুর গবেষণা হয়েছিল । আধুনিক অপারেটিং সিস্টেমগুলি (এই উত্তরের জন্য, আমরা উইন্ডোজ ভিস্তা এবং পরে "আধুনিক" বলতে পারি) তাদের সকেট বাফার বাস্তবায়নে আরও ভাল বাফার বরাদ্দকরণের ব্যবস্থা অন্তর্ভুক্ত করে।