Redes de Computadores II (diário 2015-1)

De MediaWiki do Campus São José
Revisão de 18h52min de 22 de março de 2015 por Etorresini (discussão | contribs)
Ir para navegação Ir para pesquisar

Repositório do projeto: https://github.com/boidacarapreta/ifsc/tree/rco20151

Para utilizar na máquina local recomenda-se utilizar o diretório de trabalho /tmp/rco20151:

git clone https://github.com/boidacarapreta/ifsc.git -b rco20151 /tmp/rco20151

Sobre a disciplina

Avaliação

Serão realizadas 4 avaliações ao longo do semestre. De caráter prático, contemplarão todo o conteúdo da disciplina ministrado até o momento.

Composição do conceito final

O conceito final será assim composto:

  • A: todas as avaliações com conceito A.
  • B: no máximo um C, e para cada C um A correspondente - exceto projeto final.
  • C: no máximo um D, e para cada D um A correspondente - exceto projeto final.
  • D: demais casos.

Observação: a composição do conceito final inclui os conceitos de todas as avaliações e recuperações.

Aulas

06/02: apresentação da disciplina

Apresentação da disciplina e plano de ensino.

09/02: instalação do GNOME Netkit

Instalação do GNOME Netkit:

# Verificação da configuração de rede
ip -4 addr show
cat /etc/resolv.conf

# Comandos como root
sudo su -

# Atualização da lista de pacotes e instalação do mínimo
apt-get update
apt-get install graphviz python-vte bridge-utils uml-utilities

# Instalação do gnome-netkit
cd /usr/local/src
wget http://tele.sj.ifsc.edu.br/~msobral/netkit/gnome-netkit/netkit-installer
rm -rf /usr/local/netkit
python netkit-installer
# Instalar em: /usr/local/netkit (não digitar, mas navegar e criar pasta)
chmod 0755 /usr/local/netkit/netkit/bin
chmod 0755 /usr/local/netkit/netkit/bin/gnome-netkit

# Configuração das variáveis de ambiente do usuário sem privilégios de root
exit
cat >> ~/.profile << FIM
export NETKIT_HOME=/usr/local/netkit/netkit
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/netkit/netkit/bin
export MANPATH=:/usr/local/netkit/netkit/man
FIM
. ~/.profile

# Execução do programa
gnome-netkit

13/02: revisão de IPv4

Revisão de IPv4: endereçamento e roteamento.

20/02: revisão de IPv4

Aula de 20/02.

Revisão de IPv4 usando Netkit.

  1. Global

global[compact]=False global[mem]=32 global[vm]=4 global[clean]=False global[path]=/tmp/rco20151/lab


  1. Equipamentos
  2. Estaçoes de trabalho

e0[type]=generic e1[type]=generic e2[type]=generic e3[type]=generic e4[type]=generic

  1. Switches

s0[type]=switch s1[type]=switch

  1. Roteadores

r0[type]=router r1[type]=router r2[type]=router r3[type]=router r4[type]=router


  1. Enlaces e endereçamento IPv4

e0[eth0]=e0-s0:ip=192.168.1.2/29 s0[eth0]=e0-s0

e1[eth0]=e1-s0:ip=192.168.1.3/29 s0[eth1]=e1-s0

e2[eth0]=e2-s0:ip=192.168.1.4/29 s0[eth2]=e2-s0

r0[eth0]=r0-s0:ip=192.168.1.1/29 s0[eth3]=r0-s0

r0[eth1]=r0-r1:ip=192.168.1.17/30 r1[eth0]=r0-r1:ip=192.168.1.18/30

r0[eth2]=r0-r2:ip=192.168.1.21/30 r2[eth0]=r0-r2:ip=192.168.1.22/30

r1[eth1]=r1-r2:ip=192.168.1.25/30 r2[eth1]=r1-r2:ip=192.168.1.26/30

r1[eth2]=r0-r3:ip=192.168.1.33/30 r3[eth1]=r0-r3:ip=192.168.1.34/30

r1[eth3]=r1-r4:ip=192.168.1.37/30 r4[eth2]=r1-r4:ip=192.168.1.38/30

r2[eth2]=r2-r3:ip=192.168.1.29/30 r3[eth0]=r2-r3:ip=192.168.1.30/30

r3[eth2]=r3-r4:ip=192.168.1.41/30 r4[eth1]=r3-r4:ip=192.168.1.42/30

r4[eth0]=r4-s1:ip=192.168.1.9/29 s1[eth0]=r4-s1

e3[eth0]=e3-s1:ip=192.168.1.10/29 s1[eth1]=e3-s1

e4[eth0]=e4-s1:ip=192.168.1.11/29 s1[eth2]=e4-s1


  1. Roteamento IPv4
  2. e
  3. Rotas padrao

e0[default_gateway]=192.168.1.1 e1[default_gateway]=192.168.1.1 e2[default_gateway]=192.168.1.1 e3[default_gateway]=192.168.1.9 e4[default_gateway]=192.168.1.9 r0[default_gateway]=192.168.1.18 r2[default_gateway]=192.168.1.21 r3[default_gateway]=192.168.1.42 r4[default_gateway]=192.168.1.37

  1. Demais rotas

r1[route]=192.168.1.0/29:gateway=192.168.1.26 r1[route]=192.168.1.8/29:gateway=192.168.1.34 </syntaxhighlight>

23/02: IEEE 802.1Q

Visto um cenário simples com interfaces de acesso e de tronco (trunking): duas estações de trabalho (e0 e e1) em sub-redes diferentes, ligadas por um mesmo switch (s0) e roteador (r0), esses últimos com suporte a IEEE 802.1Q.

  • Arquivo de laboratório do Netkit:

  1. Global

global[compact]=False global[mem]=32 global[vm]=4 global[clean]=False global[path]=/tmp/rco20151/lab


  1. Equipamentos

r0[type]=generic s0[type]=generic e0[type]=generic e1[type]=generic


  1. Enlaces
  2. e0

e0[eth0]=e0-s0 s0[eth1]=e0-s0

  1. e1

e1[eth0]=e1-s0 s0[eth2]=e1-s0

  1. r0

r0[eth0]=r0-s0 s0[eth0]=r0-s0 </syntaxhighlight>

  • Arquivo e0.startup:

ip link set eth0 up ip -4 addr add 192.168.100.1/24 dev eth0 ip -4 route add 0.0.0.0/0 via 192.168.100.254 </syntaxhighlight>

  • Arquivo e1.startup:

ifconfig eth0 192.168.200.1/24 up route add default gw 192.168.200.254 </syntaxhighlight>

  • Arquivo r0.startup:

vconfig set_name_type DEV_PLUS_VID_NO_PAD vconfig add eth0 100 vconfig add eth0 200 ip link set eth0 up ip link set eth0.100 up ip link set eth0.200 up ip -4 addr add 192.168.100.254/24 dev eth0.100 ip -4 addr add 192.168.200.254/24 dev eth0.200 sysctl -w net.ipv4.conf.all.forwarding=1 </syntaxhighlight>

  • Arquivo s0.startup:

ip link set eth0 up ip link set eth1 up ip link set eth2 up vconfig set_name_type DEV_PLUS_VID_NO_PAD vconfig add eth0 100 vconfig add eth0 20 ip link set eth0.100 up ip link set eth0.200 up brctl addbr br100 brctl addbr br200 ip link set br100 up ip link set br200 up brctl addif br100 eth0.100 brctl addif br100 eth1 brctl addif br200 eth0.200 brctl addif br200 eth2 </syntaxhighlight>

27/02: Ethernet + IEEE 802.1Q

Primeiro dia do projeto final: Ethernet e VLAN.

02/03: IEEE 802.1Q

Exercício do dia: configurar as camadas Física, Enlace e Rede para permitir o tráfego entre todos os componentes da rede abaixo. Os VIDs das sub-redes são os seguintes:

  • 100;
  • 200;
  • 300.

<graphviz> graph 0203 { rot0 [label="roteador 0",shape=Mrecord] swi0 [label="switch 0",shape=Mrecord] swi1 [label="switch 1",shape=Mrecord] swi2 [label="switch 2",shape=Mrecord] srv0 [label="servidor 0",shape=Mrecord] srv1 [label="servidor 1",shape=Mrecord] est0 [label="estacao 0",shape=Mrecord] est1 [label="estacao 1",shape=Mrecord]

rot0 -- swi0 [label="100,200,300",fontcolor=red,color=red] swi0 -- swi1 [label="200,300",fontcolor=red,color=red] swi0 -- swi2 [label="100",fontcolor=red,color=red] swi1 -- swi2 [label="200,300",fontcolor=red,color=red] swi1 -- srv1 [label="200",fontcolor=blue,color=blue] swi2 -- srv0 [label="300",fontcolor=blue,color=blue] swi2 -- est0 [label="200",fontcolor=blue,color=blue] swi2 -- est1 [label="100",fontcolor=blue,color=blue] } </graphviz>

As interfaces de acesso estão identificadas em azul, enquanto que os entroncamentos VLAN estão em vermelho.

06/03: IEEE 802.1Q

  • Visto em aula o funcionamento das várias interfaces do Linux para o envio de quadros com cabeçalho adicional IEEE 802.1Q e P.

09/03: IEEE 802.1Q-2014

Aula a distância de IEEE 802.1Q-2014.

13/03: Ethernet + IEEE 802.1Q + IEEE 802.1Q-2014

Segundo dia do projeto: Ethernet + VLAN + STP.

16/03: IEEE 802.1Q-2014

Vista a combinação de de prioridade e endereço MAC para a escolha do nó raiz do STP, e seus desdobramentos:

  1. Cálculo do menor caminho ao nó raiz.
  2. Escolha dos enlaces raiz (root ports) e designados (designated ports).
  3. Bloqueio das portas remanescentes.

19/93: IEEE 802.1Q-2014

Terceiro dia do projeto: Ethernet + VLAN + STP.