Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Redes MPLS Fundamentos e Aplicações - SITOE ARTUR, Notas de estudo de Eletrônica

Bom livre para quem deseja alcançar o sucesso nas telecomunicações

Tipologia: Notas de estudo

2015
Em oferta
30 Pontos
Discount

Oferta por tempo limitado


Compartilhado em 02/07/2015

artur-absalao-sitoe-engo-turinho-12
artur-absalao-sitoe-engo-turinho-12 🇧🇷

4.8

(4)

2 documentos

1 / 233

Discount

Em oferta

Documentos relacionados


Pré-visualização parcial do texto

Baixe Redes MPLS Fundamentos e Aplicações - SITOE ARTUR e outras Notas de estudo em PDF para Eletrônica, somente na Docsity! José VER Oliveira asi feto DITAS TES Roberto Mendonca REDES MPLS Fundamentos e Aplicações Miolo_Redes_MPLS_17 x 24_OK.indd 1 29/10/2012 14:57:14 Às nossas famílias. Miolo_Redes_MPLS_17 x 24_OK.indd 5 29/10/2012 14:57:15 VII Apresentação A crescente demanda de tráfego e o dinamismo do mercado de Redes de Computadores, necessitando a cada dia de maior integração entre serviços (voz, vídeo e dados), fazem com que os provedores de acesso à Internet (ISPs – Internet Service Providers) estejam sempre em constante atualização tecnológica. É funda- mental acompanhar as tendências do mercado, com o objetivo de entregar sem- pre a melhor tecnologia para o cliente, com isto provendo uma boa qualidade nos serviços ofertados. A tecnologia MPLS (MultiProtocol Label Switching) é indicada para prover evolução, otimização e flexibilidade ao núcleo da rede que une vários enlaces de alta velocidade (backbones) atuais, mostrando-se como uma tecnologia emer- gente a ser empregada nos provedores de acesso à Internet. Este livro apresenta a tecnologia MPLS, desde seus fundamentos às suas aplicações. São apresentados os benefícios obtidos com sua utilização, propician- do flexibilidade e otimização, deixando o backbone dos ISPs muito mais eficientes devido à capacidade de efetuar o roteamento dos pacotes baseado em rótulos, acelerando o processo de transmissão das informações e provendo alguns servi- ços agregados, tais como: VPNs (Virtual Private Networks), TE (Traffic Engineering), PseudoWire e QoS (Quality of Service). São tratados aspectos relacionados ao protocolo IPv6, novo protocolo da Internet e base para todos os backbones futuros, são descritas as características fundamentais deste protocolo, assim como algumas arquiteturas IPv6 utilizadas para o seu transporte em um backbone MPLS. O emulador de domínio público GNS3 foi utilizado para simulação das aplicações MPLS, permitindo um melhor entendimento dos conceitos apresentados. Miolo_Redes_MPLS_17 x 24_OK.indd 7 29/10/2012 14:57:16 VIII Redes MPLS No website https://sites.google.com/a/cin.ufpe.br/mpls-brasport/ o leitor pode encontrar material suplementar que acompanha este texto, incluindo ma- terial didático, referências para atualizações, ponteiros para fabricantes de equi- pamentos MPLS, etc. Os autores fizeram o máximo esforço para oferecer um texto amigável, preciso e atualizado. Comentários, críticas e sugestões são bem-vindos. Contate-nos via e-mail. Boa leitura. José Mário Oliveira (joseo_br@yahoo.com.br) Rafael Dueire Lins (rdl@cin.ufpe.br) Roberto Mendonça (professor@robertomendonca.com.br) Miolo_Redes_MPLS_17 x 24_OK.indd 8 29/10/2012 14:57:16 Lista de Acrônimos XIX Redes MPLS PDU Protocol Data Unit PE Provider Edge PHB Per-Hop Behavior PHP Penultimate Hop Popping PLR Point of Local Repair POP Point of Presence POS Packet Over SONET PPP Point-to-Point Protocol PQ Priority Queuing PW PseudoWire QoS Quality of Service RD Router Distinguisher RED Random Early Detection RFC Request For Comments RIP Routing Information Protocol RSVP Resource reSerVation Protocol RT Route Target SDH Synchronous Digital Hierarchy SLA Service Level Agreement SNMP Simple Network Management Protocol SONET Synchronous Optical NETworking SPF Shortest Path First STM Synchronous Transport Module TCP Transmission Control Protocol TDM Time Division Multiplexing TE Traffic Engineering TLV Type-Length-Variable ToS Type of Service TTL Time To Live UDP User Datagram Protocol UNI User Network Interface VC Virtual Circuit/Channel VLAN Virtual Local Area Network VLSM Variable Length Subnet Mask VoIP Voice over IP VCI Virtual Circuit Identifier VPI Virtual Path Identifier VPN Virtual Private Network Miolo_Redes_MPLS_17 x 24_OK.indd 11 29/10/2012 14:57:17 XII Redes MPLS VRF Virtual Routing and Forwarding WAN Wide Area Network WDM Wavelength Division Multiplexing WFQ Weighted Fair Queuing WRED Weighted Random Early Detection Miolo_Redes_MPLS_17 x 24_OK.indd 12 29/10/2012 14:57:17 XIII XII Redes MPLS S umário Introdução ...........................................................................................................1 Organização do livro .................................................................................................................... 2 Capítulo 1. Conceitos Fundamentais .............................................................. 5 1.1 – Redes IPs ................................................................................................................................ 5 1.2 – O protocolo IPv4 ................................................................................................................. 6 1.3 – Comutação e roteamento ..............................................................................................12 1.4 – Protocolos de roteamento .............................................................................................15 1.4.1 – O protocolo OSPF ................................................................................................21 1.4.2 – O protocolo IS-IS ..................................................................................................23 1.4.3 – O protocolo BGP ..................................................................................................24 Capítulo 2. A Arquitetura IP sobre MPLS ...................................................... 25 2.1 – Surgimento da tecnologia .............................................................................................25 2.2 – Roteamento convencional x baseado em rótulos ................................................26 2.3 – O cabeçalho MPLS ............................................................................................................29 2.4 – Estrutura do MPLS ............................................................................................................32 2.5 – Componentes da arquitetura .......................................................................................33 2.6 – Funcionamento .................................................................................................................38 2.7 – Vantagens do MPLS ..........................................................................................................41 2.8 – Desvantagens do MPLS ..................................................................................................42 Capítulo 3. MPLS – VPN ........................................................................................................43 3.1 – VPN – Conceitos ................................................................................................................43 3.2 – Tipos de VPN .......................................................................................................................45 3.3 – Modelos de VPN ................................................................................................................48 3.3.1 – O modelo overlay .................................................................................................48 3.3.2 – O modelo par-a-par ............................................................................................50 Miolo_Redes_MPLS_17 x 24_OK.indd 13 29/10/2012 14:57:17 1 Introdução Novas tecnologias estão sendo constantemente desenvolvidas para aten- der às demandas causadas pelo aumento da utilização da Internet, assim como um aumento das exigências por serviços de comunicação de dados, capazes de integrar dados, voz e imagem com qualidade de serviço e segurança. Os canais troncos utilizados no tráfego em grande volume e velocidade são conhecidos como backbones. Apesar da complexidade de muitos backbo- nes atuais, a robustez e confiabilidade são uma evidência de um grande avanço no desenvolvimento das tecnologias de redes espalhadas geograficamente, co- nhecidas pelo acrônimo de WAN (Wide Area Network), assim como da adoção de uma metodologia de consenso em relação a aspectos de projeto por parte dos desenvolvedores. Combinando o processo de roteamento de nível 3 com a comutação sobre a camada 2, de acordo com o modelo de referência OSI (Open Systems Interconnection), a arquitetura IP (Internet Protocol) sobre MPLS (MultiProtocol Label Switching) oferece maior possibilidade de gerenciamento e engenharia de tráfego, reduzindo o processamento necessário para realizar o roteamento de datagramas de rede. Essa tecnologia vem crescendo bastante e ganhando for- ça como alternativa à combinação do protocolo IP sobre tecnologias de camada 2, tais como: Ethernet, Asynchronous Transfer Mode ( ATM) e Frame Relay, sendo largamente oferecida no mercado, de maneira que a demanda se intensificou e vem estimulando os clientes a solicitar tais serviços, não se tratando de mera oportunidade de negócio, mas de requisito imprescindível para atendimento das demandas dos clientes atuais. O acompanhamento e a adaptação às mudanças tecnológicas que surgem e que se firmam em um cenário global são essenciais para que os provedores se mantenham presentes na disputa por novos clientes. Em backbones modernos, o uso da tecnologia MPLS traz grandes benefícios, evitando a complexidade de tec- nologias de camada 2, que provocam problemas de escalabilidade, desempenho e administração. O MPLS também possibilita o uso de aplicações convergentes, Miolo_Redes_MPLS_17 x 24_OK.indd 1 29/10/2012 14:57:18 2 Redes MPLS o que o torna bastante atrativo para o mercado atual, que procura soluções que possibilitem a implementação de redes práticas, econômicas e interoperáveis. É importante também salientar que a tecnologia MPLS permite a integração de várias tecnologias usadas em grandes provedores, tais como: Frame Relay, ATM (Asynchronous Transfer Mode), linhas dedicadas e ADSL (Asymmetric Digital Subscriber Line), viabilizando assim a otimização da infraestrutura instalada. O fato de MPLS ser, por essência, uma tecnologia de camada dois e meio – isto porque adiciona um cabeçalho de 32 bits (que contém um rótulo) entre as camadas de enlace de dados e redes (dois e três no modelo OSI), dessa for- ma trabalhando com a tecnologia IP – provocou uma significante evolução nas tecnologias de núcleo da rede, sendo extremamente fácil de operar, oferecendo muitos mecanismos de controle e gerência de tráfego e provocando um melhor uso do meio físico. Seus equipamentos são bem mais baratos que equipamentos ATM e permitem velocidades bem maiores, tendo impacto direto nos negócios dos provedores de serviços de rede de longa distância – ISPs. Este livro apresenta um estudo abrangente sobre a tecnologia MPLS e uma análise dos seus principais serviços, seus benefícios, suas facilidades e suas me- lhorias. Além disso, também explora as características do protocolo IPv6, com abordagem de algumas arquiteturas utilizadas para transporte deste protocolo no núcleo dos ISPs. É feito também um estudo prático, com a ferramenta de emulação GNS3, através de diversas simulações de ambientes com a tecnologia MPLS e seus ser- viços, objetivando facilitar o aprendizado e servindo de base para o leitor desen- volver seus próprios cenários, suas configurações e aplicações. Organização do livro O capítulo 1 deste livro trata os conceitos fundamentais das redes IPs, abrangendo o protocolo IP e a Internet, os conceitos de roteamento e comuta- ção e uma breve descrição dos principais protocolos de roteamento utilizados no mercado, base para o entendimento e a funcionalidade da tecnologia MPLS e que é apresentada ao longo deste livro. No capítulo 2 são apresentados conceitos e definições referentes à tecno- logia MPLS, dando uma visão dos principais componentes de uma rede MPLS, buscando identificar e entender o funcionamento da tecnologia, suas vantagens e desvantagens. Miolo_Redes_MPLS_17 x 24_OK.indd 2 29/10/2012 14:57:18 2 Redes MPLS Introdução 3 Nos capítulos 3, 4, 5 e 6 são discutidos os serviços fundamentais ofertados pela tecnologia MPLS (VPN – Virtual Private Network –, PseudoWire, QoS – Quality of Service – e Engenharia de Tráfego), descrevendo com detalhes como cada serviço trabalha, suas terminologias utilizadas, seus benefícios e suas implementações. No capítulo 7 são tratados aspectos relacionados ao IPv6, novo protocolo da Internet, base para todos os backbones futuros. São descritas as características fundamentais do protocolo IPv6, assim como são também abordadas algumas ar- quiteturas IPv6 utilizadas para transporte deste protocolo em um backbone MPLS. No capítulo 8 apresentamos um experimento, sua montagem e composi- ção, que serve de exemplo ao leitor para metodologia de projeto e análise de desempenho de uma rede MPLS. Inicialmente, é apresentada a ferramenta utili- zada para elaboração dos ambientes simulados e, em seguida, são apresentados a topologia e os recursos utilizados. Mostramos a escolha dos protocolos IGP/EGP (Interior Gateway Protocol/Exterior Gateway Protocol) e todos os testes realizados, com as observações para cada ambiente e serviço simulado. Seguem-se as referências bibliográficas que serviram como base para o de- senvolvimento desta publicação. Por fim, os apêndices apresentam os arquivos de configuração, verifica- ções e alguns testes efetuados para cada uma das simulações realizadas neste experimento. Miolo_Redes_MPLS_17 x 24_OK.indd 3 29/10/2012 14:57:18 6 Redes MPLS Conceitos Fundamentais 7 Versão (4 bits): este campo de 4 bits define a versão do protocolo IP. Atualmente, a versão mais amplamente utilizada é a 4. Entretanto, a versão 6 (IPng) deverá substituir completamente a versão 4 em um futuro próximo. Observe-se que a colocação deste campo diretamente no início do datagrama facilita para que tudo mais no formato do pacote seja redefinido em versões posteriores. Este campo informa ao software do IPv4, que roda na máquina em processamento, que o datagrama tem o formato da versão 4. Todos os campos devem ser inter- pretados conforme especificado na quarta versão do protocolo. Se a máquina estiver usando alguma outra versão do IP, o datagrama é descartado em vez de ser interpretado incorretamente. Tamanho do Cabeçalho (4 bits): este campo define o comprimento to- tal do cabeçalho do datagrama em palavras de 32 bits e é necessário porque o comprimento do cabeçalho é variável. Quando não se faz uso do campo opções, o que quase sempre acontece, o comprimento do cabeçalho é de 20 bytes e o valor desse campo é 5 (5 x 4 = 20 bytes) de extensão. Quando o campo de opções estiver em seu tamanho máximo, seu valor é 15 (15 x 4 = 60 bytes) de extensão (Forouzan, Benhrouz A., 2008a). Tipo de Serviço (8 bits): o campo ToS (Type of Service) teve diversas defini- ções diferentes no decorrer dos anos, mas sua função básica é permitir que os pa- cotes sejam tratados de modo diferente, com base nas necessidades da aplicação. Este campo é utilizado pelos roteadores para determinar como o datagrama deve Figura 1.2 – Tipo de serviço ou serviços diferenciados Miolo_Redes_MPLS_17 x 24_OK.indd 7 29/10/2012 14:57:19 8 Redes MPLS ser tratado, podendo diferenciar os vários tipos de datagramas IPs. Por exemplo, pode ser útil distinguir os datagramas de tempo real (ex.: Telefonia IP) dos tráfegos que não são de tempo real (ex.: FTP). O IETF (Internet Engineering Task Force) mu- dou a interpretação e o nome deste campo de 8 bits. Este campo, anteriormente denominado tipo de serviço, agora se chama serviços diferenciados (Forouzan, Benhrouz A., 2008a) e na Figura 1.2 é possível visualizar as duas interpretações. No tipo de serviço, os três primeiros bits são denominados bits de prece- dência. Os 4 bits seguintes são chamados bits ToS (Type of Service) e o último bit não é usado. A precedência é um subconjunto de três bits no intervalo que vai de 0 (000 em binário) a 7 (111 em binário). A precedência define a prioridade do datagrama em questões como congestionamento. Se um roteador estiver con- gestionado e precisar descartar alguns pacotes, aqueles com menor precedência serão descartados primeiro. O ToS é um subcampo de 4 bits, onde cada bit tem um significado especial. Embora um bit possa ser 0 ou 1, um e somente um dos bits do subcampo pode ter valor 1 em cada datagrama. Os padrões de bits e suas interpretações são apresentados na Tabela 1.1. Tabela 1.1 – Tipos de serviços Bits ToS Descrição 0000 Normal (padrão) 0001 Minimizar custo 0010 Maximizar confiabilidade 0100 Minimizar throughput 1000 Minimizar atraso Na interpretação com os serviços diferenciados os seis primeiros bits for- mam o subcampo ponto de código e os últimos 2 bits não são usados. No capí- tulo 5 abordaremos esses bits com detalhes para uso com a arquitetura DiffServ (Serviços Diferenciados). Tamanho total do datagrama (16 bits): trata-se de um campo que defi- ne o comprimento total do datagrama IPv4, incluindo o cabeçalho. O tamanho máximo de um datagrama IP é de 65.535 bytes. Porém, a rede física em cima da qual o IP está sendo executado não pode admitir pacotes tão grandes. Por esse motivo, o IP admite um processo de fragmentação e remontagem. Para descobrir o comprimento dos dados provenientes da camada superior, subtrai-se o compri- mento do cabeçalho do comprimento total. O comprimento do cabeçalho pode ser encontrado multiplicando-se o valor do campo tamanho do cabeçalho por 4. Miolo_Redes_MPLS_17 x 24_OK.indd 8 29/10/2012 14:57:19 8 Redes MPLS Conceitos Fundamentais 9 Alguns padrões físicos não são capazes de encapsular um datagrama de 65.535 bytes em seus quadros. O datagrama tem que ser fragmentado para con- seguir ser transmitido por essas redes. Como exemplo, o protocolo Ethernet apre- senta uma restrição mínima e máxima no tamanho dos dados que podem ser encapsulados em um quadro (46 a 1.500 bytes). Se o tamanho de um datagrama IPv4 for menor que 46 bytes, serão acrescidos alguns bits de preenchimento para atender a essa exigência. Identificação (16 bits): utilizado para identificação do datagrama IP no processo de fragmentação do pacote, para que este seja remontado na mesma ordem em que foi fragmentado. Quando um datagrama é maior do que o MTU (Maximum Transfer Unit) de uma determinada tecnologia, ele precisa ser dividido em fragmentos para que possa ser transmitido na rede. Assim, o campo identifi- cador é utilizado para que seja possível saber a qual datagrama cada fragmento pertence. Um dos problemas de oferecer um modelo de serviço uniforme ponta-a- -ponta por uma coleção heterogênea de redes é que cada tecnologia de rede costuma ter sua própria definição quanto ao tamanho que um pacote pode ter. Um datagrama pode trafegar por várias redes diferentes. Cada roteador de- sencapsula o datagrama IP, a partir do quadro que ele recebe, o processa e então o encapsula em outro quadro. O formato e o tamanho do quadro recebido de- pendem do protocolo usado pela camada física por meio do qual o quadro acaba de passar. Se, por exemplo, um roteador interliga uma LAN (Local Area Network) a uma WAN (Wide Area Network), ele recebe um quadro no formato da LAN e trans- mite um quadro no formato da WAN. A ideia central é que cada tipo de rede tenha um MTU (Maximum Transfer Unit), que é o maior datagrama IP que ele pode transportar em um quadro. Para tornar o protocolo IP independente da rede física, os projetistas de- cidiram fazer o comprimento máximo de um datagrama IP igual a 65.535 bytes. Isso torna a transmissão mais eficiente quando se utiliza um protocolo com MTU desse tamanho. Entretanto, para outras redes físicas, é necessário dividir o da- tagrama para tornar possível sua passagem por essas redes. Isso é denominado fragmentação. O interessante é que a nova versão do protocolo IP, o IPv6, não permite fragmentação em roteadores (Kurose e Ross, 2010). Flag (3 bits): trata-se de um campo de 3 bits. O primeiro é reservado. O segundo é denominado bit DF (Don’t Fragment), não fragmentado, e é utilizado para indicar aos roteadores que não fragmentem o pacote, porque o destino Miolo_Redes_MPLS_17 x 24_OK.indd 9 29/10/2012 14:57:19 12 Redes MPLS timestamp, etc. Uma vez que alguns datagramas podem requerer processamento de opções e outros não, a quantidade de tempo necessária para processar um datagrama IP em um roteador pode variar bastante. Por essas razões, este campo foi descartado no cabeçalho da versão IPv6. Dados (payload): espaço reservado para os dados a serem transmitidos. 1.3 – Comutação e roteamento Roteamento é o nome dado ao processo de escolha do caminho a ser se- guido pelos dados a serem transmitidos numa rede espalhada geograficamente (WAN). Vários aspectos podem ser levados em consideração, desde a velocida- de dos enlaces até o número de saltos (hops) envolvidos, passando pelo custo de transmissão e a confiabilidade dos canais. No roteamento há a retransmissão, processo pelo qual os pacotes são encaminhados de um canal para outro. Nas re- des de datagrama, incluindo as redes IP, o roteamento é tratado pacote a pacote. O protocolo IP, com sua simplicidade e flexibilidade, possui grande sucesso na função do roteamento, sendo este protocolo responsável pela entrega das infor- mações geradas pelas aplicações aos seus destinos de forma correta e eficiente. Roteamento IP é o termo utilizado para descrever as ações efetuadas pela rede TCP-IP para enviar um pacote de um dispositivo a outro, ou seja, os endere- ços IPs de origem e destino devem ser diferentes. Os roteadores obtêm conhecimento da topologia das redes remotas atra- vés dos pares vizinhos ou das informações configuradas manualmente por um administrador. Assim, esses equipamentos constroem uma tabela de rotas que descreve como encontrar o endereço remoto. Estando uma rede diretamente co- nectada ao roteador, este saberá como alcançá-la, não sendo necessário nenhum mecanismo de criação de rotas. Caso a rede não esteja diretamente conectada, será necessário o uso de um processo de roteamento estático, o que significa di- zer que um administrador inseriu manualmente todas as localizações das redes na tabela de roteamento, ou de um processo de roteamento dinâmico. Nesse caso, o administrador pode fazer uso de algum protocolo de roteamento no qual as rotas são divulgadas automaticamente. A grande vantagem do uso de protocolos de roteamento dinâmico sobre o roteamento estático é a possibilidade de adaptação das rotas em situações de falhas ou congestionamentos detectados. Se alguma mudança ocorrer na rede, os protocolos de roteamento dinâmico informam automaticamente a todos os Miolo_Redes_MPLS_17 x 24_OK.indd 12 29/10/2012 14:57:19 12 Redes MPLS Conceitos Fundamentais 13 roteadores sobre o evento. Em se tratando de um roteamento estático, o admi- nistrador é responsável por atualizar todas as mudanças manualmente em todos os roteadores. Tipicamente, nas grandes redes, uma combinação do roteamento dinâmico e estático é usada (Doyle e Carroll, 2006). O mecanismo de aprendizado e manutenção do conhecimento da topo- logia de rede é considerado como a função de roteamento. O movimento real do tráfego transiente por meio do roteador, da interface de entrada para uma in- terface de saída, é uma função separada considerada uma função de comutação (Paquet e Teare, 2003). Comutação é o processo de apanhar um quadro de uma entrada e enviá- -lo por uma saída apropriada, com base na informação da camada de enlace de dados. Os métodos para a comutação de quadros baseiam-se nas informações de endereço da camada de enlace de dados. Os recursos e as funcionalidades dos comutadores (switches) de camada 3 e dos roteadores têm diversas semelhanças. Um roteador só precisa responder a uma pergunta muito simples: dado um datagrama IP que transporta um endereço de host de destino específico, por qual in- terface o datagrama deve ser enviado e para qual salto seguinte? Portanto, ao receber um pacote, o roteador precisa ler o cabeçalho IP, determinar a que rede de destino o pacote pertence e, através da leitura de uma tabela de roteamento, encaminhá-lo para o próximo salto. A construção das tabelas e seu uso para o encaminhamento podem ser separados por operações lógicas, conforme as Figuras 1.6 e 1.7. Durante a transmissão de um pacote na rede, este passa por roteadores intermediários, que verificam o endereço de destino, consultam sua tabela de roteamento e o transmitem para o próximo roteador na rota; logo, cada roteador possui sua tabela de roteamen- to, e a informação que consta na tabela informa qual o próximo roteador para o qual os pacotes devem ser enviados, o que é chamado de next-hop. Na Figura 1.6 pode-se ver como os roteadores geram as tabelas de enca- minhamento. Inicialmente o roteador “D” anuncia a rede 130.10, que está dire- tamente conectada a ele, para o roteador B. O roteador C faz o mesmo procedi- mento, ou seja, envia a rede 170.33 para o roteador B. Ao receber as redes 130.10 e 170.33, através das respectivas interfaces 0 e 1, o roteador B as divulga para o roteador A, que recebe em sua interface 1. A Figura 1.7 mostra que, para a rede da Figura 1.6, quando um pacote chega ao roteador A, destinado à rede 130.10, no caso o endereço 130.10.20.5, o roteador A, através da leitura do endereço de destino em sua tabela de rotas, envia o pacote através da interface 1. O roteador B receberá o pacote e terá o mesmo comportamento, enviando o pacote para o roteador D, a quem pertence a rede, que enviará ao dispositivo final. Miolo_Redes_MPLS_17 x 24_OK.indd 13 29/10/2012 14:57:20 14 Redes MPLS Figura 1.7 – Encaminhamento de pacotes A comutação de pacotes oferece um novo modelo para o encaminhamen- to de dados na rede. Em vez de encaminhar cada pacote com base no endereço da camada de rede e nas informações distribuídas por protocolos de roteamento, os nós na rede podem usar rótulos transportados nos pacotes e informações de comutação de rótulos distribuídas por novos protocolos ou extensões dos proto- colos existentes. Figura 1.6 – Geração das tabelas de encaminhamento Miolo_Redes_MPLS_17 x 24_OK.indd 14 29/10/2012 14:57:20 16 Redes MPLS Conceitos Fundamentais 17 um array unidimensional (um vetor) contendo as “distâncias” (custos) até todos os outros nós e distribui esse vetor aos seus vizinhos imediatos, conforme Figura 1.9. A suposição inicial para o roteamento com vetor de distância é que cada nó conhece o custo do enlace para cada um de seus vizinhos conectados diretamen- te. O melhor caminho pode estar relacionado com várias medidas, sendo que o número de roteadores na rota (hop count) é a mais utilizada. Um enlace que esteja inativo recebe o custo infinito. Figura 1.9 – Exemplo do algoritmo de vetor de distância As rotinas periódicas de atualizações de roteamento geradas pela maio- ria dos protocolos de roteamentos por vetor de distância vão apenas para os dispositivos de roteamento conectados diretamente. Num ambiente de vetor de distância puro, as atualizações de roteamento incluem uma tabela completa de roteamento, a qual pode ser chamada de atualização integral, ou seja, a troca de toda a tabela de roteamento. Ao receber uma tabela com- pleta de um vizinho, um roteador pode verificar todas as rotas conhecidas e, em seguida, fazer as alterações na tabela local, com base nas informações atualizadas recebidas. Esse processo de roteamento é muito simples e na prá- tica pode ser lento, gerando um alto tempo de convergência na rede (tempo que os roteadores levam para estabilizar as tabelas de roteamento de acordo com uma mudança ocorrida na topologia) e possíveis loops de roteamento. Como exemplos de protocolos de vetor de distância existem o RIP (Routing Information Protocol) definido na RFC 1058 (RFC 1058), o RIPv2 definido na RFC 1723 (RFC 1723) e o RIPng (Routing Information Protocol next generation) para IPv6, definido na RFC 2080 (RFC 2080). Já o IGRP (Interior Gateway Routing Protocol), de propriedade da Cisco, embora também seja um protocolo de vetor de distância, é pouco usado no mercado, pois foi substituído por um Miolo_Redes_MPLS_17 x 24_OK.indd 17 29/10/2012 14:57:20 18 Redes MPLS protocolo de roteamento mais avançado, o EIGRP (Enhanced Interior Gateway Routing Protocol), que exibe algumas características de estado de enlace. O roteamento por estado de enlace (link-state) não distribui rota alguma, mas troca informações de topologia que descrevem a rede. Cada nó é responsá- vel por anunciar os detalhes dos enlaces que aceita e por passar adiante informa- ções semelhantes que recebem de outros roteadores. Desse modo, cada roteador na rede monta um banco de dados completo dos enlaces disponíveis e quais nós eles interconectam, com cada roteador possuindo o mapa completo e idêntico da rede. No roteamento por vetor de distância, cada roteador envia informações de roteamento por seus enlaces – não importa se existe um roteador no enlace para receber as informações ou não. No roteamento por estado de enlace, existe uma ligação mais próxima entre os roteadores vizinhos – eles precisam estabelecer um relacionamento de parceria, a fim de haver a troca de informações de estado de enlace. Essa primeira etapa é obtida por meio de um protocolo de “Hello”, onde cada roteador envia uma mensagem “Hello” a cada enlace para se apresentar aos vizinhos. O formato e o conteúdo exato da mensagem de “Hello” dependem do protocolo de roteamento por estado de enlace em uso, mas ele precisa identificar com exclusividade o enlace em que a mensagem foi enviada (usando o endereço IP) e o roteador que enviou a mensagem. O receptor de mensagem “Hello” res- ponde com seu próprio “Hello”, de modo que ambos os roteadores conheçam um ao outro. Após a troca inicial da mensagem “Hello”, os roteadores trocam e negociam os parâmetros que usarão para controlar sua associação e depois se declaram parceiros. A primeira coisa que os parceiros fazem é sincronizar o banco de dados de estado de enlace (Link State Database), trocando mensagens que relatam cada enlace que conhecem. Para um roteador novo, isso começará apenas com enla- ces locais que sabem que estão ativos – os enlaces das sub-redes conectadas e os enlaces recentemente abertos até o parceiro –, mas, se o roteador já tiver recebi- do informações de outros roteadores, o sincronismo incluirá informações sobre outros enlaces dentro da rede. As informações sobre cada enlace são enviadas com LSA (Link State Advertisement) ou LSP (Link State Packet), que é formatado e embutido em uma mensagem de acordo com regras do protocolo de roteamen- to específico (Farrel, 2005). Dessa forma, dois roteadores que se tornam parceiros rapidamente alcan- çam uma posição de ter os bancos de dados de estado de enlace idênticos, ou seja, ambos conhecem a mesma lista de enlaces dentro da rede. Daí por diante, Miolo_Redes_MPLS_17 x 24_OK.indd 18 29/10/2012 14:57:20 18 Redes MPLS Conceitos Fundamentais 19 como funcionalidade desse algoritmo, sempre que um enlace muda de estado, o dispositivo que detecta a alteração cria um LSA que diz respeito àquele enlace (rota) e, em seguida, o LSA é propagado para todos os dispositivos vizinhos que usam um endereço especial de multicast (endereço de um roteador para um grupo de roteadores). Cada dispositivo de roteamento recebe uma cópia do LSA, enca- minha-o para todos os dispositivos vizinhos e, em seguida, atualiza a sua base de dados topológica. Esse encaminhamento de LSA é conhecido como inundação (flooding) e é necessário para garantir que todos os dispositivos de roteamento aprendam sobre as alterações, para que eles possam atualizar seus bancos de da- dos e criar uma tabela de roteamento atualizada, que irá refletir a nova topologia (Paquet e Teare, 2003). Este processo pode ser visualizado na Figura 1.10. Figura 1.10 – Exemplo do algoritmo de estado de enlace O processo de inundação (flooding) poderia ocupar uma grande quantida- de de largura de banda da rede e resultar em LSAs enviados aos roteadores que já possuem a informação. Por isso, a maioria dos protocolos de roteamento que usam o algoritmo de estado de enlace requer um projeto hierárquico e, assim, é possível reduzir a necessidade de flooding de LSA para todos os dispositivos do Miolo_Redes_MPLS_17 x 24_OK.indd 19 29/10/2012 14:57:20 22 Redes MPLS • O OSPF pode efetuar o balanceamento de carga; • A convergência é mais rápida do que o RIP, já que as alterações de rotea- mento são difundidas imediatamente e são calculadas em paralelo; • Tem suporte a VLSM (Variable Length Subnet Mask), ou máscara de sub- -redes de tamanho variável, técnica que permite a divisão de sub-redes em sub-redes, com o objetivo de reduzir a perda de endereços IPs. O protocolo OSPF envia anúncios sobre o estado da conexão a todos os outros roteadores em uma mesma área hierárquica e usa o algoritmo SPF para calcular o caminho mais curto para cada nó. O cálculo do OSPF seleciona o ca- minho de menor custo para uma rede, da origem ao destino, usando apenas os enlaces ativos. O roteamento por estado de enlace apresenta um problema totalmente diferente dos protocolos de roteamento por vetor distância e vetor caminho. No protocolo de roteamento por estado de enlace, cada roteador possui uma visão completa da rede, fornecida pelas informações de todos os roteadores na rede, mas os roteadores precisam construir uma tabela de roteamento “do zero”, usando apenas a informação do caminho mais curto. Não é uma exigên- cia que todos os roteadores usem o mesmo mecanismo para calcular os cami- nhos mais curtos, porque todos eles chegam em resultados coerentes. Apesar disso, essa coerência é tão importante que os dois principais protocolos de roteamento por estado de enlace, o OSPF e o IS-IS, exigem o uso do algoritmo Shortest Path First. O algoritmo de Dijkstra (como também é conhecido o algoritmo SPF) é um modo relativamente eficaz e simples de criar uma tabela de roteamento a partir de um conjunto de informações de estado de enlace. Um ponto importante é que o algoritmo deve preencher totalmente a tabela de roteamento de uma só vez, calculando os caminhos mais curtos para todos os destinos. A partir de um nó específico, cada roteador vizinho é acrescentado a uma lista de candidatos, que é ordenada por custos (métricas) dos enlaces até os vizinhos, com o enlace de menor custo em primeiro lugar. Em muitos backbones, há a necessidade de fazer cálculos de SPF que tam- bém consideram outros atributos do tráfego nos enlaces disponíveis. Essas outras considerações oferecem restrições ao algoritmo SPF, transformando-o em cálculo de CSPF (Constrained Shortest Path First). No SPF é valido usar diferentes caminhos para o destino contendo o mes- mo custo. Esse roteamento é chamado de ECMP (Equal-Cost Multi-Path), que é Miolo_Redes_MPLS_17 x 24_OK.indd 22 29/10/2012 14:57:21 22 Redes MPLS Conceitos Fundamentais 23 uma boa solução quando se trata de protocolos de roteamento por estado de en- lace. Como exemplo, em um backbone de uma operadora de telecomunicações, pode-se decidir oferecer um balanceamento de carga de tráfego entre diferentes enlaces de diferentes velocidades usando um recurso de roteamento ECMP, cujo objetivo é fazer balanceamento de carga do tráfego entre diferentes caminhos de forma a melhor distribuir o tráfego pela rede. 1.4.2 – O protocolo IS-IS O protocolo IS-IS foi concebido pela ISO (International Organization for Standardization) e, portanto, pode ser mapeado diretamente ao modelo OSI (Open Systems Interconnection). De acordo com (Martey e Sturgess, 2002), o pro- tocolo IS-IS tem maior popularidade na Internet que na arquitetura OSI. Trata-se de um protocolo que faz roteamento por estado de enlace, tendo suporte ao ba- lanceamento de carga e a VLSM, sendo um protocolo para atuação intradomínio (dentro de um mesmo sistema autônomo). Embora tenha sido projetado para roteamento ISO, ele foi adaptado para uso em ambientes IPs, daí a origem do termo Integrated IS-IS, muito utilizado atual- mente para se referir ao uso desse protocolo nas redes IPs. Existem diversas semelhanças entre o protocolo IS-IS com o protocolo OSPF, das quais podemos destacar: • ambos são protocolos de roteamento que fazem uso do algoritmo de es- tado de enlace; • aceitam VLSM; • possuem tipos específicos de roteadores definidos em diferentes partes da rede; • seguem uma hierarquia, portanto são hierárquicos; • podem fazer balanceamento de carga; • ambos possuem capacidades de autenticação. Existem também algumas diferenças entre os dois protocolos, das quais poderíamos citar a forma como ambos manipulam pacotes de “Hello”, que são utilizados para formação das adjacências entre os vizinhos, já que no OSPF ape- nas um tipo de “Hello” é definido, e em redes IS-IS os roteadores são capazes de enviar dois tipos distintos de pacotes “Hello”: Nível 1 e Nível 2. Outra diferença é com relação aos tipos de roteadores que são utilizados por esses protocolos, pois, Miolo_Redes_MPLS_17 x 24_OK.indd 23 29/10/2012 14:57:21 24 Redes MPLS apenas por possuírem nomenclaturas diferentes, pode haver o mapeamento en- tre eles, devido às suas funcionalidades (Doyle e Carroll, 2006). 1.4.3 – O protocolo BGP O BGP é um protocolo utilizado para comunicação inter-AS, ou seja, para comunicação entre sistemas autônomos, também denominado de EGP (Exterior Gateway Protocol). Na Figura 1.11 podemos perceber a atuação desse protocolo na interligação entre os sistemas autônomos 65000, 65500, 65250 e 65520, os quais têm influência direta na determinação do caminho que será utilizado pelo BGP, já que o BGP toma decisão de roteamento com base no caminho percorrido entre os ASs, chamado de protocolo de vetor caminho. Seu principal objetivo é fornecer um sistema de roteamento entre domínios que garanta a troca, livre de loops, das informações de roteamento entre os sistemas autônomos. A divulgação das informações de roteamento BGP é feita entre roteado- res que estabelecem uma relação de vizinhança, o que chamamos de peers (pares). Para que tal estabelecimento ocorra é necessário que dois roteadores tenham cone- xão direta entre eles ou que algum protocolo IGP trate de garantir a alcançabilidade. Para garantir a alcançabilidade e a confiabilidade entre todas as redes da Internet faz-se necessário que seja utilizada uma forma confiável de troca de in- formações deste protocolo. Para tanto, o BGP faz uso do protocolo TCP (porta 179) para o transporte das informações de roteamento entre dois roteadores que trocam informações deste protocolo. Figura 1.11 – O protocolo BGP – utilizado entre AS da Internet Miolo_Redes_MPLS_17 x 24_OK.indd 24 29/10/2012 14:57:21 26 Redes MPLS A Arquitetura IP sobre MPLS 27 mais simples, fazendo com que a sua relação custo/desempenho seja melhor do que a dos roteadores. De acordo com a referência (Pepelnjak e Guichard, 2000), os switches ofe- recem um desempenho muito superior na comutação de células ou segmentos que os roteadores para encaminhamento de pacotes. Isso se deve ao fato de que o tipo das informações a serem analisadas pelos switches é basicamente mais sim- ples, tornando o processo de encaminhamento dos segmentos muito mais rápi- do, fato esse que levou a maior parte dos backbones IPs a serem implementados utilizando uma rede ATM em seu núcleo, de acordo com a Figura 2.1. O surgimento de uma nova tecnologia normalmente dar-se-á porque a tecnologia atual não atende às necessidades requeridas, podendo ser funcionais ou por desempenho. O MPLS surgiu como uma tecnologia que oferece algumas funcionalidades não existentes em redes IPs convencionais. O MPLS é uma tecnologia aberta que foi apresentada inicialmente como uma solução que possibilitava melhorar o desempenho das redes IPs na função de encaminhamento de pacotes IPs, combinando o processo de roteamento de nível 3 com a comutação de nível 2 para realizar o encaminhamento de data- gramas através de pequenos rótulos de tamanho fixo. Tais rótulos são números utilizados no protocolo MPLS e, através destes, a decisão de qual interface enca- minhar o datagrama é tomada (Rosen et al, 2001a). Figura 2.1 – Backbone de uma rede ATM Miolo_Redes_MPLS_17 x 24_OK.indd 27 29/10/2012 14:57:22 28 Redes MPLS Segundo Rosen (Rosen et al, 2001a), a comutação de rótulos multiprotoco- los combina a funcionalidade dos protocolos de roteamento da camada de rede e a comutação por rótulos, além de fornecer benefícios significativos às redes com IP e ATM, ou uma combinação de outras tecnologias no nível da camada de rede. Portanto, em uma arquitetura IP sobre MPLS, as informações necessárias para o encaminhamento são obtidas do cabeçalho MPLS (32 bits), que é bem menor e menos complexo que o cabeçalho IP (20 bytes), com isso contribuindo para que os equipamentos de menor poder de processamento e armazenamento tenham desempenho melhor nesse tipo de arquitetura em relação a outras arquiteturas. Outra vantagem significativa da arquitetura IP sobre MPLS que podemos destacar diz respeito ao encaminhamento de datagramas ao longo de um cami- nho. Em redes IPs convencionais, todos os roteadores da topologia precisam saber a melhor rota em sua tabela de roteamento para encaminhar o pacote ao seu destino pelo melhor caminho possível. Já o protocolo MPLS trabalha com encaminhamen- to dos pacotes baseado em rótulos, pois os roteadores de núcleo, conhecidos como P (Provider), não têm acesso ao endereço IP de destino do pacote; assim, não há inteligência de roteamento nesses roteadores de núcleo, e sim o encaminhamento local, de uma interface para outra, tomando como base os valores dos rótulos dos pacotes, ou seja, fazendo um processo apenas de comutação de rótulos. A Tabela 2.1 mostra uma comparação entre a arquitetura IP convencional e a arquitetura IP baseada em rótulos: Tabela 2.1 – Arquitetura IP convencional e arquitetura IP baseada em rótulos Tipos de roteamento IP Convencional Baseado em rótulos Análise de todo cabeçalho IP Verificação dos pacotes a cada salto em todo caminho na rede. Verificação dos pacotes apenas uma vez no ingresso do caminho virtual. Suporte para dados Unicast e Multicast Necessita de roteamento especial para Multicast e algoritmos de encaminhamento. Necessita de somente um algoritmo de encaminhamento. Decisão de roteamento Baseado no endereço de destino no cabeçalho do pacote IP. Baseado em vários parâmetros: endereço de destino no cabeçalho IP, QoS, tipo de dados, etc. Miolo_Redes_MPLS_17 x 24_OK.indd 28 29/10/2012 14:57:22 28 Redes MPLS A Arquitetura IP sobre MPLS 29 Hoje, porém, a tecnologia MPLS vem sendo considerada de grande impor- tância, não só por oferecer um mecanismo rápido de encaminhamento de paco- tes, mas também por oferecer novas potencialidades, as quais serão descritas no decorrer deste livro. 2.3 – O cabeçalho MPLS O item mais importante para o MPLS é o rótulo (De Ghein, 2007). O rótulo é um identificador curto, de 4 bytes, e com significado local no roteador que é usado para identificar uma FEC (Forwarding Equivalent Class), isto é, um grupo de pacotes IPs que são enviados na mesma maneira, sobre o mesmo trajeto e com o mesmo tratamento de transmissão. Uma FEC pode corresponder a uma subnet do endereço IP de destino, mas pode igualmente corresponder a qualquer classe de tráfego que o roteador de borda considera significativo. Como exemplo, todo tráfego com o mesmo valor de “IP Precedence” pode constituir uma FEC. O rótulo associa pacotes às respectivas conexões; é algo semelhante ao VPI/VCI (Virtual Path Identifier/Virtual Circuit Identifier) no ATM e DLCI no Frame Relay. Seu formato é apresentado na Figura 2.2 e, em seguida, é descrita a função de cada campo. Na Figura 2.3 podemos visualizar os campos do cabeçalho MPLS através de uma captura feita com o analisador Wireshark (Wireshark, 2012). • Label (Rótulo): contém o valor do rótulo MPLS. Como o tamanho é de 20 bits, esse valor pode variar de 0 a (220 -1), ou 1.048.575. Existem alguns valores que são reservados ao protocolo e têm significados especiais (Rosen et al, 2001b). ○ 0 – IPv4 Explicit NULL Label: indica que o rótulo deve ser retirado, e, desse ponto em diante, o roteamento será feito com base no endereço de rede. ○ 1 – Router Alert Label: indica que o datagrama deve ser analisado pelo software local. O encaminhamento seguinte é definido pelo próximo rótulo da pilha MPLS. ○ 2 – IPv6 Explicit NULL Label: mesma funcionalidade do valor 0, mas aplicada ao protocolo IPv6. Figura 2.2 – Cabeçalho MPLS Miolo_Redes_MPLS_17 x 24_OK.indd 29 29/10/2012 14:57:22 32 Redes MPLS No transporte de datagramas rotulados pelo MPLS, o protocolo PPP atribui o valor hexadecimal 0281 ao campo “protocolo” no seu cabeçalho, enquanto que, no Ethernet, o campo “tipo” pode receber o valor hexadecimal 8847. A Tabela 2.2 exibe o nome do protocolo identificador no cabeçalho de camada 2 e valores para os diferentes tipos de encapsulamento de camada 2. Tabela 2.2 – Valores do protocolo identificador MPLS para tipos de encapsulamento de camada 2 Tipo de encapsulamento de camada 2 Nome do protocolo odentificador de camada 2 Valor (Hex) PPP PPP Protocol Field 0281 Ethernet/802.3 LLC/SNAP encapsulation Ethertype value 8847 HDLC Protocol 8847 Frame Relay NLPID (Network Level Protocol ID) 80 O MPLS suporta comutação de rótulos com operações hierárquicas, base- adas na habilidade do pacote de carregar mais de um rótulo. O processamento de um pacote rotulado é completamente independente do nível de hierarquia, ou seja, o nível do rótulo é irrelevante para o roteador MPLS. O processamento é sempre baseado no rótulo do topo (top label), abstraindo-se dos outros rótulos que existam abaixo deste. 2.4 – Estrutura do MPLS Por se tratar de uma ligação entre as camadas 2 e 3, já que o MPLS utili- za o sistema de endereçamento dos protocolos de nível 3 e o sistema de comu- tação da camada 2, o MPLS pode ser considerado um protocolo de camada 2,5 (Harnedy, 2002). Assim, por ser uma camada de integração, é necessário que esta seja com- patível com diversos protocolos da camada 3, assim como tecnologias de camada 2, o que justifica o “MultiProtocol” do MPLS. É possível separar o plano de controle do plano de encaminhamento na tecnologia MPLS, conforme Figura 2.5, podendo, dessa forma, tratar os planos Miolo_Redes_MPLS_17 x 24_OK.indd 32 29/10/2012 14:57:23 32 Redes MPLS A Arquitetura IP sobre MPLS 33 separadamente. Devido a essa característica, caso se deseje mudar a estratégia de roteamento na rede, não será necessário mudar os dispositivos de encami- nhamento. O plano precisa reagir quando houver mudanças na rede, mas não é envolvido no processamento individual dos pacotes. No plano de controle é construída e mantida a tabela de encaminhamento do nó em uso. É nesse plano que estão localizadas as funções de controle, tais como sinalização, roteamento, policiamento de tráfego, conversão de endereços, dentre outras. Os protocolos de roteamento, tais como RIP, OSPF, IS-IS e BGP, atuam nesse plano e são usados para trocar informações de roteamento entre os componentes de controle. Já o plano de encaminhamento, que tem sua operação ditada pelo plano de controle, é responsável pelo encaminhamento do tráfego baseado apenas em rótulos. Em resumo, o que os roteadores da rede MPLS fazem é utilizar o plano de controle para, através de um protocolo de roteamento, descobrir e escolher os melhores caminhos até o destino. Figura 2.5 – Componentes de controle/encaminhamento 2.5 – Componentes da arquitetura A seguir descreveremos os principais termos e componentes de uma ar- quitetura MPLS, para em seguida explicar o seu funcionamento. A Figura 2.6 exi- be os principais dispositivos que fazem parte da arquitetura MPLS. • Label (rótulo): os rótulos são pequenos identificadores de tamanho fixo, colocados nos pacotes durante seu tráfego pela rede, sendo facilmente processável. Miolo_Redes_MPLS_17 x 24_OK.indd 33 29/10/2012 14:57:23 34 Redes MPLS • LDP (Label Distribution Protocol): o protocolo LDP é o responsável pela distribuição de rótulos para os prefixos IPs em uma rede MPLS. Os rótulos são atribuídos a cada prefixo IGP aprendido na tabela de rotas global de um roteador. Todos os prefixos anunciados por um mesmo equipamento vizinho recebem o mesmo rótulo. Com isso, os elementos intermediários em uma rede MPLS (elementos conhecidos como P) não precisam conhecer a tabela de roteamento completa da rede. Um pacote IP com rótulo é encaminhado para o próximo enlace (next-hop) baseado somente no rótulo externo, isto é, aquele aloca- do pelo LDP com base na tabela de roteamento, e isso ocorre até a chegada à rede de destino. Por padrão, o LDP é configurado para for- mar adjacências somente com seus vizinhos diretamente conectados. Isso é realizado através de um pacote com o endereço de multicast 224.0.0.2 (“all routers”) e TTL igual a 1. Assim que os vizinhos são des- cobertos inicia-se a troca de rótulos, e as sessões são mantidas através de “Hellos” periódicos. A perda de três “Hellos” faz com que a sessão seja desfeita. Uma falha direta na interface faz com que a sessão seja excluída imediatamente. • LIB (Label Information Base): é uma tabela que contém os diversos vín- culos de rótulos que um LSR (Label Switch Router) recebe sobre o proto- colo LDP, ou seja, uma tabela que apresenta informações correlacionan- do os rótulos às interfaces do roteador. É através desta tabela que o LSR determina para qual interface deverá encaminhar o pacote recebido. A Figura 2.7 exibe a tabela de encaminhamento. Figura 2.6 – Componentes da arquitetura MPLS Miolo_Redes_MPLS_17 x 24_OK.indd 34 29/10/2012 14:57:23 36 Redes MPLS A Arquitetura IP sobre MPLS 37 realiza o processamento e a classificação inicial do pacote e apli- ca o primeiro rótulo na entrada (ingress) do pacote no domínio MPLS. Os ingress LSRs analisam as informações do cabeçalho de rede e associam cada datagrama a uma FEC. Toda FEC tem um rótulo associado que será utilizado no encaminhamento para o próximo nó. ○ LSR de Trânsito: são LSRs intermediários que têm a função de apenas fazer a comutação, ou seja, a troca de rótulos, e encaminhar o datagrama para o próximo nó. Eles oferecem co- mutação em alta velocidade, sendo este um processo que mais contribui para o ganho de desempenho na utilização do pro- tocolo MPLS, já que não precisam mais analisar cabeçalhos da camada de rede (IP). ○ LSR de Borda de Saída: é um LSR responsável pela retirada do rótulo do pacote e encaminhamento ao seu destino final. Observação: os LSRs de Entrada (Ingresso) e os LSRs de Saída (Egresso) tam- bém são conhecidos como Edge LSRs, LER (Label Edge Router) ou PE (Provider Edge). Já o LSR de Trânsito é também conhecido com P (Provider). Apesar de não fazer parte do domínio MPLS, os roteadores que fazem parte do ambiente dos clientes possuem uma nomenclatura no cenário MPLS, sendo conhecidos como CEs (Customer Edges). Tais elementos não têm conhecimento da tecnologia MPLS, e o tráfego gerado é baseado apenas nos protocolos roteá- veis, dos quais destacamos o protocolo IP. • LSP (Label Switched Path): conforme pode-se observar na Figura 2.6, um LSP é uma sequência ordenada de LSRs, sendo o primeiro um LSR de ingresso e o último um LSR de saída, ou seja, é o caminho entre o nó de ingresso, possíveis nós intermediários, e o nó de egresso de uma rede MPLS. É similar a um circuito virtual ATM ou Frame Relay, sendo unidi- recional no sentido da origem para o destino, podendo ser estático ou dinâmico. Miolo_Redes_MPLS_17 x 24_OK.indd 37 29/10/2012 14:57:23 38 Redes MPLS 2.6 – Funcionamento Nas redes MPLS os pacotes são rotulados assim que entram na rede e são encaminhados apenas com base no conteúdo desses rótulos ao longo do cami- nho. Os roteadores tomam decisão de encaminhamento com base em tais rótu- los, evitando assim o esquema de intenso processo de pesquisa de dados utili- zado no roteamento convencional. É possível também que, em vez de um único rótulo, o MPLS permita que os pacotes de dados carreguem uma pilha de rótulos, segundo a ordem de que o último rótulo a ser colocado no pacote deverá ser o primeiro a ser retirado (Lobo, 2008). Comentaremos com maiores detalhes esse processo no capítulo seguinte, que trata dos serviços da tecnologia. Podemos de- finir basicamente a operação do MPLS em quatro etapas, conforme a Figura 2.9: Figura 2.9 – Operação do MPLS • Etapa 1 – Construção das tabelas de roteamento. Através dos protoco- los de roteamento, tais como OSPF e IS-IS, são construídas as tabelas de roteamento, que irão determinar os melhores caminhos para atingir as redes de destino por toda a rede do provedor. Nesta etapa também há a atuação do protocolo LDP, que irá fazer o mapeamento entre rótulos e IPs de destino. Os rótulos serão atribuídos automaticamente, de acordo com os valores citados no item 2.3. • Etapa 2 – Ingresso dos pacotes na rede. O roteador de borda (Edge LSR) de ingresso recebe os pacotes que irão entrar na rede, executando Miolo_Redes_MPLS_17 x 24_OK.indd 38 29/10/2012 14:57:24 38 Redes MPLS A Arquitetura IP sobre MPLS 39 serviços de nível 3 e valor agregado, tais como QoS, e em seguida acres- centa o rótulo aos pacotes. • Etapa 3 – Encaminhamento dos pacotes na rede. O LSR encaminha pacotes usando o mecanismo de troca de rótulos (Label Swapping). Ao receber o pacote com rótulo, o LSR lê o rótulo, o substitui de acordo com a tabela LFIB e o encaminha, sendo essa ação repetida por todos os rotea- dores no núcleo do backbone. • Etapa 4 – Saída do pacote na rede. O roteador de borda (Edge LSR) de saída remove o rótulo e entrega pacotes IPs. Nas Figuras 2.10, 2.11 e 2.12, poderemos acompanhar um exemplo prático de encaminhamento de pacotes baseado em rótulos, de acordo com as etapas citadas. A Figura 2.10 apresenta um processo de roteamento convencional, onde é exibida a entrada de dois pacotes IPs em uma rede MPLS. Através da atuação de um protocolo de roteamento (OSPF, IS-IS), as informações da rede são propagadas e as tabelas de roteamento são construídas. Por exemplo, podemos observar que, no roteador central, todos os pacotes destinados à rede 192.168 serão enviados pela interface 0 e, para a rede 172.16, serão enviados pela interface 1. Figura 2.10 – Construção da tabela de roteamento IP Na Figura 2.11 mostra-se a inserção dos rótulos aos pacotes IPs. Através do protocolo LDP, estas associações são anunciadas para os roteadores vizinhos. Por exemplo, vemos que no roteador central o rótulo de saída para a rede 192.168 terá o valor 9, e o rótulo de saída para a rede 172.16 terá o valor 7. Já os rótulos de entrada para tais redes serão 4 e 5, respectivamente. Miolo_Redes_MPLS_17 x 24_OK.indd 39 29/10/2012 14:57:24 42 Redes MPLS As redes corporativas baseadas em WANs tradicionais podem se beneficiar com MPLS na utilização dos enlaces e otimizar o rendimento bruto da rede utili- zando MPLS-TE. De um modo geral, podemos listar alguns benefícios da tecnologia MPLS: • Desacoplamento de roteamento e encaminhamento; • Melhor integração dos mundos IP e ATM; • Redução de custo com a utilização de VPN baseada no protocolo IP; • Escalabilidade; • Flexibilidade; • Priorização de tráfego, assegurando transmissão de dados de modo mais eficiente; • Garantia de níveis de serviços; • Convergência de dados, voz e imagem; • Utilização de serviços, tais como QoS (Quality of Service), VPN e engenha- ria de tráfego. 2.8 – Desvantagens do MPLS A tecnologia MPLS tem como desvantagem o aumento das informações de controle ocasionado pela adição de rótulos, com a consequente redução de carga útil das informações. Outra desvantagem que podemos apontar é o fato da conexão do cliente ao provedor de serviços passar a ser uma conexão de nível 3, herdando com isto suas vulnerabilidades. Por exemplo, a tabela de rotas do clien- te pode ser vista no backbone MPLS. Miolo_Redes_MPLS_17 x 24_OK.indd 42 29/10/2012 14:57:25 43 42 Redes MPLS CAPÍTULO 3. MPLS – VPN Atualmente existem algumas aplicações, também chamadas de serviços asso- ciados à tecnologia MPLS, que a tornam bastante atrativa aos provedores de serviços, inclusive suprindo a necessidade de um bom desempenho para atendimento a uma gama de serviços oferecidos atualmente pela Internet, tais como aplicações de voz, vídeo e algumas aplicações críticas corporativas. A motivação real para implantação da tecnologia MPLS na rede são as aplicações que ela permite. Tais aplicações são di- fíceis de implementar, ou operacionalmente quase impossíveis de realizar com as re- des IPs tradicionais (Osborne e Simha, 2002). Alguns desses serviços são: VPNs MPLS, PseudoWire MPLS, QoS MPLS e Engenharia de Tráfego. Detalharemos esses serviços a partir deste capítulo, iniciando pelo serviço MPLS – VPN. 3.1 – VPN – Conceitos Pode-se dizer que uma VPN (Virtual Private Network) é um conjunto de po- líticas que controlam a conectividade e a qualidade de serviço de uma rede pri- vada. São redes que compartilham um meio físico comum, porém possuem pri- vacidade dos dados através de criptografia. São redes virtuais, pois não possuem enlaces ou linhas dedicados entre as suas extremidades; no entanto, para os usu- ários e clientes, são “transparentes” e possuem as mesmas funcionalidades de se- gurança de enlaces dedicados. As VPNs consistem em soluções simples e flexíveis, tratando-se de uma poderosa ferramenta de tunelamento oferecida pelos prove- dores de serviço de Internet (ISPs). As VPNs foram originalmente introduzidas para permitir aos provedores de serviços o uso de uma mesma infraestrutura comum na emulação de enlaces ponto-a-ponto entre os sites dos clientes, e foram de- senvolvidas nos moldes de uma rede geograficamente distribuída ou WAN (Wide Area Network), podendo abranger uma ampla área geográfica, frequentemente um país ou continente, com todos os atributos de segurança, gerenciamento e processamento (Ricci, 2007). Miolo_Redes_MPLS_17 x 24_OK.indd 43 29/10/2012 14:57:25 44 Redes MPLS Uma rede privada virtual ou VPN (Virtual Private Network) é uma área de crescimento importante na Internet. Usando protocolos padronizados, as empresas são capazes de conectar suas redes privadas com segurança usando os recursos econômicos e altamente disponíveis da Internet. O objetivo da Internet é proporcionar comunicação entre os nós das redes de modo irres- trito. Porém, existem muitas situações tais como transações financeiras, paga- mentos, etc. nas quais se exige privacidade das informações e uma conectivi- dade controlada. A maneira de baixo custo e eficiente de obter tal resultado é a utilização de VPNs (Guimarães et al, 2006). O crescimento das VPNs tem sido acompanhado por uma explosão nas técnicas disponíveis para prover essa função. A maior parte dessas técnicas utiliza abordagens padronizadas, mas cada uma utiliza protocolos diferentes e possui suas próprias vantagens e desvantagens. O MPLS vem se tornando um suporte fundamental para a dissemina- ção de VPNs, devido a sua aceitação pelas operadoras de telecomunicações em separar os tipos de tráfegos de usuários comuns do tráfego de serviços legados. Uma solução de VPN híbrida que utiliza BGP e MPLS IP VPN é descrita na RFC 4364 (RFC 4364). Esta denominação deriva do fato de que o roteamento in- ter-AS e a distribuição de rótulos se efetivam com base na RFC 4760 (RFC 4760) e na RFC 3107 (RFC 3107). O MPLS pode ser utilizado para estabelecer VPNs de camada 2 e 3, pois esse protocolo possibilita a criação de túneis, onde as mensagens ponto-a-ponto são criptografadas. O MPLS fornece um mecanismo eficaz para suporte a VPNs. VPNs MPLS utilizam um rótulo adicional para determinar a rede de destino. A grande motivação das VPNs foi o fator custo, pois, ao invés de se utilizar de um grande número de linhas dedicadas para a interconexão en- tre seus diversos pontos, uma VPN faz uso dos serviços existentes das redes IPs espalhadas mundialmente, para estender as redes corporativas de uma empresa a pontos distantes, como outros escritórios, filiais, parceiros e até mesmo residências. Outro fator motivacional que podemos destacar é que as VPNs podem permitir o acesso a qualquer lugar alcançado pela Internet; e, como a Internet está hoje onipresente, conexões podem ser facilmente estabelecidas. Miolo_Redes_MPLS_17 x 24_OK.indd 44 29/10/2012 14:57:25 46 Redes MPLS MPLS – VPN 47 do roteador PE (Provider Edge) de entrada, passando pelo roteador P (Provider) até o roteador PE de saída. Cada túnel estabelece um canal virtual (PseudoWire) entre a origem e o destino, para conectar diferentes partes da VPN. O roteador CE (Customer Edge) na rede do cliente vê o backbone MPLS como um circuito ponto-a-ponto. Figura 3.4 – Processo de tunelamento – VPN Figura 3.5 – Processo de tunelamento – VPN MPLS O MPLS pode ser utilizado para estabelecer VPNs de camada 3, e es- sas utilizam pilhas de rótulos MPLS para enviar pacotes por túnel através de uma rede IP. Como alternativa, os pacotes MPLS podem ser encapsulados em algum outro mecanismo de tunelamento, para permitir que sejam trans- portados pelo núcleo do backbone. Esta segunda opção pode ser particu- larmente útil quando o MPLS for usado dentro da VPN, ou quando muitos pontos da borda oferecem, cada um, acesso a várias VPNs e for desejável reduzir o número de túneis pela rede. As VPNs então serão separadas pelo rótulo acrescentado nos pacotes. Como no exemplo apresentado na Figura 3.5, o roteador PE de entrada acrescenta os rótulos “65” e “13” para diferen- ciar as VPNs. Miolo_Redes_MPLS_17 x 24_OK.indd 47 29/10/2012 14:57:26 48 Redes MPLS 3.3 – Modelos de VPN O termo VPN é bastante utilizado e as definições variam, mas intuiti- vamente é possível definir uma VPN considerando primeiro a ideia de rede privada. As empresas com muitas filiais distribuídas geograficamente normal- mente criam redes privadas contratando circuitos dedicados de operadoras de telecomunicações, como, por exemplo, E1, E3, STM-1 e STM-4. Nesse tipo de rede a comunicação é restrita apenas aos pontos remotos e à matriz da empresa, o que normalmente é desejável por motivos de segurança, embo- ra o volume de tráfego raramente justifique o custo. Para montar uma rede privada virtual, os circuitos dedicados devem ser substituídos por uma rede compartilhada com outras empresas – compartilhamento de multiplexadores ou switches Frame-Relay e ATM (Gallaher, 2003). Frame Relay e ATM foram as primeiras tecnologias a serem adotadas largamente como VPN. Esse modelo é conhecido como overlay e nele a operadora de telecomunicações não partici- pa do roteamento. Essas redes consistem de vários dispositivos, pertencentes aos clientes e às operadoras de telecomunicações, que são componentes da solução VPN (Lobo, 2008). Um segundo modelo de VPN é o par-a-par (peer-to- -peer), onde a operadora de telecomunicações participa do roteamento dos pacotes na rede. Um exemplo de VPNs no modelo par-a-par são as VPNs BGP/ MPLS IP. Uma VPN MPLS combina as melhores características do modelo de VPN overlay e par-a-par. 3.3.1 – O modelo overlay No modelo overlay para VPNs, toda a lógica funcional das VPNs ocorre nos equipamentos dos usuários, limitando a operadora de telecomunicações a fornecer circuitos físicos como, por exemplo, E1, E3 e STM ou circuitos virtuais de redes como Frame Relay ou ATM, mas também o modelo overlay pode pro- ver protocolos de camada 3 – nesse caso, são utilizados túneis para construir as redes overlay, como exemplo, túneis GRE (Generic Routing Encapsulation), L2TP e IPSec para interconectar sites dos clientes. Na Figura 3.6 é possível visualizar um backbone Frame Relay, com comutadores FR (Frame Relay) inter- ligados por vários Circuitos Virtuais Privados (PVCs), formando uma rede com- pletamente conectada (Full Mesh), onde cada circuito virtual tem um custo adicional para ser estabelecido. Portanto, neste modelo, nenhum processo de roteamento ocorre entre o roteador do cliente e o provedor de serviços; dessa forma o provedor de serviços nunca visualiza as rotas do cliente. Miolo_Redes_MPLS_17 x 24_OK.indd 48 29/10/2012 14:57:26 48 Redes MPLS MPLS – VPN 49 Considerando o roteamento IP e a formação de pares, do ponto de vista do cliente, os roteadores parecem estar diretamente conectados, já que não há en- volvimento por parte do provedor em tal processo, conforme mostra a Figura 3.7. Figura 3.6 – VPN overlay com Frame Relay (De Ghein, 2007) Figura 3.7 – VPN overlay – ponto de vista do cliente Miolo_Redes_MPLS_17 x 24_OK.indd 49 29/10/2012 14:57:26 52 Redes MPLS Da perspectiva do roteador do cliente (CE), apenas atualizações de rotas e dados são encaminhados para o roteador de entrada do provedor (PE). Nesse ro- teador do cliente não é necessária qualquer alteração das configurações da VPN, e sim apenas habilitar um protocolo de roteamento ou efetuar um roteamento estático para que troque informações com o PE. Já o roteador PE executa múltiplas funções, pois ele deve ser capaz de iso- lar o tráfego se mais de um cliente estiver conectado a ele e, para cada cliente, é designada uma tabela de roteamento independente. O roteamento através do backbone é desempenhado usando um processo de roteamento na tabela de ro- teamento global. Esses roteadores de backbone, conhecidos como P (Provider), fazem a comutação de rótulos entre os PEs e não requerem quaisquer configu- rações de VPN. Os roteadores CEs não conhecem os roteadores Ps, e a topologia interna da rede do provedor é transparente para o cliente, conforme pode-se ob- servar na Figura 3.9. Figura 3.9 – Arquitetura MPLS VPN Miolo_Redes_MPLS_17 x 24_OK.indd 52 29/10/2012 14:57:26 52 Redes MPLS MPLS – VPN 53 Portanto, redes MPLS permitem uma total separação das redes VPNs dos clientes. Essa divisão se dá pela separação de tabelas de roteamento, plano de endereçamentos e tráfego. Logo, as VPNs de dois clientes distintos A e B podem possuir planos de endereçamento idênticos, cada um com sua própria tabela de roteamento e de modo que seus tráfegos jamais se misturem. O isolamento do tráfego entre os clientes, que é realizado nos roteadores PE, faz uso de um conceito conhecido como tabela de roteamento virtual, tam- bém chamado de Virtual Routing and Forwarding table ou VRF. Um roteador PE tem uma instância de VRF para cada cliente conectado a ele. Funciona como se existissem roteadores dedicados para cada cliente que se conecta ao provedor de serviços, porém há compartilhamento de CPU, largura de banda e recursos de memória com outros roteadores virtuais pertencentes ao mesmo PE. A função de uma VRF é similar a uma tabela de roteamento global, exceto que ela contém todas as rotas pertencentes para uma VPN específica. A grande vantagem do uso do roteador virtual é a redução da quantidade de equipamentos físicos que um provedor necessita disponibilizar. Seu uso não altera o modelo da VPN, apenas permite que um único roteador seja fisicamente compartilhado por vários roteadores virtuais. Pode-se observar na Figura 3.9 que os roteadores PEs possuem duas tabelas de roteamento isoladas, uma para cada VPN, no caso para os clientes A e B. Para realizar uma VPN MPLS é necessário o conhecimento de alguns atri- butos utilizados nos roteadores PEs, que são: RD (Route Distinguisher), RT (Route Targets) e MP-BGP (MultiProtocol Border Gateway Protocol). O RD é um identificador único de 64 bits que é inserido na frente do IPv4, portanto sendo único dentro do backbone MPLS. A combinação dos endereçamen- tos IPv4 e esses identificadores de rotas fazem com que as rotas IPv4 sejam únicas através da rede VPN MPLS; dessa forma é possível aos clientes de diferentes VPNs o uso dos mesmos endereços privados (Lobo, 2008). O formato do endereço resul- tante (Figura 3.10), com 96 bits no total (32 bits do IPv4 + 64 bits do RD), é conhecido como endereço VPNv4 e é trocado entre os roteadores PEs no backbone. A Figura 3.10 mostra que existem dois formatos para o RD. Se o provedor não tem um número de AS (Autonomous System) BGP, o formato com endereço IP pode ser usado; e se o provedor tem um número de AS, o formato com o número do sistema autônomo pode ser usado. Na Figura 3.11, observa-se que o mesmo prefixo, 172.16.10.0/24, recebido de dois diferentes clientes, se torna único no backbone ao ser adicionado aos va- lores de RD, no caso, 1:100 e 1:101. Miolo_Redes_MPLS_17 x 24_OK.indd 53 29/10/2012 14:57:26 54 Redes MPLS O protocolo usado para trocar essas rotas VPNv4 entre os roteadores PEs é o multiprotocolo BGP (MP-BGP). O protocolo BGP-4 foi descrito na RFC 1771 (RFC 1771), porém essa RFC descreve apenas o uso do BGP no transporte de prefixos IPv4. A RFC 2858 (RFC 2858), Multiprotocol Extensions for BGP-4, foi escrita para estender o BGP e torná-lo apto a transportar outras informações de roteamento, além dos prefixos IPv4. O protocolo BGP foi escolhido para troca de rotas VPNv4 devido a sua alta escalabilidade para transportar rotas, por ser um protocolo Figura 3.10 – Formato VPNv4 (AS – Number + VPN ID ou IP Address + VPN ID) Figura 3.11 – Operação do RD na VPN MPLS Miolo_Redes_MPLS_17 x 24_OK.indd 54 29/10/2012 14:57:27 56 Redes MPLS MPLS – VPN 57 através do rótulo da VPN (De Ghein, 2007). A Figura 3.14 exibe a captura, através do Wireshark, de dois rótulos MPLS: um deles (17) é o rótulo do IGP e o outro é o rótulo da VPN (24). Podemos observar que, no primeiro rótulo, o campo BoS está em 0 (zero), o que significa que há outro rótulo para ser lido. Já no segundo rótu- lo, o campo BoS está setado (1), indicando que este é o último rótulo, não tendo mais nenhum a ser lido. Figura 3.14 – Captura de dois rótulos MPLS através do Wireshark Miolo_Redes_MPLS_17 x 24_OK.indd 57 29/10/2012 14:57:27 58 CAPÍTULO 4. PseudoWire MPLS Neste capítulo daremos um detalhamento sobre outro importante servi- ço provido pela tecnologia MPLS, o PseudoWire, o qual permite o transporte de quaisquer tecnologias ( Frame Relay, ATM, Ethernet, etc.) sobre um backbone MPLS, tornando o backbone transparente ao transporte do tráfego IP. 4.1 – PseudoWire – Conceito A ideia do serviço PseudoWire do MPLS é permitir que a tecnologia MPLS possa ser usada como uma infraestrutura de rede multisserviço, que agrega e pode transportar diversas tecnologias, tais como ATM, Ethernet e Frame Relay, de maneira integrada sobre uma só rede, uniformemente gerenciada. Para isso são criados circuitos virtuais, que emulam um circuito ponto-a-ponto e provêm um serviço único no backbone MPLS, que é visto pelo usuário como um circuito dedicado de um determinado serviço. Como exemplo, temos a Figura 4.1. Figura 4.1 – PseudoWire MPLS. Adaptado de (De Ghein, 2007) Miolo_Redes_MPLS_17 x 24_OK.indd 58 29/10/2012 14:57:28 PseudoWire MPLS 59 O PseudoWire habilita provedores de serviço a conectar sites de clientes à rede da camada de enlace de dados utilizando uma única infraestrutura inte- grada de rede baseada em pacotes: uma rede MPLS. Em vez de isolar as redes em ambientes de gerenciamento, os provedores de serviço podem distribuir conexões da camada 2 sobre um backbone MPLS. Esse serviço provê uma es- trutura comum para encapsular e transportar modalidades suportadas de trá- fego da camada 2 sobre um núcleo de rede MPLS, com os seguintes tipos de transportes: • ATM AAL5 sobre MPLS; • ATM Cell Relay sobre MPLS; • Ethernet sobre MPLS; • Frame Relay sobre MPLS; • PPP sobre MPLS; • HDLC sobre MPLS. A Figura 4.2 exibe o uso do PseudoWire para diferentes tecnologias. Figura 4.2 – PseudoWire – diferentes tecnologias de nível 2. Adaptado de (De Ghein, 2007) Miolo_Redes_MPLS_17 x 24_OK.indd 59 29/10/2012 14:57:28 62 Redes MPLS O roteador de saída desencapsula o pacote e reproduz o quadro nível 2 na interface de saída apropriada. Os quadros PseudoWire são transportados através do backbone MPLS usando a pilha de rótulos com dois rótulos. No framework PseudoWire, o rótulo mais externo é chamado de rótulo do túnel. Esse rótulo mais externo propaga o pacote do roteador PE de entrada para o roteador PE de saída, sendo este rótulo mais externo do túnel usado para a criação do LSP PE-PE. O rótulo do túnel é associado com o prefixo IGP (Interior Gateway Protocol), identifi- cando o PE remoto. O segundo rótulo (inner label), conhecido como rótulo VC, é usado pelo roteador PE de saída para encaminhar pacotes na interface de saída apropria- da. Portanto, o roteador PE recebe um quadro do roteador CE e encaminha o quadro através do backbone MPLS para o roteador PE de saída com dois rótulos: o rótulo de túnel (tunnel label) e o rótulo de circuito virtual (VC label). Podemos observar esse pacote PseudoWire na Figura 4.6. Quando o pacote alcança o roteador de saída, o rótulo do túnel já foi removido. Isso ocorre de- vido ao comportamento do PHP (Penultimate Hop Popping) entre o último ro- teador P e o PE de saída. Assim, o PE de saída inspeciona o rótulo de circuito virtual (VC) na LFIB, retira o rótulo VC e encaminha o quadro no AC correto. Os roteadores Ps nunca olham o rótulo VC, eles são completamente alheios ao serviço PseudoWire. Figura 4.5 – Túnel LSP. Adaptado de (De Ghein, 2007) Miolo_Redes_MPLS_17 x 24_OK.indd 62 29/10/2012 14:57:29 62 Redes MPLS PseudoWire MPLS 63 4.5 – Benefícios do PseudoWire Podemos citar algumas vantagens de habilitar pacotes de camada 2 para serem transmitidos na rede MPLS: • Torna o provedor de serviços capaz de transportar todos os tipos de tráfe- go sobre o backbone e comporta todos os tipos de clientes; • Adere aos padrões desenvolvidos para transporte de pacotes nível 2 so- bre MPLS; • A expansão para o PseudoWire é transparente para o usuário. Como a rede do provedor de serviço fica isolada da rede do cliente, o provedor pode expandir para PseudoWire sem interrupção de serviço para o usuá- rio. Os clientes presumem que estão usando um backbone tradicional de camada 2. Figura 4.6 – Encaminhamento de um pacote PseudoWire Miolo_Redes_MPLS_17 x 24_OK.indd 63 29/10/2012 14:57:29 64 CAPÍTULO 5. Qualidade de Serviço ( QoS) com MPLS Neste capítulo estudaremos os conceitos, as arquiteturas e os mecanismos de Qualidade de Serviço, mostrando como estas características são incorporadas às redes MPLS para garantir o tratamento diferenciado a algumas aplicações. 5.1 – Fundamentos do QoS A Internet fornece um serviço apenas do tipo melhor esforço ( best-effort), no qual todos os pacotes que trafegam são tratados de maneira uniforme para entregá-los ao destino. A Internet funciona com o protocolo IP, que trabalha com essa filosofia de melhor esforço, onde cada usuário da rede envia seus dados e compartilha a largura de banda com todos os demais fluxos de dados dos outros usuários. Quando há um congestionamento, pacotes são descartados indiscrimi- nadamente, não havendo garantia de que o serviço será realizado com sucesso, nem que haverá bom desempenho (Odom e Carnavaugh, 2004). Aplicações em tempo real, tais como tráfego de voz, vídeo e multimídia, ne- cessitam de garantia estrita de banda e são aplicações sensíveis a atraso (delay), variação do atraso dos pacotes ( jitter) e perda de pacotes (Lins et al, 2011). À época da criação do protocolo TCP-IP, não se vislumbrava que a Internet se tornaria a grande rede mundial que hoje é conhecida, e, desse rápido cres- cimento, temos a tendência cada vez maior da integração de todos os dados e serviços numa única infraestrutura de redes de pacotes, a rede IP. Portanto, no contexto atual das redes, de integração e convergência, onde as redes transpor- tam todo tipo de informação, é fundamental a utilização da qualidade de serviço, para melhor atendimento às aplicações que requerem tratamento diferenciado. De uma forma simples, QoS é a habilidade de diferenciar diversas classes de tráfegos com critérios predefinidos e designar prioridades baseadas em vários tipos de tráfegos que afetam o tratamento em cada roteador na rede (Lobo, 2008). Miolo_Redes_MPLS_17 x 24_OK.indd 64 29/10/2012 14:57:29 66 Redes MPLS Qualidade de Serviço (QoS) com MPLS 67 reserva de recursos. Quando o dispositivo de destino recebe a mensagem PATH, ele responde com uma mensagem RESV (para requisitar recursos para o fluxo) que percorre a mesma rota no sentido reverso. Cada roteador ao longo do cami- nho pode aceitar ou rejeitar a reserva de recursos; porém, se ela for rejeitada, o roteador enviará uma mensagem de erro RESVERR para o destino, encerrando o processo de sinalização. Sendo aceita, a largura de banda e o espaço em buffer são alocados para o fluxo, e as informações de estado do fluxo relatado são inse- ridas no roteador. Nesse período de tempo, o emissor daquele serviço tem uma faixa da lar- gura de banda disponível para transmitir as informações (Odom e Canavaugh, 2004). É importante salientar que as reservas de recursos utilizadas pelo RSVP são soft-state, ou seja, tanto o transmissor quanto o receptor devem continuar en- viando essas mensagens de tempos em tempos, a fim de manter o estado da sessão; caso contrário, a reserva será cancelada. A grande vantagem do Serviço Integrado é que previamente é feita uma alocação de banda, já que cada roteador é consultado ao longo do caminho para fazer essa reserva, garantindo assim a entrega, caso a reserva seja aceita por todos. A arquitetura IntServ tem como principal desvantagem o fato de não ser uma arquitetura escalável, pois a quantidade de informações de estado aumenta proporcionalmente com o número de fluxos, exigindo uma sobrecarga de pro- cessamento nos roteadores. Para grandes redes, como backbones de operadoras, torna-se inviável o uso desta arquitetura, devido à grande troca de mensagens e à necessidade de guardar estados dos fluxos nos roteadores. 5.2.2 – Serviços diferenciados (DiffServ) A arquitetura de Serviços Diferenciados (DiffServ) foi introduzida como uma alternativa para a arquitetura de Serviços Integrados, evitando problemas de escalabilidade e complexidade. A qualidade de serviço na arquitetura DiffServ é garantida através de mecanismos de priorização de pacotes na rede, diferente- mente da arquitetura IntServ, onde a qualidade de serviço é garantida através de reserva de recursos na rede. Na Figura 5.3 são exibidos os blocos funcionais principais em um roteador utilizando a arquitetura DiffServ. Todas as funções desse diagrama estão presen- tes nos roteadores de borda da rede e, eventualmente, adicionados aos roteado- res de núcleo da rede. Miolo_Redes_MPLS_17 x 24_OK.indd 67 29/10/2012 14:57:30 68 Redes MPLS • Classificador de pacotes: identifica pacotes que são mapeados para classes. • Medidor: verifica conformidade com parâmetros de tráfego e passa o re- sultado para o marcador e o condicionador de pacotes, para disparar uma ação específica para pacotes que estão fora ou dentro do perfil definido. • Marcador de pacotes: escreve/sobrescreve o valor do DSCP. • Condicionador de pacotes: atrasa alguns pacotes para que eles perma- neçam em conformidade com o perfil definido, ou descarta pacotes que excederam o perfil definido. Os serviços diferenciados são implementados com base na definição de tipos de serviços. Através do campo ToS (Type of Service) do cabeçalho IP pode-se representar o tipo de serviço. As aplicações podem fazer uso de 3 bits do cam- po ToS para especificar a necessidade de baixo atraso, alta largura de banda ou pouca perda, sendo essas opções bastante limitadas (Odom e Cavanaugh, 2004); porém, na arquitetura DiffServ foi definida uma nova interpretação para o campo ToS, conforme podemos observar na Figura 5.4. Figura 5.3 – Blocos funcionais do DiffServ Figura 5.4 – DSCP (Differentiated Service Code Point) e CU (Currently Unused) Miolo_Redes_MPLS_17 x 24_OK.indd 68 29/10/2012 14:57:30 68 Redes MPLS Qualidade de Serviço (QoS) com MPLS 69 Os serviços diferenciados fazem uso dos 6 bits mais significativos do campo ToS, chamado de campo DS (Differentiated Service) pelo serviço diferenciado. Os últimos bits atualmente inutilizados (CU) no campo DiffServ não foram definidos dentro da arquitetura do DiffServ; eles têm sido utilizados como bits de notifica- ção de congestionamento explícito (ECN). O campo DS retira do pacote informa- ções do tipo de tratamento que o pacote deve obter em um determinado rotea- dor, o que é chamado de PHB (Per-Hop Behavior). No campo DS, são codificadas as classes para os serviços diferenciados. Dois novos tipos de classes especiais surgiram com o modelo diferenciado: • Classe AF (Assured Forwarding) (RFC 2597): consiste de um grupo PHB com serviços especificados em termos de largura de banda rela- tiva disponível e políticas de descarte de pacotes. O serviço AF é com- posto de várias subclasses de serviço que possuem diferentes níveis de precedência em relação ao descarte de pacotes. É indicado para as aplicações que não são tão sensíveis ao atraso e requerem garan- tia de banda (DSCP = “001,” “010,” “011”, ou “100”). Pode-se considerar que o DSCP seja codificado no formato aaadd0, onde “aaa” define a classe de serviço e o “dd” define a precedência de descarte, conforme a Tabela 5.1. Tabela 5.1 – Classes AF do DSCP Precedência de descarte/Classe AF1 AF2 AF3 AF4 1. Baixa 001010 010010 011010 100010 2. Média 001100 010100 011100 100100 3. Alta 001110 010110 011110 100110 • Classe EF (Expedited Forwarding) (RFC 2598): oferece um serviço de re- des com baixa perda, baixo atraso, baixo jitter e banda garantida. É indica- do para aplicações de tempo real. Para indicar PHB EF é utilizado apenas um DSCP: 101110. É importante observar que, apesar deste PHB ser fácil de definir, um serviço baseado em PHB EF necessita de uma cuidadosa coordenação entre policiamento, conformação e escalonamento nos ca- minhos que os pacotes EF poderão seguir. Miolo_Redes_MPLS_17 x 24_OK.indd 69 29/10/2012 14:57:30 72 Redes MPLS Já a marcação, dependendo do tipo de interface em questão e das caracte- rísticas do equipamento, pode ser feita na camada 2 (802.1p/q), na camada 3 (IP Precedence ou DSCP) ou no rótulo MPLS (Campo EXP). Na Figura 5.6 são apresen- tados os campos do quadro Ethernet, no qual está destacado o campo TAG, de 4 bytes, utilizado para marcação dos quadros, podendo criar classes de serviços em camada 2. Figura 5.6 – Marcação em camada 2 Figura 5.7 – Marcação em camada 3 Figura 5.8 – Marcação no rótulo MPLS Na Figura 5.7 é visto um pacote IPv4, sendo destacado o campo ToS (Type of Service), de 1 byte, utilizado para marcação dos pacotes, podendo ser utilizado para criação de classes de serviços na camada 3. Na Figura 5.8, é apresentado o cabeçalho do MPLS, inserido entre as cama- das 2 e 3 do modelo OSI, sendo destacado o campo EXP, de 3 bits, utilizado para marcação dos rótulos. Miolo_Redes_MPLS_17 x 24_OK.indd 72 29/10/2012 14:57:31 72 Redes MPLS Qualidade de Serviço (QoS) com MPLS 73 Gerenciamento de congestionamento O controle de congestionamento ocorre na medida em que um conges- tionamento se estabelece em uma comunicação de rede. Os elementos de rede usam os algoritmos de enfileiramento para ordenar o excesso de tráfego (over- flow) que chega, determinando alguns métodos de priorização para o fluxo de saída. Há uma grande necessidade de que o tráfego seja compartilhado entre aplicações, de modo que não venha a afetar o desempenho delas, por isso deve- mos considerar a utilização de técnicas de gerenciamento de congestionamento para assegurar o tratamento através de vários tipos de tráfegos. Existem diver- sos mecanismos de enfileiramento para controle e prevenção de congestiona- mento em interfaces de roteadores, aplicáveis tanto em LANs quanto em WANs. Apresentamos alguns deles a seguir: Controle de fila – FIFO (First-In First-Out) Este tipo de gerenciamento de congestionamento utiliza uma fila na qual o primeiro pacote a entrar será o primeiro pacote a sair da interface. É um me- canismo de armazenamento e repasse também conhecido como FIFO (First-In First-Out), que não implementa nenhum tipo de classificação. A alocação de ban- da é determinada pela ordem de chegada dos pacotes. Normalmente é utilizada para fazer o controle do tráfego nas conexões seriais dos roteadores e não é uma boa indicação para aplicações sensíveis a retardo, pois pode causar longos atra- sos para tráfegos em rajadas (Odom e Cavanaugh, 2004), conforme ilustrado na Figura 5.9. Figura 5.9 – Fila FIFO (First In First Out) Enfileiramento com prioridade – PQ (Priority Queuing) O mecanismo de controle PQ dá ao tráfego mais importante a mais alta prioridade, sempre levando precedência sobre o tráfego de menor importância. Neste caso, os pacotes são classificados segundo critérios especificados pelo usuá- rio, tais como: tipo do protocolo, interface de entrada e saída, tamanho do pacote, fragmentos e listas de acesso. Após esta classificação os pacotes são enviados Miolo_Redes_MPLS_17 x 24_OK.indd 73 29/10/2012 14:57:31 74 Redes MPLS para uma das quatro filas de saída criadas pelo PQ – alta, média, normal e baixa –, de acordo com a prioridade definida. Por padrão, os pacotes não classificados caem na fila normal, conforme esquematizado na Figura 5.10. Figura 5.10 – Enfileiramento com prioridade PQ (Priority Queuing) A fila alta é sempre servida primeiro, até que seja esvaziada e as filas de menor prioridade possam ser servidas em sequência. Apesar de o PQ prover tra- tamento preferencial absoluto para tráfego de prioridade alta, assegurando que o tráfego de missão crítica atravesse vários enlaces com prioridade, seu uso pode resultar no tráfego de mais baixa prioridade nunca ser atendido, causando o que é chamado de morte por inanição (starvation). Enfileiramento justo e enfileiramento justo ponderado Nesses algoritmos de enfileiramento, a proposta é oferecer uma aloca- ção mais equitativa da banda entre os fluxos de dados, proporcionando uma ordenação de mensagens em sessões e alocando uma fração da banda para cada sessão. O mecanismo de enfileiramento justo ponderado (Weighted Fair Queuing – WFQ) utiliza o algoritmo de enfileiramento justo (Fair Queuing), colo- cando o tráfego prioritário para frente da fila, reduzindo o tempo de resposta e, de forma justa, compartilhando o restante da banda com os outros tipos de fluxos (Odom e Cavanaugh, 2004). É um algoritmo empregado para interfaces seriais abaixo de 2 Mbps e trabalha de forma automática, prevendo tratamento de alocação de banda para todo o tráfego de rede, aplicando pesos para iden- tificar tráfego dentro de conversações e determinar quanto de banda de cada Miolo_Redes_MPLS_17 x 24_OK.indd 74 29/10/2012 14:57:31 76 Redes MPLS Qualidade de Serviço (QoS) com MPLS 77 os pacotes desta fila, até o limite de banda definido. Pacotes que excedam esse limite somente serão transmitidos caso a interface não possua nenhum tipo de congestionamento. Figura 5.13 – Mecanismo de enfileiramento de baixa latência (LLQ) Figura 5.14 – Mecanismo de policiamento (policing) Policiamento (Policing) Para disciplinar o tráfego que entra no backbone, usa-se o mecanismo de policiamento, que limita a banda que uma determinada classe de tráfego pode utilizar. Para os excessos gerados de banda, podem ser definidas as ações de des- cartar os pacotes, o que efetivamente impossibilita o tráfego acima da banda dis- ponibilizada, ou pode-se remarcar esse tráfego com uma prioridade menor antes de transmiti-lo, o que não interrompe o serviço, porém o penaliza com um maior tempo de resposta às aplicações que não estão com o comportamento dentro do perfil contratado. A Figura 5.14 apresenta o comportamento do mecanismo de policiamento, onde se pode observar o descarte de pacotes. Miolo_Redes_MPLS_17 x 24_OK.indd 77 29/10/2012 14:57:32 78 Redes MPLS Moldagem (Shaping) O mecanismo de moldagem, conhecido como shaping, ajusta o tráfego para um perfil definido, o regula e o submete a um domínio DiffServ. Este meca- nismo, em vez de descartar os pacotes que excederem o perfil definido, armazena num buffer as informações excedentes, causando um atraso de forma a ajustar as suas características ao perfil definido. A Figura 5.15 apresenta um gráfico dos mecanismos de moldagem. Figura 5.15 – Mecanismo de moldagem (shaping) A comparação entre os mecanismos de policiamento e moldagem permite afirmar: • Ambos os mecanismos verificam se o tráfego não excede uma banda li- mite contratada; • Ambos limitam a banda, mas com diferentes impactos no tráfego: ○ Policiamento (Policing) descarta mais frequentemente – mais retransmissões. ○ Moldagem (Shaping) adiciona variáveis de retardo (buffering). ○ Policiamento (Policing) causa retransmissões TCP. ○ Policiamento (Policing) pode também ser um marcador. ○ Policiamento (Policing) age na interface de entrada ou saída. ○ Moldagem (Shaping) age somente na interface de saída. ○ Moldagem (Shaping) pode ser adaptada para congestionamen- tos na rede (BECN, FECN). Miolo_Redes_MPLS_17 x 24_OK.indd 78 29/10/2012 14:57:32 78 Redes MPLS Qualidade de Serviço (QoS) com MPLS 79 Evitar congestionamento (Congestion Avoidance) Alguns dos principais mecanismos para evitar congestionamentos são: • RED (Random Early Detection) é o mecanismo através do qual o rotea- dor monitora o tamanho das filas e descarta aleatoriamente pacotes para evitar que o tamanho da fila aumente demasiadamente. Com isso, as aplicações TCP recebem uma resposta da rede em relação às condições de tráfego, reduzindo a utilização de banda e diminuindo a situação de congestionamento (Odom e Cavanaugh, 2004). • WRED (Weighted Random Early Detection) usa o mecanismo do RED, aliado a uma avaliação do pacote pelo seu peso, que é inversamente pro- porcional ao campo de prioridade (priority) dentro do ToS no cabeçalho IP. Desta forma, pacotes com maior prioridade terão menor peso e, por consequência, menor probabilidade de descarte. O WRED também usa dois limites para cada peso de pacote. O primeiro limite, quando ultra- passado, aciona o mecanismo de descarte aleatório, enquanto o segun- do aciona o descarte total (tail drop). O funcionamento geral do algoritmo WRED é similar ao do RED. O RED se baseia no cálculo do tamanho médio da fila a cada vez que chega um novo pa- cote. O tamanho da fila é então comparado com os limites mínimo e máximo. Se o tamanho médio estiver entre o valor mínimo e o máximo, a probabilidade de descarte de pacotes é calculada. Já a probabilidade de descarte de um pa- cote no WRED é baseada nos limites mínimo e máximo e no peso do pacote. A probabilidade de descarte aumenta à medida que o tamanho médio se aproxima do tamanho máximo da fila e o peso do pacote é menor. Se o tamanho médio da fila estiver acima do valor máximo, o pacote é descartado, conforme esquemati- zado na Figura 5.16. É possível haver situações específicas em que, mesmo dentro dos limites contratados, o tráfego agregado dos clientes provoca um acúmulo muito grande de pacotes nas filas dos roteadores do núcleo. Nesta situação, é importante o uso dos mecanismos para evitar congestionamentos (Congestion Avoidance – WRED) para sinalizar essa situação às aplicações, evitando o efeito chamado de Global Sync. O Global Sync ocorre quando as filas dos roteadores começam a chegar ao limite de tail drop, onde os pacotes são descartados sem controle, fazendo com que todos os fluxos TCP parem sua transmissão simultaneamente. Isso leva a um efeito em cascata que impede a eficiência no uso da banda, como apresentado na Figura 5.17. Miolo_Redes_MPLS_17 x 24_OK.indd 79 29/10/2012 14:57:32 82 Redes MPLS • Regra 2: os bits EXP do rótulo de entrada são copiados para o rótulo de saída e para qualquer outro rótulo empilhado no pacote. • Regra 3: os bits EXP do rótulo do topo da pilha não são copiados para o rótulo de saída quando o rótulo do pacote de entrada é removido. • Regra 4: os bits EXP do rótulo de entrada não são copiados para os bits de precedência ou os bits DSCP quando a pilha de rótulos é removida e o cabeçalho IP é exposto. Quando o QoS de um pacote rotulado é alterado manualmente em algum LSR, este valor de QoS será novamente alterado na rede algum tempo depois, ou seja, quando um rótulo é retirado do topo da pilha, o valor do campo EXP não é copiado para o novo rótulo exposto, conforme regra 3, significando que o antigo valor de QoS do pacote está novamente ativo, nos levando à quinta regra. • Regra 5: quando o valor do campo EXP é alterado por meio de configu- ração, os rótulos que estão abaixo do topo da pilha não recebem o novo valor do campo EXP. A Figura 5.18 mostra alguns exemplos das regras citadas (De Ghein, 2007): Figura 5.18 – Tratamento padrão do Cisco para os bits EXP Miolo_Redes_MPLS_17 x 24_OK.indd 82 29/10/2012 14:57:33 82 Redes MPLS Qualidade de Serviço (QoS) com MPLS 83 A MPLS QoS regra 4 dá origem ao seguinte comportamento: indiferente- mente do valor dos bits EXP introduzidos pelo LSR de entrada ou em qualquer ou- tro LSR, este não é copiado para o pacote IP no LSR de saída da rede MPLS. Os bits de precedência ou DSCP do pacote IP são preservados, por padrão. É possível fa- zer um tunelamento de QoS, fazendo com que o valor de QoS do pacote IP possa ser transportado através da rede MPLS sem sofrer alteração. A grande vantagem é que a rede MPLS pode ter um esquema diferente de QoS do esquema com que o cliente se conecta a ele, porque o esquema MPLS QoS pode ser independente do esquema IP QoS dos clientes (De Ghein, 2007). Esse modelo se chama tunelamento DiffServ e é oferecido por uma rede MPLS para transportar o valor DiffServ de um pacote IP, de forma transparente, de uma borda a outra da rede MPLS. O túnel tem início quando o rótulo é adicionado ao pacote e termina quando o rótulo é removido, conforme Figura 5.19. O IETF define três modos de túneis DiffServ (Lobo, 2008): • Modo uniforme (Uniform Mode): neste modo, as mudanças feitas no va- lor do campo EXP do rótulo do topo da pilha são propagadas tanto para os rótulos inseridos na pilha como para os rótulos de baixo, quando os rótu- los da pilha são removidos. A premissa é que a rede está em um domínio DiffServ; logo, qualquer mudança feita no campo EXP do pacote em trânsi- to será aplicada a todos os rótulos do pacote, bem como ao pacote IP. • Modo de tubo curto (Short Pipe Mode): modo útil para aplicação de políticas de QoS nos provedores, independentemente da política de QoS Figura 5.19 – Tunelamento DiffServ Miolo_Redes_MPLS_17 x 24_OK.indd 83 29/10/2012 14:57:33 84 Redes MPLS do cliente. Os bits de precedência do pacote IP são propagados para cima na pilha de rótulos. Quando o rótulo é trocado, o valor do campo EXP é mantido. Se o valor do campo EXP do rótulo do topo da pilha é alterado, esta mudança é propagada para todos os rótulos da pilha, mas não para o pacote IP. • Modo de tubo (Pipe Mode): neste modo duas marcações são importan- tes para um pacote quando ele percorre a rede MPLS. Primeiro, a marca- ção usada pelos LSRs intermediários ao longo do LSP, incluindo o LSR de saída. Segundo, a marcação original do pacote antes da entrada na rede MPLS, que continuará sendo usada quando o pacote sair da rede MPLS. No LSR de saída todos os rótulos são removidos, mas, a fim de preservar a marcação transportada no rótulo, o LSR de borda copia este valor antes de remover os rótulos. Esta cópia interna é utilizada para classificar os pacotes na interface de saída. Miolo_Redes_MPLS_17 x 24_OK.indd 84 29/10/2012 14:57:33
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved