The goal of this subject is to study the end-to-end protocols that support Internet applications, i.e., the advanced aspects of transport layer protocols, and the main application layer protocols: DNS, e-mail, file transfer, remote terminal, web, etc.
The specific objectives are the following:
- Understanding the advanced functions of the transport layer protocols (e.g., the flow control and congestion control mechanisms in TCP).
- Knowing the basic principles of cryptography and security, symmetric and public key algorithms, digital signature, message digest, public key infrastructure, security in transport layer (TLS) and application layer.
- Knowing the architecture, message format, and how the different application layer protocols studied in the subject work: name service, file transfer, remote terminal, e-mail, web, and time protocol.
- Being able to program applications using sockets.
- Solving practical cases of use of the different application layer protocols in different computer networks.