MPLS Este tutorial apresenta os conceitos básicos do Multi Protocol Label Switching (MPLS) utilizado em redes IP. Eduardo Tude Engenheiro de Teleco (IME 78) e Mestre em Teleco (INPE 81) tendo atuado nas áreas de Redes Ópticas, Sistemas Celulares e Comunicações por Satélite. Ocupou várias posições de Direção em empresas de Teleco como VP de Operações da BMT, Diretor de Operações da Pegasus Telecom e Gerente de Planejamento Celular da Ericsson. Pioneiro no desenvolvimento de Satélites no Brasil (INPE), tem vasta experiência internacional, é detentor de uma patente na área e tem participado constantemente como palestrante em seminários. Assumiu em 2002 um novo desafio profissional como empreendedor e Presidente do Teleco. Email: etude@teleco.com.br Huber Bernal Filho Engenheiro de Teleco (MAUÁ 79), tendo atuado nas áreas de Redes de Dados e Multisserviços, Sistemas Celulares e Sistemas de Supervisão e Controle. Ocupou posições de liderança na Pegasus Telecom (Gerente - Planejamento de Redes), na Compaq (Consultor - Sistemas Antifraude) e na Atech (Coordenador - Projeto Sivam). Atuou também na área de Sistemas de Supervisão e Controle como coordenador de projetos em empresas líderes desse mercado. 1
Tem vasta experiência internacional, tendo trabalhado em projetos de Teleco nos EUA e de Sistemas de Supervisão e Controle na Suécia. Atualmente dedica-se à Teleco e à prestação de serviços de consultoria em telecomunicações. Email: hbernal@teleco.com.br Categoria: Banda Larga Nível: Introdutório Enfoque: Técnico Duração: 15 minutos Publicado em: 26/01/2004 2
MPLS: Roteadores x Switches Roteadores A figura acima apresenta uma rede IP tradicional. Nesta rede o encaminhamento dos pacotes na rede é feito através de roteadores, que implementam a camada 3 de rede do modelo OSI. Exemplos de Protocolos IP ATM, FR Física Rede Camada 3 Enlace Camada 2 Física Camada 1 Em uma rede IP os pacotes de dados são encaminhados um a um e de forma independente. Não é estabelecido uma conexão ou circuito virtual que defina um caminho predeterminado para os pacotes. Ao receber um pacote IP o roteador analisa o endereço destino carregado pelo pacote IP, consulta uma tabela de roteamento mantida pelo roteador e toma uma decisão de para onde encaminhar o pacote. A tabela de roteamento é mantida pelo roteador utilizando informação trocada entre roteadores e procedimentos definidos pelo protocolo de roteamento utilizado. Um roteador pode ser configurado com múltiplos protocolos de roteamento. Open shortest path first (OSPF), Routing Information Protocol (RIP) e Border Gateway Protocol (BGP) são exemplos de protocolos de roteamento. Como a decisão é tomada pacote a pacote, dois pacotes enviados pelo computador X podem seguir caminhos diferentes até o computador Y, passando por exemplo, pelo roteador 1 e indo direto para o 3
roteador 3, ou passando pelos roteadores 1, 2 e 3. A tabela de roteamento pode ser vista também como uma forma de dividir o conjunto de todos pacotes possíveis que um roteador pode passar adiante em um nº finito de subconjuntos disjuntos. Pacotes de cada subconjunto são passados adiante pelo roteador da mesma forma. Estes subconjuntos são chamados de Classes de equivalência para roteamento (FECs - Fowarding Equivalence Classes). Switches Uma outra forma de encaminhar pacotes em uma rede é utilizando switches. Uma switch tem as seguintes características: Operam na camada 2 de enlace do protocolo OSI, abaixo da camada de Rede. O chaveamento é feito no Hardware ou firmware do processador. A switch implementa uma conexão ou circuito virtual, a decisão de encaminhamento não é tomada pacote a pacote. São exemplos de switches para redes de dados as que utilizam os protocolos ATM e Frame relay. Uma switch pode ser descrita como um equipamento com um nº de portas onde diferentes dispositivos podem ser conectados. Quando um pacote chega a switch ela deve descartá-lo ou movê-lo para a porta correta de saída para que ele siga seu caminho. A porta de saída correta é determinada pela informação contida no pacote e em alguns casos na própria switch. A informação contida no pacote de dados utilizada pelo ATM e o Frame Relay para determinar a porta de saída é um identificador de conexão também referenciado como rótulo (label). Este rótulo no cabeçalho do pacote é trocado quando ele passa pela switch, como exemplificado na figura a seguir. Entrada Saída Porta Rótulo Porta Rótulo 1 A 4 C 2 B 3 D Sumarizando, em uma rede IP o encaminhamento dos pacotes de dados é feito por roteadores. Roteadores são dispositivos da camada 3. Switches são dispositivos da camada 2. Comparado aos roteadores as switches tendem a ser mais simples. Elas suportam um nº limitado de protocolos e tipos de interfaces. O algoritmo de encaminhamento de uma switch é invariavelmente muito simples. 4
Estas características fazem com que as switches sejam mais rápidas e mais baratas que os roteadores. 5
MPLS: O que é? Apesar do IP ter se tornado o protocolo padrão a nível do usuário, as vantagens apresentadas pelas switches em relação aos roteadores, levaram a que a maior parte dos backbones IPs, inclusive da Internet fossem implementados utilizando uma rede ATM no seu núcleo como ilustrado na figura a seguir. Esta solução apresenta no entanto as seguintes desvantagens: O mapeamento de pacotes IP no ATM é uma tarefa complexa, tendo sido objeto de vários grupos de estudos. Esta solução não é escalável. Como cada roteador está, na camada IP (rede), conectado por circuitos virtuais a todos os roteadores conectados ao backbone ATM, pode ser mostrado que a quantidade de informação de roteamento que é transmitida nesta rede no caso de uma mudança de topologia no núcleo da rede pode chegar a ser da ordem de n elevado a quarta potência, onde n é o número de roteadores ao redor do núcleo. Desta forma pode-se chegar a um ponto em que o tráfego com informações de roteamento sozinho pode sobrecarregar o roteador. IP Switching Para solucionar estes problemas, a empresa Ipsilon apresentou em 1996 uma arquitetura de rede em que os protocolos de controle do IP rodam diretamente no hardware da switch ATM. As switches ATM ainda encaminham pacotes através da troca de rótulos (label swapping), mas os mecanismos pelos quais eles estabelecem tabelas de encaminhamento e alocam recursos são todos estabelecidos por protocolos de roteamento do IP. Esta solução ficou conhecida com IP switching. Logo em seguida surgiram outros protocolos dentro desta linha de tecnologia, como o Tag Switching (Cisco) e o ARIS (IBM). O IETF criou então um grupo de trabalho para padronizar uma solução baseada nestes protocolos e que deu origem ao Multiprotocol Label Switching (MPLS). MPLS 6
O Multiprotocol Label Switching (MPLS) foi padronizado para resolver uma série de problemas das redes IP, entre eles: Possibilitar a utilização de switches, principalmente em backbones de redes IP, sem ter de lidar com a complexidade do mapeamento do IP no ATM. Switches são em geral mais baratas e apresentam melhor performance que roteadores. Escalabilidade Adicionar novas funcionalidades ao roteamento O MPLS fornece meios para mapear endereços IP em rótulos simples e de comprimento fixo utilizados por diferentes tecnologias de encaminhamento e chaveamento de pacotes. Este mapeamento é feito apenas uma vez no nó na borda da rede MPLS. A partir daí o encaminhamento dos pacotes é feito utilizando-se a informação contida em um rótulo(label) inserido no cabeçalho do pacote. Este rótulo não traz um endereço e é trocado em cada switch. O chaveamento de dados a altas velocidades é possível por que os rótulos de comprimento fixo são inseridos no início do pacote e podem ser usados pelo hardware resultando em um chaveamento rápido. A pesar de ter sido desenvolvido visando redes com camada de rede IP e de enlace ATM, o mecanismo de encaminhamento dos pacotes no MPLS pode ser utilizado para quaisquer outras combinações de protocolos de rede e de enlace, o que explica o nome de Multiprotocol Label switching dado pelo grupo de trabalho do IETF. 7
MPLS: Arquitetura Apresenta-se a segui os principais conceitos da arquitetura do MPLS. Label Rótulo é um identificador de comprimento curto e definido que é usado para identificar uma FEC, tendo geralmente significado local. No ATM este rótulo pode ser inserido no cabeçalho da camada de enlace nos campos de VCI ou VPI. Quando utilizado sobre protocolos onde o cabeçalho da camada de enlace não pode ser utilizado, o rótulo "shim" é inserido entre os cabeçalhos das camadas de enlace e de rede. Foward Equivalence Class (FEC) A Foward Equivalence Class (FEC) é a representação de um grupo de pacotes que tem os mesmo requisitos para o seu transporte. Para todos os pacotes neste grupo é fornecido o mesmo tratamento na rota até o seu destino. FECs são baseados em requisitos de serviço para um dado conjunto de pacotes ou simplesmente por um prefixo de endereçamento. No roteamento IP convencional um roteador em particular irá tipicamente considerar que dois pacotes estão na mesma FEC pela análise do endereço destino do pacote. Quando o pacote anda na rede, em cada roteador o pacote é re examinado e atribuído a uma FEC. No MPLS, a atribuição de um pacote particular a uma FEC em particular é feita apenas uma vez, no LER, quando o pacote entra na rede. A FEC atribuída ao pacote é codificada como um valor de comprimento fixo e curto conhecido como "label". Quando o pacote é encaminhado para o próximo roteador o rótulo é 8
enviado juntamente com ele, ou seja o pacote é rotulado antes de ser encaminhado. Nos roteadores subsequentes (LSR), não existe analise do cabeçalho da camada de rede do pacote. O rótulo é usado como um índice em uma tabela que especifica o próximo roteador e um novo rótulo. O rótulo antigo é trocado pelo novo e o pacote é encaminhado para o próximo roteador. No MPLS, uma vez que um pacote é associado a uma FEC, não é necessário mais nenhuma análise do cabeçalho por parte dos outros roteadores, todo o encaminhamento é feito a partir dos rótulo. Label Edge Router (LER) Um nó MPLS que conecta um domínio MPLS com um nó fora deste domínio. Label Switching Router (LSR) O LSR é um nó do MPLS. Ele recebe o pacote de dados, extrai o label do pacote e o utiliza para descobrir na tabela de encaminhamento qual a porta de saída e o novo rótulo. Para executar este procedimento o LSR tem apenas um algoritmo utilizado para todos os tipos de serviço. A tabela de encaminhamento pode ser única ou existirem várias, uma para cada interface. Elas são compostas utilizando rótulos distribuidos utilizando-se label distribution protocols, RSVP ou protocolos de roteamento como o BGP e OSPF. Label Distribution Protocol (LDP) Label Distribution Protocol é um conjunto de procedimentos pelo qual um LSR informa outro das associações entre Label/FEC que ele fez. Dois LSRs que utilizam um LDP para trocar informações de associações label/fec são conhecidos como "label distribution peers" em relação a informação de associação que trocaram. Label Switching Path (LSP) No MPLS a transmissão de dados ocorre em caminhos chaveados a rótulo (LSPs). LSPs são uma sequência de rótulos em cada e todos os nós ao longo do caminho da origem ao destino. LSPs são estabelecidos antes a transmissão dos dados ou com a detecção de um certo fluxo de dados. 9
MPLS: Considerações finais Este tutorial apresentou os conceitos básicos sobre MPLS e como ele pode ser utilizado para melhorar a performance de backbones de redes IP pela introdução de switches e evitando a complexidade do mapeamento de pacotes IP em ATM. O MPLS proporciona também escalabilidade a rede uma vez que um roteador convencional passa a ter como roteador adjacente o seu LER do Backbone MPLS e não todos os roteadores conectados ao backbone como acontece com backbones ATM. A utilização de rótulos para encaminhamento de pacotes permite também adicionar novas funcionalidades ao roteamento independentemente do endereço IP na camada de rede. É possível desta estabelecer rotas pré-definidas ou prioridades para pacotes quando da definição das FECs. O MPLS passa a ser portanto uma ferramenta poderosa para implementação de QoS e classes de serviço em redes IP. Com o MPLS é possível também implementar túneis utilizados na formação de redes privadas virtuais (VPNs). Sendo esta a solução adotada pela maior parte dos provedores de VPN que possuem backbone IP. Referências IETF/MPLS-charter IETF/MPLS WG mailing list archive MPLS Forum MPLS World IEC - Tutorial MPLS MPLS Resouces Center 10
MPLS: Teste seu entendimento 1. Quais características descritas aplicam-se aos roteadores: Operam na camada 3 de rede do protocolo OSI. O chaveamento de pacotes é feito por software. Suportam diversos protocolos de roteamento, entre eles o OSPF, o RIP e o BGP. O algoritmo de encaminhamento é baseado em tabela de roteamento mantidas pelos roteadores. Todas as anteriores. 2. Quais características descritas aplicam-se as switches: Operam na camada 2 de enlace do protocolo OSI, abaixo da camada de Rede. O chaveamento de pacotes é feito no hardware ou firmware do processador. Suportam um nº limitado de protocolos e tipos de interfaces. O algoritmo de encaminhamento de uma switch é invariavelmente muito simples. Todas as anteriores. 3. Quais problemas das redes IP foram resolvidos com a padronização do MPLS: Possibilitar a utilização de switches em backbones de redes IP, sem ter de lidar com a complexidade do mapeamento do IP no ATM. Adicionar o protocolo Frame Relay sem o uso de conexões virtuais aos roteadores de acesso. Aproximar o protocolo IP do modelo OSI pela adição de tuneis sem conexão. Permitem o uso de canais dedicados sem alocação permanente de tabelas de roteamento. Todas as anteriores. 11