SRE at Asa Co. / Agah Group
آشنایی با QoS – بخش پنجم (Policing & Shaping)
با سلام و عرض خسته نباشید خدمت تمام دنبال کنندگان عزیز نتورکباز، در ادامه قسمت قبلی، با مباحث جذاب Policing & Shaping در خدمتتون هستم.
در این بخش قرار است که درمورد 2 راهکار(یا ابزار) QoSـی دیگر صحبت کنیم با نام های Policing و Shaping. این دو مورد یکمقدار در جاهای خاص تری استفاده میشوند و معمولا در بخش های معمولی یک شبکه ی عادی دیده نمیشوند. این دو، بیشتر در لبه WAN یا همان WAN Edge استفاده میشوند.
هر دو سرعت یا همان Rateـه بیت ها و داده هایی را که درحال عبور از Device هستند را مانیتور و اندازه گیری میکنند. یعنی به محض فعال سازی آنها ، Policer ویا Shaper، سرعت هر پکتی که عبور میکند را شمارش و برای خود اندازه گیری میکنند و هردو تلاش میکنند که این سرعت انتقال را (bit rate) کمتر از میزان مشخص شده(پیکربندی شده) ویا به همان میزان پیکربندی شده برسانند و اجازه ندهند که از مقدار مشخص شده بیشتر شود؛ اما بازخورد (Action) یا بهتر است بگوییم روش هر کدام در برابر این موارد متفاوت است، Policer پکت هارا discard میکند ویا آنرا remarkمیکند(که این موضوع را در ادامه توضیح میدهیم) و shaper پکت هارا نگه میدارد و در صفهای تعریف شده قرار میدهد (تاخیر ایجاد میکند و باعث Delay میشود). در ادامه با هرکدام بصورت کاملتر آشنها خواهیم شد.
Policing
بصورت کلی اگر بخواهیم بگوییم که Policing دقیقا چه کاری انجام میدهد ، بدین صورت است که بروی سرعت ترافیک تمرکز میکند و سپس آنرا با میزان سرعت مشخص شده در Policer مقایسه میکند و درصورت عبور این مقدار از حده مجاز ، بسته های درحال عبوره اضافی را دور میاندازد (Discard میکند). ترافیک با سرعت و حالات متفاوت و گوناگون به device ها میرسد، اگر بخواهید گراف و یا نموداری از bit rateـه داده های ورودی و یا خروجی ایجاد کنید ،نتیجه ی شما یک چیزی شبیه گرافه سمت چپ در شکل زیر میشود(که Policer نموداری مشابه آنرا از روی داده های درحال عبور برای خود ترسیم میکند). خط افقیه مشخص شده با رنگ آبی ، میزان policing rate پیکربندی شده(کانفیگ شده) را نمایش میدهد.
نمودار سمت راست ، نشان میدهد که چه اتفاقی میافتد اگر Policer تصمیم به اعمال action و discard کردن پکت هایی که از میزان مشخص شده عبور کرده اند بگیرد.داده هایی که بالای خط افقی را به راحتی میبُرَّد.
نمودار سمت راست ، همچنین یک نمونه از اجازه ی رخ دادنه یک burst(انفجار ، شلیک) از ترافیک را نشان میدهد. Policer هر از چندگاهی بعد از کم شدن activity یا همان فعالیت ، اجازه ی یک burst (عبور از میزان مشخص شده) را برای یک زمان کوتاه میدهد.
چه زمانی میبایست از Policing استفاده کنیم؟
حالا که مقداری با مفاهیم Policing آشنا شدید ، ممکنه براتون سوال پیش اومده باشه که چطور با discard کردن و از بین بردن پکت ها میتوانیم کیفیت بهتر و QoS در شبکه داشته باشیم و اصلا این Policing به چه دردی میخوره؟ چراکه بنظر میاد بیشتر به شبکه لطمه میزنیم وبا action هایی که انجام میشود، باعث میشود که بعضا پکت ها از بین برن و دوباره ساخته و ارسال بشوند، این مورد چگونه به بهتر شدن پهنای باند، jitter و delay کمک میکند ؟ Policing فقط در شرایط خاصی مفید واقع میشود، به عنوان مثال در نظر بگیرید که اتصاله شبکه ی دو شعبه از کمپانی خود را بصورت Point to Point بروی بستر MetroEthernet (اتصال WAN بین 2 روتر لبه شعب شما) فراهم کرده اید(شکل زیر).
عموما مهندسین شبکه داخل سازمان شما ، این ارتباط مابین را بصورت یک ابر(Cloud) میبینند و به جزئیات آن کاری ندارند که چگونه ارتباطشان بر این بستر فراهم میگردد و شبکه را به این صورت در نظر میگیرند که انگار دو روتر مستقیما به استفاده از لینک های Ethernet بهم متصل شده اند.
حالا بیایید از سمت Service Provider ، به قراردادی که این بستر را فراهم کرده است نگاه کنیم.در اینجا ارتباط از طریق یک پورت Gig و CIR(سرعتی که بروی آن توافق شده و برای آن هزینه پرداخت میشود)ـه 200Mgps فراهم شده است که SP آنرا به تمام مسیر های خریداری شده اختصاص میدهد.
برای یک لحظه فکر کنید که SP با توجه به دهها و صدها مشتریای که دارد و حتی با توجه به اینکه CIR ای تعیین شده است، به تمامی آنها اجازه ی عبوره دیتا به اندازه ی پهنای باند قابل پشتیبانی توسط لینک ارتباطی (به عنوان مثال در اینجا 1000mgps یا همان 1Gbps) را بدهد! این میزان ترافیک زیاد میتواند به راحتی باعث congestion در شبکه و کلی باره ترافیکی زیاد و در نهایت خوابیدن شبکه SP شود.
همچنین ممکن است تعدادی از مشتریان به خود بگویند که SP به هرحال داده مارا انتقال میدهد، پس تصمیم به پرداخت به میزان CIR بسیار پایینتری میگیرند،گرچه در این شرایط خوب و بد باهم میسوزند و حتی مشتریان خوبی هم که از این شرایط سوء استفاده نمیکنند ، به همان میزانه مشتریان دیگر از مشکل شبکه ی SP ، ضرر میکنند.
تصویر ما به راحتی راهکار و راه حل این مشکل را هم نمایش میدهد ، و آن این است که که SP داده های ورودی از سمت شرکت ما را بر اساس CIR مشخص شده و پرداخت شده از سمت مشتری Police میکند و با اینکار از تمامی مشتریان خود در برابر بازخورده منفیه ارسال بیش از حده دیتا از سمت مشتری و یا مشتریان دیگر جلوگیری میکند و به هر مشتری ، دقیقا همان میزان پهنای باند و سرعت توافق شده را ارائه میدهد.
سیستم Policer همچنین میتواند یک action دیگری هم انجام دهد و بسته هارا remark کند.بگذارید به این صورت بگوییم که در این سناریوی فرضیه ما ، SP میتواند یکجورایی به مشتریان خود یک راهکار بهتر ارائه بدهد (بجای اینکه پکت هارا از بین ببرد) و همچنین از شبکه ی خودش محافظت کند، پس از یک استراتژی جدید استفاده میکند :
- بسته هایی که از میزان مشخص و پیکربنده شده عبور میکنند را علامت گذاری میکند و اجازه میدهد آنها وارد شبکه SP شوند.
- اگر دیوایس های دیگر SP ، سرشان خلوت نبود و زیر باره ترافیکی سنگینی بودند ، این بسته های علامت گذاری شده میتوانند discard شوند.
- در غیر این صورت ، یعنی اگر دیوایس ها زیر بار سنگینی نبودند و از پس پردازه این پکت ها برمی آمدهد ، اجازه ی پردازش و عبور این پکت ها داده میشود.
با این استراتژی، SP قادر است سرویس بهتری را به مشتریان خود ارائه دهد و میزان داده ی کمتری را از بین ببرد و همچنین از شبکه خود محافظت کند.
امیدوارم که مقاله تا اینجا جالب و مفید بوده باشه.
در پست آینده ، با Shaping آشنا خواهیم شد. موفق باشید.
مطلبی دیگر از این انتشارات
آشنایی با پروتکل Border Gateway Protocol - BGP
مطلبی دیگر از این انتشارات
پروازی بر دنیای امنیت شبکه (قسمت یازدهم) – طراحی قوانین
مطلبی دیگر از این انتشارات
پروازی بر دنیای امنیت شبکه (قسمت چهاردهم) – مفاهیم VPN