BTest Server در میکروتیک چیست؟ آموزش فعالسازی و تست پهنای باند
برای ارزیابی یک لینک شبکه، مشاهده سرعت اسمی پورت Ethernet یا نرخ اتصال وایرلس بهتنهایی کافی نیست. ممکن است پورت با سرعت یک گیگابیت متصل باشد یا رادیوی میکروتیک نرخ بالایی را نمایش دهد، اما سرعت واقعی انتقال داده به دلیل نویز، افت بسته، محدودیت CPU، Queue، Firewall، MTU یا مشکلات کابل بسیار کمتر باشد.
BTest Server میکروتیک یکی از سرویسهای داخلی RouterOS است که امکان اجرای Bandwidth Test میان دو دستگاه MikroTik یا میان یک کامپیوتر ویندوزی و روتر MikroTik را فراهم میکند.
در این ساختار، دستگاه مقصد سرویس Bandwidth Test Server را اجرا میکند و دستگاه دیگر بهعنوان Client پارامترهای تست مانند پروتکل، جهت، نرخ، اندازه بسته و مدت آزمایش را مشخص میکند.
BTest Server را میتوان برای بررسی لینکهای کابلی، وایرلس، فیبر نوری، VPN، ارتباط بین شعب، لینکهای Point-to-Point و مسیرهای Routing استفاده کرد. با این حال، این ابزار مصرف CPU و پهنای باند بالایی دارد و استفاده نادرست از آن ممکن است باعث اختلال در شبکه عملیاتی شود.
هشدار مهم: Bandwidth Test در صورت تعییننکردن محدودیت سرعت میتواند تمام پهنای باند قابل دسترس را مصرف کند. اجرای تست در ساعات کاری ممکن است تماسهای VoIP، دوربینها، اینترنت کاربران و سرویسهای حساس را مختل کند.
BTest Server چیست؟
BTest مخفف Bandwidth Test است. سرویس BTest Server بخشی از ابزار Bandwidth Test در RouterOS محسوب میشود و ارتباط آزمایشی را از سمت دستگاه مقصد مدیریت میکند.
یک آزمایش معمولی شامل اجزای زیر است:
- Bandwidth Test Client: دستگاهی که تست را آغاز میکند.
- Bandwidth Test Server: دستگاه مقصدی که اتصال آزمایشی را میپذیرد.
- مسیر مورد آزمایش: لینک، تونل، روتر، سوئیچ یا زیرساختی که ترافیک از آن عبور میکند.
توپولوژی ساده به شکل زیر است:
MikroTik A MikroTik B
BTest Client ────────────────── BTest Serverبسته به Direction انتخابشده، BTest Server ممکن است داده را دریافت یا برای Client ارسال کند. بنابراین وظیفه آن فقط دریافت ترافیک نیست.
کاربردهای BTest Server در شبکه
- اندازهگیری Throughput بین دو دستگاه MikroTik
- بررسی ظرفیت لینک وایرلس Point-to-Point
- تست سرعت ارتباط بین دو شعبه
- مقایسه سرعت ارسال و دریافت
- بررسی عملکرد تونلهای WireGuard، IPsec و GRE
- شناسایی گلوگاه Fast Ethernet یا Gigabit Ethernet
- بررسی محدودیت Queue و Policer
- اندازهگیری Packet Loss در تست UDP
- ارزیابی تأثیر Firewall و NAT بر عملکرد
- بررسی توان CPU هنگام تولید یا دریافت ترافیک
- آزمایش شبکه پس از تغییر کابل، فرکانس یا تنظیمات رادیو
تفاوت BTest Server و Bandwidth Test Client
| بخش | وظیفه |
|---|---|
| BTest Server | پذیرفتن Session، احراز هویت و ارسال یا دریافت داده براساس Direction |
| Bandwidth Test Client | شروع تست و تعیین پروتکل، جهت، سرعت، اندازه بسته و مدت آزمایش |
| Device Under Test | دستگاهی که ظرفیت Forwarding یا پردازش آن ارزیابی میشود |
تنظیمات Server در مسیر زیر قرار دارند:
Tools > BTest Serverابزار Client نیز از مسیر زیر اجرا میشود:
Tools > Bandwidth Testآیا BTest Server فقط میان دو روتر MikroTik کار میکند؟
روش اصلی استفاده از این ابزار، اجرای تست میان دو دستگاه RouterOS است. با این حال MikroTik ابزار ویندوزی btest.exe را نیز ارائه میکند که میتواند نقش Bandwidth Test Client را بر عهده بگیرد.
بنابراین سناریوهای زیر قابل اجرا هستند:
- MikroTik به MikroTik
- کامپیوتر ویندوزی به MikroTik
- CHR به RouterBOARD
- CHR به CHR
- دو روتر از طریق تونل VPN
- دو دستگاه در دو سمت یک لینک وایرلس
ابزار BTest با iperf3 سازگار نیست. iperf3 پروتکل و Server مستقل خود را دارد و نمیتواند مستقیماً به Bandwidth Test Server میکروتیک متصل شود.
پیشنیازهای فعالسازی BTest Server
قبل از فعالسازی سرویس، موارد زیر را بررسی کنید:
- دستگاه مقصد RouterOS فعال و قابل دسترسی داشته باشد.
- Client بتواند IP مقصد را Ping کند.
- Device Mode اجازه استفاده از Bandwidth Test را بدهد.
- Firewall اتصال کنترلی BTest را مسدود نکرده باشد.
- یک حساب کاربری معتبر برای احراز هویت وجود داشته باشد.
- کاربر مقصد دارای Policy مناسب باشد.
- CPU و حافظه دستگاه ظرفیت اجرای تست را داشته باشند.
- زمان مناسبی برای اجرای تست انتخاب شده باشد.
بررسی Device Mode در RouterOS
در RouterOSهای جدید، Device Mode میتواند قابلیتهای پرخطر یا پرمصرفی مانند Bandwidth Test را محدود کند.
برای بررسی وضعیت اجرا کنید:
/system/device-mode/printدر خروجی به پارامتر زیر توجه کنید:
bandwidth-test: yesاگر مقدار آن no باشد، BTest Server، Bandwidth Test و Speed Test اجرا نخواهند شد.
برای درخواست فعالسازی قابلیت میتوان از دستور زیر استفاده کرد:
/system/device-mode/update bandwidth-test=yesپس از اجرای دستور، RouterOS یک بازه زمانی برای تأیید فیزیکی نمایش میدهد. در این مدت باید برق دستگاه را قطع و دوباره وصل کنید یا دکمه مورد تأیید دستگاه را فشار دهید.
هشدار: تأیید Device Mode موجب ریبوت دستگاه میشود. این عملیات را فقط زمانی انجام دهید که به روتر دسترسی فیزیکی دارید و قطع سرویس برنامهریزی شده است.
فعالسازی BTest Server در WinBox
برای فعالکردن Bandwidth Test Server از محیط WinBox:
- با WinBox به روتر مقصد متصل شوید.
- از منوی سمت چپ وارد بخش Tools شوید.
- گزینه BTest Server را باز کنید.
- گزینه Enabled را فعال کنید.
- گزینه Authenticate را فعال نگه دارید.
- مقدار Max Sessions را متناسب با نیاز کاهش دهید.
- تنظیمات را با Apply و OK ذخیره کنید.
برای یک تست مدیریتی معمولی، مقدار یک Session کافی است. بازگذاشتن تعداد زیادی Session میتواند امکان مصرف همزمان CPU و پهنای باند توسط چند Client را ایجاد کند.
فعالسازی BTest Server با ترمینال
ابتدا وضعیت فعلی را مشاهده کنید:
/tool bandwidth-server printنمونه خروجی:
enabled: yes
authenticate: yes
allocate-udp-ports-from: 2000
max-sessions: 100برای فعالکردن Server با احراز هویت و محدودیت یک Session:
/tool bandwidth-server
set enabled=yes authenticate=yes max-sessions=1برای غیرفعالکردن Server بعد از پایان تست:
/tool bandwidth-server
set enabled=noپارامترهای BTest Server
| پارامتر | توضیح |
|---|---|
| enabled | فعال یا غیرفعالکردن Bandwidth Test Server |
| authenticate | الزام Client به ارائه نام کاربری و رمز معتبر |
| max-sessions | حداکثر تعداد تستهایی که میتوانند همزمان اجرا شوند |
| allocate-udp-ports-from | شماره شروع محدوده تخصیص پورتهای Sessionهای UDP |
آیا میتوان IPهای مجاز را در BTest Server مشخص کرد؟
در خود منوی /tool bandwidth-server پارامتری برای تعریف Source IP مجاز وجود ندارد. محدودسازی دسترسی باید با روشهای زیر انجام شود:
- Firewall در زنجیره Input
- محدودیت Address روی حساب کاربری RouterOS
- استفاده از VLAN مدیریت
- اجرای تست از داخل VPN
- محدودکردن دسترسی به Interface مدیریتی
بهترین روش این است که BTest فقط از یک IP یا Subnet مدیریتی قابل دسترسی باشد.
پورت BTest Server در میکروتیک
Bandwidth Test Server برای ارتباط کنترلی از پورت زیر استفاده میکند:
TCP 2000در تست UDP، پورتهای داده از مقداری که در پارامتر allocate-udp-ports-from مشخص شده است، تخصیص مییابند.
برای مشاهده سرویس Dynamic مربوط به BTest:
/ip service print where dynamicدر زمان فعالبودن Server، خروجی میتواند شامل مورد زیر باشد:
btest 2000 tcpاجازه دسترسی BTest در Firewall
چون BTest Server روی خود روتر اجرا میشود، ترافیک ورودی آن در زنجیره input پردازش میشود.
ابتدا IP دستگاه تستکننده را در Address List قرار دهید:
/ip firewall address-list
add list=btest-clients address=10.10.10.2 \
comment="Authorized BTest client"سپس TCP پورت 2000 را فقط برای همان Client مجاز کنید:
/ip firewall filter
add chain=input \
src-address-list=btest-clients \
protocol=tcp \
dst-port=2000 \
action=accept \
comment="Allow BTest control from trusted client"اگر تست UDP توسط Firewall مسدود میشود، میتوان فقط برای مدت آزمایش، UDP را از همان IP مورد اعتماد مجاز کرد:
/ip firewall filter
add chain=input \
src-address-list=btest-clients \
protocol=udp \
action=accept \
comment="Temporary UDP access for BTest"این قوانین باید قبل از Rule عمومی Drop در زنجیره Input قرار گیرند. پس از پایان آزمایش، Rule موقت UDP را غیرفعال یا حذف کنید.
نکته امنیتی: پورت BTest را روی اینترنت عمومی باز نکنید. برای آزمایش از راه دور، ابتدا یک VPN مانند WireGuard راهاندازی کرده و BTest را از داخل شبکه مدیریتی اجرا کنید.
ایجاد کاربر محدود برای BTest Server
برای تستهای روزمره نباید از حساب اصلی مدیر استفاده شود. میتوان یک گروه اختصاصی برای احراز هویت BTest ایجاد کرد:
/user group
add name=btest-auth policy=winboxسپس کاربر را با محدودیت Source IP ایجاد کنید:
/user
add name=btest-user \
group=btest-auth \
password="USE-A-STRONG-UNIQUE-PASSWORD" \
address=10.10.10.2/32Policy مربوط به winbox علاوه بر ورود WinBox، برای احراز هویت Bandwidth Test نیز استفاده میشود. محدودیت Address باعث میشود حساب فقط از IP تعریفشده معتبر باشد.
کاربری که روی دستگاه Client دستور Bandwidth Test را اجرا میکند نیز باید Policy مربوط به test داشته باشد.
چرا Authenticate باید فعال باشد؟
غیرفعالکردن Authentication باعث میشود Client بدون نام کاربری و رمز بتواند Session آزمایشی ایجاد کند:
/tool bandwidth-server
set enabled=yes authenticate=noاین تنظیم در شبکه عملیاتی توصیه نمیشود؛ زیرا یک کاربر غیرمجاز میتواند با اجرای ترافیک سنگین:
- پهنای باند شبکه را اشباع کند.
- مصرف CPU روتر را افزایش دهد.
- کیفیت سرویس کاربران را مختل کند.
- باعث افزایش Latency و Packet Loss شود.
- ظرفیت لینک وایرلس را مصرف کند.
حالت بدون Authentication فقط در آزمایشگاه بسته و برای مدت کوتاه قابل استفاده است.
مشاهده Sessionهای فعال BTest
برای مشاهده Clientهایی که در حال اجرای تست هستند:
/tool bandwidth-server session printخروجی شامل اطلاعاتی مانند موارد زیر است:
- IP Client
- پروتکل TCP یا UDP
- Direction
- نام کاربر
نمونه خروجی:
# CLIENT PROTOCOL DIRECTION USER
0 10.10.10.2 udp send btest-userاگر Session ناشناسی مشاهده کردید، Server را فوراً غیرفعال کرده و Firewall و حسابهای کاربری را بررسی کنید.
اجرای تست از دستگاه MikroTik دیگر
روی روتر Client وارد مسیر زیر شوید:
Tools > Bandwidth Testسپس موارد زیر را تکمیل کنید:
- Test To: آدرس IP روتر Server
- Protocol: TCP یا UDP
- Direction: Transmit، Receive یا Both
- User: نام کاربری تعریفشده روی Server
- Password: رمز حساب Server
- Duration: مدت تست
- Connection Count: تعداد جریان TCP
- Local TX Speed: محدودیت ارسال Client
- Remote TX Speed: محدودیت ارسال Server
در پایان روی Start کلیک کنید و همزمان مصرف CPU هر دو دستگاه را بررسی کنید.
معنی Direction از دید Client
| Direction | جهت ترافیک |
|---|---|
| Transmit | Client داده را به BTest Server ارسال میکند. |
| Receive | BTest Server داده را به Client ارسال میکند. |
| Both | داده همزمان در هر دو جهت منتقل میشود. |
برای عیبیابی بهتر، ابتدا هر جهت را جداگانه تست کنید. آزمایش Both بهتنهایی نمیتواند مشخص کند مشکل در کدام جهت ارتباط قرار دارد.
نمونه تست UDP از ترمینال
برای ارسال 50Mbps از Client به Server:
/tool bandwidth-test \
address=10.10.10.1 \
protocol=udp \
direction=transmit \
local-tx-speed=50M \
local-udp-tx-size=1400 \
duration=30s \
user=btest-user \
password="YOUR-PASSWORD"برای دریافت 50Mbps از Server:
/tool bandwidth-test \
address=10.10.10.1 \
protocol=udp \
direction=receive \
remote-tx-speed=50M \
remote-udp-tx-size=1400 \
duration=30s \
user=btest-user \
password="YOUR-PASSWORD"برای تست همزمان 50Mbps در هر جهت:
/tool bandwidth-test \
address=10.10.10.1 \
protocol=udp \
direction=both \
local-tx-speed=50M \
remote-tx-speed=50M \
local-udp-tx-size=1400 \
remote-udp-tx-size=1400 \
duration=30s \
user=btest-user \
password="YOUR-PASSWORD"نمونه تست TCP از ترمینال
تست TCP دریافت با چهار Connection:
/tool bandwidth-test \
address=10.10.10.1 \
protocol=tcp \
direction=receive \
connection-count=4 \
duration=30s \
user=btest-user \
password="YOUR-PASSWORD"تست TCP ارسال:
/tool bandwidth-test \
address=10.10.10.1 \
protocol=tcp \
direction=transmit \
connection-count=4 \
duration=30s \
user=btest-user \
password="YOUR-PASSWORD"تست TCP دوطرفه:
/tool bandwidth-test \
address=10.10.10.1 \
protocol=tcp \
direction=both \
connection-count=4 \
duration=30s \
user=btest-user \
password="YOUR-PASSWORD"تفاوت TCP و UDP در BTest
| ویژگی | TCP | UDP |
|---|---|---|
| تضمین تحویل | دارد | ندارد |
| ارسال مجدد بسته | دارد | ندارد |
| کنترل ازدحام | دارد | ندارد |
| تأثیر Latency | بیشتر | کمتر |
| نمایش Packet Loss | بهصورت غیرمستقیم در کاهش سرعت | بهصورت مستقیمتر |
| نیاز به تعیین نرخ | معمولاً خیر | بله، در شبکه عملیاتی ضروری است |
| کاربرد | شبیهسازی انتقال فایل و ترافیک TCP | بررسی ظرفیت، Loss و نقطه اشباع |
آیا UDP تست دقیقتری است؟
UDP برای تخمین سقف Throughput لینک مناسبتر است؛ زیرا برخلاف TCP، نرخ خود را براساس Packet Loss و Latency کاهش نمیدهد.
با این حال، UDP فقط زمانی مفید است که نرخ ارسال کنترل شود. ارسال ترافیک نامحدود میتواند لینک را کاملاً اشباع کرده و Packet Loss زیادی ایجاد کند.
روش پیشنهادی این است که نرخ را مرحلهبهمرحله افزایش دهید:
20M
40M
60M
80M
100Mدر هر مرحله موارد زیر را ثبت کنید:
- Throughput دریافتی
- Packet Loss
- Latency
- مصرف CPU
- Interface Errors
انتخاب اندازه بسته UDP
بستههای کوچک تعداد Packet Per Second بیشتری ایجاد میکنند و فشار بیشتری به CPU، Firewall و Queue وارد میکنند.
بستههای بزرگ برای سنجش حداکثر Throughput مناسبتر هستند، اما اندازه آنها نباید از MTU مسیر بیشتر باشد.
| اندازه بسته | کاربرد |
|---|---|
| 64 تا 128 بایت | آزمایش توان پردازش Packet Per Second |
| 512 بایت | ترافیک متوسط |
| 1200 تا 1400 بایت | تست عمومی شبکه و تونلها |
| نزدیک MTU مسیر | تخمین حداکثر Throughput |
در مسیرهای PPPoE، VPN، VLAN و تونلها ممکن است MTU مؤثر کمتر از 1500 باشد. استفاده از Packet Size نامناسب میتواند باعث Fragmentation یا Drop شود.
پارامتر Random Data چیست؟
اگر مسیر یا تونل از فشردهسازی استفاده کند، Payload ساده ممکن است فشرده شده و نتیجهای بالاتر از ظرفیت واقعی نشان دهد.
با گزینه زیر داده غیرقابل فشردهسازی تولید میشود:
random-data=yesاین گزینه مصرف CPU بیشتری دارد و روی روترهای ضعیف ممکن است خود به گلوگاه تبدیل شود.
معنی نتایج Bandwidth Test
| خروجی | توضیح |
|---|---|
| status | وضعیت اتصال و اجرای تست |
| duration | مدت زمان تست |
| tx-current | سرعت لحظهای ارسال از Client |
| rx-current | سرعت لحظهای دریافت در Client |
| tx-10-second-average | میانگین ارسال در ده ثانیه اخیر |
| rx-10-second-average | میانگین دریافت در ده ثانیه اخیر |
| tx-total-average | میانگین کل سرعت ارسال |
| rx-total-average | میانگین کل سرعت دریافت |
| lost-packets | تعداد بستههای ازدسترفته در تست UDP |
| tx-size و rx-size | اندازه بسته UDP در هر جهت |
برای گزارش نهایی بهتر است بهجای Current، مقدار Total Average و 10 Second Average پس از پایدارشدن تست ثبت شود.
چرا نتیجه BTest ممکن است کمتر از ظرفیت واقعی باشد؟
Bandwidth Test ترافیک را توسط CPU روتر تولید یا دریافت میکند. اگر همان دستگاهی که میخواهید توان Forwarding آن را بسنجید، نقش Client یا Server را نیز داشته باشد، پردازنده همزمان باید:
- ترافیک آزمایشی تولید کند.
- Session BTest را پردازش کند.
- Firewall و Connection Tracking را اجرا کند.
- Routing یا Bridging را انجام دهد.
- Queue و NAT را پردازش کند.
در نتیجه ممکن است CPU پیش از اشباعشدن لینک به ۱۰۰ درصد برسد و نتیجه به توان تولید ترافیک روتر محدود شود.
توپولوژی صحیح برای تست توان روتر
برای اندازهگیری توان واقعی Forwarding بهتر است سه دستگاه استفاده شود:
BTest Client ───── Router Under Test ───── BTest Serverدر این ساختار:
- Client ترافیک را تولید میکند.
- روتر مورد آزمایش فقط ترافیک را Forward میکند.
- Server ترافیک را دریافت یا ارسال میکند.
برای لینکهای پرظرفیت، استفاده از دو کامپیوتر مجهز به iperf3 در دو سمت روتر معمولاً نتیجه دقیقتری ارائه میدهد:
iperf3 Client ───── Device Under Test ───── iperf3 Serverمانیتورکردن CPU هنگام تست
همزمان با اجرای BTest، مصرف CPU هر دو دستگاه را بررسی کنید:
/system resource monitorبرای مشاهده مصرف پردازشها و هستهها:
/tool profile cpu=allنشانههای محدودیت CPU عبارتاند از:
- CPU نزدیک ۱۰۰ درصد باشد.
- با افزایش نرخ UDP، Throughput بیشتر نشود.
- در تست Both سرعت بهشدت کاهش یابد.
- Latency خود روتر افزایش پیدا کند.
- پردازش Networking یا BTest بیشترین CPU را مصرف کند.
مشاهده ترافیک Interface هنگام آزمایش
برای مشاهده نرخ واقعی روی یک Interface:
/interface monitor-traffic ether1برای بررسی جریان ترافیک:
/tool torch interface=ether1برای کنترل Error و سرعت مذاکرهشده پورت:
/interface ethernet monitor ether1 onceتست لینک وایرلس با BTest Server
در یک لینک وایرلس بهتر است قبل از اجرای تست موارد زیر بررسی شوند:
- Signal Strength هر دو سمت
- Signal هر Chain
- Noise Floor
- CCQ
- TX/RX Rate
- Channel Width
- Frequency
- Retransmission
- پورت Ethernet و Negotiation
روش پیشنهادی تست:
- Ping پایه را برای حداقل ۳۰ ثانیه اجرا کنید.
- تست TCP را در جهت Transmit اجرا کنید.
- تست TCP را در جهت Receive اجرا کنید.
- UDP را با نرخ پایین آغاز کنید.
- نرخ UDP را مرحلهای افزایش دهید.
- Packet Loss و CPU را ثبت کنید.
- در پایان تست Both را اجرا کنید.
در لینکهای وایرلس Half-Duplex، تست Both ظرفیت Airtime را میان دو جهت تقسیم میکند. بنابراین انتظار نمیرود هر جهت همان سرعت تست یکطرفه را حفظ کند.
تست تونل VPN با BTest
BTest Server را میتوان برای ارزیابی تونلهای زیر استفاده کرد:
- WireGuard
- IPsec
- GRE
- EoIP
- IPIP
- VXLAN
- L2TP
برای مقایسه صحیح، یک بار تست را روی مسیر عادی و یک بار از داخل Tunnel اجرا کنید. اختلاف نتایج میتواند تأثیر رمزنگاری، سربار Header، MTU و توان CPU را نشان دهد.
در تونلهای رمزگذاریشده معمولاً CPU، الگوریتم رمزنگاری و Hardware Acceleration از مهمترین عوامل محدودکننده هستند.
اجرای تست با ابزار BTest ویندوز
ابزار رسمی MikroTik با نام btest.exe برای ویندوز ارائه شده است.
روش استفاده عمومی:
- ابزار BTest را از بخش Tools سایت رسمی MikroTik دریافت کنید.
- فایل را روی یک سیستم مورد اعتماد اجرا کنید.
- آدرس IP روتر دارای BTest Server را وارد کنید.
- نام کاربری و رمز عبور را مشخص کنید.
- پروتکل TCP یا UDP را انتخاب کنید.
- Direction و محدودیت سرعت را تنظیم کنید.
- تست را آغاز کرده و نتایج را ثبت کنید.
Firewall سیستمعامل و مسیر Routing میان کامپیوتر و روتر باید اجازه برقراری Session را بدهند.
تفاوت BTest Server و Speed Test
| ابزار | کاربرد |
|---|---|
| Bandwidth Test | کنترل دقیق Protocol، Direction، Rate، Packet Size و Connection Count |
| Speed Test | اجرای خودکار Ping، Jitter، TCP و UDP در یک آزمایش سادهتر |
| iperf3 | تست End-to-End میان کامپیوترها و سرورها |
| Traffic Generator | تولید بسته پیشرفته برای تست تخصصی DUT |
Speed Test نیز برای اجرا به دسترسی BTest Server نیاز دارد:
/tool speed-test \
address=10.10.10.1 \
user=btest-user \
password="YOUR-PASSWORD"خطای Connection Refused
دلایل رایج عبارتاند از:
- BTest Server غیرفعال است.
- Device Mode قابلیت Bandwidth Test را مسدود کرده است.
- TCP پورت 2000 توسط Firewall بسته شده است.
- آدرس IP مقصد اشتباه است.
- سرویس هنوز پس از تغییر تنظیمات فعال نشده است.
دستورات بررسی:
/tool bandwidth-server print
/system/device-mode/print
/ip service print where dynamic
/ip firewall filter printخطای Authentication Failed
موارد زیر را بررسی کنید:
- نام کاربری روی Server وجود داشته باشد.
- رمز عبور صحیح وارد شده باشد.
- کاربر دارای Policy مربوط به WinBox باشد.
- Address کاربر شامل IP Client باشد.
- Client از IP یا مسیر دیگری وارد نشده باشد.
- Authenticate روی Server فعال باشد.
خطای Timeout
Timeout معمولاً به نبود ارتباط شبکه یا مسدودشدن ترافیک مربوط است:
- Route به مقصد وجود ندارد.
- Firewall مسیر را مسدود کرده است.
- UDP موردنیاز تست بسته شده است.
- لینک وایرلس قطع است.
- VRF یا Routing Table اشتباه انتخاب شده است.
- مشکل NAT یا Port Forward وجود دارد.
ابتدا Ping و Traceroute بگیرید:
/ping 10.10.10.1
/tool traceroute 10.10.10.1چرا تست TCP برقرار میشود اما UDP کار نمیکند؟
ارتباط کنترلی BTest روی TCP پورت 2000 برقرار شده است، اما پورتهای UDP مربوط به Session توسط Firewall مسدود شدهاند.
موارد زیر را بررسی کنید:
- Ruleهای Firewall در زنجیره Input
- تنظیم allocate-udp-ports-from
- Firewall میان دو شبکه
- Firewall سیستم ویندوزی
- ACLهای روتر یا سوئیچ بالادستی
- وجود NAT میان Client و Server
چرا سرعت روی حدود 95Mbps متوقف میشود؟
سرعت نزدیک 90 تا 95Mbps معمولاً نشاندهنده وجود یک جزء Fast Ethernet در مسیر است.
موارد زیر را بررسی کنید:
- پورت 10/100 روتر یا رادیو
- PoE Injector قدیمی با محدودیت 100Mbps
- سوئیچ Fast Ethernet
- کابل دارای فقط دو زوج سالم
- Negotiation روی 100Mbps
- کارت شبکه یا مبدل USB محدود
چرا تست Both کمتر از تست یکطرفه است؟
در تست Both هر دو جهت بهصورت همزمان منابع زیر را مصرف میکنند:
- CPU Client
- CPU Server
- Queueها
- ظرفیت Interface
- Airtime لینک وایرلس
- Connection Tracking
این کاهش مخصوصاً در لینکهای وایرلس Half-Duplex طبیعی است و لزوماً نشاندهنده خرابی نیست.
چرا Packet Loss در UDP زیاد است؟
دلایل احتمالی:
- نرخ تست بیشتر از ظرفیت لینک است.
- CPU Client یا Server به سقف رسیده است.
- Queue یا Policer بستهها را Drop میکند.
- Packet Size از MTU مسیر بیشتر است.
- لینک وایرلس دارای نویز یا Retransmission است.
- بافر Interface پر شده است.
- پورت Ethernet Error دارد.
نرخ UDP را کاهش دهید و تست را دوباره اجرا کنید. اگر Loss از بین رفت، آزمایش قبلی بالاتر از ظرفیت پایدار لینک بوده است.
بهترین روش امن برای استفاده از BTest Server
- فقط هنگام نیاز Server را فعال کنید.
- Authenticate را فعال نگه دارید.
- Max Sessions را روی یک یا مقدار کم قرار دهید.
- برای BTest حساب کاربری جدا ایجاد کنید.
- حساب را به IP Client محدود کنید.
- Firewall را فقط برای IP مدیریت باز کنید.
- برای تست از راه دور از VPN استفاده کنید.
- نرخ و مدت تست را محدود کنید.
- همزمان CPU و کیفیت سرویس را مانیتور کنید.
- پس از پایان تست، BTest Server را غیرفعال کنید.
اشتباهات رایج در استفاده از BTest Server
بازگذاشتن Server روی اینترنت
این کار امکان مصرف منابع روتر توسط کاربران غیرمجاز را افزایش میدهد.
غیرفعالکردن Authentication
بدون احراز هویت، هر دستگاهی که به Server دسترسی داشته باشد ممکن است تست ایجاد کند.
استفاده از حساب اصلی admin
برای تست باید کاربر محدود و اختصاصی ساخته شود.
اجرای UDP بدون محدودیت سرعت
این کار میتواند لینک را اشباع کرده و سرویس کاربران را مختل کند.
سنجش توان روتر از خود همان روتر
در این حالت تولید ترافیک روی CPU روتر نتیجه را محدود میکند.
نادیدهگرفتن مصرف CPU
Throughput پایین با CPU صددرصد الزاماً به معنای مشکل فیزیکی لینک نیست.
اعتماد به یک تست کوتاه
برای نتیجه معتبر، تست باید چند بار و در هر دو جهت تکرار شود.
درنظرگرفتن نرخ PHY بهعنوان Throughput
نرخ نمایشدادهشده روی وایرلس یا Ethernet با سرعت واقعی Payload یکسان نیست.
چکلیست راهاندازی BTest Server
- IP و Route دو دستگاه را بررسی کنید.
- Device Mode را کنترل کنید.
- BTest Server را فعال کنید.
- Authenticate را روشن نگه دارید.
- Max Sessions را محدود کنید.
- کاربر اختصاصی BTest ایجاد کنید.
- Source IP کاربر را محدود کنید.
- TCP پورت 2000 را فقط برای Client مجاز کنید.
- دسترسی UDP را در صورت نیاز بررسی کنید.
- ابتدا Ping پایه بگیرید.
- تست TCP هر جهت را جداگانه اجرا کنید.
- UDP را با نرخ محدود آغاز کنید.
- CPU و Packet Loss را ثبت کنید.
- نتایج را حداقل سه بار تکرار کنید.
- پس از پایان Server را غیرفعال کنید.
سؤالات متداول درباره BTest Server میکروتیک
BTest Server میکروتیک چیست؟
سرویسی در RouterOS است که امکان اجرای Bandwidth Test TCP یا UDP از یک دستگاه MikroTik یا ابزار BTest ویندوز را فراهم میکند.
BTest Server در WinBox کجاست؟
در WinBox از مسیر Tools > BTest Server قابل دسترسی است.
پورت BTest Server چیست؟
ارتباط کنترلی Bandwidth Test Server از TCP پورت 2000 استفاده میکند. تستهای UDP نیز از پورتهایی که از مقدار allocate-udp-ports-from آغاز میشوند استفاده میکنند.
آیا BTest Server باید همیشه فعال باشد؟
خیر. توصیه میشود فقط در زمان آزمایش فعال و پس از پایان تست غیرفعال شود.
آیا میتوان دسترسی BTest را به یک IP محدود کرد؟
بله. این کار با Firewall و پارامتر Address حساب کاربری انجام میشود، نه از طریق تنظیمات اصلی bandwidth-server.
آیا BTest بدون نام کاربری کار میکند؟
در صورت غیرفعالکردن Authenticate بله، اما این تنظیم از نظر امنیتی برای شبکه عملیاتی توصیه نمیشود.
برای اجرای Bandwidth Test چه Policy لازم است؟
کاربر مقصد برای احراز هویت BTest به Policy مربوط به WinBox نیاز دارد. کاربر اجراکننده ابزار روی Client نیز باید Policy مربوط به Test داشته باشد.
چرا منوی Bandwidth Test کار نمیکند؟
ممکن است Device Mode قابلیت bandwidth-test را غیرفعال کرده باشد. وضعیت را با دستور system device-mode print بررسی کنید.
برای تست از TCP استفاده کنیم یا UDP؟
TCP رفتار انتقالهای مبتنی بر TCP را بهتر شبیهسازی میکند. UDP برای یافتن ظرفیت تقریبی لینک و مشاهده Packet Loss مناسبتر است. بهتر است هر دو آزمایش انجام شوند.
آیا BTest Server سرعت اینترنت را اندازه میگیرد؟
فقط زمانی که Server در سمت دیگر مسیر اینترنت قرار داشته باشد. BTest ظرفیت ارتباط میان دو نقطه مشخص را اندازهگیری میکند و جایگزین عمومی Speedtest اینترنت نیست.
چرا نتیجه BTest کمتر از iperf3 است؟
زیرا تولید و دریافت ترافیک BTest توسط CPU روتر انجام میشود. iperf3 ممکن است روی کامپیوتر یا سرور قویتری اجرا شود و روتر فقط ترافیک را Forward کند.
آیا میتوان BTest را از راه دور اجرا کرد؟
بله، اما بهتر است ابتدا از طریق VPN امن به شبکه متصل شوید. انتشار مستقیم پورت BTest روی اینترنت توصیه نمیشود.
چگونه Sessionهای فعال را ببینیم؟
از دستور زیر استفاده کنید:
/tool bandwidth-server session printچگونه BTest Server را خاموش کنیم؟
/tool bandwidth-server set enabled=noجمعبندی
BTest Server میکروتیک بخش سمت مقصد ابزار Bandwidth Test در RouterOS است. این سرویس امکان اجرای آزمایش TCP و UDP میان روترهای MikroTik یا ابزار BTest ویندوز را فراهم میکند.
برخلاف تصور رایج، Server فقط Receiver نیست و براساس Direction میتواند داده را دریافت یا ارسال کند. تنظیمات اصلی آن شامل Enabled، Authenticate، Max Sessions و Allocate UDP Ports From هستند.
برای افزایش امنیت باید Authentication فعال باشد، یک کاربر محدود ایجاد شود، دسترسی با Firewall و Source IP کنترل شود و سرویس مستقیماً روی اینترنت منتشر نشود.
همچنین Bandwidth Test مصرف CPU و پهنای باند زیادی دارد. برای اندازهگیری توان واقعی یک روتر بهتر است Client و Server روی دو دستگاه جدا باشند و ترافیک از روتر مورد آزمایش عبور کند.
در پایان، BTest فقط یکی از ابزارهای عیبیابی است. نتیجه آن باید همراه با CPU، Packet Loss، Latency، MTU، Interface Errors و در لینکهای وایرلس همراه با Signal، Noise و CCQ تحلیل شود.
دیدگاه خود را بنویسید