This document discusses the application layer of computer networks. It covers topics like principles of network applications, client-server and peer-to-peer architectures, processes and sockets. It also describes the different services provided by transport layer protocols like reliable data transfer, throughput, propagation delay, and security aspects. Popular applications of both client-server (web, email) and peer-to-peer (file sharing) architectures are discussed.