COMPUTER NETWORKS
cod. 14832

Academic year 2022/23
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, Protocols, 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, ALHOA, CSMA, CSMA / CD, Wireless LAN Protocols
The IEEE-802 project, the LLC and MAC floorboards
Ethernet and 802.3: Addresses, Structure, and Architecture.
Ethernet, Fast Ethernet and Gigabit Ethernet 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, non-adaptive and adaptive routing algorithms and protocols, RIP, IGRP, OSPF and BGP
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 in C, Python, PHP and Java.

Application Layer
RPC and Tftp.
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: Audio compression, streaming audio, internet radio, VOIP, video compression, JPEG and MPEG, 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 an examination concerning the frontal lessons and an examination concerning the laboratory activities.

Frontal lessons: written and oral test.
During the course the teacher provides partial, formative written tests useful to monitor the achievement of learning goals and provides feedback to students before the official examination. The scheduling of the partial exams will be communicated by the teacher during the lessons.
The successfully passing of the partial exams exempts the student from the final test.

Laboratory activities: oral test.
The successfully passing of the activities proposed during the laboratory lessons exempts the student from the oral test.

Other information