Salta al contenuto principale della pagina

COMPUTER NETWORKS

CODE 80454
ACADEMIC YEAR 2022/2023
CREDITS
  • 6 cfu during the 3nd year of 8719 INGEGNERIA INFORMATICA (L-8) - GENOVA
  • SCIENTIFIC DISCIPLINARY SECTOR ING-INF/05
    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

    LESSONS

    Class schedule

    All class schedules are posted on the EasyAcademy portal.

    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

    Date Time Location Type Notes