«ECMP در میکروتیک چیست و چه تفاوتی با PCC دارد؟ | آموزش تنظیم و مزایا و معایب»
⚙️ سناریوی ساده و استاندارد ECMP در MikroTik
فرض کن دو خط اینترنت داری:
مورد | مقدار |
---|---|
WAN1 | ether1 – Gateway: ۱۹۲.۱۶۸.۱۰.۱ |
WAN2 | ether2 – Gateway: ۱۹۲.۱۶۸.۲۰.۱ |
LAN | ether3 – شبکه داخلی |
۱️⃣ تعریف 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های حساس | ⭐☆☆☆☆ |
عملکرد کلی برای تست | ⭐⭐⭐⭐☆ |
اگ