Прокси арқылы TCP нөлдік терезесі: қабылдаушыны анықтаңыз
Тоқтап қалған жүктемені терезе масштабына немесе буфер өлшеміне жатқызбас бұрын TCP ағын бақылауын проксидің клиент немесе сервер жағында анықтаңыз.
Пакет ізі TCP ZeroWindow көрсетеді. Ядро параметрін өзгертудің алдында нөлді жариялап тұрған шеткі нүктені анықтаңыз.
Ол шеткі нүкте осы TCP қосылысындағы өз қабылдау қабілетін сипаттап тұр. Ол бүкіл проксидің қанша өткізу қабілеті бар екенін жарияламайды. Нөлдік терезе сынағы жіберушіге жарияланған қабілеттің өзгергенін білуге мүмкіндік береді; сынақтың өзі пакет жоғалтуды немесе бұзылған проксиді дәлелдемейді.
browser <-- TCP A --> proxy <-- TCP B --> website
Бұлар бөлек TCP әңгімелері. Браузер үлкен жауапты оқуды тоқтатып, A жағында нөл жариялады делік. Прокси өз буферлері толған сайын B жағын босатуды тоқтатуы мүмкін. B жағында кейінірек көрінген нөлдік терезе бастапқы мәселе емес, баяу клиенттің салдары болуы мүмкін.
Жүктеу кезінде керісінше жағдай да болуы мүмкін. Егер мақсатты қолданба деректерді тұтынуды тоқтатса, оның B жағындағы терезесі жабылуы мүмкін. Содан кейін қысым проксидің буферлері арқылы клиентке қарай кері жылжуы мүмкін.
Бақылауларды ретке келтіріңіз
- Қосылыстың шеткі нүктелерін және зардап шеккен деректер тасымалының бағытын жазып алыңыз.
- Қай шеткі нүкте бірінші болып кішірейетін немесе нөлдік қабылдау терезесін жариялағанын анықтаңыз.
- Оның қолданбасы оқып жатқанын, басқа операцияда тоқтағанын немесе ресурстармен шектелгенін тексеріңіз.
- Бастапқы себепті тағайындамас бұрын проксидің екінші қосылысындағы уақытты салыстырыңыз.
Wireshark-тың терезе талдау белгілері жазбаны пайдалы түсіндіру болып табылады, әрбір қабылдау буферін ұлғайтуға нұсқау емес. Терезе масштабын да қосылыстың келіссөзіне қарай түсіндіру керек.
Прокси тізімінен басқа шеткі нүктені сынап, тасымалдың қалпына келуін көру жолдың өзгергеніне пайдалы дәлел. Алайда бұл өздігінен қандай да бір операциялық жүйенің TCP іске асырылуы ақаулы болғанын дәлелдемейді. Түсіндіруді қабылдаушы процеске және күту басталған қосылысқа байланыстырып ұстаңыз.