11145 - Computer Networks

Academic Year 2017/2018

  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: First cycle degree programme (L) in Computer Science (cod. 8009)

Learning outcomes

The student will learn:

- the fundamentals of the computer networks;

- main technologies and communication protocols, including the TCP/IP suite for Internet and packet-based communication;

- the Internet architecture, the way Internet operates, inter-process communication and the design and development of process communication protocols.

Course contents

Foundation topics: definitions, history and development of computer networks.
Topologies, network resources, and logical channels.
Computer Network performances: indexes and their meaning in different application contexts.
Circuit-switched and packet-switched networks.
Network communication protocols.
Network architectures: HW and SW.
Network Service architectures: Client/server, Peer to peer, hybrid.
ISO OSI Reference Model.
Physical layer: transmission medium, signals, encoding/decoding.
Data Link layer: communication channels, Medium Access Control techniques, MAC addressing, Reliable communication, Error detection and correction.
Local Area Network technologies: hub, repeater, bridge, switch. LAN connectivity.
LAN topologies and links.
Virtual channels (MPLS) and virtual networks (VLAN).
Network Layer: IPv4 protocol and addressing. IPv6. Domains and hierarchical adressing. Subnetting and supernetting, IPv4 network classes, CIDR, IP configuration. Network Address Translation (NAT). SDN e OpenFlow. ICMP. ARP e RARP. DHCP.
Design of network and subnetworks in IP domains.
Management and configuration of LANs (SNMP).
Troubleshooting and analysis of network performance and issues.
Networks of networks and inter-networking. Forwarding and routing IP (local and ISP-based - interdomain). Router.
Multicasting.
Transport layer: Transmission Control Protocol (TCP), performance of end-to-end communications, Congestion control. Flow control.
Sockets and socket programming (examples) with UDP/TCP.
Inter-process communications over Internet.
Session and Presentation layers.
Application layer: examples of protocols and services at the application layer. SMTP (email), http (WWW), DNS, streaming video, gaming, P2P, VoIP.
Quality of service. Real Time communication.
Security of communication networks. Privacy, crittography, integrity and digital signature. Secure transport layer (TCP): SSL. Secure network layer. IPsec. Virtual Private Networks (VPN). Firewalls and Intrusion Detection.

Readings/Bibliography

Recommended readings:

- J.F. Kurose, K.W. Ross, Computer Networking: A Top-Down Approach, last edition

- Larry L. Peterson, Bruce S. Davie, Computer Networks: A Systems Approach, last edition

Teaching methods

Lessons with electronic slides' projection, live demos and training on emulation and network tools and connected devices.

Assessment methods

The final exam consist of three parts:

- a written exam W (mandatory), with questions and exercises (also practical) about the whole program and demos during the classes.

- a test T (mandatory), dealing with network programming.

- a oral exam O (optional).

The sufficient evaluation in the written part W is equal or greater than 15/25. The sufficient evaluation of test T is equal or greater than 4/6. The final evaluation is achieved only if both the written part W and the test part T are sufficient. Students are admitted to the test T only if the written part W is sufficient. Students are admitted to the oral part O (optional) only if the score W + T is greater or equal than 18.

The final score F is given by the sum of W (in the range 0 to 25, sufficient = 15) and T (in the range 0 to 6, sufficient = 4), with the addition of the optional oral evaluation O (between -3 and +3), by following the formula:

F = W + T (+ O)

In all cases where the score F is greater than 30, and the student's behavior denoted maturity and discipline during the lessons and the exams, the "cum Laude" evaluation is provided.

 

 

Teaching tools

Lessons' slides, recommended readings and links on the Web resources, code of demos (python), computer network of the department (and network devices used during the lessons), traffic analysis and monitoring tools (e.g. Wireshark, etc.), Network Emulation tools (e.g. Cisco Packet Tracer or others).

Links to further information

http://www.cs.unibo.it/bononi/

Office hours

See the website of Luciano Bononi