SRE at Asa Co. / Agah Group
آشنایی با QoS – بخش سوم (Queuing و Congestion Management)
در ادامه ی پست و مطلب قبلی، با مبحث جدید Queuing یا همان صفبندی در خدمتتان هستم. تمامی Device های تحت شبکه از صفبندی (Queuing) استفاده میکنند، بدین صورت که دستگاه پیغام را میگیرد، برای Forward کردنش تصمیم میگیرد و سپس پیغام را ارسال میکند ، اما بعضی اوقات Interface خروجی مشغول و زیر بار میباشد و در دسترس نیست، پس دستگاه پیغام های خروجی را در یک صف نگهداری میکند تا به محض اینکه اینترفیس در دسترس قرار بگیرد آنرا ارسال کنند.به همین راحتی!
سیستم Congestion Management (مدیریت تراکم) به ابزاری در QoS که برای مدیریت صفهایی که پکت هارا نگهداری میکنند تا زمانی که مسیر خروجی برا آنها باز شود(یا اینکه منابع مورد نیاز آنها در روتر آزاد شود)، اشاره میکند؛ اما بحث مدیریت تراکم، یک چیزی فراتر از یک ایده ی ساده است که برای بهتر متوجه شدن آن و فهمیدن اینکه چطور کار میکند، میبایستی به فرآیند هایی که در داخل Device انجام میشود نگاه کنید.
برای مثال، تصویر زیر که نمایش دهنده ی فرآیند های داخلیه یک روتر است را در نظر بگیرید. روتر تصمیم مربوط به Forwarding را میگیرد و سپس بسته هارا برای قرار گرفتن در صف ها آماده میکند تا به محض اینکه خروجی در دسترس قرار بگیرد عمل انتقال را انجام دهد. آن طرف بصورت همزمان با این فرآیند ها ، روتر ممکن است کارهای دیگری هم انجام دهد. مثل Ingress NAT (ترجمه آدرسه داخلی در سمت اینترفیس ورودی) ، Ingress ACL ویا Egress ACL (خروجی) بعد اینکه تصمیم مربوط به Forwarding گرفته شد، و همینطور الی آخر.
در سیستم مدیریت تراکم شما میتوانید صف های متعددی برای منظور های مختلف داشته باشد. به عنوان مثال در شکل بالا فقط یک صف خروجی ایجاد شده است و از الگوریتم زمان بندیه FIFO (مخفف FirstIN FirstOUT میباشد ، یعنی بسته ها به همان ترتیبی که وارد صف میشوند ، به همان ترتیب خارج میگردند) استفاده میشود. اکثر دستگاه های تحت شبکه میتوانند سیستم مدیریت صف با قابلیت پشتیبانی از چندین صف را داشته باشند. برای استفاده از چند صف میبایستی پکت ها دسته بندی و علامت گذاری شوند که بتوان مشخص کرد هر بسته در کدام صف میبایستی قرار بگیرد(که مقداری درمورد Marking و دسته بندی در پست قبل صحبت کردیم). سیستم صفبندی نیاز به یک Scheduler هم دارد که مشخص کند در زمان در دسترس قرار گرفتن خروجی، کدام پیغام میبایستی ارسال شود.
جذابترین قسمت سیستم صف بندی، همین بحث scheduler میباشد. با استفاده از scheduler شما میتواند prioritization یا همان اولیت بندی انجام بدهید و مشخص کنید در زمان در دسترس قرار گرفتن خروجی ، چه مواردی اولیت بیشتر ویا کمتری دارند.
این پست را در همینجا و بصورت خلاصه و کوتاه تمام میکنیم ، چراکه در پست بعدی بصورت کاملا مفصل میخواهیم درمورد بحث اولیت بندی ها و الگوریتم های زمان بندی و روش های خاصی که برای صف بندی استفاده میشود صحبت کنیم.
امیدوارم که برای دوستان مفید واقع شده باشه.
پایان - موفق باشید.
مطلبی دیگر از این انتشارات
پروازی بر دنیای امنیت شبکه (قسمت هفتم) – فایروال (2)
مطلبی دیگر از این انتشارات
آشنایی با پروتکل Border Gateway Protocol - BGP
مطلبی دیگر از این انتشارات
پروازی بر دنیای امنیت شبکه (قسمت شانزدهم) – مفاهیم رمزنگاری(بخش دوم)