I know that if a receiver sees holes in the packets it receives, it starts sending duplicate ACKs containing seq numbers of missing packets. At this time, the receiver is also receiving packets that might not be delayed, and packets with seq numbers > packets with missing seq numbers. Does the receiver send ACKs for the most recently received seq numbers, or does it just send duplicate ACKs and drops the new packets received? I'd appreciate any knowledge regarding this. Thanks!
In additional to duplicate ACKs, a receiver may (and should) use selective ACKs to indicate successful reception beyond the missing segment(s).
Selective ACKs were addded by RFC 2018 in 1996 to avoid the inefficiency of purely cumulative ACKs.