Computer Networks
Objectives
Learning goals
- Introduction to computer networks: terminology, organization, services, components and structuring principles
- Socket-based programming interfaces
- Application Protocols with an emphasis on those associated with the WWW
- Fundamentals of TCP/IP networks
- Fundamentals of communication channels in general and Ethernet switched networks
- Fundamentals of security in computer 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
- Technologies used to ensure privacy, integrity and authenticity in communications made through computer networks.
General characterization
Code
8149
Credits
6.0
Responsible teacher
Pedro Abílio Duarte de Medeiros
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- NOVA, 2018
James F. Kurose and Keith W. Ross, "Computer Networking - A Top-Down Approach 8th Ed (2021) " Pearson
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.
Programming assignments 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
Evaluation has two componentes: lecture-related and laboratory-related..
Lecture-related evaluation
The mark of this componente (NT) is obtained through two tests or an exam. NL must be greater that 6,0 points.
NT = (mark of test 1 + mark of test 2 ) / 2 or
NT = mark of exame
Laboratory-related evaluation
The mark of this component (NL) is obtained combining the marks of 4 programming assignments (EP1, EP2, EP3, EP4) solved in groups of no more than 2 studentes. NL must be greater that 6,0 points.
The assignments have marks NEP1, NEP2, NEP3, NEP4 and
NL = (NEP1 + NEP2 + NEP3 + NEP4) / 4.
Mark NEPi is calculated combining two marks in each assignment:
- Group evaluation: NGi, related with the funcionality of the code delivers
- Individual evaluation NTPi : obtained through the evaluation of the answers to special questions that appear in the tests. NTPi is a mark between 0 e 100 and NEPi will be:
- If NTPi >= 70, NEPi = minimum( 20 , NGi )
- else if NTPi >= 50, NEPi = minimum( 15 , NGi )
- else if NTPi >= 25, NEPi = mínimum( 12, NGi )
- else NEPi = 0;
Final mark (NF)
NF = 0,75*NT + 0,25*NL
Subject matter
Computer networks: terminology, organization, services, components and structuring principles (what is a network, application structuring and application protocols: applications and transport requirements. Nome simbólicos e endereços; Domain Name System. Socket-based programming interface.
Application protocolos: FTP, SMTP, telnet. Web-related protocolos: HTTP. Introduction to web application programming: server-side and client-side. Video content distribution networks over HTTP.
Data-link layer: technologies for point-to-point connection and for local area networks (wired and wireless). Access to a shared communcation infrastrucure. Error detection.
Network layer: structuring and routing algorithms. Internet protocols: IP, DHCP, ARP e NAT. Internet routing.
Transport layer: Rqueirments and techniques for reliable information transfer. Stop and Wait and Sliding Window. TCP Protocol: flow and congestion control.
Computer network security: technologies for guaranteeing privacy, integrity and authentication of communications. Transport-level security (TLS). Virtual Private Networks.