Learning outcomes of the course unit
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.
Course contents summary
Introduction to computer networks
Network Uses, Service and Performance Types, Network architectures, circuit and packet switching, Protocols, ISO / OSI model, TCP / IP protocols.
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 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.
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.
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.
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.
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.
Introduction to Distributed Systems. Systems for parallel calculation. Parallel programming.
Laboratory: Serial and parallel programming with mpi and openMP, job manager, plotting of speedup and performance scaling.
"Reti di computer" - A. Tanenbaum - Prentice Hall
"Reti di calcolatori e Internet" - B. Frouzan - McGraw-Hill
"Reti di calcolatori" - L. Peterson, B. Davie - Apogeo
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 verification method includes a written test, the development of a project and a oral test regarding all topics treated during the laboratory activities.
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 written exams exempts the student from the final written test.
The successfully passing of the activities proposed during the laboratory lessons exempts the student from the final project and from the oral test regarding the topics treated during the laboratory activities.