TCP nulinis langas per tarpinį serverį: nustatykite gavėją
Raskite TCP srauto valdymą tarpinio serverio kliento arba serverio pusėje, prieš priskirdami sustojusį atsisiuntimą lango masteliui ar buferio dydžiui.
Paketų įrašas rodo TCP ZeroWindow. Prieš keisdami branduolio nuostatą, nustatykite galinį tašką, kuris skelbia nulį.
Šis galinis taškas apibūdina savo priėmimo pajėgumą toje TCP jungtyje. Jis neskelbia, kiek pralaidumo turi visas tarpinis serveris. Nulinio lango zondas leidžia siuntėjui sužinoti, ar paskelbtas pajėgumas pasikeitė; vien zondai neįrodo paketų praradimo ar sugedusio tarpinio serverio.
browser <-- TCP A --> proxy <-- TCP B --> website
Tai atskiri TCP pokalbiai. Tarkime, naršyklė nustoja skaityti didelį atsakymą ir paskelbia nulį A jungtyje. Tarpinis serveris ilgainiui gali nustoti ištuštinti B, kai jo buferiai prisipildo. Vėlesnis nulinis langas B jungtyje gali būti lėto kliento pasekmė, o ne pradinė problema.
Priešinga situacija įmanoma įkeliant. Jei paskirties programa nustoja vartoti duomenis, jos langas B jungtyje gali užsidaryti. Slėgis tuomet gali keliauti atgal link kliento per tarpinio serverio buferius.
Sudėkite stebėjimus eilės tvarka
- Užrašykite jungties galinius taškus ir paveikto duomenų perdavimo kryptį.
- Nustatykite, kuris galinis taškas pirmasis paskelbė mažėjantį arba nulinį priėmimo langą.
- Patikrinkite, ar jo programa skaitė, buvo sustojusi ties kita operacija ar ribojama išteklių.
- Palyginkite laiką kitoje tarpinio serverio jungtyje, prieš priskirdami pradinę priežastį.
„Wireshark“ lango analizės žymos yra naudingos įrašo interpretacijos, o ne nurodymas didinti kiekvieną priėmimo buferį. Lango mastelį taip pat reikia aiškinti atsižvelgiant į jungties derybas.
Kito galinio taško išbandymas iš tarpinių serverių sąrašo ir perdavimo atsigavimas yra naudingas įrodymas, kad kelias pasikeitė. Vis dėlto savaime tai neįrodo, kad kurios nors operacinės sistemos TCP įgyvendinimas buvo brokuotas. Laikykite paaiškinimą susietą su priėmimo procesu ir jungtimi, kurioje prasidėjo laukimas.