TCP Zero Window sa pamamagitan ng proxy: tukuyin ang tumatanggap
Tukuyin kung sa panig ng client o server ng proxy nakalagay ang TCP flow control bago iugnay ang natigil na download sa window scaling o laki ng buffer.
May packet trace na nagsasabing TCP ZeroWindow. Bago baguhin ang setting ng kernel, tukuyin kung aling endpoint ang nag-aanunsyo ng zero.
Inilalarawan ng endpoint na iyon ang kakayahan nitong tumanggap sa TCP connection na iyon. Hindi nito inaanunsyo kung gaano karaming bandwidth ang mayroon ang buong proxy. Ang zero-window probe ay nagpapahintulot sa nagpapadala na malaman kung nagbago ang inaanunsyong kakayahan; hindi pinapatunayan ng probe mismo ang packet loss o sira ang proxy.
browser <-- TCP A --> proxy <-- TCP B --> websiteDalawang magkaibang usapan sa TCP ang mga ito. Ipagpalagay na tumigil ang browser sa pagbasa ng malaking response at nag-anunsyo ng zero sa A. Maaaring tumigil din ang proxy sa paghila mula sa B habang napupuno ang sarili nitong buffer. Ang zero window mamaya sa B ay maaaring bunga ng mabagal na client, hindi ang orihinal na problema.
Posible ang kabaligtaran sa pag-upload. Kung tumigil ang destination application sa pagkonsumo ng data, maaaring magsara ang window nito sa B. Maaaring bumalik ang pressure patungo sa client sa pamamagitan ng mga buffer ng proxy.
Ilagay sa ayos ang mga obserbasyon
- Itala ang mga endpoint ng koneksyon at ang direksyon ng apektadong paglilipat ng data.
- Tukuyin kung aling endpoint ang unang nag-anunsyo ng lumiliit o zero na receive window.
- Tingnan kung nagbabasa ang application nito, nakahinto sa ibang operasyon, o limitado ng resources.
- Ihambing ang oras sa kabilang koneksyon ng proxy bago italaga ang orihinal na dahilan.
Ang mga label ng window analysis ng Wireshark ay kapaki-pakinabang na interpretasyon ng capture, hindi utos na dagdagan ang bawat receive buffer. Ang window scaling ay dapat ding unawain kasama ng negosasyon ng koneksyon.
Ang pagsubok ng ibang endpoint mula sa listahan ng proxy at makitang bumalik ang paglilipat ay kapaki-pakinabang na ebidensya na nagbago ang landas. Hindi nito pinapatunayan sa sarili nito na may depekto ang TCP implementation ng isang operating system. Panatilihing nakatali ang paliwanag sa prosesong tumatanggap at sa koneksyon kung saan nagsimula ang paghihintay.