Disciplina do 6o Período do Bacharelado em Ciência da Computação

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

  DISCIPLINA CI061: REDES DE COMPUTADORES II
  Neste período o Prof. Elias não está ministrando esta disciplina.

Todos os avisos da disciplina serão postados aqui.

Horário das aulas neste semestre: Terças & Quintas: 19:30-21:00hs * Sala: a definir

Avaliação: 2 provas de 40 pontos cada; 1 trabalho prático de 20 pontos.

Calendário:

Prova 1: de setembro de 2024 (quinta-feira, na hora da aula, na sala de aula) Matéria até UDP inclusive

Prova 2: de novembro de 2024 (quinta-feira, na hora da aula, na sala de aula)

Prova Final: de dezembro de 2024 (terça-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!

Trabalho Prático: a definir.
Atenção: são apenas 3 semanas de prazo, organize-se! Não serão aceitos trabalhos após o dia da entrega.
VEJA: programa exemplo para ilustrar a criação de um bom log.

  Aulas (Slides)

Aula 1     Aula 2     Aulas 3 e 4     Aula 5     Aula 6     Aula 7     Aulas 8 e 9     Aulas 10, 11 e 12     Aula 13    
Aula 14     Aula 15     Aula 16     Aula 17     Aula 18     Aula 19     Aula 20     Aula 21     Aula 22     Aula 23    

Aqui estão os videos das aulas ministradas no período ERE5. Pessoal: fui alertado por alguns alunos que faltavam algumas aulas e, quando fui conferir, descrobri que realmente desapareceram. Sinto muito, mas realmente os videos sumiram. Só as aulas que aparecem estão efetivamente no BBB.

  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 Disciplina Redes de Computadores II (CI061)
  Pré-Requisitos & Pós-Requisitos

A disciplina Redes de Computadores I (CI058) é Pré-Requisito obrigatório para o aluno poder se matricular em Redes de Computadores II (CI061).

Por sua vez, Redes de Computadores II (CI061) é Pré-Requisito para a disciplina optativa Tópicos em Sistemas Distribuídos (CI088).

  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: Field Bus. 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. Protocolos ARP/RARP.
  5. Manipulação de endereços IP: Proxy 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. 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. A camada de Rede na Internet além do IPv4: IPv6. NAT. MPLS.
  11. Sistemas Cliente/Servidor. Panorama de aplicações.
  12. Inicialização de hosts com BOOTP e DHCP.
  13. DNS: domínios e nomes simbólicos. Resolvedor e servidor de nomes. Servidores raiz. Consultas recursivas e iterativas.
  14. Arquitetura de roteamento da Internet. Protocolos de roteamento.
  15. 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 inglês já está disponível a 6a edição (2012), mas em português temos até a 5a edição:

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

    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 (5a) 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 e David J. Wetherall, 5th Edition, Prentice-Hall, 2010.

    Este livro está traduzido para o português:

  • Redes de Computadores, Andrew Tanenbaum, 5a Edição, Ed. Pearson, 2011.

    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 mais de mil 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, 6th Edition (v6.0), Disponível On-Line
  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