Computer Networks and the Internet

« Return

Objectives

Endow students with a comprehensive view of the concepts and principles underlying the design of computer networks, taking the architecture and protocols of the Internet as examples. Capacitate students to develop network applications over the sockets API.

Program

1. Overview of computer networks and the Internet: packet switching; layered architecture, services, interfaces, and protocols; the physical infrastructure of the Internet.
2. Application layer: processes, ports, names, IP addresses, and clients and servers; the WWW, e-mail, and DNS.
3. Transport layer: error control, flow control, and congestion control; UDP and TCP.
4. Network layer: routing protocols; IP prefixes; intra- and inter-domain routing; RIP, OSPF, and BGP; NAT and DHCP.
5. Data-link layer: random medium access control protocols, ALOHA and CSMA; wireless networks; switched local area networks; virtualization.
6. Introduction to network security: confidentiality, integrity, and authentication; TLS and IPSec.

Teaching Methodologies

50% continuous evaluation; 50% exam. The teaching/learning methodologies aim to provide detailed learning in solving problem sand projects, emphasizing practical knowledge, active learning, autonomous work, and responsibility. The evaluation modelin corporates applied projects with a significant reduction in the weight of evaluation by exams.

Bibliography

Computer Networks, Jim Kurose e Keith Ross, 2017, Pearson Education Limited.
Quick Guide to Network Programming, José Eduardo Sanguino, 2019.
Notes written for the course, João Luís Sobrinho, 2018.

Code

01061687

ECTS Credits

6

Classes

  • Práticas e Laboratórios - 21 hours
  • Teóricas - 28 hours

Evaluation Methodology

  • Continuous evaluation: 50%
  • Exam: 50%