Mudanças entre as edições de "RCO2-2012-1"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 229: Linha 229:
 
... mas no início redes Ethernet não eram assim ! Leia o material de referência para ver como eram essas redes num passado relativamente próximo.
 
... mas no início redes Ethernet não eram assim ! Leia o material de referência para ver como eram essas redes num passado relativamente próximo.
 
   
 
   
=== Arquitetura IEEE 802 ===
+
== Atividade ==
 +
 
 +
Será criado um modelo simplificado da [[RCO2-2012-1#Estudo_de_caso:_entendendo_a_rede_do_IFSC-SJ|rede do campus IF-SC SJ]].
 +
 
 +
== Arquitetura IEEE 802 ==
  
  

Edição das 18h20min de 8 de março de 2012

Redes de Computadores II: Diário de Aula 2012-1

Professor: Marcelo Maia Sobral (msobral@gmail.com)
Lista de email (forum): rco2@googlegroups.com
Encontros: 5a feira/9:40, 6a feira/7:30
Atendimento paralelo: 4a de 13:30 às 16 h.

Bibliografia

  • Livros sobre Redes de Computadores (por ordem de preferência):
    • FOROUZAN, Behrouz. Comunicação de Dados e Redes de Computadores, 3a/4a edicão. Editora Bookman, 2004.
    • KUROSE, James F. e ROSS, Keith W. Redes de computadores e a Internet, Uma abordagem Top-Down. 5a edição. Editora Addison Wesley SP, 2010.
    • STALLINGS, W. Redes e sistemas de comunicação de dados. Editora Elsevier RJ, 2005.
    • TANENBAUM, Andrew S. Redes de Computadores, tradução da quarta edição. Editora Campus RJ, 2003
    • GALLO, Michael A. E HANCOCK Wiliam M. Comunicação entre computadores e tecnologia de rede. Ed. Pioneira Thomson Learning SP, 2003.
    • COMMER, Douglas E. Redes de Computadores e Internet – 2a edição. Editora Bookman, Porto Alegre, 2001

Curiosidades

Listas de exercícios

Avaliações

Softwares

01/03: Apresentação

Apresentação da disciplina: conteúdo, bibliografia e avaliação, laboratório.

  • Capítulo 13 do livro "Comunicação de Dados e Redes de Computadores", de Berhouz Forouzan
  • Capítulo 5 do livro "Redes de Computadores e a Internet", de James Kurose.
  • Capítulo 4 do livro "Redes de Computadores", de Andrew Tanenbaum

Apresentação da disciplina: conteúdo, bibliografia e avaliação, laboratório.

Lembrando Redes de Computadores da 3a fase ...

Em RCO1 foi estudado o assunto Arquitetura de Redes com ênfase na Internet. A figura abaixo resume a arquitetura em camadas usada para representar o funcionamento de sistemas em uma rede de computadores. Cada camada representa uma certa funcionalidade necessária para a comunicação, e apresenta um ou mais protocolos que participam dessa tarefa.

Osi-tcpip-rco2.png


O foco da disciplina RCO2 é a infra-estrutura de rede, representada pelas camadas Internet e Acesso a rede no modelo TCP/IP (ou camadas Rede e inferiores no modelo OSI). Ela diz respeito ao conjunto de equipamentos, links, protocolos e tecnologias empregados para construir uma rede de computadores. Essa rede pode ser assim usada para que sistemas finais consigam se comunicar, tais como computadores de usuários, servidores, smartphones, e quaisquer outros dispositivos que produzam ou consumam dados. Desta forma, em IER estudaremos como escolher tecnologias, selecionar e configurar equipamentos, e interligá-los para construir redes de computadores.

Nosso ponto de partida serão pequenas redes compostas por uma ou mais redes locais (LANs) que se interligam, incluindo conexão para a Internet. Em cada rede investigaremos seu funcionamento, incluindo as configurações da subrede IP e os equipamentos usados.


Rede1-IER.png
Figura 1: uma pequena rede local (LAN) com conexão para Internet


Rede2-IER.png
Figura 2: duas redes locais (LAN) interligadas por um enlace de longa distância (WAN)


Conceitos necessários para realizar os exercícios:

  • Endereços IP e máscaras de rede
  • Rotas estáticas
  • Interfaces de rede

Ferramentas de apoio ao estudo

Uma limitação que temos está na pouca quantidade de equipamentos para as atividades em laboratório. Para atenuar esse problema, podem-se usar softwares que simulem redes. Existe um software desses em particular, chamado Netkit, que possibilita criar redes virtuais. Essas nada mais são que máquinas virtuais interligadas com switches e links seriais virtuais (isso é, tudo feito por software mas funciona como se fosse de verdade). Com ele se podem criar redes compostas por máquinas virtuais Linux, que são conectadas por links ethernet e PPP. Todos os cenários que usaremos em nosso estudo (com exceção das configurações de modems), poderiam ser reproduzidos com esse software. Existe um guia de instalação e uso publicado na wiki:

Esse guia contém uma coleção de exemplos, para que tenham ideia do que se pode fazer com o Netkit.

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, este 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.

Exercícios

1. Usando o Netkit crie as seguintes redes. Não esqueça de definir as rotas estáticas.

Rede1-1.png
Arquivo do experimento


Rede1-2.png
Arquivo do experimento (Lab2.conf)


Rede1-3.png

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.

02/03: Criando redes IP

... continuação dos exercícios da aula passada.

08/03: Redes locais

Referências bibliográficas:

  • Capítulo 13 do livro "Comunicação de Dados e Redes de Computadores", de Berhouz Forouzan
  • Capítulo 5 do livro "Redes de Computadores e a Internet, 5a edição", de James Kurose
  • Capítulo 4 do livro "Redes de Computadores", de Andrew Tanenbaum

Estudo de caso: entendendo a rede do IFSC-SJ

A rede do IF-SC é composta pelas redes dos campi, sendo que o campus Mauro Ramos centraliza os links para os demais campi. Dentre eles, o link para a rede do campus São José tem a capacidade de 1 Gbps. Além disso, o link para a Internet se localiza também no campus Mauro Ramos. A figura abaixo mostra um diagrama simplificado da rede do IF-SC, destacando apenas os campis Mauro Ramos, São José e Continente.


Ifsc.png


Como se pode ver, os campi são interligados por enlaces (links) de longa-distância com alta capacidade de transmissão (1 Gbps). O link para a Internet, provido pelo POP-SC (Ponto de Presença da RNP em SC, mantido pela UFSC) é também de 1 Gbps. Esses links de longa distância asseguram que não existam gargalos entre os campi, possibilitando uma boa vazão entre as redes.

No nosso primeiro projeto, vamos iniciar estudando a estrutura e funcionamento da rede do campus São José. Essa rede é formada por três redes locais, compostas por switches ethernet, servidores, gateways e firewall. O diagrama abaixo apresenta a estrutura geral da rede do nosso campus.


Ifsc-sj.png


  • Observar os equipamentos in-loco: veremos que tipos de equipamentos são usados para manter a estrutura, como são conectados, seus fabricantes e modelos.
  • Criar um modelo reduzido dessa rede usando equipamentos reais: criaremos um modelo usando switches e computadores do laboratório.
  • Investigar as tecnologias empregadas na rede: identificaremos as tecnologias usadas e testaremos sua capacidade de transmissão.

Distinção entre WAN, MAN e LAN

  • Aplicações de cada um desses tipos de rede
  • Tecnologias envolvidas
  • "Backbones" da Internet Brasileira:


Algumas redes WAN:


Uma rede MAN MetroEthernet em Florianópolis.

Man-metro.png

LANs


Pontos chaves (obtido de STALLINGS, 2005):

  • 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.
  • 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.
  • Switches formam os blocos de montagem básicos da maioria das LANs (não muito tempo atrás hubs também eram usados).


Lan1-2011-1.png
Uma pequena LAN com um link para Internet



Lan2-2011-1.png
Uma LAN um pouco maior, e também com um link para Internet

09/03 LANs: arquitetura IEEE 802

A 1a lista de exercícios já está disponível.

  • Arquitetura IEEE 802 e Redes locais IEEE 802.3 (Ethernet)
    • Ver transparências.
    • Capítulo 14 do livro "Comunicação de Dados e Redes de Computadores", de Behrouz Forouzan.
    • Capítulo 5 do livro "Redes de Computadores e a Internet", de James Kurose.
    • Capítulo 4 do livro "Redes de Computadores", de Andrew Tanenbaum.
    • Ethernet 40 Gbps e 100 Gbps


Ethernet.png

Desenho usado por Bob Metcalfe, um dos criadores da Ethernet, para apresentação em uma conferência em 1976.

  • Elementos de uma rede Ethernet atual:
    • Estações: equipamentos que se comunicam pela rede. Ex: computadores e roteadores.
    • Interface de rede (NIC): dispositivo embutido em cada estação com a finalidade de prover o acesso à rede. Implementa as camadas PHY e MAC.
    • Meio de transmissão: representado pelos cabos por onde os quadros ethernet são transmitidos. Esses cabos são conectados às interfaces de rede das estações.
    • Switch: equipamento de interconexão usado para interligar as estações. Cada estação é conectada a um switch por meio de um cabo. Um switch usualmente possui múltiplas interfaces de rede (12, 24 ou mais). Uma rede com switches apresenta uma topologia física em estrela.


Lan2-2011-1.png
Uma LAN com switches

... mas no início redes Ethernet não eram assim ! Leia o material de referência para ver como eram essas redes num passado relativamente próximo.

Atividade

Será criado um modelo simplificado da rede do campus IF-SC SJ.

Arquitetura IEEE 802

Define um conjunto de normas e tecnologias no escopo das camadas física (PHY) e de enlace. A camada de enlace é dividida em duas subcamadas:

  • LLC (Logical Link Control): o equivalente a um protocolo de enlace de fato, porém na prática de uso restrito (pouco utilizada).
  • MAC (Medium Access Control): um protocolo de acesso ao meio de transmissão, que depende do tipo de meio físico e tecnologia de comunicação. Esse tipo de protocolo é necessário quando o meio de transmissão é compartilhado.


Arq-ieee.png

Protocolo de acesso ao meio (MAC)

Parte da camada de enlace na arquitetura IEEE 802, tem papel fundamental na comunicação entre estações. O MAC é responsável por:

  • Definir um formato de quadro onde deve ser encapsulada uma PDU de um protocolo de camada superior.


Quadro-ethernet.png
Quadro ethernet


  • Endereçar as estações, já que o meio de transmissão é multiponto (ver campos Dest Add e Source Add no quadro Ethenet).
  • Acessar o meio para efetuar a transmissão de quadros, resolvendo conflitos de acesso quando necessário. Um conflito de acesso (chamado de colisão) pode ocorrer em alguns casos quando mais de uma estação tenta transmitir ao mesmo tempo.


Csma-cd.png
O MAC CSMA/CD (Carrier Sense Multiple Access/Collision Detection


Utilização do meio de transmissão em uma rede local com MAC do tipo CSMA/CD

Nesta seção mostra-se como estimar o desempenho do CSMA/CD por meio de experimentos para medir a utilização máxima do meio. Esses experimentos podem ser feitos usando uma rede real, com computadores interligados por hubs, ou com um simulador. Em ambos os casos deve-se fazer com que vários computadores gerem tráfego intenso na rede, e calcular ao final a utilização do meio da seguinte forma:

O total de quadros recebidos pode ser obtido em qualquer um dos computadores.

Experiência com uma rede real

Para fazer com uma rede real:

Resultados (obtidos em 2010-2):

1: 140254390 214015690
2: 214015690 276800590
3: 276800590 336225070
4: 336225070 398761510
5: 398761510 460950490
6: 479962630 544977970
7: 544977970 610117870
8: 690263890 755876470

Com esses dados deve-se plotar um gráfico da quantidade de bytes recebidos X quantidade de estações transmissoras. Na tabela acima, as estações transmissoras estão na 1a coluna, e a quantidade de bytes recebidos deve ser calculada pela subtração da 3a coluna pela 2a coluna.

Experiência com uma rede simulada

Para fazer a experiência pode-se usar também o simulador Omnet++:

  • Instale o Omnet++ 4
  • Instale o modelo INET:
    # Faz o download do INET Framework (aprox. 23 MB)
    wget http://tele.sj.isfc.edu.br/~msobral/RCO2/soft/inet-20100323-src.tgz
    
    # Descompacte o arquivo
    tar xzf inet-20100323-src.tar.gz
    
    # Compila o INET
    cd inet
    make makefiles
    make
    
  • Copie esses arquivos para dentro de inet/examples/ethernet/lans:
    mu.ini
    mu2.ini
    Networks.ned
  • Para executar uma simulação interativa, com animação, faça assim:
    cd inet/examples/ethernet/lans
    ./run mu.ini
    
    ... e escolha um dos modelos para executar.
  • Para executar uma simulação não-interativa, com uma bateria de experimentos que variam a quantidade de estações (2 a 16) e tamanhos de quadros (256, 512 e 1480 bytes), faça assim:
    cd inet/examples/ethernet/lans
    ./run -u Cmdenv -c Hub1 mu2.ini
    
  • Os resultados das simulações estarão em arquivos dentro do subdiretório inet/examples/ethernet/lans/results. Por exemplo, o arquivo Hub1-0.sca contém o resultado da primeira simulação, e parte de seu conteúdo é mostrada abaixo (cada linha contém algum resultado ou estatística da simulação, e o título é auto-explicativo):
    version 2
    run Hub1-1-20100423-09:38:33-7627
    attr bytes 256
    attr configname Hub1
    attr datetime 20100423-09:38:33
    attr experiment Hub1
    attr inifile mu2.ini
    attr iterationvars "$bytes=256, $stations=3"
    attr iterationvars2 "$bytes=256, $stations=3, $repetition=0"
    attr measurement "$bytes=256, $stations=3"
    attr network HubLAN2
    attr processid 7627
    attr repetition 0
    attr replication #0
    attr resultdir results
    attr runnumber 1
    attr seedset 1
    attr stations 3
    
    scalar .        bytes   256
    scalar .        stations        3
    scalar HubLAN2.sta[0].cli       "packets sent"  0
    scalar HubLAN2.sta[0].cli       "packets rcvd"  0
    scalar HubLAN2.sta[0].cli       "end-to-end delay mean"         0
    scalar HubLAN2.sta[0].cli       "end-to-end delay stddev"       nan
    scalar HubLAN2.sta[0].cli       "end-to-end delay min"  0
    scalar HubLAN2.sta[0].cli       "end-to-end delay max"  0
    scalar HubLAN2.sta[0].srv       "packets sent"  0
    scalar HubLAN2.sta[0].srv       "packets rcvd"  247453
    scalar HubLAN2.sta[0].srv       "end-to-end delay mean"         1.6121223100944
    scalar HubLAN2.sta[0].srv       "end-to-end delay stddev"       1.0596723502417
    scalar HubLAN2.sta[0].srv       "end-to-end delay min"  0.0002378
    scalar HubLAN2.sta[0].srv       "end-to-end delay max"  5.18103003756
    scalar HubLAN2.sta[0].llc       "dsaps registered"      1
    scalar HubLAN2.sta[0].llc       "packets from higher layer"     0
    scalar HubLAN2.sta[0].llc       "frames from MAC"       247453
    scalar HubLAN2.sta[0].llc       "packets passed up"     247453
    scalar HubLAN2.sta[0].llc       "packets dropped - unknown DSAP"        0
    scalar HubLAN2.sta[0].mac       "simulated time"        60.0001141233
    scalar HubLAN2.sta[0].mac       "txrate (Mb)"   10
    scalar HubLAN2.sta[0].mac       "full duplex"   0
    scalar HubLAN2.sta[0].mac       "frames sent"   0
    scalar HubLAN2.sta[0].mac       "frames rcvd"   247453
    scalar HubLAN2.sta[0].mac       "bytes sent"    0
    scalar HubLAN2.sta[0].mac       "bytes rcvd"    68544481
    scalar HubLAN2.sta[0].mac       "frames from higher layer"      0
    scalar HubLAN2.sta[0].mac       "frames from higher layer dropped (iface down)"         0
    scalar HubLAN2.sta[0].mac       "frames dropped (bit error)"    0
    scalar HubLAN2.sta[0].mac       "frames dropped (not for us)"   0
    scalar HubLAN2.sta[0].mac       "frames passed up to HL"        247453
    scalar HubLAN2.sta[0].mac       "PAUSE frames sent"     0
    scalar HubLAN2.sta[0].mac       "PAUSE frames rcvd"     0
    scalar HubLAN2.sta[0].mac       "frames/sec sent"       0
    scalar HubLAN2.sta[0].mac       "frames/sec rcvd"       4124.2088221947
    scalar HubLAN2.sta[0].mac       "bits/sec sent"         0
    scalar HubLAN2.sta[0].mac       "bits/sec rcvd"         9139246.7499834
    scalar HubLAN2.sta[0].mac       "rx channel idle (%)"   5.937858457565
    scalar HubLAN2.sta[0].mac       "rx channel utilization (%)"    94.031961146038
    scalar HubLAN2.sta[0].mac       "rx channel collision (%)"      0.030180396396893
    scalar HubLAN2.sta[0].mac       collisions      4825
    scalar HubLAN2.sta[0].mac       backoffs        0
    

O gráfico abaixo foi obtido com esse experimento de simulação:

Csma-perf-sim.png

As simulações tiveram os seguintes parâmetros:

  • Quadros de 256, 512 e 1480 bytes
  • 2 a 45 estações
  • Geração de tráfego por estação com intervalos entre quadros dados por uma distribuição exponencial com média 15*tamanho_quadro_em_bits*0.11us (0.11us é o tempo aproximado de um bit)
Análise de desempenho do CSMA/CD

Uma análise feita no capítulo 4 do livro "Redes de Computadores, 4a ed." de Andrew Tanenbaum fornece a seguinte previsão aproximada de desempenho para o CSMA/CD em uma rede Ethernet a 10 Mbps.

  • Utilização do meio:

  • B: taxa de bits nominal
  • L: comprimento do meio de transmissão
  • c: velocidade de propagação do sinal
  • F: comprimento do quadro

Csma-perf.png

Essa figura mostra curvas para a utilização do meio em função da quantidade de estações prontas para transmitir, e para diferentes tamanhos de quadro. A conclusão é que quadros menores proporcionam desempenho inferior, assim como uma quantidade maior de estações resulta em uma provável menor utilização do meio. No entanto essa análise considera a rede numa situação de carga muito alta, o que não acontece normalmente. Há também algumas simplificações no desenvolvimento da análise, tal como considerar que a probabilidade de retransmissão constante em cada slot, ao invés de analisar o algoritmo de recuo exponencial binário (backoff). Finalmente, esse resultado tem sentido para um meio de transmissão compartilhado, mas a atualmente as redes locais ethernet trabalham com meios de transmissão exclusivos (ethernet comutada e full-duplex, em que não há risco de colisão).

Para fins de comparação, veja os resultados obtidos com uma rede simulada.