By the way, if tcpdump does not track the window scale option, the right
edge (ack + real win) does not change between the following two ACKs.
11:34:54.337167 10.2.20.246.33060 > 10.2.224.182.8700: . ack 84402527 win 15340 <nop,nop,timestamp 226080473 99717814> (DF)(259 ACKs are omitted here)11:34:54.611769 10.2.20.246.33060 > 10.2.224.182.8700: . ack 84454467 win 2355 <nop,nop,timestamp 226080721 99717841> (DF)
The first line is the 37th ACK and the second line is the 295th ACK.
ACK#37: ack=84402527 win=15340 right_edge=84463887 (= ack + win * 4)
ACK#295: ack=84454467 win=2355 right_edge=84463887 (= ack + win * 4)
And all ACKs later than ACK#295 has win=2355 (2355*4=9420).
This may be a hint. But, sorry, I do not know the internal of Linux TCP.
I think there is a possibility that some middle-box does something,
for example, some middle-box between the two machines does kinda
traffic-shaping by tweaking the TCP window size field.