Summaries Theorectical Classes
Summaries Lab Classes
Class nº 1 07/03/2025

Presentation of the UC. Introduction to the aplication layer protocols. Name service: DNS.

Bibliography: "Computer Networks", A. Tanenbaum & D. Wetherall, 6ª ed, Pearson, 2021, pp. 611-623, sec. 7.1. (DNS) e sec 7.31 pag 647- 649 e sec 7.3.4 pag 683-685
Bibliography: Slides de apresentação
Bibliography: Slides da aula DNS
DNS demos

Class nº 2 14/03/2025

World Wide Web: Architecture introduction , TCP connection management in HTTP, differences between HTTP/1.0 HTTP/1.1 HTTP/2 and HTTP/3.0 (i.e. HTTP/2 over QUIC). HTTP : Basic request and reply structures. HTTP: basic request and reply structure. HTTP Headers, Caching, Authentication and Cookies, static Web pages, CSS.

Bibliografia: "Computer Networks", A. Tanenbaum & D. Wetherall, 6ª ed, Pearson, 2021, pp. 647-693, sec. 7.3.1-7.3.4.
Bibliografia: Slides da Aula
Bibliography: Página com informação sobre o HTTP/2: https://developers.google.com/web/fundamentals/performance/http2/
Bibliografia: Artigo com informação sobre o QUIC (HTTP/3): QUIC overview

Class nº 3 21/03/2025

Dynamic web pages AJAX and its components. E-mail: Architecture and services, message format - RFC 5322 and MIME, Message Transfer - SMTP. User agent delivery - POP3, IMAP.

Bibliografia: "Computer Networks", A. Tanenbaum & D. Wetherall, 6ª ed, Prentice-Hall, 2011, pp. 623-655, sec. 7.2.1-7.3.1 e pp.736-738; 741-742,m sec 7.5.2
Bibliografia: Slides da Aula
Bibliografia: Extra sobre POP3

Class nº 4 28/04/2025

Content distribution services: Caching em procuradores Servidores replicados, CDN. Redes peer-to-peer, BitTorrent. Distributed Hash Tables for bit torrent distributed tracking

Bibliografia: "Computer Networks", A. Tanenbaum & D. Wetherall, 6ª ed, Prentice-Hall, 2021, pp. 734-757, sec. 7.3.5-7.3.6, 7.5.1-7.5.4.
Bibliografia: Slides da Aula
Bibliografia: Extra sobre Replicação Web
Bibliografia: Extra sobre CDN youtube

Class nº 5 04/04/2025

Distributed Hash Tables for bit torrent distributed tracking APis na WEB: Webservices with HTTP/SOAP, RESTfull APIs. AJAX, XMLHttpRequest to perform requests to RESTfull APIs or Webservices WEB real time communication: Websockets. General architecture of WEB applications. Resolução de um teste.

Bibliografia: Slides da Aula (RPC Web, websockets e Web applications)
Bibliografia: RESTfull APIs tutorial
Bibliografia: SOAP Tutorial
Bibliografia: Webservices Tutorial
Bibliografia: Websockets Wikipedia
Bibliografia: Websockets RFC

Class nº 5 04/04/2025

Exercícios de preparação para o primeiro teste.

Bibliografia: Exercícios

Class nº 6 11/04/2025

Multimedia Streaming: Audio encoding - frequency enconding, MP3; Image enconding: JPEG; Video coding: Introduction to MPEG, Frames I, P e B, MPEG4 (H.264/MPEG4-AVC); Streaming os recorded media (VoD), Live media streaming. Inter-active streaming (video Conference): H.323 and WebRTC, SIP as signaling protocol. Bibliografia: "Computer Networks", A. Tanenbaum & D. Wetherall, 5ª ed, Prentice-Hall, pp. 697-728, sec. 7.4.
Slides da Aula
Página sobre WebRTC
MPEG-DASH Overview

Class nº 9 02/05/2025

Security: Foundations of security in computer networks, security properties. Fundamental security principles. Attack principles: Reconnaissance - Port Scanning and fingerprinting. Sniffing e Snooping - Sniffing in switched network (MAC cloning, MAC flooding ARP spoofing and ARP poisoning). Spoofing - Spoofing DNS (Birthday attack and Kaminsky attack); Spoofing TCP. Disruption - SYN flooding; Reflection and amplificationin DDoS attacks; defense againsnt DDos attacks. Firewalls Intrusion detection Systems (IDS).

Bibliography: "Computer Networks", A. Tanenbaum & D. Wetherall, 6ª ed, , pp. 733-773, sec. 8.1;8.2;8.3;8.4.1;8.4.3
Class slides

Class nº 10 09/05/2025

Introduction to Cryptography - Substitution cypher. Introduction to Cryptography: Transposition cypher. One time pads. Symmetric key algorithms: DES, Triple DES, AES. Symmetric key algorithms: Cypher modes. Public key algorithms: RSA, Post-Quantum alternatives.

Bibliography: "Computer Networks", A. Tanenbaum & D. Wetherall, 6ª ed, pp. 773-799, sec. 8.4.4, 8.4.5, 8.5. 8.6, 8.7
Slides da Aula
Overview abbout Quantum communications, 2013

Aula nº 11 17/05/2025

Digital signatures, Message digests, MD5 and SHA-1. Message digests: Birthday day attack considerations. Public Key Managment: X.509 certificates, PKI. Authentication Protocols: based in shared Keys, using a key distibution center, Kerberos. Diffie-Hellman key exchange
Autenthication protocols based in public keys.

Bibliography: "Computer Networks", A. Tanenbaum & D. Wetherall, 5ª ed, Prentice-Hall, 2011, pp. 799-829, sec. 8.8,8.9, 8.10
Slides da Aula

Class nº 12 23/05/2025

Communication security: IPsec, VPNS , WiFi security.
E-mail Security: PGP

Bibliography: "Computer Networks", A. Tanenbaum & D. Wetherall, 6ª ed, pp. 829-842, sec. 8.11, 8.12 até à 8.12.4.
Slides da Aula

Aula nº1 08/03/2024

1º Project - Introduction to the project, explanation of the boilerplate project code. Support on how to test and debug the project.

Aula nº2 14/03/2025

1º Project - Implementation of the answer header strucure preparation and sending throught the socket. Implementation of the cache management in file requests.

Aula nº3 21/03/2025

1º Project - Implementation of the connection re-use in HTTP/1.1 and of the re-direction to HTTPS.

Aula nº4 28/04/2025

1º Project - Implementation of the authentication request im the absence of a valid cookie header. Implementation of the RESTfull API GET request.

Aula nº5 04/04/2025

1º Project - Implementation of the response to the RESTfull API POST request and the interaction with the groups database.

Aula nº5 11/04/2025

1º Project - Implementation of the Set-Cookie header use to personalize the interaction with the browser. Both for authentication and POST response. Final tests.

Aula nº6 02/05/2025

2º Project - Introduction to the second project. Project Scafold explanation and introduction to the development of WEB appications using the MEAN (mongodb Express Angular e Node.js) stack.

Aula nº7 09/05/2025

2º Project - Implementation of the username and password verification in the database. Implementation of the criation of a user record and of new items in the database trought the REST API.

Aula nº7 16/05/2025

2º Project - Finalizing the development of the REST API. Updating user status after logoout, response to the get items and get users API call. Begining of the implementation of the wesocket interface in the server side: implementing the periodic event with the items status.

Aula nº8 23/05/2025

2º Project - Implementing the reception of the item state periodic event in the client. Implementation of the de item sold information event in the server (sending) and the client (reception).