dgt_net02 – Il livello applicativo

Titolo del modulo: dgt_net02 – Il livello applicativo

Panoramica:
Il modulo “dgt_net02 – Il livello applicativo” tratta il livello più alto dei modelli OSI e TCP/IP, con particolare attenzione ai protocolli di rete, ai servizi e alle applicazioni che rendono possibili le interazioni con l’utente finale. Il modulo è rivolto a studenti che hanno una conoscenza di base dei concetti di rete e vogliono capire più da vicino come avviene lo scambio di dati a livello applicativo.

Una volta che sai com’è fatta davvero una richiesta HTTP, una risoluzione DNS o una sessione SMTP, puoi lasciare che sia la macchina a digitare. Nelle sessioni pratiche chiedi all’agente AI, in linguaggio naturale, di avviare un web server con TLS, di tracciare una risoluzione dei nomi a partire dai root server o di capire perché un’email viene respinta; poi leggi header, record e log che ti mostra e decidi se la sua spiegazione regge.

Obiettivi del modulo:
– Comprendere il ruolo e le funzioni del livello applicativo nei modelli di rete.
– Esplorare i principali protocolli del livello applicativo, tra cui HTTP, FTP, SMTP, DNS e altri.
– Analizzare l’interazione tra i diversi livelli del modello OSI, concentrandosi sulle applicazioni che si affidano a questo livello per comunicare.
– Imparare a specificare, revisionare e diagnosticare servizi di rete a livello applicativo che la macchina configura seguendo le tue istruzioni in linguaggio naturale.

Contenuti del modulo:

  1. Introduzione al livello applicativo
  2. Panoramica del modello OSI e dello stack TCP/IP
  3. Funzioni e responsabilità del livello applicativo

  4. Protocolli e servizi principali

  5. HyperText Transfer Protocol (HTTP) e HTTPS
  6. File Transfer Protocol (FTP) e le sue varianti (SFTP, FTPS)
  7. Simple Mail Transfer Protocol (SMTP) per la posta elettronica
  8. Architettura e funzionamento del Domain Name System (DNS)
  9. Network Time Protocol (NTP) per la sincronizzazione degli orologi

  10. Sicurezza del livello applicativo

  11. Comprendere le vulnerabilità del livello applicativo
  12. Introduzione ai meccanismi di cifratura e autenticazione
  13. Casi di studio sui comuni attacchi al livello applicativo (ad es. DDoS, phishing)

  14. Sviluppo di servizi a livello applicativo

  15. Fondamenti di API e servizi RESTful: descrivere un’API alla macchina e revisionare l’implementazione che produce
  16. Principi di progettazione per applicazioni scalabili e sicure

  17. Argomenti avanzati del livello applicativo

  18. Tecnologie web: WebSocket, AJAX e streaming di dati in tempo reale
  19. Architetture applicative basate sul cloud
  20. IoT e considerazioni sul livello applicativo

  21. Troubleshooting e ottimizzazione

  22. Strumenti e tecniche per monitorare il traffico a livello applicativo, e come leggere le catture raccolte dalla macchina
  23. Best practice per ottimizzare prestazioni e affidabilità

Risultati di apprendimento:
– Comprendere il ruolo del livello applicativo nell’architettura di rete.
– Saper guidare in linguaggio naturale la configurazione e il troubleshooting dei principali protocolli del livello applicativo, verificandone i risultati.
– Rafforzare le capacità di problem solving legate a sicurezza ed efficienza a livello applicativo.
– Prepararsi a studi avanzati o a ruoli professionali incentrati sullo sviluppo di applicazioni e sul networking.

Prerequisiti:
Si consiglia una conoscenza di base delle reti di calcolatori fino al livello di trasporto. La familiarità con i concetti di programmazione è utile per leggere il codice prodotto dalla macchina, ma non obbligatoria.

Metodi di valutazione:
– Quiz ed esercizi per consolidare le conoscenze teoriche.
– Laboratori in linguaggio naturale in cui istruisci la macchina a configurare i protocolli del livello applicativo, per poi controllare e diagnosticare ciò che ha realizzato.
– Un progetto finale in cui guidi la macchina nella progettazione di una semplice applicazione di rete, o nell’ottimizzazione di una esistente, motivando ogni scelta che ha fatto.

Il modulo “dgt_net02 – Il livello applicativo” tratta il networking al livello in cui esseri umani e computer comunicano.
Gli studenti possono caricare i propri esercizi nel Progetto Git dell’Academy DevOps & SRE. Per questo modulo, create una cartella con il vostro username come nome nella seguente sottocartella: https://github.com/Garanti-Del-Talento/gdt_academy