Pergunta de entrevista da empresa Cisco

What are different fields in a TCP header and what are they used for?