টিবিএফ মধ্যে বালতি আকার


11

আমি অনেক বার পড়েছি লিনাক্স এর টোকেন বালতি ফিল্টার (tbf) এবং এখনও আমি পুরোপুরি বুঝতে পারছি না কীভাবে আমি নিরূপণ করা উচিত burstএবং latencyপরামিতি আমাকে লজ্জা, :(

আমি মনে করি যে একটি যুক্তিসঙ্গত লেটেন্সি প্রায় 50 এমএস। ঠিক আছে, তবে কি মূল্য ফাটা উচিত?

ম্যানপেজটি বলেছেন:

পরবর্তী গণনাটি বালতিটির আকার, হার এবং সম্ভবত পিকরেট (সেট করা থাকলে) বিবেচনা করে। এই দুটি পরামিতি পারস্পরিক একচেটিয়া।

সুতরাং, বালতি এবং ফিল্টারগুলির সাথে কীভাবে প্রচ্ছন্নতা সম্পর্কিত? এটি গণনা করার কোনও সূত্র আছে কি? বা এটি কেবল সহজ বিষয়, "ঠিক আছে, এক্স ফাটলের বাইট এবং ওয়াই সেকেন্ডের বিলম্ব আমার পক্ষে ভাল"?


1
এই অস্পষ্টটি খুঁজে পাওয়া প্রত্যেকের কাছে: tbfলিনাক্স ট্র্যাফিক নিয়ন্ত্রণের কাঠামোর একটি অংশ। man tbfবা man tc-tbfডকুমেন্টেশন আনতে হবে।
ডারোবার্ট

1
আপনার সম্পাদনা থেকে, মনে হচ্ছে আপনার টোকেন বালতি ফিল্টারটি ধারণাগতভাবে কী তার একটি ব্যাখ্যা দরকার। কম্পিউটারের সামনে ফিরে এলে আমি আমার উত্তরে একটি যুক্ত করব (আমার ফোনে এটি লিখছি
ডার্বার্ট

অবশেষে ধারণাগত ব্যাখ্যায় যুক্ত হয়েছে
ডার্বার্ট

উত্তর:


16

ম্যানপেজ থেকে, কেবলমাত্র সীমাবদ্ধতাটি burstহ'ল এটি আপনার কনফিগার করা হারকে অনুমোদনের জন্য পর্যাপ্ত পরিমাণে থাকতে হবে: এটি অবশ্যই কমপক্ষে হার / এইচজেড হতে হবে। এইচজেড একটি কার্নেল কনফিগারেশন প্যারামিটার; আপনার কার্নেল কনফিগারেশন পরীক্ষা করে এটি আপনার সিস্টেমে কী আছে তা বুঝতে পারবেন। উদাহরণস্বরূপ, ডেবিয়ান-তে, আপনি এটি করতে পারেন:

$ egrep '^CONFIG_HZ_[0-9]+' /boot/config-`uname -r`
CONFIG_HZ_250=y

তাই আমার সিস্টেমে Hz হয় 250. 10Mbps হার আঘাত, আমি এইভাবে একটি প্রয়োজন চাই burstঅন্তত 10,000,000 বিট / সেকেন্ড ÷ 250 Hz হয় = 40,000 বিট = 5000 বাইটের। (মনে রাখবেন ম্যানপেজে উচ্চতর মান হ'ল এইচজেড = 100 যখন ডিফল্ট ছিল)।

তবে এর বাইরেও burstনীতিগত সরঞ্জাম is এটি ভবিষ্যতের ব্যবহারের জন্য এটি এখন "সংরক্ষণ" করতে আপনি যে পরিমাণ ব্যান্ডউইথ কম ব্যবহার করতে পারবেন তা কনফিগার করে। এখানে একটি সাধারণ বিষয় হ'ল আপনি বড় ডাউনলোডগুলি থ্রোল্ট করার সময় ছোট ডাউনলোডগুলি (বলুন, একটি ওয়েব পৃষ্ঠা) খুব দ্রুত যেতে দিতে পারেন। আপনি burstএকটি ছোট ডাউনলোড বিবেচনা করে আকারে বাড়িয়ে আপনি এটি করেন। (যদিও আপনি প্রায়শই এইচটিবির মতো একটি ক্লাসফুল কিডিস্কে স্যুইচ করতে চান, যাতে আপনি বিভিন্ন ট্র্যাফিকের প্রকারগুলি ভাগ করে নিতে পারেন))

সুতরাং: আপনি বার্স্টটি কমপক্ষে পর্যাপ্ত পরিমাণে কাঙ্ক্ষিত অর্জনের জন্য কনফিগার করেছেন rate। এর বাইরে আপনি কী অর্জন করতে চাইছেন তার উপর নির্ভর করে আপনি এটি আরও বাড়িয়ে নিতে পারেন।

টোকেন বালতি ফিল্টারটির ধারণামূলক মডেল

টোকেন বালতি ফিল্টার

একটি "বালতি" একটি রূপক বস্তু। এর মূল বৈশিষ্ট্য হ'ল এটি টোকেন ধরে রাখতে পারে, এবং এটি ধারণ করতে পারে এমন টোকেনের সংখ্যা সীমিত you আপনি যদি আরও যুক্ত করার চেষ্টা করেন তবে এটি "ওভারফ্লো" হয় এবং অতিরিক্ত টোকেনগুলি হারিয়ে যায় (ঠিক তেমন কোনও জল খুব বেশি রাখার চেষ্টা করার মতো) আসল বালতি)। বালতি আকার বলা হয় burst

আসলে কোনও প্যাকেটটি নেটওয়ার্কে প্রেরণ করতে, সেই প্যাকেটটি অবশ্যই তার আকারের সমান টোকেনগুলি বাইটে বা mpu(যেটি বৃহত্তর হয়) পেতে হবে।

টোকেনের জন্য অপেক্ষা করা প্যাকেটের একটি লাইন (সারি) থাকতে পারে। বালতিটি খালি থাকলে বা বিকল্পভাবে প্যাকেটের আকারের চেয়ে কম টোকেন থাকলে এটি ঘটে। বালতির সামনের ফুটপাতে কেবলমাত্র অনেকগুলি ঘর রয়েছে এবং রুমের পরিমাণ (বাইটে) সরাসরি সেট করা থাকে limit। বিকল্পভাবে, এটি পরোক্ষভাবে সেট করা যেতে পারে latency(একটি আদর্শ বিশ্বে, গণনাটি হবে rate× latency)।

যখন কার্নেল ফিল্টারযুক্ত ইন্টারফেসের বাইরে কোনও প্যাকেট প্রেরণ করতে চায়, তখন প্যাকেটটি লাইনের শেষে রাখার চেষ্টা করে। ফুটপাতের কোনও জায়গা না থাকলে, প্যাকেটের জন্য এটি দুর্ভাগ্য, কারণ ফুটপাতের শেষে একটি তলবিহীন গর্ত, এবং কর্নেলটি প্যাকেটটি ফেলে দেয়।

চূড়ান্ত টুকরা হ'ল একটি টোকেন তৈরির মেশিন যা প্রতি টিকেটে বালতিতে rate/ HZটোকেন যুক্ত করে। (এ কারণেই আপনার বালতিটি অবশ্যই কমপক্ষে এই বড় হওয়া উচিত, অন্যথায় সদ্য কাঁচা টোকেনগুলির কিছু অবিলম্বে বাতিল করা হবে)।


আমি ভেবেছিলাম যে এটি বিপরীতভাবে বিস্ফোরিত হয়েছে, আপনি এক মুহুর্তের জন্য হারকে ছাড়িয়ে
যাবেন

@ সেবেলক আমি আরটিএফএস ব্যতীত নিশ্চিত নই, তবে টিবিএফ বর্তমানে একটি ইন্টারফেসে যোগ করা হবে যা বর্তমানে উপরের দিকে চলছে rate। বা না, যেমন আপনি বলতে পারতেন বালতি পুরোটা শুরু হয় ...
ডার্বার্ট

@ সেবেলক: এটিও সত্য। আসুন আমরা বলি যে আমাদের কাছে বালতি 1000 বাইট (বিস্ফোরিত আকার) এবং টোকেনের হার 10 বাইট PR দ্বিতীয়। সুতরাং যদি কোনও প্যাকেট 100 সেকেন্ডের জন্য না আসে তবে বালতিটি পূরণ করা হবে। তারপরে পরবর্তী 1000 বাইটের প্যাকেটগুলি উপস্থিত হবে, তত্ক্ষণাত বিন্যস্ত না হয়েই সঞ্চারিত হবে, ওরফে aka ডেটা হারে একটি বিস্ফোরণ যা টোকেন তৈরির হারের চেয়ে উপরে হতে পারে।
বার্জার ফ্রেইন্ড-হানসেন

5

ডারোবার্টের পরিপূরকটির আরও একটি উত্তর।

প্রথমত আধুনিক ইন্টেল সিপিইউ-র ম্যানুয়ালটি পুরানো। মডার্ন সিপিইউতে উচ্চ রেজোলিউশন টাইমার রয়েছে এবং আধুনিক লিনাক্স কম টিক - আক্ষরিক অর্থে এখানে টাইমার টিকস নেই। সুতরাং এই সমস্ত মন্তব্য বালকেটকে একটি টাইমারে টোকেনগুলি ধরে রাখতে যথেষ্ট বড় আপেক্ষিক are প্রকৃতপক্ষে বালতি উপমাটি কেবলমাত্র ব্যবহারকারীকে টাইমার গ্রানুলারিটির মধ্যে মিথস্ক্রিয়া বুঝতে এবং গতি প্রেরণে সহায়তা করার জন্য ছিল। এখন লিনাক্সের আধুনিক হার্ডওয়্যারে ন্যানোসেকেন্ড টাইমার রয়েছে এটির কার্যকারিতা হারাবে।

টিবিএফ-এর জন্য বিস্ফোরণ প্যারামিটারটি হ'ল সীমাবদ্ধকরণের (সীমিত হার দ্বারা নির্ধারিত ) কিক্স করার আগে সীমাহীন গতিতে পাঠানো যায় এমন বাইট সংখ্যা lim ।

উদাহরণস্বরূপ, আসুন আমরা বলতে পারি যে আপনার টিবিএফ বিস্ফোরণ প্যারামিটারটি 10 ​​কে বাইট, এবং আপনার টিবিএফ রেট প্যারামিটারটি 2 কে বাইট / সেকেন্ড এবং আপনি বর্তমানে রেট সীমাবদ্ধ (অর্থাত্ বিস্ফোরণটি শেষ হয়ে গেছে, তাই আপনি 2 কেবিপিএসে প্রেরণে সীমাবদ্ধ)। আপনি যদি স্বেচ্ছায় আপনি 10 সেকেন্ডের জন্য 1 কেবিপিএস পাঠানোর গতি হ্রাস করেন, আপনি আবার আপনার 10 কে বাইট বিস্ফোরণ ভাতাটি পুনরায় জমা করবেন (= (2000 [বাইটস / সেকেন্ড] - 1000 [বাইটস / সেকেন্ড]) * 10 সেকেন্ড)। এটি 10 ​​সিসি-র বেশিের জন্য 1 কেবিপিএসের নীচে রাখলে কোনও প্রভাব পড়বে না কারণ টিবিএফ আপনাকে বিস্ফোরণ প্যারামিটারের চেয়ে বেশি জমা করার অনুমতি দেয় না ।

আপনি যদি পুরোপুরি ব্যয় করা বন্ধ করে দেন তবে আপনি আবার 5 সিসিতে (= 100000 [বাইটস] / 2000 [বাইটস / সেকেন্ড) আপনার ফেটে ভাতা পাবেন।

এটি ব্যবহার করার জন্য আপনাকে আপনার সমস্ত ফাটকা ভাতা ফিরে পেতে হবে না, আপনি যতটা জমা করেছেন ততটুকু ব্যবহার করতে পারেন।

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

অন্য কুঁচকে টিবিএফ এর মধ্যে এই হারের দুটি সীমাবদ্ধ রয়েছে এবং আপনার ট্র্যাফিক উভয়ের মধ্য দিয়ে যেতে হবে। দ্বিতীয় সালে বিস্ফোরিত পরামিতি বলা হয় MTU এবং, এবং রেট বলা হয় peakrate । প্রথম যেটি এটি প্রসারণ করতে পারে তার গতি সীমাবদ্ধ করতে আপনার এই দ্বিতীয়টি ব্যবহার করার কথা are এই দ্বিতীয়টি ব্যবহার করা alচ্ছিক এবং আপনি এটি ব্যবহার না করলে ডিলেট গতিতে বার্সগুলি প্রেরণ করা হয়।

অবশেষে, tbf টি সীমা মাপদণ্ড। প্রোগ্রামটি যদি অবিচলিতভাবে হারের চেয়ে দ্রুত প্রেরণ করে তবে প্যাকেটগুলি সারিতে তৈরি হবে। অসীম কার্নেল মেমরি নেই, তাই কার্নেল প্যাকেটগুলি ছাড়তে শুরু করার আগে সীমাটি কতগুলি বাইট তৈরি করতে পারে তা বলে says

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.