TCP nulti prozor kroz proxy: prepoznajte primaoca
Locirajte TCP kontrolu toka na klijentskoj ili serverskoj strani proxyja prije nego zastoj preuzimanja pripišete skaliranju prozora ili veličini bafera.
Snimak paketa pokazuje TCP ZeroWindow. Prije nego promijenite postavku kernela, prepoznajte krajnju tačku koja oglašava nulu.
Ta krajnja tačka opisuje svoj kapacitet prijema na toj TCP vezi. Ona ne oglašava koliko propusnosti ima cijeli proxy. Sonda nultog prozora omogućava pošiljaocu da otkrije je li se oglašeni kapacitet promijenio; same sonde ne dokazuju gubitak paketa ni pokvaren proxy.
browser <-- TCP A --> proxy <-- TCP B --> website
To su odvojeni TCP razgovori. Pretpostavimo da preglednik prestane čitati veliki odgovor i oglašava nulu na A. Proxy na kraju može prestati prazniti B kako se njegovi baferi pune. Kasniji nulti prozor na B može biti posljedica sporog klijenta, a ne prvobitni problem.
Obrnuta situacija moguća je tokom otpremanja. Ako odredišna aplikacija prestane trošiti podatke, njen prozor na B može se zatvoriti. Pritisak se tada može vratiti prema klijentu kroz bafore proxyja.
Poredajte zapažanja
- Zabilježite krajnje tačke veze i smjer pogođenog prijenosa podataka.
- Prepoznajte koja je krajnja tačka prva oglašavala smanjeni ili nulti prozor prijema.
- Provjerite je li njena aplikacija čitala, zastala na drugoj operaciji ili bila ograničena resursima.
- Uporedite vrijeme na drugoj vezi proxyja prije nego dodijelite prvobitni uzrok.
Oznake analize prozora u Wiresharku korisna su tumačenja snimka, a ne uputa da povećate svaki bafer prijema. Skaliranje prozora takođe treba tumačiti s obzirom na pregovaranje veze.
Isprobavanje druge krajnje tačke s liste proxyja i opažanje da se prijenos oporavlja koristan je dokaz da se put promijenio. Samo po sebi ne dokazuje da je TCP implementacija nekog operativnog sistema bila neispravna. Držite objašnjenje vezano za proces prijema i vezu u kojoj je čekanje počelo.