Redes de Computadores
Objetivos
Conhecimentos
- Redes de computadores: terminologia, organização, serviços, componentes e princípios estruturantes
- Interface de programação baseada em sockets
- Protocolos de aplicação, com ênfase nos associados à WWW
- Redes TCP/IP – princípios e protocolos
- Noções fundamentais sobre o funcionamento dos canais em geral e as redes Ethernet comutadas
- Fundamentos da segurança das redes de computadores
Aptidões e competências
- Perceber a arquitetura e como funciona uma rede de computadores
- Indicadores de desempenho da rede e sua estimativa e medida
- Perceber o impacto dos níveis transporte e rede sobre o desempenho das aplicações distribuídas
- Perceber como é que a informação é difundida
- Conhecer e saber utilizar interfaces de transporte
- Analisar, estruturar e desenvolver protocolos e aplicações distribuídas
- Conhecer as tecnologias usadas para assegurar a confidencialidade, integridade e autenticidade das comunicações efetuadas através de redes de computadores
Caracterização geral
Código
8149
Créditos
6.0
Professor responsável
Pedro Abílio Duarte de Medeiros
Horas
Semanais - 5
Totais - 70
Idioma de ensino
Português
Pré-requisitos
Competências de programação e sistemas de operação.
Bibliografia
L. Peterson, B. Davie, Computer Networks: a Systems Approach https://book.systemsapproach.org (2024 v6.2-dev atualização contínua)
https://github.com/SystemsApproach/book/releases/download/v6.1/book.pdf
J. Legatheaux Martins, Fundamentos de Redes de Computadores, FCT-NOVA 2018 https://legatheaux.eu/book/cnfbook-pub.pdf
C. Severance, Introduction to Networking 2015 https://do1.dr-chuck.net/net-intro/EN_us/net-intro.pdf
Método de ensino
Nas aulas teóricas expõe-se e discute-se o programa da cadeira. Em algumas aulas teóricas resolvem-se e discutem-se problemas tipo que envolvem a modelização e a análise de um protocolo ou de uma situação.
Nas aulas práticas são desenvolvidos diversos trabalhos cujo objectivo é levar o aluno a realizar trabalhos experimentais sobre os tópicos mais importantes da matéria. Para além de cumprirem os objectivos dos trabalhos, os alunos devem depois relacionar os resultados obtidos com os tópicos da matéria que são relevantes. Em várias aulas procede-se à resolução de problemas tipo e também à análise de protocolos.
Método de avaliação
As questões de plágio e fraude serão tratadas de acordo com o indicado no regulamento de avaliação da FCT. O uso de ferramentas "tipo Chat GPT" é permitido e o seu uso não tem de ser reportado.
A avaliação tem dois componentes: componente teórica e componente prática. Todas as notas intermédias são arredondadas às décimas.
Componente teórica
A nota desta componente (NT) é obtida em dois testes teórico / práticos presenciais sem consulta, ou exame de recurso (também presencial).
NT = (nota teste 1 + nota teste2 ) / 2. ou
NT = nota exane de recurso
NT deve ser pelo menos 9,5 valores.
Componente laboratorial
A nota desta componente (NL) é obtida em quatro trabalhos práticos de média dimensão (EP1, EP2, EP3, EP4) elaborados em grupos de até 2 estudantes. NL deve ser pelo menos 6,0. Os trabalhos têm notas NEP1, NEP2, NEP3, NEP4.
NL = (NEP1 + NEP2 + NEP3 + NEP4) / 4.
A nota NEPi é obtida através de duas componentes:
-Avaliação do grupo, NGi, relacionada com a funcionalidade e correção do código entregue.
- Avaliação individual de cada membro do grupo NTPi, que é obtida através das respostas a perguntas sobre os trabalhos práticos nos dois testes (sobre o EP1 e EP2 no 1º teste, sobre o EP3 e EP4 no 2º teste). Essas perguntas não contribuem para a nota do teste. As perguntas sobre o EPi são classificadas com uma nota NTPi entre 0 e 100 e a nota final NEPi será dada pelas regras seguintes:
- Se NTPi >= 50, NEPi = minimo( 20 , NGi )
- senão se NTPi >= 20, NEPi = minimo( 14 , NGi )
- senão NEPi = 0;
Se um estudante faltar, com justificação, ao teste em que é obtido NTPi, a componente NTPi será obtida num teste prático em data a combinar, aplicando-se as regras acima para obter NEPi. Esse teste poderá ser usado para obter a nota prática mínima, para estudantes que tenham entregue pelo menos dois dos trabalhos.
Nota final (NF)
NF = 0,75*NT + 0,25*NL
Notas práticas de anos anteriores
Todos os estudantes que obtiveram nota prática superior a 6,0 nos trẽs anos anteriores podem usar essa nota como NL que entrará com o peso 0,25. Os estudantes podem optar por obter uma nova nota NL em 2024/25, devendo nesse caso inscrever-se num turno prático e entregar os trabalhos nas datas especificadas e responder às perguntas sobre os exercícios nos testes. Caso se inscrevam em turnos práticos mas desistam da avaliação, NL será a obtida anteriormente.
Melhoria de nota obtida em anos anteriores
Apenas é possível melhorar a componente teórico-prática; essa melhoria só pode ser feita no exame de recurso.
Conteúdo
Redes de computadores: terminologia, organização, serviços, componentes e princípios estruturantes (o que é uma rede, estruturação de aplicações e protocolos aplicacionais: requisitos das aplicações e transporte). Nomes simbólicos e endereços, DNS. Interface de programação usando sockets
Camada "data link": tecnologias para ligações ponto a ponto e para rede local (com e sem fios). Acesso a meios partilhados. Deteção de erros.
Camada Rede: princípios, endereçamento e algoritmos de encaminhamento.Protocolos da Internet: DHCP, ARP, NAT, IP, encaminhamento em IP.
Camada de transporte: Transmissão fiável de informação: requisitos e técnicas específicas (Stop & Wait, Janela Deslizante). Protocolo TCP: controlo de fluxo e de saturação.
Segurança de redes de computadores: tecnologias de base para assegurar a confidencialidade, integridade e autenticidade das comunições. Segurança a nível da camada de transporte (TLS). VPN.
Protocolos de aplicação: FTP, SMTP, telnet. A Web: protocolo HTTP. Introdução à programação de aplicações Web: o lado servidor e o lado cliente. Redes de distribuição de conteúdos e vídeo sobre HTTP.