Computer Networks
Objectives
Learning goals:
- Introduction to computer networks: terminology, organization, services, components and structuring principles
- Reliable data transmission
- Quality of service
- Information diffusion
- Names and addresses
- Routing: principles and algorithms
- Fundamentals of TCP/IP networks
- Fundamentals of communication channels in general and Ethernet switched networks
Know-how
- Understand the architecture and the internals of computer networks
- Performance indicators and their estimation and measurement
- Understand the transport and network layers impact in networked applications
- Understand how content is diffused
- Transport interfaces and their usage
- Analyze, structure and implement protocols and distributed applications
General characterization
Code
8149
Credits
6.0
Responsible teacher
José Augusto Legatheaux Martins
Hours
Weekly - 5
Total - 70
Teaching language
Português
Prerequisites
Good acquaintance with programming and operating systems.
Bibliography
José Legatheaux Marins, "Fundamentos de Redes de Computadores - Ilustrado com base na Internet e nos Protocolos TCP/IP," FCT da Universidade Nova de Lisboa, 2018
James F. Kurose and Keith W. Ross, "Computer Networking - A Top-Down Approach," Addison Wesley — Pearson Education, 2012, ISBN-10: 0136079679, 6th Edition
Teaching method
Lectures are intended to support the instructor’s presentation of fundamental issues, as well as discussion of such topics with students. In some lectures, standard problems are solved and discussed and protocols are analyzed.
Laboratory sessions take place in a computer laboratory and their aim is to solve problems and learn how to build network applications and protocols. These exercises, protocols and applications use the principles presented during lectures.
Evaluation method
Two intermediate tests (closed book and with the weight of 35% each in the final grade) or a final exam on all the theoretical material (closed book and with a weight of 70% on the final grade). And also several laboratory projects (with the total weight of 30% in the final grade). These projects are performed in groups of up to 2 students. The grade of each project is individualized, through the accomplishment of a mini-test of evaluation of each student and of each project. All intermediate grades are rounded to the nearest tenth.
Specific rules on the laboratory projects: 1) work done by more than two students, or delivered after the date of their respective evaluation, are rated individually 0 grades; 2) If a project has individual evaluation, and a student misses that evaluation, his or her maximum grade in the project will be at most 5 grades; 3) If a project is delivered after the deadline, its final grading is penalized in 1 grade per day of delay.
Specific rules for success in the course: 1) The laboratory project evaluations must have an average ≥ 8 grades and the achievement of this average gives "frequency" to the laboratory part of the course; 2) The average of the scores of the two intermediate tests, or the final exam, must be ≥ 9,5 grades.
Rules for students who have obtained "frequency" in previous years do not apply to Erasmus students.
Subject matter
Computer networks: terminology, organization, services, components and structuring principles (what is a network, application structuring and application protocols: applications and transport requirements, channels, statistical multiplexing, store & forward, packet switching, layered structure, …)
Reliable transmission of information: specific requirements and techniques (Stop & Wait, Quality of service, TCP, Diffusion and FEC - Forward Error Correction)
Names and addresses (designation layers, DNS, IP addresses, MAC addresses). Diffusion of information (HTTP, performance and scalability, ...). HTTP and video content distribution networks
Routing: principles, addressing and most common algorithms. TCP / IP networks and protocols: DHCP, ARP, NAT, IP, IP forwarding