Навмисний розрив з’єднань
Повільність є одним із видів поганого. Зникнення є іншим, і саме воно знаходить шлях у коді, якого ніхто не писав: повторне підключення, повторну спробу, повідомлення, що розповідає користувачеві, що сталося.
Так само можна перевірити застосунок офлайн, нічого не відключаючи: режим LAN залишає локальну мережу робочою й забирає інтернет, а блокування однієї адреси робить недоступною одну службу, тоді як решта з’єднання в порядку.
П’ять різних способів зникнути
| Налаштування | Що бачить застосунок |
|---|---|
| Скидання з’єднань | З’єднання гинуть посеред передавання, так, як їх вбиває брандмауер чи балансувальник навантаження. Ви задаєте, як часто, у відсотках. |
| Вмикання й вимикання каналу | Мережа зникає на якийсь час, потім повертається, знову і знову. Ви задаєте довжину циклу та яка його частина припадає на простій. |
| Блокування порту | Усе, що йде на цей порт, зникає. Нічого іншого не зачіпається. |
| Блокування адреси | Один сервер стає недоступним, поки решта інтернету працює. |
| Режим LAN | Локальна мережа працює далі, інтернет ні. Саме така форма в captive portal або мертвого аплінка. |
З командного рядка
Вбийте приблизно кожне десяте з’єднання в одному застосунку:
BeanNetworkTester.exe --rst-prob 10 --target myapp.exe --duration 60
Цикли по десять секунд, із них чотири секунди простою, тобто канал, що постійно то з’являється, то зникає:
BeanNetworkTester.exe --flap-period 10 --flap-down 40 --target myapp.exe
Один сервер недоступний, усе інше гаразд:
BeanNetworkTester.exe --block-ip 203.0.113.10
Блокування зачіпає лише те, що називає
На відміну від втрати чи затримки, блокування порту або адреси впливає лише на трафік, який їй відповідає. Тому воно найбезпечніше з усього цього для запуску без цілі-процесу, і саме тому «зробити так, щоб ця залежність зникла» вкладається в однорядкову команду.
Пастка мертвого завантаження
Є також максимальний розмір пакета. Трохи зменшіть його, і великі передавання сповільняться. Зменшіть до значення на кшталт 576, і завантаження повністю зупиняться, назавжди, без жодної помилки, бо це вже не менший розмір пакета, а класична чорна діра, де мережа відкидає надто великі пакети й ніколи про це не повідомляє.
Це реальний режим збою, який варто навмисно відтворити, і він справді спантеличує, коли натрапляєш на нього випадково. Якщо завантаження тихо вмирає одразу після зміни цього налаштування, причина в цьому.
Повернення до норми
STOP відновлює все. Закриття програми теж, і обмеження за часом теж, якщо ви його задали. Якщо сам інструмент помре посеред сеансу, вбудований watchdog зупинить перехоплення, а не залишить вашу мережу в зламаному стані.