پرش به مطلب اصلی

Disturber

Disturber نود مخصوص تست است و رفتار شبکه خراب را داخل زنجیر شبیه‌سازی می‌کند: قطع ناگهانی، loss، corruption، duplication، out-of-order، delay و dead-hang.

کاربرد

  • تست مقاومت Mux، TcpOverUdp، Http، Tls یا نودهای سفارشی.
  • بازتولید شرایط شبکه بد بدون نیاز به ابزار خارجی.
  • بررسی اینکه timeout و reconnect زنجیر درست کار می‌کند.

نمونه تنظیم

{
"name": "disturber",
"type": "Disturber",
"settings": {
"chance_instant_close": 5,
"chance_middle_close": 2,
"chance_payload_corruption": 3,
"chance_payload_loss": 10,
"chance_payload_duplication": 2,
"chance_payload_out_of_order": 4,
"chance_payload_delay": 15,
"chance_connection_deadhang": 1,
"delay_min_ms": 50,
"delay_max_ms": 300
},
"next": "next-node"
}

تنظیمات

همه مقدارهای chance_* درصد هستند. اگر همه صفر یا حذف شوند، نود عملا pass-through می‌شود.

گزینهتوضیح
chance_instant_closeاحتمال بستن اتصال هنگام init
chance_middle_closeاحتمال بستن اتصال هنگام عبور payload
chance_payload_corruptionاحتمال تغییر بایت‌های payload
chance_payload_lossاحتمال drop شدن payload
chance_payload_duplicationاحتمال ارسال دوباره payload
chance_payload_out_of_orderاحتمال نگه داشتن payload و ارسال دیرتر
chance_payload_delayاحتمال تاخیر دادن payload
chance_connection_deadhangاحتمال رفتن اتصال به حالت بی‌حرکت
delay_min_ms, delay_max_msبازه تاخیر تصادفی

هشدار

این نود برای production عادی نیست. اگر در config واقعی باقی بماند، عمدا کیفیت مسیر را خراب می‌کند.