Salta al contenuto principale della pagina

RETI DI CALCOLATORI

CODICE 80454
ANNO ACCADEMICO 2022/2023
CFU
  • 6 cfu al 3° anno di 8719 INGEGNERIA INFORMATICA (L-8) - GENOVA
  • SETTORE SCIENTIFICO DISCIPLINARE ING-INF/05
    SEDE
  • GENOVA
  • PERIODO 1° Semestre
    MATERIALE DIDATTICO AULAWEB

    PRESENTAZIONE

    Il corso si pone come obiettivo quello di descrivere le reti di calcolatori, prendendo come riferimento il modello OSI ed il modello TCP/IP. Parte dal livello fisico e procede verso il livello applicativo. Il corso tratta le architetture ed i protocolli, e si focalizza sui protoclli TCP/IP, sullo standard Ethernet e sulla virtualizzazione delle reti. Inoltre introduce il tema dell'interfaccia di programmazione basata su socket e descrive gli strumenti pricipali per l'analisi dei protocolli.

    OBIETTIVI E CONTENUTI

    OBIETTIVI FORMATIVI

    Architetture di rete, Livelli, Protocolli, Interfacce, Commutazione, Modello ISO-OSI, Livello Fisico, Analisi dei segnali, Topologie, Linee, Baud e bit rate, Sincronizzazione, Codici di linea, Livello Data Link, Framing, Controllo di errore e di flusso, Livello MAC, Ethernet, PPP. Livello Network, Routing, TCP/IP, IP, ARP, DHCP, TCP, UDP, protocolli di livello applicativo

    OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

    Al termine dl corso gli studenti:

    1. Conosceranno le architetture di rete
    2. Conosceranno i protocolli di rete
    3. Saranno in grado di analizzare le Protocol Data Unit di reti basate su TCP/IP
    4. Saranno in grado di scrivere semplici applicazioni in C in grado di scambiare dati sulla rete
    5. Saranno in grado di progettare reti.

     

    PREREQUISITI

    1. Elementi di programmazione
    2. Elementi di matematica e statistica 

    MODALITA' DIDATTICHE

    Lezioni frontali

    PROGRAMMA/CONTENUTO

    1. Il programma di dettaglio è il seguente:

    2. Introduction & Terminology:
      • Standard Bodies
      • Circuit/Packet Switching,
      • LAN/WAN, Network Topolgies
      • Layering and Network Architecture (Layers, Entities, Protocol, Interface, PDU, Payload, Header, ….)
    3. Modello ISO - OSI (7 layers)
    4. Physical Layer:
      • Propagation Speed (from Maxwell Eq.)
      • Rate,  Fourier Analysis of a Bit Sequence, test on Excel
      • Digital Modulation (ASK, FSK, PSK, QAM)
      • Bit level Synchronization
      • Asynchronous, free running clocks,  Start/Stop bit, clock precision analysis .
      • Synhronous (Manchester, AMI (HDB3, B8ZS)), code examples.
      • Timed Division Multiplexing (TDM)
      • Frames and Frame Level Synchronization (time slots, Mux/Demux, T1)
      • Digital Telephony through PCM and DTM.
    5. Data Link Layer:
      • Data Link Layer entities as Operating System Processes
      • Inter Process Communication
      • Positive Acknowledgement and Retransmission
      • Layer 2 Rate Analysis without/with errors (size, rate, distance, speed, error rate)
      • Window Flow Control (principle and pseudo-code)
      • Error Management
      • Error Detection (Parity and CRC)
      • Error Correction (basic limitations for single/double error correction)
      • Hamming Code for Single Error Correction
      • Point to Point Protocol, RFC and Finite State Machine Analysis
    6. Medium Access Control (MAC Sublayer)
      • The Original Ethernet: CSMA/CD, principle of working, Collision Analysis
      • From Ethernet requirements to frame structure, padding to avoid undetected collisions 
      • Probabilistic analysis of Collisions and Ethernet Performance
      • From Shared Medium Ethernet to Switched Ethernet
      • Ethernet Switch Architecture
      • Ethernet Switch Controller, pseudo code analysis
      • Forwarding Tables
      • Data Plane (Frame Forwarding)
      • Control Plane (Learning)
      • Spanning Tree
    7. Network Layer:
      • Routing and Routing Tables
      • Connection Oriented model (CO): Virtual Circuit, Routing Tables in the CO model
      • Connectionless model (CL): Datagram, Routing Tables in the CL model
      • Control Plane
      • Distance Vector (Bellman Ford Algorithm)
      • Shortest Path (Dijkstra Algorithm)
    8. The Internet Protocol suite:
      • The TCP/IP – UDP/IP Reference Model, comparison with the OSI Reference Model
      • Applicable RFCs
    9. Internet Protocol (IP):
      • IP Header analysis and relationships between header fields and functionalities.
      • IP Addresses, from the original Addressing Scheme to Subnetting and CIDR
      • IP Routing
      • Network/Port Address Translation (NAT/PAT)
    10. Transmission Control Protocol (TCP):
      •  Header analysis and relationships between header fields and functionalities.
      • TCP Segment Structure and TCP Ports
      • Connection Establishment, 3-way Handshaking, Finite State Machine
    11. User Datagram Protocol (UDP): Header analysis and relationships between header fields and functionalities.
      • Header analysis and relationships between header fields and functionalities.
      • UDP Segment Structure and UDP Ports
    12. Additional Protocols in the TCP/IP Suite
      • ICMP
      • DHCP
      • ARP
      • DNS
    13. The Application Layer in Internet
      • The Standard Application Layer (Web, Mail, Remote Login, File Transfer)
      • Programming Interface (Socket in C Language)
    14. Laboratory
      • Wireshark base traffic analysis
      • Command Line based Network Configuration in Windows and Linux (ipconfig/ifconfig)
      • Linux emulation on MS Windows through Cygwin
      • Socket Programming in C language on client/server applications
      • putty (remote login) to access a remote server
      • scp to move files between local/remote servers

    TESTI/BIBLIOGRAFIA

    A. Tanenbaum, Computer Networks

    DOCENTI E COMMISSIONI

    LEZIONI

    Orari delle lezioni

    L'orario di tutti gli insegnamenti è consultabile su EasyAcademy.

    ESAMI

    MODALITA' D'ESAME

    1. Esame orale al termine del corso

    MODALITA' DI ACCERTAMENTO

    L'accertamento del raggiungimento degli obiettivi del corso verra' fatto attraverso domande sulla teoria, attraverso esercizi ed attraverso l'analisi di protocolli di rete.