Redes de Computadores II (diário 2015-1)
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
Revisão de IPv4 usando Netkit.
- Global
global[compact]=False
global[mem]=32
global[vm]=4
global[clean]=False
global[path]=/tmp/rco20151/lab
- Equipamentos
- Estaçoes de trabalho
e0[type]=generic
e1[type]=generic
e2[type]=generic
e3[type]=generic
e4[type]=generic
- Switches
s0[type]=switch
s1[type]=switch
- Roteadores
r0[type]=router
r1[type]=router
r2[type]=router
r3[type]=router
r4[type]=router
- 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
- Roteamento IPv4
- e
- 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
- 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:
- Global
global[compact]=False
global[mem]=32
global[vm]=4
global[clean]=False
global[path]=/tmp/rco20151/lab
- Equipamentos
r0[type]=generic
s0[type]=generic
e0[type]=generic
e1[type]=generic
- Enlaces
- e0
e0[eth0]=e0-s0
s0[eth1]=e0-s0
- e1
e1[eth0]=e1-s0
s0[eth2]=e1-s0
- 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
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:
- Cálculo do menor caminho ao nó raiz.
- Escolha dos enlaces raiz (root ports) e designados (designated ports).
- Bloqueio das portas remanescentes.
19/93: IEEE 802.1Q-2014
Terceiro dia do projeto: Ethernet + VLAN + STP.