On a VSat link with 800ms RTT latency and 10mbps bandwidth, that means 1MB bandwidth-delay product (data in flight).
According to this useful (but closed) Q/A, packets are injected on both sides of the TCP connection to acknowledge the packets immediately, enabling the senders on both sides to send more at once. However, that would clear the senders buffer making retransmision impossible (from the sender without modification). Obviously some packets would be lost. So how does such an optimising terminal accommodate? What are VSat TCP optimisers actually doing? A network engineer cannot efficiently troubleshoot connection issues without knowing the full details about the magic happening inside.
Do they effectively need to create another virtual TCP connection with a sufficiently large window size? Do they use RAM for this or fast disk? Do they rely solely on tuned Forward Error Correction (and if that fails the connection breaks)?