Redes de Computadores (IBM)

Disciplina do 5o Período do Bacharelado em Informática Biomédica

Prof. Elias P. Duarte Jr.     Departamento de Informática     UFPR

  DISCIPLINA CI1244: FUNDAMENTOS DE REDES E SISTEMAS DISTRIBUÍDOS
  1o Semestre 2025: Neste período o Prof. Elias está ministrando a turma A

Caros alunos: conforme combinado a nossa aula de quarta-feira, dia 30 de abril de 2025 será virtual às 20:30hs, Vamos iniciar o protocolo TCP, que já não cai na Prova 1 (semana que vem). O link para a sala é este: https://bbb.c3sl.ufpr.br/rooms/vxy-fgj-jsz-o8u/join

Confirmando que haverá sim aula sexta-feira 28/03/2025, aguardo todos vcs!

Atenção pessoal: devido à visita do Prof. Kishor Trivedi não haverá aula no dia 26/03/2025, os alunos estão convidados para palestra do Prof. Trivedi terça-feira dia 25 às 16:30hs no Auditório do Departamento de Informática.

Caros alunos: iniciamos nesta quarta-feira 12 de março de 2025 nossa disciplina, aguardo todos vocês na sala CT-03

Todos os avisos da disciplina serão postados aqui.

Horário das aulas neste semestre: Quartas & Sextas 15:30 -> 17:00 horas Sala: CT-03 (Ciências da Terra)

Avaliação: 2 provas de 40 pontos cada; 2 listas de exercícios de 10 pontos cada.

Calendário:

Prova 1: 9 de maio de 2025 (sexta-feira, na hora da aula, na sala de aula)

Prova 2: 27 de junho de 2025 (sexta-feira, 13:30, na sala de aula)
Os alunos estão convidados para ver as correções; a partir da última semana de maio o professor estará disponível em vários horários, basta agendar.

Prova Final: 9 de julho de 2025 (quarta-feira, na hora da aula, na sala de aula)

Atenção: Alunos reprovados por faltas infelizmente não poderão fazer a final - fique de olho! Sua presença é muito importante: as aulas foram preparadas para você!
VEJA: programa exemplo para ilustrar a criação de um bom log.

  As Aulas

Módulo 1     Módulo 2     Módulo 3     Módulo 4     Módulo 5     Módulo 6     Módulo 7     Módulo 8     Módulo 9    
Módulo 10     Módulo 11     Módulo 12     Módulo 13     Módulo 14     Módulo 15     Módulo 16     Módulo 17     Módulo 18     Módulo 19     Módulo 20    

  Trabalho Prático: a ser definido!

Deve ser feita uma página Web, que contém:

  1. Relatório HTML explicando como o trabalho foi feito (use desenhos, palavras, o que você quiser): o objetivo é detalhar as suas decisões para implementar seu trabalho.
  2. Código fonte dos programas, comentados. ATENÇÃO: acrescente a todo programa a terminação ".txt" para que possa ser diretamente aberto em um browser. Exemplos: cliente.py.txt ou servidor.c.txt
  3. Log dos testes executados: mostre explicitamente diversos casos testados, lembre-se é a partir desta listagem de testes que o professor vai medir até que ponto o trabalho está funcionando. VEJA: programa exemplo para ilustrar a criação de um bom log.

Enviar um email para o professor com o assunto: Trabalho Prático FundReSD 2025-1

  Listas de Exercícios

Lista de Exercícios 1: Lista de Exercícios 1

Lista de Exercícios 2: Lista de Exercícios 2

  Software: Clientes e Servidores Exemplo sobre UDP/IP e TCP/IP

Um Servidor sobre TCP Exemplo

Um Cliente sobre TCP Exemplo

Um Servidor sobre UDP Exemplo

Um Cliente sobre UDP Exemplo

  Material de Segurança e Gerência

Segurança I

Segurança II

Gerência de Redes


  Informações sobre a Fundamentos de Redes e Sistemas Distribuídos (CI244)
  Programa
  1. Conceitos básicos: protocolos, padrões; a pilha de protocolos TCP/IP.
  2. LAN & WAN: redes locais e redes de longa distância. Revisão da camada física, camada de enlace e comunicação de dados sobre a Ethernet CSMA/CD. Redes determinísticas. Panorama de outras tecnologias.
  3. A Internet: arquitetura, histórico & visão geral da familia de protocolos TCP/IP.
  4. Estrutura dos endereços IP; classes; manipulação de endereços IP. Protocolo ARP.
  5. Manipulação de endereços IP: ARP, Subredes e CIDR.
  6. O protocolo IP: não-confiável, não-orientado à conexão; pacote IP: TTL, fragmentação, código de detecção de erros, outros campos de controle.
  7. A camada de Rede na Internet além do IPv4: IPv6. NAT. O protocolo ICMP. Mensagens de erro e controle: tipos e aplicações.
  8. A camada de Transporte. Comunicação de processos versus comunicação de máquinas. O Protocolo UDP. Não-confiável e não-orientado à conexão.
  9. O protocolo TCP. Estabelecimento de conexão. Controle de fluxo. Controle de congestionamento. Entrega confiável e ordenada de bytes de dados ao destino. Encerramento de conexão.
  10. Sistemas Cliente/Servidor. Panorama de aplicações.
  11. Inicialização de hosts com BOOTP e DHCP.
  12. DNS: domínios e nomes simbólicos. Resolvedor e servidor de nomes. Servidores raiz. Consultas recursivas e iterativas.
  13. Conclusão: Segurança no contexto TCP/IP.

  Fontes de Estudo
  Livro Texto
  • Interligação em Redes com TCP/IP, Vol I, 6a Edição, Douglas E. Comer, Editora Pearson, 2015.

    Atenção! Vale a pena conferir a 6a edição original em inglês, inclusive com material sobre SDN (Software Defined Networks):

  • Internetworking with TCP/IP Vol. 1, 6th Edition, Douglas E. Comer, Prentice-Hall, 2013.

    Máximo cuidado: não use material que não foi preparado por especialistas na área!
  Livros Complementares

    O livro do Kurose e Ross apresenta uma abordagem alternativa da pilha de protocolos, partindo do topo, Camada de Aplicação, em direção à base, Camada de Rede. Em português temos até a 8a edição:

  • Redes de Computadores e a Internet: Uma Nova Abordagem, James E. Kurose e Keith W. Ross, Editora Pearson, 8a Edição, 2021.

    O livro do Tanenbaum é um clássico de Redes de Computadores, cobrindo todos os tópicos relacionados, ainda que nem sempre com a profundidade desejada. Apesar de que Tanenbaum escreve magistralmente, os remendos das sucessivas edições já são bastante evidentes na última (6a) edição: neste período as redes evoluiram em ritmo espantoso, inclusive revolucionando o mundo! Mas ainda recomendo a leitura para todos interessados em redes. O livro apresenta, entre diversos outros tópicos, os protocolos TCP/IP básicos e conceitos da Internet:

  • Computer Networks, Andrew Tanenbaum, Nick Feamster, David J. Wetherall, 6th Edition, Prentice-Hall, 2020.

    Este livro está traduzido para o português:

  • Redes de Computadores, Andrew Tanenbaum e outros, 6a Edição, Ed. Pearson, 2021.

    Os livros do Stevens podem, de certa forma, ser considerados alternativas aos livros do Comer, ambos organizados em 3 volumes sobre TCP/IP. Entretanto a visão do Stevens é mais prática, e menos didática. Assim sugiro que você comece a estudar pelo Comer, usando o Stevens como complemento:

  • TCP/IP Illustrated Vol. 1: The Protocols, W. Richard Stevens, Addison-Wesley, 1994.

    Uma nova edição saiu mais recentemente atualizada/publicada por um outro autor (Stevens já faleceu há vários anos):

  • TCP/IP Illustrated Vol. 1: The Protocols, Kevin Fall and W. Richard Stevens, Addison-Wesley, 2014.

    Um ótimo livro, mas que nas suas 920 páginas trata de outros aspectos além de TCP/IP, fugindo portanto aos critérios de objetividade desta disciplina é:

  • Computer Networks: A Systems Approach, Larry L. Peterson, and Bruce S. Davie, 5th Edition, Morgan-Kaufman, 2011.
  A Internet

Além dos livros, você pode encontrar vasto material sobre a Internet na própria Internet, com destaque para os RFCs.

No IETF (Internet Engineering Task Force) devem ser destacados os grupos de trabalho (Working Groups), que tratam de virtualmente todos os assuntos importantes hoje na Internet: IETF Web Site.

A autoridade da Internet para assinalamento de "números" é a IANA (Internet Authority for Number Assignment). Particularmente útil é lista de portas assinaladas ("well-known ports"): Service Name and Transport Protocol Port Number Registry

No Brasil o primeiro backbone da Internet e que tem papel de difusão de tecnologias é o da Rede Nacional de Ensino e Pesquisa, a RNP. Um link interessante é o mapa do backbone da RNP, que cobre todo o nosso país de dimensões continentais.

A autoridade máxima da Internet no Brasil é o CGI-BR, que tem diversos recursos, informações, documentos, apostilas, disponíveis on line.

O órgão do CGI-BR que implementa decisões administrativas na Internet no nosso país é o NIC.

Dentro o NIC, portanto dentro do CGI, tem sido cada vez mais importante o Centro de Estudos, Resposta e Tratamento de Incidentes de Segurança no Brasil: CERT

Se você tem intenção de registrar um nome de domínio na Internet, o primeiro link que deve ser acessado é o Registro BR.

A autoridade mundial para assinalamento de endereços e nomes DNS é o ICANN.

A entidade responsável por decisões administrativas da Internet global é a Internet Society

Meu site favorito de estatísticas sobre o uso da Internet no mundo é o Internet World Stats. Hoje já são mais de 5,1 bilhões de usuários no mundo, sendo a população total de cerca de 7,9 bilhões de pessoas, portanto cerca de 65% dos seres humanos estão conectados (dados atualizados em 28/7/2021).

Quem melhor para contar a história da Internet do que alguns dos seus próprios pioneiros?

A Governança da Internet é um tema sempre relevante: como é gerida esta rede mundial, composta por sistemas autônomos? A página sobre os princípios de Governança e Uso da Internet no Brasil do CGI.BR é um bom ponto de partida para o tema. O CGI.BR tem também um livro sobre Governança da Internet disponível. Gostei do tratamento do tema da seguinte página sobre governança da Internet do NIC.Argentina.

Novos links importantes/interessantes estão sempre sendo adicionados aqui!


Prof. Elias P. Duarte Jr.     Departamento de Informática     UFPR