Quality of Service (QoS)

در این مقاله مطالب ذیل بررسی میشود.

 

بررسی اجمالی

اصطلاحات QoS

پشتیبانی از دستگاه QoS

کاربردها و مثال های استفاده

علامت گذاری QoS

اجرای QoS

مدیریت کوئری فعال (AQM)

مرجع اموال

منوی QoS

تنظیمات QoS

مانیتور QoS

پروفایل QoS

نقشه برداری QoS

 

بررسی اجمالی

این مقاله استفاده از کیفیت خدمات (QoS) را در RouterOS بر اساس تراشه‌های سوئیچ Marvell Prestera DX (سوئیچ‌های سری CRS3xx، CRS5xx و روترهای CCR2116، CCR2216) تعریف می‌کند.

QoS مجموعه‌ای از ویژگی‌ها در سوئیچ‌های شبکه است که به مدیران شبکه اجازه می‌دهد ترافیک را اولویت‌ بندی کنند و منابع شبکه را تخصیص دهند.

تا اطمینان حاصل شود که داده‌های مهم به صورت روان و با تأخیر کم جریان دارند.

وظیفه اصلی QoS در سوئیچ های شبکه، مدیریت ترافیک شبکه به گونه ای است که نیازهای خاص انواع مختلف برنامه های کاربردی شبکه را برآورده کند.

به عنوان مثال، داده‌های صوتی و تصویری به تأخیر کم و حداقل از دست دادن بسته برای اطمینان از ارتباط با کیفیت بالا نیاز دارند،

در حالی که انتقال فایل و سایر برنامه‌های داده می‌توانند سطوح بالاتر تأخیر و از دست رفتن بسته‌ها را تحمل کنند.

QoS با شناسایی نوع ترافیکی که از طریق سوئیچ جریان می‌یابد و بر اساس الزامات آن یک سطح اولویت را به آن اختصاص می‌دهد، کار می‌کند.

سپس سوئیچ می‌تواند از این اطلاعات برای تغییر هدر بسته‌ ها و اولویت‌بندی جریان ترافیک استفاده کند و اطمینان حاصل کند که ترافیک با اولویت بالاتر نسبت به ترافیک با اولویت پایین‌تر رفتار ترجیحی دارد.

 

مراحل اجرای QoS برنامه ریزی شده:

  • علامت گذاری QoS.

مطابقت نمایه QoS با هدرهای بسته ورودی، سپس تناوب هدر خروجی با توجه به پروفایل های QoS اختصاص داده شده (معرفی شده در RouterOS نسخه 7.10).

  • اجرای QoS.

از ازدحام بر اساس نمایه‌های QoS اختصاص داده شده و شکل‌دهی ترافیک (که در RouterOS نسخه 7.13 برای تراشه‌های سوئیچ 98DX224S، 98DX226S، و 98DX3236 معرفی شده‌اند، و به همه تراشه‌های سوئیچ توانمند که از RouterOS نسخه 7.15 شروع می‌شود، گسترش یافته است) اجتناب کنید.

  • خط مشی QoS.

پروفایل های QoS را از طریق قوانین ACL (معرفی شده در RouterOS نسخه 7.15) اختصاص دهید.

  • ویژگی های اضافی QoS: WRED

(تشخیص اولیه تصادفی وزنی)، اعلان و پردازش ECN، PFC (کنترل جریان مبتنی بر اولویت) (معرفی شده در RouterOS نسخه 7.15 برای تراشه های سوئیچ توانمند).

  • شکل‌دهی ترافیک

(شکل‌دهی ترافیک در هر صف در RouterOS نسخه 7.15 معرفی شده است).

 

اصطلاحات QoS

این اصطلاحات در سراسر مقاله استفاده خواهند شد.

QoS – کیفیت خدمات.

ACL – لیست کنترل دسترسی، مجموعه ای از قوانین سوئیچ که برای فیلتر کردن ترافیک شبکه بر اساس معیارهای مشخص استفاده می شود.

AQM – مدیریت صف فعال.

DSCP – Differentiated Services Code Point، یک فیلد 6 بیتی در هدر IP که برای اولویت بندی ترافیک شبکه استفاده می شود.

ECN – اعلان ازدحام صریح.

PCP – Priority Code Point، یک فیلد 3 بیتی در هدر VLAN که برای اولویت بندی ترافیک در یک VLAN استفاده می شود.

PFC – کنترل جریان مبتنی بر اولویت (IEEE 802.1Qbb).

RoCE – RDMA از طریق اترنت همگرا.

WRED – تشخیص زودهنگام تصادفی وزنی.

/in/eth/sw/ یک میانبر برای /interface/ethernet/switch/. میانبر در CLI نیز کار می کند.

 

پشتیبانی از دستگاه QoS

Model

Switch Chip QoS profiles QoS Maps TX Managers WREd ECN PFC Profile 3 Port/Queue Usage Stats

CRS518-16XS-2XQ

98DX8525 1024 12

15

8 Max fill
CRS510-8XS-2XQ 98DX4310 1024

12

15

8

Max fill

CRS504-4XQ 98DX4310 1024 12

15

8

Max fill

CRS354-48G-4S+2Q+

98DX3257 1024 12

15

8

Unreliable

CRS328-24P-4S+ 98DX3236 128 1

8

Current values

CRS328-4C-20S-4S+ 98DX3236 128 1

8

Current values

CRS326-24S+2Q+ 98DX8332 1024 12

15

8

Unreliable

CRS326-24G-2S+ 98DX3236 128 1

8

Current values

CRS318-16P-2S+ 98DX226S 128 1 8

Current values

CRS318-1Fi-15Fr-2S 98DX224S 128 1 8

Current values

CRS317-1G-16S+ 98DX8216 1024 12 15 8

Unreliable

CRS312-4C+8XG 98DX8212 1024 12 15 8

Unreliable

CRS310-1G-5S-4S+ 98DX226S 128 1 8

Current values

CRS309-1G-8S+ 98DX8208 1024 12 15 8

Unreliable

CRS305-1G-4S+ 98DX3236 128 1 8

Current values

CCR2216-1G-12XS-2XQ 98DX8525 1024 12 15 8

Max fill 2

CCR2116-12G-4S+ 98DX3255 1024 12 15 8

Unreliable 1

1 با توجه به محدودیت‌های سخت‌افزاری، برخی از مدل‌های تراشه سوئیچ ممکن است جریان ترافیک را در حین دسترسی به داده‌های استفاده از پورت/صف QoS قطع کنند.

2 دستگاه به جای نمایش مقادیر مصرف فعلی، حداکثر آمار پر شدن صف را جمع آوری می کند. برای بازنشانی این آمار از دستور reset-counters استفاده کنید.

3 دستگاه های بدون نمایه PFC از کنترل جریان مبتنی بر اولویت پشتیبانی نمی کنند.

 

کاربردها و مثال های استفاده

  • مثال پیکربندی پایه

در این مثال، ما فقط یک سطح QoS – VoIP (IP Telephony) را در بالای کلاس استاندارد “Best Effort” تعریف می کنیم.

بیایید تصور کنیم که یک دستگاه CRS326-24G-2S+ داریم که در آن:

همه پورت ها پل شده و با استفاده از vlan-filtering.

sfp-sfpplus1 یک VLAN ترانک است که به سوییچ دیگری متصل است.

ether1-ether9 پورت های اختصاصی برای تلفن های IP هستند.

ether10-ether24 پورت های استاندارد برای اتصال میزبان هستند.

ابتدا باید پروفایل های QoS را تعریف کنیم.

مقادیر dscp و pcp تعریف شده در بسته های ارسال شده در خروجی استفاده می شود:

/interface ethernet switch qos profile
add dscp=46 name=voip pcp=5 traffic-class=5

تخصیص پروفایل QoS مبتنی بر پورت در پورت های اختصاصی تلفن های IP برای ترافیک ورودی اعمال می شود.

سایر پورت‌های اترنت از نمایه پیش‌فرض qos استفاده می‌کنند (که در آن dscp=0 و pcp=0)

 

/interface ethernet switch qos port
set ether1 profile=voip
set ether2 profile=voip
set ether3 profile=voip
set ether4 profile=voip
set ether5 profile=voip
set ether6 profile=voip
set ether7 profile=voip
set ether8 profile=voip
set ether9 profile=voip

نکته :

  • با شروع از RouterOS نسخه 7.13، تنظیمات پورت QoS از /interface/ethernet/switch/port به /interface/ethernet/switch/qos/port منتقل شد.
  • پیشوند “qos-” از فیلدهای مربوطه حذف شده است (زیرا همه فیلدها به هر حال مربوط به qos هستند).

 

پورت ترانک هر دو نوع ترافیک QoS را دریافت می کند.

ما باید نگاشت اولویت VLAN را با نمایه QoS ایجاد کنیم و qos-trust-l2 را فعال کنیم تا آنها را متمایز کند:

/interface ethernet switch qos map vlan
add pcp=5 profile=voip
/interface ethernet switch port
set sfp-sfpplus1 trust-l2=trust

در نهایت، برای شروع به کار تنظیمات بالا، بارگذاری سخت افزار QoS را فعال کنید:

/interface ethernet switch
set switch1 qos-hw-offloading=yes

 

بررسی تنظیمات QoS پورت با دستور print امکان پذیر است:

[admin@MikroTik] /interface/ethernet/switch/qos/port print
Columns: NAME, SWITCH, PROFILE, MAP, TRUST-L2, TRUST-L3
 # NAME          SWITCH   PROFILE  MAP      TRUST-L2  TRUST-L3  TX-MANAGER
 0 ether1        switch1  voip     default  ignore    ignore    default
 1 ether2        switch1  voip     default  ignore    ignore    default
 2 ether3        switch1  voip     default  ignore    ignore    default
 3 ether4        switch1  voip     default  ignore    ignore    default
 4 ether5        switch1  voip     default  ignore    ignore    default
 5 ether6        switch1  voip     default  ignore    ignore    default
 6 ether7        switch1  voip     default  ignore    ignore    default
 7 ether8        switch1  voip     default  ignore    ignore    default
 8 ether9        switch1  voip     default  ignore    ignore    default
 9 ether10       switch1  default  default  ignore    ignore    default
10 ether11       switch1  default  default  ignore    ignore    default
11 ether12       switch1  default  default  ignore    ignore    default
12 ether13       switch1  default  default  ignore    ignore    default
13 ether14       switch1  default  default  ignore    ignore    default
14 ether15       switch1  default  default  ignore    ignore    default
15 ether16       switch1  default  default  ignore    ignore    default
16 ether17       switch1  default  default  ignore    ignore    default
17 ether18       switch1  default  default  ignore    ignore    default
18 ether19       switch1  default  default  ignore    ignore    default
19 ether20       switch1  default  default  ignore    ignore    default
20 ether21       switch1  default  default  ignore    ignore    default
21 ether22       switch1  default  default  ignore    ignore    default
22 ether23       switch1  default  default  ignore    ignore    default
23 ether24       switch1  default  default  ignore    ignore    default
24 sfp-sfpplus1  switch1  default  default  trust     ignore    default
25 sfp-sfpplus2  switch1  default  default  ignore    ignore    default
26 switch1-cpu   switch1  

اکنون بسته‌های ورودی در پورت‌های ether1-ether9 با مقدار نقطه کد اولویت (PCP) 5 و نقطه کد خدمات متمایز (DSCP) 46 و بسته‌های ورودی در پورت‌های ether10-ether24 با مقادیر PCP و DSCP علامت‌گذاری می‌شوند.

0. هنگامی که بسته ها به پورت sfp-sfpplus1 وارد می شوند، هر بسته با مقدار PCP 5 یا بالاتر، مقدار PCP خود را 5 و مقدار DSCP 46 را حفظ می کند،

در حالی که همه بسته های دیگر با مقادیر PCP و DSCP 0 علامت گذاری می شوند.

 

Dante

 

از RouterOS نسخه 7.15، همه دستگاه‌های MikroTik QoS-Capable با Dante مطابقت دارند.

سخت افزار Dante از مقادیر اولویت DSCP / Diffserv زیر برای اولویت بندی ترافیک استفاده می کند.

 

Dante Priority Usage DSCP Label DSCP Value
High Time critical PTP events CS7 56
Low (reserved) CS1 8
Medium Audio, PTP EF 46
None Other traffic BE 0

 

مثال فرض می‌کند که سوئیچ از پیکربندی پیش‌فرض خود استفاده می‌کند،

که شامل یک رابط پیش‌فرض “بریج ” و تمام رابط‌های اترنت اضافه شده به عنوان پورت‌های بریج است، و هر یک از این رابط‌ها می‌تواند برای Dante استفاده شود.

ابتدا، نمایه‌های QoS را برای مطابقت با کلاس‌های ترافیک Dante ایجاد کنید،

از قبل یک نمایه «پیش‌فرض» وجود دارد که با اولویت None دانته مطابقت دارد.

/interface/ethernet/switch/qos/profile
add name=dante-ptp dscp=56 pcp=7 traffic-class=7
add name=dante-audio dscp=46 pcp=5 traffic-class=5
add name=dante-low dscp=8 pcp=1 traffic-class=0

سپس، یک نگاشت QoS برای مطابقت با پروفایل های QoS بر اساس مقادیر DSCP ایجاد کنید.

/interface/ethernet/switch/qos/map/ip
add dscp=56 profile=dante-ptp
add dscp=46 profile=dante-audio
add dscp=8 profile=dante-low

صف های سخت افزاری را برای اعمال QoS در ترافیک Dante پیکربندی کنید.

/interface/ethernet/switch/qos/tx-manager/queue
set [find where traffic-class>=2] schedule=strict-priority
set [find where traffic-class<2] schedule=low-priority-group weight=1

ترافیک با اولویت بالا و متوسط ​​دانته با نظم دقیق برنامه ریزی شده است.

دستگاه‌ها بسته‌های PTP حساس به زمان را تا زمانی که صف ۷ خالی شود، ارسال می‌کنند،

سپس صدا را ادامه می‌دهند (صف ۵).

ترافیک کم و سایر ترافیک تنها زمانی منتقل می شود که صف های PTP و صدا خالی باشند.

از آنجایی که دانته ترتیب اولویت را بین ترافیک Low و Other تعریف نمی کند (معمولاً CS1 اولویت کمتری نسبت به Best Effort دارد)

و کلاس Low ترافیک به هر حال برای استفاده در آینده محفوظ است، با قرار دادن هر دو در یک گروه با هر دو نوع ترافیک یکسان رفتار می کنیم.

همان وزن اگر سخت‌افزار Dante در شبکه شما از کلاس ترافیک با اولویت پایین استفاده می‌کند، می‌توانید زمان‌بندی ترافیک CS1/BE را مطابق با الزامات تغییر دهید.

مرحله بعدی فعال کردن حالت اعتماد برای بسته های Layer3 ورودی است (فیلد IP DSCP):

/interface/ethernet/switch/qos/port
set [find] trust-l3=keep

در نهایت، برای شروع به کار تنظیمات بالا، بارگذاری سخت افزار QoS را فعال کنید:

/interface ethernet switch
set switch1 qos-hw-offloading=yes

 

هنگام استفاده از Dante در حالت چندپخشی، فعال کردن IGMP Snooping روی سوئیچ مفید است.

این ویژگی ترافیک را فقط به پورت های دارای دستگاه های مشترک هدایت می کند و از سیل غیر ضروری جلوگیری می کند.

علاوه بر این، فعال کردن یک درخواست IGMP (اگر قبلاً در دستگاه دیگری در همان LAN فعال نشده باشد)، تنظیم فواصل پرس و جو، و فعال کردن خروج سریع می تواند عملکرد چندپخشی را بیشتر بهینه کند.

/interface/bridge
set [find name=bridge] igmp-snooping=yes multicast-querier=yes query-interval=60s
/interface/bridge/port
set [find] fast-leave=yes

علامت گذاری QoS

  • درک محدوده نقشه

به منظور اجتناب از تعریف همه نگاشت های PCP و DSCP ممکن، RouterOS اجازه می دهد تا حداقل مقادیر PCP و DSCP را برای نقشه برداری QoS Profile تنظیم کنید.

در مثال زیر، مقادیر PCP 0-2 از نمایه QoS پیش فرض، 3-4 – (streaming)جریان، 5 – voip و 6-7 – کنترل استفاده می کنند.

/interface ethernet switch qos map vlan
add pcp=3 profile=streaming
add pcp=5 profile=voip
add pcp=6 profile=control

از آنجایی که پارامتر pcp حداقل مقدار را مشخص می کند، همه بسته های دارای مقدار PCP بالاتر نیز مطابقت دارند.

اگر چنین رفتاری نامطلوب است، نقشه برداری را برای مقادیر بالاتر اضافه کنید.

مثال بعدی نمایه voip را فقط برای pcp=5 تنظیم می کند. بسته های با مقادیر PCP 6 یا 7 به نمایه پیش فرض بازنشانی می شوند.

 

/interface ethernet switch qos map vlan
add pcp=5 profile=voip
add pcp=6 profile=default

  • درک رابطه پورت، پروفایل و نقشه

هر پورت سوئیچ دارای تنظیمات اعتماد Layer2 و Layer3 است که نحوه طبقه بندی بسته های ورودی به پروفایل های QoS و مقادیر PCP و DSCP را تغییر می دهد.

در زیر جداولی وجود دارد که تمام گزینه های ممکن را توضیح می دهد:

qos-trust-l2 qos-trust-l3 Behavior
ignore ignore The port is considered untrusted. Both headers are ignored, and the port’s profile is forced to all ingress packets. This is the default setting.
ignore trust Trust the Layer 3 header. Use the DSCP field from the IP header of ingress packets for QoS profile lookup (see /in/eth/sw/qos/map/ip). If the lookup fails (no QoS profiles are mapped to the given DSCP value), the default QoS profile is used (not the switch port’s QoS profile). The switch port’s profile field is used only for non-IP traffic.
ignore keep Trust the Layer 3 header. Use the DSCP field from the IP header of ingress packets for QoS profile lookup (see /in/eth/sw/qos/map/ip). If the lookup fails, the default QoS profile is used. The switch port’s profile field is used only for non-IP traffic. If the forwarded/routed packet is VLAN-tagged, its PCP value is set from the selected QoS profile. However, the original DSCP value of the packet is kept intact.
keep ignore Trust the Layer 2 header but ignore L3. If an ingress packet is VLAN-tagged, use the PCP field from the VLAN header for QoS profile lookup (see /in/eth/sw/qos/map/vlan). If the lookup fails (no QoS profiles are mapped to the given PCP value), the default QoS profile is used. The switch port’s profile field is used only for untagged traffic. If the packet is VLAN-tagged on both ingress and egress, the original PCP value is kept.
keep trust Trust both headers, but Layer 3 has higher precedence. In the case of an IP packet, use the DSCP field for QoS profile lookup (see /in/eth/sw/qos/map/ip). If the DSCP-to-QoS lookup fails, use the default profile. If the packet is not an IP packet but is VLAN-tagged, use the PCP field from the VLAN header for QoS profile lookup (see /in/eth/sw/qos/map/vlan).  If the VLAN-to-QoS lookup fails, use the default QoS profile. Non-IP untagged packets use the switch port’s profile. If the packet is VLAN-tagged on both ingress and egress, the original PCP value is kept. The DSCP value in forwarded/routed packets is set from the selected QoS profile.
keep keep Trust both headers, but Layer 3 has higher precedence. In the case of an IP packet, use the DSCP field for QoS profile lookup (see /in/eth/sw/qos/map/ip). If the DSCP-to-QoS lookup fails, use the default profile. If the packet is not an IP packet but is VLAN-tagged, use the PCP field from the VLAN header for QoS profile lookup (see /in/eth/sw/qos/map/vlan).  If the VLAN-to-QoS lookup fails, use the default QoS profile. Non-IP untagged packets use the switch port’s profile. Keep both the original PCP and/or DSCP values intact in cases of VLAN-tagged and/or IP packets, respectively.
trust ignore Trust the Layer 2 header, but ignore L3. If an ingress packet is VLAN-tagged, use the PCP field from the VLAN header for QoS profile lookup (see /in/eth/sw/qos/map/vlan). If the lookup fails (no QoS profiles are mapped to the given PCP value), the default QoS profile is used. The switch port’s profile field is used only for untagged traffic.
trust trust Trust both headers, but Layer 3 has higher precedence. In the case of an IP packet, use the DSCP field for QoS profile lookup (see /in/eth/sw/qos/map/ip). If the DSCP-to-QoS lookup fails, use the default profile. If the packet is not an IP packet but is VLAN-tagged, use the PCP field from the VLAN header for QoS profile lookup (see /in/eth/sw/qos/map/vlan).  If the VLAN-to-QoS lookup fails, use the default QoS profile. Non-IP untagged packets use the switch port’s profile.

 

Port settings
The selected QoS profile and the source for PCP / DSCP field values in forwarded/routed packets
qos-trust-l2
 
qos-trust-l3
VLAN-Tagged IP Untagged IP VLAN-Tagged Non-IP Untagged Non-IP
QoS Profile PCP DSCP QoS Profile PCP 1 DSCP QoS Profile PCP DSCP QoS Profile PCP 1 DSCP
ignore ignore profile profile profile profile profile profile profile profile profile profile
ignore trust map/ip map/ip map/ip map/ip map/ip map/ip profile profile profile profile
ignore keep map/ip map/ip original map/ip map/ip original profile profile profile profile
trust ignore map/vlan map/vlan map/vlan profile profile profile map/vlan map/vlan profile profile
trust trust map/ip map/ip map/ip map/ip map/ip map/ip map/vlan map/vlan profile profile
trust keep map/ip map/ip original map/ip map/ip original map/vlan map/vlan profile profile
keep ignore map/vlan original map/vlan profile profile profile map/vlan original profile profile
keep trust map/ip original map/ip map/ip profile map/ip map/vlan original profile profile
keep keep map/ip original original map/ip profile original map/vlan original profile profile

فقط زمانی اعمال می شود که ترافیک ورودی بدون برچسب باشد، اما خروجی باید دارای برچسب VLAN باشد.

 

  • علامت گذاری QoS از طریق قوانین سوئیچ (ACL)

با شروع RouterOS نسخه 7.15، امکان اختصاص پروفایل های QoS از طریق قوانین سوئیچ (ACL) وجود دارد.

Sub-menu: /interface/ethernet/switch/rule

new-qos-profile (name) The name of the QoS profile to assign to the matched packets.
keep-qos-fields (yes | no; Default: no) Should the original values of QoS fields (PCP, DSCP) be kept (yes), or replace them with the ones from the assigned QoS profile (no)? Relevant only if new-qos-profile is set.
new-vlan-priority (0..7) Deprecated and should be replaced with the respective new-qos-profile. Kept for backward compatibility. Relevant only if qos-hw-offloading=no.

 

مثال زیر یک نمایه QoS را بر اساس آدرس MAC منبع اختصاص می دهد.

/interface ethernet switch rule
add new-qos-profile=stream ports=ether1,ether2 src-mac-address=00:01:02:00:00:00/FF:FF:FF:00:00:00 switch=switch1
add new-qos-profile=voip ports=ether1,ether2 src-mac-address=04:05:06:00:00:00/FF:FF:FF:00:00:00 switch=switch1

اجرای QoS

  • کوئری های سخت افزاری

هر پورت سوئیچ دارای هشت صف انتقال سخت افزاری (tx) است (queue0..queue7).

هر صف مربوط به یک کلاس ترافیک (tc0..tc7) است که توسط یک نمایه QoS تنظیم شده است.

هر بسته ورودی به یک نمایه QoS اختصاص داده می شود، که به نوبه خود کلاس ترافیک را برای انتخاب صف tx در پورت خروج تعیین می کند.

صف های سخت افزار دارای اندازه متغیر هستند – توسط مدیر انتقال تنظیم می شوند.

علاوه بر این، چندین پورت و/یا صف می توانند منابع را با یکدیگر به اشتراک بگذارند (به اصطلاح بافرهای مشترک).

به عنوان مثال، دستگاهی با 25 پورت دارای حافظه (بافر) است تا در مجموع 1200 بسته را در صف قرار دهد.

اگر منابع را به طور مساوی تقسیم کنیم، هر پورت 48 بافر انحصاری با حداکثر 6 بسته در هر صف دریافت می کند (48/8) – که معمولاً برای جذب حتی یک انفجار کوتاه از ترافیک کافی نیست.

با این حال، انتخاب به اشتراک گذاری 50٪ از بافرها، هر پورت را با 24 بافر انحصاری (3 در هر صف) ترک می کند،

اما در همان زمان، یک صف می تواند تا 603 بافر (3 منحصر به فرد + 600 مشترک) افزایش یابد.

RouterOS امکان فعال/غیرفعال کردن استخر مشترک برای هر صف را به صورت جداگانه می دهد – به عنوان مثال، برای جلوگیری از مصرف ترافیک با اولویت پایین کل حافظه سخت افزاری.

علاوه بر این، محدودیت‌های بافر پورت ممکن است مانع از مصرف یک پورت کم سرعت کل استخر مشترک شود.

برای جزئیات به تنظیمات QoS و مدیر انتقال مراجعه کنید.

نکته : کلاس ترافیک پیش فرض، بهترین تلاش (PCP=0، DSCP=0) 1 است، در حالی که کمترین اولویت (PCP=1) دارای کلاس ترافیک 0 است.

 

  • منابع سخت افزاری

سخت افزار (تراشه های سوئیچ) منابع (حافظه) محدودی دارد.

دو منبع سخت افزاری اصلی مرتبط با QoS وجود دارد:

Packet descriptors – حاوی اطلاعات کنترل بسته (درگاه هدف، تناوب هدر و غیره) هستند.

Data buffers– تکه های حافظه حاوی بار واقعی. اندازه بافر به مدل تراشه سوئیچ بستگی دارد. معمولا – 256 بایت.

یک Packet descriptors ممکن است از چند بافر استفاده کند (بسته به اندازه بار).

بافرها ممکن است توسط چندین توصیف کننده به اشتراک گذاشته شوند – در موارد چندپخشی/پخشی.

اگر سخت افزار به اندازه کافی descriptor یا buffer آزاد نداشته باشد، بسته حذف می شود (tail-drop).

منابع سخت افزاری را می توان در هر نوع مقصد (multicast/unicast)، هر پورت و هر صف tx محدود کرد.

در صورت رسیدن به هر محدودیتی، هیچ بسته دیگری را نمی توان در صف ارسال قرار داد و بسته های بعدی حذف می شوند.

RouterOS اطلاعات سخت‌افزاری سطح پایین را پنهان می‌کند و به شما امکان می‌دهد محدودیت‌های منابع را بر حسب بسته‌ها یا درصدی از مقدار کل تعیین کنید.

RouterOS به طور خودکار توصیفگر سخت افزار و تعداد بافر مورد نیاز را بر اساس محدودیت بسته مشخص شده توسط کاربر و MTU پورت محاسبه می کند.

علاوه بر این، RouterOS با منابع سخت افزاری از پیش پیکربندی شده عرضه می شود، بنابراین نیازی به پیکربندی دستی در محیط های QoS معمولی نیست.

 

توجه : تغییر هر پارامتر تخصیص منابع سخت افزاری در زمان اجرا منجر به توقف موقت دستگاه می شود،

زمانی که هیچ بسته ای نمی تواند در نوبت قرار گیرد یا ارسال شود.

زمانی که دستگاه در حال انتقال ترافیک است، گم شدن موقت بسته انتظار می رود.

 

  • صرفه جویی در منابع

از آنجایی که تخصیص مجدد منابع سخت افزاری در زمان اجرا یک گزینه نیست،

RouterOS نمی تواند به طور خودکار بافرهای صف رزرو شده برای پورت های غیرفعال را آزاد کند.

آن بافرها بلااستفاده می مانند.

با این حال، اگر کاربر بداند که پورت‌های خاص هرگز استفاده نخواهند شد (به عنوان مثال، از نظر فیزیکی قطع می‌شوند)،

منابع صف مربوطه را می‌توان به صورت دستی با استفاده از tx-manager داخلی “آفلاین” با حداقل منابع آزاد کرد:

/interface/ethernet/switch/qos/port
set [find where !(running or name~"cpu")] tx-manager=offline
  • اولویت بندی ترافیک

سخت افزار دو نوع اولویت بندی انتقال ترافیک را فراهم می کند:

اولویت دقیق – ترافیک از صف های بالاتر همیشه ابتدا منتقل می شود.

گروه های اولویت وزنی – چندین صف به طور همزمان در برنامه ریزی انتقال بسته شرکت می کنند.

صف های اولویت دقیق ساده هستند. اگر صف با اولویت بالاتر (Q7) بسته هایی داشته باشد، ابتدا آن ها ارسال می شوند.

وقتی Q7 خالی است، بسته های Q6 ارسال می شوند و غیره.

بسته ها از صف کمترین اولویت (Q0) تنها در صورتی ارسال می شوند که تمام صف های دیگر خالی باشند.

نقطه ضعف اولویت بندی دقیق افزایش تاخیر در صف های پایین تر در حالی که “اولویت بندی بیش از حد” صف های بالاتر است.

فرض کنید تاخیر قابل قبول TC5 20ms، TC3 – 50ms باشد.

ترافیکی که در Q5 ظاهر می شود به دلیل اولویت دقیق صف فوراً منتقل می شود و تاخیر اضافی به هر بسته در صف های پایین تر (Q4..Q0) اضافه می کند.

انفجار بسته در Q5 (به عنوان مثال، شروع یک تماس صوتی) ممکن است به طور موقت Q3 را “فلج” کند و تاخیرهای TC3 را بیش از 50 میلی ثانیه قابل قبول افزایش دهد (یا حتی باعث افت بسته به دلیل صف کامل شود)

در حالی که بسته های TC5 در کمتر از 1 میلی ثانیه (راهی) ارسال می شوند. (زیر حد 20 میلی ثانیه).

کمی قربانی کردن تأخیر TC5 با انتقال بسته های TC3 در بین آنها، همه را خوشحال می کند.

 

گروه‌های اولویت وزنی، ترافیک را برای ارسال از صف‌های متعدد (اعضای گروه) به صورت دور برگشتی وزن‌دار برنامه‌ریزی می‌کنند.

وزن یک صف تعداد بسته های ارسال شده از صف را در هر دور تعیین می کند.

به عنوان مثال، اگر Q2، Q1 و Q0 اعضای گروه باشند و وزن آنها به ترتیب 3، 2 و 1 باشد،

زمانبندی 3 بسته از Q2، 2 – از Q1 و 1 – از Q0 ارسال می کند.

سفارش واقعی Tx “Q2، Q1، Q0، Q2، Q1، Q2” است – برای زمان‌بندی حتی منصفانه‌تر.

دو گروه سخت افزاری وجود دارد:

گروه با اولویت پایین و گروه با اولویت بالا.

یک ترتیب اولویت دقیق بین دو گروه وجود دارد:

گروه با اولویت پایین تنها زمانی مخابره می کند که تمام صف های گروه با اولویت بالا خالی باشد.

با این حال، استفاده از یک گروه برای تمام صف ها امکان پذیر است.

تنظیم صف پیش‌فرض RouterOS (توکار) در زیر فهرست شده است.

Q3-Q5 پهنای باند را در گروه با اولویت بالا به اشتراک می گذارد، جایی که بسته ها در حالی که Q6 و Q7 خالی هستند منتقل می شوند.

Q0-Q2 اعضای گروه با اولویت پایین هستند، جایی که بسته ها در حالی که Q3-Q7 خالی هستند منتقل می شوند.

 

مدیریت کوئری فعال (AQM)

  • تشخیص زودهنگام تصادفی وزنی (WRED)

WRED یک مکانیسم کنترل تراکم در هر صف است که با رها کردن بسته‌ها، رویدادهای ازدحام را به نقاط پایانی سیگنال می‌دهد.

WRED متکی به وجود مکانیسم‌های کاهش سرعت در نقاط پایانی است که به از دست دادن بسته واکنش نشان می‌دهند،

مانند TCP/IP. WRED از یک الگوریتم رها کردن بسته تصادفی در تلاش برای پیش‌بینی رویدادهای تراکم و پاسخ به آن‌ها با کاهش نرخ ترافیک قبل از وقوع ازدحام استفاده می‌کند.

ویژگی تصادفی WRED از فروپاشی توان عملیاتی مربوط به همگام سازی جهانی جریان های TCP جلوگیری می کند.

WRED را می توان در هر صف در هر Tx Manager فعال/غیرفعال کرد.

WRED را برای ترافیک بدون ضرر غیرفعال کنید!

همچنین، دلیلی برای فعال کردن WRED در پورت‌های پرسرعت که در وهله اول نباید ازدحام رخ دهد وجود ندارد.

رفتار از طریق آستانه WRED کنترل می شود.

آستانه WRED فاصله تا حد بافر مشترک صف/حوضه (سرپوش) است – جایی که یک افت تصادفی بسته شروع می شود.

RouterOS به طور خودکار مقادیر آستانه واقعی WRED را با توجه به ظرفیت‌های صف یا استخر مشترک انتخاب می‌کند.

کاربر ممکن است از طریق تنظیمات QoS، آستانه‌ها را به یک روش دیگر تغییر دهد.

 

توجه: WRED به صف های Tx مربوطه نیاز دارد تا از بافرهای مشترک استفاده کنند (use-shared-buffers=yes).

 

انتخاب یک مقدار آستانه WRED یک مبادله بین پیش بینی تراکم و جذب انفجار است.

تنظیم آستانه WRED بالاتر ممکن است منجر به کاهش سرعت تردد زودتر و در نتیجه رفع ازدحام شود.

از طرف دیگر، یک آستانه بالا منجر به افت بسته در رگبارهای ترافیکی محدود می شود که می تواند توسط بافرهای صف جذب شود و اگر WRED وارد نشود، بدون ضرر تغییر شکل می دهد.

برای مثال، شروع اتصال پایگاه داده از راه دور معمولاً با ترافیک سنگین تر شروع می شود (” انفجار بسته”) در مرحله اولیه سازی؛ سپس، نرخ ترافیک به سطح “معقول” کاهش می یابد.

هر افت بسته در طول مرحله اولیه منجر به چیزی جز اتصال کندتر پایگاه داده به دلیل نیاز به ارسال مجدد نمی شود.

بنابراین، کاهش آستانه WRED یا غیرفعال کردن کامل WRED در چنین ترافیکی توصیه می شود.

حالت مخالف پخش ویدئو است.

تشخیص زودهنگام تراکم به انتخاب یک نرخ پخش راحت بدون از دست دادن پهنای باند بیش از حد در ارسال مجدد یا/و “بیش از حد” با قربانی کردن بیش از حد سطح کیفیت کمک می کند.

 

نکته :  از قوانین سوئیچ (ACL) یا سایر تکنیک‌های QoS Marking برای متمایز کردن ترافیک و قرار دادن بسته‌ها در صف‌هایی با تنظیمات WRED مورد نظر استفاده کنید.

 

اسکریپت زیر فقط WRED را برای ترافیک TCP/IP با هدایت آن به queue2 اعمال می کند.

UDP و سایر بسته ها در صف 1 باقی می مانند – زیرا نقاط پایانی آنها معمولاً نمی توانند به افت های اولیه پاسخ دهند.

صف 1 و صف 2 به طور مساوی برنامه ریزی می شوند – بدون اولویت بندی یک صف بر دیگری.

 

/interface/ethernet/switch/qos/profile
add name=tcp-wred traffic-class=2 pcp=0 dscp=0
# move TCP traffic to queue2
/interface/ethernet/switch/rule
add new-qos-profile=tcp-wred ports=ether1,ether2,ether3,ether4 protocol=tcp switch=switch1
# set the same scheduling priority (weight) between queue1 and queue2
# apply WRED only to queue2 - TCP traffic
/interface/ethernet/switch/qos/tx-manager/queue/
set [find where traffic-class=1] weight=2 schedule=low-priority-group use-shared-buffers=yes shared-pool-index=0 wred=no
set [find where traffic-class=2] weight=2 schedule=low-priority-group use-shared-buffers=yes shared-pool-index=0 wred=yes
  • اعلان تراکم صریح (ECN)

 

برخی از تراشه‌های سوئیچ می‌توانند علامت‌گذاری ECN بسته‌های IP را بر اساس RFC 3168 در سطح سخت‌افزار انجام دهند.

علامت‌گذاری ECN سخت‌افزار بر اساس مکانیسم WRED است، اما به جای حذف بسته‌های IP، آنها با CE (Cngestion Experienced، باینری 11) علامت‌گذاری می‌شوند.

فیلد ECN (دو بیت کم اهمیت در IPv4/TOS یا IPv6/TrafficClass octet).

فقط بسته‌های IP با قابلیت ECN می‌توانند علامت‌گذاری شوند – آنهایی که مقدار فیلد ECN ECT(1) یا ECT(0) (به ترتیب باینری 01 یا 10) دارند.

بسته های حمل و نقل با قابلیت ECN (ECN=00) هرگز علامت گذاری نمی شوند.

اگر بسته ای قبلاً دارای علامت CE (ECN=11) باشد، هرگز پاک نمی شود، حتی اگر دستگاه دچار تراکم نشود.

برای فعال کردن علامت گذاری ECN، ecn=yes را در Tx Manager تنظیم کنید.

تنظیم ECN در هر صف به دلیل محدودیت‌های سخت‌افزاری در دسترس نیست.

ECN و WRED آستانه پر شدن صف یکسانی دارند: wred-shared-threshold (به تنظیمات QoS مراجعه کنید).

 

توجه: مکانیسم علامت گذاری ECN به صف های Tx مربوطه نیاز دارد که از بافرهای مشترک (use-shared-buffers=yes) و WRED (wred=yes) استفاده کنند.

 

اگر تمام شرایط زیر برآورده شود، بسته علامت CE را دریافت می کند:

  1. بسته یا IPv4 یا IPv6 است.
  2. مقدار فیلد ECN در هدر IP یا ECT(1) یا ECT(0) است.
  3. Tx Manager پورت Egress دارای ecn=yes است.
  4. صف Tx اختصاص داده شده از بافرهای مشترک استفاده می کند (use-shared-buffers=yes).
  5. صف Tx اختصاص داده شده WRED را فعال کرده است (wred=yes).
  6. Tx Queue تراکم را از طریق آستانه WRED تشخیص می دهد.

 

  • کنترل جریان مبتنی بر اولویت (PFC)

کنترل جریان مبتنی بر اولویت (PFC) عملکرد بدون تلفات را برای حداکثر هشت کلاس ترافیکی فراهم می کند،

به طوری که ازدحام در یک کلاس ترافیک باعث توقف کلاس های دیگر نمی شود.

علاوه بر این، PFC امکان وجود همزمان انواع ترافیک حساس به ضرر با نوع ترافیک متحمل از دست دادن را در همان شبکه فراهم می کند.

تراشه های سوئیچ با قابلیت PFC با IEEE 802.1Qbb PFC شکایت دارند، به این معنی که دستگاه های مربوطه قادر به تولید و پاسخ به فریم های PFC هستند.

در قسمت راه‌اندازی، قاب PFC توسط پورت منبع و کلاس ترافیکی که ازدحام را تجربه می‌کند، ارسال می‌شود.

مقادیر تایمر فریم های PFC تولید شده 0xFFFF برای مکث (XOFF) و 0x0 برای رزومه (XON) است و بیت مناسب در بردار فعال سازی اولویت تنظیم شده است.

در قسمت پاسخ، فریم PFC دریافتی، صف های اولویت خاصی را در پورتی که فریم PFC را دریافت کرده است، برای مدت زمان مشخص شده توسط فریم PFC متوقف می کند.

در RouterOS، پیکربندی PFC در پروفایل ها سازماندهی شده است، جایی که هر پورت را می توان به یک نمایه خاص اختصاص داد.

یک نمایه PFC کلاس‌های ترافیک را برای فعال کردن PFC روشن،

توقف/ازسرگیری آستانه برای ارسال فریم‌های XOFF/XON PFC، و هر زمان که پورت‌های اختصاص‌یافته باید فریم‌های PFC را ارسال یا/و دریافت کنند، تعریف می‌کند.

در حالی که ازدحام در درگاه های خروجی رخ می دهد، PFC در درگاه ورودی فعال می شود.

بافرهای مشترک باید برای مرتبط کردن میزان ترافیک ورودی با بسته های مربوطه در صف های Tx استفاده شوند.

برای هر کلاس ترافیکی که با PFC فعال است، use-shared-buffers=yes را برای صف های Tx مربوطه تنظیم کنید.

همچنین توصیه می‌شود که برای هر صف فعال‌شده با PFC از یک استخر مشترک جداگانه (اشتراک‌شده-pool-index) استفاده شود، به خصوص اینکه آن را با کلاس‌های ترافیک غیرفعال PFC ترکیب نکنید.

 

نکته: RouterOS نقشه برداری 1:1 را بین کلاس های ترافیک و صف های Tx پیاده سازی می کند.

بسته هایی با کلاس ترافیک اختصاص داده شده 0 تا TC7-Q7 در صف 0، TC1 – queue1 و غیره قرار می گیرند.

از این رو، اصطلاحات “کلاس ترافیک” و “صف tx” به جای یکدیگر در این متن استفاده می شوند.

 

مرجع اموال

  • تنظیمات سوئیچ

Sub-menu: /interface/ethernet/switch

Property Description
Allows enabling QoS for the given switch chip (if the latter supports QoS). qos-hw-offloading (yes | no; Default: no)

 

نکته : وقتی QoS را فعال می کنید، خاموش کردن تنظیمات qos-hw-offloading به طور کامل به عملکرد قبلی باز نمی گردد.

توصیه می شود پس از غیرفعال کردن دستگاه، آن را مجددا راه اندازی کنید.

 

  • تنظیمات پورت

Sub-menu: /interface/ethernet/switch/qos/port

نکته : با شروع از RouterOS نسخه 7.13، تنظیمات پورت QoS از /interface/ethernet/switch/port به /interface/ethernet/switch/qos/port منتقل شد.

پیشوند “qos-” از فیلدهای مربوطه حذف شده است (زیرا همه فیلدها به هر حال مربوط به qos هستند).

 

تنظیمات QoS پورت را تغییر دهید.

یک نمایه QoS برای ورود بسته ها به پورت داده شده اختصاص می دهد.

اگر پورت قابل اعتماد در نظر گرفته شود، نمایه اختصاص داده شده را می توان از طریق قوانین مطابقت تغییر داد.

به طور پیش‌فرض، پورت‌ها غیرقابل اعتماد هستند و نمایه QoS پیش‌فرض (Best-Effort، PCP=0، DSCP=0) را دریافت می‌کنند،

جایی که فیلدهای اولویت از بسته‌های خروجی پاک می‌شوند.

 

Property

Description

egress-rate-queue0 .. egress-rate-queue7 (integer: 0..18446744073709551615; Default !egress-rate-queuex) Sets egress traffic limitation (bits per second) for specific output queue. It is possible to specify the limit using suffixes like k, M, or G to represent kbps, Mbps, or Gbps. This setting can be combined with the overall per-port limit egress-rate (see /in/eth/sw/port).
map (name; Default: default) Allows user-defined QoS priority-to-profile mapping in the case of a trusted port or host (see /in/eth/sw/qos/map).
pfc (name; Default: disabled) The name of the PFC profile to control ingress priority-based traffic flow (see /in/eth/sw/qos/priority-flow-control).
profile (name; Default: default) The name of the QoS profile to assign to the ingress packets by default (see /in/eth/sw/qos/profile).
trust-l2 (ignore | trust | keep; Default: ignore) Whenever to trust the Layer 2 headers of the incoming packets (802.1p PCP field):

·         ignore – ignore L2 header; use the port’s profile value for all incoming packets;

·         trust – use PCP field of VLAN-tagged packets for QoS profile lookup in map. Untagged packets use the port’s profile value. Forwarded VLAN or priority-tagged packets receive the PCP value from the selected QoS profile (overwriting the original value).

·         keep – trust but keep the original PCP value in forwarded packets. 

trust-l3 (ignore | trust | keep; Default: ignore) Whenever to trust the Layer 3 headers of the incoming packets (IP DSCP field):

·         ignore – ignore L3 header; use either L2 header or the port’s profile (depends on trust-l2).

·         trust – use DSCP field of IP packets for QoS profile lookup in map. Forwarded/routed IP packets receive the DSCP value from the selected QoS profile (overwriting the original value).

·         keep – trust but keep the original DSCP value in forwarded/routed packets.

tx-manager (name; Default: default) The name of the Transmission Manager that is responsible for enqueuing and transmitting packets from the given port (see /in/eth/sw/qos/tx-manager).

 

نکته : حالت اعتماد L3 اولویت بالاتری نسبت به L2 دارد مگر اینکه trust-l3=ignore یا بسته دارای هدر IP نباشد.

نکته : بسته‌های ارسال‌شده/روت‌شده مقادیر فیلد اولویت‌دار (PCP، DSCP) را از نمایه QoS انتخاب‌شده به‌دست می‌آورند و مقادیر اصلی را بازنویسی می‌کنند، مگر اینکه حالت اعتماد مربوطه برای حفظ، تنظیم شود.

 

کامند ها :

Command Description
print Print the above properties in a human-friendly format.
print stats Print port statistics: total and per-queue transmitted/dropped packets/bytes.
reset-counters Reset all counters in port statistics to zero.
print usage Print queue usage/resources.
print pfc Pring Priority Flow Control stats

 

  • آمار پورت
 :مثال

 

[admin@Mikrotik] /interface/ethernet/switch/qos/port> print stats where name=ether2
                  name:     ether2
             tx-packet:      2 887
               tx-byte:  3 938 897
           drop-packet:      1 799
             drop-byte:  2 526 144
      tx-queue0-packet:         50
      tx-queue1-packet:      1 871
      tx-queue3-packet:        774
      tx-queue5-packet:        192
        tx-queue0-byte:      3 924
        tx-queue1-byte:  2 468 585
        tx-queue3-byte:  1 174 932
        tx-queue5-byte:    291 456
    drop-queue1-packet:      1 799
      drop-queue1-byte:  2 526 144

Property

Description

name

Port name.

tx-packet

The total number of packets transmitted via this port.

tx-byte

The total number of bytes transmitted via this port.

drop-packet

The total number of packets should have been transmitted via this port but were dropped due to a lack of resources (e.g., queue buffers) or QoS Enforcement.

drop-byte

The total number of bytes should have been transmitted via this port but were dropped.

 

  • منابع پورت / استفاده

توجه : به دلیل محدودیت‌های سخت‌افزاری، برخی از مدل‌های تراشه سوئیچ ممکن است در حین دسترسی به داده‌های استفاده از پورت QoS، جریان ترافیک را قطع کنند.

از استفاده از پورت فقط برای عیب یابی استفاده کنید.

برای نظارت، به جای آن از مانیتور QoS یا آمار پورت استفاده کنید.

 

مثال :
[admin@crs326] /interface/ethernet/switch/qos/port> print usage where name=ether2
                 name:  ether2
           packet-cap:     136
           packet-use:       5
             byte-cap:  35 840
             byte-use:   9 472
    queue0-packet-cap:     130
    queue0-packet-use:       1
    queue1-packet-cap:       5
    queue1-packet-use:       4
    queue3-packet-cap:      65
    queue3-packet-use:       2
      queue0-byte-cap:  24 576
      queue0-byte-use:     256
      queue1-byte-cap:   7 680
      queue1-byte-use:   6 144
      queue3-byte-cap:  14 080
      queue3-byte-use:   3 072

 

Property

Description

name

Port name.

packet-cap

Port’s packet capacity. The maximum number of packets that can be enqueued for transmission via the port.

packet-use 1

Port’s packet usage. The number of packets that are currently enqueued in all port’s queues.

byte-cap

Port’s byte capacity (buffer size). The maximum number of bytes that can be enqueued for transmission via the port.

byte-use 1

Port’s byte usage. The size of hardware buffers (in bytes) that are currently allocated for packets the enqueued packets. Since the buffers are allocated by blocks (usually – 256B each), the allocated buffer size can be bigger than the actual payload.

queue0-packet-cap .. queue7-packet-cap 2

Individual queue capacity. The maximum number of packets that can be enqueued in the respective queues (unless the Shared Buffers are enabled).

queue0-shared-packet-cap .. queue7-shared-packet-cap 2

Shared queue capacity (individual queue capacity + shared buffers). The maximum number of packets that can be enqueued in the respective queues.

queue0-packet-use .. queue7-packet-use 2

Queue packet usage. The number of enqueued packets in the respective queues.

queue0-byte-cap .. queue7-byte-cap 2

Individual queue capacity. The maximum number of bytes that can be enqueued in the respective queues (unless the Shared Buffers are enabled).

queue0-shared-byte-cap .. queue7-shared-byte-cap 2

Shared queue capacity (individual queue capacity + shared buffers). The maximum number of bytes that can be enqueued in the respective queues.

queue0-byte-use .. queue7-byte-use 2

Queue buffer usage (in bytes). The size of hardware buffers (in bytes) that are currently allocated for packets in the respective queues.

queue0-byte-max .. queue7-byte-max 2

Maximum queue buffer fill level (in bytes). Available only on devices that provide the queue statistics service. Use the reset-counters command to reset values.

  1. اگر بافرهای اشتراکی فعال باشند، استفاده از بسته/بایت پورت می‌تواند از ظرفیت بیشتر شود.
  2. فقط کوئری های در حال استفاده چاپ می شوند.

 

  • آمار پورت PFC
مثال :
[admin@crs317] /interface/ethernet/switch/qos/port> print pfc interval=1 where running
             name:  sfp-sfpplus1 sfp-sfpplus2   ether1
              pfc:          roce     disabled disabled
           pfc-tx:            46            
    pfc-paused-tc:             3            
       pfc3-pause:     1 048 576            
      pfc3-resume:        10 240            
         pfc3-use:     1 075 200

Property

Description

name

Port name.

pfc

PFC profile name.

pfc0-pause .. pfc7-pause

Pause thresholds of the respective traffic classes. Only PFC-enabled traffic classes are displayed.

pfc0-resume .. pfc7-resume

Resume thresholds of the respective traffic classes. Only PFC-enabled traffic classes are displayed.

pfc0-use .. pfc7-use

The current buffer usage of the respective traffic classes (in bytes). In other words, it is the total size of all queued packets on all ports that were received from this port. Only PFC-enabled traffic classes are displayed.

pfc-tx

Transmitted PFC frame count.

 

منوی QoS

Sub-menu: /interface/ethernet/switch/qos

تقریباً کل پیکربندی QoS HW در /in/eth/sw/qos قرار دارد.

چنین رویکردی امکان ذخیره تمام موارد پیکربندی مرتبط با QoS را در یک مکان، نظارت و Export آسان (/in/eth/sw/qos/export) فراهم می‌کند.

ورودی های QoS دارای دو پرچم اصلی هستند:

 

  • H – سخت افزار تخلیه شده است (Hardware-offloaded)
  • I – غیر فعال (Inactive)

 

تنظیمات QoS

Sub-menu: /interface/ethernet/switch/qos/settings

Property

Description

multicast-buffers (percent: 1..90; Default: 10)

Maximum amount of packet buffers for multicast/broadcast traffic (% of the total buffer memory).

shared-buffers (percent: 0..90; Default: 40)

Maximum amount of packet buffers that are shared between ports (% of the total buffer memory). Setting it to 0 disables buffer sharing. The remaining buffer memory is split between the ports.

shared-buffers-color (all | green-only | yellow-and-green; Default: all)

Restricts shared buffer usage for specific traffic colors only.

shared-pool0 .. shared-pool7 (percent: 0..100; Default: auto)

If the device supports multiple shared buffer pools, these settings allows adjusting the size of each pool (% of the shared buffer memory, where 100% means all shared buffers allocated by the shared-buffers setting). For example, if shared-buffers=40 and shared-pool0=50, the shared pool #0 (the first one) receives 20% of the total buffer memory (50% of 40% or “0.5 * 0.4 = 0.2”). Auto mode tries to equally allocate available resources between pools that uses auto setting, and provides at least a minimum of 10% of the total shared buffer size if the sum of other manually configured pools are exceeded. The default setting (auto).

treat-yellow-as (green | red; Default: red)

For devices that support only two-color traffic marking (red/green). This setting allows using the same QoS profiles for the devices with two- and three-color traffic marking.

wred-threshold (low | medium | high; Default: medium)

A relative amount of packets below a shared queue cap (“queueX-shared-packet-cap” or “queueX-shared-byte-cap”) to start a random tail drop. This threshold is applied only to queues with enabled Weighed Random Early Detection (wred=yes) that use shared buffers (use-shared-buffers=yes). The higher the queue buffer fill level, the higher the packet drop chance. The low threshold means the random tail drop starts later; the high – sooner.

 

مانیتور QoS

Command: /interface/ethernet/switch/qos/monitor

 

منابع QoS سخت افزار را رصد می کند.

 

Property

Description

total-packet-cap (integer)

Total packet capacity. The maximum number of hardware packet descriptors that the device can store is all queues.

total-packet-use (integer)

Total packet usage. The current number of packet descriptors residing in the hardware memory.

total-byte-cap (byte)

Total tx memory capacity.

total-byte-use (byte)

Total tx memory usage. The current number of bytes occupied by the packets in all tx queues.

multicast-packet-cap (integer)

Multicast packet capacity. The maximum number of hardware packet descriptors that can be used by multicast/broadcast traffic. Depends on the multicast-buffers setting.

multicast-packet-use (integer)

Multicast packet usage. The hardware makes a copy of the packet descriptor for each multicast destination.

shared-packet-cap (integer)

Shared packet capacity. The maximum number of hardware packet descriptors that can be shared between ports and tx queues. Depends on the shared-buffers setting.

shared-packet-use (integer)

Shared packet usage. The current number of shared packet descriptors used by all tx queues.

shared-byte-cap (byte)

Shared tx memory capacity. Depends on the shared-buffers setting.

shared-byte-use (byte)

Shared tx memory usage. The current number of shared buffers occupied by the packets in all tx queues.

shared-pool0-packet-cap .. shared-pool7-packet-cap (integer)

Shared packet capacity of the each shared pool. Only the shared pools in use are displayed. These fields are omitted if the device does not support multiple shared pools.

shared-pool0-packet-use .. shared-pool7-packet-use (integer)

Per-pool shared packet usage. Only the shared pools in use are displayed. These fields are omitted if the device does not support multiple shared pools.

wred-packet-threshold (integer)

Packet count below a shared queue cap (“queueX-shared-packet-cap” in “/in/eth/sw/qos/port print usage”) to start a random tail drop or ECN marking. For example, if “queue1-shared-packet-cap=3072” and “wred-packet-threshold=512”, ECN or WRED triggers when queue1-packet-use reaches 2560 (3072 – 512).

wred-byte-threshold (integer)

Byte count below a shared queue cap (“queueX-shared-byte-cap”) to start a random tail drop or ECN marking. For example, if “queue1-shared-byte-cap=768KiB” and “wred-byte-threshold=128KiB”, ECN or WRED triggers when queue1-packet-use reaches 640KiB (768 – 128).

wred-shared-pool-packet-threshold (integer)

Packet count below a shared pool cap (“shared-poolX-packet-cap” in “/in/eth/sw/qos/monitor”) to start a random tail drop or ECN marking. For example, if “shared-pool0-packet-cap=3072” and “wred-shared-pool-packet-threshold=256”, ECN or WRED triggers when shared-pool0-packet-use reaches 2816 (3072 – 256). WRED shared pool thresholds get triggered when the shared pool is filled near its capacity, but none of the queues reach their individual thresholds.

wred-shared-pool-byte-threshold (integer)

Byte count below a shared pool cap (“shared-poolX-byte-cap”) to start a random tail drop or ECN marking. For example, if “shared-pool0-byte-cap=768KiB” and “wred-shared-pool-byte-threshold=64KiB”, ECN or WRED triggers when shared-pool0-byte-use reaches 704KiB (768 – 64).

multicast-buffers (percent: 1..90; Default: 10)

Maximum amount of packet buffers for multicast/broadcast traffic (% of the total buffer memory).

shared-buffers (percent: 0..90; Default: 40)

Maximum amount of packet buffers that are shared between ports (% of the total buffer memory). Setting it to 0 disables buffer sharing. The remaining buffer memory is split between the ports.

shared-buffers-color (all | green-only | yellow-and-green; Default: all)

Restricts shared buffer usage for specific traffic colors only.

shared-pool0 .. shared-pool7 (percent: 0..100; Default: auto)

If the device supports multiple shared buffer pools, these settings allows adjusting the size of each pool (% of the shared buffer memory, where 100% means all shared buffers allocated by the shared-buffers setting). For example, if shared-buffers=40 and shared-pool0=50, the shared pool #0 (the first one) receives 20% of the total buffer memory (50% of 40% or “0.5 * 0.4 = 0.2”). Auto mode tries to equally allocate available resources between pools that uses auto setting, and provides at least a minimum of 10% of the total shared buffer size if the sum of other manually configured pools are exceeded. The default setting (auto).

treat-yellow-as (green | red; Default: red)

For devices that support only two-color traffic marking (red/green). This setting allows using the same QoS profiles for the devices with two- and three-color traffic marking.

wred-threshold (low | medium | high; Default: medium)

A relative amount of packets below a shared queue cap (“queueX-shared-packet-cap” or “queueX-shared-byte-cap”) to start a random tail drop. This threshold is applied only to queues with enabled Weighed Random Early Detection (wred=yes) that use shared buffers (use-shared-buffers=yes). The higher the queue buffer fill level, the higher the packet drop chance. The low threshold means the random tail drop starts later; the high – sooner.

 

 

پروفایل QoS

Sub-menu:/interface/ethernet/switch/qos/profile

پروفایل های QoS مقادیر فیلد اولویت (PCP، DSCP) را برای بسته های ارسال شده/روت شده تعیین می کنند.

اجتناب از ازدحام / حل و فصل بر اساس پروفایل QoS است.

هر بسته یک پروفایل QoS دریافت می کند که بر اساس تنظیمات QoS درگاه سوئیچ ورودی اختصاص داده شده است (به /in/eth/sw/port مراجعه کنید).

 

Property

Description

color (green | yellow | red; Default: green)

Traffic color for color-aware drop precedence management. Leave the default value (green) for color-blind drop precedence management.

dscp (integer: 0..63; Default: 0)

IPv4/IPv6 DSCP field value for the egress packets assigned to the QoS profile.

name (string; Default: )

The user-defined name of the QoS profile.

pcp (integer: 0..7; Default: 0)

VLAN priority value (IEEE 802.1q PCP – Priority Code Point). Used only if the egress packets assigned to the QoS profile are VLAN-tagged (have the 802.1q header). The value can be further altered via the QoS Egress Map.

traffic-class (integer: 0..7; Default: 0)

The traffic class determines the packet priority and the egress queue (see tx-manager). The queue number is usually the same as the traffic class (packets with tc0 go into queue0, tc1 – queue1, … tc7 – queue7). Unlike pcp, where 0 means the default priority but 1 – the lowest one (and further customizable), traffic classes are strictly ordered. TC0 always selects the lowest priority, etc.

 

نقشه برداری QoS

Sub-menu:/interface/ethernet/switch/qos/map

جدول(های) نگاشت اولویت به پروفایل برای بسته های مورد اعتماد.

همه تراشه های سوئیچ دارای یک نقشه داخلی هستند – پیش فرض.

علاوه بر این، برخی از مدل‌ها به کاربر اجازه می‌دهند جداول نگاشت سفارشی را تعریف کنند و نقشه‌های مختلف را به پورت‌های سوئیچ مختلف از طریق ویژگی qos-map اختصاص دهند:

  • دستگاه‌های مبتنی بر مدل‌های تراشه سوئیچ Marvell Prestera 98DX224S، 98DX226S یا 98DX3236 تنها از یک نقشه پشتیبانی می‌کنند – پیش‌فرض.
  • دستگاه‌های مبتنی بر تراشه‌های سوئیچ Marvell Prestera 98DX8xxx، 98DX4xxx یا دستگاه‌های مدل 98DX325x حداکثر از 12 نقشه (پیش‌فرض + 11 تعریف شده توسط کاربر) پشتیبانی می‌کنند.

 

name (string; Default: ) The user-defined name of the mapping table

 

 

5/5 - (2 امتیاز)

دیدگاهتان را بنویسید