PJI3-lab13: mudanças entre as edições

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

1 Objetivos

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

2 Roteiro

2.1 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:


  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:

    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

2.2 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

2.3 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:


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).