Skip to main content
CODE 80454
ACADEMIC YEAR 2023/2024
CREDITS
SCIENTIFIC DISCIPLINARY SECTOR ING-INF/05
LANGUAGE Italian
TEACHING LOCATION
  • GENOVA
SEMESTER 1° Semester
TEACHING MATERIALS AULAWEB

OVERVIEW

This course aims at describing Computer Networks, taking the OSI Reference Model and the TCP/IP Reference Model as a reference. The presentation starts from the Physical Layer and proceeds upwards up to the Application Layer. It introduces network architectures and protocols and focuses on the TCP/IP protocol suite, on Ethernet and on nework virtualization. Finally it introduces the socket based programming interfaces and describes the main tools for protocol analysis. 

 

AIMS AND CONTENT

LEARNING OUTCOMES

In summary the course aims at introducing the main elements of Computer Networks and in particular: Network Architecture, Layers, Protocols and Interfaces, Switching, ISO-OSI Reference Model, Physical Layer, Signal Analysis, Topolgies, Line and bit rate, Synchronization, Line code, Data Link Layer, Framing, Error Management and reliability, Flow Control, Medium Access Control, Ethernet, Point to Point Protocol. Network Layer, Routing, TCP/IP, IP, ARP, DHCP, TCP, UDP, Application Layer Protocols, Application Programmng Interface (socket).

AIMS AND LEARNING OUTCOMES

At the end of the course the students :

  1. will have a deep knowledge of network architectures and protocols
  2. will be able to analyze the TCP/IP Protocol Data Units
  3. will be able to write simple programs in C and in Java to use network functionalities
  4. will be able to design networks.

PREREQUISITES

  1. Basic programming
  2. Basic mathematics and statistics

TEACHING METHODS

Regular class presentations 

SYLLABUS/CONTENT

  1. Introduction & Terminology:
    • Standard Bodies
    • Circuit/Packet Switching,
    • LAN/WAN, Network Topolgies
    • Layering and Network Architecture (Layers, Entities, Protocol, Interface, PDU, Payload, Header, ….)
  2. Modello ISO - OSI (7 layers)
  3. 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.
  4. 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
  5. 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
  6. 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)
  7. The Internet Protocol suite:
    • The TCP/IP – UDP/IP Reference Model, comparison with the OSI Reference Model
    • Applicable RFCs
  8. 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)
  9. 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
  10. 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
  11. Additional Protocols in the TCP/IP Suite
    • ICMP
    • DHCP
    • ARP
    • DNS
  12. The Application Layer in Internet
    • The Standard Application Layer (Web, Mail, Remote Login, File Transfer)
    • Programming Interface (Socket in C Language)
  13. 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

RECOMMENDED READING/BIBLIOGRAPHY

A Tanenbaum, Computer Networks

TEACHERS AND EXAM BOARD

Exam Board

MASSIMO MARESCA (President)

CARLO ANDREOTTI

ALESSANDRO ARMANDO

DANIELE D'AGOSTINO

LUCA GAGGERO

ALBERTO GIORDANO

PIERPAOLO BAGLIETTO (President Substitute)

LESSONS

Class schedule

The timetable for this course is available here: Portale EasyAcademy

EXAMS

EXAM DESCRIPTION

 

  1. Oral exam at the end of the lectures

ASSESSMENT METHODS

The assessment will be based on questions/answers on theory, on exercises and on the analysis of network porotocols.

Exam schedule

Data appello Orario Luogo Degree type Note
22/01/2024 09:00 GENOVA Orale
12/02/2024 09:00 GENOVA Orale
06/06/2024 09:00 GENOVA Orale
20/06/2024 09:00 GENOVA Orale
04/07/2024 09:00 GENOVA Orale
19/07/2024 09:00 GENOVA Orale
03/09/2024 09:00 GENOVA Orale