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. Ne oglašava koliko propusnosti ima cijeli proxy. Sonda nultog prozora omogućava pošiljaocu da otkrije da 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 pregledač prestane da čita veliki odgovor i oglašava nulu na A. Proxy može na kraju prestati da prazni B kako se njegovi baferi pune. Kasniji nulti prozor na B može biti posljedica sporog klijenta, a ne prvobitni problem.
Obrnuta situacija je moguća tokom otpremanja. Ako odredišna aplikacija prestane da troši podatke, njen prozor na B može se zatvoriti. Pritisak tada može putovati natrag 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 prozor prijema koji se smanjuje ili je nula.
- Provjerite je li njena aplikacija čitala, zastala na drugoj radnji ili bila ograničena resursima.
- Uporedite vrijeme na drugoj vezi proxyja prije nego dodijelite prvobitni uzrok.
Oznake analize prozora u Wiresharku su korisna tumačenja snimka, a ne uputstvo da povećate svaki bafer prijema. Skaliranje prozora takođe treba tumačiti s obzirom na pregovaranje veze.
Isprobavanje druge krajnje tačke sa liste proxyja i opažanje da se prenos 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.