Mudanças entre as edições de "Redes de Computadores II (diário 2015-1)"
(→09/02) |
|||
(85 revisões intermediárias por 4 usuários não estão sendo mostradas) | |||
Linha 1: | Linha 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 <tt>/tmp/rco20151</tt>: | ||
+ | <syntaxhighlight lang=bash> | ||
+ | git clone https://github.com/boidacarapreta/ifsc.git -b rco20151 /tmp/rco20151 | ||
+ | </syntaxhighlight> | ||
+ | __TOC__ | ||
+ | =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. | ||
+ | |||
+ | <center> | ||
+ | {| border=1 | ||
+ | |- | ||
+ | | '''Aluno''' || '''Prova 1''' || '''Prova 2''' || '''Projeto Final''' || '''Recuperação''' | ||
+ | |- | ||
+ | | Alfredo || D || B || D || D | ||
+ | |- | ||
+ | | Carlos || D || D || C || | ||
+ | |- | ||
+ | | Giovana || D || C || D || D | ||
+ | |- | ||
+ | | Giovanni || C || D || A || - | ||
+ | |- | ||
+ | | Guilherme || D || A || A || - | ||
+ | |- | ||
+ | | Maciel || D || D || D || D | ||
+ | |- | ||
+ | | Ramon || D || D || D || D | ||
+ | |- | ||
+ | | Valdo || C || D || A || - | ||
+ | |- | ||
+ | | Valmir || B || A || A || - | ||
+ | |- | ||
+ | | Vinicius || A || B || C || - | ||
+ | |- | ||
+ | |} | ||
+ | </center> | ||
+ | |||
+ | ==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= | =Aulas= | ||
− | ==09/02== | + | |
− | Instalação do | + | ==06/02: apresentação da disciplina== |
+ | Apresentação da disciplina e plano de ensino. | ||
+ | |||
+ | ==09/02: instalação do GNOME Netkit== | ||
+ | Instalação do [[Netkit|GNOME Netkit]]: | ||
<syntaxhighlight lang=bash> | <syntaxhighlight lang=bash> | ||
# Verificação da configuração de rede | # Verificação da configuração de rede | ||
Linha 33: | Linha 85: | ||
# Execução do programa | # Execução do programa | ||
+ | gnome-netkit | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==13/02: revisão de IPv4== | ||
+ | Revisão de IPv4: endereçamento e roteamento. | ||
+ | |||
+ | ==20/02: revisão de IPv4== | ||
+ | [[Imagem:rco20151-1.jpg|thumb|400px|Aula de 20/02.]] | ||
+ | Revisão de IPv4 usando Netkit. | ||
+ | <code> | ||
+ | # 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 (<tt>e0</tt> e <tt>e1</tt>) em sub-redes diferentes, ligadas por um mesmo ''switch'' (<tt>s0</tt>) e roteador (<tt>r0</tt>), esses últimos com suporte a IEEE 802.1Q. | ||
+ | |||
+ | * Arquivo de laboratório do Netkit: | ||
+ | <code> | ||
+ | # 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: | ||
+ | <code> | ||
+ | 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: | ||
+ | <code> | ||
+ | ifconfig eth0 192.168.200.1/24 up | ||
+ | route add default gw 192.168.200.254 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | * Arquivo r0.startup: | ||
+ | <code> | ||
+ | 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: | ||
+ | <code> | ||
+ | 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: [https://github.com/boidacarapreta/ifsc/commit/f11d14aaf1ea7bf1ef98b3cb7015b95f8cc9adfc 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: | ||
+ | * <tt>100</tt>; | ||
+ | * <tt>200</tt>; | ||
+ | * <tt>300</tt>. | ||
+ | <center> | ||
+ | <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> | ||
+ | </center> | ||
+ | |||
+ | 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== | ||
+ | [http://200.135.233.26/p/rco20151 Aula a distância de IEEE 802.1Q-2014]. | ||
+ | |||
+ | ==13/03: Ethernet + IEEE 802.1Q + IEEE 802.1Q-2014== | ||
+ | Segundo dia do projeto: [https://github.com/boidacarapreta/ifsc/commit/9e18e6aa347f310248719a8d24e0fe53caf8df8f 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/03: IEEE 802.1Q-2014== | ||
+ | Terceiro dia do projeto: [https://github.com/boidacarapreta/ifsc/commit/393c22b4ffce39a8dcc6949d73cdc6e15a08b0a9 Ethernet + VLAN + STP]. | ||
+ | |||
+ | ==23/03: IEEE 802.1AX-2008== | ||
+ | Cenário visto em aula: | ||
<code> | <code> | ||
+ | # Global | ||
+ | global[compact]=False | ||
+ | global[mem]=32 | ||
+ | global[vm]=4 | ||
+ | global[clean]=False | ||
+ | global[path]=/tmp/rco20151/lab | ||
+ | |||
+ | |||
+ | # Equipamentos | ||
+ | # | ||
+ | # Roteadores | ||
+ | r0rot0[type]=generic | ||
+ | # | ||
+ | # Switches | ||
+ | r0swi0[type]=generic | ||
+ | # | ||
+ | # Servidores | ||
+ | # | ||
+ | r0srv0[type]=generic | ||
+ | # | ||
+ | # Estaçoes de trabalho | ||
+ | r0est0[type]=generic | ||
+ | |||
+ | # Enlaces | ||
+ | # | ||
+ | r0rot0[eth0]=r0rot0-r0swi0-0 | ||
+ | r0swi0[eth0]=r0rot0-r0swi0-0 | ||
+ | r0rot0[eth1]=r0rot0-r0swi0-1 | ||
+ | r0swi0[eth1]=r0rot0-r0swi0-1 | ||
+ | # | ||
+ | r0srv0[eth0]=r0srv0-r0swi0-0 | ||
+ | r0swi0[eth2]=r0srv0-r0swi0-0 | ||
+ | r0srv0[eth1]=r0srv0-r0swi0-1 | ||
+ | r0swi0[eth3]=r0srv0-r0swi0-1 | ||
+ | r0srv0[eth2]=r0srv0-r0swi0-2 | ||
+ | r0swi0[eth4]=r0srv0-r0swi0-2 | ||
+ | r0srv0[eth3]=r0srv0-r0swi0-3 | ||
+ | r0swi0[eth5]=r0srv0-r0swi0-3 | ||
+ | # | ||
+ | r0est0[eth0]=r0est0-r0swi0 | ||
+ | r0swi0[eth6]=r0est0-r0swi0 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==27/03: primeira avaliação== | ||
+ | Em relação ao cenário do projeto: | ||
+ | # Adicione um novo ''switch'', "r0swi3", e movimente o servidor "r0srv0" para esse novo equipamento em rede. Além do servidor, Esse ''switch'' estará ligado aos ''switches'' "r0swi1" e "r0swi2". Lembrando: o tráfego de rede (IPv4) não deve ser modificado sob hipótese alguma. | ||
+ | ## Mude as prioridades dos ''switches'' da seguinte forma: | ||
+ | ### Máxima: mais próximo do servidor. | ||
+ | ### Alta: mais próximo do roteador. | ||
+ | ### Média: mais próximo das estações. | ||
+ | ### Baixa: demais ''switches''. | ||
+ | # Informe, para cada um dos casos acima (máxima, alta, média e baixa) qual(is) a(s) porta(s) de ''switch'' que, em operação, ficará(ão) com o estado STP bloqueado. | ||
+ | |||
+ | ==30/03: IEEE 802.1AX-2008== | ||
+ | Visão geral de agregação de enlace e suas tecnologias. | ||
+ | |||
+ | ==03/04: não houve aula== | ||
+ | Sexta-feira Santa. | ||
+ | |||
+ | ==06/04: IEEE 802.1AX-2008== | ||
+ | Visão geral de agregação de enlace e suas tecnologias, em especial LACP. | ||
+ | |||
+ | ==10/04: IEEE 802.1AX-2008== | ||
+ | Quarto dia do projeto: [https://github.com/boidacarapreta/ifsc/commit/28dc9f14121aa38652e91cebade7eca13e0a823a Ethernet + VLAN + STP + LACP]. | ||
+ | |||
+ | ==13/04: revisão para a prova== | ||
+ | Revisão de Ethernet + VLAN + STP + LACP. | ||
+ | |||
+ | ==17/04: segunda avaliação== | ||
+ | Segunda avaliação prática da disciplina. | ||
+ | |||
+ | # Adicione os seguintes enlaces no cenário: | ||
+ | ## +1 enlace entre r0rot0 e r0swi1. | ||
+ | ## +1 enlace entre r0swi0 e r0swi1. | ||
+ | ## +1 enlace entre r0swi0 e r0swi2. | ||
+ | ## +1 enlace entre r0swi1 e r0swi2. | ||
+ | ## +1 enlaces entre r0srv0 e r0swi1. | ||
+ | ## +3 enlaces entre r0srv1 e r0swi1. | ||
+ | |||
+ | ==20/04: protocolos de redes locais== | ||
+ | Revisão com todos os protocolos de redes locais vistos na disciplina. | ||
+ | |||
+ | ==24/04: protocolos de redes locais== | ||
+ | Revisão com todos os protocolos de redes locais vistos na disciplina. | ||
+ | |||
+ | ==27/04: PPP== | ||
+ | Revisão com todos os protocolos de redes locais vistos na disciplina e roteamento estático com enlaces WAN sobre PPP. | ||
+ | |||
+ | ==04/05: Ethernet + VLAN + STP + LACP + PPP== | ||
+ | Quinto dia do projeto: [https://github.com/boidacarapreta/ifsc/commit/28dc9f14121aa38652e91cebade7eca13e0a823a Ethernet + VLAN + STP + LACP + PPP]. | ||
+ | |||
+ | Ao lado, a topologia da rede utilizada no protejo. | ||
+ | [[Arquivo:TOPOLOGIA.jpg|400px|thumb|Redes remotas r0 e r1.]] | ||
+ | |||
+ | ==08/05: Ethernet + VLAN + STP + LACP + PPP== | ||
+ | Continuação da atividade da aula anterior. | ||
+ | |||
+ | ==11/05: Roteamento estático== | ||
+ | Última atividade de roteamento antes de iniciar MPLS IP. Na figura ao lado (roteamento estático entre r0 e r1), uma rede - fora do contexto do projeto - a ser configurada usando apenas roteamento estático. A proposta é nos prepararmos para o próximo tópico da disciplina. | ||
+ | [[Imagem:rco20151-roteamento.jpg|thumb|400px|Roteamento estático entre r0 e r1.]] | ||
+ | [[Imagem:IMG 20150522 084718930 HDR.jpg|thumb|400px|2ª Aula de MPLS]] | ||
+ | |||
+ | ==01/06: Roteamento== | ||
+ | |||
+ | Novo roteamento | ||
+ | [[Arquivo:20150601 111442 Richtone(HDR).jpg|thumb|400px|]] | ||
+ | |||
+ | ==18/05: MPLS== | ||
+ | Conceitos básicos de MPLS<ref>GUICHARDS, J. e PEPELNJAK, I. '''MPLS and VPN architectures: a practical guide to understanding, designing, and deploying MPLS and MPLS-enabled VPNs'''. Cisco Press, 2005. 420 p. ISBN 1587050021.</ref>. | ||
+ | |||
+ | [[Arquivo:20150615 111325 Richtone(HDR).jpg|thumb|400px|Projeto final da disciplina.]] | ||
+ | |||
+ | ==22/05: MPLS== | ||
+ | Apresentação de um cenário simplificado de MPLS para compreensão dos conceitos básicos. | ||
+ | |||
+ | ==25/05: MPLS== | ||
+ | Continuação da atividade da aula anterior. | ||
+ | |||
+ | ==01/06: Ethernet + VLAN + STP + LACP + PPP + MPLS== | ||
+ | Sexto dia do projeto: [https://github.com/boidacarapreta/ifsc/commit/c9ba7f5740e773ceadb15358fc567f3b6a865420 Ethernet + VLAN + STP + LACP + PPP + MPLS]. | ||
+ | |||
+ | ==05/06: não houve aula== | ||
+ | |||
+ | ==08/06: Ethernet + VLAN + STP + LACP + PPP + MPLS== | ||
+ | Continuação da atividade da aula anterior. No cenário modificado, cada sentido de tráfego terá seu caminho distinto. | ||
+ | |||
+ | =Referências= | ||
+ | <references/> |
Edição atual tal como às 01h59min de 30 de junho de 2015
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.
Aluno | Prova 1 | Prova 2 | Projeto Final | Recuperação |
Alfredo | D | B | D | D |
Carlos | D | D | C | |
Giovana | D | C | D | D |
Giovanni | C | D | A | - |
Guilherme | D | A | A | - |
Maciel | D | D | D | D |
Ramon | D | D | D | D |
Valdo | C | D | A | - |
Valmir | B | A | A | - |
Vinicius | A | B | C | - |
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/03: IEEE 802.1Q-2014
Terceiro dia do projeto: Ethernet + VLAN + STP.
23/03: IEEE 802.1AX-2008
Cenário visto em aula:
- Global
global[compact]=False
global[mem]=32
global[vm]=4
global[clean]=False
global[path]=/tmp/rco20151/lab
- Equipamentos
- Roteadores
r0rot0[type]=generic
- Switches
r0swi0[type]=generic
- Servidores
r0srv0[type]=generic
- Estaçoes de trabalho
r0est0[type]=generic
- Enlaces
r0rot0[eth0]=r0rot0-r0swi0-0
r0swi0[eth0]=r0rot0-r0swi0-0
r0rot0[eth1]=r0rot0-r0swi0-1
r0swi0[eth1]=r0rot0-r0swi0-1
r0srv0[eth0]=r0srv0-r0swi0-0
r0swi0[eth2]=r0srv0-r0swi0-0
r0srv0[eth1]=r0srv0-r0swi0-1
r0swi0[eth3]=r0srv0-r0swi0-1
r0srv0[eth2]=r0srv0-r0swi0-2
r0swi0[eth4]=r0srv0-r0swi0-2
r0srv0[eth3]=r0srv0-r0swi0-3
r0swi0[eth5]=r0srv0-r0swi0-3
r0est0[eth0]=r0est0-r0swi0
r0swi0[eth6]=r0est0-r0swi0
</syntaxhighlight>
27/03: primeira avaliação
Em relação ao cenário do projeto:
- Adicione um novo switch, "r0swi3", e movimente o servidor "r0srv0" para esse novo equipamento em rede. Além do servidor, Esse switch estará ligado aos switches "r0swi1" e "r0swi2". Lembrando: o tráfego de rede (IPv4) não deve ser modificado sob hipótese alguma.
- Mude as prioridades dos switches da seguinte forma:
- Máxima: mais próximo do servidor.
- Alta: mais próximo do roteador.
- Média: mais próximo das estações.
- Baixa: demais switches.
- Informe, para cada um dos casos acima (máxima, alta, média e baixa) qual(is) a(s) porta(s) de switch que, em operação, ficará(ão) com o estado STP bloqueado.
30/03: IEEE 802.1AX-2008
Visão geral de agregação de enlace e suas tecnologias.
03/04: não houve aula
Sexta-feira Santa.
06/04: IEEE 802.1AX-2008
Visão geral de agregação de enlace e suas tecnologias, em especial LACP.
10/04: IEEE 802.1AX-2008
Quarto dia do projeto: Ethernet + VLAN + STP + LACP.
13/04: revisão para a prova
Revisão de Ethernet + VLAN + STP + LACP.
17/04: segunda avaliação
Segunda avaliação prática da disciplina.
- Adicione os seguintes enlaces no cenário:
- +1 enlace entre r0rot0 e r0swi1.
- +1 enlace entre r0swi0 e r0swi1.
- +1 enlace entre r0swi0 e r0swi2.
- +1 enlace entre r0swi1 e r0swi2.
- +1 enlaces entre r0srv0 e r0swi1.
- +3 enlaces entre r0srv1 e r0swi1.
20/04: protocolos de redes locais
Revisão com todos os protocolos de redes locais vistos na disciplina.
24/04: protocolos de redes locais
Revisão com todos os protocolos de redes locais vistos na disciplina.
27/04: PPP
Revisão com todos os protocolos de redes locais vistos na disciplina e roteamento estático com enlaces WAN sobre PPP.
04/05: Ethernet + VLAN + STP + LACP + PPP
Quinto dia do projeto: Ethernet + VLAN + STP + LACP + PPP.
Ao lado, a topologia da rede utilizada no protejo.
08/05: Ethernet + VLAN + STP + LACP + PPP
Continuação da atividade da aula anterior.
11/05: Roteamento estático
Última atividade de roteamento antes de iniciar MPLS IP. Na figura ao lado (roteamento estático entre r0 e r1), uma rede - fora do contexto do projeto - a ser configurada usando apenas roteamento estático. A proposta é nos prepararmos para o próximo tópico da disciplina.
01/06: Roteamento
Novo roteamento
18/05: MPLS
Conceitos básicos de MPLS[1].
22/05: MPLS
Apresentação de um cenário simplificado de MPLS para compreensão dos conceitos básicos.
25/05: MPLS
Continuação da atividade da aula anterior.
01/06: Ethernet + VLAN + STP + LACP + PPP + MPLS
Sexto dia do projeto: Ethernet + VLAN + STP + LACP + PPP + MPLS.
05/06: não houve aula
08/06: Ethernet + VLAN + STP + LACP + PPP + MPLS
Continuação da atividade da aula anterior. No cenário modificado, cada sentido de tráfego terá seu caminho distinto.
Referências
- ↑ GUICHARDS, J. e PEPELNJAK, I. MPLS and VPN architectures: a practical guide to understanding, designing, and deploying MPLS and MPLS-enabled VPNs. Cisco Press, 2005. 420 p. ISBN 1587050021.