Computer Networks

Credits
6
Types
Compulsory
Requirements
  • Precorequisite: SO
Department
AC
Computer Networks course is designed as a first course in this area. Its content is focused primarily on the Internet. During the course students learn the complexities behind this global network, which allows the exchange of information reliably and efficiently. Explains how the Internet is organized, what are the most important protocols and what is their purpose. The course tries to use a "scientific" approach, evaluating with simple numerical problems the protocols explained. An important part of the course are laboratory sessions. In these, practices carefully designed are carried out by students in order to experience "with their own hands" the concepts discussed in the theoretical classes.

Teachers

Person in charge

  • Llorenç Cerdà Alabern ( )

Others

  • Alba Cañete Garrucho ( )
  • Axel Tomas Wassington ( )
  • Davide Careglio ( )
  • Fatima Yolanda Rodriguez Galan ( )
  • Felix Freitag ( )
  • Jaime M. Delgado Merce ( )
  • Jordi Domingo Pascual ( )
  • Jordi Paillissé Vilanova ( )
  • Jorge García Vidal ( )
  • Jose Maria Barceló Ordinas ( )
  • Leandro Navarro Moldes ( )
  • Luis Domingo Velasco Esteban ( )
  • Marc Ruiz Ramírez ( )
  • Pere Barlet Ros ( )
  • Roger Baig Viñas ( )

Weekly hours

Theory
2
Problems
1
Laboratory
1
Guided learning
0
Autonomous learning
6

Competences

Technical Competences

Common technical competencies

  • CT2 - To use properly theories, procedures and tools in the professional development of the informatics engineering in all its fields (specification, design, implementation, deployment and products evaluation) demonstrating the comprehension of the adopted compromises in the design decisions.
    • CT2.3 - To design, develop, select and evaluate computer applications, systems and services and, at the same time, ensure its reliability, security and quality in function of ethical principles and the current legislation and normative.
    • CT2.4 - To demonstrate knowledge and capacity to apply the needed tools for storage, processing and access to the information system, even if they are web-based systems.
  • CT3 - To demonstrate knowledge and comprehension of the organizational, economic and legal context where her work is developed (proper knowledge about the company concept, the institutional and legal framework of the company and its organization and management)
    • CT3.6 - To demonstrate knowledge about the ethical dimension of the company: in general, the social and corporative responsibility and, concretely, the civil and professional responsibilities of the informatics engineer.
  • CT6 - To demonstrate knowledge and comprehension about the internal operation of a computer and about the operation of communications between computers.
    • CT6.1 - To demonstrate knowledge and capacity to manage and maintain computer systems, services and applications.
    • CT6.2 - To demonstrate knowledge, comprehension and capacity to evaluate the structure and architecture of computers, and the basic components that compound them.
    • CT6.4 - To demonstrate knowledge and capacity to apply the characteristics, functionalities and structure of the Distributed Systems and Computer and Internet Networks guaranteeing its use and management, as well as the design and implementation of application based on them.
  • CT7 - To evaluate and select hardware and software production platforms for executing applications and computer services.
    • CT7.1 - To demonstrate knowledge about metrics of quality and be able to use them.
    • CT7.2 - To evaluate hardware/software systems in function of a determined criteria of quality.
    • CT7.3 - To determine the factors that affect negatively the security and reliability of a hardware/software system, and minimize its effects.
  • CT8 - To plan, conceive, deploy and manage computer projects, services and systems in every field, to lead the start-up, the continuous improvement and to value the economical and social impact.
    • CT8.1 - To identify current and emerging technologies and evaluate if they are applicable, to satisfy the users needs.
    • CT8.4 - To elaborate the list of technical conditions for a computers installation fulfilling all the current standards and normative.

Transversal Competences

Autonomous learning

  • G7 [Avaluable] - To detect deficiencies in the own knowledge and overcome them through critical reflection and choosing the best actuation to extend this knowledge. Capacity for learning new methods and technologies, and versatility to adapt oneself to new situations.
    • G7.2 - Guided learning: perform assigned tasks according to basic orientations given by the teaching staff; to decide the needed time for each task, including personal contributions and expanding the indicated information sources. Appropriate use of study guides. Capacity to take decisions based on objective criteria (experimental, scientific or simulation available data). Capacity to evaluate your own strong and weak points, and perform consequently.

Objectives

  1. Identify the main functions associated with physical level protocols, links, networks, transport and networked applications and identify the level to which a protocol belongs.
    Related competences: CT6.1, CT6.4, G7.2,
  2. Identify applications using a client-server paradigm and distinguish between temporary and well-known ports.
    Related competences: CT6.2, CT2.4,
  3. Predict protocol functioning and interpret the content of messages that use web, FTP, e-mail and DNS applications.
    Related competences: CT2.4, CT2.3,
  4. Interpret electronically represented documents (HTML and XML).
    Related competences: CT6.4, G7.2, CT2.4,
  5. Interpret IP header fields, IP datagram fragmentation and messages generated by the ARP and ICMP protocols.
    Related competences: CT6.1, CT6.2,
  6. Interpret and deduce routing table content, predict RIP routing protocol behaviour and messages, design IP network address allocation, distinguish between public and private addresses and use NAT.
    Related competences: CT6.1, CT6.2,
  7. Design the basic configuration of a firewall (NAT, access lists and tunnels).
    Related competences: CT6.1, CT7.3, CT8.4, CT3.6, CT2.3,
  8. Differentiate between the services and functions for TCP and UDP and interpret header content for TCP segments and UDP datagrams.
    Related competences: CT6.1, CT6.4, CT7.1, CT6.2,
  9. Create time diagrams to model protocol behaviour in ARQ and particularly in TCP.
    Related competences: CT7.1, CT7.2, CT6.2,
  10. Predict TCP flow and congestion control behaviour, specifically the functioning of pop-up windows, segment transmission mechanisms, congestion windows and slow-start and congestion-avoidance algorithms.
    Related competences: CT7.1, CT7.2, CT6.2,
  11. Estimate the effective traffic rate for a TCP connection in different conditions (lags, link transmission speeds, segment losses, etc.).
    Related competences: CT7.1, CT7.2, CT7.3,
  12. Represent time diagrams representing MAC protocols for the local area networks studied.
    Related competences: CT7.1, CT7.2,
  13. Determine the active flow control mechanisms used for a local area network, traffic distribution according to station and device topology (hubs, switches and routers), distinguish between collision and broadcast domains, configure VLANs/trunks and determine the network topology for the configured VLAN.
    Related competences: CT8.1, CT7.1, CT7.2, CT7.3,
  14. Identify bottlenecks in a local area network and calculate the effective flow rate for different traffic conditions.
    Related competences: CT8.1, CT7.1, CT7.2, CT7.3,

Contents

  1. Introduction
    Introduction to the Internet, packet networks, standardisation bodies and the ISO OSI reference model.
  2. IP Networks
    Knowing the format of an IP datagram. IP addressing, numbering, Pubic and Private IP addresses, subnetting. IP supporting protocols (ICMP, ARP, DHCP, DNS). IP routing, routing table and concepts of IGP and EGP routing algorithms. NAT and security in IP networks: Concept of firewall and virtual private networks.
  3. TCP protocol
    The transport layer and its most important functions. Automatic error retrieval protocols such as ARQ. TCP/IP network transport layers, UDP and TCP protocols and particularly TCP flow control and congestion control mechanisms. Application interfaces and the transport layer (sockets).
  4. Local Area Networks
    Transmission media and structured wiring. Principles of access protocols for a shared environment on a local area network, Ethernet protocol, switches, VLANs and trunking. Basic wireless networks and protocol 802.11 (WiFi).
  5. Network applications
    The client-server paradigm for TCP/IP network applications. Applications (web, e-mail, DNS) and the protocols they use (HTTP, SMTP). Main formats for representing application documents (HTML, XML).

Activities

Activity Evaluation act


Topic development: Introduction



Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
4h

Topic development: Network applications



Theory
4.5h
Problems
2h
Laboratory
0h
Guided learning
0h
Autonomous learning
10h

Network applications laboratory

Understand the HTTP, SMTP, POP3 and DNS protocols. Use system tools to monitor system activity and study system format and features.
  • Laboratory: Face-to-face laboratory session week 4.
  • Autonomous learning: Prepare the practical.
Objectives: 3
Contents:
Theory
0h
Problems
0h
Laboratory
1.7h
Guided learning
0h
Autonomous learning
2h

Topic development: IP networks



Theory
9h
Problems
4.5h
Laboratory
0h
Guided learning
0h
Autonomous learning
18h

Laboratory on basic commands for IP level configuration with UNIX

Interface configuration, adding entries to the routing table, /etc/hosts files and basic commands (ping, traceroute, tcpdump). Face-to-face laboratory session.
  • Laboratory: Face-to-face laboratory session. To be completed in week 6.
  • Autonomous learning: Prepare the practical.
Objectives: 5
Contents:
Theory
0h
Problems
0h
Laboratory
1.7h
Guided learning
0h
Autonomous learning
2h

CISCO routers laboratory and IOS

Router structure, IOS configuration modes, interface configuration, entries in the routing table and the show running-config command.
  • Laboratory: Face-to-face laboratory session. To be completed in week 7.
  • Autonomous learning: Prepare the practical.
Objectives: 5 6
Contents:
Theory
0h
Problems
0h
Laboratory
1.7h
Guided learning
0h
Autonomous learning
2h

Dynamic routing laboratory: RIPv1 and RIPv2

Configuring RIP in a Cisco router. Record update messages and build routing tables.
  • Laboratory: Face-to-face laboratory session. To be completed in week 8.
  • Autonomous learning: Prepare the practical.
Objectives: 6
Contents:
Theory
0h
Problems
0h
Laboratory
1.7h
Guided learning
0h
Autonomous learning
2h

ACLs and NAT with IOS laboratory

Configuring standard and extended ACLs in IOS. NAT configuration.
  • Laboratory: Face-to-face laboratory session. To be completed in week 9.
  • Autonomous learning: Prepare the practical.
Objectives: 7
Contents:
Theory
0h
Problems
0h
Laboratory
1.7h
Guided learning
0h
Autonomous learning
2h

Topic development: TCP



Theory
6h
Problems
4.5h
Laboratory
0h
Guided learning
0h
Autonomous learning
12h

TCP and tcpdump practical


  • Laboratory: Face-to-face laboratory session. To be completed in week 11.
  • Autonomous learning: Prepare the practical.
Objectives: 8 9 10 11
Contents:
Theory
0h
Problems
0h
Laboratory
1.7h
Guided learning
0h
Autonomous learning
2h

Topic development: Local area networks



Theory
4h
Problems
4h
Laboratory
0h
Guided learning
0h
Autonomous learning
10h

Switches laboratory

Configuring VLANs and trunk links between Cisco switches and routers.
  • Laboratory: Face-to-face laboratory session. To be completed in week 12.
  • Autonomous learning: Prepare the practical.

Theory
0h
Problems
0h
Laboratory
1.7h
Guided learning
0h
Autonomous learning
2h

Laboratory mini-test on networked applications

15-minute test issued at the end of the laboratory session.
Objectives: 1 2 3
Week: 4
Theory
0h
Problems
0h
Laboratory
0.3h
Guided learning
0h
Autonomous learning
0h

Laboratory mini-test on basic commands for IP level configuration with UNIX

15-minute test issued at the end of the laboratory session.
Objectives: 1 2 3 5 6
Week: 6
Theory
0h
Problems
0h
Laboratory
0.3h
Guided learning
0h
Autonomous learning
0h

Laboratory mini-test on CISCO routers and IOS

15-minute test issued at the end of the laboratory session.
Objectives: 1 2 3 4 5 6
Week: 7
Theory
0h
Problems
0h
Laboratory
0.3h
Guided learning
0h
Autonomous learning
0h

C: Control 1

Evaluation of the units Introduction and IP Networks.
Objectives: 1 2 5 6 7
Week: 9 (Outside class hours)
Theory
1.5h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
6h

Laboratory mini-test on dynamic routing: RIPv1 and RIPv2

15-minute test issued at the end of the laboratory session.
Objectives: 1 2 3 4 5 6
Week: 8
Theory
0h
Problems
0h
Laboratory
0.3h
Guided learning
0h
Autonomous learning
0h

Laboratory mini-test on ACLs and NAT with IOS

15-minute test issued at the end of the laboratory session.
Objectives: 1 2 3 4 5 6 7
Week: 9
Theory
0h
Problems
0h
Laboratory
0.3h
Guided learning
0h
Autonomous learning
0h

Laboratory mini-test on TCP and tcpdump

15-minute test issued at the end of the laboratory session.
Objectives: 1 2 3 4 5 8 9 10 11
Week: 11
Theory
0h
Problems
0h
Laboratory
0.3h
Guided learning
0h
Autonomous learning
0h

Laboratory mini-test on switches

15-minute test issued at the end of the laboratory session.
Objectives: 1 2 3 4 5 10 11 12 13 14
Week: 12
Theory
0h
Problems
0h
Laboratory
0.3h
Guided learning
0h
Autonomous learning
0h

EL: Final laboratory exam

This exam will be issued in the last week of face-to-face classes as a directed activity (AD) (i.e. separate from the face-to-face laboratory sessions).
Objectives: 1 2 3 4 5 6 7 8 11 13
Week: 13
Theory
0h
Problems
0h
Laboratory
1h
Guided learning
0h
Autonomous learning
5h

EF: Final theory exam


Objectives: 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Week: 15 (Outside class hours)
Theory
3h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
11h

Teaching methodology

The subject is composed of theory and laboratory classes. Concepts will be explained in the theory classes, and related exercises will be completed. Students will be assigned problems to be completed in class.

Laboratory work represents an important part of the course. Students should obtain, at the beginning of course, a laboratory notebook providing a brief explanation of the theory and guidelines for each practical. The face-to-face laboratory sessions will be scheduled once the corresponding concepts have been covered in theory classes. Students will prepare for these sessions by reviewing the relevant theoretical concepts. Each face-to-face session will conclude with a mini-test.

Evaluation methodology

The evaluation of the subject will have two components: laboratory, NL, (30%) and theory, NT, (70%), that is: NF = 0.3 * NL + 0.7 NT

The laboratory grade, NL, will be calculated as: NL = 0.5 * CL + 0.5 * EL

Where CL is the average of the laboratory mini-assessments, and EL is the final laboratory exam. In order to be able to do the mini-assessments, a previous report must be delivered at the beginning of the session. If not delivered, the mini-assessment cannot be done, and the mark will be 0.

The theory note, NT, will have 2 parts. An assessment, C1, and a final exam, EF. These exams will be held during the midterm and final exam sessions scheduled by the faculty. C1 can release part of the EF.

The theory note will be calculated as: NT = 0.3 * max (C1, EF) + 0.7 * EF

Incentive to study. The final mark (NF) will be increased up to 1 point to students who meet the conditions below. The increase will be proportional to the NF obtained and the number of problems delivered as NFinc = NF + max(0, min(1, (NF-5)/2) * B), where B is the proportion of delivered problems.
1) Deliver on time the tracking problems that will be proposed during the course.
2) Have a grade NF greater to 5.

The mark of the transversal competence is computed as the average of the final exam marks of the presential and non presential labs.

Bibliography

Basic:

Complementary:

Web links

Previous capacities

Students are expected to have acquired a level of technical English that enables them to follow documentation, manuals and standards, as well as a basic understanding of computer structure: main computer components, input/output devices, bus, direct memory access, interrupts. They are also expected to be familiar with operating systems and have a user-level knowledge of UNIX, OS organisation, drivers, processes, communication between processes and data structures.