Mudanças entre as edições de "PJI3-lab13"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
(Criou página com '= Objetivos = * Implantar LSP estáticos em uma pequena rede de demonstração * Compreender a comutação de rótulos MPLS = Roteiro = * [http://www.sj.ifsc.edu.br/~msobral/RC...')
 
 
(7 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 5: Linha 5:
 
= Roteiro =
 
= Roteiro =
  
* [http://www.sj.ifsc.edu.br/~msobral/RCO2/roteiros/lab13-mpls.pdf 1o Experimento com MPLS]
+
== Parte 1: Usando o Netkit ==
** [http://tele.sj.ifsc.edu.br/~msobral/RCO2/roteiros/mpls.conf Lab do netkit com o experimento]
 
** Os experimentos usarão o [[Netkit#Switches_MPLS|Netkit e MPLS]]
 
  
O exercício proposto em aula - fazer o LSP entre A2 e A1 passar por E5 ao invés de E3 - implica modificar a configuração dos roteadores E2, E3, E4 e E5:
+
* [http://tele.sj.ifsc.edu.br/~msobral/RCO2/roteiros/mpls.conf Lab do netkit com o experimento]
 +
* Os experimentos usarão o [[Netkit2#Switches_MPLS|Netkit e MPLS]]
  
[[imagem:Exercicio-mpls-1.png|600px]]
 
  
* '''E4:''' mudar a ''NHLFE'' para que o LSP A2->A1 vá para E5.
+
# Obtenha o [http://tele.sj.ifsc.edu.br/~msobral/RCO2/roteiros/mpls.conf arquivo de configuração mpls.conf], que contém o experimento do Netkit. Esse arquivo implementa a seguinte rede:<br>[[imagem:pji3-Mpls-rede1.png|600px]]<br><br>
* '''E5:''' fazer a comutação A2->A1 que antes ficava em E3.
+
# Após carregar o arquivo de configuração no Netkit, inicie a rede.
* '''E2:'''  modificar o ''labelspace 0'' para que contenha a interface ''eth3''.
+
# No computador A1 tente pingar o computador A2, e vice-versa
* '''E3:''' removida a configuração da comutação A2->A1
+
# Enquanto o ''ping'' está em execução, analise o tráfego usando o ''tcpdump'' (ou ''wireshark'') em todos os nós da rede. Por exemplo, para ver o tráfego na interface ''eth0'' do roteador ''E2'' execute: <syntaxhighlight lang=bash>
 +
tcpdump -i eth0 -lne
 +
</syntaxhighlight>Observe as informações sobre os rótulos, e a comutação de rótulos nos roteadores.
 +
# Veja que foram criados dois LSP: um entre A1 e A2, e outro entre A2 e A1. Para verificar se foi entendido como funciona a comutação de rótulos, modifique o LSP entre A2 e A1 para que ele passe por E4, E5 e E2. Isso deve ser feito diretamente no arquivo de configuração usado no Netkit. Com isso, a comunicação entre A1 e A2 ficará assim: <br>[[imagem:Exercicio-mpls-1.png|600px]]<br>Isso implica:
 +
#* '''E4:''' mudar a ''NHLFE'' para que o LSP A2->A1 vá para E5.
 +
#* '''E5:''' fazer a comutação A2->A1 que antes ficava em E3.
 +
#* '''E2:'''  modificar o ''labelspace 0'' para que contenha a interface ''eth3''.
 +
#* '''E3:''' removida a configuração da comutação A2->A1
 +
 
 +
== Parte 2: Usando roteadores Linux ==
 +
 
 +
# Obtenha [http://191.36.9.120/~msobral/mpls.ova esta imagem do Virtualbox]. Instale-a usando o menu ''Arquivo->Importar Appliance'' (marque ''Reinicialize o endereço MAC de todas as placas de rede'' quando solicitado). Isso irá criar uma nova máquina virtual que contém um roteador Linux.
 +
# Serão necessários quatro roteadores Linux para reproduzir o experimento feito com o Netkit
 +
# A configuração MPLS nos roteadores deve usar o software [http://frr.org/ frr], que transforma um computador Linux em um roteador parecido com o Cisco.
 +
## Logue com usuário ''aluno'' e senha ''aluno''.
 +
## Execute um shell como superusuário, usando este comando: <syntaxhighlight lang=bash>
 +
sudo -s
 +
</syntaxhighlight>
 +
## Execute o programa ''vtysh'' para ter acesso ao console do roteador: <syntaxhighlight lang=bash>
 +
vtysh
 +
</syntaxhighlight>
 +
## Investigue a interface CLI do roteador (lembre que se teclar ''?'' um ajuda com os comandos possíveis é apresentada)
 +
## Segue um sumário com os comandos relacionados a MPLS: <syntaxhighlight lang=text>
 +
# FEC: para encaminhar para prefixo/máscara, adicione número_rótulo e encaminhe para próximo roteador
 +
ip route prefixo/máscara IP_próximo_roteador label número_do_rótulo
 +
 
 +
# ILM + NHLFE: ao receber rótulo_entrada, substitua-o por rótulo_saída e encaminhe-o para próximo_roteador
 +
mpls lsp rótulo_entrada IP_próximo_roteador rótulo_saída
 +
</syntaxhighlight>
 +
## Além desses comandos, a retirada do rótulo de um pacote quando chega ao roteador de saída da rede MPLS deve ser feita com este comando diretamente no shell: <syntaxhighlight lang=bash>
 +
# ILM: ao receber rótulo_entrada, remova-o e entregue o pacote na interface lo.
 +
# Isso tem o efeito da operação POP
 +
ip -f mpls route rótulo_entrada dev lo
 +
</syntaxhighlight>
 +
# Reproduza a rede usada no experimento no Netkit
 +
 
 +
== Parte 3: Simulando links MPLS providos por uma operadora ==
 +
 
 +
Na 3a parte deste experimento, deve-se implantar no laboratório um cenário que simule links de acesso MPLS de uma operadora. Esses links fornecem o acesso a Internet para clientes da operadora (ex: um desses clientes poderia ser o provedor metropolitano). A figura a seguir mostra como poderia ser esse cenário:
 +
 
 +
[[imagem:pji3-Mpls2.jpg|480px]]
 +
<br>''Os links MPLS providos por uma operadora''
 +
 
 +
Para implantar o cenário, serão necessários dois roteadores Linux. Eles estão identificados como LER1 e LER2 na figura. Os roteadores LSR e LER3 pertencem à operadora, sendo que LSR atende alguns clientes e LER3 liga a rede da operadora com a Internet. Além dos roteadores, devem-se escolher parâmetros para as subredes e os links MPLS. Assim, cabe à turma escolher as subredes de LAN1 e LAN2, os endereços dos roteadores MPLS, e os valores de rótulos a serem usados nos LSP (circuitos virtuais MPLS).

Edição atual tal como às 17h03min de 28 de junho de 2018

Objetivos

  • Implantar LSP estáticos em uma pequena rede de demonstração
  • Compreender a comutação de rótulos MPLS

Roteiro

Parte 1: Usando o Netkit


  1. Obtenha o arquivo de configuração mpls.conf, que contém o experimento do Netkit. Esse arquivo implementa a seguinte rede:
    Pji3-Mpls-rede1.png

  2. Após carregar o arquivo de configuração no Netkit, inicie a rede.
  3. No computador A1 tente pingar o computador A2, e vice-versa
  4. Enquanto o ping está em execução, analise o tráfego usando o tcpdump (ou wireshark) em todos os nós da rede. Por exemplo, para ver o tráfego na interface eth0 do roteador E2 execute:
    tcpdump -i eth0 -lne
    
    Observe as informações sobre os rótulos, e a comutação de rótulos nos roteadores.
  5. Veja que foram criados dois LSP: um entre A1 e A2, e outro entre A2 e A1. Para verificar se foi entendido como funciona a comutação de rótulos, modifique o LSP entre A2 e A1 para que ele passe por E4, E5 e E2. Isso deve ser feito diretamente no arquivo de configuração usado no Netkit. Com isso, a comunicação entre A1 e A2 ficará assim:
    Exercicio-mpls-1.png
    Isso implica:
    • E4: mudar a NHLFE para que o LSP A2->A1 vá para E5.
    • E5: fazer a comutação A2->A1 que antes ficava em E3.
    • E2: modificar o labelspace 0 para que contenha a interface eth3.
    • E3: removida a configuração da comutação A2->A1

Parte 2: Usando roteadores Linux

  1. Obtenha esta imagem do Virtualbox. Instale-a usando o menu Arquivo->Importar Appliance (marque Reinicialize o endereço MAC de todas as placas de rede quando solicitado). Isso irá criar uma nova máquina virtual que contém um roteador Linux.
  2. Serão necessários quatro roteadores Linux para reproduzir o experimento feito com o Netkit
  3. A configuração MPLS nos roteadores deve usar o software frr, que transforma um computador Linux em um roteador parecido com o Cisco.
    1. Logue com usuário aluno e senha aluno.
    2. Execute um shell como superusuário, usando este comando:
      sudo -s
      
    3. Execute o programa vtysh para ter acesso ao console do roteador:
      vtysh
      
    4. Investigue a interface CLI do roteador (lembre que se teclar ? um ajuda com os comandos possíveis é apresentada)
    5. Segue um sumário com os comandos relacionados a MPLS:
      # FEC: para encaminhar para prefixo/máscara, adicione número_rótulo e encaminhe para próximo roteador
      ip route prefixo/máscara IP_próximo_roteador label número_do_rótulo
      
      # ILM + NHLFE: ao receber rótulo_entrada, substitua-o por rótulo_saída e encaminhe-o para próximo_roteador
      mpls lsp rótulo_entrada IP_próximo_roteador rótulo_saída
      
    6. Além desses comandos, a retirada do rótulo de um pacote quando chega ao roteador de saída da rede MPLS deve ser feita com este comando diretamente no shell:
      # ILM: ao receber rótulo_entrada, remova-o e entregue o pacote na interface lo.
      # Isso tem o efeito da operação POP
      ip -f mpls route rótulo_entrada dev lo
      
  4. Reproduza a rede usada no experimento no Netkit

Parte 3: Simulando links MPLS providos por uma operadora

Na 3a parte deste experimento, deve-se implantar no laboratório um cenário que simule links de acesso MPLS de uma operadora. Esses links fornecem o acesso a Internet para clientes da operadora (ex: um desses clientes poderia ser o provedor metropolitano). A figura a seguir mostra como poderia ser esse cenário:

Pji3-Mpls2.jpg
Os links MPLS providos por uma operadora

Para implantar o cenário, serão necessários dois roteadores Linux. Eles estão identificados como LER1 e LER2 na figura. Os roteadores LSR e LER3 pertencem à operadora, sendo que LSR atende alguns clientes e LER3 liga a rede da operadora com a Internet. Além dos roteadores, devem-se escolher parâmetros para as subredes e os links MPLS. Assim, cabe à turma escolher as subredes de LAN1 e LAN2, os endereços dos roteadores MPLS, e os valores de rótulos a serem usados nos LSP (circuitos virtuais MPLS).