SRE at Asa Co. / Agah Group
آشنایی با QoS - بخش دوم (Classification & Marking)
در ادامه ی پست قبلی، با ادامه ی سری آموزشی آشنایی با QoS در خدمتتون هستیم.اولین ابزاری که میخواهیم با از آشنایی با مفاهیم درمورد آن صحبت کنیم ، Classification و Marking میباشد.میتوان به زبان ساده تر گفت که Marking (علامت گذاری) نوعی ابزار QoS میباشد که پکت هارا بر اساس محتوای هدرهای آنها دسته بندی (Classification) میکند و سپس با استفاده از تغییر دادن تعدادی از بیت ها در یکسری فیلدهای خاص در هدر ها ، پیغام هارا علامت گذاری میکند.
مفاهیم Classification
ابزار QoS دقیقا روی مسیری که پکت ها از طریق آن Forward میشوند (از طریق یک روتر یا یک سوئیچ) میشیند، مانند ACL ها! QoS بروی یک Interface فعال میشود و همچنین مانند ACL ها QoS برای یک جهت خاص (بسته های ورودی/بسته های خروجی) فعال میشوند(مثلا زمانی که بسته درحال خروج از یک Interface میباشد و یا درحال ورود از طریق یک Interface ، مواردی که مدنظرش است را اعمال میکند). قوانین Classification به پروسه ی Matching در فیلد ها اشاره داره، تا بتواند بر اساس آنها تعیین کند که QoS چه عملکردی بایستی نشان دهد.
پس بیاید دوباره QoS را با ACL ها مقایسه کنیم:
اکسسلیستها یا همان ACLها، دسته بندی (Classification) و Filtering را انجام میدهند و هدرهای پکت هارا تطابق میدهند و میتوانند تصمیم بگیرند که چه بازخوردی و actionـی برای هر Packet داشته باشند(allow و یا discard)؛ ابزار QoS هم Classification (دسته بندی پکت هارا) با Match کردن فیلدهای هدر ها انجام میدهد و تصمیم میگیرد که چه نوع بازخوردی برای QoS داشته باشد (بعدا درمورد این بازخورد ها صحبت خواهیم کرد ، مثل queuing ، shaping ، policing و ...) برای مثال به فرایند Proccessingـه انجام شده در روتر تصویر زیر توجه کنید.
در این حالت یک ابزار صفبندیه خروجی بروی یک Interface فعال شده است، روترها از ابزار صفبندی(Queuing tool) استفاده میکتند تا تعدادی از پکت هارا در یک صف خروجی قرار دهند و دیگر پکت هارا در صف های دیگر و به همین صورت الی آخر تا زمانی که اینترفیس ویا اینترفیس های خروجی کاملا مشغول و درحال ارسال داده باشد (Busy)، سپس وقتی یک اینترفیس در دسترس قرار گرفت و بقول معرف سرش خلوت شد، الگوریتم زمان بندیِ ابزارِ صفبندی میتواند هر پیغام و هر پکت دلخواهی را که میخواهد از هر صفی بردارد و یا ترافیک هارا بر اساس قوانینی که مهندس شبکه برایش تعریف کرده است اولیت بندی کند.
- در ابتدا روتر تصمیم "مسیریابی کردن" را میگیرد(که انجام بدهم یا نه).
- ابزار صفبندی خروجی با استفاده از منطقه classification تصمیم میگیرم و تعیین میکند که پکتی در کدام صف قرار بگیرد.
- روتر بسته هارا در صف خروجیه پکتهای درحال خروج نگه میدارد تا زمانی که interface برای ارسال بسته ی بعدی در دسترس قرار بگیرد.
- منطقه زمان بندیه ابزار صف بندی (queuing tool’s scheduling logic) پکت بعدی را انتخاب میکند و بصورت بسیار موثری هر بسته را نسبت به بقیه ی بسته ها اولیت بندی میکند.
در انتها برای جمع بندی نهایی میتونیم به این صورت نتیجه گیری کنیم که ابزار QoS میآید در مرحله ی اول انواع داده ها و بسته هارا با استفاده از Marking علامت و برجسب گذاری میکند و سپس هر نوع داده رو دسته بندی کرده و در دسته و یا Class خودش قرار میدهد.
در آینده با ابزارهایی آشنا میشویم که میآیند با توجه به دسته بندی ها و برچسب ها بسته هارا اولویت و صف بندی میکنند و ممکن از به بعضی از آنها پهنای باند بیشتر ویا کمتر بدهند.
همانطور که تا الان مشاهده کردید، QoS بسیار شبیه ACL ها میباشد و باید هم همینطور باشه چراکه عملکرد کاملا مشابهی دارد، به این صورت که شما میگویید اگر پکتی با ACL شما match شد، بیاید یک بازخورد (action) خاصی انجام دهد (مثلا Permit کند) و در Qos هم میگویید که اگر بسته با موارد پیاده سازی شده در Qos تطابق داشت و Match شد ، بیاید و فلان بازخوردی QoSـی را انجام بدهد. در تصویر زیر هدر IP و TCP مشاهده میشود که در آن تمام فیلد هایی که قابل تطابق (matchable) هستند مشخص شده است.
حالا به این نکته توجه کنید که ممکن از مهندس شبکه بخواهد بسته های لایه 7 (Application) را هم از یکدیگر جدا و دسته بندی کند، مثلا بخواهد به 2 نرم افزاری که از برای بحث Video در شبکه ازشان استفاده میشود. به هر کدام منابع و QoS Action متفاوتی بدهد.برای بررسی این بسته ها در این لایه و دسته بندی کردن آنها راهکاری که ما پیشرو داریم استفاده از NBAR یا همان Network Based Application Recognition میباشد. NBAR به راحتی میتواند بسته هارا دسته بندی کند و در Class های متفاوت قرار دهد و در انتها میتوان آنهارا مثل موارد قبل اولیت بندی و محدودسازی منابع را برایشان انجام داد.
پیاده سازی NBAR بسیار ساده بوده و اگر به عنوان مثال بخواهید پکت های مربوط به دوربینهای امنیتی داخل شرکت را از بسته های مربوط به Skype جدا کنید، عدم استفاده از NBAR کارمان را بسیار سخت و پیچیده خواهد کرد.
امیدوارم که برای دوستان مفید واقع بشه.
در مطلب بعدی با Queuing آشنا خواهیم شد و میبینیم که صف بندی به چه صورتی انجام میشود.
پایان
مطلبی دیگر از این انتشارات
پروازی بر دنیای امنیت شبکه (قسمت پنجم) – دستورالعمل ها
مطلبی دیگر از این انتشارات
دوره آموزشی SDN (قسمت دوم) – کنترلر
مطلبی دیگر از این انتشارات
پروازی بر دنیای امنیت شبکه (قسمت سیزدهم) – Zone-Based Firewalls(بخش دوم)