Пасля ціхага перыяду тунель перападключаецца, ніводзін журнал не называе віноўніка, і відавочны крок — выбраць прыладу з самым уражлівым апісаннем тайм-аўту. Гэта здагадка, пераапранутая ў дыягназ. Стан можа пэўны час трымацца ў хатнім маршрутызатары, у транслятары аператара і на ўскрайку хмары, і любы з іх можа скінуць паток, які змоўк. Што можна зрабіць замест гэтага — скласці карту шляху, адзначыць, якія прылады вы сапраўды можаце назіраць, і правесці адзін прастойны тэст, які можна паўтарыць.

Паўторны тэст ператварае гісторыю ў вымярэнне. Усё ніжэй мяркуе аднаго кліента, адзін сервер і адзін пратакол, а таксама тое, што вы стрымліваецеся ад змены дзвюх зменных адначасова. Мэта — зрабіць наступны выпадак таннейшым за гэты.

Праводзьце адзін і той жа прастойны тэст кожны раз

Запішыце, калі паток апошні раз быў спраўным, колькі ён пасля прастаяў і ці вярнуў яго адзін свежы пакет. Гэтыя тры факты і ёсць вымярэнне; без іх у вас ёсць гісторыя пра ноўтбук, які адваліўся. Выкарыстоўвайце аднаго кліента, адзін сервер і адзін пратакол пры кожным паўторы і адзначце момант, калі быў адпраўлены першы пакет пасля цішыні.

Затым параўнайце, што насамрэч бачыла кожная мяжа, якой вы валодаеце. Размежаванне, якое вырашае расследаванне, — ці сервер не ўбачыў наогул нічога пасля паўзы, ці ўбачыў запыт і адказаў у шлях, які ўжо не нёс адказы.

What you observeWhat it suggestsWhat it does not prove
server records no packet after the pausestate was lost upstream of the serverwhich hop dropped it
server answers, client never receivesreturn-path state or filteringthat the timer belongs to the client
client sends nothing at allclient-side timer or application behaviourthat the network path is healthy

Параўнанне шляхоў без змены пяці рэчаў

Другая дазволеная сетка доступу — законнае параўнанне, бо ланцуг NAT адрозніваецца. Яна таксама адрозніваецца па правайдэры, радыёўмовах і, магчыма, сямействе адрасоў, таму вынік — гэта мяжа, а не прыпісванне. Запісвайце абмежаванні разам з вынікам, а не ціха адкідайце іх пры паведамленні. Заадно запішыце шлях: прылада, роля і ці можна ўвогуле прачытаць яе стан.

Параўнанне шляхоў дае вам абмежаванае пытанне: паток выжывае на адным і гіне на другім пасля падобнай цішыні, значыць, зменная знаходзіцца дзесьці ў тых частках, што адрозніваюцца. Гэта сапраўдны вынік, нават калі ніводная прылада не названая, і ён паказвае наступнаму інжынеру, дзе правесці паўдня, а дзе не.

Лакальны стан варта прачытаць, перш чым меркаваць пра аператараў. На шлюзе Linux conntrack -L пералічвае адсочваныя патокі з іх пакінутым тэрмінам жыцця, што ператварае здагадку пра таймер у лік, за якім можна назіраць, як ён сканчаецца. Чытайце яго да і пасля прастойнага перыяду, а не толькі пасля.

Што ўтрымае сігнал падтрымання, а што — не

Падтрыманы сігнал падтрымання трымае адлюстраванне адкрытым, і адкрытае адлюстраванне нічога не даказвае пра службу за ім. Тунель можа заставацца адлюстраваным, пакуль праграма, якую ён нясе, ужо перастала адказваць, і з пункту гледжання індыкатара стану гэтыя дзве сітуацыі выглядаюць аднолькава. Стаўцеся да сігналу падтрымання як да страхоўкі ад заканчэння прастою, а не як да праверкі здароўя.

Усталюйце інтэрвал паводле самага кароткага тайм-аўту, які вы сапраўды вымералі, а не паводле ліку, скапіяванага з форуму. Сігнал падтрымання, наладжаны ніжэй за любы магчымы таймер, — гэта трафік, які нікому не спатрэбіўся, і ён таксама прыбірае сімптом, які сказаў бы вам, якая мяжа сканчаецца першай. Выбірайце інтэрвал паводле вымеранага ліку і пакіньце ўсё астатняе ў спакоі.

Адна змена, затым зноў вымярэнне

Стрымлівайце жаданне падняць кожны тайм-аўт і скінуць кожны шлюз падчас жывога тэсту. Гэта сцірае доказы, за якімі вы прыйшлі, і перарывае патокі іншых людзей, што дрэнны абмен для гіпотэзы, якую вы не правяралі. Змяніце адну падтрыманую наладу на адной прыладзе, потым паўтарыце прастойны перыяд і аднаўленне праграмы.

Запішыце, якое назіранне мяжы зрушылася, і запішыце нават тады, калі нічога не палепшылася. Налада, якая нічога не выправіла, — гэта інфармацыя, і заўважыць гэта аднойчы танней, чым пракаціць па ўсім гаспадарцы.

Як напісаць выснову, якую можна абараніць

Калі транслятар вышэй па шляху немагчыма даследаваць, кажыце толькі тое, што падтрымліваюць доказы: абмен гіне дзесьці на гэтым участку шляху пасля столькіх цішыні, а адказны скок застаецца нявызначаным. Абмежаванае сцверджанне вытрымлівае разгляд і накіроўвае наступнага чалавека на правільны сегмент. Называнне схаванага маршрутызатара прычынай не робіць ні таго, ні другога. Перадайце абмежаваную выснову таму, хто валодае неназіраным сегментам, разам з інтэрвалам.

RFC 4787 апісвае, чаму таймеры адлюстравання UDP цяжка вывесці з аднаго канца, і менавіта гэтая цяжкасць робіць абмежаваную выснову сумленнай. Таймеры рэальныя, і няпэўнасць вакол іх таксама.

Падобныя артыкулы