کنترل پهنای باند

آموزش کنترل ترافیک و محدودیت پهنای باند توسط روتر و سوئیچ سیسکو

یک کاربر دانلود سنگینی شروع می‌کند و تماس‌های صوتی کل سازمان قطع و وصل می‌شود؛ یا ISP به شما ۲۰ مگابیت فروخته اما پورت اترنت ۱ گیگ است و باید سرعت هر مشترک را محدود کنید. کنترل پهنای باند در روترها و سوئیچ‌های سیسکو با دو ابزار اصلی انجام می‌شود: Policing و Shaping. هر دو ترافیک را به یک نرخ مشخص محدود می‌کنند، اما رفتارشان با ترافیک اضافه کاملاً متفاوت است.

در این مطلب تفاوت این دو، الگوریتم Token Bucket ، کانفیگ مدرن با MQC (Modular QoS CLI) ، محدود کردن سرعت یک شبکه یا کاربر، ترکیب با اولویت‌دهی صدا، و تفاوت‌های سوئیچ‌های Catalyst را بر پایه سند رسمی Comparing Traffic Policing and Traffic Shaping مرور می‌کنیم.

کنترل پهنای باند در روتر سیسکو
کنترل پهنای باند با Policing و Shaping

کنترل پهنای باند در یک نگاه

Policing ترافیک اضافه را drop یا remark می‌کند؛ ورودی و خروجی؛ بدون تأخیر
Shaping ترافیک اضافه را در صف نگه می‌دارد و بعداً می‌فرستد؛ فقط خروجی؛ نرم‌تر برای TCP
ابزار پیکربندی MQC : class-map ، policy-map و service-policy
روش توصیه‌شده سیسکو Class-Based Policing و Class-Based Shaping
روش‌های منسوخ rate-limit (CAR) و traffic-shape (GTS)
اولویت صدا LLQ با دستور priority

Policing یا Shaping؟

مقایسه Traffic Policing و Traffic Shaping
شکل سند رسمی سیسکو: Policing قله‌ها را می‌بُرد و Shaping آن‌ها را صاف می‌کند

شکل بالا از سند رسمی سیسکو تفاوت را نشان می‌دهد: Policer قله‌های ترافیک را می‌بُرد؛ Shaper همان قله‌ها را صاف می‌کند و در زمان‌های بعدی پخش می‌کند.

ویژگی Policing Shaping
جهت ورودی و خروجی فقط خروجی
ترافیک اضافه drop یا علامت‌گذاری مجدد (remark) در صف بافر می‌شود
تأخیر اضافه نمی‌کند اضافه می‌کند (صف)
اثر روی TCP drop باعث کاهش پنجره TCP و گاهی سرعت کمتر از حد تعیین‌شده می‌شود نرم‌تر؛ TCP به نرخ واقعی نزدیک‌تر می‌شود
مصرف منابع کم حافظه و پردازش بیشتر برای صف
کاربرد رایج ISP برای محدود کردن ورودی مشترک؛ محدود کردن ترافیک مزاحم سمت مشتری روی لینک WAN تا ISP ترافیک را drop نکند

طبق سند سیسکو، صف مفهومی خروجی است؛ پس «فقط Policing روی ترافیک ورودی یک اینترفیس قابل اعمال است». قاعده سرانگشتی: سمت فرستنده Shape کنید، سمت گیرنده Police.

Token Bucket به زبان ساده

هر دو ابزار از الگوریتم Token Bucket استفاده می‌کنند. یک سطل را تصور کنید که با سرعت ثابت (نرخ تعیین‌شده، CIR) پر از «ژتون» می‌شود؛ هر بایتی که ارسال می‌شود یک ژتون مصرف می‌کند. اندازه سطل (Burst یا Bc) تعیین می‌کند چقدر ترافیک می‌تواند یک‌باره و پشت‌سرهم عبور کند. اگر ژتون کافی نباشد، Policer بسته را drop می‌کند و Shaper آن را در صف نگه می‌دارد تا ژتون برسد.

الگوریتم Token Bucket
Token Bucket : ژتون با نرخ ثابت پر می‌شود و هر بایت یک ژتون مصرف می‌کند
سند سیسکو هشدار می‌دهد که Burst بیش از حد کوچک برای Policer ، به‌خصوص با ترافیک TCP ، باعث drop زیاد و افت شدید سرعت کلی می‌شود. اگر مقدار Burst را نمی‌دانید، آن را خالی بگذارید تا IOS مقدار مناسب را خودش محاسبه کند.

Policing : محدود کردن سرعت ورودی یک مشترک

مثال: ISP می‌خواهد ترافیک ورودی از پورت یک مشترک را به ۲۰ مگابیت محدود کند:

policy-map LIMIT-20M-IN
 class class-default
  police cir 20000000 conform-action transmit exceed-action drop
!
interface GigabitEthernet0/0/2
 description Customer ACME
 service-policy input LIMIT-20M-IN

به‌جای drop می‌توانید ترافیک اضافه را با DSCP پایین‌تر علامت بزنید تا فقط در زمان ازدحام دور ریخته شود: exceed-action set-dscp-transmit default.

Shaping : هماهنگ شدن با سرعت لینک ISP

روتر شما با پورت گیگابیت به یک لینک ۵۰ مگابیتی وصل است. اگر ترافیک را با سرعت گیگ بفرستید، ISP مازاد را drop می‌کند و شما کنترلی ندارید که چه چیزی drop شود. با Shaping ، خودتان ترافیک را به ۵۰ مگابیت محدود می‌کنید تا صف و اولویت‌بندی روی روتر شما اتفاق بیفتد:

class-map match-any VOICE
 match dscp ef
class-map match-any CRITICAL-APPS
 match dscp af31
!
policy-map WAN-CHILD
 class VOICE
  priority percent 20
 class CRITICAL-APPS
  bandwidth percent 30
 class class-default
  fair-queue
!
policy-map WAN-PARENT
 class class-default
  shape average 50000000
  service-policy WAN-CHILD
!
interface GigabitEthernet0/0/0
 description WAN to ISP 50M
 service-policy output WAN-PARENT

این همان ساختار Hierarchical QoS است: سیاست والد کل ترافیک را به ۵۰ مگابیت Shape می‌کند و سیاست فرزند داخل آن ۵۰ مگابیت، صدا را با LLQ (اولویت مطلق) و برنامه‌های حیاتی را با پهنای باند تضمین‌شده جلو می‌اندازد. سند سیسکو تأکید می‌کند در سیاست‌های سلسله‌مراتبی، در سطح والد باید از Shaping استفاده کرد نه Policing ، تا تضمین‌های فرزند حفظ شود.

محدود کردن یک شبکه یا یک کاربر مشخص

ip access-list extended GUEST-NET
 permit ip 192.168.50.0 0.0.0.255 any
class-map match-all GUEST
 match access-group name GUEST-NET
!
policy-map LAN-IN
 class GUEST
  police cir 10000000 conform-action transmit exceed-action drop
!
interface GigabitEthernet0/0/1
 service-policy input LAN-IN

این سیاست کل شبکه مهمان را روی هم به ۱۰ مگابیت محدود می‌کند. اگر محدودیت برای هر کاربر جداگانه لازم است، روی روترهای IOS XE از قابلیت per-user policing ، یا در شبکه وایرلس از Rate Limit روی WLAN یا کلاینت کنترلر استفاده کنید.

روی سوئیچ‌های Catalyst

  • سوئیچ‌های Catalyst 9000 هم MQC دارند: Policing روی ورودی پورت‌ها و SVIها، و Shaping و صف‌بندی روی خروجی پورت‌ها.
  • سوئیچ‌های قدیمی مثل 2960 و 3750 از mls qos و ساختار متفاوتی استفاده می‌کنند و Shaping محدودی دارند.
  • برای محدود کردن سیل broadcast روی پورت کاربر از storm-control استفاده کنید که ابزار جداگانه‌ای است.

دستورهای منسوخ

در آموزش‌های قدیمی دستورهای rate-limit (Committed Access Rate) و traffic-shape (Generic Traffic Shaping) را می‌بینید. این‌ها روی IOS XE وجود ندارند و سیسکو صریحاً توصیه می‌کند هر جا پلتفرم پشتیبانی می‌کند از Class-Based Policing و Class-Based Shaping استفاده کنید.

بررسی

R1# show policy-map interface GigabitEthernet0/0/0
  Service-policy output: WAN-PARENT
    Class-map: class-default (match-any)
      shape (average) cir 50000000, bc 200000, be 200000
      (queue depth/total drops/no-buffer drops) 0/12/0
      Service-policy : WAN-CHILD
        Class-map: VOICE (match-any)
          Priority: 20% (10000 kbps)

پرسش‌های متداول

سرعت واقعی کاربر از عدد police کمتر است؛ چرا؟
drop Policer باعث کوچک شدن پنجره TCP می‌شود. Burst را بزرگ‌تر کنید یا در سمت فرستنده Shape کنید.

می‌شود ترافیک ورودی از اینترنت را Shape کرد؟
نه روی اینترفیس ورودی؛ Shaping فقط خروجی است. برای ترافیک دانلود، روی اینترفیس LAN (خروجی به سمت کاربران) Shape کنید.

QoS برای صدا لازم است؟
روی لینک‌های WAN که گاهی پر می‌شوند، بله؛ LLQ تضمین می‌کند صدا هیچ‌وقت پشت دانلود منتظر نماند.

منابع رسمی

مطالب مرتبط: سیسکو NetFlow برای دیدن مصرف‌کنندگان پهنای باند و Control Plane Policing.

مشاوره با AKA NET

برای طراحی QoS ، کنترل پهنای باند و اولویت‌دهی صدا و تصویر روی شبکه‌های سیسکو با آکانت (AKA NET) تماس بگیرید.

تلفن: 09121308444  |  ایمیل: aka@aka.ir  |  aka.ir