Descrição do Curso


O objetivo do curso é apresentar os conceitos-chave e os princípios das Redes Informáticas. O curso irá usar uma abordagem de “cima para baixo” para estudar a Internet e sua pilha protocolar. Ao longo do curso, a arquitetura e os protocolos da Internet serão utilizados como  exemplos para ilustrar os princípios fundamentais das redes de computadores:
  • Serão estudados os mecanismos de funcionamento ao nível da “camada de aplicação” de sistemas populares tais como o e-mail e os serviços “web” e de sistemas para transmissão de vídeo e redes de distribuição de conteúdo (CDNs), e também de sistemas de computação em nuvem (“Cloud Computing”).
  • Serão estudados os modos pelos quais essas aplicações transferem dados entre seus componentes e os utilizadores finais através da Internet usando os  protocolos da “camada de transporte”, tais como TCP e UDP.
  • Será também estudado o modo como os pacotes de dados são encaminhados (“camada de rede”) e a forma como os roteadores (“routers”) funcionam.
  • Ao nível mais baixo será estudado o modo como são transferidos os pacotes de dados (nomeadamente usando Ethernet) na “camada de ligação”.
Para além dos conceitos básicos, será ainda abordado o estado da arte em redes de Centros de Dados (“datacenter”), Redes Definidas por Software (SDNs), redes sem fio e móveis (3G, 4G, LTE) e também aspectos segurança de rede e de Qualidade de Serviço.
O curso tem uma forte componente prática com a implementação de serviços de comunicação em rede (por exemplo, o que são os “sockets” e como os usar), implementação de redes (via emulação) para ambientes com fio (“wired”) e sem fio (“wireless”) e também utilização de SDNs, implementação de protocolos e construção de aplicações cliente-servidor (usando linguagem Python),  proxies HTTP e balanceadores, e discussão de questões de segurança, de gestão e administração de redes.