Skip to main content

Computer Networks

Credits
6
Types
Compulsory
Requirements
  • Precorequisite: SO
Department
AC
Web
http://studies.ac.upc.edu/FIB/grau/XC
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

Others

Weekly hours

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

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.
  • 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
    0h
    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
    0h
    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
    0h
    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
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    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
    0h
    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
    0h
    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
    0h
    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
    0h
    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
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    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
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    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.4 * CL + 0.6 * 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.

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

    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.