The course will present the basic concepts of Computer Networks and Internet. Using a top-down approach, the different network layers will be introduced: Application, Transport, Network and Link. Afterward, wireless networks and mobile networks will be considered. Moreover, the main issues related to multimedia networks will be studied. Some basic principles of network security will be presented at the end of the course.
Computer Networking: A Top-Down Approach (6th edition)
James F. Kurose, Keith W. Ross
Pearson
Learning Objectives
The course aims at introducing students into the principles of Computer Networks. At the end of the course a student should be able to evaluate network infrastructures and the available protocols that can provide the bases for developing network applications. Different tools will be presented for assessing the available solutions according to the specific context where a network must operate.
Prerequisites
Basic knowledge of operating systems and concurrent programming.
Teaching Methods
Lectures
Type of Assessment
Project, written and oral exam.
Course program
Computer networks and Internet: Network architecture and its components, packet-switched and circuit-switched networks, performance evaluation, levels of protocols, connections to networks; history.
The application layer: Principles of network applications, Web and HTTP, FTP, mail protocols, DNS, P2P applications, Socket Programming, Network Applications in Python.
The Transport layer multiplexing and demultiplexing, connection-less transport protocol: UDP connection-oriented transport protocol: TCP, principles of congestion management.
The network layer: Virtual circuits and datagram networks, IP protocol, routing algorithms, broadcast and multicast.
The link layer: error correction techniques, protocols for multiple access protocols, LAN, virtualization, data center networks.
Wireless and mobile networks: WiFi, cellular networks, Mobile IP, Management of cellular networks.
Multimedia Networking: Streaming video and audio, VoIP, protocols for real-time conversations.
Network Security: Authentication in network security in the connection (SSL) security at the network level, security in wireless networks, Firewall and IDS