Redes de Computadores

Unidade Curricular / Curricular Unit
Redes de Computadores

Ciclo de Estudos / Study Cycle
Licenciatura em Engenharia Informática

Nome do Docente Responsável
João Pedro Gonçalves Crespo Craveiro

Nome do Docente Adicional
José Faísca

Objectivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes)
O objectivo desta UC é o de apresentar os princípios básicos do funcionamento das Redes de Computadores e dos diferentes Modelos de Protocolos utilizados, partindo da camada aplicacional para a camada física, realizando uma abordagem Top-Down da arquitectura dos sistemas em rede e da Internet.
No final da cadeira os alunos deverão:

– conhecer as diversas arquitecturas de redes utilizadas actualmente;
– conhecer os principais protocolos utilizados em redes de dados;
– identificar as características de cada camada protocolar do modelo OSI simplificado e os principais protocolos associados;
– programar aplicações simples no modelo cliente/servidor utilizando a API de Sockets;
– realizar tarefas de administração de redes, nomeadamente no que diz respeito à configuração de esquemas de endereçamento, particionamento, tabelas de encaminhamento, atribuição de endereços IP, etc.

Learning outcomes of the curricular unit
The goal of this course is presenting the basic working principles of computer networks, and the different protocol models employed – from the application layer to the physical layer, in a top-down approach to the architecture of networked systems and of the Internet.

At the end of the course the students are expected to:

– know the multiple network architectures currently employed;
– know the main protocols used in data networks;
– identify the characteristics of each protocol layer of the simplified OSI model and the main associated protocols;
– implement simple applications, based on the client/server model, using the socket API.
– accomplish network administration tasks, namely w.r.t. addressing schemes, subnetting, routing tables, IP address assignment, etc.

Conteúdos programáticos
1. Introdução
Noções de Serviço e Protocolo
Comutação de circuitos e de pacotes, multiplexagem
Topologias de Redes: PANs, LANs, MANs e WANs
Redes de dados: ISPs, banda larga, redes sem fios
Arquitectura por camadas: modelos de pilha de protocolos OSI e TCP/IP

2. Nível Aplicacional
Arquitecturas de Aplicações Distribuídas
A Web e o Protocolo HTTP
Transferência de Ficheiros: o protocolo FTP
O email e os protocolos SMTP, POP e IMAP
Serviço de nomes: DNS
Gateways Aplicacionais
A API de sockets

3. Nível Transporte
Serviço de Transporte
Multiplexagem de pacotes
Transporte sem conexão: UDP
Transporte fiável, com conexão: TCP
Controle de Fluxo e de Congestão

4. Nível Rede
Circuitos Virtuais e Datagramas
Arquitectura de um encaminhador
Protocolo IP: encaminhamento e endereçamento
Protocolo DHCP
IPV4 e IPV6
Algoritmos de Encaminhamento

5. Nível Ligação
Ethernet (IEEE 802.3)
Wi-Fi (IEEE 802.11)
Controlo de acesso ao meio
Endereçamento: MAC, ARP
Hubs, Bridges e Switches

Syllabus
1. Introduction
Notions of service and protocol
Circuit switching, packet switching, multiplexing
Network topologies: PAN, LAN; MAN, WAN
Data networks: ISPs, broadband, wireless networks
Layered architecture: OSI and TCP/IP protocol stack models

2. Application Layer
Distributed application architectures
Web: the HTTP protocol
File transfer: the FTP protocol
Email: the SMTP, POP and IMAP protocols
Domain name (resolution) service: DNS
Application gateways
The socket API

3. Transport Layer
Transport service
Packet multiplexing
Connectionless transport: UDP
Reliable, connection-oriented transport: TCP
Flow control and congestion control

4. Network Layer
Virtual circuit and datagram
Architecture of a router
IP protocol: routing and addressing
DHCP protocol
IPV4 and IPV6
Routing algorithms

5. Link Layer
Ethernet (IEEE 802.3)
Wi-Fi (IEEE 802.11)
Medium access control
Addressing: MAC, ARP
Hubs, Bridges and Switches

Demonstração da coerência dos conteúdos programáticos com os objectivos da unidade curricular
Os conteúdos programáticos estão organizados em capítulos que mapeiam nos níveis do modelo OSI simplificado, esplanando os principais serviços e protocolos em cada um desses níveis. Este elenco e organização de conteúdos cumprem o objectivo de apresentar os princípios básicos do funcionamento das Redes de Computadores e dos diferentes Modelos de Protocolos utilizados.

A opção por uma abordagem Top-Down visa fazer um percurso pedagógico com os alunos, iniciado com informação mais familiar (o nível aplicacional) e progredindo para assuntos mais profundos e desconhecidos. A camada física é alvo de menor foco, por forma a não redundar com outras unidades curriculares do plano de estudos (nomeadamente, Sinais e Sistemas).

A escolha dos pontos essenciais do programa baseia-se em referências bibliográficas relevantes utilizadas internacionalmente nesta área da engenharia, e apoia-se na observação das necessidades formativas dos alunos ao longo do percurso do ciclo de estudos.

Demonstration of the syllabus coherence with the Curricular Unit’s objectives
The syllabus for this course is organized in chapters that map into the layers of the simplified OSI model, elaborating on the main services and protocols pertaining to each of those levels. This content and its organization fulfill the goal of presenting the basic working principles of computer networks, and the different protocol models employed.

The option for a Top-Down approach aims to perform a pedagogic journey with the students, starting from more familiar information (the application layer) and progressing towards more deep and unknown subjects. The physical layer is be dealt with more lightly, so as to avoid redundancy with previous courses (namely, Signals and Systems).

The choice of the Syllabus essential themes is based in bibliographic relevant references that internationally adopted in this engineering area, and supported by the observation of the formative needs of students across the study cycle.

Metodologias de ensino (avaliação incluída)
A aprendizagem é ilustrada por exemplos reais extraídos das aplicações e protocolos mais utilizados e será baseada em Aulas Teóricas e Práticas Laboratoriais, onde os alunos terão a oportunidade de implementar aplicações baseadas nos protocolos abordados, e de analisar o tráfego resultante utilizando ferramentas adequadas, como o Wireshark. A arquitectura da rede do laboratório utilizado permite por outro lado a configuração, administração e particionamento de redes, simulando condições de funcionamento das redes empresariais.

A avaliação é contínua e constituída por testes e TPCs teóricos (50%) e entrega de trabalhos e projectos (50%) ao longo do semestre. A aprovação na cadeira é obtida com uma nota mínima de 10 valores da média das duas componentes e de 8 valores em cada uma delas.

Planned learning outcomes, teaching methods and assessment methods and criteria
The learning process is illustrated with real examples extracted from the most widely used applications and protocols, and is based on Lectures and Labs Sessions; in the latter, students will have the opportunity to implement applications based on the studied protocols and analyse the resulting network traffic with tools such as Wireshark. Furthermore, the network architecture available in the lab allows network configuration, administration and subnetting tasks, simulating the activities on enterprise networks.
The assessment is continuous, based in multiple theoretical tests and homework (50%) and in the results obtained in laboratorial exercises (50%) throughout the semester. Approval is contingent to a minimum grade of 10 points (out of 20) in the average of both components, and 8 point in each one of them.

Demonstração da coerência das metodologias de ensino com os objectivos de aprendizagem da unidade curricular
As metodologias de ensino garantem a coerência com os objectivos propostos na medida em que a exposição dos princípios de funcionamento das diferentes camadas de abstração das redes de computadores permitem numa primeira fase que os estudantes estabeleçam contacto numa perspectiva teórica com os temas da UC, em complementaridade dos  conhecimentos adquiridos em UCs anteriores, e partindo de informação mais familiar para informação nova e mais específica. A exposição dos temas nas aulas teóricas é feita na base da interacção e discussão dos temas, que os alunos devem estudar autonomamente – quer com antecedência (para preparação), quer após a leccionação (para aprofundamento). Esta metodologia incide sobre o objectivo de que os alunos adquiram um entendimento global dos temas abordados e capacidade de abstração para raciocinaram sobre estes (e não apenas conhecimento bruto e/ou mecânico com o mero fito da aprovação). A introdução de TPCs regulares visa estimular este estudo autónomo. Estes TPCs visam também, em conjunto com a existência de dois testes de frequência (intercalar e final), promover que esse estudo aconteça continuamente ao longo do semestre, por oposição ao estudo concentrado no final do semestre.

Na componente prática, a implementação de módulos funcionais concretos permite aos estudantes compreender, numa vertente de aprendizagem aberta baseada em métodos de auto-aprendizagem, as aplicações, desafios e potencialidades dos conceitos adquiridos, fornecendo-lhes competências para intervir profissionalmente numa área em constante evolução. Sendo baseadas na experimentação, as aulas práticas ajudam o cumprir o objectivo de formar profissionais competentes na área das redes de computadores, quer para incursão na indústria quer para investigação científica no âmbito do prosseguimento de estudos pós-graduados (2.º e 3.º ciclos).

A avaliação contínua tem implícita uma vertente formativa, pois permite avaliar o progresso dos estudantes em ambas as componentes e também que estes possam adaptar as suas próprias estratégias de aprendizagem aos objectivos pretendidos.

Demonstration of the teaching methodologies coherence with the curricular unit’s objectives
The teaching methodologies guarantee coherence with the proposed objectives in the sense that the exposition of the working principles of the multiple abstraction layers of computer networks allow, in a first phase, that students establish contact in a theoretical perspective with the subjects of the curricular unit. This exposition is complementary to the knowledge acquired in previous curricular units, and progresses from more familiar information to newer and more specific information. The exposition in the lectures is based on interaction and discussion of the subjects, which students should study autonomously – both beforehand (in preparation) and after the lecture (for a deeper understanding). This methodology focuses on the goal of having students acquire a full understanding of the approached subjects and abstraction capacities to reason about the latter (and not just raw and/or mechanical knowledge in the mere pursuit of a passing grade). The introduction of regular homework aims to stimulate the aforementioned autonomous study; this homework also aims, together with the existence of two tests (midterm and final), to promote the continuity of that study over the whole semester, as opposed to crammed towards the end of the semester

The practical component complements the previous approach with the implementation of real functional modules, in a open learning approach, allowing students to understand, through self-learning methodologies, the applications, challenges and potentialities of the concepts acquired, and also acquire competencies to act professionally an area in constant evolution. Being based on experimentation, the practical classes help fulfill the goal of educating competent professionals in the field of computer networks, either to enter the industrial/corporate world or to embark in scientific research in the scope of postgraduate studies (Master and Doctorate degrees).

The continuous assessment also contains a formative approach, since it allows evaluating the progress of students in both components, so they can adapt their own learning strategies to attain their objectives.

Bibliografia Principal / Main Bibliography
Principal / required:
“Computer Networking – A top-down approach featuring the Internet” (6th Edition), de J. Kurose e K. Ross, Ed. Addison-Wiley, 2012; ISBN: 0132856204.
Recomendada / recommended:
Lin, Y.-D., Hwang, R.-H., & Baker, F. (2011). Computer Networks: An Open Source Approach. McGraw-Hill; ISBN-10: 0073376248.
Bonaventure, O. (Last updated on September, 2014). Computer Networking : Principles, Protocols and Practice. Online publication: http://inl.info.ucl.ac.be/cnp3.
Bauts, T., Dawson, T., & Purdy, G.N. (2005). Linux Network Administrator’s Guide (3rd ed.). O’Reilly Media; ISBN-10: 0073376248.
Parziale, L., Britt, D.T., Davis, C., Forrester, J., Liu, W., Matthews, C., & Rosselot, N. (2006). TCP/IP Tutorial and Technical Overview (8th ed.). IBM RedBooks. http://www.redbooks.ibm.com/abstracts/gg243376.html
Stevens, R., Fenner, B., & Rudoff, A. (2003). Unix Network Programming: The Sockets Networking API (Vol. 1). Prentice Hall; ISBN-10: 0131411551.

Universidade Lusófona


ECATI Escola de Comunicação, Arquitetura, Artes e Tecnologias da Informação

Departamento de Engenharia Informática e Sistemas de Informação
Edifício F, sala F.1.3
Direção — 217 515 500 (ext: 683)
Serviço de Apoio Tecnico-Admistrativo (SATA) — 17 515 500 (ext: 764)


Lisboa
Avenida do Campo Grande,
376 1749-024 Lisboa, Portugal
Tel.: 217 515 500 | email: info.cul@ulusofona.pt
Porto
Rua Augusto Rosa,
Nº 24, 4000-098 Porto - Portugal
Tel.: 222 073 230 | email: info.cup@ulusofona.pt

Gestão de conteúdos por Lucio Studer Ferreira © 2022 COFAC.