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 واقعی باقی بماند، عمدا کیفیت مسیر را خراب میکند.