ترافیک غیرقابل کنترل در شبکه؛ پیادهسازی QoS برای تضمین کیفیت سرویسهای حیاتی
- خداحافظی با برابری بستهها: عبور از مدل سنتی Best-Effort و اولویتبندی ترافیک بر اساس ارزش تجاری آنها برای سازمان.
- طبقهبندی و نشانهگذاری (Classification & Marking): استفاده از هدرهای L2 (CoS) و L3 (DSCP) برای صدور ویزای VIP برای بستههای حساس مانند صدا و تصویر.
- مدیریت صف (Queuing): استقرار صفهای هوشمند مانند LLQ (صف با تاخیر پایین) تا ترافیک VoIP هرگز پشت ترافیک دانلود فایل گیر نکند.
- کنترل پهنای باند (Shaping & Policing): مهار ترافیکهای حجیم با تکنیکهای شکلدهی و نظارت، برای جلوگیری از اشباع لینکهای ارتباطی حیاتی.
در میانه یک ویدیو کنفرانس بسیار مهم با هیئت مدیره هستید. ناگهان تصویر ثابت میشود، صدا به حالت رباتیک درمیآید و ارتباط قطع و وصل میشود. دلیل این فاجعه چیست؟ احتمالاً یکی از کارمندان در دپارتمانی دیگر، در حال دانلود یک آپدیت حجیم ویندوز یا اجرای یک فایل بکاپ روی شبکه است. در یک شبکه مدیریتنشده، روترها تفاوتی بین یک بسته صوتی حساس (VoIP) و یک بسته دانلود فایل قائل نمیشوند؛ همه در یک صف قرار میگیرند. این رویکرد که به آن “Best-Effort” میگویند، در شبکههای مدرن امروزی محکوم به شکست است.
افزایش پهنای باند همیشه راهحل نهایی نیست. مهم نیست اتوبان شما چقدر عریض باشد؛ در ساعات اوج مصرف (Peak Hours)، همیشه ترافیک رخ میدهد. اینجاست که شما به یک افسر راهنمایی و رانندگی هوشمند نیاز دارید تا خطوط ویژه را برای آمبولانسها و ماشینهای امدادی (ترافیک حیاتی) باز کند. در دنیای تجهیزات شبکه و دیتاسنتر، این افسر هوشمند QoS (Quality of Service) نام دارد. در این مقاله تخصصی، ابزارها و استراتژیهای پیادهسازی QoS را بررسی میکنیم تا برای همیشه از شر کندی سرویسهای حیاتی خلاص شوید.
معماری Differentiated Services؛ عبور از عدالت کورکورانه!
در شبکههای IP، سه فاکتور اصلی کیفیت ارتباط را نابود میکنند:
- تاخیر (Latency): مدت زمانی که طول میکشد تا یک بسته از مبدأ به مقصد برسد.
- لرزش (Jitter): نوسان و بینظمی در زمان رسیدن بستهها به مقصد.
- اتلاف بسته (Packet Loss): دور ریخته شدن بستهها توسط روتر به دلیل پر شدن بافرها.
ترافیکهایی مثل دانلود فایل (FTP) یا ایمیل، به این فاکتورها مقاوم هستند. اگر یک بسته FTP در راه گم شود، پروتکل TCP به راحتی آن را دوباره درخواست میکند. اما ترافیک صوتی و تصویری (VoIP و Video Conference) بر بستر پروتکل UDP منتقل میشوند. اگر بستههای صدا با تاخیر یا بینظمی برسند، شما صدای قطع و وصل و رباتیک میشنوید. معماری DiffServ (Differentiated Services) به شما اجازه میدهد تا ترافیک شبکه را دستهبندی کنید و به هر دسته، بر اساس میزان حساسیتش، رفتار متفاوتی نشان دهید.
طبقهبندی و نشانهگذاری؛ صدور ویزای VIP برای بستهها
برای اینکه روترهای میانی شبکه بتوانند ترافیک مهم را بشناسند، ما باید روی هر بسته یک “برچسب” یا “مارک” بزنیم. این کار معمولاً در لبه شبکه (نزدیکترین سوئیچ به کامپیوتر یا تلفن IP) انجام میشود. ما دو لایه برای نشانهگذاری داریم:
- نشانهگذاری لایه ۲ (CoS – Class of Service): این برچسب در هدر فریمهای اترنت (استاندارد 802.1Q) قرار میگیرد و دارای ۸ سطح (از ۰ تا ۷) است. معمولاً مقدار ۵ برای ترافیک صوتی استفاده میشود.
- نشانهگذاری لایه ۳ (DSCP – Differentiated Services Code Point): این برچسب درون هدر بستههای IP قرار میگیرد. از آنجا که این برچسب در لایه ۳ است، در کل مسیر شبکه (حتی با عبور از روترها) حفظ میشود. در استاندارد DSCP، مقدار EF (Expedited Forwarding) یا عدد ۴۶، بالاترین اولویت را دارد و منحصراً برای ترافیک صدا (Voice) رزرو میشود.
هنر صفبندی (Queuing)؛ وقتی گلوگاهها مسدود میشوند
نشانهگذاری ترافیک به تنهایی هیچ مشکلی را حل نمیکند! وقتی لینک ارتباطی شما (مثلاً خط اینترنت ۵۰ مگابیتی) کاملاً پر میشود، روتر چارهای ندارد جز اینکه بستهها را در حافظه موقت (Buffer) خود صفبندی کند. اگر شما استراتژی صفبندی (Queuing) نداشته باشید، روتر بستهها را به روش سنتی FIFO (اولین ورودی، اولین خروجی) ارسال میکند. در این حالت، بسته VIP شما پشت هزاران بسته دانلود گیر میکند.
مهندسان شبکه برای حل این مشکل از دو الگوریتم پیشرفته استفاده میکنند:
- CBWFQ (صفبندی عادلانه وزندار مبتنی بر کلاس): در این روش، شما برای هر نوع ترافیک یک درصد از پهنای باند را تضمین میکنید. مثلاً میگویید ۳۰ درصد پهنای باند همیشه برای نرمافزار CRM رزرو باشد. در زمان شلوغی، نرمافزارهای دیگر نمیتوانند سهم CRM را اشغال کنند.
- LLQ (صف با تاخیر پایین): این الگوریتم یک صف ویژه و کاملاً سختگیرانه (Strict Priority) است. شما ترافیک صوتی (Voice) را در این صف قرار میدهید. روتر به محض اینکه یک بسته صوتی دریافت کند، تمام کارهای دیگر خود را متوقف میکند، آن بسته را از صف خارج کرده و به مقصد میفرستد. این کار لرزش (Jitter) و تاخیر را به صفر نزدیک میکند.
نبرد کنترل ترافیک؛ Policing در برابر Shaping
گاهی اوقات شما باید جلوی مصرف بیرویه یک سرویس خاص را بگیرید. مثلاً میخواهید اجازه ندهید ترافیک آپدیت ویندوز بیشتر از ۱۰ مگابیت بر ثانیه از اینترنت شرکت استفاده کند. برای محدود کردن ترافیک، ما دو ابزار قدرتمند داریم:
۱. پلیسینگ (Traffic Policing): این روش بسیار بیرحم است! شما یک سقف سرعت تعیین میکنید. به محض اینکه ترافیک کاربر از آن سقف عبور کند، روتر بلافاصله بستههای اضافی را دور میریزد (Drop میکند). این روش باعث میشود نمودار ترافیک به صورت دندانهارهای دربیاید. پلیسینگ بیشتر برای ترافیکهای ورودی (Inbound) استفاده میشود.
۲. شکلدهی ترافیک (Traffic Shaping): این روش بسیار هوشمندانهتر و مهربانتر است. وقتی ترافیک از سقف مجاز عبور میکند، روتر بستهها را دور نمیریزد؛ بلکه آنها را در حافظه موقت (Buffer) خود نگه میدارد و سپس آنها را با سرعت ثابت و کنترلشدهای ارسال میکند. این روش یک جریان ترافیک صاف و روان ایجاد میکند و معمولاً برای ترافیکهای خروجی (Outbound) به سمت شبکه WAN استفاده میشود.
جدول مقایسهای: تفاوت تکنیکهای کنترل پهنای باند
| ویژگی عملکردی | Traffic Policing (نظارت ترافیک) | Traffic Shaping (شکلدهی ترافیک) |
|---|---|---|
| واکنش به ترافیک مازاد | بستهها را بلافاصله دور میریزد (Drop) | بستهها را در حافظه نگه میدارد (Buffer) |
| تاثیر بر تاخیر (Latency) | تاخیر ایجاد نمیکند (چون صفی در کار نیست) | باعث ایجاد تاخیر میشود (به دلیل ماندن در صف) |
| نیاز به حافظه روتر (RAM) | بسیار کم (به بافر نیاز ندارد) | بالا (نیازمند بافرهای عمیق برای ذخیره بستهها) |
| جهت اعمال روی اینترفیس | معمولاً برای ترافیک ورودی (Inbound) | منحصراً برای ترافیک خروجی (Outbound) |
| بهترین کاربرد | محدود کردن کاربران پرمصرف و ترافیک مهمان | تطبیق پهنای باند دیتاسنتر با سرعت لینکهای WAN |
تحلیل اختصاصی آلفاتک: چرا QoS بدون مانیتورینگ بیفایده است؟
مهندسان آلفاتک در پروژههای بهینهسازی زیرساخت، بارها با شبکههایی مواجه شدهاند که سیاستهای QoS در آنها به صورت کورکورانه پیاده شده است. پیکربندی QoS یک فرآیند “تنظیم کن و فراموش کن” (Set and Forget) نیست! اگر شما ۳۰ درصد از پهنای باند خود را به یک صف ویژه اختصاص دهید اما در عمل فقط ۵ درصد از آن استفاده شود، شما در حال هدر دادن منابع ارزشمند شبکه خود هستید. پیش از نوشتن حتی یک خط کد برای QoS، باید ترافیک شبکه را با استفاده از پروتکلهایی مانند NetFlow به طور کامل آنالیز کنید. شما باید دقیقاً بدانید چه نرمافزارهایی در سازمان شما وجود دارند، از چه پورتهایی استفاده میکنند و در ساعات اوج مصرف، چه رفتاری نشان میدهند. تنها در این صورت است که میتوانید پهنای باند را با دقتی جراحیگونه بین سرویسهای حیاتی تقسیم کنید.


