Mudanças entre as edições de "Curso Técnico em Telecomunicações - Redes de Computadores (RCO)"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
 
(152 revisões intermediárias por 3 usuários não estão sendo mostradas)
Linha 1: Linha 1:
__NOTOC__
+
'''Professores da Unidade Curricular'''
==Documentação==
 
  
*[[RCO-TecTel|Carga horária, Ementas, Bibliografia]]
+
{{collapse top|Semestre 2022-1 - Prof. Eraldo Silveira e Silva}}
 
+
[[RCO-Subsequente-2022-1]]
*[[RCO-TecTel (Plano de Ensino) | Plano de Ensino]]
 
 
 
==Edições==
 
 
 
{{collapse top|Semestre 2020-1 - Prof. Eraldo Silveira e Silva}}
 
{{RCO 1110232 2020-2}}
 
 
{{collapse bottom}}
 
{{collapse bottom}}
  
{{collapse top|Semestre 2020-1 - Prof. Marcus Franco}}
 
{{RCO 1110232 2020-1}}
 
{{collapse bottom}}
 
  
{{collapse top|Semestre 2019-2 - Prof. Tiago Semprebom}}
+
{{collapse top|Semestre 2021-2 - Prof. Eraldo Silveira e Silva}}
{{RCO 1110232 2019-2}}
+
[[RCO-Subsequente-2021-2]]
 
{{collapse bottom}}
 
{{collapse bottom}}
  
{{collapse top|Semestre 2019-1 - Prof. Tiago Semprebom}}
+
{{Collapse top | Professores Semestres Anteriores}}
{{RCO 1110231 2019-1}}
 
{{collapse bottom}}
 
 
 
{{collapse top|Semestre 2018-2 - Prof. Tiago Semprebom}}
 
{{RCO 1110231 2018-2}}
 
{{collapse bottom}}
 
 
 
{{collapse top|Semestre 2018-1 - Prof. Tiago Semprebom}}
 
{{RCO 1110231 2018-1}}
 
{{collapse bottom}}
 
 
 
{{collapse top|Semestre 2017-2 - Prof. Tiago Semprebom}}
 
{{RCO 1110231 2017-2}}
 
{{collapse bottom}}
 
 
 
{{collapse top|Semestre 2017-1 - Prof. Tiago Semprebom}}
 
{{RCO 1110231 2017-1}}
 
{{collapse bottom}}
 
 
 
{{collapse top|Semestre 2016-2 - Prof. Tiago Semprebom}}
 
{{RCO 1110231 2016-2}}
 
{{collapse bottom}}
 
 
 
{{collapse top | Semestre 2016-1 - Prof. Tiago Semprebom}}
 
[[RCO1110233-2016-1 | 2016-1 - Prof. Tiago Semprebom]]
 
 
 
= TecTel: Redes de Computadores - 2016-1 - Prof. Tiago Semprebom =
 
 
 
=Professor=
 
''Professor'': [[Tiago Semprebom]]
 
<br>''Email'': tisemp@ifsc.edu.br
 
<br>''Atendimento paralelo'': 5a feira 17:30h - 18:30 h (Lab. de Desenvolvimento de Tele II)
 
<br> ''Endereço web do grupo'': http://groups.google.com/group/ifsc_res
 
<br> ''Endereço de e-mail da disciplina'': ifsc_res@googlegroups.com
 
<br>
 
<br> '''IMPORTANTE:''' o direito de recuperar uma avaliação em que se faltou somente existe mediante justificativa reconhecida pela coordenação. Assim, deve-se protocolar a justificativa no prazo de 48 horas, contando da data e horário da avaliação, e aguardar o parecer da coordenação. O não cumprimento desse procedimento implica a impossibilidade de fazer a recuperação, e assim a reprovação na disciplina.
 
 
 
==[[RCO-TecTel_(Plano_de_Ensino)|Plano de Ensino]]==
 
 
 
=Notas=
 
 
 
{| class="wikitable"
 
!scope="col"| Matrícula
 
!scope="col"| A1
 
!scope="col"| A2
 
!scope="col"| A3
 
!scope="col"| Rel. Tec.
 
!scope="col"| Final
 
|-
 
| 132003277-0 || '''D'''(C) || C || A || OK || C
 
|-
 
| 151000546-3 || 6,9 || 6,9 || 8,0 || OK || 7,0
 
|-
 
| 151000952-3 || 8,9 || 10 || 8,6 || OK || 9,0
 
|-
 
| 141002147-5 || '''D'''(C) || B || B || OK || B
 
|}
 
F: faltou<br />
 
(X): conceito da recuperação<br />
 
negrito: com direito a recuperação
 
 
 
= Curiosidades =
 
  
* Breve histórico sobre o surgimento das redes de computadores e a Internet
+
{{Professor|2014-2 à 2020-2|Professores [[RCO11102 Edições Anteriores|(Planos de ensino e Diário de aulas)]]}}
** [http://www.youtube.com/watch?v=9hIQjrMHTv4&eurl=http://www.insidetechno.com/2009/02/17/a-historia-da-internet-em-video/&feature=player_embedded Vídeo sobre surgimento da Internet]  
 
  
* Vídeo sobre o funcionamento das fibras ópticas
+
{{Collapse bottom}}
** [http://www.youtube.com/watch?v=T1Lt0y-TpBE Vídeo sobre fibra óptica]
 
  
* Mapas de rede dorsais (Backbones)
 
** [http://www.rnp.br/backbone/index.php Mapa da rede Ipê (Internet acadêmica pública no Brasil)]
 
** [http://www.pop-sc.rnp.br/publico/monitoramento.php POP SC (ponto de presença de SC)]
 
  
* [http://en.wikipedia.org/wiki/Telegraphy#Telex Telex]
+
{{Collapse top | 2021-1 - Professor Jorge Casagrande}}
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/ciberespaco.pdf O Ciberespaço e as Redes de Computadores na Construção de Novo Conhecimento]
+
{{Professor|2021-1|[[Jorge Henrique B. Casagrande]] [[RCO11102 2021-1|(Diário de aulas)]]}}
* [http://www.sj.ifsc.edu.br/~tisemp/RES/dissertacao_mestrado.pdf Uma história das Redes  de Computadores]
+
'''NOSSA ROTINA SEMANAL:'''
* [http://www.youtube.com/watch?v=9hIQjrMHTv4&eurl=http://www.insidetechno.com/2009/02/17/a-historia-da-internet-em-video/&feature=player_embedded Breve História da Internet]
 
  
[[imagem:Internet-map.png|600px]]
+
Inicie sempre pelo SIGAA o acesso às atividades de nossas aulas. Fazendo isso você estará iterado com todas as publicações, atualizações e compromissos com o plano de ensino de nossa disciplina. Selecione no '''"Menu Turma Virtual"''' a sua esquerda e clique na opção '''"Principal"'''. O plano de ensino com todas as atividades e informações de cada aula vão estar resumidos pra você. Em cada diário de aula, vc terá a gravação das videoaulas e sempre será direcionado para nosso repositório de conteúdos na página da disciplina na WIKI do IFSC. Evite acumular pendências... Mantenha-se sempre em dia!!!
<br>''Uma representação artística das interligações na Internet''
 
  
= Materiais de aula =
+
'''NOSSA SALA VIRTUAL:'''
  
== Slides ==
+
Quintas-feiras das 20h às 21:30h (enquanto período de ANP) - Aula RCO011102 <br>
* [[Arquivo:Slides-kurose-cap1.pdf]]
+
Link da videochamada: https://meet.google.com/bio-xrme-nrj
* [[Arquivo:Slides-kurose-cap2.pdf]]
 
* [[Arquivo:RCO-semprebom-cap3.pdf]]
 
* [[Arquivo:RCO-semprebom-cap4.pdf]]
 
  
== Listas de exercícios ==
 
* [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista1.pdf Lista de exercícios 1]
 
* [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista2.pdf Lista de exercícios 2]
 
* [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista3.pdf Lista de exercícios 3]
 
* [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista4.pdf Lista de exercícios 4]
 
* [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista5.pdf Lista de exercícios 5]
 
* [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista6.pdf Lista de exercícios 6]
 
* [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista7.pdf Lista de exercícios 7]
 
* [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista8.pdf Lista de exercícios 8]
 
* [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista9.pdf Lista de exercícios 9]
 
  
== Apostilas ==
+
;REGISTRO DAS ATIVIDADES 2021-1
* [http://wiki.sj.ifsc.edu.br/images/2/2d/ApostilaRedes2010.pdf Apostila de Redes de Computadores do Prof. Evandro Cantú]
 
  
= Aulas =
+
=[[RCO-TecTel|Carga horária, Ementas, Bibliografia]]=
 +
=[[RCO-TecTel (Plano de Ensino) | Plano de Ensino]]=
  
==24/03/16: Apresentação da disciplina==
+
=Dados Importantes=
* Apresentação da disciplina, plano de aula, laboratórios e métodos de avaliação.
 
* Revisão de conceitos do Projeto Integrador I
 
* Introdução a Redes de Computadores [[http://wiki.sj.ifsc.edu.br/images/b/b3/Slides-kurose-cap1.pdf slides]]
 
  
== 31/03/16: Introdução à Redes de Computadores ==
+
''Professor'': [[Jorge Henrique B. Casagrande]]
* Serviço orientado à conexão (TCP).
+
<br>''Email'': casagrande@ifsc.edu.br
* Serviço não orientado à conexão (UDP).
+
<br>'''Atendimento paralelo''': Em época de Atividades Presenciais: 5as das 18:30h às 19h (Sala de Professores de TELE II ou Laboratório de Redes de Computadores). Em épocas de ANP, em comum acordo com cada aluno via Google Meet ou Aplicativo de interação extra sala.
* Comutação de circuitos vs Comutação de pacotes.
 
* FDMA e TDMA.
 
  
* Resolução de exercícios ([http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista1.pdf Lista 1])
+
<br> '''WIKI:''' Todo o repositório de material de apoio e referências de nossas aulas estão nesta página da WIKI, na seção '''Diário de Aulas''';
  
== 07/04/16: Comutação por Circuitos, Comutação de Pacotes, Lab01: Ferramentas básicas de redes ==
+
<br> '''SLACKWARE:''' Para interação fora da sala de aula, acessem nosso grupo no Aplicativo (APP) Slackware, em desktop  ou no seu smartphone
  
* Introdução a Redes de Computadores [[http://wiki.sj.ifsc.edu.br/images/b/b3/Slides-kurose-cap1.pdf slides]]
+
<br> '''SIGAA: ''' Todas as videoaulas e as avaliações com respectivos prazos, serão divulgados nesse sistema acadêmico. Eventualmente alguns materiais, mídias instrucionais, avaliações ou atividades poderão usar o ambiente da turma virtual do SIGAA. O professor fará o devido destaque para isso;
  
Nesta atividade serão vistos algumas ferramentas utilizadas para obter informações relacionadas às configurações de uma rede de computadores.
+
<br> '''ATENÇÃO:''' Especialmente para as atividades PRESENCIAIS, uma avaliação poderá ser recuperada somente se existir justificativa reconhecida pela coordenação. Desse modo, deve-se protocolar a justificativa no prazo de 48 horas, contando da data e horário da avaliação, e aguardar o parecer da coordenação. O não cumprimento desse procedimento implica a impossibilidade de fazer a recuperação.
  
* [[Media:01-Basico_Redes.pdf | Roteiro 1]] (ping, ifconfig, traceroute)
+
=Resultados das Avaliações=
* [[Roteiro Rápido do SS - Socket Statistics]]
 
  
== 14/04/16: Comutação por Circuitos, Comutação de Pacotes, Lab01: Ferramentas básicas de redes ==
+
;Critérios de Avaliação - AJUSTADOS AO PERÍODO PANDÊMICO COM ANP (até 15/09/2021)
* Redes de acesso e meio físico
+
#Os estudantes serão avaliados da seguinte forma:<br>
* Atrasos em redes de comutação de pacotes
+
#:-Três Avaliações parciais '''An''' onde  e n={1,2,3} representam ponderadamente em carga horária de cada parte do plano de ensino, o valor da MÉDIA FINAL, assim determinadas: <br>
* Arquitetura em Camadas
+
#::*As Notas Finais das avaliações parciais  '''NF An''' resultam da média ponderada de duas notas: a) '''Prova An''' representando 60% do total sendo uma '''PROVA ESCRITA''' (60min) E/OU '''ATIVIDADE ESPECIAL'' de conteúdos preferencialmente associados as teorias e práticas da disciplina e,<br> b) Outros 40% resultado da média das notas atribuídas a aptidão e qualidade das atividades práticas e teóricas através de TODAS as Atividades Extras (AEn) e Avaliações Individuais (AIn) correspondentes. <br>
 
+
#::*Entende-se por '''ATIVIDADE ESPECIAL''' quaisquer atividades que envolvam uma dedicação maior de tempo para conclusão e amplitude dos conhecimentos relacionados com o momento do plano de ensino tais como,  artigos técnicos, seminários, pesquisa ou visita de campo, projeto integrador, etc...  
* Atividade em Laboratório (Lab. Redes I)
+
#:- As Avaliações Individuais parciais '''AIn''' serão notas atribuídas pelo professor que representam o mérito de qualidade nas interações extra sala, cumprimento de atividades extras publicadas via SIGAA, relatórios, listas de exercícios e demais métodos de avaliação pedagógicos.<br>
** Captura de pacotes na rede (Wireshark)
+
#:- As '''Provas An'' e as AEn além de contribuírem no cômputo da '''NF An"  também serão utilizadas para comprovar a participação do estudante em uma ou mais ANP.
** [http://wiki.sj.ifsc.edu.br/images/0/04/Lab4.pdf Roteiro TCPDump]
+
#Todas as notas de avaliações parciais serão valoradas de 0 à 10,0 em passos de 0,1 pontos e convertidas em conceitos conforme abaixo:<br>
** [http://www.wireshark.org/ Wireshark e manuais]
+
#:- Se a nota calculada de '''qualquer avaliação parcial''' for '''< 6,0''',  é OBRIGATÓRIO realizar a recuperação dos conteúdos da respectiva avaliação parcial.<br>
 
+
#:- Se '''MEDIA FINAL''' E '''todas as avaliações parciais''' forem '''>= 6,0''' a recuperação de conteúdos é opcional.<br>
{{collapse bottom}}
+
#'''Para a aprovação na disciplina''' é necessário atingir no mínimo a nota '''6,0''' na MÉDIA FINAL ponderada em carga horária de todas as avaliações parciais e 75% de participação em sala de aula;<br>
 
+
#:- Conforme restrições do sistema de registro de notas do SIGAA, a NOTA FINAL sempre tem arredondamento para o valor inteiro mais baixo da unidade (exemplo: '''Nota 5,9 é considerado NOTA FINAL 5'''). Arredondamentos para valores inteiros mais altos da NOTA FINAL só serão permitidos mediante tolerância do professor diante da evolução do(a) estudante ao longo do semestre E SEMPRE DEFINIDAS SOMENTE NO ÚLTIMO DIA LETIVO DO SEMESTRE.<br>
{{collapse top|Semestre 2015-2 - Prof. Tiago Semprebom}}
+
#As datas de recuperação das avaliações parciais serão realizadas em data específica do plano de ensino e/ou decididas em comum acordo com a turma. <br>
 
+
#Quaisquer mudanças necessárias dos critérios aqui destacados, serão antecipadamente discutidos e consensuados com a turma.<br>
{{RCO 1110232 2015-2}}
+
#'''IMPORTANTE:''' TODAS AS ATIVIDADES SERÃO LANÇADAS FORMALMENTE PELO SIGAA E TERÃO LIMITES DE TEMPO DE 15 (QUINZE) DIAS PARA A EXECUÇÃO.  CASO NÃO EXECUTADAS NO PRAZO PODERÃO INCORRER NO CANCELAMENTO DA MATRÍCULA DO ALUNO NA DISCIPLINA POR MOTIVO DE DESISTÊNCIA. <br>
 
+
;QUADRO GERAL DE RESULTADOS DAS AVALIAÇÕES <br>
{{collapse bottom}}
+
{| border="1" cellpadding="2" cellspacing="1" style="text-align: center;"
 
+
! style="background: #dcdcdc;" | ESTUDANTE
{{collapse top|Semestre 2015-1 - Prof. Tiago Semprebom}}
+
! style="background: #dcdcdc;" | AE1
 
+
! style="background: #dcdcdc;" | AE2
{{RCO 1110231 2015-1}}
+
! style="background: #dcdcdc;" | AE3
 
+
! style="background: #dcdcdc;" | AE4
{{collapse bottom}}
+
! style="background: #dcdcdc;" | AE5
 
+
! style="background: #dcdcdc;" | AE6
{{collapse top|Semestre 2014-2 - Prof. Arliones Hoeller}}
+
! style="background: #dcdcdc;" | AI1
[[RCO11102-2014-2 | 2014-2 - Prof. Arliones Hoeller]]
+
! style="background: #dcdcdc;" | Prova A1
 
+
! style="background: #dcdcdc;" | REC A1
= TecTel: Redes de Computadores - 2014-2 - Prof. Arliones Hoeller =
+
!style="background: #00FFFF;" |NF A1
 
+
! style="background: #dcdcdc;" | AE7
*'''Professor:''' [[Arliones Hoeller]]
+
! style="background: #dcdcdc;" | AE8
*'''Turma:''' 1110231
+
! style="background: #dcdcdc;" | AE9
*'''Encontros:''' segundas das 18:30 às 22:30
+
! style="background: #dcdcdc;" | AI2
*'''Atendimento paralelo:''' quintas das 9:40 às 10:35 e das 14:25 às 15:20
+
! style="background: #dcdcdc;" | Prova A2
*'''Grupo de discussão'''
+
! style="background: #dcdcdc;" | REC A2
** ''Web'': a definir.
+
!style="background: #00FFFF;" |NF A2
** ''Email'': a definir.
+
! style="background: #dcdcdc;" | MÉDIA FINAL
 
+
! style="background: #00FFFF;" | NOTA FINAL
==[[RCO-TecTel_(Plano_de_Ensino)|Plano de Ensino]]==
+
! style="background: #dcdcdc;" | Situação
 
 
=Notas=
 
 
 
{| class="wikitable"
 
!scope="col"| Matrícula
 
!scope="col"| A1
 
!scope="col"| A2
 
!scope="col"| A3
 
!scope="col"| A4
 
!scope="col"| Final
 
 
|-
 
|-
| 141000719-7 || F (C)  || || || || A
+
|'''201911901435'''||style="background: #60FF60;" |10||style="background: #FFFF60;" |2||style="background: #60FF60;" |10||style="background: #60FF60;" |7||style="background: #60FF60;" |7||style="background: #FF6060;" |0||style="background: #60FF60;" |9||style="background: #60FF60;" |7||style="background: #60FF60;" |7||style="background: #00FFFF;" |6,8||style="background: #60FF60;" |10||style="background: #60FF60;" |10||style="background: #60FF60;" |10||style="background: #60FF60;" |10||style="background: #60FF60;" |9||style="background: #60FF60;" |9||style="background: #00FFFF;" |9,4||style="background: #60FF60;" |7,8||style="background: #00FFFF;" |'''8'''||style="background: #60FF60;" |APROVADO
 
|-
 
|-
| 141000804-5 || || || || D (D)  || C
+
|'''201921706160'''||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FFFF60;" |2||style="background: #FF6060;" |0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |0,1||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |0,0||style="background: #FFFF60;" |0,1||style="background: #00FFFF;" |'''0'''||style="background: #FF6060;" |REPROVADO
 
|-
 
|-
| 141000583-6 || || || || || B
+
|'''201911901929'''||style="background: #FFFF60;" |5||style="background: #60FF60;" |7||style="background: #60FF60;" |7||style="background: #FFFF60;" |3||style="background: #60FF60;" |7||style="background: #FF6060;" |0||style="background: #60FF60;" |8||style="background: #FFFF60;" |5||style="background: #FFFF60;" |5||style="background: #00FFFF;" |5,1||style="background: #FFFF60;" |5||style="background: #60FF60;" |7||style="background: #60FF60;" |7||style="background: #60FF60;" |8||style="background: #60FF60;" |6||style="background: #60FF60;" |6||style="background: #00FFFF;" |6,3||style="background: #FFFF60;" |5,6||style="background: #00FFFF;" |'''6'''||style="background: #60FF60;" |APROVADO
 
|-
 
|-
| 141000270-5 || D (D)  || || || D (D)  || D
+
|'''201821004760'''||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |0,0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |0,0||style="background: #FF6060;" |0,0||style="background: #00FFFF;" |'''0'''||style="background: #FF6060;" |REPROVADO
 
|-
 
|-
| 141001276-0 || || || || || B
+
|'''201811103460'''||style="background: #60FF60;" |10||style="background: #FFFF60;" |3||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FFFF60;" |5||style="background: #FF6060;" |0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |1,0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |0,0||style="background: #FFFF60;" |0,6||style="background: #00FFFF;" |'''1'''||style="background: #FF6060;" |REPROVADO
 
|-
 
|-
| 141001095-3 || || || || || D
+
|'''201821004734'''||style="background: #60FF60;" |8||style="background: #60FF60;" |7||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #60FF60;" |6||style="background: #FF6060;" |0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |1,2||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |0,0||style="background: #FFFF60;" |0,7||style="background: #00FFFF;" |'''1'''||style="background: #FF6060;" |REPROVADO
 
|-
 
|-
| 141000292-6 || || || || || D
+
|'''202021803288'''||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #60FF60;" |10||style="background: #FFFF60;" |3||style="background: #FF6060;" |0||style="background: #60FF60;" |6||style="background: #FFFF60;" |5||style="background: #FFFF60;" |5||style="background: #00FFFF;" |4,1||style="background: #60FF60;" |8||style="background: #FFFF60;" |3||style="background: #FFFF60;" |3||style="background: #60FF60;" |6||style="background: #FFFF60;" |4||style="background: #FFFF60;" |4||style="background: #00FFFF;" |4,4||style="background: #FFFF60;" |4,2||style="background: #00FFFF;" |'''4'''||style="background: #FF6060;" |REPROVADO
 
|-
 
|-
| 141001259-0 || || || || || A
+
|'''201911901343'''||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FFFF60;" |4||style="background: #FF6060;" |0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |0,2||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |0,0||style="background: #FFFF60;" |0,1||style="background: #00FFFF;" |'''0'''||style="background: #FF6060;" |REPROVADO
 
|-
 
|-
| 141001023-6 || A  || B  || A  || D (D)  || B
+
|'''201911902152'''||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FFFF60;" |2||style="background: #FF6060;" |0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |0,1||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |0,0||style="background: #FFFF60;" |0,1||style="background: #00FFFF;" |'''0'''||style="background: #FF6060;" |REPROVADO
|}
 
F: faltou
 
 
 
(?): conceito da recuperação
 
 
 
negrito: com direito a recuperação
 
 
 
= Curiosidades =
 
 
 
* [http://en.wikipedia.org/wiki/Telegraphy#Telex Telex]
 
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/ciberespaco.pdf O Ciberespaço e as Redes de Computadores na Construção de Novo Conhecimento]
 
* [http://www.sj.ifsc.edu.br/~tisemp/RES/dissertacao_mestrado.pdf Uma história das Redes  de Computadores]
 
* [http://www.youtube.com/watch?v=9hIQjrMHTv4&eurl=http://www.insidetechno.com/2009/02/17/a-historia-da-internet-em-video/&feature=player_embedded Breve História da Internet]
 
 
 
= Materiais de aula =
 
 
 
== Slides ==
 
* [[Arquivo:Slides-kurose-cap1.pdf]]
 
* [[Arquivo:Slides-kurose-cap2.pdf]]
 
* [[Arquivo:RCO-semprebom-cap3.pdf]]
 
* [[Arquivo:RCO-semprebom-cap4.pdf]]
 
 
 
== Listas de exercícios ==
 
* [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista1.pdf Lista de exercícios 1]
 
* [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista2.pdf Lista de exercícios 2]
 
* [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista3.pdf Lista de exercícios 3]
 
* [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista4.pdf Lista de exercícios 4]
 
* [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista5.pdf Lista de exercícios 5]
 
* [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista6.pdf Lista de exercícios 6]
 
* [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista7.pdf Lista de exercícios 7]
 
* [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista8.pdf Lista de exercícios 8]
 
* [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista9.pdf Lista de exercícios 9]
 
 
 
== Apostilas ==
 
* [http://wiki.sj.ifsc.edu.br/images/2/2d/ApostilaRedes2010.pdf Apostila de Redes de Computadores do Prof. Evandro Cantú]
 
 
 
 
 
= Aulas =
 
 
 
==04/08/14: Apresentação da disciplina==
 
* Apresentação da disciplina, plano de aula, laboratórios e métodos de avaliação.
 
* Revisão de conceitos do Projeto Integrador I
 
* Introdução a Redes de Computadores [[http://wiki.sj.ifsc.edu.br/images/b/b3/Slides-kurose-cap1.pdf slides]]
 
 
 
 
 
== 11/08/14: Comutação por Circuitos, Comutação de Pacotes, Lab01: Ferramentas básicas de redes ==
 
 
 
* Introdução a Redes de Computadores [[http://wiki.sj.ifsc.edu.br/images/b/b3/Slides-kurose-cap1.pdf slides]]
 
 
 
Nesta atividade serão vistos algumas ferramentas utilizadas para obter informações relacionadas às configurações de uma rede de computadores.
 
 
 
* [[Media:01-Basico_Redes.pdf | Roteiro 1]] (ping, ifconfig, traceroute)
 
* [[Roteiro Rápido do SS - Socket Statistics]]
 
 
 
== 18/08/14: Modelos de serviço, Redes de acesso, Lab 3: Captura de pacotes na rede (Wireshark) ==
 
 
 
* Introdução a Redes de Computadores [[http://wiki.sj.ifsc.edu.br/images/b/b3/Slides-kurose-cap1.pdf slides]]
 
 
 
Lab 3: Captura de pacotes na rede (Wireshark)
 
* [http://wiki.sj.ifsc.edu.br/images/0/04/Lab4.pdf Roteiro TCPDump]
 
* [http://www.wireshark.org/ Wireshark e manuais]
 
* [http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml Números de portas (IANA)]
 
 
 
 
 
== 25/08/14: Arquiteturas em Camadas, Comunicação entre processos ==
 
 
 
* Introdução a Redes de Computadores [[http://wiki.sj.ifsc.edu.br/images/b/b3/Slides-kurose-cap1.pdf slides]]
 
* [http://wiki.sj.ifsc.edu.br/images/7/73/Lab3.pdf Roteiro]
 
 
 
 
 
== 01/09/14: Protocolos da camada de aplicação / Lab 4: Uso de aplicações da Internet (HTTP) ==
 
 
 
* Revisão - Camadas de Protocolos (ver slides da primeira parte da disciplina)
 
 
 
* A camada de aplicação (ver estes [[http://wiki.sj.ifsc.edu.br/images/c/c2/Slides-kurose-cap2.pdf slides]])
 
 
 
 
 
Ver Capítulo 27 do livro ''Comunicação de Dados e Redes de Computadores, 4a ed.'', de Behrouz Forouzan.
 
 
 
Na arquitetura de redes da Internet, são as aplicações que se comunicam, gerando dados no transmissor e consumindo-os no receptor.
 
 
 
[[imagem:Res-camadas3.png]]
 
 
 
'''Aplicações residem em equipamentos de rede, e se comunicam através da rede usando os serviços das camadas inferiores'''
 
 
 
Aplicações são processos que se comunicam através da rede (lembre que processos são programas em execução). Exemplos de aplicações são navegadores web (Firefox, Chrome) e bate-papo (Skype, GTalk). A comunicação pode ser feita de diferentes formas, de acordo com o modelo de comunicação adotado pela aplicação em questão. O modelo de comunicação define o papel de cada participante da comunicação, e por consequência acaba determinando como a comunicação acontece (quem a inicia, quando se transmitem e recebem mensagens). Três modelos conhecidos são:
 
* '''Cliente-Servidor''': um participante é o cliente, e o outro o servidor. O cliente inicia a comunicação, ao enviar uma mensagem ao servidor pedindo algum serviço. Cabe ao servidor responder aos pedidos dos clientes. Este é o modelo mais comum de se encontrar em aplicações, tais como correio eletrônico, WWW, bancos de dados, compartilhamento de arquivos e outros.
 
* '''Peer-to-Peer (P2P)''': cada participante pode ser tanto cliente quanto servidor, assim qualquer um pode iniciar uma comunicação. Tornou-se popular com aplicações como compartilhamento de arquivos (ex: BitTorrent, eDonkey) e sistemas de chamadas VoIP.
 
* '''Publisher/Subscriber''': neste modelo existem os publicadores de conteúdo (''publishers'') e os assinantes ou interessados (''subscribers''). Os assinantes registram seus interesses por demais tipos de dados (isso é, assinam ''canais'' de dados). Os publicadores eventualmente divulgam dados, que são distribuídos aos assinantes. Não é comum de ser encontrado em aplicações, porém é o modelo usado para detecção de presença em aplicações de conversa on-line (Skype, Gtalk).
 
 
 
Cada aplicação usa diretamente os serviços da camada de transporte, e indiretamente os de camadas inferiores. Assim, para uma aplicação é a camada de transporte que envia e recebe suas mensagens. Como visto na aula passada, um serviço importante da camada de transporte é classificar e separar os pacotes recebidos de acordo com a aplicação que deve recebê-los, e para isso se um número chamado de ''port''. O número de port pode ser entendido como um endereçador de aplicações dentro de um mesmo ''host''. Vimos também que a camada de transporte na Internet apresenta dois protocolos, e ambos usam números de ''port'' para separar os pacotes de acordo com a comunicação que os contém:
 
* '''TCP''': usado por aplicações quando há necessidade de ter certeza de que os dados foram recebidos. Esse protocolo faz retransmissões automáticas no caso de perdas de mensagens. Para estabelecer a comunicação, ele usa o conceito de ''conexão'' (em que os dois participantes entram em acordo sobre a comunicação, e lembram disso a cada mensagem enviada e recebida) e realiza confirmações das mensagens recebidas. Este é o protocolo de transporte mais usado.
 
* '''UDP''': usado quando não é imprescindível ter certeza de que cada mensagem chegou ao destino, ou o custo de fazer isso com TCP não compensar. Não há conexões, tampouco confirmações. Exemplos de uso são chamadas VoIP e consultas DNS.
 
 
 
O estudo das aplicações da Internet inicia com WWW, que foi responsável por popularizar a Internet nos anos 90 e ainda é a aplicação mais difundida e acessada.
 
 
 
=== WWW e protocolo HTTP ===
 
 
 
WWW (''World Wide Web'') é um sistema de documentos em hipermidia que são ligados e acessados na Internet ([http://pt.wikipedia.org/wiki/Www FONTE: Wikipedia]). Tendo início em 1990 como uma aplicação experimental desenvolvida por [http://pt.wikipedia.org/wiki/Tim_Berners-Lee Tim Berners-Lee], que então trabalhava no [http://pt.wikipedia.org/wiki/CERN CERN], na Suíça, em pouco tempo caiu no gosto de demais usuários e se difundiu. WWW se tornou tão popular que para muitos passou a ser sinônimo de Internet (equivocadamente). Por trás da sua rápida aceitação há um protocolo de aplicação simples e funcional, além claro do modelo de informação em hipermidia que agradou as pessoas.
 
 
 
Se o WWW é um sistema de documentoshipermidia  online mantido de forma distribuída na Internet, o protocolo [http://pt.wikipedia.org/wiki/HTTP HTTP (Hypertext Transfer Protocol)] é o protocolo usado para acessá-los. Esse protocolo segue o modelo cliente-servidor, e as comunicações são feitas com mensagens de pedido e resposta. Um cliente (navegador web) envia uma mensagem HTTP de pedido a um servidor web, que a responde com uma mensagem de resposta contendo o conteúdo solicitado. O protocolo HTTP usa o protocolo TCP para transmitir suas mensagens.
 
 
 
==== Mensagens de pedido HTTP ====
 
 
 
Mensagens HTTP de pedido possuem a seguinte estrutura:
 
 
 
<syntaxhighlight lang=text>
 
Método URI HTTP/versão_do_protocolo
 
Cabeçalho1: valor do cabeçalho1
 
Cabeçalho2: valor do cabeçalho2
 
Cabeçalho3: valor do cabeçalho3
 
CabeçalhoN: valor do cabeçalhoN
 
 
 
corpo da mensagem
 
</syntaxhighlight>
 
 
 
A primeira linha usa o campo ''método'' para indicar o tipo de pedido a ser realizado. O ''método'' HTTP pode ser entendido como um comando a ser realizado pelo servidor. Os métodos mais comuns são:
 
* '''GET''': obtém um documento.
 
* '''POST''': envia algum conteúdo e obtém como resposta um documento.
 
* '''HEAD''': obtém informações sobre um documento.
 
 
 
O campo [http://pt.wikipedia.org/wiki/URI URI (Uniform Resource Indicator)] identifica o documento que o servidor deve acessar. Ele se aparenta com um caminho de arquivo (''pathname''), porém possui algumas extensões para poder enviar informação adicional.
 
 
 
Os cabeçalhos servem para complementar o pedido, informando ao servidor mais detalhes sobre o que está sendo requisitado. Por fim, o corpo da mensagem é opcional, podendo conter dados a serem enviados ao servidor quando necessário.
 
 
 
Tendo entendido os componentes de um pedido HTTP, segue abaixo um exemplo de uma requisição real (note que ela não possui corpo de mensagem):
 
 
 
<syntaxhighlight lang=text>
 
GET /wiki/ HTTP/1.1
 
Host: wiki.sj.ifsc.edu.br
 
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0
 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
 
Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3
 
Accept-Encoding: gzip, deflate
 
Cookie: wiki2010UserID=614; wiki2010UserName=Msobral; wiki2010Token=4ed97239498a2fc74596b0f0a62331b5; wiki2010_session=f4e6b1hl4ctlkbpe5gc5gkosi4
 
Connection: keep-alive
 
If-Modified-Since: Mon, 20 May 2013 00:38:20 GMT
 
</syntaxhighlight>
 
 
 
==== Mensagens de resposta HTTP ====
 
 
 
Mensagens HTTP de resposta possuem a seguinte estrutura:
 
 
 
<syntaxhighlight lang=text>
 
HTTP/versão_do_protocolo status info
 
Cabeçalho1: valor do cabeçalho1
 
Cabeçalho2: valor do cabeçalho2
 
Cabeçalho3: valor do cabeçalho3
 
CabeçalhoN: valor do cabeçalhoN
 
 
 
corpo da mensagem
 
</syntaxhighlight>
 
 
 
A linha inicial informa o resultado do atendimento do pedido (se teve sucesso ou não), contendo um código numérico de status seguido de uma breve descrição. Os códigos numéricos e info mais comuns são:
 
* '''200 OK''': pedido atendido com sucesso.
 
* '''302 Moved Temporarily''': o pedido pode ser atendido em outra URL.
 
* '''401 Authorization Required''': acesso negado, pois exige-se autenticação.
 
* '''403 Forbidden''': acesso negado em definitivo.
 
* '''404 Not Found''': documento não encontrado.
 
 
 
Após a linha inicial há os cabeçalhos, usados da mesma forma que em pedidos HTTP. Por fim, pode haver o corpo da mensagem (opcional). Um exemplo de mensagem de resposta segue abaixo:
 
 
 
<syntaxhighlight lang=text>
 
HTTP/1.1 200 OK
 
Date: Thu, 23 May 2013 20:43:31 GMT
 
Server: Apache
 
Last-Modified: Fri, 10 May 2013 14:09:58 GMT
 
ETag: "757236-40-4dc5db8df272a"
 
Accept-Ranges: bytes
 
Content-Length: 64
 
Vary: Accept-Encoding
 
Connection: close
 
Content-Type: text/plain; charset=UTF-8
 
 
 
Este é um pequeno arquivo de teste, sem informação útil ...
 
</syntaxhighlight>
 
 
 
 
 
==== Atividade Prática ====
 
 
 
1. Instale o servidor WWW Apache 2.
 
* Documentação [http://httpd.apache.org/]
 
<syntaxhighlight lang=bash>
 
sudo apt-get install apache2
 
</syntaxhighlight>
 
 
 
2. Verifique a configuração do apache
 
* Nos arquivo "/etc/apache2/apache2.conf" e "/etc/apache2/sites-enabled/000-default", interprete os valores das seguintes variáveis:
 
** DocumentRoot - local onde ficam as páginas web
 
** ErrorLog - registro de erros (ex.: página não encontrada)
 
** CustomLog - registro padrão (ex.: acessos)
 
 
 
3. Crie uma página WEB no servidor instalado e acesse ela.
 
* Crie a página web em ''DocumentRoot/minha_pagina.html'', com o seguinte conteúdo:
 
<syntaxhighlight lang=html4strict>
 
<html>
 
  <head>
 
    <title>Página de teste...</title>
 
  </head>
 
  <body>
 
    <p>Página Teste!</p>
 
  </body>
 
</html>
 
</syntaxhighlight>
 
 
 
* Acesse a página criada apontando um cliente WWW para http://localhost/minha_pagina.html
 
 
 
4. Acesse as páginas instaladas nos computadores de seus colegas utilizando seus IPs
 
* Exemplo: aponte um cliente WWW para http://192.168.1.12/minha_pagina.html
 
 
 
5. Instale o wireshark e capture os pacotes de comunicação HTTP, identificando as mensagens GET e suas respostas, como exposto acima.
 
<syntaxhighlight lang=bash>
 
sudo apt-get install wireshark
 
</syntaxhighlight>
 
 
 
 
 
 
 
===  Experimento 1: Comunicação de dados ===
 
 
 
A comunicação dados pode ser entendida como '''troca de informação entre dois dispositivos através de algum meio de comunicação'''. A comunicação ocorre no âmbito de um sistema de telecomunicações, composto por equipamentos (hardware) e programas (softwares). Um sistema básico de comunicação de dados se constitui de cinco componentes:
 
 
 
[[imagem:Rede-intro-1.png]]
 
 
 
# '''A mensagem''': a informação a ser transmitida. O conteúdo da mensagem, seja um texto, música, video, ou qualquer outro tipo de informação, é representada por conjuntos de '''bits''' (dígitos binários).
 
# '''Transmissor:''' dispositivo que transmite a mensagem.
 
# '''Receptor:''' dispositivo que recebe a mensagem.
 
# '''Meio de comunicação:''' caminho físico por onde viaja a mensagem do transmissor até o receptor.
 
# '''Protocolo:''' conjunto de regras que governa a comunicação de dados.
 
 
 
Neste experimento, vamos interagir com um servidor web e identificar esses cinco componentes.
 
# Usando um navegador, acesse os seguintes links:
 
#* [http://tele.sj.ifsc.edu.br/~tisemp/RES/arquivo.txt http://tele.sj.ifsc.edu.br/~tisemp/RES/arquivo.txt]
 
#* [http://tele.sj.ifsc.edu.br/~tisemp/RES/teste.html http://tele.sj.ifsc.edu.br/~tisemp/RES/teste.html]<br><br>Quais são os componentes do sistema de comunicação de dados ?
 
# Vamos repetir o acesso aos links acima, porém sem usar o navegador. A ideia é que nós façamos o papel de navegador. Isso deve ser feito com os seguintes passos:
 
#* Abra um terminal de texto no Linux (menu ''Aplicativos->Acessórios->Terminal'').
 
#* Execute este comando: <syntaxhighlight lang=bash>
 
telnet tele.sj.ifsc.edu.br 80
 
</syntaxhighlight>
 
#* Após aparecer esta linha: <syntaxhighlight lang=text>
 
Trying 200.135.37.75...
 
Connected to integrado.sj.ifsc.edu.br.
 
Escape character is '^]'.
 
</syntaxhighlight>digite o seguinte:<syntaxhighlight lang=text>
 
GET /~tisemp/RES/arquivo.txt HTTP/1.0
 
</syntaxhighlight> e em seguida tecle ENTER duas vezes.
 
#* Agora execute o seguinte para acessar o outro link: <syntaxhighlight lang=bash>
 
telnet tele.sj.ifsc.edu.br 80
 
</syntaxhighlight>
 
#* Após aparecer esta linha: <syntaxhighlight lang=text>
 
Trying 200.135.37.75...
 
Connected to integrado.sj.ifsc.edu.br.
 
Escape character is '^]'.
 
</syntaxhighlight>digite o seguinte:<syntaxhighlight lang=text>
 
GET /~tisemp/RES/teste.html HTTP/1.0
 
</syntaxhighlight> e em seguida tecle ENTER duas vezes.
 
#* Compare o resultado das execuções desses comandos com o que se viu no navegador. Qual a diferença em cada caso ?
 
#* Identifique os componentes do sistema de comunicação de dados nesse acesso direto.
 
 
 
 
 
=== Experimento 2: transmissão de mensagens de aplicação ===
 
 
 
Neste experimento, serão observadas as mensagens transmitidas entre um navegador e um servidor web, e com base nelas devem ser identificados:
 
* os protocolos envolvidos e suas respectivas camadas dentro do modelo da Internet.
 
* os encapsulamentos realizados por esses protocolos.
 
* as informações que possibilitam identificar univocamente o navegador e o servidor web durante sua comunicação.
 
 
 
# Execute o wireshark em seu computador: abra um terminal em ''Aplicativos->Terminal'' e execute <syntaxhighlight lang=bash>
 
sudo wireshark
 
</syntaxhighlight>
 
# Na tela do wireshark, ative a captura na interface de rede eth0 (ela está listada no lado esquerdo).
 
# Usando um navegador, acesse o link [http://tele.sj.ifsc.edu.br/~tisemp/RES/arquivo.txt http://tele.sj.ifsc.edu.br/~tisemp/RES/arquivo.txt].
 
# Interrompa a captura no wireshark, clicando no menu ''Capture->Stop''.
 
# Na tela do wireshark, escreva ''http'' na caixa de edição ''Filter'', e em seguida clique em ''Apply''.
 
# Selecione o primeiro pacote da lista. Em seguida, clique no menu ''Analyze->Follow TCP Stream''. Uma tela se abrirá, e nela você poderá observar os dados transmitidos pelo navegador (em vermelho) e pelo servidor web (em azul). Esses são os dados da conversação ... todo o resto são informações de outros protocolos usadas para realizar a comunicação.
 
# Voltando à lista de pacotes mostrada pelo wireshark, observe a sequência de pacotes. Com base nela identifique:
 
#* os protocolos envolvidos
 
#* em que camada cada um deles atua
 
#* que informações mantidas nesses protocolos possibilitam identificar o navegador e o servidor web.
 
# Cada protocolo transmite e recebe pacotes com um determinado formato, composto por cabeçalho e dados carregados (''payload''). Identifique nos pacotes recebidos que partes correspondem a cabeçalho e dados carregados.
 
# '''DESAFIO:''' imagine que foram capturados pacotes em uma rede, em que se monitoram as comunicações de uma determinada pessoa sob investigação. O investigador deve analisar esses pacotes em busca de arquivos que tenham sido transmitidos. Os pacotes capturados foram salvos em um arquivo de captura do wireshark, o qual se encontra aqui:<br><br>[http://tele.sj.ifsc.edu.br/~tisemp/RES/captura.log captura.log]<br><br>Para visualizar os pacotes, use o menu ''File->Open'' do wireshark. Verifique se existem arquivos transmitidos dentro desses pacotes, e, caso afirmativo, extraia-os e visualize seus conteúdos. Para cada arquivo encontrado, informe:
 
#* qual o protocolo de aplicação usado para transmiti-lo
 
#* que computador foi usado para acessá-los, e qual servidor foi acessado.
 
 
 
 
 
=== Experimento 3: pacotes que passeiam pela rede ===
 
 
 
Neste experimento, deve-se evidenciar a transmissão de pacotes desde o transmissor até o receptor, que pode estar em outra rede. Como já foi discutido, para que isso seja possível deve haver uma forma de transmitir esses pacotes para dispositivos intermediários na rede, que os encaminham para seus destinos. Quer dizer, os pacotes devem ser roteados até seu receptor.
 
 
 
# Execute o wireshark em seu computador, e ative a captura de pacotes.
 
# Usando um navegador, acesse [http://wiki.sj.ifsc.edu.br/index.php/Página_principal esta página].
 
# Observe os pacotes transmitidos entre seu computador e o computador que atendeu seu pedido e respondeu com o conteúdo da página (isso é, o servidor web).
 
#* que informações identificam essa comunicação ?
 
#* quais os protocolos envolvidos ?
 
# O servidor web está fora da rede do laboratório. Assim, os pacotes precisaram ser encaminhados pelo computador do professor para a rede da escola (lembre que o computador do professor fica entre a rede do laboratório e a do Câmpus). Portanto, nesse computador deve ser possível visualizar seus pacotes sendo transmitidos em direção ao servidor, assim como a resposta do servidor. Observe esses pacotes no wireshark executado pelo professor.
 
#* as informações que identificam suas comunicações são as mesmas que as identificadas em seu próprio computador ?
 
# Acesse [http://www.ufsc.br/ a página da UFSC]. Enquanto isso, observe na tela do projetor do laboratório o wireshark no computador do professor capturando seus pacotes.
 
#* que informações identificam suas comunicações ?
 
# O servidor web da UFSC está em outra rede. Com certeza vários equipamentos intermediários precisarão ajudar para que os pacotes cheguem lá, e as respostas voltem para os seus computadores. Para saber por onde seus pacotes passam, use este comando:<syntaxhighlight lang=bash>
 
traceroute -n www.ufsc.br
 
</syntaxhighlight>
 
#* que informação está sendo usada para encaminhar os pacotes até o servidor web da UFSC ?
 
#* que protocolo mantém e usa essa informação ?
 
 
 
=== Experimento 4: Aplicação Web e o protocolo HTTP ===
 
 
 
Nas atividades abaixo sempre use o wireshark para observar as comunicações realizadas. Preste atenção aos encapsulamentos realizados e os protocolos envolvidos, assim como as informações mantidas por esses protocolos. Em particular, observe o endereço IP (mantido pelo protocolo IP na camada de rede)
 
e números de porta (mantidos por protocolos TCP e UDP na camada de transporte).
 
 
 
# Para criar um servidor web muito simples, siga estes passos:
 
## Baixe [http://tele.sj.ifsc.edu.br/~tisemp/RES/resposta este arquivo].
 
## Execute este comando: <syntaxhighlight lang=bash>
 
nc -l 8080 < resposta > pedido
 
</syntaxhighlight>
 
## Em seu navegador, acesse a URL http://127.0.0.1:8080/.
 
## Observe o resultado na tela do seu navegador, e veja o conteúdo do arquivo ''pedido''.
 
# Para rodar um servidor web pequeno, mas funcional, faça o seguinte:
 
## Baixe [http://tele.sj.ifsc.edu.br/~tisemp/RES/monkey-1.1.1.tar.gz este arquivo].
 
## Execute estes comandos: <syntaxhighlight lang=bash>
 
tar xzf monkey-1.1.1.tar.gz
 
cd monkey-1.1.1
 
./configure --prefix=/home/aluno/monkey
 
make
 
make install
 
</syntaxhighlight>
 
## Edite o arquivo /home/aluno/monkey/conf/sites/default e modifique a seguinte linha: <syntaxhighlight lang=text>
 
DocumentRoot /home/aluno/
 
</syntaxhighlight>
 
## Edite o arquivo /home/aluno/monkey/conf/plugins.load e verifique se ele contém o seguinte: <syntaxhighlight lang=text>
 
    # Directory Listing Plugin
 
    # ========================
 
    # When a directory is requested, this plugin will show
 
    # an HTML list of the available content to the client.
 
    #
 
    Load /home/sobral/tmp/monkey/plugins/monkey-dirlisting.so
 
</syntaxhighlight>
 
## Execute o servidor web: <syntaxhighlight lang=bash>
 
/home/aluno/monkey/bin/monkey
 
</syntaxhighlight>
 
## Com seu navegador, acesse http://127.0.0.1:2001/
 
## Experimente navegar pelos links mostrados.
 
# Acesse as seguintes páginas, identificando o método HTTP, a URI, a versão do protocolo e os cabeçalhos enviados e recebidos. Verifique também se há corpo da mensagem no pedido ou na resposta:
 
#* [http://tele.sj.ifsc.edu.br/~tisemp/RES/arquivo.txt File]
 
#* [http://tele.sj.ifsc.edu.br/~tisemp/RES/lagoa.jpg Lake]
 
#* [http://tele.sj.ifsc.edu.br/~tisemp/RES/teste.html Test]
 
#* [https://www.ifsc.edu.br/ https://www.ifsc.edu.br/]
 
# Acesse a página abaixo, e use o wireshark para acompanhar a comunicação. O que se pode ver de diferente em relação à atividade anterior ?
 
#* [http://tele.sj.ifsc.edu.br/~msobral/res/form.html Formulário]
 
# Acesse a página abaixo, e observe quantas requisições HTTP são geradas a partir desse acesso. Como você explica essa quantidade de requisições ?
 
#* [http://tele.sj.ifsc.edu.br/~tisemp/RES/muitos.html Diversos]
 
 
 
=== Para pensar ===
 
 
 
# Para que o protocolo HTTP é usado atualmente além de acesso a documentos na web? Faça uma pesquisa sobre isso.
 
# Pesquise o significado dos cabeçalhos HTTP vistos nos acessos feitos na aula de hoje.
 
 
 
 
 
=== Considerações finais ===
 
 
 
Os experimentos realizados buscaram introduzir alguns mecanismos envolvidos na comunicação através de uma rede de computadores. Tais mecanismos são implementados por alguns protocolos, lembrando que um protocolo especifica o ''formato dos pacotes transmitidos'' e as ''regras de comunicação para intercâmbio desses pacotes''. Durante os experimentos, teve-se contato com alguns protocolos importantes envolvidos em comunicações na Internet, assim como algumas das principais informações definidas e usadas por esses protocolos. A visualização da hierarquia em que operam esses protocolos buscou mostrar o modelo de camadas da Internet, que define como deve funcionar um sistema que se comunica nesse tipo de rede.
 
 
 
'''Para pensar:'''
 
* Para cada experimento, desenhe um diagrama de rede que mostre os equipamentos envolvidos. Para cada equipamento, desenhe também o modelo de camadas da Internet. Por fim, mostre o fluxo dos pacotes através dessas camadas (desde o transmissor até o receptor), indicando:
 
** que protocolo foi usado em cada camada.
 
** que serviço cada protocolo realizou.
 
** que informações foram usadas por cada protocolo.
 
 
 
 
 
== 08/09/14: Lista de exercícios / Revisão / Prova 1 ==
 
 
 
== 15/09/14:  Lab 5: Uso de aplicações da Internet (DNS) ==
 
 
 
=== DNS: Domain Name System ===
 
 
 
==== Uma ''breve'' descrição sobre DNS ====
 
 
 
''O texto abaixo foi obtido de [http://informatica.hsw.uol.com.br/dns.htm Como funcionam os servidores de domínio (DNS)].''
 
 
 
 
 
Se você gasta algum tempo na internet mandando e-mails ou navegando pela web, está utilizando servidores de domínios sem mesmo perceber. O sistema DNS (''Domain Name System'') forma uma das maiores, mais ativas e mais distribuídas bases de dados do planeta. Sem o DNS, a internet acabaria rapidamente.
 
 
 
Quando você navega na internet ou manda uma mensagem de e-mail, você estará utilizando um nome de domínio. Por exemplo, a URL "http://www.hsw.com.br" contém o nome de domínio ''howstuffworks.com''. Assim como o endereço de e-mail "iknow@howstuffworks.com."
 
 
 
Nomes como “howstuffworks.com” são facilmente lembrados pelas pessoas, mas não ajudam em nada as máquinas. Todas elas usam endereços de IP para se referirem umas às outras. A máquina a que as pessoas se referem como "www.hsw.com.br", por exemplo, possui o endereço IP 216.183.103.150. Toda vez que se usa um nome de domínio, os servidores de domínios da internet (DNS) estarão traduzindo os nomes de domínio legíveis em endereços de IP reconhecidos pelas máquinas. Durante um dia de navegação e envio de e-mails, os servidores de domínios podem ser acessados inúmeras vezes.
 
 
 
'''Os servidores de domínios traduzem ''nomes de domínios'' em endereços de IP'''. Isto parece uma tarefa simples, e seria, exceto por cinco razões:
 
 
 
# Atualmente existem bilhões de endereços de IP em uso e a grande maioria das máquinas possui um nome legível associado.
 
# Alguns bilhões de requisições são feitas ao DNS todos os dias. Uma única pessoa pode fazer várias requisições em apenas um dia e existem muitas pessoas e máquinas usando a Internet diariamente.
 
# Nomes de domínio e endereços de IP podem mudar frequentemente (até mesmo diariamente).
 
# Novos nomes de domínio são criados todos os dias.
 
# Milhões de pessoas trabalham na mudança e no acréscimo de nomes de domínio e endereços de IP constantemente.
 
 
 
'''O sistema DNS é uma [http://pt.wikipedia.org/wiki/Banco_de_dados base de dados]''', e nenhuma outra em todo o globo recebe tantas requisições. É a única, também, modificada por milhões de pessoas todos os dias. Isso é o que faz o sistema DNS tão singular.
 
 
 
==== Endereços IP ====
 
 
 
Para manter todas as máquinas da Internet em perfeito funcionamento, cada uma delas é associada a um único endereço chamado endereço de IP. IP significa ''protocolo da Internet'', e é um número de 32 bits normalmente apresentado como quatro “octetos” em um “número decimal pontuado.” Um endereço de IP comum se parece com esse:
 
 
 
<syntaxhighlight lang=text>
 
216.183.103.150 
 
</syntaxhighlight>
 
 
Os quatro números em um endereço de IP são chamados de octetos por possuírem valores entre 0 e 255 (256 possibilidades por octeto).
 
 
 
Toda máquina na Internet possui seu próprio endereço de IP (na verdade, tem ao menos UM endereço). Um servidor tem um endereço IP estático, que raramente muda. Uma máquina doméstica, que se conecta através de um modem, muitas vezes possui um endereço de IP designado pelo provedor no momento da conexão. Este endereço IP é único a cada sessão e pode mudar na próxima vez que houver uma conexão. Considerando isto, um provedor precisa apenas de um endereço IP para cada modem que dá suporte, ao invés de um para cada cliente (isso vale para ADSL ou conexões 3G também).
 
 
 
Se você estiver usando um computador com sistema operacional Linux, você pode ver seu endereço IP por meio do seguinte comando:
 
 
 
<syntaxhighlight lang=bash>
 
aluno@M2:~$ ifconfig
 
eth0      Link encap:Ethernet  Endereço de HW 84:2b:2b:7c:54:f5 
 
          inet end.: 172.18.80.251  Bcast:172.18.127.255  Masc:255.255.128.0
 
          endereço inet6: fe80::862b:2bff:fe7c:54f5/64 Escopo:Link
 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Métrica:1
 
          pacotes RX:3634552 erros:0 descartados:145885 excesso:0 quadro:0
 
          Pacotes TX:608253 erros:0 descartados:0 excesso:0 portadora:0
 
          colisões:0 txqueuelen:1000
 
          RX bytes:888269786 (888.2 MB) TX bytes:195176030 (195.1 MB)
 
          IRQ:21 Memória:f7fe0000-f8000000
 
</syntaxhighlight>
 
 
 
No exemplo acima, a interface de rede ''eth0'' (que é o dispositivo de hardware ou software que liga o computador fisicamente a Internet) possui o endereço IP 172.18.80.251. As demais informações descrevem outros parâmetros e características da interface de rede, e serão estudados em momento oportuno (mas não agora ;-).
 
 
 
Para que as máquinas acessem a Internet, é necessário apenas um endereço de IP para se conectar a um servidor. Você poderia digitar em seu navegador, por exemplo, a URL http://200.135.190.28 e alcançaria a máquina que contém o servidor web do IFSC. Porém essa forma de endereçar servidores na Internet é pouco prática. Nomes de domínio são estritamente usados para a nossa conveniência.
 
 
 
==== Nomes de domínios ====
 
 
 
Se precisássemos lembrar de todos os endereços de IP das páginas da Web que visitamos diariamente, ficaríamos malucos. Seres humanos não são bons em lembrar séries de números. No entanto, somos bons na lembrança de palavras, por isso usamos os nomes de domínios. Você possui, provavelmente, vários nomes de domínios guardados em sua cabeça. Como por exemplo:
 
 
 
* www.hsw.com.br - um nome típico
 
* www.google.com - o nome mais conhecido no mundo
 
* www.mit.edu - um nome EDU (educacionais) bastante popular
 
* encarta.msn.com - um servidor da Web que não começa com www
 
* www.bbc.co.uk - um nome que utiliza quatro partes em vez de três
 
* ftp.microsoft.com - um servidor FTP (em inglês) ao invés de um servidor da Web
 
 
 
As partes COM, EDU e UK destes servidores são chamadas de domínios principais ou domínios de primeiro nível. Existem vários domínios principais, incluindo COM, EDU, GOV, MIL, NET, ORG e INT, assim como as singulares combinações de duas letras para cada país (em inglês).
 
 
 
Em cada domínio principal existe uma enorme lista de domínios secundários. No domínio principal COM, por exemplo, tem-se:
 
 
 
* howstuffworks
 
* google
 
* msn
 
* microsoft
 
* ... e milhões de outros.
 
 
 
Cada nome no domínio principal COM precisa ser único, mas podem existir réplicas entre os domínios. Por exemplo, howstuffworks.com e howstuffworks.org são duas máquinas completamente diferentes.
 
 
 
No caso de bbc.co.uk, este é um domínio terciário. São possíveis até 127 níveis, no entanto, mais do que quatro são raros.
 
 
 
A palavra mais à esquerda, como www ou encarta, é nome de hospedagem, que determina o nome de uma máquina específica (com um endereço de IP próprio) em um domínio. Um domínio concedido pode conter milhões de nomes de hospedagem desde que sejam únicos.
 
 
 
Por causa desta determinação de todos os nomes em um domínio serem únicos, é necessário que uma entidade controle a lista destes servidores e garanta que nenhuma duplicação aconteça. O domínio COM, por exemplo, não pode conter dois nomes iguais e uma empresa chamada Network Solutions (em inglês) é a responsável por manter esta lista. Ao registrar um nome de domínio, o processo passa por um dos inúmeros registradores que trabalham na Network Solutions para adicionar nomes à lista. Ao mesmo tempo, é mantida uma base de dados chamada whois (em inglês) que contém informações sobre o proprietário e o servidor de cada domínio. Se você acessar o formulário whois (em inglês), encontrará informações acerca de qualquer domínio existente.
 
 
 
Apesar de ser importante possuir uma autoridade central cuidando da base de dados referente aos nomes no domínio principal COM (e nos outros), você pode não querer centralizar a base de dados de todas as informações do domínio. A Microsoft, por exemplo, tem inúmeros endereços de IP e de nomes de hospedagens. Esta empresa quer manter seu próprio servidor de domínio pelo microsoft.com. Similarmente, a Grã-Bretanha quer administrar os domínios principais uk e a Austrália os domínios au, assim como nós brasileiros queremos administrar os domínios br. Por esta razão, o sistema DNS é um sistema partilhado. A Microsoft é completamente responsável pela manutenção do servidor microsoft.com: ela mantém as máquinas que implementam sua parte do sistema DNS, podendo mudar a base de dados de seu domínio sempre que necessitar, pois possui seus próprios servidores de domínio.
 
 
 
Todo domínio possui um servidor em algum lugar, responsável por lidar com as requisições, onde há uma pessoa mantendo os registros deste DNS. Esta é uma das partes mais extraordinárias deste sistema: ele está completamente espalhado por todo o planeta em milhões de máquinas, administradas por milhões de pessoas e, ainda assim, se comporta como uma base de dados única e integrada.
 
 
 
==== Servidores DNS ====
 
 
 
Servidores DNS fazem duas coisas o tempo todo:
 
 
 
* Aceitam solicitações de programas para converter nomes de domínios em endereços de IP.
 
* Aceitam solicitações de outros servidores para converter nomes de domínios em endereços de IP.
 
 
 
Quando uma solicitação chega, o servidor pode exercer uma das quatro opções:
 
 
 
# Pode responder diretamente com um endereço de IP, por já conhecer previamente este endereço do domínio.
 
# Pode contatar outros servidores e tentar encontrar o endereço de IP para que foi solicitado, um processo que pode ser repetido várias vezes.
 
# Pode dizer: “eu não sei o endereço de IP para o domínio solicitado, mas aqui está o endereço de IP de um servidor que sabe mais do que eu.”
 
# Pode retornar uma mensagem de erro, pois o domínio solicitado é inválido ou inexistente.
 
 
 
Ao digitar uma URL em seu navegador, o primeiro passo que este faz é converter o nome do domínio e da hospedagem em um endereço IP, para que o navegador solicite uma página da web à máquina que possui esse endereço de IP. Para fazer esta conversão, o navegador se comunica com um servidor DNS.
 
 
 
Ao configurar seu computador para se conectar a Internet, você (ou o software instalado para se conectar ao seu provedor) precisa informar ao computador qual o servidor DNS que deve ser usado para a conversão de nomes de domínios em endereços de IP. Para ver qual o servidor DNS configurado em seu computador (assumindo que ele esteja com Linux), use o comando ''nslookup'':
 
 
 
<syntaxhighlight lang=bash>
 
aluno@M2:~$ nslookup www.ifsc.edu.br
 
Server: 200.135.37.65
 
Address: 200.135.37.65#53
 
 
 
Non-authoritative answer:
 
Name: www.ifsc.edu.br
 
Address: 200.18.10.13
 
</syntaxhighlight>
 
 
 
==== A estrutura das informações mantidas no DNS ====
 
 
 
Como deve ter ficado claro na [[RES-2013-1#Uma_breve_descri.C3.A7.C3.A3o_sobre_DNS|seção anterior]], '''DNS ''(Domain Name System)''''' é uma base de dados distribuída e hierárquica. Nela se armazenam informações para mapear nomes de máquinas da Internet para endereços IP e vice-versa, informação para roteamento de email, e outros dados utilizados por aplicações da Internet.
 
 
 
A informação armazenada no DNS é identificada por nomes de domínio que são organizados em uma árvore, de acordo com as divisões administrativas ou organizacionais. Cada nodo dessa árvore, chamado de ''domínio'', possui um rótulo (na seção anterior isso foi denominado ''hospedagem''). O nome de domínio de um nodo é a concatenação de todos os rótulos no caminho do nodo até a raiz. Isto é representado como uma ''string'' de rótulos listados da direita pra esquerda e separados por pontos (ex: ifsc.edu.br, sj.ifsc.edu.br). Um rótulo precisa ser único somente dentro do domínio pai a que pertence.
 
 
 
Por exemplo, um nome de domínio de uma máquina no IFSC pode ser ''mail.ifsc.edu.br'', em que ''br'' é o domínio do topo da hierarquia ao qual ''mail.sj.ifsc.edu.br'' pertence.
 
Já ''edu'' é um subdomíno de ''br'', ''ifsc'' um subdomínio de ''edu'', e ''mail'' o nome da máquina em questão.
 
 
 
Por razões administrativas, o espaço de nomes é dividido em áreas chamadas de ''zonas'', cada uma iniciando em um nodo e se estendendo para baixo para os nodos folhas ou nodos onde outras zonas iniciam. Os dados de cada zona são guardados em um ''servidor de nomes'', que responde a consultas sobre uma zona usando o protocolo DNS.
 
 
 
Clientes buscam informação no DNS usando uma biblioteca de resolução (''resolver library''), que envia as consultas para um ou mais servidores de nomes e interpreta as respostas.
 
 
 
[[Imagem:hierarquia-DNS.gif|400px]]
 
 
 
(tirado do [http://www.bind9.net/manual/bind/9.3.2/Bv9ARM.ch01.html#id2546234 manual do BIND9])
 
 
 
Ver também o [http://my.safaribooksonline.com/0-596-00158-4/dns4-CHP-2 livro sobre DNS e BIND] da O'Reilly.
 
 
 
Você pode consultar a IANA para conhecer as delegações dos ''top-level domains'' como o .br, por exemplo. A IANA é responsável por coordenar estas delegações em confirmidade com suas políticas. Consulte: [http://www.iana.org/domains/root/db top-level domains]
 
 
 
==== Registros DNS ====
 
 
 
Cada rótulo na hierarquia DNS possui um conjunto de informações associadas a si. Essas informações são guardas em registros de diferentes tipos, dependendo de seu significado e propósito. Cada consulta ao DNS retorna assim as informações do registro pedido associado ao rótulo. Por exemplo, para ver o registro de endereço IP associado a www.ifsc.edu.br pode-se executar o comando [http://manpages.ubuntu.com/manpages/lucid/man1/dig.1.html dig] (o resultado teve alguns comentários removidos):
 
 
 
<syntaxhighlight lang=bash>
 
tisemp@M1:~$ dig sj.ifsc.edu.br mx
 
 
 
;; QUESTION SECTION:
 
;sj.ifsc.edu.br. IN MX
 
 
 
;; ANSWER SECTION:
 
sj.ifsc.edu.br. 3600 IN MX 10 hendrix.sj.ifsc.edu.br.
 
 
 
;; AUTHORITY SECTION:
 
sj.ifsc.edu.br. 3600 IN NS ns.pop-udesc.rct-sc.br.
 
sj.ifsc.edu.br. 3600 IN NS ns.pop-ufsc.rct-sc.br.
 
sj.ifsc.edu.br. 3600 IN NS hendrix.sj.ifsc.edu.br.
 
 
 
;; ADDITIONAL SECTION:
 
hendrix.sj.ifsc.edu.br. 3600 IN A 200.135.37.65
 
ns.pop-ufsc.rct-sc.br. 11513 IN A 200.135.15.3
 
ns.pop-udesc.rct-sc.br. 37206 IN A 200.135.14.1
 
</syntaxhighlight>
 
 
 
Cada uma das informações acima mostra um determinado registro e seu conteúdo, como descrito na tabela abaixo:
 
 
 
{| border="1" cellpadding="2"
 
!Nome
 
!TTL
 
!Classe
 
!Registro
 
!Conteúdo do registro
 
|-
 
|hendrix.sj.ifsc.edu.br.||3600||IN||A||200.135.37.65
 
|-
 
|sj.ifsc.edu.br.||3600||IN||NS||hendrix.sj.ifsc.edu.br.
 
|-
 
|sj.ifsc.edu.br.||3600||IN||MX||10 hendrix.sj.ifsc.edu.br.
 
|}
 
 
 
Obs: ''TTL'' é o tempo de validade (em segundos) da informação retornada do servidor de nomes, e ''classe'' é o tipo de endereço (no caso IN equivale a endereços Internet).
 
 
 
Os tipos de registros mais comuns são:
 
 
 
{| border="1" cellpadding="2"
 
!Registro
 
!Descrição
 
!Exemplo
 
|-
 
|A || Endereço (Address) || www.sj.ifsc.edu.br IN A 200.135.37.66
 
|-
 
|NS|| Servidor de nomes (Name Server) || sj.ifsc.edu.br IN NS hendrix.sj.ifsc.edu.br.
 
|-
 
|CNAME || Apelido (Canonical Name) || mail.sj.ifsc.edu.br IN CNAME hendrix.sj.ifsc.edu.br.
 
|-
 
|MX || Roteador de email (Mail Exchanger) || sj.ifsc.edu.br IN MX mail.sj.ifsc.edu.br.
 
|-
 
|SOA || dados sobre o domínio (Start of Authority)||sj.ifsc.edu.br IN SOA hendrix.sj.ifsc.edu.br. root.sj.ifsc.edu.br. 2009120102 1200 120 604800 3600
 
|-
 
|PTR || Ponteiro para nome (Pointer) || 65.37.135.200.in-addr.arpa IN PTR hendrix.sj.ifsc.edu.br.
 
|-
 
|TXT || Texto genérico (Text) || sj.ifsc.edu.br IN TXT "v=spf1 a mx ~all"
 
|}
 
 
 
Uma zona assim é composta de um conjunto de registros com todas as informações dos domínios nela contidos. O conteúdo de uma zona, contendo o domínio ''example.com'', pode ser visualizado abaixo:
 
 
 
<syntaxhighlight lang=text>
 
example.com  86400  IN SOA ns1.example.com. hostmaster.example.com. (
 
      2002022401 ; serial
 
      10800 ; refresh
 
      15 ; retry
 
      604800 ; expire
 
      10800 ; minimum
 
    )
 
      IN  NS    ns1.example.com.
 
      IN  NS    ns2.smokeyjoe.com.
 
      IN  MX  10 mail.another.com.
 
      IN  TXT  "v=spf1 mx -all"
 
 
 
ns1    IN  A      192.168.0.1
 
www    IN  A      192.168.0.2
 
ftp    IN  CNAME  www.example.com.
 
 
 
bill  IN  A      192.168.0.3
 
fred  IN  A      192.168.0.4
 
</syntaxhighlight>
 
 
 
 
 
=== Atividade ===
 
 
 
# Usando o programa [http://manpages.ubuntu.com/manpages/hardy/man1/host.1.html host] ou [http://manpages.ubuntu.com/manpages/hardy/man1/dig.1.html dig], descubra os endereços IP associados aos seguintes nomes de domínios:
 
#* mail.ifsc.edu.br
 
#* www.sj.ifsc.edu.br
 
#* www.google.com
 
#* www.gmail.com
 
#* www.amazon.co.uk
 
#* www.gov.za
 
#* www.sls.com.au
 
# Agora descubra quem é o servidor DNS responsável por cada um dos domínios dos nomes acima. Para isso consulte o valor do registro NS associado a esses domínios. Por exemplo, com o programa ''host'' isso pode ser feito assim: <syntaxhighlight lang=bash>
 
host -t ns ifsc.edu.br
 
</syntaxhighlight>
 
# Descubra qual o servidor DNS usado pelo seu computador. Para isso é mais fácil usar o programa [http://manpages.ubuntu.com/manpages/lucid/man1/nslookup.1.html nslookup]: <syntaxhighlight lang=bash>
 
# Use o nslookup para consultar o endereço IP de um nome qualquer ...
 
nslookup www.ifsc.edu.br
 
</syntaxhighlight>
 
# Agora que já está ficando claro como funcionam as consultas DNS, deve-se investigar como se dá a comunicação entre seu computador e seu servidor DNS. Portanto, execute o wireshark: <syntaxhighlight lang=bash>
 
sudo wireshark
 
</syntaxhighlight>... e em seguida faça uma consulta DNS qualquer. Com base nisso identifique o seguinte:
 
#* Quantas mensagens são trocadas entre cliente e servidor DNS para cada consulta ?
 
#* Que protocolo de transporte é usado ? E que port ?
 
#* Qual o formato das mensagens DNS ? Elas são textuais como as mensagens HTTP ou SMTP ?
 
#* Qual o tipo de registro DNS acessado em cada consulta ?
 
#* Que informações estão contidas nas respostas DNS ? Há algo além do que foi pedido ?
 
#* Qual o tamanho das mensagens DNS ?
 
# O serviço DNS fornece outras informações além do endereço IP associado a cada nome de domínio. Por exemplo, como ele se pode descobrir que ''host'' recebe emails em um determinado domínio. Isso é utilizado pelos MTA mundo afora para entregarem emails para seus destinatários (lembre que isso se faz com o protocolo SMTP). Para descobrir essa informação, deve-se consultar o registro MX de um domínio. Por exemplo: <syntaxhighlight lang=bash>
 
host -t mx ifsc.edu.br
 
</syntaxhighlight>Descubra quem é o servidor que recebe emails nos seguintes domínios:
 
#* gmail.com
 
#* hotmail.com
 
#* uol.com.br
 
#* ufsc.br
 
# Outra informação útil guardada por servidores DNS é a tradução de endereço IP para nome de domínio. Isso é chamado de tradução reversa (ou DNS reverso). Usando os programas de diagnóstico já vistos, isso pode ser feito assim: <syntaxhighlight lang=bash>
 
dig -x 200.180.10.13
 
</syntaxhighlight> ... o ''dig'' tem um resultado um pouco mais carregado que os outros utilitários (''host'' e ''nslookup''), porém neste caso é mais prático. Veja o resultado da consulta logo após a linha '';; ANSWER SECTION:''. Experimente fazer a resolução reversa para cada um dos IP obtidos nas consultas realizadas no primeiro exercício desta atividade.
 
# Como explicado durante a aula, DNS é um banco de dados distribuído. Isso quer dizer que suas informações estão espalhadas em milhares (ou milhões ?) de servidores DNS mundo afora. Cada servidor DNS mantém os dados dos domínios por que é responsável. Será que é possível rastrear todos os servidores DNS que devem ser consultados até chegar ao servidor do domínio procurado ?
 
## Descubra quem são os servidores raiz (topo de hierarquia DNS): <syntaxhighlight lang=bash>
 
host -t ns .
 
</syntaxhighlight>
 
## Escolha um dos servidores listados, e use-o para fazer as consultas. Por exemplo: <syntaxhighlight lang=bash>
 
host -v -t a www.sj.ifsc.edu.br. j.root-servers.net.
 
</syntaxhighlight>... e observe a seção '';; AUTHORITY SECTION:''. Ele contém a listagem de servidores DNS que podem atender sua consulta.
 
## Continue fazendo as consultas aos servidores DNS listados, até conseguir traduzir o nome requisitado. Quantos servidores DNS foi necessário consultar no total ?
 
## Repita esse exercício para os seguintes nomes de domínio:
 
##* www.bbc.co.uk
 
##* www.amazon.com
 
##* www.thepiratebay.org
 
##* www.reeec.illinois.edu
 
##* www.inm.ras.ru
 
 
 
== 22/09/14: FTP e Email (SMTP, POP3, IMAP) ==
 
 
 
* A camada de aplicação ([[Arquivo:Slides-kurose-cap2.pdf]])
 
 
 
 
 
=== File Transfer Protocol - FTP ===
 
 
 
*Material de apoio FTP: ([[Arquivo:Aula FTP.pdf]])
 
 
 
==== Experimento FTP ====
 
 
 
:1. Configure o seu micro para permitir conexões do tipo FTP, instalando um servidor, e verifique a configuração:
 
:<syntaxhighlight lang=bash>
 
sudo apt-get install proftpd-basic
 
</syntaxhighlight>
 
:2. Acesse o seu servidor FTP, o do seu vizinho, crie, modifique, apague arquivos e diretórios, etc.
 
:3. Capture os pacotes de comunicação utilizando o wireshark e analise o que foi capturado. Quais as mensagens de aplicação utilizadas? Quais os nomes dos arquivos copiados? Foi possível visualizar os arquivos transmitidos?
 
 
 
=== Correio eletrônico ===
 
 
 
O correio eletrônico (''email'') é um dos principais serviços na Internet. De fato foi o primeiro serviço a ser usado em larga escala. Trata-se de
 
um método para intercâmbio de mensagens digitais. Os sistemas de correio eletrônico se baseiam em um modelo armazena-e-encaminha (''store-and-forward'') em que os servidores de email aceitam, encaminham, entregam e armazenam mensagens de usuários.
 
 
 
Uma mensagem de correio eletrônico se divide em duas partes:
 
* ''Cabeçalhos:'' contém informações de controle e atributos da mensagem
 
* ''Corpo:'' o conteúdo da mensagem
 
 
 
<syntaxhighlight lang=text>
 
From: Roberto de Matos <roberto@eel.ufsc.br>
 
Content-Type: text/plain;
 
charset=iso-8859-1
 
Content-Transfer-Encoding: quoted-printable
 
X-Smtp-Server: smtp.ufsc.br:roberto.matos@posgrad.ufsc.br
 
Subject: =?iso-8859-1?Q?Teste_Ger=EAncia?=
 
Message-Id: <0595A764-EEAE-41E7-99F0-80DC11FB5327@eel.ufsc.br>
 
X-Universally-Unique-Identifier: 684c3833-bbbe-420b-8b66-d92d9a419bc0
 
Date: Wed, 20 Nov 2013 11:36:35 -0200
 
To: Roberto de Matos <roberto.matos@ifsc.edu.br>
 
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
 
 
 
Ol=E1 Pessoal,
 
 
 
Hoje vamos aprender o funcionamento do Email!!
 
 
 
Abra=E7o,
 
 
 
Roberto=
 
</syntaxhighlight>
 
 
 
Na mensagem acima, os cabeçalhos são as linhas iniciais. Os cabeçalhos terminam quando aparece uma linha em branco, a partir de que começa o corpo da mensagem.
 
 
 
=== Funcionamento do email ===
 
 
 
Um usuário que queira enviar uma mensagem para outro utilizará um aplicativo cliente de e-mail, também conhecido como MUA (Mail User Agent), ou Agente de Mensagens do Usuário. Ao terminar de redigir a sua mensagem, o MUA enviará a mensagem a um MTA (Mail Transport Agent) (Agente Transportador de Mensagens) que se encarregará então de entregar a mensagem ao MTA do destinatário, caso ele se encontre em outra máquina ou simplesmente colocar a mensagem na caixa postal do destinatário, caso ele se encontre no mesmo servidor. A transferência da mensagem entre o MUA e o MTA se efetua utilizando um protocolo chamado SMTP (Simple Mail Transfer Protocol) ou Protocolo Simples de Transferência de Mensagens. O protocolo SMTP será utilizado também entre o MTA do remetente e o MTA do destinatário.
 
 
 
O servidor de e-mail do destinatário, ao receber uma mensagem para um dos seus usuários, simplesmente a coloca na caixa postal deste usuário. Se o usuário possui uma conta shell neste servidor, ele poderá ler os seus e-mails direto no servidor, caso contrário o usuário deverá transferir suas mensagens para sua máquina a fim de lê-las com o seu cliente de e-mail. A transferência de mensagens recebidas entre o servidor e o cliente de e-mail requer a utilização de outros programas e protocolos. Usualmente é utilizado para este fim o protocolo POP (Post Office Protocol), Protocolo de "Agência" de Correio, que recebe este nome por agir como uma agência de correios mesmo, que guarda as mensagens dos usuários em caixas postais e aguarda que estes venham buscar suas mensagens. Outro protocolo que pode ser utilizado para este mesmo fim é o IMAP (Internet Message Access Protocol), Protocolo para Acesso de Mensagens via Internet, que implementa, além das funcionalidades fornecidas pelo POP, muitos outros recursos. Os protocolos POP e IMAP são protocolos para recebimentos de mensagens, ao contrário do protocolo SMTP, que serve para enviar mensagens, logo, possuem funcionalidades diferenciadas, como por exemplo, autenticação do usuário.
 
 
 
Para a utilização dos protocolos POP e IMAP é necessária a instalação do servidor apropriado, que vai ser o responsável por atender as solicitações do cliente de e-mail por novas mensagens. O recebimento de mensagens pelo cliente se dá através da solicitação do MUA do usuário ao seu servidor de e-mail, que após a autenticação do usuário vai informar se existem mensagens em sua caixa postal e quantas são. A seguir o MUA solicita a transferência das mensagens para a máquina local, finalizando assim o processo de troca de mensagens entre dois usuários.
 
 
 
Os componentes da infraestrutura de email são:
 
* ''MUA (Mail User Agent):'' o aplicativo que o usuário usa para envio e acesso a mensagens. Atualmente é bastante comum MUA do tipo webmail, mas existem outros como Mozilla Thunderbird, KMail e Microsoft Outlook.
 
* ''MDA (Mail Delivery Agent):'' o servidor responsável por receber dos usuários mensagens a serem enviadas. Assim, quando um usuário quer enviar uma mensagem, usa um MUA que contata o MDA para fazer o envio. Exemplos de software são Postfix, Sendmail, Qmail e Microsoft Exchange.
 
* ''MTA (Mail Transport Agent):'' o servidor responsável por transmitir mensagens até seu destino, e receber mensagens da rede para seus usuários. Comumente faz também o papel de MDA. Exemplos de softwares são Postfix, Sendmail, Qmail e Microsoft Exchange.
 
 
 
A figura abaixo ilustra uma infraestrutura de email típica.
 
 
 
[[Imagem:Email-intro.png]]
 
 
 
Os protocolos envolvidos são:
 
 
 
* ''SMTP (Simple Mail Transfer Protocol):''
 
**usado para envios de mensagens entre MTAs, e entre MUA e MDA/MTA.
 
 
 
* ''IMAP (Internet Mail Access Protocol):''
 
**usado por MUAs para acesso a mensagens armazenadas em caixas de email em servidores.
 
**Usa a porta 143/TCP ou 993/TCP (versão segura IMAPS)
 
**Pode manter diversas pastas no servidor, além da INBOX.
 
**Por default mantém as mensagens no servidor.
 
**Pode movimentar mensagens em ambas as direções (entre pastas no cliente e no servidor).
 
 
 
* ''POP (Post Office Protocol):''
 
**Mesma finalidade que IMAP, porém com funcionalidade mais limitada. Se destina a situações em que o normal é copiar as mensagens parao computador do usuário, e então removê-las do servidor.
 
**Usa a porta 110/TCP ou 995/TCP (versão segura POP3S).
 
**Considera apenas uma pasta no servidor (INBOX).
 
**Por default descarrega as mensagens do servidor no cliente.
 
 
 
* ''LMTP (Local Mail Transfer Protocol):''
 
**usado para entrega de mensagens entre MTA e MDA/MTA, sendo que o servidor de destino não mantém uma fila de mensagens (quer dizer, ele entrega diretamente na caixa de entrada de um usuário ou a encaminha imediatamente).
 
 
 
=== Endereçamento ===
 
 
 
Endereços de email estão intimamente ligados ao DNS. Cada usuário de email possui um endereço único mundial, definido por um identificador de usuário e um domínio de email, escritos usando-se o símbolo especial ''@'' (lê-se ''at'', do original em inglês) para conectá-los:
 
 
 
tele@ifsc.edu.br
 
 
 
Nesse exemplo, o identificador de usuário é ''tele'', e o domínio é ''ifsc.edu.br''.
 
 
 
Os domínios de email tem correspondência direta com domínios DNS. De fato, para criar um domínio de email deve-se primeiro criá-lo no DNS. Além disto, o domínio DNS deve ter associado a si um ou mais registros MX (''Mail exchanger'') para apontar os MTAs responsáveis por receber emails para o domínio. Por exemplo, o domínio DNS ''ifsc.edu.br'' possui esse registro MX:
 
 
 
<syntaxhighlight lang=text>
 
> dig ifsc.edu.br mx
 
 
 
;; QUESTION SECTION:
 
;ifsc.edu.br.                  IN      MX
 
 
 
;; ANSWER SECTION:
 
ifsc.edu.br.            3581    IN      MX      5 hermes.ifsc.edu.br.
 
</syntaxhighlight>
 
 
 
... e o domínio ''gmail.com'':
 
 
 
<syntaxhighlight lang=text>
 
> dig gmail.com mx
 
 
 
;; QUESTION SECTION:
 
;gmail.com.                    IN      MX
 
 
 
;; ANSWER SECTION:
 
gmail.com.              3600    IN      MX      20 alt2.gmail-smtp-in.l.google.com.
 
gmail.com.              3600    IN      MX      30 alt3.gmail-smtp-in.l.google.com.
 
gmail.com.              3600    IN      MX      40 alt4.gmail-smtp-in.l.google.com.
 
gmail.com.              3600    IN      MX      5 gmail-smtp-in.l.google.com.
 
gmail.com.              3600    IN      MX      10 alt1.gmail-smtp-in.l.google.com.
 
</syntaxhighlight>
 
 
 
=== Captura de pacotes SMTP e POP ===
 
 
 
==== Experimento 1: Captura de pacotes SMTP e POP3 usando cliente de e-mail ====
 
Para que seja possível capturar pacotes dos protocolos SMTP e POP3, é necessário utilizar um programa MUA para que estes protocolos sejam utilizados.
 
 
 
#Inicie o programa Wireshark e filtre pacotes dos protocolos SMTP e POP;
 
#Inicie o programa Thunderbird e configure uma conta de e-mail utilizando:
 
## SMTP para envio de e-mails
 
## POP3 para buscar e-mails no servidor
 
#Envie mensagens para as contas configuradas dos colegas e verifique os pacotes capturados, analisando a estrutura dos protocolos.
 
 
 
==== Experimento 2: Envio de e-mail manual utilizando o programa telnet ====
 
 
 
# Conectar-se a um servidor de email, e enviar manualmente uma mensagem. Fazer primeiro com um programa (Thunderbird) e depois manualmente (com telnet).
 
 
 
## ''Segundo acesso:'' usando telnet para enviar uma mensagem
 
##* Conecte-se ao servidor de email do laboratório (note que ele é acessado via port TCP 25): <syntaxhighlight lang=bash>
 
telnet 200.135.233.48 25
 
</syntaxhighlight>
 
##* ''Converse'' com o servidor de email usando o protocolo SMTP, que é textual: <syntaxhighlight lang=text>
 
helo mail
 
250 m1
 
mail from: aluno@alunosrco.sj.ifsc.edu.br
 
250 2.1.0 OK
 
rcpt to: aluno1@alunosrco.sj.ifsc.edu.br
 
250 2.1.5 OK
 
data
 
354 End data with <CR><LF>.<CR><LF>
 
From: Aluno <aluno@alunosrco.sj.ifsc.edu.br>
 
To: Aluno 1 <aluno1@alunosrco.sj.ifsc.edu.br>
 
Subject: Teste de envio manual ...
 
 
 
Testando o envio de uma mensagem na unha ...
 
 
 
.
 
250 2.0.0 Ok: queued as 57C486819C
 
quit
 
221 2.0.0 Bye
 
</syntaxhighlight>''Obs:'' as linhas que iniciam com números correspondem a respostas do servidor SMTP.
 
##* Verifique se a mensagem foi de fato enviada.
 
 
 
 
 
== 29/09: Finalização de conteúdo da aula anterior ==
 
 
 
 
 
== 06/10: Aplicações: VoIP - fazendo chamadas de voz pela rede de comunicação de dados ==
 
 
 
* [http://tele.sj.ifsc.edu.br/~msobral/rmu/slides/aula-22.pdf Transparências]
 
* [http://www.packetizer.com/ipmc/sip/papers/understanding_sip_voip/ Introdução a VoIP e SIP]
 
* [http://techandsimple.com/2012/09/25/mobile-telephony-over-ip/ Tecnologias VoIP para smartphones]
 
* [http://www.siptutorial.net/SIP/relation.html Mensagens, Transações, Diálogos e Chamadas SIP]
 
 
 
 
 
'''VoIP:''' transmissão de voz usando protocolos da arquitetura TCP/IP, com o objetivo de estabelecer chamadas semelhantes a chamadas telefônicas. Alguns exemplos de aplicações ou padrões VoIP são:
 
* [http://tele.sj.ifsc.edu.br/~msobral/rmu/voip/cucs-039-04.pdf Skype] (mais material [http://www.cs.columbia.edu/~salman/skype/ aqui])
 
* [http://www.viber.com Viber]
 
* [http://www.packetizer.com/ipmc/sip/papers/understanding_sip_voip SIP] ''(padrão)''
 
* [http://en.wikipedia.org/wiki/H.323 H.323] ''(padrão)''
 
 
 
[[imagem:Fone-call.png]]
 
<br><br>''Uma chamada VoIP entre dois telefones IP é feita através da rede de dados.''
 
 
 
 
 
A realização de chamadas VoIP implica a necessidade de alguns mecanismos:
 
* '''Sinalização:''' deve haver alguma forma de um usuário iniciar uma chamada para outro usuário, de forma parecida com uma chamada telefônica convencional. A sinalização é responsável por possibilitar que um usuário convide outro para o estabelecimento de uma chamada, e para notificar sobre sua aceitação ou não. Além disso, a sinalização deve participar da definição sobre as características da chamada, tais como o codec de áudio.
 
* '''Transmissão de midia:''' a voz precisa ser digitalizada com algum codec então transmitida entre os participantes da chamada. O transporte da voz digitalizada implica o uso protocolos capazes de encapsulá-la e de atender ou dar subsídios ao atendimento de seus requisitos de qualidade de serviço (atrasos fim-a-fim e variação de atraso, taxa de perdas).
 
 
 
Em Redes de Computadores será introduzido o modelo SIP para VoIP, o qual se compõe de um conjunto de padrões abertos para tratar dos vários aspectos envolvidos na realização de chamadas. Esse modelo, como diz seu nome, tem como principal elemento o protocolo de sinalização [http://tools.ietf.org/html/rfc3261 SIP (''Session Initiation Protocol'')].
 
 
 
=== O protocolo SIP ===
 
 
 
O protocolo SIP segue um '''modelo P2P (peer-to-peer)''', em que dois ou mais participantes, chamados de agentes, trocam mensagens com a finalidade de estabelecerem algum tipo de sessão (de voz no nosso caso, mas pode ser de video, mensagem instantânea, ou algum outro tipo de serviço). Assim, cada agente em uma sessão SIP se comporta tanto como cliente (quando envia requisições SIP) quanto servidor (quando responde a requisições SIP). A parte que inicia requisições se chama UAC (''User Agent Client''), e a que responde requisições é denominada UAS (''User Agent Server''), estando ambas implementadas nos telefones IP e similares.
 
 
 
Uma sessão SIP envolve a interação entre duas entidades lógicas, que no caso de chamadas VoIP são por vezes chamadas simplesmente de ''usuários''. A diferença entre entidade lógica e agente é que a primeira é o usuário (recurso) que inicia ou recebe chamadas, e o segundo é a aplicação que contém os mecanismos para efetuar e receber chamadas - pense que a entidade seria uma pessoa, e o agente o aparelho telefônico em uma chamada telefônica convencional. Cada entidade é identificada por uma [http://tools.ietf.org/html/rfc3261#section-19.1 URI (''Uniform Resource Indicator'') SIP], similar a um número de telefone. Além de identificar uma entidade lógica, a informação em uma URI SIP indica a forma com que essa entidade deve ser contatada via SIP. Exemplos de URI SIP seguem abaixo:
 
 
 
<syntaxhighlight lang=text>
 
# Uma URI simples, tipicamente usada em mensagens INVITE (que iniciam sessões SIP)
 
sip:1234@biloxi.example.com
 
 
 
# Uma URI mais elaborada, tipicamente usada em alguns cabeçalhos SIP (ex: Contact ou Refer-to)
 
sip:joseph.fourier@transform.org:5060;transport=udp;user=ip;method=INVITE;ttl=1;
 
maddr=240.101.102.103?Subject=FFT
 
</syntaxhighlight>
 
 
 
As comunicações SIP seguem uma hierarquia, cujos níveis são:
 
* '''Mensagens:''' mensagens de texto individuais trocadas entre agentes.
 
* '''Transação:''' sequência de mensagens entre dois agentes iniciando com uma requisição e terminando com uma resposta final.
 
* '''Diálogo:''' uma relação entre dois agentes que persiste por algum tempo, e identificada por um ''Call-ID''.
 
* '''Chamada:''' composta por todos os diálogos originados por um agente.
 
 
 
[[imagem:Sip-relation.gif]]
 
<br>'''Mensagens, transações, diálogos e chamadas''
 
 
 
==== Mensagens SIP ====
 
 
 
O protocolo SIP tem uma estrutura simplificada com mensagens de pedido e resposta, assemelhando-se ao protocolo HTTP. Essas mensagens possuem a seguinte estrutura:
 
 
 
<syntaxhighlight lang=text>
 
Linha inicial
 
Cabeçalho1: valor do cabeçalho 1
 
Cabeçalho2: valor do cabeçalho 2
 
...
 
CabeçalhoN: valor do cabeçalho N
 
<linha em branco>
 
corpo da mensagem (opcional)
 
</syntaxhighlight>
 
 
 
A diferença básica entre pedidos e respostas SIP está na ''linha inicial'': pedidos contêm um método SIP e seus parâmetros, e respostas possuem um código de status junto com um curto texto informativo. Abaixo são mostradas duas mensagens SIP: um pedido e sua respectiva resposta. Nesse exemplo, ambas mensagens não possuem um corpo de mensagem (lembre que isso é opcional):
 
 
 
 
 
[[imagem:Sip-example1.png]]
 
 
 
 
 
'''Pedido:'''
 
<syntaxhighlight lang=text>REGISTER sips:ss2.biloxi.example.com SIP/2.0
 
Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7
 
Max-Forwards: 70
 
From: Bob <sips:bob@biloxi.example.com>;tag=a73kszlfl
 
To: Bob <sips:bob@biloxi.example.com>
 
Call-ID: 1j9FpLxk3uxtm8tn@biloxi.example.com
 
CSeq: 1 REGISTER
 
Contact: <sips:bob@client.biloxi.example.com>
 
Content-Length: 0
 
</syntaxhighlight>
 
 
 
'''Resposta:'''
 
<syntaxhighlight lang=text>SIP/2.0 200 OK
 
Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashd92
 
;received=192.0.2.201
 
From: Bob <sips:bob@biloxi.example.com>;tag=ja743ks76zlflH
 
To: Bob <sips:bob@biloxi.example.com>;tag=37GkEhwl6
 
Call-ID: 1j9FpLxk3uxtm8tn@biloxi.example.com
 
CSeq: 2 REGISTER
 
Contact: <sips:bob@client.biloxi.example.com>;expires=3600
 
Content-Length: 0
 
</syntaxhighlight>
 
 
 
O pedido exemplificado foi uma mensagem do tipo REGISTER, que é um tipo de método SIP. Um método pode ser entendido como um comando enviado de um participante a outro. A resposta contém o status ''200 OK'', que significa que o pedido foi atendido com sucesso. Por fim, ambas mensagens contiveram um conjunto de cabeçalhos necessários para caracterizá-las, dentre eles ''Via'', ''From'', ''To'', ''Call-Id'', ''CSeq'', ''Contact'' e ''Content-Length''. As tabelas a seguir descrevem resumidamente os principais métodos e  cabeçalhos SIP.
 
 
 
{| border="1" cellpadding="2"
 
!Método SIP
 
!Descrição
 
|-
 
| REGISTER || Usado por um agente para notificar a rede SIP (outros agentes) sobre sua URI de contato
 
|-
 
| INVITE || Usado para estabelecer sessões entre dois agentes
 
 
|-
 
|-
| ACK || Confirma respostas finais a requisições INVITE
+
|'''202021804275'''||style="background: #60FF60;" |6||style="background: #FFFF60;" |4||style="background: #60FF60;" |10||style="background: #60FF60;" |7||style="background: #60FF60;" |10||style="background: #60FF60;" |9||style="background: #60FF60;" |10||style="background: #60FF60;" |9||style="background: #60FF60;" |9||style="background: #00FFFF;" |8,6||style="background: #60FF60;" |8||style="background: #60FF60;" |10||style="background: #60FF60;" |10||style="background: #60FF60;" |10||style="background: #60FF60;" |7||style="background: #60FF60;" |7||style="background: #00FFFF;" |8,0||style="background: #60FF60;" |8,4||style="background: #00FFFF;" |'''9'''||style="background: #60FF60;" |APROVADO
 
|-
 
|-
| BYE || Termina uma sessão previamente estabelecida
+
|'''201921700677'''||style="background: #60FF60;" |7||style="background: #60FF60;" |10||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FFFF60;" |5||style="background: #FF6060;" |0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |1,3||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |0,0||style="background: #FFFF60;" |0,8||style="background: #00FFFF;" |'''1'''||style="background: #FF6060;" |REPROVADO
 
|-
 
|-
| CANCEL|| Encerra tentativas de chamadas
+
|'''201821004732'''||style="background: #60FF60;" |7||style="background: #FFFF60;" |3||style="background: #60FF60;" |7||style="background: #60FF60;" |10||style="background: #60FF60;" |10||style="background: #FF6060;" |0||style="background: #60FF60;" |8||style="background: #60FF60;" |6||style="background: #60FF60;" |6||style="background: #00FFFF;" |6,2||style="background: #60FF60;" |10||style="background: #60FF60;" |10||style="background: #60FF60;" |10||style="background: #60FF60;" |8||style="background: #60FF60;" |9||style="background: #60FF60;" |9||style="background: #00FFFF;" |9,2||style="background: #60FF60;" |7,4||style="background: #00FFFF;" |'''8'''||style="background: #60FF60;" |APROVADO
 
|-
 
|-
| OPTIONS|| Consulta um agente sobre suas capacidades
+
|'''201811101500'''||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FFFF60;" |2||style="background: #FF6060;" |0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |0,1||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |0,0||style="background: #FFFF60;" |0,1||style="background: #00FFFF;" |'''0'''||style="background: #FF6060;" |REPROVADO
 
|-
 
|-
|}
+
|'''201811103461'''||style="background: #FFFF60;" |5||style="background: #FFFF60;" |2||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FFFF60;" |4||style="background: #FF6060;" |0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |0,6||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |0,0||style="background: #FFFF60;" |0,4||style="background: #00FFFF;" |'''1'''||style="background: #FF6060;" |REPROVADO
''Tabela de métodos SIP (não exaustiva ... apenas os principais métodos)''
 
 
 
 
 
{| border="1" cellpadding="2"
 
!Cabeçalho SIP
 
!Descrição
 
!Obrigatoriedade
 
!Uso
 
 
|-
 
|-
|''Via'' ||Registra a rota seguida por uma requisição, sendo usado para que respostas sigam o caminho inverso || Requisição e resposta ||Requisição e resposta
+
|'''202011001037'''||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |0,0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |0,0||style="background: #FF6060;" |0,0||style="background: #00FFFF;" |'''0'''||style="background: #FF6060;" |REPROVADO
 
|-
 
|-
|''To'' || Identifica o destinatário de uma requisição ||Requisição e resposta||Requisição e resposta
+
|'''201811103494'''||style="background: #FFFF60;" |5||style="background: #FFFF60;" |4||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FFFF60;" |4||style="background: #FF6060;" |0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |0,7||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |0,0||style="background: #FFFF60;" |0,4||style="background: #00FFFF;" |'''1'''||style="background: #FF6060;" |REPROVADO
 
|-
 
|-
|''From''||Identifica o originador da requisição ||Requisição e resposta||Requisição e resposta
+
|'''201911901927'''||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #60FF60;" |6||style="background: #FF6060;" |0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |0,3||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FF6060;" |0||style="background: #FFFF60;" |4||0||style="background: #FFFF60;" |0||style="background: #00FFFF;" |0,4||style="background: #FFFF60;" |0,3||style="background: #00FFFF;" |'''0'''||style="background: #FF6060;" |REPROVADO
 
|-
 
|-
|''Call-Id''||Identifica univocamente uma chamada entre um UAC e um UAS. || Requisição e resposta||Requisição e resposta
+
|}
|-
+
;ATENÇÃO - MÉDIA FINAL = 60% NF A1 + 40% NF A2 ; '''NOTA FINAL''' – SOMENTE NO ÚLTIMO DIA LETIVO DO SEMESTRE <br>
|''CSeq'' ||Numera as requisições de uma mesma chamada de um mesmo UAC || Requisição ||Requisição e resposta
+
{| border="1" cellpadding="5" cellspacing="5" style="text-align: center;"
|-
+
|+ Escala das Notas
|''Contact'' || Identifica o originador da requisição ou o recurso requisitado|| ||Requisição e resposta
 
|-
 
|''Max-Forwards'' ||Máximo número de saltos que a requisição pode atravessar || Requisição||Requisição
 
|-
 
|''Content-Length'' || Informa a quantidade de bytes do corpo da mensagem|| ||Requisição e resposta
 
|-
 
|''Date'' || Informa a data e horário de uma requisição ou resposta|| ||Requisição e resposta
 
 
|-
 
|-
|''Supported'' || Lista uma ou mais opções suportadas por um UAC ou UAS|| ||Requisição e resposta
+
!style="background: #FF6060;" |=0,0 Atividade NÃO executada
 +
!style="background: #FFFF60;" |<6,0 Prejudicando MÉDIA FINAL
 +
!style="background: #60FF60;" |>=6,0 Quanto maior, melhor!
 +
!style="background: #00FFFF;" |Principais Notas -> SIGAA
 
|-
 
|-
|''User-Agent'' || Informa sobre o agente (o programa) originador de uma requisição || ||
 
|-
 
|''Allow'' ||Informa os métodos SIP aceitos pelo UAS || ||Resposta
 
|-
 
|''Content-type''||Informa o tipo de conteúdo contido no corpo da mensagem || ||
 
|-
 
|''WWW-Authenticate''||Informa que o UAC deve se autenticar para o UAS (e como isso deve ser feito) || || Resposta
 
|-
 
|''Authorization''||Contém as credenciais para autenticar o UAC para o UAS || || Requisição
 
 
|}
 
|}
''Tabela de cabeçalhos SIP (não exaustiva ... apenas os principais cabeçalhos)''
+
;LEGENDA - DESCRIÇÃO E CRONOGRAMA DAS AVALIAÇÕES (Conforme nosso DIÁRIO DE AULAS)
 +
* '''AE1''' - Atividade SIGAA: QUESTIONÁRIO - Internetworking Básico
 +
* '''AE2''' - Atividade SIGAA: QUESTIONARIO - Arquitetura de redes de computadores
 +
* '''AE3''' - Atividade SIGAA: QUESTIONÁRIO - Protocolo HTTP
 +
* '''AE4''' - Atividade SIGAA: QUESTIONÁRIO - Fundamentos de DNS
 +
* '''AE5''' - Atividade SIGAA: QUESTIONÁRIO - Protocolos básicos da aplicação de EMAIL
 +
* '''AE6''' - Atividade SIGAA: TAREFA - Captura e análise de Pacotes de DNS
 +
* '''AE7''' - Atividade SIGAA: QUESTIONÁRIO - Camada de transporte - Protocolos TCP e UDP
 +
* '''AE8''' - Atividade SIGAA: QUESTIONÁRIO - Camada de Rede
 +
* '''AE9''' - Atividade SIGAA: TAREFA - Divisão em Subredes
  
==== Diagramas de chamadas ====
 
  
Alguns tipos de chamadas VoIP com SIP são recorrentes, estando representadas nas subseções a seguir.
 
  
===== Chamada direta entre dois agentes SIP =====
+
<br> Toda vez que você encontrar a marcação <math>\blacklozenge</math> ao lado de alguma atividade, significa que essa atividade estará sendo computada na avaliação como uma AEn. O prazo estabelecido para entrega de 15 (quinze) dias estará destacado na publicação via SIGAAA. Portanto, não perca o prazo limite para entrega. '''Atividades entregues fora do prazo terão podem implicar em cancelamento de matrícula do aluno por desistência''' conforme prevê nossa RDP;
  
Uma chamada direta entre dois agentes envolve uma transação INVITE, em que um agente convida o outro a estabelecer uma sessão SIP com um determinado tipo de media (ex: audio). A chamada é finalizada quando um dos agentes inicia uma transação BYE.
+
=Material de Apoio=
  
<syntaxhighlight lang=text>
+
;Recursos pedagógicos previstos (1 ou mais) em cada dia de aula:
Fone 1                   Fone 2
 
    |                        |
 
    |      INVITE          |
 
    |----------------------->|
 
    |    180 Ringing        |
 
    |<-----------------------|
 
    |                        |
 
    |      200 OK          |
 
    |<-----------------------|
 
    |        ACK            |
 
    |----------------------->|
 
    |      RTP Media        |
 
    |<======================>|
 
    |                        |
 
    |        BYE            |
 
    |<-----------------------|
 
    |      200 OK          |
 
    |----------------------->|
 
    |                        |
 
</syntaxhighlight>
 
  
===== Chamada entre dois agentes SIP com intermediação de um gateway de media =====
+
* Apostilas e Tutoriais
 +
* Apresentação de Slides
 +
* Glossários de Conceitos
 +
* Manuais e outros
 +
* Videoaulas assíncronas
 +
* Vídeos de apoio
 +
* Links de apoio
  
Este caso é parecido com o anterior, que usa um proxy SIP. A diferença está na intermediação do fluxo de media, que é feita pelo gateway de media. Isso possibilita que dois agentes estabeleçam uma chamada mesmo usando codecs diferentes, pois o gateway de media fará a tradução entre codecs.
+
; Ferramentas para Atividades Interativas e Exercícios Colaborativos
  
<syntaxhighlight lang=text>
+
* Mapas conceituais com [https://www.mindmeister.com/pt MINDMEISTER]
Fone 1            PBX IP              Fone 2
+
* Editor de texto com [https://www.google.com/intl/pt-BR/docs/about/ Google Docs]
              (directmedia=no)       
+
* Interativos com [https://kahoot.it/ Kahoot]
    |                |                |
+
* Avaliativos com [https://www.menti.com/ Mentimeter]
    |  INVITE      |                |
 
    |--------------->|  INVITE      |
 
    |  100 Trying    |--------------->|
 
    |<---------------|  100 Trying    |
 
    |                |<---------------|
 
    |                |  180 Ringing  |
 
    |  180 Ringing  |<---------------|               
 
    |<---------------|                |     
 
    |                |    200 Ok      |
 
    |    200 Ok    |<---------------|
 
    |<---------------|                |
 
    |    ACK        |                |
 
    |--------------->|    ACK        |
 
    |                |--------------->|
 
    |    RTP Media  |  RTP Media    |
 
    |<==============>|<==============>|
 
    |    BYE        |                |
 
    |--------------->|    BYE        |
 
    |                |--------------->|
 
    |                |    200 Ok      |
 
    |    200 Ok    |<---------------|
 
    |<---------------|                |
 
    |                |                |
 
</syntaxhighlight>
 
  
=== Protocolo RTP ===
+
= Bibliografia Básica =
  
* [http://tele.sj.ifsc.edu.br/~msobral/rmu/slides/aula-22.pdf Transparências]
+
* ''Redes de Computadores e a Internet, 5a edição'', de James Kurose.
* [http://www.cs.columbia.edu/~hgs/rtp/faq.html Uma FAQ sobre RTP (muito boa)]
 
* [http://tools.ietf.org/html/rfc3550 RFC 3550: RTP: A Transport Protocol for Real-Time Applications]
 
* [http://tele.sj.ifsc.edu.br/~msobral/rmu/voip/rtp.pdf Capítulo 11 do livro ''SIP: Understanding the Session Initiation Protocol, 3rd ed'']
 
* Cap. 7 do livro ''Redes de Computadores e a Internet, 5a edição'', de James Kurose.
 
  
 +
Para pesquisar o acervo das bibliotecas do IFSC:
 +
* [http://biblioteca.ifsc.edu.br/sophia/ Acesso ao acervo da Biblioteca do IFSC]
  
O protocolo RTP (''Real-Time Protocol'') foi desenvolvido para possibilitar o transporte de datagramas de tempo-real contendo voz, video, ou outro tipo de dados, sobre IP. Tanto H.323 quanto o modelo SIP usam RTP para o transporte de media, tornando-o o padrão mais comum para comunicações desse tipo na Internet. Apesar desse protocolo não prover qualidade de serviço (i.e. ele não possui mecanismos para atender tais tipos de requisitos), ele torna possível a detecção de alguns dos problemas introduzidos por uma rede IP, tais como:
+
== Softwares e Links úteis ==
* ''Perda de pacotes ''
 
* ''Atraso fim-a-fim variável''
 
* ''Chegada de pacotes fora de ordem''
 
 
  
O RTP se apresenta assim como um '''protocolo que dá subsídios para as técnicas que buscam atender requisitos de qualidade de serviço'''. Esses subsídios são informações providas pelo RTP para ajudar a identificar os problemas citados acima, as quais são:
+
* [https://www.sejda.com/pdf-editor editor de PDF]:
* ''Identificação do tipo do conteúdo que está sendo carregado (codec)'': isso informa ao receptor como ele deve decodificar o conteúdo transportado (ver esta [http://en.wikipedia.org/wiki/RTP_audio_video_profile tabela de identificadores de codec usados pelo RTP])
 
* ''Numeração de sequência'': essa informação possibilita identificar pacotes perdidos ou fora de ordem.
 
* ''Marcação de tempo (timestamp)'': com isso é possível efetuar o cálculo de variação de atraso e implementar algum mecanismo de  sincronização com a fonte (ex: atraso de reprodução).
 
  
 +
=Diário de aulas RCO11102 - 2021-1 - Prof. Jorge H. B. Casagrande=
  
Essas informações fazem parte da PDU RTP, como se pode ver a seguir:
+
;LEGENDA DAS CORES NO PLANO DE CADA AULA (clique em "expandir" para ver os OBJETIVOS de cada aula):
  
{| border="1" cellpadding="2"
+
{| border="1" cellpadding="5" cellspacing="5"
!Localização do RTP na camada de transporte
+
|- '''A primeira data à esquerda refere-se ao plano de ensino original registrado no SIGAA'''
!Cabeçalho RTP
+
|-
 +
! colspan="2" style="background: #ccffcc;" | Aulas previstas para serem realizadas em ANP (Atividades Não presenciais)
 +
|-
 +
! colspan="2" style="background: #00ff00;" | Aulas realizadas em ANP para cumprir o plano de ensino original
 +
|-
 +
! colspan="2" style="background: #ffd700;" | Aulas previstas para serem realizadas presencialmente
 +
|-
 +
! colspan="2" style="background: #dcdcdc;" | Aulas não realizadas (ANP ou presencialmente)
 +
|-
 +
! colspan="2" style="background: #00ffff;" | Aulas realizadas presencialmente
 
|-
 
|-
|[[imagem:Rtp1.png|200px]] ||[[imagem:Tip-Rtp-header.png|500px]]
 
 
|}
 
|}
  
 +
== 13/05- ANP - Apresentação da disciplina e plano de ensino ==
  
[[imagem:Tip-Rtp-avp.png]]
+
{{Collapse top | Aula 1 |bg=#00ff00}}
<br>''Perfil RTP/AVP, com codecs e seus códigos numéricos''
 
  
==== RTCP ====
+
;OBJETIVOS DA AULA
  
Além do RTP, o protocolo auxiliar RTCP (''Real-Time Control Protocol'', também definido na [http://tools.ietf.org/html/rfc3550 RFC 3550]) foi definido para o '''monitoramento da entrega dos pacotes''' (recepção da stream). Com esse protocolo, os participantes de uma sessão de media podem fazer o intercâmbio de relatórios e estatísticas. Cada tipo de relatório é transportado por um tipo de pacote RTCP. O uso de relatórios possibilita o ''feedback'' sobre a qualidade da comunicação, incluindo informações como:
+
* Apresentação da disciplina e plano de ensino bem como os critérios de avaliação;
* Número de pacotes enviados e recebidos
 
* Número de pacotes perdidos
 
* ''Jitter'' (variação de atraso)
 
  
Os cinco tipos de relatórios são:
 
* Relatório do transmissor (''Sender Report - SR'')
 
* Relatório do receptor (''Receiver Report - RR'')
 
* Descrição da fonte (''Source Description - SDES'')
 
* ''Bye''
 
* Específico da aplicação (''Application Specific - APP'')
 
  
Como o tráfego RTCP é puramente overhead, o protocolo foi projetado para que seu consumo da capacidade da rede seja constante, não importa quantos participantes da sessão de media existam. A ideia é que quanto mais participantes houver, menos frequentemente os relatórios RTCP são enviados. Por exemplo, se em uma conferência houver somente dois participantes, os relatórios podem ser enviados a cada 5 segundos. Se houver quatro participantes, os relatórios são enviados a cada 10 segundos. Com isso o consumo de banda para relatórios se mantém constante e previsível.
+
{{Collapse bottom}}
  
=== Atividade 1: Ligação SIP ponto a ponto===
+
== 15/05- ANP - Contextualização de Internetworking ==
  
O primeiro experimento com uma chamada VoIP envolve estabelecer uma chamada diretamente entre dois ''softphones''. Cada par de alunos deve fazer o seguinte:
+
{{Collapse top | Aula 2 | bg=#00ff00}}
  
# Executar o [http://jitsi.org/ Jitsi] (ver em ''Aplicativos->Internet''). Se não estiver instalado, baixe a seguinte [https://download.jitsi.org/jitsi/debian/jitsi_2.4.4997-1_i386.deb versão para Ubuntu 12.04 i386].
+
;OBJETIVOS DA AULA
# Definir uma conta SIP contendo somente um identificador de usuário (sem a localização).
 
# Um dos alunos deve iniciar uma chamada para o outro aluno, que deve atendê-la. Deve-se identificar o aluno chamado por: <syntaxhighlight lang=text>
 
identificador@foneX.redes2.sj.ifsc.edu.br
 
</syntaxhighlight>... sendo X o número do computador em que está o colega chamado.
 
# Experimente falar ao microfone e escutar o som no fone de ouvido.
 
# Encerre a chamada.
 
  
 +
* situar a organização geral da infraestrutura de Internetworking;
 +
* diferenciar abrangências de WAN, MAN e lAN;
 +
* situar PoP e ISP locais, regionais e nacionais;
 +
* compreender a necessidade de Padronização das redes e suas Interconexões
  
A sequência de passos acima estabelece uma chamada VoIP do tipo mais simples possível. Para ver os detalhes da comunicação entre os softphones faça o seguinte:
+
;MATERIAL DE APOIO
# Execute o wireshark e inicie a captura de datagramas UDP pela interface eth0.
 
# Repita a chamada.
 
# Após encerrar a chamada, analise mensagens SIP no wireshark (menu ''Telephony -> Voip Calls -> Graph'')
 
# Disseque a sinalização SIP entre os softphones.
 
# Identifique como foi transportada a voz digitalizada.
 
  
 +
* [[media:RCO11102-150521.pdf | Anotações realizadas em aula]]
  
'''Questões:'''
+
;CONTEÚDO ADICIONAL
# Quem foram o UAC e UAS nesse experimento ?
 
# Quantas requisições SIP foram realizadas para uma chamada completa ?
 
# Quantas mensagens, transações, diálogos e chamadas foram realizadas ?
 
# Que protocolo de transporte é usado pelo SIP ?
 
# Como a voz digitalizada foi transportada ? Foi usado algum protocolo em especial ?
 
  
 +
Uma vez que foi esclarecido todos os pontos na apresentação da disciplina, seu plano de ensino e os critérios de avaliação, vamos entrar no universo das redes de computadores de uma forma mais abrangente. Nos próximos capítulos vamos conhecer as redes do ponto de vista de fora (das WANs) para dentro (das LANs)
  
=== Atividade 2: chamada intermediada por um soft PBX ===
+
=== As redes de computadores na visão de "fora para dentro" ===
  
''Obs:'' para esta atividade cada aluno tem duas contas SIP: 1XX@192.168.3.1 e 2XX@192.168.3.1 (''XX'' é o número do seu computador, e deve estar entre 01 e 14).
+
Vamos avaliar como é um cenário genérico de como as redes totalmente interconectadas pelos provedores de serviços de telecomunicações, conectam nossas necessidades de comunicação com o mundo externo. Leia este [https://drive.google.com/file/d/12xLzV76_7qmib5yp7z9JpS4twj0_lru0/view?usp=sharing capítulo de uma dissertação da PUC-RIO sobre os meios de transmissão dentro das redes].
  
1. Execute o softphone ''jitsi'', configurando-o para registrar no soft PBX. Isso é feito especificando a conta SIP da seguinte forma (exemplo com o identificador SIP 102): <syntaxhighlight lang=text>
+
Leia também o primeiro capítulo da [http://wiki.sj.ifsc.edu.br/images/2/2d/ApostilaRedes2010.pdf Apostila de Redes de Computadores do Prof. Evandro Cantú] para complementar as explicações em sala de aula.
102@192.168.3.1
 
</syntaxhighlight>
 
  
2. A partir do softphone faça uma chamada para uma conta de um colega. Verifique se o softphone IP acusou o recebimento de chamada. Caso isso não tenha ocorrido, verifique sua configuração.
 
  
4. Execute o wireshark, e ponha-o em modo de captura na interface ''eth0''.
+
{{Collapse bottom}}
  
5. Repita a chamada de um softphone a outro. No destinatário, atenda a chamada e alguns segundos depois encerre-a.
+
== 20/05- ANP - <math>\blacklozenge</math> AE1 - Conceitos importantes de redes de computadores ==
  
6. No wireshark interrompa a captura, e em seguida acesse o menu ''Telephony->VoIP Calls''. Selecione uma chamada, e visualize o diagrama de mensagens SIP. Siga cada mensagem SIP (clique no diagrama), e observe a mensagem selecionada no painel de captura do wireshark. Identifique as transações (observe os códigos de resposta) e os diálogos. Você pode usar [[RMU-2013-1#Diagramas_de_chamadas|estes diagramas]] para se guiar.
+
{{Collapse top | Aula 3 | bg=#00ff00}}
  
'''Questões:'''
+
;OBJETIVOS DA AULA
# Que papel desempenhou o Asterisk para os softphones? UAC, UAC ou algo diferente?
 
# Como o Asterisk conseguiu identificar o telefone chamado (i.e. localizar onde ele estava na rede)?
 
  
 +
* Apropriar de conceitos importantes no universo de redes de computadores;
  
Obs.: Quem quiser realizar este teste em casa, veja este tutorial simples sobre [http://sflphone.org/howto/install-and-configure-basic-asterisk-server como configurar um PBX IP Asterisk no Ubuntu].
+
;CONTEÚDO RELACIONADO
  
== 13/10: Revisão de protocolos de aplicação ==
+
;MATERIAL DE APOIO
  
Realizamos testes com captura e análise de pacotes.
+
* [[media:RCO11102-200521.pdf | Anotações realizadas em aula]]
  
 +
;AVALIAÇÃO
  
Capturas exemplo:
+
* <math>\blacklozenge</math> AE1 - QUESTIONÁRIO SIGAA - Fundamentos de Internetworking
* [http://wiki.wireshark.org/SampleCaptures?action=AttachFile&do=get&target=http_with_jpegs.cap.gz HTTP]
 
* [http://wiki.xplico.org/lib/exe/fetch.php?media=pcap:xplico.org_sample_capture_ftp.pcap FTP]
 
* [http://wiki.wireshark.org/SampleCaptures?action=AttachFile&do=get&target=smtp.pcap SMTP]
 
* [http://wiki.xplico.org/lib/exe/fetch.php?media=pcap:xplico.org_sample_capture_pop3_must_use_xplico_nc.cfg.pcap POP3]
 
* [http://wiki.wireshark.org/SampleCaptures?action=AttachFile&do=get&target=imap.cap.gz IMAP]
 
* [http://wiki.wireshark.org/SampleCaptures?action=AttachFile&do=get&target=dns.cap DNS]
 
* [http://wiki.wireshark.org/SampleCaptures?action=AttachFile&do=get&target=SIP_CALL_RTP_G711 SIP+RTP]
 
* [http://wiki.wireshark.org/SampleCaptures?action=AttachFile&do=get&target=BITTORRENT.pcap BitTorrent]
 
  
 +
Acesse o SIGAA e abra o QUESTIONÁRIO associado a aula de hoje e da semana anterior. Ele está dentro das atividades da turma. A atividade é simples: releia os materiais de referência e reveja as referidas videoaulas gravadas. Assim você terá condições de responder as questões aleatoriamente formuladas para avaliar seu entendimento do assunto.
  
== 20/10: Revisão de análise de protocolos e Avaliação 2 ==
 
  
=== Revisão ===
 
  
Analisaremos as seguintes capturas em sala:
+
{{Collapse bottom}}
  
* [http://wiki.wireshark.org/SampleCaptures?action=AttachFile&do=get&target=http_with_jpegs.cap.gz HTTP]
+
== 27/05- ANP - <math>\blacklozenge</math> AE2 - Arquitetura de redes de computadores em camadas ==
* [http://wiki.xplico.org/lib/exe/fetch.php?media=pcap:xplico.org_sample_capture_ftp.pcap FTP]
 
* [http://wiki.wireshark.org/SampleCaptures?action=AttachFile&do=get&target=smtp.pcap SMTP]
 
* [http://wiki.xplico.org/lib/exe/fetch.php?media=pcap:xplico.org_sample_capture_pop3_must_use_xplico_nc.cfg.pcap POP3]
 
* [http://wiki.wireshark.org/SampleCaptures?action=AttachFile&do=get&target=dns.cap DNS]
 
  
 +
{{Collapse top | Aula 4 | bg=#00ff00}}
  
=== Avaliação 2 ===
+
;OBJETIVOS DA AULA
  
Utilize o arquivo abaixo para executar a prova distribuída pelo professor:
+
* Apropriar de conceitos importantes no universo de redes de computadores (continuação);
 +
* Compreender a necessidade da arquitetura em camadas das redes de computadores.
  
* [https://www.dropbox.com/s/9hkxhrku3qm35ay/2014_2-rco11102-exam2.pcap?dl=0 Arquivo de captura para prova]
+
;MATERIAL DE APOIO
  
 +
* [https://docs.google.com/document/d/13ybBVhd334mCd3yvRPQQLKkPzDkegdjW8GxlZyCtRhA/edit Conteúdo de apoio]
  
== 31/10: Camada de Transporte ==
+
;AVALIAÇÃO
  
* slides ([[Arquivo:RCO-semprebom-cap3.pdf]])
+
* <math>\blacklozenge</math> AE2 - QUESTIONÁRIO SIGAA - Arquitetura de redes de computadores em camadas |
  
Até o momento nos concentramos nas aplicações de rede. Afinal, são elas que usamos para nos comunicarmos através das redes de computadores. No entanto, aplicações dependem de outros protocolos para poderem se comunicar, os quais cuidam dos detalhes envolvidos na transmissão e recepção de mensagens em uma rede vasta como a Internet.
+
Acesse o SIGAA e abra o QUESTIONÁRIO associado a aula de hoje e da semana anterior. Ele está dentro das atividades da turma. A atividade é simples: releia os materiais de referência e reveja as referidas videoaulas gravadas. Assim você terá condições de responder as questões aleatoriamente formuladas para avaliar seu entendimento do assunto.
  
As aplicações se comunicam por meio de mensagens. Cada protocolo de aplicação (HTTP, POP3, DNS, IMAP, SMTP, SIP, ...) tem seu formato de mensagem. Essas mensagens podem ser pequenas (ex: DNS, SIP) ou por vezes grandes (ex: SMTP, HTTP, POP3). De qualquer forma, a aplicação precisa que suas mensagens sejam transmitidas para o outro participante da comunicação, que está em um computador remoto. Para isso ela usa um '''protocolo de transporte'''.
+
{{Collapse bottom}}
  
 +
== 10/06 - ANP - Os protocolos da Camada de Aplicação ==
  
[[imagem:Res-Camadas-protocolos.png]]
+
{{Collapse top | Aula 5| bg=#00ff00}}
<br>''Algumas aplicações e protocolos de transporte na Internet''
 
  
 +
;OBJETIVOS DA AULA
  
Como já discutido, mais de uma aplicação pode existir em um mesmo computador. Por isso, uma das principais atribuições de um protocolo de transporte é identificar de qual aplicação é uma mensagem a ser transmitida, e para qual aplicação se destina uma mensagem recebida. Deve-se ter em mente que uma aplicação é representada por um programa em execução em um computador, portanto um protocolo de transporte possibilita a comunicação entre processos que estão sendo executados usualmente em computadores diferentes. Em nossas discussões anteriores chamamos isso de ''classificação das mensagens'', mas o termo usado para expressar essa capacidade dos protocolos de transporte é '''multiplexação'''. No caso específico dos protocolos de transporte da Internet (TCP e UDP), um número de porta é usado para fazer essa distinção, e por isso essa função é denominada '''multiplexação baseada em porta'''.
+
* Compreender as características e papel da camada de aplicação
 +
* Praticar alguns comandos básicos de diagnósticos de redes de computadores
  
<syntaxhighlight lang=text>
+
;MATERIAL DE APOIO
Uma comunicação entre aplicações é composta basicamente de duas informações principais: endereços dos hosts participantes
 
e números de porta dos processos. Os endereços são responsabilidade da Camada de Rede (onde há o protocolo IP), e os números
 
de porta são usados na Camada de Transporte (onde estão os protocolos TCP e UDP).
 
</syntaxhighlight>
 
  
Mas por que existem dois protocolos de transporte ? Talvez ajude a esclarecer essa questão se compararmos as necessidades das aplicações:
+
<!--* [https://docs.google.com/document/d/13yBVhd334Cd3yvRPQQLKkPzDkegdjW8GxlZyCthA/edit GLOSSÁRIO CAMADA DE APLICAÇÃO]-->
 +
* [https://docs.google.com/document/d/1a91NP21ZUm4XeLv8Q9CnbmOGXFswmaZc8sSunro2aIA/edit?usp=sharing LISTA DE EMAILS DA TURMA]
 +
* [https://docs.google.com/document/d/1i98p4MpUrRG---QLCd7wvkJnycd1ObMVz7I86kFfIZM/edit# ORIENTAÇÕES PARA INSTALAÇÃO X2GO CLIENT]
 +
* [https://docs.google.com/document/d/1VXMfRfGOujP3TqAIiLAm0XfMSfl1XrMxi_FCZVbEJaQ/edit# ORIENTAÇÕES PARA INSTALAÇÃO DA MÁQUINA VIRTUAL VIRTUALBOX E SIMULADOR IMUNES]
 +
*[[media:cap2kuroseC1.pdf | Protocolos da Camada de Aplicação]]
 +
* [[Comandos básicos de diagnósticos de redes e interpretações de resultados]]
 +
* [http://tele.sj.ifsc.edu.br/~casagrande/TIP/Ubuntu-Servidor-18.04.ova Maquina virtual com Ubuntu Server Debian Mate 9 e Asterisk (1,3 GB)]
 +
* [http://tele.sj.ifsc.edu.br/~casagrande/TIP/Ubuntu-Grafico-18.04.ova Maquina virtual com Ubuntu Gráfico Debian Mate 9 e Asterisk (3.4 GB)]
  
{| border="1"
 
!Aplicação
 
!Tolerância a perdas
 
!Tolerância a atrasos
 
!Tamanhos de mensagens
 
|-
 
|HTTP || baixa || média|| variável ... podem ser muito grandes (de poucos bytes a centenas de megabytes ou mais)
 
|-
 
|SMTP || baixa || alta || variável ... podem ser grandes (de centenas bytes a alguns megabytes)
 
|-
 
|DNS || média|| baixa|| pequenas (algumas centenas de bytes)
 
|-
 
|POP3 || baixa || média|| variável ... podem ser grandes (de centenas bytes a alguns megabytes)
 
|-
 
|SIP || média|| média|| pequenas (algumas centenas de bytes)
 
|-
 
|VoIP || média|| baixa|| pequenas (tipicamente < 164 bytes)
 
|}
 
  
Durante o projeto e aperfeiçoamento dos protocolos da Internet, convergiu-se para a definição de dois protocolos de transporte:
+
{{Collapse bottom}}
* '''TCP (ver [https://tools.ietf.org/html/rfc793 RFC 793])''': protocolo orientado a conexão, com garantia de entrega, controle de fluxo e controle de congestionamento.
 
* '''UDP (ver [https://tools.ietf.org/html/rfc768 RFC 768])''': protocolo orientado a datagrama (não há conexão), sem garantia de entrega ou qualquer outra verificação ou controle. Basicamente faz somente a multiplexação baseada em porta.
 
  
'''Curiosidade:''' veja os anos em que foram publicados as especificações desses protocolos ...
+
== 17/06 - ANP - <math>\blacklozenge</math> AE3 - Da teoria à pratica do protocolo HTTP ==
  
As diferenças entre eles serão melhor detalhadas adiante. Hoje faremos alguns experimentos para ter uma ideia de como se comportam as comunicações feitas com esses protocolos.
+
{{Collapse top | Aula 6| bg=#00ff00}}
  
=== Atividade ===
+
;OBJETIVOS DA AULA
  
<!-- Realizar experimentos para mostrar as características de uma comunicação com TCP. Nesse primeiro momento não se entra a fundo nos seus mecanismos, tampouco na estrutura de cabeçalho. Deve-se porém evidenciar seu comportamento quanto a:
+
* Realizar Exercícios com conteúdos visto até aqui.
* Estabelecimento de conexão
+
* Analisar o Protocolo da camada de aplicação HTTP com sniffer de rede (Wireshark)
* Vazão dependente da capacidade disponível na rede
 
* Compartilhamento de banda entre diversas streams TCP simultâneas
 
* Tratamento de erros: o que acontece se segmentos TCP forem perdidos
 
Um problema pode ser apresentado ao final, de forma que a turma tente resolvê-lo experimentalmente.
 
-->
 
  
As atividades de hoje buscarão mostrar as características básicas de comunicações com protocolos de transporte.
+
;MATERIAL DE APOIO
  
==== Aplicações e protocolos de transporte ====
+
* [https://docs.google.com/document/d/1a91NP21ZUm4XeLv8Q9CnbmOGXFswmaZc8sSunro2aIA/edit?usp=sharing LISTA DE EMAILS DA TURMA]
  
Faça uma rápida pesquisa e descubra que protocolos de transporte (e que portas) são usados por estas aplicações:
+
*[[media:cap2kuroseC1.pdf | Protocolos da Camada de Aplicação]]
* SSH
 
* FTP
 
* BitTorrent
 
* emule
 
* WINS
 
* Compartilhamento de arquivos do Windows
 
* Windows Terminal Service
 
* NFS
 
* Openvpn
 
* RADIUS
 
* DHCP
 
* SNMP
 
* NTP
 
* LDAP
 
* Mysql
 
* Postgresql
 
* Oracle RDBMS
 
* Syslog
 
* CUPS
 
  
Que protocolo de transporte predomina nesse conjunto ?
+
* [[ROTEIRO SOBRE USO DO WIRESHARK]]
  
==== Tipos de protocolos de transporte: TCP x UDP ====
+
* [https://tableless.github.io/iniciantes/manual/html/oquetags.html UM TUTORIAL BÁSICO DE HTML PARA CRIAR SUA PÁGINA WEB]
  
Nestes experimentos, serão evidenciadas diferenças entre os protocolos TCP e UDP.
+
* O '''scp (Secure Copy)''' é uma maneira segura de fazer cópias de arquivos e diretórios usando o protocolo SSH. [https://www.youtube.com/watch?v=V6r8t_nlV7U Assista esse vídeo da Bóson Treinamentos sobre como usar o comando scp]
  
===== Experimento 1 =====
 
  
Ambos protocolos de transporte podem ser usados por aplicações que precisem se comunicar. Porém cada um deles têm certas propriedades, então a escolha precisa ser feita dependendo do tipo de comunicação a ser feita pela aplicação. Por exemplo, o que aconteceria se um arquivo fosse transferido de um computador a outro com ambos protocolos ?
+
;AVALIAÇÃO
  
# Abra um terminal e execute o seguinte comando para fazer o download de um arquivo a ser usado no experimento: <syntaxhighlight lang=bash>
+
* <math>\blacklozenge</math> AE3 - QUESTIONÁRIO SIGAA - O protocolo HTTP na camada de aplicação |
wget http://tele.sj.ifsc.edu.br/~msobral/res/ubuntu.iso
 
</syntaxhighlight>
 
# Observe o tamanho do arquivo transferido ... ele deve ter exatamente 209715200 bytes (cerca de 200 MB). Você pode fazer isso com o comando ''ls -l ubuntu.iso'', ou executando o gerenciador de arquivos e visualizando as propriedades desse arquivo.
 
# Escolha um colega para fazer o experimento, em que o arquivo será transferido de um computador para o outro.
 
# A primeira transferência será feita usando o protocolo TCP da seguinte forma:
 
#* No computador receptor execute: <syntaxhighlight lang=bash>
 
nc -l 5555 > arquivo
 
</syntaxhighlight>
 
#* No computador transmissor execute (''X'' é o número do seu computador, visível em sua etiqueta): <syntaxhighlight lang=bash>
 
time nc 192.168.3.X 5555 < ubuntu.iso
 
</syntaxhighlight>
 
#* Quando completar a transferência, verifique o tamanho do arquivo recebido. Ele é igual ao arquivo original ? E quanto tempo levou para transmiti-lo ?
 
# A segunda transferência será feita usando o protocolo UDP:
 
#* No computador receptor faça o download [http://tele.sj.ifsc.edu.br/~msobral/res/receptor deste programa]. Em seguida acrescente a ele permissão de execução (''chmod +x receptor'').
 
#* No computador receptor execute: <syntaxhighlight lang=bash>
 
./receptor 5555 > arquivo
 
</syntaxhighlight>
 
#* No computador transmissor faça o download [http://tele.sj.ifsc.edu.br/~msobral/res/transmissor deste programa]. Em seguida acrescente a ele permissão de execução (''chmod +x transmissor'').
 
#* No computador transmissor execute (''X'' é o número do seu computador, visível em sua etiqueta): <syntaxhighlight lang=bash>
 
./transmissor 192.168.3.X 5555 < ubuntu.iso
 
</syntaxhighlight>
 
#* Quando completar a transferência, verifique o tamanho do arquivo recebido. Ele é igual ao arquivo original ? E quanto tempo levou para transmiti-lo ?
 
# Compare as transferências feitas com TCP e UDP. O que eles têm em comum ? Que diferenças lhe pareceram mais pronunciadas ? Como isso deve afetar as aplicações que usam esses protocolos ?
 
  
===== Experimento 2 =====
+
Acesse o SIGAA e abra o QUESTIONÁRIO associado a aula de hoje e da semana anterior. Ele está dentro das atividades da turma. A atividade é simples: releia os materiais de referência e reveja as referidas videoaulas gravadas. Assim você terá condições de responder as questões aleatoriamente formuladas para avaliar seu entendimento do assunto.
  
Transferências usando cada um desses protocolos podem apresentar características bem distintas. Neste segundo experimento, serão feitas transferências simultâneas de arquivos a partir de um mesmo servidor, comparando-se o resultado obtido com TCP e UDP. Essas transferência ocorrerão entre os computadores do laboratório e um servidor externo ao laboratório, como mostrado na figura abaixo:
 
  
 +
{{Collapse bottom}}
  
[[imagem:Res-Exp2-transporte.png]]
+
== 24/06 - ANP - <math>\blacklozenge</math> '''AE4''' - Resolvendo Domínios com DNS ==
  
 +
{{Collapse top | Aula 7| bg=#00ff00}}
  
# Abra um terminal em seu computador, e nele execute este comando: <syntaxhighlight lang=bash>
+
;OBJETIVOS DA AULA
wget http://tele.sj.ifsc.edu.br/~msobral/res/ubuntu.iso
 
</syntaxhighlight>
 
# Observe a taxa de transferência (velocidade do download) obtida. Que valores ela apresenta ?  Quanto tempo levou para o arquivo ser transferido ?
 
# Após todos terem copiado o arquivo, o professor irá se logar em um dos computadores do laboratório e repetir a transferência. Porém desta vez ele irá fazê-la sozinho. Que taxas ele obteve, e quanto tempo levou ?
 
# O professor irá repetir a transferência novamente, mas desta vez ele irá pedir que um aluno também a inicie logo em seguida. Qual foi a taxa obtida por ambos ?
 
# Finalmente, o professor irá repetir a transferência porém com mais dois alunos fazendo-a ao mesmo tempo. Que se pode concluir quanto a taxa de transferência obtida ?
 
# Para poder fazer uma comparação, as transferências serão feitas novamente porém usando UDP como protocolo de transporte. Para isso siga estes passos:
 
## Abra dois terminais. Em um deles execute este comando: <syntaxhighlight lang=bash>
 
watch -n 1 ls -l arquivo
 
</syntaxhighlight> ... e no outro execute: <syntaxhighlight lang=bash>
 
./receptor 5555 > arquivo
 
</syntaxhighlight>
 
## O professor irá transmitir o arquivo a partir do servidor. Observe o tamanho do arquivo, que deverá aumentar.
 
## Em que valor o tamanho do arquivo parou de crescer ? Quanto tempo isso levou, aproximadamente ? E esse tamanho final é o mesmo do arquivo original ?
 
## Como se comparam as transferências usando TCP e UDP ?
 
  
 +
* Compreender a hierarquia de domínios da rede internet com DNS
 +
* Analisar o Protocolo da camada de aplicação HTTP com sniffer de rede (Wireshark)
  
== 10/11/14: Revisão de camada de transporte e Introdução à camada de rede ==
 
  
* Revisão da camada de transporte (TCP/UDP) ([[Arquivo:RCO-semprebom-cap3.pdf]])
+
;AVALIAÇÃO
  
* Introdução à camada de rede (Redes e sub-redes IP) ([[Arquivo:RCO-semprebom-cap4.pdf]])
+
* <math>\blacklozenge</math> AE4 - QUESTIONÁRIO SIGAA
  
== 17/11/14: Avaliação 3 ==
+
Acesse o SIGAA e abra o QUESTIONÁRIO associado a aula de hoje e da semana anterior. Ele está dentro das atividades da turma. A atividade é simples: releia os materiais de referência e reveja as referidas videoaulas gravadas. Assim você terá condições de responder as questões aleatoriamente formuladas para avaliar seu entendimento do assunto.
  
*Listas de exercícios da camada de transporte:
 
** [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista4.pdf Lista de exercícios 4]
 
** [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista5.pdf Lista de exercícios 5]
 
** [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista6.pdf Lista de exercícios 6]
 
  
== 24/11/14: Roteamento estático ==
+
{{Collapse bottom}}
  
Veja neste link como funciona o [[Netkit2]]. Leia a introdução e faça a [http://wiki.sj.ifsc.edu.br/index.php/Netkit2#Instala.C3.A7.C3.A3o_autom.C3.A1tica_.28recomendada.29 instalação automática] do software.
+
== 01/07 - ANP - Práticas com DNS ==
  
 +
{{Collapse top | Aula 8| bg=#dcdcdc}}
  
===Roteamento estático===
+
OBJETIVOS DA AULA
  
Esse guia contém uma [[Netkit2#Uma_biblioteca_de_exemplos_de_experimentos|coleção de exemplos]], para que tenham ideia do que se pode fazer com o Netkit.
+
* Realizar exercícios com DNS.
 
+
   
O Netkit fica assim como opção para complementar o estudo. Ele funciona como um laboratório de redes, em que se podem criar redes como aquelas que vemos em aula  e mesmo inventar novas redes.  Seu uso se destina a fixar conceitos, para que o uso dos equipamentos reais seja facilitado.
 
 
 
Além do Netkit, o seguinte simulador de roteamento IP, que roda dentro do próprio navegador, pode ajudá-los a exercitar a divisão de subredes e a criação de rotas estáticas.
 
* [http://tele.sj.ifsc.edu.br/~msobral/IER/ipkit/ Ipkit: Simulador de encaminhamento IP]
 
 
 
==== Experimento ====
 
 
 
1. Usando o [[Netkit]] crie as seguintes redes. Não esqueça de definir as rotas estáticas.
 
  
[[imagem:Rede1-1.png|400px]]
+
'''ATENÇÃO: AULA PREVISTA MAS NÃO REALIZADA OU DILUÍDA EM OUTROS TÓPICOS DE AULA'''
{{collapse top|Arquivo do experimento}}
 
<syntaxhighlight lang=text>
 
pc1[type]=generic
 
pc2[type]=generic
 
pc3[type]=generic
 
r1[type]=gateway
 
r2[type]=gateway
 
  
pc1[eth0]=link0:ip=192.168.0.1/24
+
==Serviço de Nomes (DNS)==
pc2[eth0]=link1:ip=192.168.1.2/24
 
pc3[eth0]=link2:ip=192.168.2.3/24
 
  
r1[eth0]=link0:ip=192.168.0.254/24
+
===Leitura recomendada===
r1[eth1]=link1:ip=192.168.1.254/24
 
  
r2[eth0]=link0:ip=192.168.0.253/24
+
*[[Detalhes sobre DNS]]
r2[eth1]=link2:ip=192.168.2.254/24
 
  
pc1[default_gateway]=192.168.0.254
+
===Objetivos===
pc2[default_gateway]=192.168.1.254
+
O Domain Name System (DNS) traduz nomes de hosts em endereços Internet Protocol (IP), preenchendo uma lacuna crítica na infraestrutura da Internet. Neste laboratório, observaremos mais de perto:
pc3[default_gateway]=192.168.2.254
+
#o lado cliente do DNS e
 +
#uma pequena análise do protocolo
  
r1[route]=192.168.2.0/24:gateway=192.168.0.253
+
Lembre-se de que o papel do cliente no DNS é relativamente simples - um cliente envia uma consulta ao seu DNS, e obtém uma resposta. Muito pode acontecer “por baixo dos panos”, de forma invisível aos clientes DNS, enquanto os servidores DNS, organizados  hierarquicamente, comunicam-se entre si para, ou recursivamente ou iterativamente, resolver uma consulta DNS de um cliente. Do ponto de vista do cliente DNS, contudo, o protocolo é bastante simples - uma consulta é feita ao seu servidor DNS e uma resposta é recebida deste servidor.
r2[route]=192.168.1.0/24:gateway=192.168.0.254
 
</syntaxhighlight>
 
{{collapse bottom}}
 
  
 +
===PARTE 1: Consulta simples ao DNS gerada a partir de um comando ping===
  
 +
O comando ping pode ser usado tanto com um endereço IP como com um nome de host. Em última instância, ele sempre enviará pacotes para um endereço IP. No caso de ser usado o endereço de host, ele tentará resolver (mapear) este nome em um endereço IP usando um servidor DNS (local). Ele gera uma pergunta para o servidor (ou para os servidores, caso exista mais de um configurado). Esta experiência mostra como verificar os servidores instalados e, através de uma captura de pacote mostra a estrutura dos cabeçalhos DNS.
  
[[imagem:rco2-Rede-intro2.png|400px]]
+
#Inicialmente consulte e anote quem são os servidores DNS instados na sua máquina. É para estes servidores que serão conduzidas as perguntas DNS. Use a ferramenta nm-tool ou acesso ao arquivo de configuração do sistema:
{{collapse top|Arquivo do experimento}}
+
#: nmcli dev show | grep DNS
<syntaxhighlight lang=text>
+
#Prepare o wireshark para capturar pacotes. Feche o mozilla ou qualquer outro software de rede parar evitar tráfego DNS que possa vir a confundi-lo.
pc1[type]=generic
+
#Execute o ping para um endereço de host conhecido
pc2[type]=generic
+
#: ping www.ifsc.edu.br
pc3[type]=generic
+
#Pare a captura de pacotes no Wireshark e coloque um filtro de display para mostrar apenas mensagens DNS e de ICMP
pc4[type]=generic
+
#: dns || icmp
r1[type]=gateway
+
#Observe os pacotes capturados. Em particular foque no pacote de pergunta que deve ser similar ao mostrado abaixo e deve estar direcionado a um dos servidores DNS. Nos ''flags'' do header do pacote DNS é possível observar que é um QUERY (pergunta) a ser resolvido de forma recursiva. A pergunta propriamente dita está no campo QUERIES, onde é colocado o nome a ser resolvido e o tipo do registro solicitado (tipo A) que indica resolução de nome.
r2[type]=gateway
+
#:
r3[type]=gateway
+
#:[[Arquivo:DNS-Tela1-Wireshark.jpg | 900px| Estrutura de uma pergunta simples DNS]]
r4[type]=gateway
+
#:
 +
#:
 +
#Foque agora um pacote de resposta do servidor para o cliente. Deve ter uma estrutura similar ao mostrado abaixo. Nos flags do header do pacote DNS é possível observar que é uma resposta. A resposta propriamente dita está no campo ANSWERS (ele também repete a pergunta no campo QUERIES). Note que podem haver vários registros (RR) retornados, cada um com um tipo. No exemplo abaixo também é retornada uma lista de servidores autorizados (RR tipo NS). Também é retornado o endereço IP destes servidores através de RRs adicionais do tipo A (inclusive endereços IPv6).
 +
#:
 +
#:
 +
#:[[Arquivo:DNS-Tela2-Wireshark.jpg | 900px| Estrutura de uma resposta simples DNS]]
 +
# <span style="color: #9966CC;">Perguntas a serem respondidas, baseado nos pacotes "''Standard query''" e "''Standard query response''":
 +
##Quem são os servidores DNS da sua máquina?
 +
##O ping gerou pergunta para cada um deles?
 +
##Qual o tipo da RR associada a pergunta (''Queries''). O que significa?
 +
##Qual endereço IP retornado da solicitação da resolução de www.ifsc.edu.br?
 +
##Qual endereço IP usado no ping (ver pacote REQUEST ICMP)?
 +
##Qual protocolo de transporte, camada 4, que foi usado para transportar as mensagens de aplicação DNS?
 +
##No QUERY realizado foi solicitado consulta recursiva. O servidor aceitou esta solicitação? (ver a resposta do servidor)
 +
##Quais os servidores autorizados (''Authoritative nameservers'') foram repassados como resultado de sua consulta?
 +
#Logo após o primeiro ping existe mais uma consulta DNS. Esta pergunta é realizada através de uma mensagem do tipo PTR. O ping está tentando verificar qual é o nome da máquina que realmente está respondendo. É o DNS reverso, nesse tipo de colsulta se fornece um IP e o servidor devolve o nome da máquina.
 +
# <span style="color: #9966CC;">Perguntas a serem respondidas:
 +
##Qual o IP que se pretende resolver?
 +
##Qual o nome retornado?
 +
##O nome retornado é www.ifsc.edu.br? Sim ou não? Explique.
  
pc1[eth0]=lan1:ip=192.168.1.1/24
 
pc2[eth0]=lan2:ip=192.168.2.1/24
 
pc3[eth0]=lan3:ip=192.168.3.1/24
 
pc4[eth0]=lan4:ip=192.168.4.1/24
 
  
r1[eth0]=lan1:ip=192.168.1.254/24
+
{{Collapse bottom}}
r1[eth1]=lan2:ip=192.168.2.254/24
 
  
r2[eth0]=lan2:ip=192.168.2.253/24
+
== 08/07 - ANP - <math>\blacklozenge</math> AE5 - O Serviço de Email ==
r2[eth1]=lan3:ip=192.168.3.254/24
 
  
r3[eth0]=lan1:ip=192.168.1.253/24
+
{{Collapse top | Aula 9 | bg=#00ff00}}
r3[eth1]=lan4:ip=192.168.4.254/24
 
  
r4[eth0]=lan3:ip=192.168.3.253/24
+
;OBJETIVOS DA AULA
r4[eth1]=lan4:ip=192.168.4.253/24
 
</syntaxhighlight>
 
{{collapse bottom}}
 
  
<!--<br>[http://tele.sj.ifsc.edu.br/~msobral/RCO2/Lab2.conf Arquivo do experimento (Lab2.conf)]-->
+
* Compreender como funcionam os Protocolos de EMAIL
  
 +
;MATERIAL DE APOIO
  
[[imagem:rco2-Rede-intro3.png|350px]]
 
{{collapse top|Arquivo do experimento}}
 
<syntaxhighlight lang=text>
 
pc1[type]=generic
 
pc2[type]=generic
 
pc3[type]=generic
 
pc4[type]=generic
 
r1[type]=gateway
 
r2[type]=gateway
 
  
pc1[eth0]=lan1:ip=10.0.1.1/26
+
* [https://olhardigital.com.br/2021/08/25/reviews/aos-30-anos-o-linux-e-mais-importante-do-que-nunca/ Uma reflexão sobre a importância do LINUX em nossas vidas...] - Artigo da Olhar Digital
pc2[eth0]=lan2:ip=192.168.1.1/24
 
pc3[eth0]=lan3:ip=192.168.2.129/26
 
pc4[eth0]=lan4:ip=192.168.2.193/26
 
 
 
r1[eth0]=lan1:ip=10.0.1.62/26
 
r1[eth1]=lan2:ip=192.168.1.254/24
 
 
 
r2[eth0]=lan2:ip=192.168.1.253/24
 
r2[eth1]=lan3:ip=192.168.2.190/26
 
r2[eth2]=lan4:ip=192.168.2.254/26
 
</syntaxhighlight>
 
{{collapse bottom}}
 
  
2. Teste a comunicação entre os computadores e roteadores usando o comando ping. Use também o tcpdump ou wireshark para monitorar as interfaces de rede.
+
{{Collapse bottom}}
  
== 01/12/14: Tecnologias de redes locais ==
+
== 10/07 - ANP - <math>\blacklozenge</math> AE6 - Sábado Letivo - Flexibilização de conteúdos - '''AVALIAÇÃO E REC A1''' ==
  
* Tecnologias de redes locais e seus componentes;
+
{{Collapse top | Aula 10 | bg=#00ff00}}
* Tecnologias de redes sem fio;
 
* Laboratório redes locais e sem fio;
 
* Enlaces Ponto-a-Ponto
 
  
=== Conceituação sobre Redes Locais (LAN) ===
+
;OBJETIVOS DA AULA
  
<!-- * O problema do acesso ao meio -->
+
* Rever conteúdos e atividades avaliativas até aqui
  
==== Características e pontos-chaves ====
+
;MATERIAL DE APOIO
  
Obs: obtido de STALLINGS, 2005:
+
* Liberação da  AVALIAÇÃO E REC A1
 +
* '''Não houve aula síncrona gravada neste dia.'''
  
* Uma LAN consiste de um '''meio de transmissão compartilhado''' e um conjunto de hardware e software para servir de interface entre dispositivos e o meio de transmissão, além de regular o acesso ao meio de forma ordenada.
+
{{Collapse bottom}}
* As topologias usadas em LANs são anel (''ring''), barramento (''bus''), árvore (''tree'') e estrela (''star''). Uma LAN em anel consiste de um laço fechado formado por repetidores que possibilitam que dados circulem ao redor do anel. Um repetidor pode funcionar também como um ponto de acesso de um dispositivo. Transmissão geralmente se dá na forma de '''quadros''' (''frames''). As topologias barramento e árvore são segmentos de cabos passivos a que os dispositivos são acoplados. A transmissão de um quadro por um dispositivo (chamado de '''estação''') pode ser escutada por qualquer outra estação. Uma LAN em estrela inclui um nó central onde as estações são acopladas.
 
* Um conjunto de '''padrões''' definido para LANs especifica uma faixa de taxas de dados e abrange uma variedade de topologias e meios de transmissão.
 
* Na maioria dos casos, uma organização possui múltiplas LANs que precisam ser interconectadas. A abordagem mais simples para esse problema se vale de equipamentos chamados de '''pontes''' (''bridges''). Os conhecidos ''switches Ethernet'' são exemplos de pontes.
 
* [http://en.wikipedia.org/wiki/Network_switch Switches] formam os blocos de montagem básicos da maioria das LANs (não muito tempo atrás [http://en.wikipedia.org/wiki/Ethernet_hub hubs] também eram usados).
 
  
==== Algumas tecnologias ====
+
== 15/07 - ANP - A Camada de Transporte ==
  
* [http://en.wikipedia.org/wiki/Ethernet Ethernet (IEEE 802.3)]: largamente utilizada hoje em dia, na prática domina amplamente o cenário de redes locais.
+
{{Collapse top | Aula 11 | bg=#00ff00}}
* [http://en.wikipedia.org/wiki/Token_ring Token Ring (IEEE 802.5)]: foi usada nos anos 80 e início dos anos 90, mas está em desuso ... muito difícil de encontrar uma rede local deste tipo hoje em dia.
 
* [http://en.wikipedia.org/wiki/Myrinet Myrinet]: criada especificamente para interligar servidores de alta capacidade de processamento em [http://en.wikipedia.org/wiki/Cluster_%28computing%29 clusters]. Atualmente pouco usada, pois redes ethernet as substituíram em clusters e data centers.
 
* [http://en.wikipedia.org/wiki/InfiniBand Infiniband]: especificamente criada para interligar equipamentos para fins de computação de alto-desempenho. Mantém-se na ativa nesse nicho específico.
 
  
==== Topologias ====
+
;OBJETIVOS DA AULA
  
Uma ''topologia de rede'' diz respeito a como os equipamentos estão interligados. No caso da rede local, a topologia tem forte influência sobre seu funcionamento e sobre a tecnologia adotada. Dependendo de como se desenha a rede, diferentes mecanismos de comunicação são necessários (em particular o que se chama de ''acesso ao meio''). A eficiência da rede (aproveitamento da capacidade de canal, vazão) e sua escalabilidade (quantidade de computadores e equipamentos que podem se comunicar com qualidade aceitável) também possuem relação com a topologia. A tabela abaixo exemplifica topologias conhecidas de redes locais.
+
* Conhecer os conceitos e aplicações básica dos Protocolo da camada de Transporte
  
{| border="1" cellpadding="2"
+
;MATERIAL DE APOIO
!Topologia
 
!Exemplo
 
!Tecnologias
 
|-
 
|''Estrela''|| [[imagem:lan-Star.png|60px]] || Ethernet (IEEE 802.3) com hubs e switches
 
|-
 
|''Anel''<br>(em desuso) || [[imagem:lan-Ring.png|100px]] || Token-ring (IEEE 802.5), FDDI
 
|-
 
|''Barramento''<br>(em desuso)|| [[imagem:lan-Bus.png|80px]]|| Ethernet (IEEE 802.3)
 
|-
 
|''Árvore'' || [[imagem:lan-Tree.png|140px]] || Ethernet (IEEE 802.3) com hubs e switches
 
|-
 
|''Árvore-gorda (Fat-tree)'' ||[[imagem:lan-Fat-tree.png|140px]] || Ethernet (IEEE 802.3) com hubs e switches
 
|}
 
  
==== Exemplos de uso de redes locais====
+
* Vide SIGAA
  
Exemplos de redes locais são fáceis de apresentar. Praticamente toda rede que interconecta computadores de usuários é uma rede local - mesmo no caso de redes sem-fio, um caso especial a ser estudado mais a frente. A rede do laboratório de Redes 1, onde temos nossas aulas, é uma rede local. Os demais computadores da escola formam outra rede local. Quando em casa se instala um roteador ADSL e se conectam a ele um ou mais computadores, cria-se também uma rede local. Portanto, redes locais são extremamente comuns e largamente utilizadas. Ainda assim, cabem alguns outros exemplos de possíveis redes locais, mostrados abaixo:
 
  
 +
{{Collapse bottom}}
  
[[imagem:Lan2-2011-1.png|600px]]
+
== 22/07 - ANP - O protocolo TCP ==
<br>''Uma LAN típica com um link para Internet''
 
  
 +
{{Collapse top | Aula 12 | bg=#00ff00}}
  
[[imagem:Cisco-datacenter.jpg|400px]]
+
;OBJETIVOS DA AULA
<br>''Uma LAN que integra servidores em um datacenter''
 
  
 +
* Conhecer os conceitos e aplicações básicas do Protocolo TCP da camada de Transporte
  
[[imagem:San.gif|400px]]
 
<br>''Um tipo de LAN especial para interligar servidores de armazenamento (storage), chamada SAN (Storage Area Network)''
 
  
 +
;MATERIAL DE APOIO
  
 +
* Vide SIGAA
  
  
 +
{{Collapse bottom}}
  
 +
== 29/07 - ANP - Análise de Pacotes com TCP ==
  
=== Redes sem-fio ===
+
{{Collapse top | Aula 13 | bg=#dcdcdc}}
  
* Ver [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula15.pdf transparências]
+
;OBJETIVO DA AULA
* Ver capítulo 15 do livro ''Comunicação de Dados e Redes de Computadores, 3a ed.'', de Behrouz Forouzan.
 
* Ver capítulo 6 do livro ''Redes de Computadores e a Internet, 3a ed.'', de James Kurose.
 
* Ver capítulo 4 (seção 4.4) do livro ''Redes de Computadores, 4a ed.'', de Andrew Tanenbaum.
 
* Ver este [http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/livros/livro-802_11.chm livro on-line] sobre redes IEEE 802.11. (precisa do ''gnochm'' ou ''chmsee'' para ser lido)
 
  
==== Introdução ====
+
* Práticas e simulação com TCP
  
Redes sem-fio se tornaram uma tecnologia largamente difundida e de uso corriqueiro, principalmente em sua versão para redes locais. Graças a ela, as pessoas não precisam usar cabos para ter acesso à rede, e podem se comunicar em qualquer localização dentro do alcance da rede sem-fio. Mesmo usuários em movimento podem se manter em comunicação pela rede sem-fio.
+
;ATENÇÃO: AULA PREVISTA MAS NÃO REALIZADA OU DILUÍDA EM OUTROS TÓPICOS DE AULA
  
==== Alguns usos de redes sem-fio ====
+
{{Collapse bottom}}
  
[[imagem:WLAN-comum.gif]]<br>
+
== 05/08 - ANP - <math>\blacklozenge</math> AE7 - O protocolo UDP ==
''Redes locais sem-fio''
 
  
[[imagem:Wireless_point_to_point.jpg]]<br>
+
{{Collapse top | Aula 14 | bg=#00ff00}}
''Enlaces ponto-a-ponto de média/longa distância''
 
  
[[imagem:Wlan-train.png]]<br>
+
;OBJETIVO DA AULA
''Prover conectividade em ferrovias''
 
  
[[imagem:Body-network.jpg]]<br>
+
* Conhecer os conceitos e aplicações básicas do Protocolo UDP da camada de Transporte
''Redes de dispositivos acoplados ao corpo de uma pessoa''
 
  
[[imagem:SensorWebImageForEnewsJuly2.jpg]]<br>
+
;CONTEÚDO
''Redes de sensores''
 
  
[[imagem:v2v.jpg]]<br>
+
* Vide SIGAA
''Redes entre veículos (experimental)''
 
  
==== Padrão IEEE 802.11 ====
+
{{Collapse bottom}}
  
Dentre as várias tecnologias de comunicação sem-fio existentes, o padrão IEEE 802.11 para redes locais tem ampla utilização. Conhecido popularmente como Wi-Fi (um trocadilho com Hi-Fi, uma qualidade atribuída a aparelhos de som e que significa ''High-Fidelity''), está presente praticamente em todos os lugares hoje em dia - desde escolas, empresas, aeroportos, supermercados, restaurantes, cafés e residências, e até mesmo em espaços abertos de cidades (ver ''Cidades Digitais''). Muitos dos problemas existentes nesse tipo de rede (alguns resolvidos e outros não), e características de funcionamento, são comuns a outras tecnologias menos conhecidas, porém também importantes em suas áreas de aplicação. Por isso nosso estudo se concentrará nesse padrão de redes sem-fio, para conhecê-lo com razoável profundidade. Como consequência, além de entender como funciona uma rede IEEE 802.11, os conhecimentos obtidos habilitarão a compreensão de outras tecnologias de redes sem-fio.
+
== 12/08 - ANP - Análise de Pacotes com UDP ==
  
* Apresentaram-se as possíveis formas de organização de uma rede IEEE 802.11:
+
{{Collapse top | Aula 15 | bg=#dcdcdc}}
** '''Rede infraestruturada:''' uso de uma estação central, que intermedia as transmissões das demais estações.<br><br>[[imagem:Infrastructure-bss.png]]<br>
 
** '''Rede Ad-Hoc:''' estações se comunicam livremente com suas estações vizinhas.<br><br>[[imagem:Adhoc-bss.png]]<br>
 
** '''Rede Mesh:''' estações se comunicam livremente, mesmo que existam múltiplos saltos (''multihop'').<br><br>[[imagem:Mesh_topology.gif]]<br>
 
  
 +
OBJETIVO DA AULA
  
=== Experimento: desempenho de redes LAN ===
+
* Práticas e simulação com UDP
  
Neste experimento compararemos o desempenho de uma rede em barramento (utiliznado um Hub) e uma rede comutada (utilizando um switch). O roteiro completo está [http://wiki.sj.ifsc.edu.br/index.php/RCO2-lab2 aqui].
+
;ATENÇÃO: AULA PREVISTA MAS NÃO REALIZADA OU DILUÍDA EM OUTROS TÓPICOS DE AULA
  
 +
{{Collapse bottom}}
  
 +
== 19/08 - ANP - <math>\blacklozenge</math> AE8 - A Camada de Rede ==
  
=== Introdução a WAN: Tecnologias de acesso para WAN ===
+
{{Collapse top | Aula 16 | bg=#00ff00}}
  
* Introdução a WAN: conceitos básicos (ver [http://tele.sj.ifsc.edu.br/~msobral/RCO2/slides/aula13.pdf transparências])
+
;OBJETIVO DA AULA
* Parte III e capítulos 10 e 11 do livro "Comunicação de Dados e Redes de Computadores, 4a ed.", de Behrouz Forouzan
 
* Capítulo 3 do livro "Redes de Computadores" de Andrew Tanenbaum.
 
* Capítulo 18 do livro ''Comunicação de Dados e Redes de Computadores, 4a ed.'', de Behrouz Forouzan.
 
* Uma WAN realmente distante: [http://www.dailywireless.org/2012/11/09/interplanetary-internet/ Internet Interplanetária]
 
  
Um típico enlace WAN, do ponto de vista de uma rede de computadores de usuário, é representado por um enlace ponto-a-ponto, como pode ser visto na figura abaixo. Nele, dois roteadores se comunicam por um meio físico dedicado, usando um protocolo de enlace especializado. Como o meio é dedicado, não existem colisões, e por isso não é necessário um controle de acesso ao meio (MAC). Além disso, como somente esses dois roteadores estão envolvidos, não há necessidade de endereçamento no protocolo de enlace.
+
* Conhecer as funções e aplicações básicas da camada de rede e do protocolo IP
  
[[imagem:Rede-ier-wan.png]]
+
;CONTEÚDO
  
Dois protocolos de enlace ponto-a-ponto muito utilizados são:
+
* Vide SIGAA
* '''[http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula3-ppp.pdf PPP] (''Point-to-Point Protocol''):''' proposto no início dos anos 90 pelo IETF (ver [http://www.ietf.org/rfc/rfc1661.txt RFC 1661]), e amplamente utilizado desde então. Originalmente muito usado em acesso discado, recentemente sua aplicação se concentra em enlaces por linhas dedicadas, enlaces sem-fio 3G, e uma versão modificada para acesso doméstico ADSL (''PPPoE''). Ver mais detalhes na seção 11.7 do livro ''Comunicação de Dados e Redes de Computadores'', de Behrouz Forouzan.
 
* '''[http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula3-hdlc.pdf HDLC] (''High-level Data Link Control''):''' criado nos anos 70, foi largamente utilizado em enlaces ponto-a-ponto, porém atualmente foi substituído pelo PPP na maioria dos cenários em que era usado. Ainda se aplica a enlaces ponto-a-ponto em linhas dedicadas, enlaces por satélite e aplicações específicas (ver por exemplo este artigo sobre [https://directory.eoportal.org/web/eoportal/satellite-missions/content/-/article/uosat seu uso missões espaciais em um artigo da Nasa]). Ver mais detalhes na seção 11.6 do livro ''Comunicação de Dados e Redes de Computadores'', de Behrouz Forouzan.
 
  
Ambos protocolos foram criados para uso com comunicação serial síncrona (ver capítulo 4, seção 4.3 do livro ''Comunicação de Dados e Redes de Computadores'', de Behrouz Forouzan). O PPP funciona também com [http://pt.wikipedia.org/wiki/Comunica%C3%A7%C3%A3o_serial_ass%C3%ADncrona comunicação serial assíncrona]. Esse requisito explica vários detalhes de seus projetos, como será explicado logo abaixo.
+
{{Collapse bottom}}
  
==== Serviços da camada de enlace ====
+
== 26/08 - ANP - A Formação de Subredes ==
  
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/slides/aula1.pdf Transparências]
+
{{Collapse top | Aula 17 | bg=#00ff00}}
  
 +
;OBJETIVO DA AULA
  
Para ficar mais claro o que deve fazer um protocolo de enlace ponto-a-ponto, vamos listar os serviços típicos existentes na camada de enlace.  
+
* Conhecer e praticar a criação de subredes com endereçamento IPv4;
 +
* Compreender a função dos protocolos NAT, DHCP e ARP
 +
* Compreender as funções dos protocolos de roteamento.
  
[[Image:Data-link.png]]
+
;CONTEÚDO
  
Os serviços identificados na figura acima estão descritos abaixo. A eles foram acrescentados outros dois:
+
* Vide SIGAA
  
* '''Encapsulamento (ou ''enquadramento'')''': identificação das PDUs (quadros) de enlace dentro de sequências de bits enviadas e recebidas da camada física
+
{{Collapse bottom}}
* '''Controle de erros''': garantir que quadros sejam entregues no destino
 
** '''''Detecção de erros''''': verificação da integridade do conteúdo de quadros (se foram recebidos sem erros de bits)
 
* '''Controle de fluxo''': ajuste da quantidade de quadros transmitidos, de acordo com a capacidade do meio de transmissão (incluindo o atraso de transmissão) e do receptor
 
* '''Endereçamento''': necessário quando o enlace for do tipo '''multi-ponto''', em que vários equipamentos compartilham o meio de transmissão (ex: redes locais e redes sem-fio)
 
* '''Controle de acesso ao meio (MAC)''': também necessário para '''meios compartilhados''', para disciplinar as transmissões dos diversos equipamentos de forma a evitar ou reduzir a chance de haver colisões (transmissões sobrepostas)
 
* '''Gerenciamento de enlace''': funções para ativar, desativar e manter enlaces
 
  
==== Atividade 1: enlaces PPP ====
+
== 28/08 - ANP - Sábado Letivo - Flexibilização de Conteúdos  ==
  
<!-- * [http://tele.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab3-2011-1.pdf Roteiro da experiência]
+
{{Collapse top | Aula 18 | bg=#00ff00}}
* [http://www.cisco.com/warp/cpropub/45/tutorial.htm Tutorial da interface de linha de comando Cisco (CLI)]
 
* [http://www.cisco.com/en/US/tech/tk713/tk507/technologies_tech_note09186a008019cfa7.shtml#ppp01 Resolução de problemas com PPP em roteadores Cisco]-->
 
  
[[imagem:Ppp-exp1.png|480px]]
+
;OBJETIVOS DA AULA
<br>''Rede do experimento''
 
  
 +
* Rever conteúdos e atividades avaliativas até aqui
  
Esse experimento será feito usando o [[Netkit2]]. Três roteadores estarão interligados por enlaces PPP. A interface mostrada no Netkit para os roteadores é muito parecida com a CLI de roteadores Cisco reais (graças ao software [http://www.quagga.net/ Quagga], que é usado em máquinas virtuais do Netkit que agem como roteadores). No entanto, as interfaces seriais de enlaces ponto-a-ponto no Quagga são identificadas pelos nomes ''ppp0'', ''ppp1'' e assim por diante (ao contrário de ''Serial 0'' e ''Serial 1'' usados no Cisco). Abaixo segue a configuração do Netkit que reproduz o experimento:
+
;MATERIAL DE APOIO
  
{{collapse top|Configuração do experimento para o Netkit}}
+
* '''Não houve aula síncrona gravada neste dia.'''
<syntaxhighlight lang=text>
 
# Os três roteadores
 
r1[type]=router
 
r2[type]=router
 
r3[type]=router
 
  
# O computador que fica na subrede da esquerda
+
{{Collapse bottom}}
pc1[type]=generic
 
  
# O computador que fica na subrede da direita
+
== 02/09 - ANP - <math>\blacklozenge</math> - AE9 - Exercícios com divisão e subredes e Protocolos e Serviços da Camada de Rede ==
pc2[type]=generic
 
  
# Um computador que representa a Internet
+
{{Collapse top | Aula 19 | bg=#00ff00}}
internet[type]=generic
 
  
# Os enlaces ponto-a-ponto entre os roteadores
+
;OBJETIVOS DA AULA
r1[ppp0]=linkEsquerdo:ip=10.0.0.1/30:debug=1
 
r1[ppp1]=linkDireito:ip=10.0.0.5/30:debug=1
 
r2[ppp0]=linkEsquerdo:ip=10.0.0.2/30:debug=1
 
r3[ppp0]=linkDireito:ip=10.0.0.6/30:debug=1
 
  
# a subrede do laboratório, que representa a Internet
+
* Praticar exercícios de subredes
r1[eth0]=lanExterna:ip=192.168.1.230/24
+
* Compreender a função dos protocolos NAT, DHCP e ARP
internet[eth0]=lanExterna:ip=192.168.1.1/24
 
  
# A subrede do lado esquerdo
+
;MATERIAL DE APOIO
r2[eth0]=lanEsquerda:ip=172.18.0.30/28
 
pc1[eth0]=lanEsquerda:ip=172.18.0.17/28
 
  
# A subrede do lado direito
+
* Leia as seções 4.2, 4.3, 4.4, 4.5 da [http://wiki.sj.ifsc.edu.br/images/2/2d/ApostilaRedes2010.pdf Apostila de Redes de Computadores do Prof. Evandro Cantú]
r3[eth0]=lanDireita:ip=172.18.10.110/28
 
pc2[eth0]=lanDireita:ip=172.18.10.97/28
 
  
# As rotas ...
+
* [[media:RCO090921.pdf | Anotações utilizadas em sala de aula]]
pc1[default_gateway]=172.18.0.30
 
pc2[default_gateway]=172.18.10.110
 
r2[default_gateway]=10.0.0.1
 
r3[default_gateway]=10.0.0.5
 
r1[route]=172.18.0.16/38:gateway=10.0.0.2
 
r1[route]=172.18.10.96/38:gateway=10.0.0.6
 
internet[route]=172.18.0.0/16:gateway=192.168.1.230
 
</syntaxhighlight>
 
{{collapse bottom}}
 
  
Com base nessa rede, as seguintes atividades serão realizadas:
+
{{Collapse bottom}}
# Observe as informações sobre as interfaces PPP nos roteadores, e compare com o que é mostrado para interfaces ethernet: <syntaxhighlight lang=bash>
 
r1# show interface ppp0
 
</syntaxhighlight> ... ou ... <syntaxhighlight lang=bash>
 
r1# start-shell
 
# ifconfig ppp0
 
# ifconfig eth0
 
</syntaxhighlight>
 
# Teste a comunicação pelos enlaces PPP. Por exemplo, no roteador ''r1'' pode ser feito o seguinte: <syntaxhighlight lang=bash>
 
r1# ping 10.0.0.2
 
r1# ping 10.0.0.6
 
</syntaxhighlight>
 
# Compare o encapsulamento de datagramas IP na rede ethernet e no enlace PPP. Para isso use o wireshark, executando-o para a interface eth0 do roteador ''r1'' e também para a interface ''ppp0''. Para haver datagramas passando pelo roteador, deixe um ping em execução entre os computadores ''pc1'' e ''internet''.
 
# Simule um erro de transmissão pelo enlace PPP:
 
## Na máquina real faça o download dos [http://tele.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab1/quadros.tgz arquivos] que contêm quadros PPP especialmente criados para esse experimento. Descompacte esse arquivo dentro de ''lab/shared''.
 
## Nos roteadores ''r1'' e ''r2'' execute o comando ''start-shell''. Como ele se obtém acesso ao shell, visto que nos roteadores a interface é inicialmente fornecida por um software especial chamado Quagga.
 
## Note que existe um enlace PPP entre as máquinas virtuais. No roteador ''r1'' deixe o tcpdump monitorando a interface ppp0 (ou use o wireshark): <syntaxhighlight lang=bash>
 
sh-3.1# tcpdump -i ppp0 -ln
 
</syntaxhighlight>
 
## No roteador ''r2'' será feita a injeção de quadros PPP no enlace. A ideia é transmitir quadros corretos e em seguida quadros com erros (i.e. com bits propositalmente modificados), e observar como o PPP no roteador ''r1'' trata esses quadros.
 
## Injete o quadro correto em ''r2'', observando o que mostra o ''tcpdump'' em ''r1'': <syntaxhighlight lang=bash>
 
cd /hostlab/shared
 
cat quadro.ok > /dev/ttyS0
 
</syntaxhighlight>
 
## Agora injete o quadro com erros e veja o que acontece: <syntaxhighlight lang=bash>
 
cd /hostlab/shared
 
cat quadro.erro > /dev/ttyS0
 
</syntaxhighlight>
 
## O que se pode concluir quanto à recepção pelo PPP de quadros com erros de transmissão ?
 
  
== 08/12/14: Revisão e Avaliação 4 ==
+
== 09/09 - ANP - <math>\blacklozenge</math> AE10 - Protocolos de roteamento e as Principais Funções da Camada 2 e 1 - Enlace e Física - '''AVALIAÇÃO e REC A2''' ==
  
:Listas de exercícios
+
{{Collapse top | Aula 20 | bg=#00ff00}}
:* [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista7.pdf Lista de exercícios 7]
 
:* [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista8.pdf Lista de exercícios 8]
 
:* [http://www.sj.ifsc.edu.br/~tisemp/RES/listas_exercicios/lista9.pdf Lista de exercícios 9]
 
  
== Atividade de recuperação ==
+
;OBJETIVOS DA AULA
  
Recuperação da prova 4 sendo realizada por trabalho individual. Entrega por email até dia 15/12/2014.
+
* Compreender as funções dos protocolos de roteamento.
 +
* Realizar Simulações de protocolos e serviços da Camada 3
 +
* Compreender as funções das camadas enlace e física das redes de computadores.
  
{{collapse bottom}}
+
;MATERIAL DE APOIO
==Cronograma das Atividades==
 
  
<!--
+
* Seção 4.7 e capítulo 5 da [http://wiki.sj.ifsc.edu.br/images/2/2d/ApostilaRedes2010.pdf Apostila de Redes de Computadores do Prof. Evandro Cantú]
PROFESSOR: COPIAR TODO ESSE BLOCO PARA CRIAR NOVOS CRONOGRAMAS. O COMENTÁRIO ABAIXO DEVE SER RETIRADO PARA A CRIAÇÃO DE NOVAS LINHAS NA TABELA
 
-->
 
  
{{collapse top| bg=lightgreen | expandir=true | Semestre 2015-1 - Prof. Tiago Semprebom}}
+
{{Collapse bottom}}
<!--
 
{{Cronograma-top}}
 
{{Cl|1 |06/02 | 3 | Apresentação da disciplina, Revisão de conceitos do Projeto Integrador I / Introdução a Redes de Computadores | Lab Programação}}
 
{{Cl|2 |11/8 | 3 | Comutação de Circuitos vs Comutação de Pacotes / Lab 2: Ferramentas de rede do Linux (ping, traceroute, netstat, ifconfig, etc) | Lab Programação}}
 
{{Cl|3 |18/8 | 3 | Modelos de serviço /Arquiteturas em Camadas / Comunicação entre processos / Lab 3: Captura de pacotes na rede (Wireshark) | Lab Programação}}
 
{{Cl|4 |25/8 | 3 | Protocolos da camada de aplicação: HTTP, FTP, SMTP, DNS, SSH / Lab 4: Uso de aplicações da Internet (HTTP + HTML, FTP e SSH) | Lab Programação}}
 
{{Cl|5 |1/9 | 3 | Revisão / Correção de listas de exercícios | Lab Programação}}
 
{{Cl|6 |8/9 | 3 | Avaliação 1 | Lab Programação}}
 
{{Cl|7 |15/9 | 3 | Correção da prova e revisão de conteúdo | Lab Programação}}
 
{{Cl|8 |22/9 | 3 | Camada de Transporte: serviços oferecidos / Serviço não orientado a conexão – UDP / Lab 5: Monitoramento de tráfego: quais aplicações usam quais protocolos de transporte? Em quais portas? Quem é servidor e quem é cliente? | Lab Programação}}
 
{{Cl|9 |29/9 | 3 | Transferência confiável de dados / Protocolos com paralelismo: Volta-N e Retransmissão Seletiva / Acompanhamento de listas de exercícios | Lab Programação}}
 
{{Cl|10 |6/10 | 3 | Protocolo orientado a conexão: TCP / Controle de Fluxo e Congestionamento / Lab 6: Desempenho de TCP e UDP | Lab Programação}}
 
{{Cl|11 |13/10 | 3 | Revisão / Correção de listas de exercícios | Lab Programação}}
 
{{Cl|12 |20/10 | 3 | Avaliação 2 | Lab Programação}}
 
{{Cl|13 |27/10 | 3 | Correção da prova e revisão de conteúdo | Lab Programação}}
 
{{Cl|14 |3/11 | 3 | Camada de Rede: Roteamento e Encaminhamento / Lab 7: Introdução ao Netkit / configuração de interfaces de rede (ifconfig) | Lab Programação}}
 
{{Cl|15 |10/11 | 3 | Redes Datagrama e Circuito Virtual / Formação de filas em roteadores / Acompanhamento de listas de exercícios | Lab Programação}}
 
{{Cl|16 |17/11 | 3 | Protocolo da Internet: IP / IPv4: Classes e CIDR / Lab 8: Redes e Subredes no Netkit | Lab Programação}}
 
{{Cl|17 |24/11 | 3 | Roteamento Hierárquico / Sistemas Autônomos / Lab 9: Roteamento estático no Netkit | Lab Programação}}
 
{{Cl|18 |1/12 | 3 | Revisão / Correção de listas de exercícios | Lab Programação}}
 
{{Cl|19 |8/12 | 3 | Avaliação 3 | Lab Programação}}
 
{{Cl|20 |15/12 | 3 | Revisão / Recuperação | Lab Programação}}
 
{{cronograma-botton |60}}
 
-->
 
{{collapse bottom}}
 
  
{{collapse top| bg=lightgreen | expandir=true |Semestre 2014-2}}
+
{{Collapse bottom}}
{{Cronograma-top}}
 
{{Cl|1 |12/04 | 4 | Apresentação da Disciplina  | Aula expositiva}}
 
{{cronograma-botton-int |36}}
 
{{collapse bottom}}
 
  
==Material de Aula==
 
  
Aqui pode ser incluído o material de aula referente à disciplina.
 
  
 
{{VOLTAR |Curso Técnico em Telecomunicações - Páginas das Disciplinas}}
 
{{VOLTAR |Curso Técnico em Telecomunicações - Páginas das Disciplinas}}
 
{{TECTELECO}}
 
{{TECTELECO}}

Edição atual tal como às 11h22min de 18 de agosto de 2022

Professores da Unidade Curricular

Semestre 2022-1 - Prof. Eraldo Silveira e Silva

RCO-Subsequente-2022-1


Semestre 2021-2 - Prof. Eraldo Silveira e Silva

RCO-Subsequente-2021-2

Professores Semestres Anteriores


2021-1 - Professor Jorge Casagrande

NOSSA ROTINA SEMANAL:

Inicie sempre pelo SIGAA o acesso às atividades de nossas aulas. Fazendo isso você estará iterado com todas as publicações, atualizações e compromissos com o plano de ensino de nossa disciplina. Selecione no "Menu Turma Virtual" a sua esquerda e clique na opção "Principal". O plano de ensino com todas as atividades e informações de cada aula vão estar resumidos pra você. Em cada diário de aula, vc terá a gravação das videoaulas e sempre será direcionado para nosso repositório de conteúdos na página da disciplina na WIKI do IFSC. Evite acumular pendências... Mantenha-se sempre em dia!!!

NOSSA SALA VIRTUAL:

Quintas-feiras das 20h às 21:30h (enquanto período de ANP) - Aula RCO011102
Link da videochamada: https://meet.google.com/bio-xrme-nrj


REGISTRO DAS ATIVIDADES 2021-1

Carga horária, Ementas, Bibliografia

Plano de Ensino

Dados Importantes

Professor: Jorge Henrique B. Casagrande
Email: casagrande@ifsc.edu.br
Atendimento paralelo: Em época de Atividades Presenciais: 5as das 18:30h às 19h (Sala de Professores de TELE II ou Laboratório de Redes de Computadores). Em épocas de ANP, em comum acordo com cada aluno via Google Meet ou Aplicativo de interação extra sala.


WIKI: Todo o repositório de material de apoio e referências de nossas aulas estão nesta página da WIKI, na seção Diário de Aulas;


SLACKWARE: Para interação fora da sala de aula, acessem nosso grupo no Aplicativo (APP) Slackware, em desktop ou no seu smartphone


SIGAA: Todas as videoaulas e as avaliações com respectivos prazos, serão divulgados nesse sistema acadêmico. Eventualmente alguns materiais, mídias instrucionais, avaliações ou atividades poderão usar o ambiente da turma virtual do SIGAA. O professor fará o devido destaque para isso;


ATENÇÃO: Especialmente para as atividades PRESENCIAIS, uma avaliação poderá ser recuperada somente se existir justificativa reconhecida pela coordenação. Desse modo, deve-se protocolar a justificativa no prazo de 48 horas, contando da data e horário da avaliação, e aguardar o parecer da coordenação. O não cumprimento desse procedimento implica a impossibilidade de fazer a recuperação.

Resultados das Avaliações

Critérios de Avaliação - AJUSTADOS AO PERÍODO PANDÊMICO COM ANP (até 15/09/2021)
  1. Os estudantes serão avaliados da seguinte forma:
    -Três Avaliações parciais An onde e n={1,2,3} representam ponderadamente em carga horária de cada parte do plano de ensino, o valor da MÉDIA FINAL, assim determinadas:
    • As Notas Finais das avaliações parciais NF An' resultam da média ponderada de duas notas: a) Prova An representando 60% do total sendo uma PROVA ESCRITA (60min) E/OU ATIVIDADE ESPECIAL de conteúdos preferencialmente associados as teorias e práticas da disciplina e,
      b) Outros 40% resultado da média das notas atribuídas a aptidão e qualidade das atividades práticas e teóricas através de TODAS as Atividades Extras (AEn) e Avaliações Individuais (AIn) correspondentes.
    • Entende-se por ATIVIDADE ESPECIAL quaisquer atividades que envolvam uma dedicação maior de tempo para conclusão e amplitude dos conhecimentos relacionados com o momento do plano de ensino tais como, artigos técnicos, seminários, pesquisa ou visita de campo, projeto integrador, etc...
    - As Avaliações Individuais parciais AIn serão notas atribuídas pelo professor que representam o mérito de qualidade nas interações extra sala, cumprimento de atividades extras publicadas via SIGAA, relatórios, listas de exercícios e demais métodos de avaliação pedagógicos.
    - As Provas An e as AEn além de contribuírem no cômputo da NF An" também serão utilizadas para comprovar a participação do estudante em uma ou mais ANP.
  2. Todas as notas de avaliações parciais serão valoradas de 0 à 10,0 em passos de 0,1 pontos e convertidas em conceitos conforme abaixo:
    - Se a nota calculada de qualquer avaliação parcial for < 6,0, é OBRIGATÓRIO realizar a recuperação dos conteúdos da respectiva avaliação parcial.
    - Se MEDIA FINAL E todas as avaliações parciais forem >= 6,0 a recuperação de conteúdos é opcional.
  3. Para a aprovação na disciplina é necessário atingir no mínimo a nota 6,0 na MÉDIA FINAL ponderada em carga horária de todas as avaliações parciais e 75% de participação em sala de aula;
    - Conforme restrições do sistema de registro de notas do SIGAA, a NOTA FINAL sempre tem arredondamento para o valor inteiro mais baixo da unidade (exemplo: Nota 5,9 é considerado NOTA FINAL 5). Arredondamentos para valores inteiros mais altos da NOTA FINAL só serão permitidos mediante tolerância do professor diante da evolução do(a) estudante ao longo do semestre E SEMPRE DEFINIDAS SOMENTE NO ÚLTIMO DIA LETIVO DO SEMESTRE.
  4. As datas de recuperação das avaliações parciais serão realizadas em data específica do plano de ensino e/ou decididas em comum acordo com a turma.
  5. Quaisquer mudanças necessárias dos critérios aqui destacados, serão antecipadamente discutidos e consensuados com a turma.
  6. IMPORTANTE: TODAS AS ATIVIDADES SERÃO LANÇADAS FORMALMENTE PELO SIGAA E TERÃO LIMITES DE TEMPO DE 15 (QUINZE) DIAS PARA A EXECUÇÃO. CASO NÃO EXECUTADAS NO PRAZO PODERÃO INCORRER NO CANCELAMENTO DA MATRÍCULA DO ALUNO NA DISCIPLINA POR MOTIVO DE DESISTÊNCIA.
QUADRO GERAL DE RESULTADOS DAS AVALIAÇÕES
ESTUDANTE AE1 AE2 AE3 AE4 AE5 AE6 AI1 Prova A1 REC A1 NF A1 AE7 AE8 AE9 AI2 Prova A2 REC A2 NF A2 MÉDIA FINAL NOTA FINAL Situação
201911901435 10 2 10 7 7 0 9 7 7 6,8 10 10 10 10 9 9 9,4 7,8 8 APROVADO
201921706160 0 0 0 0 0 0 2 0 0 0,1 0 0 0 0 0 0 0,0 0,1 0 REPROVADO
201911901929 5 7 7 3 7 0 8 5 5 5,1 5 7 7 8 6 6 6,3 5,6 6 APROVADO
201821004760 0 0 0 0 0 0 0 0 0 0,0 0 0 0 0 0 0 0,0 0,0 0 REPROVADO
201811103460 10 3 0 0 0 0 5 0 0 1,0 0 0 0 0 0 0 0,0 0,6 1 REPROVADO
201821004734 8 7 0 0 0 0 6 0 0 1,2 0 0 0 0 0 0 0,0 0,7 1 REPROVADO
202021803288 0 0 0 10 3 0 6 5 5 4,1 8 3 3 6 4 4 4,4 4,2 4 REPROVADO
201911901343 0 0 0 0 0 0 4 0 0 0,2 0 0 0 0 0 0 0,0 0,1 0 REPROVADO
201911902152 0 0 0 0 0 0 2 0 0 0,1 0 0 0 0 0 0 0,0 0,1 0 REPROVADO
202021804275 6 4 10 7 10 9 10 9 9 8,6 8 10 10 10 7 7 8,0 8,4 9 APROVADO
201921700677 7 10 0 0 0 0 5 0 0 1,3 0 0 0 0 0 0 0,0 0,8 1 REPROVADO
201821004732 7 3 7 10 10 0 8 6 6 6,2 10 10 10 8 9 9 9,2 7,4 8 APROVADO
201811101500 0 0 0 0 0 0 2 0 0 0,1 0 0 0 0 0 0 0,0 0,1 0 REPROVADO
201811103461 5 2 0 0 0 0 4 0 0 0,6 0 0 0 0 0 0 0,0 0,4 1 REPROVADO
202011001037 0 0 0 0 0 0 0 0 0 0,0 0 0 0 0 0 0 0,0 0,0 0 REPROVADO
201811103494 5 4 0 0 0 0 4 0 0 0,7 0 0 0 0 0 0 0,0 0,4 1 REPROVADO
201911901927 0 0 0 0 0 0 6 0 0 0,3 0 0 0 4 0 0 0,4 0,3 0 REPROVADO
ATENÇÃO - MÉDIA FINAL = 60% NF A1 + 40% NF A2 ; NOTA FINAL – SOMENTE NO ÚLTIMO DIA LETIVO DO SEMESTRE
Escala das Notas
=0,0 Atividade NÃO executada <6,0 Prejudicando MÉDIA FINAL >=6,0 Quanto maior, melhor! Principais Notas -> SIGAA
LEGENDA - DESCRIÇÃO E CRONOGRAMA DAS AVALIAÇÕES (Conforme nosso DIÁRIO DE AULAS)
  • AE1 - Atividade SIGAA: QUESTIONÁRIO - Internetworking Básico
  • AE2 - Atividade SIGAA: QUESTIONARIO - Arquitetura de redes de computadores
  • AE3 - Atividade SIGAA: QUESTIONÁRIO - Protocolo HTTP
  • AE4 - Atividade SIGAA: QUESTIONÁRIO - Fundamentos de DNS
  • AE5 - Atividade SIGAA: QUESTIONÁRIO - Protocolos básicos da aplicação de EMAIL
  • AE6 - Atividade SIGAA: TAREFA - Captura e análise de Pacotes de DNS
  • AE7 - Atividade SIGAA: QUESTIONÁRIO - Camada de transporte - Protocolos TCP e UDP
  • AE8 - Atividade SIGAA: QUESTIONÁRIO - Camada de Rede
  • AE9 - Atividade SIGAA: TAREFA - Divisão em Subredes



Toda vez que você encontrar a marcação ao lado de alguma atividade, significa que essa atividade estará sendo computada na avaliação como uma AEn. O prazo estabelecido para entrega de 15 (quinze) dias estará destacado na publicação via SIGAAA. Portanto, não perca o prazo limite para entrega. Atividades entregues fora do prazo terão podem implicar em cancelamento de matrícula do aluno por desistência conforme prevê nossa RDP;

Material de Apoio

Recursos pedagógicos previstos (1 ou mais) em cada dia de aula
  • Apostilas e Tutoriais
  • Apresentação de Slides
  • Glossários de Conceitos
  • Manuais e outros
  • Videoaulas assíncronas
  • Vídeos de apoio
  • Links de apoio
Ferramentas para Atividades Interativas e Exercícios Colaborativos

Bibliografia Básica

  • Redes de Computadores e a Internet, 5a edição, de James Kurose.

Para pesquisar o acervo das bibliotecas do IFSC:

Softwares e Links úteis

Diário de aulas RCO11102 - 2021-1 - Prof. Jorge H. B. Casagrande

LEGENDA DAS CORES NO PLANO DE CADA AULA (clique em "expandir" para ver os OBJETIVOS de cada aula)
Aulas previstas para serem realizadas em ANP (Atividades Não presenciais)
Aulas realizadas em ANP para cumprir o plano de ensino original
Aulas previstas para serem realizadas presencialmente
Aulas não realizadas (ANP ou presencialmente)
Aulas realizadas presencialmente

13/05- ANP - Apresentação da disciplina e plano de ensino

Aula 1
OBJETIVOS DA AULA
  • Apresentação da disciplina e plano de ensino bem como os critérios de avaliação;


15/05- ANP - Contextualização de Internetworking

Aula 2
OBJETIVOS DA AULA
  • situar a organização geral da infraestrutura de Internetworking;
  • diferenciar abrangências de WAN, MAN e lAN;
  • situar PoP e ISP locais, regionais e nacionais;
  • compreender a necessidade de Padronização das redes e suas Interconexões
MATERIAL DE APOIO
CONTEÚDO ADICIONAL

Uma vez que foi esclarecido todos os pontos na apresentação da disciplina, seu plano de ensino e os critérios de avaliação, vamos entrar no universo das redes de computadores de uma forma mais abrangente. Nos próximos capítulos vamos conhecer as redes do ponto de vista de fora (das WANs) para dentro (das LANs)

As redes de computadores na visão de "fora para dentro"

Vamos avaliar como é um cenário genérico de como as redes totalmente interconectadas pelos provedores de serviços de telecomunicações, conectam nossas necessidades de comunicação com o mundo externo. Leia este capítulo de uma dissertação da PUC-RIO sobre os meios de transmissão dentro das redes.

Leia também o primeiro capítulo da Apostila de Redes de Computadores do Prof. Evandro Cantú para complementar as explicações em sala de aula.


20/05- ANP - AE1 - Conceitos importantes de redes de computadores

Aula 3
OBJETIVOS DA AULA
  • Apropriar de conceitos importantes no universo de redes de computadores;
CONTEÚDO RELACIONADO
MATERIAL DE APOIO
AVALIAÇÃO
  • AE1 - QUESTIONÁRIO SIGAA - Fundamentos de Internetworking

Acesse o SIGAA e abra o QUESTIONÁRIO associado a aula de hoje e da semana anterior. Ele está dentro das atividades da turma. A atividade é simples: releia os materiais de referência e reveja as referidas videoaulas gravadas. Assim você terá condições de responder as questões aleatoriamente formuladas para avaliar seu entendimento do assunto.


27/05- ANP - AE2 - Arquitetura de redes de computadores em camadas

Aula 4
OBJETIVOS DA AULA
  • Apropriar de conceitos importantes no universo de redes de computadores (continuação);
  • Compreender a necessidade da arquitetura em camadas das redes de computadores.
MATERIAL DE APOIO
AVALIAÇÃO
  • AE2 - QUESTIONÁRIO SIGAA - Arquitetura de redes de computadores em camadas |

Acesse o SIGAA e abra o QUESTIONÁRIO associado a aula de hoje e da semana anterior. Ele está dentro das atividades da turma. A atividade é simples: releia os materiais de referência e reveja as referidas videoaulas gravadas. Assim você terá condições de responder as questões aleatoriamente formuladas para avaliar seu entendimento do assunto.

10/06 - ANP - Os protocolos da Camada de Aplicação

17/06 - ANP - AE3 - Da teoria à pratica do protocolo HTTP

Aula 6
OBJETIVOS DA AULA
  • Realizar Exercícios com conteúdos visto até aqui.
  • Analisar o Protocolo da camada de aplicação HTTP com sniffer de rede (Wireshark)
MATERIAL DE APOIO


AVALIAÇÃO
  • AE3 - QUESTIONÁRIO SIGAA - O protocolo HTTP na camada de aplicação |

Acesse o SIGAA e abra o QUESTIONÁRIO associado a aula de hoje e da semana anterior. Ele está dentro das atividades da turma. A atividade é simples: releia os materiais de referência e reveja as referidas videoaulas gravadas. Assim você terá condições de responder as questões aleatoriamente formuladas para avaliar seu entendimento do assunto.


24/06 - ANP - AE4 - Resolvendo Domínios com DNS

Aula 7
OBJETIVOS DA AULA
  • Compreender a hierarquia de domínios da rede internet com DNS
  • Analisar o Protocolo da camada de aplicação HTTP com sniffer de rede (Wireshark)


AVALIAÇÃO
  • AE4 - QUESTIONÁRIO SIGAA

Acesse o SIGAA e abra o QUESTIONÁRIO associado a aula de hoje e da semana anterior. Ele está dentro das atividades da turma. A atividade é simples: releia os materiais de referência e reveja as referidas videoaulas gravadas. Assim você terá condições de responder as questões aleatoriamente formuladas para avaliar seu entendimento do assunto.


01/07 - ANP - Práticas com DNS

Aula 8

OBJETIVOS DA AULA

  • Realizar exercícios com DNS.


ATENÇÃO: AULA PREVISTA MAS NÃO REALIZADA OU DILUÍDA EM OUTROS TÓPICOS DE AULA

Serviço de Nomes (DNS)

Leitura recomendada

Objetivos

O Domain Name System (DNS) traduz nomes de hosts em endereços Internet Protocol (IP), preenchendo uma lacuna crítica na infraestrutura da Internet. Neste laboratório, observaremos mais de perto:

  1. o lado cliente do DNS e
  2. uma pequena análise do protocolo

Lembre-se de que o papel do cliente no DNS é relativamente simples - um cliente envia uma consulta ao seu DNS, e obtém uma resposta. Muito pode acontecer “por baixo dos panos”, de forma invisível aos clientes DNS, enquanto os servidores DNS, organizados hierarquicamente, comunicam-se entre si para, ou recursivamente ou iterativamente, resolver uma consulta DNS de um cliente. Do ponto de vista do cliente DNS, contudo, o protocolo é bastante simples - uma consulta é feita ao seu servidor DNS e uma resposta é recebida deste servidor.

PARTE 1: Consulta simples ao DNS gerada a partir de um comando ping

O comando ping pode ser usado tanto com um endereço IP como com um nome de host. Em última instância, ele sempre enviará pacotes para um endereço IP. No caso de ser usado o endereço de host, ele tentará resolver (mapear) este nome em um endereço IP usando um servidor DNS (local). Ele gera uma pergunta para o servidor (ou para os servidores, caso exista mais de um configurado). Esta experiência mostra como verificar os servidores instalados e, através de uma captura de pacote mostra a estrutura dos cabeçalhos DNS.

  1. Inicialmente consulte e anote quem são os servidores DNS instados na sua máquina. É para estes servidores que serão conduzidas as perguntas DNS. Use a ferramenta nm-tool ou acesso ao arquivo de configuração do sistema:
    nmcli dev show | grep DNS
  2. Prepare o wireshark para capturar pacotes. Feche o mozilla ou qualquer outro software de rede parar evitar tráfego DNS que possa vir a confundi-lo.
  3. Execute o ping para um endereço de host conhecido
    ping www.ifsc.edu.br
  4. Pare a captura de pacotes no Wireshark e coloque um filtro de display para mostrar apenas mensagens DNS e de ICMP
    dns || icmp
  5. Observe os pacotes capturados. Em particular foque no pacote de pergunta que deve ser similar ao mostrado abaixo e deve estar direcionado a um dos servidores DNS. Nos flags do header do pacote DNS é possível observar que é um QUERY (pergunta) a ser resolvido de forma recursiva. A pergunta propriamente dita está no campo QUERIES, onde é colocado o nome a ser resolvido e o tipo do registro solicitado (tipo A) que indica resolução de nome.
    Estrutura de uma pergunta simples DNS
  6. Foque agora um pacote de resposta do servidor para o cliente. Deve ter uma estrutura similar ao mostrado abaixo. Nos flags do header do pacote DNS é possível observar que é uma resposta. A resposta propriamente dita está no campo ANSWERS (ele também repete a pergunta no campo QUERIES). Note que podem haver vários registros (RR) retornados, cada um com um tipo. No exemplo abaixo também é retornada uma lista de servidores autorizados (RR tipo NS). Também é retornado o endereço IP destes servidores através de RRs adicionais do tipo A (inclusive endereços IPv6).
    Estrutura de uma resposta simples DNS
  7. Perguntas a serem respondidas, baseado nos pacotes "Standard query" e "Standard query response":
    1. Quem são os servidores DNS da sua máquina?
    2. O ping gerou pergunta para cada um deles?
    3. Qual o tipo da RR associada a pergunta (Queries). O que significa?
    4. Qual endereço IP retornado da solicitação da resolução de www.ifsc.edu.br?
    5. Qual endereço IP usado no ping (ver pacote REQUEST ICMP)?
    6. Qual protocolo de transporte, camada 4, que foi usado para transportar as mensagens de aplicação DNS?
    7. No QUERY realizado foi solicitado consulta recursiva. O servidor aceitou esta solicitação? (ver a resposta do servidor)
    8. Quais os servidores autorizados (Authoritative nameservers) foram repassados como resultado de sua consulta?
  8. Logo após o primeiro ping existe mais uma consulta DNS. Esta pergunta é realizada através de uma mensagem do tipo PTR. O ping está tentando verificar qual é o nome da máquina que realmente está respondendo. É o DNS reverso, nesse tipo de colsulta se fornece um IP e o servidor devolve o nome da máquina.
  9. Perguntas a serem respondidas:
    1. Qual o IP que se pretende resolver?
    2. Qual o nome retornado?
    3. O nome retornado é www.ifsc.edu.br? Sim ou não? Explique.


08/07 - ANP - AE5 - O Serviço de Email

Aula 9
OBJETIVOS DA AULA
  • Compreender como funcionam os Protocolos de EMAIL
MATERIAL DE APOIO


10/07 - ANP - AE6 - Sábado Letivo - Flexibilização de conteúdos - AVALIAÇÃO E REC A1

Aula 10
OBJETIVOS DA AULA
  • Rever conteúdos e atividades avaliativas até aqui
MATERIAL DE APOIO
  • Liberação da AVALIAÇÃO E REC A1
  • Não houve aula síncrona gravada neste dia.

15/07 - ANP - A Camada de Transporte

Aula 11
OBJETIVOS DA AULA
  • Conhecer os conceitos e aplicações básica dos Protocolo da camada de Transporte
MATERIAL DE APOIO
  • Vide SIGAA


22/07 - ANP - O protocolo TCP

Aula 12
OBJETIVOS DA AULA
  • Conhecer os conceitos e aplicações básicas do Protocolo TCP da camada de Transporte


MATERIAL DE APOIO
  • Vide SIGAA


29/07 - ANP - Análise de Pacotes com TCP

Aula 13
OBJETIVO DA AULA
  • Práticas e simulação com TCP
ATENÇÃO
AULA PREVISTA MAS NÃO REALIZADA OU DILUÍDA EM OUTROS TÓPICOS DE AULA

05/08 - ANP - AE7 - O protocolo UDP

Aula 14
OBJETIVO DA AULA
  • Conhecer os conceitos e aplicações básicas do Protocolo UDP da camada de Transporte
CONTEÚDO
  • Vide SIGAA

12/08 - ANP - Análise de Pacotes com UDP

Aula 15

OBJETIVO DA AULA

  • Práticas e simulação com UDP
ATENÇÃO
AULA PREVISTA MAS NÃO REALIZADA OU DILUÍDA EM OUTROS TÓPICOS DE AULA

19/08 - ANP - AE8 - A Camada de Rede

Aula 16
OBJETIVO DA AULA
  • Conhecer as funções e aplicações básicas da camada de rede e do protocolo IP
CONTEÚDO
  • Vide SIGAA

26/08 - ANP - A Formação de Subredes

Aula 17
OBJETIVO DA AULA
  • Conhecer e praticar a criação de subredes com endereçamento IPv4;
  • Compreender a função dos protocolos NAT, DHCP e ARP
  • Compreender as funções dos protocolos de roteamento.
CONTEÚDO
  • Vide SIGAA

28/08 - ANP - Sábado Letivo - Flexibilização de Conteúdos

Aula 18
OBJETIVOS DA AULA
  • Rever conteúdos e atividades avaliativas até aqui
MATERIAL DE APOIO
  • Não houve aula síncrona gravada neste dia.

02/09 - ANP - - AE9 - Exercícios com divisão e subredes e Protocolos e Serviços da Camada de Rede

Aula 19
OBJETIVOS DA AULA
  • Praticar exercícios de subredes
  • Compreender a função dos protocolos NAT, DHCP e ARP
MATERIAL DE APOIO

09/09 - ANP - AE10 - Protocolos de roteamento e as Principais Funções da Camada 2 e 1 - Enlace e Física - AVALIAÇÃO e REC A2

Aula 20
OBJETIVOS DA AULA
  • Compreender as funções dos protocolos de roteamento.
  • Realizar Simulações de protocolos e serviços da Camada 3
  • Compreender as funções das camadas enlace e física das redes de computadores.
MATERIAL DE APOIO




Voltar

Curso Técnico em Telecomunicações