در شبکه های سازمانی برای Application های حساس مثلا Voice یا Video که تاخیر در آنها بسیار آزار دهنده می باشد نیاز است که برای عبور این ترافیک ها که حساس تر و مهم تر هستند اولویت هایی قائل شود و در واقع این اولویت بندی همان اجرای کیفیت خدمات یا QoS میباشد، یعنی استفاده از این پروتکل باعث میشود از بین رفتن برخی بسته ها یا تاخیر آنها را به حداقل برسانیم. در این مقاله تلاش شده تا تعریف کاملی از پروتکل QoS ارائه گردد.
QoS مخفف عبارت Quality of Service به معنی بازده کلی شبکه های کامپیوتری و یا تلفنی از طرف کاربران است جهت رعایت کردن تقدم و تاخر در ارائه پهنای باند اینترنت به استفاده کنندگان میباشد. در واقع این پروتکل نوعی مکانیزم اولویت بندی شده برای عبور packet های اطلاعاتی است که بر اساس سرویس های شبکه دسته بندی و بر روی شبکه های WAN یا در ارتباطات داده های Voice یا Video اجرا می شود برای مثال در سرویس های VOIP که کیفیت و نظم بسته های اطلاعاتی از اهمیت بالایی برخوردار است از سیستمهای QoS استفاده می شود.
فراهم آوردن سرویس های باکیفیت از طریق پروتکل QoS در شبکه های مبتنی بر پروتکل IP به طور فزاینده ای در زیرساخت های سازمانی IT اهمیت بالا یافته است، سرویس این پروتکل برای Stream کردن صوت یا ویدئو در بستر شبکه مورد نیاز است بلکه در تکنولوژی IoT یا Internet of Things نیز نقش مهمی را ایفا میکند. فاکتورهای لازم جهت اندازه گیری QoS در شبکه های مختلف از زوایای بسیاری عملکرد شبکه را مورد بررسی قرار میدهند که این موارد را میتوان نرخ خطاها، تاخیر در ارسال، Throughput ،Availability ،Packet Lost و Jitter (تاخیر در ارسال و دریافت) نام برد. در بعضی از شبکه میزان تاخیر در ارسال و دریافت اطلاعات، در زمان های مختلف عدد ثابتی نمی باشد. به این اختلال در شبکه Jitter گفته می شود.
این پروتکل در واقع استراتژی های مختلفی است که به منظور مدیریت پهنای باند در شبکه در نظر گرفته شده است. استراتژی که مشخص میکند کدام اطلاعات زودتر از بقیه به مقصد برسند و کدام اولویت کمتری دارند. به عبارت دیگر Quality Of Service ابزار و مکانیزمی است جهت تخصیص منابع مشخصی به نوع خاصی از اطلاعات از این رو اغلب مواقع زمانی QoS در یک شبکه پیاده سازی می شود که انواع مختلف اطلاعات در یک شبکه در حال عبور و مرور هستند.
سازمانها می توانند با استفاده از ابزار و تاکتیک های خاصی مانند شکل دادن به ترافیک ها (traffic shaping) و تغییر بافر به QoS دست پیدا کنند. البته QoS تنها برای استفاده داخل سازمانی نیست و برخی از سازمانها که ارائه دهنده هر نوع خدمات شبکه هستند، یک سری توافقنامه سطح سرویس یا همان SLA در اختیار مشتریان خود قرار میدهند و این توافقنامه بر اساس QoSای است که برای سرویس خود اجرا نموده اند. این توافقنامه سطح سرویس Service Level Agreement یا همان SLA به این صورت میباشد که به مشتری وعده داده میشود، کیفیت خدمات شما طبق این پارامترها به میزان مشخص شده خواهد بود و از این موارد کمتر نخواهد شد. البته در این توافقنامه مشخص میشود که در صورتی کیفیت خدمات به مقدار لازم نبود به عنوان جبران خسارتهای وارد شده یا تاخیرهای به وجود آمده است. سازمان ارائه دهنده آن سرویس چه مواردی را به عنوان جبران این مشکل باید متحمل شود، در حقیقت با وجود این توافقنامه سطح عملکرد سرویس تضمین خواهد شد.
مزایای پیاده سازی QoS در شبکه عبارتند از :
۱. امکان اولویت بندی بین انواع مختلف اطلاعات (ترافیک) موجود در شبکه
۲. افزایش میزان اطمینان شبکه
برخی از سرویس ها یا اپلیکیشن هایی که در بستر شبکه اجرا و عملیاتی میشوند به تاخیر یا Delay حساس هستند. این سرویس ها برای انتقال بسته های اطلاعاتی خود در شبکه از پروتکل UDP استفاده میکنند و از پروتکل TCP بهره نخواهد برد. تفاوت اصلی بین پروتکل TCP و UDP این است که پروتکل TCP بسته هایی که در بین راه Loss میشوند یا از بین میروند را دوباره ارسال میکند اما پروتکل UDP بسته های اطلاعاتی Loss شده را دوباره در شبکه ارسال نمیکند. به عنوان مثال برای انتقال فایل در شبکه از یک کامپیوتر به کامپیوتر دیگر بایستی از پروتکل TCP استفاده شود زیرا اگر در بین راه یک بسته اطلاعاتی Loss شود آن فایل دیگر قابل استفاده نخواهد بود از این رو پروتکل TCP بسته اطلاعاتی Loss شده را که از قبل علامت گذاری کرده بود دوباره به سمت کامپیوتر مقصد ارسال میکند تا فایلی که به طور ناقص ارسال شده بود کامل شود و قابل استفاده باشد.
برای سرویس هایی که از پروتکل UDP استفاده میکنند مانند سرویس VOIP، هرگونه بسته اطلاعاتی صوتی که Loss شود دیگر نمیتواند دوباره در شبکه ارسال شود زیرا بسته های صوتی در بستر شبکه Stream میشوند و ارسال مجدد آن بسته ها در بستر شبکه کاری بیهوده و بی فایده است. به همین دلیل، Loss شدن و یا به تاخیر افتادن ارسال بسته های اطلاعاتی که با پروتکل UDP در شبکه ارسال میشوند یک مشکل جدی محسوب میشود. حتی اگر تعداد خیلی کمی از بسته های صوتی در هنگام ارسال در بستر شبکه Loss شود کیفیت صدا را به طور قابل توجهی پایین می آورد بطوریکه صدا نامفهوم و گنگ به گوش میرسد.
بسته های اطلاعاتی که به تاخیر حساس هستند به Jitter معروف هستند. Jitter اختلاف زمان تاخیر رسیدن بسته های اطلاعاتی Stream شده در شبکه میباشد. اگر شبکه شما پهنای باند زیادی دارد Delay یا تاخیر در شبکه تان تا حد زیادی وجود نخواهد داشت و نیاز به راه اندازی سرویس QoS در شبکه را نخواهید داشت. اما در شبکه های سازمانی و بزرگ مواقعی پیش خواهد آمد که روتر ها و سوئیچ ها شروع به Drop کردن بسته های اطلاعاتی خواهند کرد در این گونه موارد سرویس هایی نظیر VOIP در شبکه دچار اختلال میشود و آن سرویس ها میتوانند به طور موثر عملیات خود در راستای QoS را به انجام برسانند.
CoS ترافیک ها را در لایه 2 شناسایی میکند اما DSCP جریان ترافیک ها را در لایه 3 شناسایی میکند. سرویس های مختلف به طور متفاوتی شناسایی میشوند که این به تجهیزات شبکه اجازه میدهد تا داده ها را در گروه های جداگانه و مختلف دسته بندی کند. بعد از اینکه داده ها را در گروه های جداگانه دسته بندی کردیم حال میتوانیم از آن اطلاعات برای قرار دادن Policy یا سیاست روی آن گروه ها به منظور اولویت گذاری داده هایی اهمیت شان از دیگر سرویس ها بیشتر است، استفاده کنیم کههمان Queuing میباشد.
معمولاً ترافیک Voice یا صوت به عنوان یک ترافیک از دیگر ترافیک ها اولویتش بالاتر میباشد در این صورت علامت گذاری یا Mark شده و Policy ای روی آن تعریف میشود، این موارد بدلیل آن است که از بیشترین پهنای باند لینک شبکه بتواند استفاده کند. دستگاه هایی نظیر سوئیچ ها و روتر ها بسته یا فریم های صوتی را برای انتقال در شبکه در اول صف یا Queue قرار میدهد تا بلافاصله یا بلادرنگ در شبکه ارسال شوند. اما اگر برای مثال ترافیک متنی مثل ترافیک وب که از پروتکل TCP برای انتقال بسته های خود استفاده میکند به عنوان ترافیکی با اولویت پایین در انتقال در شبکه علامت گذاری شده باشد هنگام انتقال در شبکه در صف یا Queue قرار میگیرند تا بعد از اینکه ترافیک های با اولویت بالا (نظیر ترافیک های صوتی و ویدئویی) در شبکه ارسال شدند، در شبکه ارسال شوند.
Packet loss، Jitter و Latency جزو مواردی هستند که معیار سنجش QOS یا همان Quality of Service میباشند و برای بررسی این که یک شبکه از کیفیت سرویس خوبی برخوردار است یا خیر از سنجش شبکه با این موارد نیز استفاده میکنند که زیر مفهموم هر کدام را بررسی میکنیم:
. Packet loss
در مواقعی که بسته دچار مشکل میشود و به مقصد مورد نظر ارسال نمیگردد یا در واقع زمانی که بسته ها به هر دلیلی قبل از رسیدن به مقصد drop میشوند. ممکن است زمانی که بسته drop میشود، اطلاعات درخواستی مجدد ارسال شوند که البته در این حالت هم کیفیت خدمات به علت تاخیر زیاد غیرقابل قبول خواهد بود.
. Jitter
به عنوان یک تغییر در تاخیر بسته ها است. در ارسال بسته ها در یک شبکه برای عدم تداخل بسته ها در مبدا، بسته ها به صورت یک جریان پیوسته با تاخیر تعیین شده ای در حال مسیر یابی میباشند. در صورتی که این جریان منظم با تاخیر های تعیین شده نباشد و تاخیر ها در این جریان تغییر پیدا کنند Jitter رخ داده است.
. Latency
ممکن است زمان زیادی برای رسیدن هر بسته به مقصد طول بکشد زیرا گاهی بسته ها در صف های طولانی نگه داشته میشوند. در برخی از موارد مانند خدمات voip یا بازی های آنلاین این تاخیر بیش از حد میتواند این برنامه ها را عملا غیر استفاده کند.
با بررسی هر کدام از این موارد در داخل یک شبکه میتوان به میزان کیفیت سرویس آن شبکه پی برد و آن را اندازه گیری کرد یا در صورت نیاز با انجام پیگیری های لازم این مشکلات را برطرف نمود.