COMPUTER NETWORKS
cod. 14832

Academic year 2024/25
3° year of course - First semester
Professor
Roberto ALFIERI
Academic discipline
Informatica (INF/01)
Field
Discipline informatiche
Type of training activity
Characterising
72 hours
of face-to-face activities
9 credits
hub:
course unit
in ITALIAN

Learning objectives

This course introduces the fundamental issues in the field of computer networks, and the related technological approaches to their solution, knowledge of issues and solutions related to the network security, modern methodologies for distributed programming.

Prerequisites

Operating Systems

Course unit content

Introduction to computer networks
Physical layer
Data-link layer
Network Layer
Network layer Lab: Manage network settings, configuration and performance
Transport Layer
Transport layer Lab: TCP and UDP sockets programming
Application Layer
Nework applications Lab: Server and client Configurations with DNS, SMTP, HTTP Protocols.
Network Security
Network Security Lab: applied encryption with openSSL, SSL virtual host, firewalling with iptables.

Full programme

Introduction to computer networks
Network Uses, Service and Performance Types, Network architectures, circuit and packet switching, ISO / OSI model, TCP / IP protocols.

Physical layer
Physical Transmission of the Information, electromagnetic spectrum, electric, optical and wireless transmitting media.
Physical level encoding.
The telephone system. time and frequency division multiplexing, PCM encoding, modems, DSL networks, Mobile telephony

Data-link layer
Data-Link layer objectives and services offered at the network level.
Packaging, Error Check, Flow Control, Point-to-Point Protocol Protocols
Local Area Protocol Protocols: Transmission Channel Sharing, Static and Dynamic Protocols, CSMA / CD, Wireless LAN Protocols
Ethernet and 802.3: Addresses, Structure, Architecture and technologies.
Hub, Bridge, Switch, Spanning tree protocol.
Virtual LANs, 802.1Q protocol.
Local Wireless Networks: ISM bands, 802.11 and 802.16 protocols.

Network Layer
The purpose of the network status and services offered at the Transport level.
Circuit switching, virtual circuit packet switching and datagram.
Virtual circuit pack switching: ATM and MPLS.
Internet, IP protocol, IP addresses, networks and subnets, CIDR, NAT.
Control and Service Protocols: ARP, DHCP, and ICMP.
Router, routing algorithms and protocols.
IPv6: Motivations, Header Format, Extension Header, Address Types, ICMPv6.
Laboratory: Manage network settings; configuration and performance on the host connected to the Internet and its interaction with remote hosts. Usage of the tools to analyze the network and measure performance.

Transport Layer
Top-Layer Services, Multiplexing, Client-Server Modeling.
Berkeley's sockets: the library, ports, and APIs.
UDP: protocol, frame, programming.
TCP: opening and release of the connection, flow control, congestion, transmission errors, frames and programming.
Laboratory: TCP and UDP sockets programming

Application Layer
DNS: Architecture, Top Level Domains, subdomains and zones, direct and reverse resolution, DNS server, and clients.
E-mail: Message Format, Message Transfer Protocols, User Agent.
World Wide Web: architecture, URL, web browser, HTML, Web server, HTTP, static and dynamic pages, cookies.
Multimedia: streaming audio, internet radio, VOIP, video on demand.
Laboratory: Server Configuration and Client Usage with DNS, SMTP, HTTP Protocols. Static and dynamic web pages.

Network Security
Attack techniques, sniffer, scanner, spoofing, DoS, Malware, Security Exploit. Defense Technologies, IDS, Firewall and Proxy.
Encryption Elements: Symmetric Key Algorithms, DES, 3-DES and AES, Public Key Algorithms, RSA, Message Digest, Digital Signatures, MD5 and SHA-1, X.509 Certificates, Public Key Infrastructure, Certification Authority, S / Mime, SSL / TLS protocols.
IPsec, VPN, Wireless Network Security, Authentication Protocols, Kerberos.
Laboratory: applied encryption with openSSL, creating and using X509 certificates, creating an SSL virtual host, designing and configuring a firewall with iptables.

Bibliography

"Reti di computer" - A. Tanenbaum - Prentice Hall
"Reti di calcolatori e Internet" - B. Frouzan - McGraw-Hill
"Reti di calcolatori" - L. Peterson, B. Davie - Apogeo

Teaching methods

Classroom lectures and lab exercises.
The teacher's lectures used to support lessons will be uploaded weekly on the Elly platform.
To download the material, you need to enroll in the online course platform.
Slides are considered an integral part of teaching material. Non-attendant students are invited to check the available teaching material and the instructions provided by the teacher through the Elly platform.

Assessment methods and criteria

The course includes tests regarding the lectures and the activities proposed in the laboratory.
For laboratory activities, the submission of reports will be required in the manner and times indicated during the course. The laboratory assignments are evaluated taking into account originality, commitment and adherence to the indicated times, and can have an impact of +/- 2 points compared to the evaluation of the written test.

The assessment of the frontal lessons consists of exercises and questions in written form regarding the topics covered in class.
Passing the written test and submitting the laboratory reports gives access to the final oral test in which the written tests and the lab reports will be analyzed together with the student.

Some partial tests may be held in written form during the lessons. The dates of the partial tests will be communicated during the lessons. Successfully passing all the partial tests exempts the student from taking the final written test in the winter exam sessions (January-February).
To participate in the partial tests it is necessary to be up to date with the delivery of the laboratory reports for the current year.
However, the oral test remains in which the written tests and laboratory assignments will be analyzed together with the student.

Other information