بهترین روش Load Balance در RouterOS 7 با PCC؛ آموزش تقسیم اینترنت

بهترین روش Load Balance در RouterOS 7 با PCC

اگر در یک شبکه از دو یا چند اتصال اینترنت استفاده می‌کنید، احتمالاً این سؤال برایتان پیش آمده که چطور می‌توان ترافیک کاربران را بین این لینک‌ها تقسیم کرد. Load Balance در RouterOS 7 یکی از بهترین راهکارها برای استفاده هم‌زمان از چند اتصال WAN است. در میان روش‌های مختلف، PCC یا Per Connection Classifier یکی از روش‌های کاربردی و قابل‌کنترل برای تقسیم ترافیک بین چند اینترنت محسوب می‌شود.

در این روش، روتر میکروتیک ارتباط‌های جدید را بین لینک‌های اینترنتی مختلف توزیع می‌کند؛ در نتیجه یک لینک به‌تنهایی تمام بار شبکه را تحمل نمی‌کند. البته باید توجه داشت که Load Balancing به معنی ترکیب واقعی سرعت دو اینترنت برای یک دانلود یا یک Connection واحد نیست؛ بلکه Connectionهای مختلف بین WANها توزیع می‌شوند.

PCC مخفف Per Connection Classifier است. این قابلیت به MikroTik اجازه می‌دهد Connectionهای جدید را بر اساس معیارهایی مانند Source Address، Destination Address و Port دسته‌بندی کند و هر دسته را از یک مسیر مشخص عبور دهد. برای مثال فرض کنید یک شرکت دو اینترنت دارد:

  • WAN1 = اینترنت 100Mbps
  • WAN2 = اینترنت 100Mbps

با استفاده از PCC می‌توان Connectionهای جدید را بین این دو WAN تقسیم کرد. بنابراین ممکن است بخشی از کاربران از WAN1 و بخشی دیگر از WAN2 استفاده کنند. نکته مهم این است که PCC معمولاً Connection را تقسیم می‌کند، نه Packet را. این موضوع باعث می‌شود بسته‌های مربوط به یک Connection از مسیر مشخصی عبور کنند و مشکلات ناشی از تغییر مداوم مسیر کمتر شود.

Load Balance در RouterOS 7 با PCC

در RouterOS روش‌های مختلفی برای استفاده از چند WAN وجود دارد، اما PCC برای بسیاری از شبکه‌های سازمانی و SMB انتخاب مناسبی است؛ چون کنترل خوبی روی نحوه تقسیم Connectionها ارائه می‌دهد. مهم‌ترین مزایای PCC عبارت‌اند از:

  • تقسیم Connectionها بین چند اینترنت
  • استفاده بهتر از ظرفیت WANها
  • امکان تعریف نسبت متفاوت برای لینک‌ها
  • قابلیت ترکیب با Failover
  • کنترل بهتر مسیرهای خروجی
  • مناسب برای شبکه‌های چندکاربره
  • امکان تعریف Policy Routing در کنار PCC

برای مثال اگر یک اینترنت 200Mbps و یک اینترنت 100Mbps داشته باشید، الزاماً لازم نیست Connectionها را به‌صورت 50/50 تقسیم کنید. می‌توان نسبت تقسیم را بر اساس ظرفیت لینک‌ها طراحی کرد.

قبل از تنظیم PCC باید ساختار شبکه مشخص باشد. یک سناریوی ساده می‌تواند به شکل زیر باشد:

             Internet 1
|
WAN1
|
+-------------+
| MikroTik |
| RouterOS 7 |
+-------------+
|
LAN
|
Switch / Users

و برای دو اینترنت:

 ISP 1 ───── WAN1 ─┐

MikroTik

ISP 2 ───── WAN2 ─┘

LAN

Users / Servers

در این مثال، MikroTik وظیفه دارد Connectionهای جدید را بین WAN1 و WAN2 توزیع کند.

یکی از اشتباهات رایج این است که مستقیماً سراغ Mangle و PCC برویم. قبل از آن باید مطمئن شوید هر دو اینترنت به‌صورت مستقل روی MikroTik کار می‌کنند. ابتدا بررسی کنید که:

  1. هر دو WAN دارای IP معتبر هستند.
  2. Gateway هر WAN مشخص است.
  3. MikroTik از طریق هر دو اینترنت به Internet دسترسی دارد.
  4. NAT برای هر دو WAN تنظیم شده است.
  5. شبکه LAN به‌درستی تعریف شده است.
  6. DNS و Default Routeها بررسی شده‌اند.

اگر یکی از WANها به‌تنهایی اینترنت ندارد، PCC مشکل آن را حل نمی‌کند.

در RouterOS، یکی از قسمت‌های مهم برای پیاده‌سازی PCC، بخش Mangle است. Mangle برای علامت‌گذاری Connectionها و Routing استفاده می‌شود. در سناریوی دو WAN، ابتدا Connectionهای جدید شناسایی و با PCC تقسیم می‌شوند. سپس برای آن‌ها Connection Mark و در ادامه Routing Mark مناسب تعیین می‌شود. به‌صورت مفهومی جریان کار چنین است:

New Connection

PCC Classifier

Connection Mark
↙ ↘
WAN1 WAN2
↓ ↓
Routing Mark
↓ ↓
Gateway 1 Gateway 2

این ساختار باعث می‌شود Connection انتخاب‌شده مسیر مشخص خودش را حفظ کند.

فرض کنید دو WAN با سرعت تقریباً یکسان دارید. در این حالت می‌توان Connectionها را تقریباً به‌صورت 50/50 تقسیم کرد. اما اگر ظرفیت لینک‌ها متفاوت باشد، بهتر است نسبت تقسیم نیز متفاوت باشد. مثلاً:

  • WAN1 = 200Mbps
  • WAN2 = 100Mbps

در این شرایط تقسیم 50/50 لزوماً بهترین انتخاب نیست. منطقی‌تر است تعداد بیشتری از Connectionها به WAN1 اختصاص داده شود. این نکته یکی از مزیت‌های PCC است: Load Balance الزاماً نباید مساوی باشد.

یکی از نکات مهم در Load Balancing، حفظ مسیر یک Connection است. فرض کنید کاربر به یک سایت متصل شده و Connection او از WAN1 خارج شده است. اگر بسته‌های بعدی همان Connection از WAN2 خارج شوند، ممکن است Session دچار مشکل شود. PCC با Connection Marking کمک می‌کند Connection مربوطه به همان مسیر اختصاص داده شود.

به همین دلیل در طراحی Load Balance باید به Connection Tracking، Connection Mark و Routing Mark توجه ویژه‌ای داشت.

این دو مفهوم با یکدیگر یکی نیستند. Load Balancing یعنی استفاده هم‌زمان از چند WAN و توزیع ترافیک بین آن‌ها. Failover یعنی اگر WAN اصلی قطع شد، ترافیک از WAN دوم عبور کند. اما در یک طراحی حرفه‌ای می‌توان هر دو قابلیت را با هم پیاده‌سازی کرد:

      WAN1 ───────┐
                  │
                MikroTik
                  │
      WAN2 ───────┘
                  │
          PCC Load Balance
                  +
               Failover

در چنین ساختاری، تا زمانی که هر دو لینک فعال هستند، Connectionها بین آن‌ها تقسیم می‌شوند. اگر یکی از لینک‌ها از دسترس خارج شود، مسیر مناسب باید به‌صورت خودکار تغییر کند.

خیر، حداقل برای یک Connection واحد نه.

این یکی از مهم‌ترین نکاتی است که هنگام استفاده از Load Balance باید بدانید. مثلاً اگر دو اینترنت 100Mbps داشته باشید، نمی‌توان انتظار داشت یک دانلود تکی با سرعت 200Mbps انجام شود. PCC بیشتر برای شبکه‌هایی مناسب است که Connectionهای متعدد دارند؛ مثلاً:

  • چندین کاربر
  • Web Browsing
  • دانلودهای متعدد
  • سرویس‌های Cloud
  • VoIP
  • ارتباطات هم‌زمان مختلف

در چنین شرایطی، مجموع استفاده شبکه می‌تواند از ظرفیت هر یک از لینک‌ها به‌صورت جداگانه بهتر استفاده کند.

همه ترافیک‌ها الزاماً با یک Rule ساده PCC بهترین نتیجه را نمی‌گیرند. برخی سرویس‌ها به Session Persistence حساس هستند. همچنین سرویس‌هایی که IP عمومی مشخصی برای آن‌ها اهمیت دارد، ممکن است به Policy Routing دقیق‌تری نیاز داشته باشند. برای مثال در شبکه‌هایی که موارد زیر وجود دارد، طراحی باید با دقت بیشتری انجام شود:

  • VoIP
  • VPN
  • Remote Access
  • سرویس‌های بانکی
  • Server Publishing
  • Port Forwarding
  • سرویس‌هایی که به یک Public IP خاص وابسته‌اند

بنابراین نباید صرفاً چند Rule مربوط به PCC را کپی کرد و انتظار داشت هر شبکه‌ای دقیقاً همان نتیجه را بگیرد.

PCC فقط محدود به دو اینترنت نیست. می‌توان آن را برای سناریوهای چند WAN نیز طراحی کرد. برای مثال:

WAN1 ─┐
WAN2 ─┼── MikroTik ── LAN
WAN3 ─┘

در این حالت می‌توان Connectionها را بین سه مسیر مختلف توزیع کرد. البته هرچه تعداد WANها بیشتر شود، طراحی Mangle، Routing Table، NAT و Failover نیز پیچیده‌تر می‌شود. بنابراین در شبکه‌های بزرگ، بهتر است ساختار Routing از ابتدا دقیق طراحی شود.

چند اشتباه می‌تواند باعث شود PCC به‌درستی کار نکند:

1. تنظیم نکردن NAT برای همه WANها
اگر Connection از یک WAN خارج شود ولی NAT مناسب وجود نداشته باشد، اینترنت ممکن است کار نکند.

2. تنظیم اشتباه Routing Table
PCC به‌تنهایی کافی نیست و Routeهای مربوط به Markها باید درست تعریف شوند.

3. نادیده گرفتن Failover
ممکن است Gateway از نظر RouterOS فعال به نظر برسد، اما خود اینترنت واقعاً قطع شده باشد.

4. Load Balance کردن ترافیک حساس بدون بررسی
برخی سرویس‌ها به تغییر Public IP یا مسیر حساس هستند.

5. استفاده از تنظیمات آماده بدون تطبیق با شبکه
Interface Name، IP Address، Gateway، Subnet و توپولوژی هر شبکه متفاوت است.

اگر شبکه شما چند اینترنت دارد و هدف، تقسیم Connectionها بین WANها همراه با کنترل مسیر و امکان Failover است، PCC یکی از گزینه‌های بسیار مناسب در RouterOS 7 محسوب می‌شود. با این حال، یک تنظیم حرفه‌ای فقط شامل PCC نیست. معمولاً باید این بخش‌ها در کنار هم طراحی شوند:

PCC + Mangle + Connection Mark + Routing Table + NAT + Failover

همچنین نسبت تقسیم ترافیک باید بر اساس ظرفیت واقعی لینک‌ها، تعداد کاربران و نوع سرویس‌های شبکه تعیین شود.

Load Balance در RouterOS 7 با PCC راهکاری کاربردی برای شبکه‌هایی است که از دو یا چند اتصال اینترنت استفاده می‌کنند. PCC با تقسیم Connectionها بین WANهای مختلف کمک می‌کند ظرفیت لینک‌ها بهتر مورد استفاده قرار بگیرد و فشار شبکه روی یک اینترنت متمرکز نشود.

اگر هدف شما ایجاد یک شبکه پایدار و قابل‌کنترل است، بهتر است PCC را به‌تنهایی در نظر نگیرید؛ بلکه Load Balancing، Policy Routing، NAT و Failover را به‌عنوان اجزای یک طراحی واحد در نظر بگیرید. در شبکه‌های چندکاربره، همین طراحی درست می‌تواند تفاوت قابل‌توجهی در پایداری و استفاده از چند اینترنت ایجاد کند.

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