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”.
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.