Consider the purposes/goals/use of different reliable data transfer protocol mechanisms. For the given purpose/goal/use match it to the RDT mechanism that is used to implement the given purpose/goal/use.

1. Lets the sender know that a packet was NOT received correctly at the receiver.

2. Used by sender or receiver to detect bits flipped during a packet's transmission.

3. Allows for duplicate detection at receiver.

4. Lets the sender know that a packet was received correctly at the receiver.

5. Allows the receiver to eventually receive a packet that was corrupted or lost in an earlier transmission.