CODE 80454 ACADEMIC YEAR 2023/2024 CREDITS 6 cfu anno 3 INGEGNERIA INFORMATICA 8719 (L-8) - GENOVA 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 : will have a deep knowledge of network architectures and protocols will be able to analyze the TCP/IP Protocol Data Units will be able to write simple programs in C and in Java to use network functionalities will be able to design networks. PREREQUISITES Basic programming Basic mathematics and statistics TEACHING METHODS Regular class presentations SYLLABUS/CONTENT Introduction & Terminology: Standard Bodies Circuit/Packet Switching, LAN/WAN, Network Topolgies Layering and Network Architecture (Layers, Entities, Protocol, Interface, PDU, Payload, Header, ….) Modello ISO - OSI (7 layers) 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. 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 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 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) The Internet Protocol suite: The TCP/IP – UDP/IP Reference Model, comparison with the OSI Reference Model Applicable RFCs 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) 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 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 Additional Protocols in the TCP/IP Suite ICMP DHCP ARP DNS The Application Layer in Internet The Standard Application Layer (Web, Mail, Remote Login, File Transfer) Programming Interface (Socket in C Language) 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 MASSIMO MARESCA Ricevimento: At the end of the lectures in the first semester Upon appointment in the rest of the year Exam Board MASSIMO MARESCA (President) CARLO ANDREOTTI ALESSANDRO ARMANDO DANIELE D'AGOSTINO LUCA GAGGERO ALBERTO GIORDANO PIERPAOLO BAGLIETTO (President Substitute) LESSONS LESSONS START https://corsi.unige.it/8719/p/studenti-orario Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION 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