Você está na página 1de 10
02/11/12 Teleco www.teleco.com.br © 2012 Teleco MPLS I: Arquitetura Nesta seção, os principais aspectos de toda a arquitetura MPLS serão abordados, desde os conceitos básicos e definições do formado desta arquitetura, até os importantes pontos de segurança em uma rede MPLS, sua implementação e a descrição de seus elementos físicos. Será exposto o método de etiquetas (rótulos), que faz com que esta tecnologia facilite o tráfego de dados na rede. Para um melhor entendimento desta tecnologia, diversas imagens intuitivas serão exibidas, simulando o tráfego de uma rede MPLS. Conceitos Básicos e Definição MPLS é um framework definido pelo Internet Engineering Task Force (IETF) que proporciona designação, encaminhamento e comutação eficiente de fluxo de tráfego através da rede. O MPLS combina as vantagens das camadas 2 e 3 do modelo OSI (camada de enlace e rede respectivamente), contando com, a simplicidade da comutação de pacotes, e a inteligência e organização do roteamento (KAKIHARA, 2006). O MPLS utiliza o roteamento IP tradicional para anunciar e estabelecer a comunicação na topologia de rede. O MPLS trabalha acima desta topologia, pré-determinando os caminhos de dados, onde, estas informações são codificadas em rótulos, que possam ser entendidos pelos roteadores. O Caminho estabelecido entre um ponto ao outro na rede é chamado de LSP (Label-Switched Path ou, caminho de comutação de rótulos) (MPLS: CONFORMENCE AND PERFORMANCE TESTING, 17 out 2007). Um LSP é definido por uma sucessão de rótulos atribuídos pelos equipamentos localizados na borda da rede (conhecidos com LER’s ou Label Edge Routers) entre o destino e a origem. Tanto a atribuição de rótulos aos pacotes de dados, como o estabelecimento de um LSP, são funções executadas pelos roteadores LER. No núcleo da rede, os equipamentos de alta velocidade, conhecidos como LSR’s (Label Switching Routers), tomam a decisão de encaminhamento dos pacotes de dados baseando-se apenas no rótulo do pacote atribuído pelo LER, não levando em conta o restante do cabeçalho (ABREU, 9 jun 2007). Figura 16: Componentes de uma Rede MPLS No roteamento salto-a-salto (considera-se cada ponto da rede como um salto), cada equipamento MPLS do núcleo (o LSR), seleciona o próximo ponto da rede por onde o pacote passará, baseando-se em uma classe de equivalência de envio, conhecido como FEC (Forwarding Equivalency Class). Cada FEC descreve um grupo de pacotes do mesmo tipo onde, todos os pacotes de um mesmo tipo possuem o mesmo tratamento de roteamento na rede. Uma FEC pode se basear em um endereçamento IP, rota ou um requerimento de serviço por pacotes (MPLS: CONFORMENCE AND PERFORMANCE TESTING, 17 out 2007). www.teleco.com.br/imprimir.asp?pagina=/tutoriais/tutorialmplseb1/pagina_4.asp 1/10 02/11/12 Teleco Quando um caminho é sinalizado e estabelecido na rede, cada equipamento MPLS constrói uma base de informações de rótulos conhecida como LIB (Label Information Base). A LIB nada mais é do que uma tabela onde se especifica como e por onde encaminhar um pacote. Essa tabela associa cada pacote a sua FEC correspondente e, indica à qual porta do roteador o pacote deve ser encaminhado (MPLS: CONFORMENCE AND PERFORMANCE TESTING, 17 out 2007). Figura 17: Criação da tabela de roteamento Conexões são sinalizadas e rótulos são distribuídos entre os equipamentos em uma rede MPLS devido à utilização de um ou mais protocolos de sinalização, dentre eles estão o LDP (Label Distribution Protocol) e o RSVPTE (Resource reSerVation Protocol with Tunneling Extensions). A função de um protocolo de sinalização é permitir que um LRS distribua um rótulo, tornando-se o responsável real pelo estabelecimento dos LSP’s na rede (CAMPOS, 9 jun 2007). O LDP é o sinalizador de protocolo mais utilizado nas redes MPLS atualmente, especificado IETF conforme a recomendação RFC 3036. O LDP define uma série de procedimentos utilizados pelos equipamentos para a troca de rótulos e o mapeamento do fluxo de informações. Ele é utilizado geralmente para sinalizar as extremidades da rede MPLS – ponto crítico devido ao tráfego de entrada na rede. Essa sinalização é exigida quando se estabelece VPN’s MPLS, por exemplo (MPLS TUTORIAL, 17 out 2007). O RSVPTE também é utilizado na distribuição de rótulos, mais comumente no núcleo da rede. Provê funcionalidades adicionais, além da distribuição dos rótulos como roteamento explícito do LSP, reroteamento dinâmico contornando falhas na rede e detecção de looping. O RSVPTE pode distribuir parâmetros de engenharia de tráfego como reserva de largura de banda e exigências de QoS (MPLS: CONFORMENCE AND PERFORMANCE TESTING, 17 out 2007). O MPLS permite a utilização de múltiplos rótulos (conhecido como pilha de rótulos) a ser transportado por um pacote. Ao habilitar a pilha de rótulos nos roteadores MPLS, permite que haja uma diferenciação entre tipos de fluxos de dados, configurando e distribuindo LSP’s adequadamente. Uma utilização comum de pilha de rótulos é no estabelecimento de túneis (caminhos) pelas redes MPLS utilizadas por aplicações de VPN (MPLS: CONFORMENCE AND PERFORMANCE TESTING, 17 out 2007). A figura 17 mostra uma típica rede MPLS e seus elementos principais. O centro da nuvem representa a rede MPLS na prestadora de serviço. Todo o tráfego de dados dentro dela é rotulado. O tráfego que está fora da nuvem - entre a nuvem e a rede - não é rotulado (pacotes IP por exemplo). Ao ingressar na nuvem, os pacotes são rotulados pelo LER, o qual adiciona o cabeçalho MPLS ao pacote de dados. Ao sair da rede, o pacote de dados sofre o processo inverso, tendo o cabeçalho MPLS removido pelo LER mais próximo ao destino. Os equipamentos centrais da nuvem (LRS’s) comutam salto-a-salto os pacotes de dados utilizando apenas como parâmetro o cabeçalho MPLS (MPLS: CONFORMENCE AND PERFORMANCE TESTING, 17 out 2007). www.teleco.com.br/imprimir.asp?pagina=/tutoriais/tutorialmplseb1/pagina_4.asp 2/10 02/11/12 Teleco Figura 18: Transmissão de pacote na Rede MPLS Dispositivos de uma Rede MPLS O encaminhamento de pacote MPLS contrasta totalmente com a conectividade das atuais redes. Cada pacote é analisado em cada base, salto-a-salto, onde o cabeçalho de camada 3 (camada de rede do modelo OSI) é checado e, uma decisão independente do encaminhamento do pacote é tomada, baseada na informação do algoritmo de roteamento da camada de rede (PEPELNJAK, 2002). Tabela 2: Roteamento convencional X Comutação de rótulo Características Análise do cabeçalho IP por completo Suporte Unicast e multicast Roteamento Convencional Ocorre em todos os pontos Necessita de muitos algoritmos complexos de encaminhamento Baseia-se somente no endereço Comutação de Rótulo Ocorre somente na borda da rede quando a rótulo é determinada Necessita de um algoritmo de encaminhamento Podem ser usados como base inúmeros parâmetros, tais como Qos, VPN, membership. Decisão de Roteamento Fonte: (LOPEZ, 29 out 2007). A arquitetura do encaminhamento de rótulos MPLS é dividida em dois componentes: o componente de encaminhamento (data plane) e o componente de controle (control plane). Utilizando os protocolos de roteamento padrões (como OSPF, BGP ou RIP), o componente de controle é responsável por realizar a troca de informações com outros equipamentos adjacentes, mantendo a tabela LIB sempre atualizada, além de, executar o transporte do pacote na rede, utilizando informações a partir da LIB que é mantida em cada equipamento. O componente de encaminhamento é responsável por criar e manter a tabela LIB. Ele examina a informação contida no cabeçalho do pacote e, faz uma busca na LIB para que consiga estabelecer uma associação entre o pacote e um rotulo particular (INACIO, 9 jun 2007). A LIB consiste em uma seqüência de entradas que são utilizadas no encaminhamento dos pacotes. Esta seqüência de entradas é criada de acordo com as FEC’s e os rótulos associados a elas. Esta tabela é responsável pelo encaminhamento dos pacotes dentro da rede MPLS (GARCIA, 02 nov 2007). Tabela 3: Tabela LIB FEC Rótulo Entrada Interface Entrada Prefixo End. Rótulo Saída Interface Saída 3/10 www.teleco.com.br/imprimir.asp?pagina=/tutoriais/tutorialmplseb1/pagina_4.asp 02/11/12 Teleco X Y 4 5 2 2 198.168 10.255 9 7 0 1 Como visto anteriormente, dentro de uma rede MPLS destacam-se dois elementos de redes primordiais para o bom funcionamento e a qualidade no tráfego dos dados, os equipamentos de borda (conhecidos como LER’s) e os equipamentos centrais (conhecidos com LRS’s). Os equipamentos podem ser tanto roteadores, quanto switches ATM. Em suma, todo o dispositivo LER, na verdade é um LRS, Conceitualmente, o diferencial do LER para um LRS é a sua localização na rede que também implica em sua funcionalidade (KAKIHARA, 2006). O LSR pode ser conhecido também como ATM-LSR (pois usualmente são utilizados switches ATM para representá-lo). Ele é responsável por executar o roteamento IP e o encaminhamento de rótulo no control plane, utilizando mecanismos tradicionais de encaminhamento ATM de pacotes no data plane. Ao se utilizar switches ATM, uma atualização de software é realizada para que o seu funcionamento se ajuste a execução do componente de controle. A figura 17 mostra a arquitetura básica de um LSR executando o roteamento IP (PEPELNJAK, 2002). Figura 19: Arquitetura básica de roteamento IP em um equipamento LSR Fonte: (PEPELNJAK, 2002). Todos os pontos da rede MPLS (LSR’s) utilizam um ou mais protocolos de roteamento IP, efetuando a troca de informações de roteamento IP com outros pontos da rede MPLS (PEPELNJAK, 2002). Em um equipamento MPLS, a tabela de roteamento IP é utilizada para trocar informações entre equipamentos adjacentes, passando informações sobre rótulos designados a sub-redes individuais que estão contidos em suas tabelas de roteamento, com isso, fazendo com que todos os equipamentos saibam quais redes cada equipamento adjacente conhece. Esta troca de informações de tabela pode ser feita pelo protocolo recomendado pela IETF, o LDP (Label Distribution Protocol), um dos mais conhecidos e utilizados (PEPELNJAK, 2002). Um LER (também conhecido com Edge LSR - LSR extremo, ou de extremidade) é o equipamento responsável por executar a inclusão (quando o LER está ligado diretamente à origem dos pacotes) ou exclusão de rótulos (quando o LER está no sentido oposto, ligado diretamente ao destino) nos pacotes de dados que transitam na rede MPLS. Por estar conectado diretamente a um equipamento não-MPLS e possuir a função de rotular os pacotes de dados, um LER é diferenciado conceitualmente de um LRS, mas fisicamente, ambos podem ser o mesmo tipo e modelo de equipamento (um roteador ou um switch ATM) (PEPELNJAK, 2002). O LER utiliza uma tabela de roteamento IP tradicional expandida, contendo informações sobre os rótulos, justamente para efetuar a comparação entre IP e rótulo, no momento de encaminha um pacote de dados, seja para dentro da rede MPLS ou para fora, enviando-o a um equipamento da rede do cliente (equipamento não-MPLS) (PEPELNJAK, 2002). www.teleco.com.br/imprimir.asp?pagina=/tutoriais/tutorialmplseb1/pagina_4.asp 4/10 02/11/12 Teleco Um LER, conforme a figura 18, expande a arquitetura de um LSR adicionando componentes ao data plane. O pacote de dados vindo de um equipamento não-MPLS pode ser um pacote de IP puro, que será rotulado pelo LER ou, pacote já rotulado, onde, em ambos os casos serão encaminhados ao próximo ponto da rede MPLS. Para o pacote que já chegar rotulado por um equipamento não-MPLS, o rótulo é removido e, é efetuada uma busca através da camada de rede (modelo OSI) a localização do equipamento não-MPLS (PEPELNJAK, 2002). Figura 20: Arquitetura um equipamento LER Fonte: (PEPELNJAK, 2002). Nos casos em que o LER é representado por um switch ATM, o switch recebe os pacotes, tanto os já rotulados quanto os não-rotulados, segmentando-os em células ATM, e encaminhando estas células para o próximo ponto adjacente da rede MPLS. Ao efetuar o processo de recepção das células vindas de um equipamento MPLS, o switch reagrupa as células formando o pacote original, e então o encaminha para o equipamento da rede do cliente (PEPELNJAK, 2002). Criação e Manutenção de LSP’s Todo pacote entra na rede MPLS através de um LER de entrada (o LER ligado diretamente à origem) e sai da rede através de um LER de saída (o LER ligado diretamente ao destino). Este mecanismo cria o que é conhecido como um caminho de troca de rótulo (LSP), que basicamente descreve o conjunto de LSR’s através do qual um pacote rotulado deve atravessar para chegar à LER de saída para uma determinada FEC (PEPELNJAK, 2002). A escolha do próximo salto do pacote de dados é feita através da combinação de duas funções. A primeira função é separar em conjuntos, todos os possíveis pacotes IP de um mesmo prefixo de destino. A segunda função mapeia cada prefixo IP de destino a um endereço IP do próximo salto. Isto significa que cada destino na rede pode ser acessado por um caminho no que diz respeito ao fluxo de tráfego, a partir de um dispositivo de entrada (origem) para um dispositivo de saída (destino). Dentro da arquitetura MPLS, os resultados da primeira função são conhecidos como classes equivalentes de encaminhamento (FEC’s - Forwarding Equivalence Classes). Ele pode ser visto com tendo a função de descrever um grupo de pacotes IP que são transmitidos do mesmo modo, durante o mesmo caminho, com o mesmo tratamento de encaminhamento (PEPELNJAK, 2002). A criação da LSP baseia-se no modelo de orientação à conexão, pois o caminho deve ser garantido (conexão estabelecida) antes dos dados serem trafegados. Porém, a configuração da conexão é baseada na informação da topologia, em vez de uma requisição para fluxo de dados. Isso significa que o caminho é criado independentemente de ser realmente necessário um fluxo de tráfego ao longo do caminho, para um determinado conjunto de FEC’s (PEPELNJAK, 2002). A FEC executa a ação de agregar o tráfego, fazendo com que haja um tratamento idêntico a determinadas classes de tráfego. Uma maneira de sua atuação, por exemplo, em um LSR de origem, é fazer com que ele utilize um único LSP para todo o tráfego que possui o mesmo ponto de saída da nuvem, independentemente do seu endereço de destino (MAGALHÃES, 9 jun 2007). www.teleco.com.br/imprimir.asp?pagina=/tutoriais/tutorialmplseb1/pagina_4.asp 5/10 02/11/12 Teleco Existem dois tipos de elementos que a FEC utiliza como parâmetro: o prefixo de rede (no caso o IPv4) possuindo um tamanho entre 0 e 32 bits, e o endereço do nó (equipamento de origem) que é um endereço IP. Um elemento FEC pode ainda possuir informações adicionais sobre: (ANDRADE, 9 jun 2007). A origem do pacote (endereço IP de origem); A carga do pacote (protocolo e porta de transporte); Parâmetros de qualidade de serviço (precedência do quadro e classes de serviços); Precedência do pacote, definido no campo TOS (Type of Service) do protocolo IP; Cada entrada na tabela LIB é uma FEC em potencial. Uma situação extrema seria um LER (na origem) atribuir uma FEC a cada entrada em sua tabela LIB e solicitar ao próximo salto (LRS adjacente) um rótulo para estas FEC’s. Em outras palavras, este procedimento causaria um desperdício de rótulos, além de tornar as LIB’s demasiadamente extensas (MAGALHÃES, 9 jun 2007). Um LSP pode ser criado de duas maneiras: de forma estática, onde cada LSR é configurado manualmente sem envolver sinalizações (troca de informações entre os LSR’s), e de forma sinalizada, onde as configurações em cada LRS são feitas através de um protocolo de sinalização (por exemplo, o LDP) que gerencia a distribuição de rótulos. No modo sinalizado, o LRS que estiver recebendo os dados (chamado de LRS downstream) faz a atribuição dos rótulos à FEC e informa ao LSR que transmitirá os dados (conhecido como LRS upstream) a associação entre um determinado rótulo e sua respectiva FEC (KAKIHARA, 2006). Figura 21: Distribuição dos rótulos na rede MPLS O LDP mapeia as informações da camada de rede (por exemplo, o roteamento) em caminhos diretos comutados na camada de enlace, tornando-se responsável por criar efetivamente as LSP’s. Uma conexão fim-a-fim para o envio de dados é criada à medida que o LDP distribui rótulos para uma data FEC. A FEC associa um LSP especifico aos pacotes mapeados a esse LSP. A troca de informação entre dois equipamentos LRS é denominada “pares LDP” (ou LDP peers), onde uma sessão é estabelecida para eles se comunicarem. Existem quatro tipos de mensagens LDP (MAGALHÃES, 9 jun 2007): Mensagem de Mensagem de Mensagem de Mensagem de descoberta: anuncia a presença de um LSR à rede; sessão: estabelece, mantém e finaliza sessões LDP; anúncio de rótulo: cria, modifica e exclui associações de rótulos a FEC’s; notificação: provê informações de estado da rede e sinalização de erros; O estabelecimento de uma sessão LDP é feito através das seguintes fases (MAGALHÃES, 9 jun 2007): www.teleco.com.br/imprimir.asp?pagina=/tutoriais/tutorialmplseb1/pagina_4.asp 6/10 02/11/12 Teleco Descoberta do par LDP: um LSR adjacente envia a seu vizinho uma mensagem HELLO através de um pacote UDP, enviado para um grupo multicast (entrega eficiente de informação a um grupo de destinos simultâneos). Dois LSR que não estão diretamente conectados, também podem trocar mensagens HELLO através de pacotes UDP unicast (entrega eficiente de informação a um destino único); Estabelecimento de conexão da camada de transporte: após a descoberta do outro LSR que suporte LDP, eles estabelecem uma comunicação TCP; Inicialização da sessão LDP: após estabelecer uma sessão TCP, uma mensagem do tipo INITIALIZATION é enviada por um dos lados. Essa mensagem contém diversas informações como: as características suportadas pelo LSR, versão do protocolo LDP, método de distribuição, entre outros parâmetros de configuração. Periodicamente, uma mensagem do tipo KEEP_ALIVE é enviada para manter a sessão; Fase ativa: após o estabelecimento da sessão LDP, os rótulos são distribuídos (Figura 20); O protocolo LDP define mensagens para a criação e exclusão de associações rótulo/FEC. Existem duas maneiras para que a criação de uma associação de rótulo com uma FEC seja feita: (MAGALHÃES, 9 jun 2007). Sob demanda: onde uma mensagem de solicitação do tipo LABEL_REQUEST é enviada para o LSR, então, esta mensagem carrega a FEC para qual se deseja associar um rótulo, a quantidade de saltos até o LSR presente e a identificação de todos os LSR’s que propagaram a mensagem. Ao receber a mensagem LABEL_REQUEST, o LSR aloca um rótulo para a FEC, e em seguida, é retornada a origem, uma mensagem do tipo LABEL_MAPPING contendo a informação de rótulo associado à FEC. Sem solicitação: um LSR gera uma mensagem do tipo LABEL_MAPPING sem ter recebido uma requisição. O processo de exclusão de uma associação de um rótulo a uma FEC, também é conduzida através de duas mensagens (MAGALHÃES, 9 jun 2007): LABEL_WITHDRAW: quando um emissor não reconhece mais a FEC, a qual havia lhe atribuído um rótulo, essa mensagem é enviada ao LSR para que a associação seja invalidada; LABEL_RELEASE: enviada ao LSR para informar que um mapeamento anteriormente solicitado pelo emissor não é mais necessário. Ao receber esta mensagem, o LSR responde com uma mensagem do tipo LABEL_WITHDRAW, confirmando a invalidação da associação do rótulo a uma FEC; www.teleco.com.br/imprimir.asp?pagina=/tutoriais/tutorialmplseb1/pagina_4.asp 7/10 02/11/12 Teleco Figura 22: Sessão LDP Fonte: (MAGALHÃES, 9 jun 2007). Rótulos MPLS O rótulo, de acordo com a recomendação RFC 3031 é definido como um identificador curto de tamanho fixo (definido em 32 bits) e fisicamente contiguo. O rótulo MPLS deve ser inserido em um pacote de dados, depois de qualquer cabeçalho de camada dois e antes de um cabeçalho de camada três (ABREU, 2004). O rótulo é algo semelhante ao VPI/VCI na rede ATM e ao DLCI na rede Frame Relay. Ele é gerado durante o processamento do pacote IP no LER, com isso, todos os pontos da rede (LSR’s) utilizam o rótulo para suas decisões de encaminhamento, permitindo que a comutação do pacote de dados na rede não necessite de processamento de camada de rede, agilizando o trânsito dos pacotes até o seu destino (INACIO, 9 jun 2007). A estrutura de encapsulamento MPLS possui os seguintes campos (KAKIHARA, 2006): Um rótulo de 20 bits; Um campo experimental de 3 bits, utilizado para classes de serviço; Um campo TTL (Time to Live) de 8 bits, que fornece funcionalidades de TTL IP (Time To Live) convencional; Um campo B de 1 bit, utilizado para suportar uma pilha hierárquica de etiquetas, informando se o cabeçalho ao qual ele pertence é o ultimo da pilha MPLS; www.teleco.com.br/imprimir.asp?pagina=/tutoriais/tutorialmplseb1/pagina_4.asp 8/10 Teleco Figura 23: Encapsulamento (Rótulo MPLS) Quando um LSR recebe um pacote rotulado, ele analisa seu rótulo e utiliza-o como índice para pesquisar em sua tabela de encaminhamento (LIB). Com base neste índice (rótulo de entrada), é pesquisada uma entrada (ou mais) na tabela de encaminhamento e, se a entrada for localizada, o rótulo é substituído pelo rótulo de saída apontado na tabela de encaminhamento e, o pacote é enviado pela interface de saída também indicada na tabela (INACIO, 9 jun 2007). Figura 24: Encaminhamento do pacote na rede MPLS Por ser multi-protocolo (como o próprio nome já diz), o MPLS é compatível com diversos protocolos de camada 2 e 3, conforme mostra a figura 24 onde, são exibidos 4 exemplos de inserção do protocolo MPLS em uma arquitetura de rede (KAKIHARA, 2006). Figura 25: Cabeçalho MPLS em diferentes protocolos O MPLS possui uma característica de definição de pilha de rótulos, que consiste em uma seqüência de cabeçalhos MPLS, onde, um pacote rotulado pode conter em sua área de dados outro pacote rotulado, o que possibilita a criação de LSP’s hierárquicos, ou seja, LSP’s sobre outra LSP (KAKIHARA, 2006). www.teleco.com.br/imprimir.asp?pagina=/tutoriais/tutorialmplseb1/pagina_4.asp 9/10 Teleco O empilhamento de rótulos MPLS permite que redes MPLS distintas troquem informações, sem se preocupar com rotas inter-domínio. O processamento de um pacote rotulado é totalmente independente do nível de hierarquia dos rótulos, ou seja, o nível de rótulo é irrelevante para o LSR, onde, o rótulo do topo sempre será a base, abstraindo-se os demais rótulos que podem haver abaixo dele (ABREU, 2004). Figura 26: Pilha de rótulos MPLS www.teleco.com.br/imprimir.asp?pagina=/tutoriais/tutorialmplseb1/pagina_4.asp 10/10