This document discusses transport layer protocols and reliability in computer networks. It begins with an overview of the end-to-end model, UDP, and TCP. It then discusses the end-to-end argument that functions should be implemented at endpoints rather than in the network. Link-level reliability is not sufficient and TCP provides end-to-end reliability with sequenced packets, acknowledgments, and retransmissions. TCP also provides flow control using advertised window sizes.