«ECMP در میکروتیک چیست و چه تفاوتی با PCC دارد؟ | آموزش تنظیم و مزایا و معایب»

ECMP یک روش پیشرفته برای تعادل بار در میکروتیک است که به شما امکان می دهد ترافیک را بین چند مسیر مساوی (با هزینه یکسان) توزیع کنید و از این طریق، پهنای باند و دسترسی شبکه را افزایش دهید.

⚙️ سناریوی ساده و استاندارد ECMP در MikroTik

فرض کن دو خط اینترنت داری:

موردمقدار
WAN1ether1 – Gateway: ۱۹۲.۱۶۸.۱۰.۱
WAN2ether2 – Gateway: ۱۹۲.۱۶۸.۲۰.۱
LANether3 – شبکه داخلی

۱️⃣ تعریف IPها

/ip address
add address=192.168.10.2/24 interface=ether1 comment="WAN1"
add address=192.168.20.2/24 interface=ether2 comment="WAN2"
add address=192.168.88.1/24 interface=ether3 comment="LAN"

۲️⃣ تنظیم ECMP Routing (اصلی‌ترین بخش)

/ip route
add dst-address=0.0.0.0/0 gateway=192.168.10.1,192.168.20.1

✅ در این حالت میکروتیک ترافیک را به‌صورت equal cost multi-path بین هر دو Gateway تقسیم می‌کند.
هر بسته‌ای که ارسال می‌شود، یکی‌درمیان یا تصادفی بین دو لینک می‌رود.
اگر یکی از Gatewayها قطع شود، مسیر به‌طور خودکار فقط از دیگری ادامه پیدا می‌کند.


۳️⃣ NAT برای هر خروجی

/ip firewall nat
add chain=srcnat out-interface=ether1 action=masquerade comment="NAT for WAN1"
add chain=srcnat out-interface=ether2 action=masquerade comment="NAT for WAN2"

۴️⃣ بررسی وضعیت

/ip route print
/tool traceroute 8.8.8.8
/tool traceroute 1.1.1.1

اگر هر دو مسیر فعال باشند، ترافیک به‌صورت متوازن پخش می‌شود (ECMP فعال است).
اگر یکی از Gatewayها down شود، مسیر مربوطه auto-disabled می‌شود و فقط مسیر سالم باقی می‌ماند.


خلاصه:
فقط این سه خط برای ECMP لازم است 👇

/ip route add dst-address=0.0.0.0/0 gateway=192.168.10.1,192.168.20.1
/ip firewall nat add chain=srcnat out-interface=ether1 action=masquerade
/ip firewall nat add chain=srcnat out-interface=ether2 action=masquerade

⚙️ ECMP چیست؟

ECMP یعنی چند مسیر پیش‌فرض با هزینه (metric) مساوی داشته باشیم تا روتر ترافیک را بین مسیرها تقسیم کند.

مثلاً:

/ip route add dst-address=0.0.0.0/0 gateway=192.168.10.1,192.168.20.1

میکروتیک در این حالت بسته‌ها را یکی‌درمیان یا به‌صورت pseudo-random بین لینک‌ها می‌فرستد.


✅ مزایای ECMP

ویژگیتوضیح
🧩 ساده‌ترین تنظیمفقط یک دستور Route لازم دارد، بدون Mangle یا Mark Routing
پردازش سبک (CPU کم)چون هیچ Connection Tracking یا PCC انجام نمی‌شود
🔄 Failover خودکاراگر یکی از Gatewayها Down شود، مسیر مربوطه به‌صورت خودکار حذف می‌شود
🌐 افزایش پهنای باند کلی خروجیچون بسته‌ها از چند مسیر خارج می‌شوند (مجموع دو لینک استفاده می‌شود)
🧱 سازگار با تمام مدل‌های میکروتیکروی هر مدل حتی RB750 یا hAP کار می‌کند
🕹️ مناسب برای ترافیک حجمی یا تستیوقتی Session یا NAT اهمیت ندارد (مثلاً سرور دانلود یا تست اسپید)

⚠️ معایب و مشکلات ECMP

مشکلتوضیح فنی
🔁 پریدن سِشن‌ها (Session Flapping)بسته‌های یک Connection ممکن است از دو مسیر متفاوت خارج شوند، چون ECMP بر پایه Packet-level balancing است نه Connection-level
🔒 سایت‌های بانکی و SSL قطع می‌شوندچون آدرس IP خروجی بین بسته‌ها تغییر می‌کند و سرور مقصد آن را تهدید یا خطا می‌بیند
📶 NAT mismatchاگر NAT در هر مسیر جداگانه انجام نشود یا Session از دو Gateway مختلف برود، پاسخ برگشتی به مسیر اشتباه می‌رسد
🧠 بدون کنترل دقیق روی Loadتوزیع کاملاً تصادفی است؛ نمی‌توان گفت هر لینک چند درصد بار بگیرد
🧩 برای کاربران LAN واقعی مناسب نیستکاربران ممکن است وسط کار disconnect شوند (مخصوصاً VPN، RDP، Telegram، WhatsApp Web و بانک‌ها)
🧍 برای سرورهای داخلی بد استچون پاسخ‌ها ممکن است از مسیر متفاوتی برگردند و NAT آنها را گم کند
🔍 مانیتورینگ دقیق نداردنمی‌توان فهمید هر لینک چه سهمی از بار را گرفته است، مگر با ابزارهای اضافی مثل NetFlow یا Torch

📊 نتیجه فنی

وضعیت استفادهپیشنهاد
🔹 فقط برای تست سرعت، دانلود، یا ترافیک حجمی ساده✅ ECMP عالی است
🔹 برای کاربران روزمره (وب، RDP، بانک)❌ بهتر است از PCC یا Nth استفاده شود
🔹 برای پایداری Session و NAT صحیح❌ ECMP مناسب نیست
🔹 برای Failover سریع و خودکار بدون LoadBalance⚙️ فقط با Check-Gateway مفید است

🧭 جمع‌بندی

موردECMP
سادگی تنظیم⭐⭐⭐⭐⭐
پایداری اتصال⭐⭐☆☆☆
دقت تقسیم بار⭐⭐☆☆☆
پشتیبانی از Sessionهای حساس⭐☆☆☆☆
عملکرد کلی برای تست⭐⭐⭐⭐☆

اگ

modir

نظرات بسته شده است.