Curso Técnico Integrado ao Ensino Médio de Telecomunicações:Redes de Computadores:Diário de Bordo

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

A disciplina está baseada na metodologia baseada em projetos. Há, desde o início dos trabalhos, regras claras e objetivos a serem alcançados, tal qual um jogo. Para fins didáticos, os projetos serão desenvolvidos de forma acumulativa, onde serão realizadas avaliações em sala ou laboratório baseadas nas atividades desenvolvidas.

<graphviz> digraph Redes { "Redes de Telecomunicações" [shape=Mrecord] "Redes Comutadas" [shape=Mrecord] "Difusão" [shape=Mrecord] "Comutação de Pacotes" [shape=Mrecord] "Comutação de Circuitos" [shape=Mrecord] "Telefonia" [shape=Mrecord] "Datagrama" [shape=Mrecord] "Internet" [shape=Mrecord] "Circuito Virtual" [shape=Mrecord] "Convergência" [shape=circle]

"Redes de Telecomunicações" -> "Redes Comutadas" "Redes de Telecomunicações" -> "Difusão" "Redes Comutadas" -> "Comutação de Circuitos" "Redes Comutadas" -> "Comutação de Pacotes" "Comutação de Circuitos" -> "Telefonia" "Comutação de Pacotes" -> "Datagrama" "Comutação de Pacotes" -> "Circuito Virtual" "Datagrama" -> "Internet" "Internet" -> "Convergência" "Circuito Virtual" -> "Convergência" "Telefonia" -> "Convergência" "Difusão" -> "Convergência" } </graphviz>

Camadas Superiores

  • Objetivo: entender os conceitos básicos de redes de computadores e aplicações cliente-servidor e P2P.
  • Produto final: construção de site integrado a ferramentas de comunicação por voz (em tempo real), com destaque aos protocolos DNS, HTTP, SIP e RTP/RTCP.
  • Duração: 7 semanas.

Semana 1

  • História das redes de computadores.
  • Vocabulário das redes de computadores.
  • Leitura: páginas 5 a 20 no material básico.

Semanas seguintes

  • Assuntos: HTML, HTTP, DNS, SIP, RTP/RCTP
  • Leitura: páginas 21 a 30 no material básico.

Camadas Médias

  • Objetivo: entender os mecanismos de chaveamento, encaminhamento e transporte dos dados através das redes de computadores baseadas em comutação de pacotes.
  • Produto final: apresentação explicando os conceitos aprendidos.
  • Duração: 7 semanas.
  • Leitura: páginas 33 a 53 no material básico.

Semana 1

Em sala tivemos uma apresentação geral da Camada de Transporte: funções e protocolos comuns (UDP e TCP).

Em laboratório realizamos experimentos com o netcat para transmissão de um mesmo conjunto de dados utilizando os protocolos UDP e TCP. No caso do projeto da disciplina, o protocolo UDP é usado com os protocolos DNS, SIP e RTP/RTcP; o TCP, por sua vez, com o HTTP.

Semana 2

Em sala avançamos com o mecanismo de transmissão garantida do TCP, em especial estabelecimento de conexão, reconhecimento de segmento e encerramento de conexão. Além disso, houve uma revisão sobre portas e multiplexação.

Em laboratório, na primeira aula, falamos sobre confirmação em lote ou bloco, janela deslizante e controle de fluxo - em termos gerais de funcionalidade. Para auxililar, utilizamos o comando wget para descarregar arquivos da Internet, começando com um download e avançando para vários, a fim de demonstrar o comportamento de uso da banda. Na segunda aula, fizemos uma atividade prática envolvendo os conceitos fundamentais da Camada. A proposta foi a seguinte:

  1. Montar o cenário apresentado na Camada anterior.
  2. Iniciar a captura dos pacotes na rede.
  3. Realizar as operações de usuário:
    1. Acesso à agenda Web através de um navegador.
    2. Disparar uma ligação para um destino com URI sip:.
    3. Conversar por alguns segundos.
    4. Encerrar a ligação.
  4. Em seguida, analisar o tráfego capturado:
    1. Para cada máquina/IP envolvido no cenário, informar todas as portas e protocolos respectivos utilizados.
    2. Discriminar, no TCP, todos os segmentos utilizados para estabelecimento e encerramento de conexão para a página HTML e da primeira figura mencionada no código.
    3. Contabilizar quantos segmentos foram utilizados para a transmissão da página HTML - excluindo aqueles utilizados para estabelecimento e encerramento; ou seja, da requisição (GET) até a entrega (200 OK).
    4. Informar o tempo, em milissegundos ou segundos, necessário para a transmissão da página Web, com figuras, e para a transmissão completa (do DNS ao SIP).

Foram entregues, ao final, o arquivo da captura, em formato PCAP (tradução), e um formulário preenchido com os valores pedidos no item 4.

Semana 3

  • Em laboratório, vistas as ferramentas de alcance ping e traceroute, configuração de interface de rede.

Semana4

  • Endereços IP são identidades de hosts na Internet
  • Transmissão de datagramas IP de um host origem a um host destino implica descoberta e uso de caminhos dentro da rede.
    • Encaminhamento IP: como um datagrama IP segue um caminho desde uma origem até um destino ?
    • Roteamento IP: como são descobertos caminhos dentro da rede ? Esses caminhos são denominados rotas.


Ip-forwarding.png

Exemplo de rotas em uma pequena rede


A descoberta e manutenção de rotas seria difícil, ou mesmo proibitiva,se cada host precisar conhecer a rota para cada outro host da Internet. Neste caso, se existirem N hosts, a quantidade de rotas que cada um deles deveria aprender e conhecer seria:

De acordo com o site Internet Grow Chart, a quantidade de hosts estimada na Internet a cada ano pode ser vista no gráfico abaixo:

Internet-hosts.gif

Para ter uma ideia do problema, estime a quantidade de rotas que cada host deveria conhecer para cada ano indicado no gráfico. Os números são absurdos, não ? Isso indica que deve ter uma forma mais inteligente de descobrir e manter rotas numa rede do tamanho da Internet.

Endereços IP

Para tratar o problema da quantidade de rotas em uma grande rede, o endereçamento IP possibilita o agrupamento de endereços. Assim, podem-se definir rotas para conjuntos de hosts, e reduz-se a quantidade de rotas necessárias de serem conhecidas. No entanto, para que isso funcione a contento existem regras claras de como esse agrupamento pode ser realizado. O princípio de agrupamento adotado usa a hierarquização dos endereços.

  • Endereços são agrupados em subredes IP.
  • Uma subrede é definida por um prefixo de rede e uma máscara de rede.
  • A combinação de prefixo e máscara determinam que endereços IP fazem parte da subrede.

Para começarmos a estudar como funciona endereçamento IP, vamos começar com um pequeno simulador chamado IpKit. Esse simulador roda direto no navegador. Com ele podem-se criar redes como mostrado abaixo, e simular o envio de datagramas IP de um host a outro.

Ipkit-star.png


Em aula foi feito o seguinte exercício:

Ipkit-rede2.png

... em que todos os hosts deveriam poder se comunicar.

Semana 5

Como visto na semana anterior, o endereçamento IP explora profundamente a hierarquização de endereços: faixas de endereços formam subredes, e subredes podem ser agrupadas em subredes maiores. Quer dizer, se a faixa de endereços de uma subrede A estiver contida na faixa de endereços de uma subrede C, então a subrede C contém a subrede A.


Prefixo/máscara Endereço inicial Endereço final
Subrede A 200.135.37.0/26 200.135.37.0 200.135.37.63
Subrede B 200.135.37.64/26 200.135.37.64 200.135.37.127
Subrede C 200.135.37.0/25 200.135.37.0 200.135.37.127
Subrede D 200.135.37.0/24 200.135.37.0 200.135.37.255


Na tabela acima, a faixa de endereços da subrede A está totalmente contida na subrede C, e portanto a subrede C contém a subrede A. Da mesma forma, a subrede C contém a subrede B. Por fim, a subrede D contém a subrede C, e por consequência contém também as subredes A e B. Essas relações entre as subredes estão resumidas abaixo:

Se:

Subrede A Subrede C

Subrede B Subrede C

Mas para que serve essa hierarquização de endereços ?

Uma rede como a Internet possui uma vasta quantidade de hosts. Se todos os possíveis endereços IP fossem aproveitados, seriam pouco mais de 4 bilhões de hosts (por que ?). Segundo a estimativa mostrada no Intenet Grow Chart, a quantidade de hosts ronda 1 bilhão, o que já é um valor impressionante. Seria inviável que cada host conhecesse as rotas para cada possível outro host na rede, pois isso implicaria manter uma enorme tabelea em memória ... além de que essa tabela precisaria ser criada de alguma maneira (e a Internet cresce e se modifica continuamente e de forma descentralizada). No entanto, esse problema é facilmente resolvido com a hierarquização dos endereços.

Se os endereços estão hierarquizados em subredes, basta cada host conhecer rotas para subredes cuidadosamente especificadas que possibilitem a comunicação com qualquer outro host na Internet. Por exemplo, considere a rede abaixo:


Ex1-hierarquias.png


Nessa rede existem três subredes. Em cada uma delas existem apenas um link de saída, que passa por um roteador. Assim, para os computadores de cada subrede basta conhecer rotas para dois destinos:

  • Sua própria subrede
  • Uma subrede que represente todas as demais subredes: neste caso pode-se usar a subrede especial 0.0.0.0/0, que representa o destino da rota default.

Um último detalhe quanto a esse exemplo se refere aos roteadores. Esses equipamentos precisarão conhecer rotas para cada uma das subredes.

Atividade no laboratório

Hoje foram criados dois cenários compostos por algumas subredes. As subredes foram criadas usando máquinas virtuais VirtualBox, cujas interfaces de rede foram configuradas com endereços IP das respectivas subredes. Por fim, rotas estáticas foram adicionadas nas máquinas virtuais para que pudessem se comunicar com hosts de outras subredes.


Cenário 1: três subredes interligadas por um roteador


Int-cenario1.png


Cenário 2: três subredes interligadas por um backbone


Int-cenario2.png

Semana 6

Para compreender a inter-relação entre segmentação de rede, endereçamento de interfaces de rede e construção de tabelas de roteamento, utilizamos um exemplo com VLSM - que foi publicado no blog da disciplina. Em sala foi discutido o processo completo e em laboratório aplicado no simulador Ipkit:

  1. Segmentação em sub-redes.
  2. Endereçamento das interfaces de rede.
  3. Construção da tabela de roteamento de cada componente (estação de trabalho e roteadores).

Outros problemas para a prova:

  • Segmente a rede 192.168.200.128/25 nas seguintes sub-redes - utilizando rota-padrão sempre que for possível:
<graphviz>

graph Problema2 {

 A [shape=circle,label="A (4)"]
 B [shape=circle,label="B (40)"]
 C [shape=circle,label="C (3)"]
 D [shape=circle,label="D (15)"]
 ABC [shape=record]
 A -- ABC -- B
 ABC -- C
 CD [shape=record]
 C -- CD -- D

}

</graphviz>
  • Segmente a rede 172.16.0.0./16 nas seguintes sub-redes (entre parênteses a quantidade de estações por sub-rede):
<graphviz>

graph Problema1 {

 A [shape=circle,label="A (60)"]
 B [shape=circle,label="B (14)"]
 C [shape=circle,label="C (10)"]
 D [shape=circle,label="D (44)"]
 E [shape=circle,label="E (50)"]
 F [shape=circle,label="F (30)"]
 AB [shape=record]
 A -- AB -- B
 BCD [shape=record]
 B -- BCD -- C
 BCD -- D
 DE [shape=record]
 D -- DE -- E
 BEF [shape=record]
 B -- BEF -- E
 BEF -- F

}

</graphviz>
  • Segmente a rede 10.0.0.0/12 nas seguintes sub-redes:
<graphviz>

graph Problema3 {

 A [shape=circle,label="A (60)"]
 B [shape=circle,label="B (40)"]
 C [shape=circle,label="C (6)"]
 D [shape=circle,label="D (150)"]
 E [shape=circle,label="E (160)"]
 F [shape=circle,label="F (80)"]
 G [shape=circle,label="G (4)"]
 H [shape=circle,label="H (600)"]
 I [shape=circle,label="I (45)"]
 J [shape=circle,label="J (95)"]
 ABCD [shape=record]
 A -- ABCD -- B
 ABCD -- C
 ABCD -- D
 BDEF [shape=record]
 B -- BDEF -- D
 BDEF -- E
 BDEF -- F
 CGH [shape=record]
 C -- CGH -- G
 CGH -- H
 FGIJ [shape=record]
 F -- FGIJ -- G
 FGIJ -- I
 FGIJ -- J
 DIH [[shape=record]
 D -- DIH -- I
 DIH -- H

}

</graphviz>

Camadas Inferiores

  • Objetivo: conhecer as tecnologias de acesso multiponto e ponto-a-ponto.
  • Produto final: desenvolvimento de projeto prático (diagrama abaixo).
  • Duração: 7 semanas.

<graphviz> graph Projeto { Web [shape=Mrecord,label="Servidor Web"] DSLAM [shape=circle,label="DSLAM"]

subgraph clusterEquipe1 { label="Equipe 1" Modem1 [shape=record,label="Modem"] Roteador1 [shape=record,label="Roteador"] Switch1 [shape=record,label="Switch"] AP1 [shape=record,label="AP"] Notebook1 [shape=Mrecord,label="Notebook"] PC1 [shape=Mrecord,label="PC"]

Modem1 -- Roteador1 [color=blue,fontcolor=blue,label="Ethernet"] Roteador1 -- Switch1 [color=blue,fontcolor=blue,label="Ethernet"] Switch1 -- PC1 [color=blue,fontcolor=blue,label="Ethernet"] Switch1 -- AP1 [color=blue,fontcolor=blue,label="Ethernet"] AP1 -- Notebook1 [color=darkgreen,fontcolor=darkgreen,label="802.11"] }

subgraph clusterEquipe2 { label="Equipe 2" Modem2 [shape=record,label="Modem"] Roteador2 [shape=record,label="Roteador"] Switch2 [shape=record,label="Switch"] AP2 [shape=record,label="AP"] Notebook2 [shape=Mrecord,label="Notebook"] PC2 [shape=Mrecord,label="PC"]

Modem2 -- Roteador2 [color=blue,fontcolor=blue,label="Ethernet"] Roteador2 -- Switch2 [color=blue,fontcolor=blue,label="Ethernet"] Switch2 -- PC2 [color=blue,fontcolor=blue,label="Ethernet"] Switch2 -- AP2 [color=blue,fontcolor=blue,label="Ethernet"] AP2 -- Notebook2 [color=darkgreen,fontcolor=darkgreen,label="802.11"] }

subgraph clusterEquipe3 { label="Equipe 3" Modem3 [shape=record,label="Modem"] Roteador3 [shape=record,label="Roteador"] Switch3 [shape=record,label="Switch"] AP3 [shape=record,label="AP"] Notebook3 [shape=Mrecord,label="Notebook"] PC3 [shape=Mrecord,label="PC"]

Modem3 -- Roteador3 [color=blue,fontcolor=blue,label="Ethernet"] Roteador3 -- Switch3 [color=blue,fontcolor=blue,label="Ethernet"] Switch3 -- PC3 [color=blue,fontcolor=blue,label="Ethernet"] Switch3 -- AP3 [color=blue,fontcolor=blue,label="Ethernet"] AP3 -- Notebook3 [color=darkgreen,fontcolor=darkgreen,label="802.11"] }

subgraph clusterEquipe4 { label="Equipe 4" Modem4 [shape=record,label="Modem"] Roteador4 [shape=record,label="Roteador"] Switch4 [shape=record,label="Switch"] AP4 [shape=record,label="AP"] Notebook4 [shape=Mrecord,label="Notebook"] PC4 [shape=Mrecord,label="PC"]

Modem4 -- Roteador4 [color=blue,fontcolor=blue,label="Ethernet"] Roteador4 -- Switch4 [color=blue,fontcolor=blue,label="Ethernet"] Switch4 -- PC4 [color=blue,fontcolor=blue,label="Ethernet"] Switch4 -- AP4 [color=blue,fontcolor=blue,label="Ethernet"] AP4 -- Notebook4 [color=darkgreen,fontcolor=darkgreen,label="802.11"] }

Web -- DSLAM [color=blue,fontcolor=blue,label="Ethernet"] DSLAM -- Modem1 [color=red,fontcolor=red,label="PPP"] DSLAM -- Modem2 [color=red,fontcolor=red,label="PPP"] DSLAM -- Modem3 [color=red,fontcolor=red,label="PPP"] DSLAM -- Modem4 [color=red,fontcolor=red,label="PPP"] } </graphviz>