What is the difference between TCP congestion control and flow control?

What is the difference between TCP congestion control and flow control?

Approach: Distinguish between network capacity and receiver capacity.

Flow control prevents the sender from overwhelming the receiver. Congestion control prevents the sender from overwhelming the network infrastructure.

Follow-up: What is 'slow start' in TCP?

Key concepts: sliding window, packet loss.