Flow control is used to prevent a sender from overwhelming a receiver. It uses feedback from the receiver to control sending. Stop-and-wait protocols only allow one frame to be sent before waiting for acknowledgement. Go-back-n protocols allow multiple unacknowledged frames but require resending all frames if any are lost. Selective repeat protocols only resend lost frames to improve efficiency.