Upload
truonglien
View
224
Download
8
Embed Size (px)
Citation preview
Redes MPLS I: Introdução
Nos últimos anos, as redes de computadores e telecomunicação sofreram inúmeras transformações. Com
os crescentes avanços nas áreas tecnológicas, contribuíram para o desenvolvimento de sistemas de
transmissão de dados com alto desempenho. No final dos anos 90, foi introduzida no mercado mundial a
tecnologia MPLS (Multi Protocol Label Switching), onde se permitiu controlar a forma com que o tráfego
flui através das redes IPs, otimizando o desempenho da rede e também melhorando o uso dos seus
recursos.
Em redes IPs tradicionais, o encaminhamento dos pacotes, requer uma pesquisa que compara o endereço
de destino do pacote com cada uma das entradas na tabela de roteamento, encaminhando cada um para a
saída correspondente. Esse procedimento é repetido a cada nó percorrido ao longo do caminho, da origem
ao destino. Isso de fato parece relativamente simples, porém, considerando que cada equipamento
processa milhares e as vezes milhões de pacotes por segundo, essa tarefa pode sobrecarregar a rede.
O MPLS é uma tecnologia de encaminhamento de pacotes baseada em rótulos que vem sendo adotado
por operadoras para oferecer serviços diferenciados com eficiência nos transportes de dados. Os produtos
oferecidos por operadoras baseados em MPLS, permitem disponibilizar não apenas velocidade de
conexão, mas também a diferenciação de tráfego como Multimídia (Voz, Vídeo) e aplicações críticas,
com garantias aplicáveis de QoS (Quality of Service), através das classes de serviço.
Atualmente o MPLS é um passo fundamental para a escalabilidade da rede, considerado essencial para
um novo modelo de Internet no século XXI. MPLS é relativamente jovem, porém vem sendo implantada
com êxito em redes de grandes operadoras de serviços em todo mundo.
Nesse trabalho será abordada a utilização de VPN camada 3 em redes MPLS como solução na
segmentação de redes e segregação de tráfego, provendo aos assinantes/clientes das operadoras de serviço
a interligação de estações distribuídas em uma ampla área geográfica de maneira rápida e seguras.
Objetivos
Os objetivos deste trabalho foram divididos em objetivo geral e objetivos específicos.
O objetivo geral é implementar uma solução de VPN de camada 3 em redes MPLS, utilizando emuladores
como ferramenta de teste para demonstrar o desempenho e analise comparativa com outros tipos de redes.
Entre os objetivos específicos, destacam-se:
Estudar a tecnologia MPLS;
Estudar os tipos de roteamento;
Estudar as VRFs (VPN Routing and Forwarding Table) em uma estrutura MPLS;
Estudar os softwares utilizados na proposta;
Configurar as tecnologias de redes estudadas nos softwares utilizados;
Analisar o desempenho do funcionamento da implementação;
Comparar com outras estruturas de redes convencionais.
1
Abrangência
Propõe-se realizar um projeto de rede onde uma estrutura MPLS será montada, configurada e analisada
através do uso de softwares, bem como emuladores de rede, emuladores de Sistemas Operacionais
esniffers
O simulador de rede usado emula os IOS (Internetwork Operating System) que são os softwares que
rodam em roteadores da linha Cisco Systems, sendo que cada equipamento opera como uma máquina real,
com acesso a todas as funcionalidades e protocolos, podendo comportar uma topologia de rede ampla em
um único computador. Nessa estrutura serão estudadas as formas de roteamento que
osbackbones (operadoras) usam para comunicar-se com outros backbones e roteadores de assinantes
(clientes) – CPE (customer premises equipment), tendo como foco principal do trabalho, mostrar e
analisar o desempenho e vantagem da utilização de VPNs de camada 3 em redes MPLS através de nuvem
privada.
A nuvem privada é a forma utilizada por operadoras de serviço para interligar vários pontos de uma
mesma organização isolando o tráfego da nuvem pública a qual todos têm acesso. As análises serão
executadas através da utilização de softwares específicos para o monitoramento de rede, capturando
dados e posteriormente a gerando gráficos e relatórios. Assuntos como QoS, Engenharia de Tráfego, VPN
de camada 2 e segurança não serão aprofundados, como também não serão implementadas soluções
MPLS para a internet pública.
Para esse estudo será utilizado o programa GNS3 versão 0.7.2, um programa gratuito resultado de um
projeto open source que pode ser utilizado em diversos sistemas operacionais como Windows, Linux e
MacOS X. Com o GNS3 pode-se fazer praticamente tudo o que é possível fazer com roteadores e pix da
linha Cisco. O GN3 é um gerenciador gráfico que está ligado diretamente a outros 3 softwares:
Dynamips: o núcleo do programa que permite a emulação Cisco IOS.
Dynagen: um texto baseado em front-end para o Dynamips.
Qemu: uma máquina de fonte genérica e aberta emulador e virtualizador.
Este programa é um emulador e não um simulador, pois utiliza as mesmas imagens binárias dos
equipamentos reais, proporcionando assim, num local que já possua estes equipamentos, a possibilidade
de testar uma nova versão do IOS antes mesmo de colocá-lo nos equipamentos reais.
A motivação do uso desse software nesse TCC, se deu principalmente por ser gratuito e permitir utilizar
os mesmos IOS dos roteadores, criando um ambiente de simulação que se aproxima bastante do ambiente
real.
Para virtualização dos sistemas operacionais será utilizado o Virtual Box na versão 3.2.8. Virtual Box é
um software de virtualização desenvolvido pela Oracle para arquiteturas de hardware x86 também
gratuito, que visa criar ambientes para instalação de sistemas distintos. Ele permite a instalação e
utilização de um sistema operacional dentro de outro em pleno funcionamento, assim como seus
respectivos softwares, com dois ou mais computadores independentes simultaneamente, compartilhando
fisicamente o mesmo hardware.
O sistema operacional que será virtualizado no Virtual Box para gerar o tráfego nos ambientes do GNS3
será o Ubunto na versão 10.4. Ubuntu é um sistema operacional de código aberto mais popular do mundo
na atualidade. Desenvolvido para notebooks, desktops e servidores, ele contém todos os aplicativos que
qualquer outro sistema operacional tem, em versões similares e livre de licenças.
2
Para análise do tráfego de rede será utilizado o Wireshark. O é um programa que verifica os pacotes
transmitidos pelo dispositivo de comunicação (placa de rede, placa de fax modem, etc.) do computador. O
propósito deste tipo de software, também conhecido como sniffer, é detectar problemas de rede, conexões
suspeitas, auxiliar no desenvolvimento e resolução de problemas. O programa analisa o tráfego de pacotes
recebidos e organiza-os por protocolo. Todo o tráfego de entrada e saída é analisado e exibido em um
ambiente gráfico de fácil visualização contribuindo para a explicação dos casos.
Metodologia
Para a realização deste trabalho serão adotados os seguintes procedimentos:
Revisão Bibliográfica de todo assunto abordados no projeto.
Estudo das tecnologias de redes.
Estudo das técnicas de roteamento.
Estudo da topologia a ser implementada.
Estudo dos softwares a serem utilizados na implementação
Pesquisa dos equipamentos suportados pela topologia.
Levantamento das IOS (Internetwork Operating System) dos equipamentos.
Implementação da topologia nos simuladores.
Configuração dos equipamentos nos simuladores.
Descrever detalhes de analise e desempenho.
Tutoriais
Este tutorial parte I apresenta inicialmente os conceitos sobre Redes de Computadores, e a seguir os
conceitos das Redes IP MPLS, e finaliza apresentando a parte I do modelo conceitual utilizado neste
trabalho, relativa à configuração básica do MPLS com o protocolo OSPF.
O tutorial parte II apresentará as parte II (configuração do BGP/MPLS VPN) e III (configuração do IPsec
em Redes IP) do modelo conceitual, a seguir apresentará a análise comparativa desses modelos, e
finalizará com os resultados alcançados.
3
Redes MPLS I: Conceito Redes de Computadores
Figura 1: Modelo OSI
Fonte: Colcher (et al., 2005, p. 56)
Camada Física
A primeira camada trata dos meios de transmissão físicos tais como: cabo metálico, fibra óptica e ondas
de rádio. É responsável pela definição de um bit (um dígito binário 1 ou 0). Como exemplo, poderíamos
ter uma situação em que a presença de uma tensão na linha por certo período fosse conhecida como “1” e
a ausência de certa tensão fosse interpretada como “0” (TITTEL, 2003).
Camada de Enlace
Também conhecida como link de dados, a camada de enlace é responsável pela ligação dos dados.
Segundo Tittel (2003), a camada de enlace converte os dados brutos e não confiáveis oriundos da camada
física, num link confiável para a camada imediatamente acima (a camada de rede). Nesse processo os
dados das camadas superiores, são encapsulados e transmitido pelo meio físico. Para isso um conjunto de
regras é definido através do: controle erro, fluxo e atribuição de endereço físico aos dispositivos
integrantes no enlace.
4
Camada de Rede
Camada responsável pelo encaminhamento do pacote da origem ao seu destino. Há dois tipos de
protocolos de camada 3: protocolos de roteamento e protocolos roteáveis. Os primeiros são responsáveis
pelo encaminhamento e os últimos em prover um caminho livre de ida e volta através da rede (TITTEL,
2003). IP, IPX e AppleTalk são os protocolos roteáveis enquanto RIP, OSPF, BGP exemplos de
protocolos de roteamento.
Fazendo uma analogia com nosso cotidiano, os pacotes seriam as cartas e os protocolos de roteamento as
operadoras de serviços postais.
Camada de Transporte
A camada de transporte ou camada 4 é responsável pela transferência eficiente, confiável e econômica
dos dados entre um host de origem até seu destino. A função básica da camada de transporte é aceitar
dados da camada acima, repassar essas unidades a camada de rede e assegurar que todos os fragmentos
chegarão corretamente à outra extremidade (TANENBAUM, 2006).
Camada de Sessão
Essa camada tem como objetivo sincronizar o diálogo e gerenciar a troca de dados entre diferentes pontos
da camada de apresentação. Segundo Tanenbaum (2006), a camada de sessão permite que os usuários de
diferentes máquinas estabeleçam sessões entre eles.
Para Torres (2001, p. 44), “Um exemplo comum é a conversão do padrão de caracteres (código de
página) quando, por exemplo, o dispositivo transmissor usa um padrão diferente do ASCII.”.
Conforme Colcher (et al., 2005, p. 61), “Da camada de sessão para cima, os serviços oferecidos começam
a ficar bastante voltados ao fornecimento de facilidades para aplicações”. Pontos de sincronização e o
gerenciamento de atividades são os principais exemplos dessas facilidades.
Camada de Apresentação
A Camada de Apresentação é responsável pela tradução para um formato padronizado ex: JPEG, MP3,
ASCII. Essa camada também é responsável pela criptografia e decifração com objetivos de
segurança, bem como compressão de dados segundo (Tittel, 2003). Nela são fornecidos os serviços que
podem ser selecionados posteriormente pela camada de aplicação com a finalidade de interpretar a sintaxe
dos dados trocados, resolvendo problemas de diferença de sintaxe entre sistemas abertos.
Camada de Aplicação
Essa é a camada que fornece uma interface para os usuários e é responsável pela formatação dos dados
antes que eles sejam passados para as camadas inferiores (McHOES, 2002). Podemos citar como
exemplos comuns nessa camada o correio eletrônico e transferências de arquivos. Segundo Tanenbaum
(2003, p.47), “A camada de aplicação contém uma série de protocolos comumente necessários para os
usuários”.
Para Colcher (et al., 2005, p. 62), “Nesse nível são definidas funções de gerenciamento e mecanismos
genéricos que servem de suporte à construção de aplicações distribuídas”.
5
Arquitetura TCP/IP
TCP/IP (Transmission Control Protocol / Internet Protocol) também chamado de pilha de protocolo
TCP/IP, fornece um conjunto de serviços definidos para protocolos das camadas superiores. Segundo
Colcher (et al., 2005, p. 70), “Os protocolos da Arquitetura TCP/IP, oferecem uma solução simples,
porém bastante funcional, para o problema da interconexão de sistemas abertos”.
Assim como o modelo OSI, a Arquitetura TCP/IP é dividida em camada. A camada de Aplicação é
correspondente às camadas 7, 6 e 5 do modelo OSI. A camada Host-to-host, espelha as funções da
camada de transporte do modelo OSI. A camada de Rede, que corresponde a mesma camada de rede do
modelo OSI, e por fim, a camada de Acesso à Rede, equivalente as camadas 1 e 2 do modelo OSI
(FILLIPETTI, 2008).
Protocolo IP
O protocolo IP (Internet Protocol) definido pela RFC 791, conforme Postel (2002) é a base ou suporte
para os outros protocolos da pilha TCP/IP, tais como ICMP, UDP e TCP, que são transmitidos em
datagramas IP.
Uma característica deste protocolo é a possibilidade de fragmentar e remontar datagramas, de modo que
estes possam ser transmitidos entre redes que suportem diferentes tamanhos por bloco de dados. Foi
projetado para prover as funções necessárias para entregar pacotes de bits (datagramas IP) de uma origem
para um destino determinado.
O protocolo IP é baseado na entrega de datagramas sem garantias, portanto inclui um conjunto de regras
que dizem como hosts e gateways devem processar os datagramas, quando e como uma mensagem de
erro deve ser gerada e as condições nas quais datagramas devem ser descartados (Comer, 2007). Ele
incorpora também a função de roteamento, isto é, determina se um datagrama deve ser entregue
diretamente a seu destino, caso origem e destino pertençam á mesma rede ou ao contrário entrega
ao gateway da rede, contendo os dados do pacote de origem. Na figura 2 é ilustrada o cabeçalho IP.
Figura 2: Cabeçalho IP
Fonte: Stevens (1994, p. 34)
6
Endereçamento IPv4
O endereçamento IP, é uma identificação numérica atribuído a cada dispositivo conectado a uma rede IP,
definindo para tal, uma localização na rede. No caso do IPv4 essa numeração tem o tamanho de 32 bits,
onde a representação decimal é dividida em 4 blocos de 8 bits, o menor valor numérico em decimal de
cada bloco é “0” e o maior igual à “255”, exemplo o endereço IP “72.247.64.170”.
Conforme Fillipetti (2008, p. 147), “A subdivisão de um endereço IP nas porções de rede e nó é
determinada pela classe em que se encontra tal endereço”. Na figura 3, é ilustrada as cinco classes e os
intervalos de endereços de cada uma.
Figura 3: Classe de endereços IP
Fonte: Fillipetti (2008, p. 147)
A divisão dos endereços IP’s em classes, facilita o processo de roteamento principalmente em grandes
redes. A técnica consiste em verificar os primeiros dois bits do endereçamento, caso o primeiro bit for “0”
o roteador tem a capacidade de encaminhar o pacote apenas com base nessa informação, sabendo-se que o
endereço pertence à essa rede é de classe A, se for igual à “10” será de classe B e “11” classe C.
Entretanto, existem algumas faixas de numeração IP reservados, que não devem ser roteados na internet
pública. Estas redes estão descritos na RFC 1918 (Address Allocation for Private Internets). A IANA
(Internet Assigned Numbers Authority) tem reservado os seguintes blocos de IP para rede privada
conforme a tabela 1.
BLOCOS DE INTERVALOS PREFIXO
10.0.0.0 – 10.255.255.255 10/8
172.16.0.0 – 172.31.255.255 172.16/12
192.168.0.0 – 192.168.255.255 192.168/16
Tabela 1: Blocos de endereços IPs Privados
Fonte: Elaboração do Autor, 2010
Portanto, uma empresa ou organização que precise de um IP ou uma faixa de IP público global para ter
acesso externo à Internet, nunca receberá endereços atribuídos às faixas mostradas acima. Os endereços
de classe D são reservados para o uso de comunicação em Multicast.
7
O Multicast é um método para entrega de dados para múltiplos destinatários, em um modelo de um para
vários. Para Costa (2006, p. 8) “Quanto um pacote é enviado para um endereço Multicast, todos os host
que fazem parte desse grupo Multicast receberão esse pacote”. Protocolos de roteamento usam esse
método para descobrir roteadores pertencentes ao grupo na rede.
Protocolo ARP e RARP
O protocolo ARP (Address Resolution Protocol) definido pela RFC 826, conforme Torres (2001), foi
projetado para interfaces do tipo 10 Mega bit Ethernet, mas foi generalizado para outros tipos de
hardware. O módulo de resolução de endereços, normalmente parte do driver do dispositivo de hardware,
recebe um par e tenta encontrá-lo em uma tabela. Se o par for encontrado, é retornado o endereço do
hardware ou endereço físico correspondente para que o pacote possa ser transmitido. Caso contrário é
normalmente informado que o pacote será descartado. Um exemplo comum na Internet é a utilização do
ARP para converter endereços IP, de 32 bits, em endereços Ethernet, de 48 bits.
A função do protocolo RARP (Reverse Address Resolution Protocol) definido pela RFC 903, é inversa ao
ARP, ou seja, converte um endereço de físicos em um endereço Internet. No momento da inicialização
RARP é usado para encontrar o endereço Internet correspondente ao endereço de hardware do nó.
Protocolo ICMP
O protocolo ICMP (Internet Control Message Protocol) segundo Postel, (2002) tem como finalidade
relatar erros no processamento de datagramas IP, bem como prover mecanismos de investigação nas
características gerais de redes TCP/IP. O protocolo ICMP é definido na RFC 792.
As mensagens ICMP são enviadas em datagramas IP. Embora o ICMP pareça fazer parte do conjunto de
protocolos de nível mais alto, este é parte da implementação do protocolo IP. O formato do cabeçalho de
uma mensagem ICMP é apresentado na figura 4.
Figura 4: Formato de mensagens ICMP
Fonte: Stevens (1994, p. 70)
Protocolo UDP
O protocolo UDP (User Datagram Protocol) Postel (2002) provê um mecanismo não orientado a
conexão, ou seja, sem garantias, que através da utilização do protocolo IP, envia e recebe datagramas de
uma aplicação para a outra. São utilizados números de portas para distinguir entre várias aplicações em
um mesmo host, ou seja, cada mensagem UDP contém uma porta de origem e uma porta de destino.
Uma aplicação baseada no protocolo UDP é inteiramente responsável por problemas de confiabilidade e
problemas relacionados á conexão. Como isto normalmente não ocorre, este protocolo tem grande
funcionalidade em ambientes locais e em aplicações que não requerem alta confiabilidade (Comer, 2007).
Na figura 5 é demonstrada o modelo do cabeçalho UDP.
8
Figura 5: Modelo do Cabeçalho UDP
Fonte: Stevens (1994, p. 144)
Protocolo TCP
O TCP (Transmission Control Protocol) conforme Postel (2002) é um protocolo de comunicação que
provê conexões entre máquinas, de forma confiável, ou seja, é um protocolo orientado á conexão.
Segundo Stevens (1994), o termo orientado á conexão "significa que duas aplicações, usando um
protocolo que detém esta característica, devem estabelecer uma conexão bidirecional, antes de efetuar
troca de dados”.
É considerado um protocolo confiável, pois quando um host envia dados a outro, o primeiro exige o
reconhecimento relativo á chegada dos dados. Os dados são seqüenciados de forma que um número é
associado a todo pacote transmitido, permitindo assim, que os dados sejam reordenados caso recebidos
fora de ordem e descartando caso haja duplicações de pacotes já recebidos.
O controle de fluxo é uma característica importante, permitindo em uma conexão, que o host sempre
informe ao outro quantos bytes poderão ser aceitos, evitando assim a ocorrências de sobrecargas
dobuffer do host que estiver recebendo dados (Stevens, 1994). Na
Figura 6 é apresentado o formato do cabeçalho TCP
Figura 7: Modelo do cabeçalho TCP
9
Fonte: Stevens (1994, p. 225)
Roteamento
O roteamento é a forma usada pelas redes de comutadores para realizar entrega de pacotes
entrehosts (computadores, servidores, roteadores.), através de um conjunto de regras que definem como
dados originados em uma determinada sub-rede devem alcançar outra. De uma forma geral a internet é
uma teia de roteadores interligados onde cada um é responsável por entregar o pacote (caso o destino
esteja em sua rede) ou encaminhar ao próximo roteador.
Conforme Tittel (2003) o roteador precisa primeiramente saber quantas portas físicas (ethernet, serial, bri,
pri..) e quais são os endereços de rede configurado em cada uma delas. Essas informações são
fundamentais para o roteador montar sua tabela de roteamento e saber se o pacote que está sendo
processado está ou não em sua rede.
As formas de roteamento mais comum dentre os roteadores de ponta ou CE é o estático e entre os
roteadores de borda PE e de núcleo P os dinâmicos. O roteamento dinâmico é dividido em IGP (Interior
Gateway Protocol) e EGP (Exterior Gateway Protocol) que serão abordados nos próximos tópicos.
Roteamento Estático
Esse tipo de roteamento é usado pelo administrador quando se tem o conhecimento das redes nos quais os
pacotes vão atingir. Tendo em vista que essa modalidade não se adapta á mudanças da rede, são
geralmente usados em ponta de rede (cliente) ou em redes com poucos roteadores. Os valores tais como:
rede, máscara de destino, gateway e custo, são configurados manualmente no roteador, onde os pacotes
seguiram sempre a regra.
Segundo Comer (2007) nesse tipo de roteamento, uma tabela de roteamento estática é preenchida com
valores quando o sistema é inicializado e elas só mudaram se o sistema vir á apresentar defeito. Essas
tabelas são usadas para determinar para onde cada pacote deve ser encaminhado.
Os principais benefícios do roteamento estático são: redução de overhead, não utiliza largura de banda, já
que não troca informações de roteamento e segurança, uma vez que o administrador possui o controle do
processo de roteamento.
Roteamento Dinâmico
Para uma pequena rede ou em redes onde não há constantes mudanças, o roteamento estático pode ser
usado, configurando manualmente cada uma das rotas. Já em redes maiores, configurar cada uma das
rotas não é uma boa opção para o administrador. Em grandes redes normalmente é utilizado protocolos de
roteamento dinâmicos, fazendo com que os roteadores troquem informações sobre roteamento e se
adaptem melhor as mudanças de rede caso alguma eventualidade aconteça.
Segundo Filippetti (2008) o processo de roteamento dinâmico utiliza protocolos para encontrar e atualizar
tabelas de roteamento de roteadores. Esse modo é muito mais fácil comparado ao roteamento estático,
porém consome largura de banda e processamento da CPU do equipamento. Os protocolos de roteamento
dinâmicos são classificados como: vetor á distância, link state e híbrido.
Protocolos de Roteamento Distance Vector
São classificados nessa categoria os protocolos de roteamento que utilizam distância à rede remota como
métrica para a escolha caminho. É definido como a melhor rota aquela que conter o menor número de
saltos ou hops como é chamada, até a rede remota, ou seja, são protocolos que se baseiam na contagem de
10
saltos para definir a escolha da melhor rota. Exemplos de protocolos que pertencem a essa classe são RIP
(Route Information Protocol) e IGRP (Interior Gateway Routing Protocol).
O funcionamento dos protocolos vetor á distância consiste em enviar as tabelas de roteamento aos
roteadores vizinhos, combinando essas com outras que já possuem, montando um mapa da rede
(Filippetti, 2008). Em caso de uma rede possuir vários links para uma mesma rede remota a distância
administrativa é o primeiro fator a ser checado para definir a rota preferencial.
O RIP utiliza apenas a contagem de saltos (hop count) para determinação da melhor rota para uma rede
remota. Se o RIP deparar-se com mais de um link para a mesma rede remota com a mesma contagem de
saltos, ele executará automaticamente o que chamamos de round-robin load balance, ou seja, distribuirá
alternadamente a carga entre os links de igual custo (mesmo número de saltos no caso). O RIP pode
realizar balanceamento de carga para até 6 links com mesmo custo. (Filippetti 2008, p. 253)
Nesse caso pode ser uma solução ou um problema, já que o balanceamento entre os links será efetuado
independentemente da velocidade de banda, ocasionando problemas de congestionamento quando a
velocidade entre os links for diferente.
Outro exemplo é o IGRP (Interior Gateway Routing Protocol) segundo Enne (2009, p. 26), “É um
protocolo proprietário definido pela CISCO Systems e representa a evolução do RIP, operando
tambémdistance vector”.
Protocolos de Roteamento Link-State
Os protocolos de roteamento link state são protocolos baseados no algoritmo Dijkstra SPF (Shortest Path
First). Utilizado principalmente para comunicação dentro de um domínio de roteamento ou uma AS, esse
algoritmo produz mais informações locais (dentro do próprio equipamento) sem a necessidade de ficar
coletando informações sobre o estado da rede a todo o momento, os anúncios são feitos somente quando
há mudança na rede, reduzindo assim o consumo de banda. Em contrapartida, esse tipo de roteamento
eleva muito a carga de processamento, aconselhado, antes de implementá-lo, verificar se o hardware irá
suportar tal demanda.
Os Protocolos de roteamento link state mantêm registro de todas as rotas possíveis para evitar alguns
problemas típicos de protocolos vetor à distância como loops de roteamento. Os protocolos mais
utilizados que se baseiam na tecnologia link-state são OSPF e IS-IS.
O OSPF (Open Shortest Path First) definido na versão atual pela RFC 2328, é um protocolo do tipo IGP
projetado para trabalhar em grandes redes, atendendo as necessidades das nuvens públicas e privadas. O
protocolo OSPF veio atender operadoras que demandavam de um protocolo IGP eficiente, versátil, de
rápida convergência, interoperável com outros protocolos de roteamento e não proprietário, assim
podendo ser incorporado a equipamentos de qualquer fabricante.
Trabalha com conceito de áreas ou grupo de roteadores que compartilham o mesmo ID de áreas. Segundo
Brent (2008), o algoritmo Dijkstra SPF é usado para calcular o melhor caminho para o destino
construindo caminhos sem loops com capacidade de convergência muito rápida. Habilitado nos
roteadores, o OSPF constrói adjacências ao enviar pacotes hello através das interfaces. Os
pacoteshello são responsáveis pela descoberta, estabelecimento e manutenção de relações entre roteadores
vizinhosesão disparados pelo endereço multicast 224.0.0.5. Os roteadores que compartilharem um link
comum e aceitarem os parâmetros dos pacotes hello, tornam-se vizinhos formando adjacências, caso
contrário a negociação é desfeita. Assim que as adjacências são formadas, é envia uma LSA (Link State
Advertisements) para os roteadores adjacentes. LSA´s são datagramas que descrevem os status de cada
link e o estado de cada roteador, existem LSA para cada tipo de link.
11
Conforme Fillipetti (2008), o OSPF utiliza de mecanismos para eleger um DR (Designated Router) e um
BDR (Backup Designated Router).
O Roteador DR é responsável por estabelecer adjacências com todos os vizinhos, enquanto o BDR fica
de backup caso o DR venho à falhar, assumindo todas as suas funções. O escolha do roteador DR é
determinada pelo maior valor de prioridade configurada. No caso das prioridades estarem configuradas
com mesmo valor, a escolha do DR é feita pelo maior valor de IP da interface ativa e a segunda maior
será o BDR, dando sempre preferência para os endereços das interfaces loopback. O
endereçomulticast 224.0.0.6 é usado para enviar informações ao DR, o BRD também recebe pacotes
nesse endereço mais de maneira passiva.
Logo após todo o banco de dados da área correspondente rede estiver completo, cada roteador executa o
algoritmo SPF e constrói sua tabela de roteamento formando a topologia da rede. Com base nesses
cálculos os roteadores constroem suas link-state databese, onde fica armazenado o mapa completo de
todos os roteadores, seus links e o estado de cada link. Muito utilizado em redes de alta performance, o
OSPF é fundamental para empresas que busca desempenho em equipamentos que comportam grande
capacidade de processamento.
O protocolo IS-IS (Intermediate System to Intermediate System) definido pela RFC 1142, é um outro
exemplo de protocolo link-state tipo IGP, conhecido também como protocolo intra-domínio. É
comumente usado para interligar roteadores em áreas distintas ou em mesma área, utiliza o
algoritmoDijkstra SPF com suporte a VLSM (Variable Length Subnet Mask) e rápida convergência assim
como o OSPF. IS-SI e OSPF têm mais semelhanças do que diferenças. Ambos os protocolos foram
desenvolvidos em torno do mesmo propósito, porém, entre os protocolos IGP, o OSPF é mais usado no
momento (Enne, 2009).
Protocolo BGP
O BGP (Border Gateway Protocol) é um protocolo tipo EGP de maior utilização no momento. Para Enne
(2009. p. 31) “É o protocolo distance vetor, baseado no paradigma que considera apenas os endereços de
destino ou os prefixos dos endereços de destino como referência para roteamento e no número
de hops atravessados para alcançar esses destinos”. O BGP é um protocolo de roteamento moderno e
extremamente complexo, projetado para escalar as maiores redes e criar rotas estável entre elas, com
suporte para comprimento variável máscara de sub-rede VLSM (Variable Length Subnet Mask) e
roteamento intra-domínios sem classe CIDR (Classless Inter-Domain Routing) e compactação.
Na versão atual definida pela RFC 4271, o BGP é um amplamente difundido em toda a Internet e dentro
de organizações multinacionais. Seu principal objetivo é conectar as grandes redes identificadas por uma
AS (Autônomous Systems) ou sistemas autônomos. Um AS é uma rede ou um conjunto de redes que além
de compartilharem uma gestão comum, possuem características e políticas de roteamento comuns.
Utilizadas em protocolos de roteamento dinâmicos tipo EGP, servem para comunicar com outros
equipamentos dentro de uma mesma AS e inter-AS.
No funcionamento básico, o BGP obtém as rotas referentes às redes pertencentes a uma AS, onde
internamente são conduzidas por protocolos tipo IGP, e repassam para roteados BGPs vizinhos.
Considerando que os IGPs buscam as informações mais recentes que estão constantemente ajustando as
rotas com base em novas informações, o BGP foi projetado para dar preferência as rotas mais estáveis e
não constantemente renunciando. Além disso, configurações BGP normalmente requerem decisões
políticas complexas. Assim, dado esta complexidade associada ao tamanho extremo da tabela de
roteamento (muitas vezes centenas de milhares de rotas), não é surpreendente que as rotas que ficam
constantemente ajustando poderiam sobrecarregar o BGP. (Brent, 2008, p. 399).
12
Conforme Enne (2009), o BGP utiliza o protocolo TCP para transporte as mensagens, aproveitando
algumas facilidades nele contidas. Existem quatro tipos de mensagens BGP utilizados na formação de
relacionamento entre vizinhos e manutenção: OPEN, KEEPALIVE, UPDATE e NOTIFICATION, onde
começam a ser trocadas logo após o estabelecimento das conexões TCP.
Quando iniciado um processo BGP, ele cria ligações através de mensagens BGP OPEN e se aceitas,
obtém uma resposta com KEEPALIVE. Estabelecido pela primeira vez, os roteadores BGP trocam suas
tabelas de roteamento completas utilizando mensagens de UPDATE e posteriormente, enviadas quando
houver alguma mudança na rede. Mensagens NOTIFICATION são enviadas para notificar algum erro,
nessas condições, conexões BGP são encerradas imediatamente.
As rotas são controladas à medida que atravessam os roteadores BGP para evitar loops de roteamento.
Consiste em rejeitar as rotas que já passaram por sua AS. A cada salto do pacote, é inserido o número da
AS em AS-path, conforme a figura abaixo.
Figura 8: Uso de AS-Path para detecção de loops BGP
Fonte: Brent (2008, p. 400)
Protocolo PPP
O PPP (Point-to-Point Protocol) definido pela RFC 1548, é protocolo de camada 2 do modelo OSI que
fornece um método para transmissão de datagramas. Conforme (Fillipetti 2008, p. 366) “[...] pode ser
usado através de links seriais síncrono (ex. ISDN) e assíncronos (dial-up) que utilizam LCP (Link Control
Protocol) para estabelecer e gerenciar conexões na camada de enlace”.
Conforme o exemplo ilustrado abaixo na tabela 2, o protocolo PPP é constituído por 3 componentes
principais.
13
Tabela 2: Pilha do protocolo PPP
Fonte: Elaboração do autor, 2010
O NCP é responsável por estabelecer e configurar diferentes protocolos da camada de rede.
O LCP se encarrega de estabelecer, configurar e testar as conexões do enlace. Pode prover também
recursos de autenticação.
O HDLC é o método padrão para encapsulamento de datagramas.
O encapsulamento PPP fornece multiplexação para diferentes protocolos da camada de rede
simultaneamente através do mesmo link. Projetado também para manter compatibilidade com a maioria
dos equipamentos comumente usados, dos mais diversos fornecedores. Possui a capacidade de suportar
links de alta velocidade com excelente performance, devido ao tamanho do campo ser de somente 2
octetos ou 16 bits. A figura 7 mostra uma visão resumida do encapsulamento PPP, que segue a ordem da
esquerda para direita.
Figura 9: Encapsulamento PPP
Fonte: Elaboração do autor, 2010
VPN
As VPNs (Virtual Private Network) são túneis virtuais que interligam redes privadas através da Internet
para transferência de informações de modo seguro ligando redes corporativas á usuários remotos. Para
Comer (1994, p. 231) “Uma Rede Privada Virtual combina as vantagens das redes públicas em redes
privadas, permitindo que uma empresa com múltiplas localizações tenha a ilusão de uma rede
completamente privada”. Isso de fato ocorre, porém essa estrutura de rede privada é formada em cima de
uma rede pública compartilhada a todos, com protocolos de transmissão aberto que não oferecem
segurança necessária para barrar a visibilidade ou modificação das informações por terceiros. A proteção
dos dados fica por conta dos protocolos de tunelamento, garantindo que as informações não sejam
interceptadas ou modificadas ao longo do caminho.
14
Para Enne (2009), o uso da transmissão utilizando o envelopamento dos protocolos de tunelamento dentro
de protocolos de comunicação camada 2 é a técnica utilizada em redes de computadores para a construção
de túneis na internet.Criptografia, autenticação, chaves, são os principais artifícios usados nos protocolos
de tunelamento garantir a segurança e integridade das informações.
Para implementar uma estrutura VPNs existem três tipos de topologia:
Host-host: Conexão de dois hosts (computadores) ponto a ponto.
Host-gateway: Conexão de um host a uma rede remota.
Gateway-gateway: Conexão de duas redes, criando uma ponte entre elas.
De acordo com Forouzan (2006), uma das grandes vantagens decorrentes do uso das VPNs é a redução de
custos das comunicações corporativas, pois elimina a necessidade de links dedicados de longa distância,
que podem ser substituídos por um acesso simples pela Internet. Esta solução é bastante interessante sob
o ponto de vista econômico, principalmente nos casos em que estão envolvidas ligações geograficamente
distantes.
Figura 10: Túnel VPN sobre a Internet
Fonte: Elaboração do autor, 2010
Entretanto, em aplicações onde o tempo de transmissão é crítico, o uso de VPNs através de redes externas
ainda deve ser analisado com muito cuidado, pois podem ocorrer problemas de desempenho e atrasos na
transmissão sobre os quais a organização não tem nenhum tipo de gestão ou controle, comprometendo a
qualidade nos serviços de uma corporação.
A decisão de implementar ou não redes privadas virtuais requer uma análise dos requisitos,
principalmente relacionados com a segurança, custos, qualidade de serviço e facilidade de uso, que
variam de acordo com a necessidade de cada negócio.
Protocolos de Tunelamento
O tunelamento é a forma usada por VPNs para garantir privacidade e outras medidas de segurança em
uma organização para transmissão dos dados (Forouzan, 2006). Conforme Enne (2009, p.33) “É comum
em networking a utilização de um protocolo para a transmissão de um outro protocolo envelopado em seu
interior. Essa é a forma adotada no modelo overlay para a transmissão de datagramas IP envelopados em
quadros de sub-rede de camada 2”. Essa técnica consiste em criptografar o pacote original, depois
15
encapsular dentro de outro pacote, assim, caso um terceiro tente capturar o pacote, ele não estará na forma
normal, e só a outra extremidade da VPN poderá decifrá-lo.
Os protocolos mais conhecidos para esse fim são, PPTP (Point-to-Point Tunneling Protocol), L2F (Layer
Two Forwarding), L2TP (Layer Two Tunneling Protocol) e IPSec (IP Security).
IPSec
O IPSec (IP Security) desenvolvido pelo grupo IETF (Internet Engineering Task Force) definido pela
RFC 4301, veio como uma alternativa de protocolo VPN não proprietário, que atende tanto o IPv4 quanto
IPv6. Bastante conhecido e amplamente difundido, fornece um conjunto de mecanismos para serviços de
integridade, controle de acesso, autenticação e confiabilidade. Trabalha na camada 3 do modelo OSI, mas
permite interoperar com protocolos de camadas superiores como: TCP, UDP, ICMP etc. O IPsec pode ser
usado também, como uma funcionalidade de segurança acrescentada a outros diferentes tipos de túneis
IP, como o GRE e L2TP.
Segundo Morgan e Lovering (2009, p. 256) “[…] o IPsec pode proteger apenas a camada IP e as acima
(camada de transporte e de usuário de dados). O IPsec não pode estender seus serviços para a camada de
enlace de dados [...]”. Esse tipo de proteção não é viável, uma vez que essa ligação intermediária não é
controlada pelo usuário final, mais sim por uma operadora de serviços.
O IPsec pode trabalhar com dois modos de aplicação diferentes, modo de transporte e modo túnel. No
modo transporte, há transmissão direta dos dados protegidos entre os hosts. As partes de criptografia e
autenticação são realizadas no payload, conforme a figura 10.
Figura 11: IPsec modo seguro
Fonte: Morgan e Lovering (2009, p. 260)
Sendo assim, tudo que estiver após o cabeçalho IP é protegido. No modo túnel, todo o pacote é protegido
e encapsulado em um novo cabeçalho. O IPsec desencapsula o pacote quando o mesmo chega ao
outro gateway da conexão VNP e então é entregue ao destinatário.
Figura 12: IPsec modo túnel
Fonte: Elaboração do autor, 2010
16
O IPsec foi projetado para suportar múltiplos protocolos de criptografia, possibilitando que cada
utilizador escolha o nível de segurança desejado. Para prevenção de ataques anti-reply, o IPsec utiliza o
protocolo AH (Autentication Header) ou autenticação de cabeçalho. Definido pela RFC 4302, é usado
para fornecer conexão, integridade e autenticação da origem de dados para datagramas IP. O ESP
(Encapsulating Security Payload) definido pela RFC 4303, também oferece as mesmas funcionalidades,
porém adiciona confiabilidade.
Outro componente fundamental do IPsec é gerenciamento de chaves. O protocolo definido pela IETF para
essa função é IKE (Internet Key Exchange Protocol) atualmente emitido pela RFC 4306.
Segundo Tittel (2003), os dois principais componente do IPsec (ESP ou AH) e IKE, são associados à uma
SA (Security Association) usada para estabelecer uma conexão em uma direção com dois pontos que se
comunicam. O IPsec possui outro mecanismo denominado de ISAKMP (Internet Security Association
and Key Management Protocol) designado para essa mesma função.
De acordo com Morgan e Lovering (2009), o protocolo ISAKMP gerencia os procedimentos de como
estabelecer, negociar, modificar e apagar as SAs. Ele também realiza autenticação entre dois pontos, mas
não participa da troca de chaves.
17
Redes MPLS I: O Protocolo MPLS
O MPLS (Multi-Protocol Label Switching) definido pela RFC 3031 é uma tecnologia de encaminhamento
de pacotes baseada em rótulos ou labels, que atua entre as camadas 2 e 3 do modelo OSI, citado também
por alguns autores como um protocolo de camada 2,5. Amplamente difundida em países de primeiro
mundo e com atuação expressiva em boa parte dos países em desenvolvimento, a tecnologia vem se
consolidando devido a capacidade de associar a facilidade dos roteadores com a eficiência dos switchs.
A ideia principal do MPLS era prover um aceleramento do transporte de pacotes em roteadores, mas
acabou resultando em importantes avanços no campo de redes de computadores e telecomunicação como:
tecnologia de plano de controle, engenharia de tráfego, redes privadas virtuais (VPNs), melhor
aproveitamento de QoS e gerenciamento de conexões em redes óticas entre outros.
Uma das primeiras aplicações de MPLS em redes IP é a engenharia de tráfego, enfatizando a otimização
da rede, com objetivos relacionados a menor atraso, alta taxa de transmissão, diminuição da perda de
pacotes.
Outra aplicação importante e muito utilizada em redes MPLS é o gerenciamento de QoS (Quality of
Service) em redes IP. O MPLS sozinho não provê QoS, mas combinado a tecnologia com roteamento e
serviços diferenciados, permite um alto desempenho e melhor utilização dos recursos principalmente com
dados multimídia Voz e Vídeo.
VPNs de camada 3 em redes MPLS será o assunto mais enfatizado nesse trabalho. São comuns aplicações
de VPNs em uma rede pública com técnicas de tunelamento, principalmente em pequenas e médias
empresas. Nesse trabalho veremos formas diferentes de VPNs em estruturas de nuvens privadas MPLS.
Conceitos MPLS
O MPLS veio como uma outra visão de metodologia para tratamento do tráfego na rede. Ao invés de
analisar o cabeçalho de camada 3, como feito em redes IP tradicionais, os dispositivos MPLS tomam
decisões com base nas etiquetas inseridas assim que o pacote ingressa na rede. Isso dá ao MPLS,
independência dos protocolos da camada de rede.
Conforme Morgan e Lovering (2009, p. 177), “o rótulo de um pacote de entrada é analisado e comparado
com uma etiqueta do banco de dados. Com base nessas informações um novo rótulo acompanha o pacote
que é transmitido a interface apropriada”. Um exemplo desse processo é ilustrado na figura 12.
18
Figura 13: Encaminhamento dos rótulos switchs MPLS
Fonte: Morgan e Lovering (2009, p. 178)
Conforme Enne (2009) para um datagrama IP destinado a entrar em uma rede MPLS possa ingressar e ser
encaminhado até a saída da rede MPLS, para então ser transmitido ao seu destinatário, existem algumas
etapas compostas pelas seguintes funções:
Determinação de FECs (Forwanding Equivalente Classes)
Montagem de FIBs (Forwarding Information Bases).
Criação de bindings locais entre FECs e rótulos.
Distribuição de rótulos.
Montagem de FBIs.
Elementos de uma Rede MPLS
Uma rede MPLS é formada por equipamentos do tipo CE (Custumer Edge Equipament), PE (Provider
Edge Equipamente) e P (Provider Equipament) conforme à figura abaixo.
Figura 14: Componentes de rede MPLS
Fonte: Elaboração do autor, 2010
19
Os roteadores que compõem redes MPLS são chamados de LSR (Label Switching Routers) ou LER
(Label Edge Routers), dependendo da sua função na rede. Um LSR é um roteador de núcleo da rede
MPLS, participa do estabelecimento de LSP (Label Switching Paths) usando protocolos de distribuição
de rótulos, sendo capaz de realizar a expedição de pacotes rotulados de maneira muito eficiente, como
também encaminhamento IP convencional.
Um LSP (Label Switched Path) é o caminho percorrido por pacotes MPLS entre dois LRS quaisquer
conforme a definição de uma FEC. Conforme Enne (2009, p.41) “Uma FEC representa, em uma visão
básica, o prefixo do endereço IP de destino de pacotes MPLS ou o próprio endereço IP de destino, que se
constituiu no elemento de FEC único para definição do caminho a ser seguido por esses pacotes na rede
[...]” É possível atribuir vários FECs ao mesmo LSP, e vários LSPs à mesma FEC, resultando na
facilidade da agregação de fluxos multicast.
Os rótulos são associados à FECs como resultado de um evento que indica a necessidade dessa
associação. Estes eventos podem ser de dois tipos:
Data Driven: a associação é efetuada quando chega a um LSR com tráfego identificado como sendo
candidato à Label Switching. As associações de rótulos a FECs só são estabelecidas quando necessário,
resultando num menor número de entradas na tabela de expedição;
Control Driven: as associações são feitas como consequência da atividade do plano de controle e são
independentes da informação a transportar. A escalabilidade deste método é superior à doData-Driven,
sendo por esta razão usada em MPLS.
De acordo com Reagan (2002), a colocação dos rótulos MPLS pode ser encasulada de três formas
diferentes:
Frame-based LRSs: Constituídos sobre Ethernet switches e sobre roteadores IP operando com o
protocolo PPP.
ATM-LSRs: Constituídos sobre switchs ATM.
FR-LSRs: Constituídos sobre switchs Frame Relay. Ilustrado na figura abaixo:
Figura 15: Encapsulamento do quadro com rótulo
Fonte: Elaboração do autor, 2010
Inicialmente o rótulo é inserido no pacote que determina todo o seu percurso no domínio MPLS. Pode ser
encapsulado de diversas formas, ou na camada de ligação lógica (ATM, Frame-Relay, PPP) ou encaixado
20
num pequeno cabeçalho entre o cabeçalho da camada de ligação lógica e o cabeçalho da camada de rede.
Esse tipo de técnica permite que o MPLS suporte qualquer protocolo e qualquer tecnologia da camada de
ligação. O rótulo MPLS é constituído pelos seguintes campos conforme a figura 15:
Figura 16: Estrutura e encapsulamento do cabeçalho MPLS
Fonte: Morgan e Louvering (2009, p. 191). Com alterações
O campo “Rótulo”, contém o valor do rótulo MPLS, já no campo CoS (Class of Service) onde determina
a forma como o pacote é tratado nas filas de espera dos equipamentos pertencentes a rede. No campo S
(Stack) onde é permite a hierarquização de rótulos e o campo TTL (Time To Live) faz com que permita a
funcionalidade TTL IP convencional.
Quando ocorrem mudanças na topologia, o mecanismo usado para fazer a atualização da tabela de
roteamento é o FIB (Forwarding Information Bases). O FIB é basicamente o espelho da tabela de
roteamento que associam as FECs aos endereços IP do próxima salto (next-hop) com as devidas interfaces
de saída. Já quem mantém o mapeamento entre prefixo IP, rótulo atribuído e atribuição dos rótulos é o
LIB (Label Information Bases). Conforme Enne (2009, p. 42) “[...] as LIBs podem conter também
os bindings locais entre FECs e labels, desempenhando a função dos label spaces”. Os label space, são
espaços disponíveis nos LSRs contendo um margem de rótulos e uma base de informações onde são
registrados os bindings locais.
Por fim, o LFIB (Label Forwarding Information Bases) aparece para dar bases de informações em LSRs
indexadas por valores de FEC. Conforme Morgan e Lovering (2009) ele faz parte do plano de dados e
fornece a base de dados utilizada no encaminhamento de pacotes rotulados. O IGP é usado para preencher
as tabelas de roteamento em todos os roteadores MPLS da rede. Baseado na partilha de informação de
atualizações de roteamento IGP, cada roteador determina o caminho com as melhores métrica para um
destino da rede.
Distribuição de Rótulos
O processo de comutação e distribuição dos rótulos é bem parecido com o mecanismo usado pelo
roteamento, com a diferença que os switchs MPLS não têm a necessidade de analisar os dados do
cabeçalho da camada de rede. Quando o roteador LSR insere o rótulo ao pacote, o mesmo já está com seu
plano de percurso estabelecido para chegar ao seu destino. Isso faz com que o processo de roteamento em
geral fique bastante eficiente.
Conforme Morgan e Lovering (2009), o MPLS permite duas formas de propagar as informações
necessárias. A primeira é estender a funcionalidade em protocolos já existentes, que é o caso do BGP e
OSPF, por exemplo. A segunda é criar um novo protocolo ou protocolos, dedicados para fazer a
distribuição de rótulos que é o caso do LDP (Label Distribution Protocol).
21
O LDP desenvolvido pela IEFT definido com a RFC 3036, é um protocolo projetado especificamente
para a distribuição da informação de mapeamento de rótulos. Assim como o OSPF, o protocolo LDP
envia periodicamente mensagens hello, pelo endereço multicast 224.0.0.2, para descoberta dos vizinhos.
Este protocolo suporta a alocação de rótulos dos tipos Data-Driven e Control-Driven. A desvantagem do
uso deste protocolo é o aumento da sua complexidade com os protocolos de encaminhamento.
Posteriormente, o LDP foi alterado para suportar o encaminhamento com restrições através
de piggybacking num protocolo de encaminhamento, onde a informação de associação de rótulos pode ser
adicionada aos protocolos de encaminhamento tradicionais. Para (Enne 2009, p.51) “Opiggybacking é um
processo mais eficiente do que o método direto do LDP por aproveitar tráfego de controle já existente na
rede”.
Este método garante consistência na informação de expedição e evita o uso de outro protocolo. Porém,
nem todos os protocolos podem ser facilmente alterados para suportar piggybacking, o BGP e RSVP
foram alterados para suportar este protocolo.
Aplicações MPLS
As principais aplicações do MPLS são nas áreas da Engenharia de Tráfego, fornecimento de Classes de
Serviço e de Redes Privadas Virtuais (VPNs).
Engenharia de Tráfego
A engenharia de tráfego ou TE (Traffic Engineering), é o processo de condução do tráfego através
dobackbone da rede, fazendo um melhor uso da largura de banda entre cada par de roteadores. Esse
recurso já vem sendo usado em redes ATM e IP tradicionais, porém com algumas limitações. Essas
limitações ocorrem devido a dificuldade dos protocolos IGP tem em administrar a manipulação de
métricas associadas a várias opções de encaminhamento. Com isso surge a necessidade de novas formas
de roteamento com suporte a engenharia de tráfego, aparecendo como uma das principais aplicações do
MPLS.
Traffic Engineering tem como propósito criar condições para a operação de uma rede com eficiência e
confiabilidade, utilizando ou mesmo alocando, de forma otimizada, os recursos de rede e garantindo
padrões de performance de tráfego. Tais propósitos são alcançados mediante a correta distribuição de
tráfego pela rede, considerando as características e o grau de utilização de seus links, preferencialmente
com a reserva prévia de largura de faixa ao longo da rede. (Enne, 2009, p. 160).
A aplicação da engenharia de tráfego em MPLS é designada como MPLS TE. A principal vantagem da
implementação do MPLS TE assegura-se no fato deste protocolo proporcionar a combinação das
capacidades do ATM (Asynchronous Transfer Mode) TE com a diferenciação de classes de serviço
proporcionada pelo IP. O MPLS TE permite a construção de LSPs através dos quais é feito o envio da
informação. Os LSPs do MPLS-TE deixam o headend do túnel TE controlar o caminho que o seu tráfego
toma para um determinado destino. Este método é mais flexível do que encaminhar o tráfego com base
apenas no endereço de destino.
22
Figura 17: Exemplo de caso em engenharia de tráfego
Fonte: Elaboração do autor, 2010
No caso apresentado na figura 16, o melhor caminho para que R1 alcance R7, se o protocolo de
roteamento estiver usando como métrica largura de banda (geralmente usado nesses casos) seria R2, R3,
R6 e R7. O problema nesse caso é que quando o caminho estiver congestionado, os protocolos de
roteamento continuarão encaminhando pelo mesmo caminho, enquanto o outro ficará sem uso. Segundo
Reagan (2002) para solução desse problema chamado de fish ou peixe, é a criação de túneis de engenharia
de tráfego no MPLS, que tem a capacidade de suportar balanceamento de carga com custos desiguais. A
figura 17 mostra como ficaria.
Figura 18: Túnel de engenharia de tráfego em MPLS
Fonte: Elaboração do autor, 2010
Nesse caso, o transporte dos pacotes fica mais eficiente, aproveitando melhor a largura de banda dos dois
caminhos.
Conforme Enne (2009, p. 163) “Os protocolos do tipo constraint-based routing utilizados para o MPLS
TE são aqueles resultantes de extensões ao protocolo OSPF e ao protocolo IS-IS [...]”. A RFC 3036
define a extensão OSPF versão 2 para suporte à engenharia de tráfego (OSPF-TE), e a extensão IS-IS
definido pela RFC 3784, ambas totalmente aplicáveis MPLS TE.
23
QoS
O QoS (Quality of Service) ou qualidade de serviço, é um método usado para a priorização de certos tipos
de tráfego, garantindo que alguns recursos tenham um tratamento diferenciado ao trafegarem na rede.
Esse método pode ser classificados em IntServ (Integrated Services) e DiffServ (Differentiated Services).
O modelo IntServ, conforme Ranjbar (2007), foi a primeira tentativa de oferecer QoS fim-a-fim para
resolver problemas de demanda principalmente em aplicações de tempo real como voz e vídeo. Baseado
em fluxos de tráfegos individuais, utiliza reserva de recurso por todo o caminho da rede conforme a figura
18.
Figura 19: Exemplo de reserva de recursos no modelo IntServ
Fonte: Elaboração do autor, 2010
Essas reservas dependem de protocolos de sinalização específicos, sendo o RSVP (Reservation Protocol)
definido pela RFC 2205 o principal deles. Segundo Colcher (et al., 2005, p. 128) “O RSVP define
conceito de sessão como sua unidade de reserva de recursos, correspondendo geralmente a um fluxo
específico. Fluxos, no RSVP, são considerados sempre como simplex, ou seja, em um único sentido
[…]”. Em aplicações de tempo real, é necessário o estabelecimento de sessões distintas em ambas as
direções.
O modelo DiffServ emitida pela RFC 2475 e complementada posteriormente pela RFC 3660, é um
método de QoS desenvolvido pela IETF para operar em grandes redes, ao contrário do IntServ. Segundo
Enne (2009), os componentes BA (Behavisor Aggregate), DSCP (Differentiated Service Code Point) e
PHP (Per-hop-behavisor) são os principais no modelo DiffServ. Para uso do DSCP o campo ToS (Type
of Service) do cabeçalho IP, usado para classificação dos pacotes em QoS tradicionais, dá lugar à um
novo campo denominado DSCP. Os BAs são inseridos nesse campo para sua devida classificação ao
longo da rede. Já o PHB definido pela RFC 3246, tem como objetivo básico, prover funcionalidades aos
equipamentos com o propósito de obter informações de delay, jitter e taxa de descarte dos pacotes que
transitam na rede.
Nas redes IP tradicionais, o encaminhamento de pacotes é feito com base no endereço de destino sendo,
portanto, impossível definir diferentes rotas calculadas pelos protocolos convencionais. Aplicações QoS
em redes MPLS, surgem para resolver questões como essa. Existem dois protocolos que permitem o
estabelecimento de percursos explícitos para as LSPs e efetua a reserva de recursos ao longo do percurso,
o protocolo CR-LDP (Contraint-based Label Distribuition Protocol) e o RSVP-TE com extensões para o
estabelecimento de túneis LSPs.
O protocolo CR-LDP com sua aplicação definido pela RFC 3213, é uma extensão do LDP que introduz
um conjunto de mecanismos adicionais onde permitem o estabelecimento de LSPs com restrições de
encaminhamento explícito. Conforme Colcher (et al., 2005, p. 138) “A partir da inserção de parâmetros
de especificação de tráfego e QoS nas mensagens LDP de requisições de rótulos, o CR-LDP tornou
possível a reserva de recursos em LSPs MPLS”. Com isso é possível a requisição de valores específicos
como, variação máxima do retardo, taxa de pico, taxa média, etc.
24
Assim como o LDP, o CR-LDP usa um esquema de codificação denominado TLV (Type-Lenght-Value),
que são mensagens passadas através da rede divididas nos campos type, que define o tipo de
mensagem, length, que especifica o comprimento do campo seguinte (value) em bytes e o value, que
codifica a informação que está interpretada de acordo com o campo type. A manipulação destes campos
permite implementar Engenharia de Tráfego no domínio MPLS.
O protocolo RSVP-TE definido pela RFC 3209, é uma extensão do RSVP para uso de túneis LSP.
Aplicável totalmente em redes MPLS, os túneis LSP no RSVP-TE conseguem analisar requisitos de QoS
e determinar qual melhor rota para o encaminhamento do pacote em suas sessões. Esses túneis LSPs
podem conter ou não requisitos de QoS. A capacidade de conciliar QoS e Engenharia de Tráfego com
eficiência, faz do MPLS uma tecnologia muito superior à redes IP tradicionais, adaptando e otimizando o
tráfego à cada tipo de situação.
Redes Privadas Virtuais (VPNs)
Em redes IP tradicionais, o modelo overlay é mais comumente usado em VPNs para estabelece circuitos
virtuais através de uma operadora de serviço, criando uma conexão segura antes da passagem de qualquer
tráfego. Nesse modelo a participação das operadoras de serviço resume-se ao link de acesso à internet. Do
ponto de vista do fornecedor do serviço VPN, os problemas de escalabilidade começam a aparecer
quando o mesmo necessita de um número elevado de túneis (circuitos virtuais) para seus clientes. Ao
contrário do modelo overlay, no modelo peer-to-peer, o provedor de serviço tem um papel mais
participativo para os mecanismos funcionais da VPN.
Aplicações VPNs em redes MPLS, tornou possível associar os benefícios de segurança e isolamentos do
modelo overlay, com as vantagens do encaminhamento simplificado que o modelo peer-to-peeroferece.
Esse novo modelo de VPN utiliza uma infraestrutura de rede IP pública para a formação de “roteadores
virtuais” em uma estrutura de nuvens privadas.
A RFC 4364, é a versão mais recente que descreve um método pelo qual os provedores de serviços
disponibilizam aos seus clientes, endereços IPs para VPNs denominado BGP/MPLS IP Virtual Private
Networks (VPNs). Nesse modelo não há sobreposição de rotas, ou seja, a mesma faixa de endereço IP
pode ser associada à diferentes VPNs no mesmo backbone (PE) sem que uma interfira na outra.
Para o encaminhamento e transporte dessas tabelas de roteamento virtuais, os roteadores PEs tem que
suportar o BGP-4 com extensão para multi protocolos, definido na versão atual pela RFC 4760
(Multiprotocol Extensions for BGP-4). Essas extensões permitem a interoperação entre roteadores
operando BGP-4 convencional e roteadores operando com MP-BGP. Na figura 19 é ilustrado a
arquitetura desse modelo MPLS VPN nos roteadores PEs.
25
Figura 20: Arquitetura VPN em roteadores PEs
Fonte: Morgan e Lovering (2009, p. 238)
Segundo Pepelnjak (et al., 2003), para o transporte dessas informações uma nova família de endereço IP
foi criada, denominada como VPN-IPv4 address-family. Esse endereço possui 12 bytes de tamanha, cujo
8 bytes reservados para o campo RD (Route Distinguisher), que é um identificador usado para distinguir
os prefixos de endereços IPs, e 4 bytes contendo o endereço de prefixo Ipv4.
De acordo com Enne (2009), o valor de um RD é associada a uma VRF (VPN Routing and Forwarding
Table) e através dessa VRF vinculada a uma determinada interface física ligada a um roteador CE. As
VRFs são mecanismos usados para o encaminhamento de tabela de roteamento de diferentes VPNs,
separando essas tabelas da default forwarding table (tabela de roteamento global).
O MP-BGP usa as mensagens UPDATE do protocolo BGP para transportar informações sobre o
roteamento interno das VPNs. O atributo MP_REACH_NLRI é adicionado as mensagens UPDATE do
protocolo BGP contendo informações relevantes as VPNs como: prefixo de endereço IP, Label, RD,Next-
hop. Assim como feito em endereços globais, o MPLS também associa a cada prefixo de endereço VPN-
IPv4 a um rótulo.
26
Redes MPLS I: Modelo Conceitual – 1
Evolução das Redes de Acesso
Nesta seção serão apresentadas experiências e implementações que foram realizadas, recorrendo o
emulador GNS3, com o objetivo de estudar algumas características fundamentais do MPLS e VPN
camada 3 em MPLS.
A topologia proposta para análise do trabalho será montada conforme a ilustração da figura 20:
Figura 21: Captura da topologia MPLS no GNS3
Fonte: Elaboração do autor, 2010
No cenário acima, os roteadores usados para simular os equipamentos de núcleo “ Ps ” foram o Cisco
7200 com a versão de IOS c7200-jk9s-mz.124-13b.bin. Para os equipamentos “ PEs ” foram usados o
modelo Cisco 3725 com a versão de IOS c3725-adventerprisek9-mz.124-15.T5.bin. E para os
equipamentos de acesso ao cliente “ CEs ” o modelo Cisco 2691 com a versão de IOS c2691-
adventerprisek9_ivs-mz.124-9.T7.bin. A escolha das versões IOS usadas para formar a topologia foi
outro fator importante. Cada versão possui características e funcionalidades diferentes, com suporte a um
conjunto específico de protocolos.
A escolha dos protocolos envolvidos na topologia, como protocolo de encapsulamento, de roteamento,
túneis também foi outro fator determinante. O objetivo foi montar toda a rede usando apenas protocolos
não proprietários, ou seja, a mesma topologia poderá ser implementada com roteadores de outros
fabricantes.
Já os computadores emulados com o programa Virtual Box, foram usados uma imagem do sistema
operacional Ubuntu versão 10.4 para simular uma operação, gerando tráfego pela rede MPLS de um
ponto a outro da rede. E a captura das informações foi recorrida ao Wireshark em cada ponto ligado a um
par de roteadores.
Em todas as experiências descritas em cada tópico, foram usados os mesmo endereços de IP das
interfaces. Os testes e análises serão de maneira separada e sequenciada.
27
Configuração Básica MPLS Com Protocolo OSPF
Nesse tópico, a estrutura MPLS foi implementada com os roteadores núcleo “Ps” e os “PEs”,
configurados o com os protocolos bases para apoio, bem como os endereços das interfaces físicas
eloopback
ROTEADOR LOOPBACK0 FASTETHERNET0/0 FASTETHERNET0/1
PE1 220.110.90.1/32 220.110.90.10/30 220.110.90.14/30
PE2 220.110.90.2/32 220.110.90.18/30 220.110.90.22/30
Roteador Loopback0 FastEthernet1/0 FastEthernet1/1
P1 220.110.90.3/32 220.110.90.21/30 220.110.90.13/30
P2 220.110.90.4/32 220.110.90.9/30 220.110.90.17/30
Tabela 3: Relação de endereço IP/interface dos roteadores Ps e PEs
Fonte: Elaboração do autor, 2010
O OSPF realizou o roteamento com os IPs públicos dentro de uma mesma área, neste caso “Área 0”. A
escolha das faixas dos endereços IPs público foram de maneira aleatória, qualquer semelhança com a
realidade é mera coincidência.
O uso das interfaces loopback, facilita o processo de roteamento quanto a escolha do roteador principal
denominado de DR (Designator Router) e o BDR (Backup Designator Rouer), que em caso de falha,
passa a assumir as funções do DR. Esse roteador é responsável por manter adjacência entre os vizinhos,
enviando e recebendo informações sobre o estado da rede. Por padrão, as prioridades são configuradas
com o valor 1. O critério para a escolha dos roteadores DRs nesses caso é associada ao maior valor da
interface ativa. Se a interface loopback estiver ativa, terá prioridade sobre os outros na rede por ser uma
interface virtual que sempre estará ativa, sem chaces de ocorrer problemas físicos.
Na figura 21 demostrou como foi criado a topologia para analise inicial do roteamento OSPF em uma
estrutura MPLS, usado os roteadores Ps para o núcleo da rede e os PEs que posteriormente fornecerá a
conectividade da rede para os roteadores CEs.
28
Figura 22: Captura da topologia em análise do GNS3
Fonte: Elaboração do autor, 2010
A topologia mostrada na figura 21 foi construída de maneira redundante, ou seja, em caso de falha em
algum enlace da rede, outra rota assumirá para o transporte dos pacotes. Nesta experiência foram
estudados apenas os pacotes que são trocados no processo de configuração de rede durante a ativação do
MPLS, como também a operação básica do roteamento OSPF. O comando utilizador para ativação das
interfaces, roteamento e MPLS são os seguintes:
29
Router>enable
Router# configure terminal
Router(config)#enable secret Pe1!+mp*
Router(config)#hostname ROUTER_P_1
ROUTER_P_1(config)#interface Loopback0
ROUTER_P_1(config)#mpls ip
ROUTER_P_1(config-if)# ip address 220.110.90.3 255.255.255.255
ROUTER_P_1(config-if)#interface FastEthernet1/0
ROUTER_P_1(config-if)#description ## ACESSO PE2 ##
ROUTER_P_1(config-if)#ip address 220.110.90.21 255.255.255.252
ROUTER_P_1(config-if)#speed 100
ROUTER_P_1(config-if)#mpls ip
ROUTER_P_1(config-if)#mpls label protocol ldp
ROUTER_P_1(config-if)#no shutdown
ROUTER_P_1(config-if)#interface FastEthernet1/1
ROUTER_P_1(config-if)#description # ACESSO PE1 ##
ROUTER_P_1(config-if)#ip address 220.110.90.13 255.255.255.252
ROUTER_P_1(config-if)#speed 100
ROUTER_P_1(config-if)#mpls ip
ROUTER_P_1(config-if)#mpls label protocol ldp
ROUTER_P_1(config-if)#no shutdown
ROUTER_P_1(config-router)#router ospf 1
ROUTER_P_1(config-router)#network 220.110.90.3 0.0.0.0 area 0
ROUTER_P_1(config-router)#network 220.110.90.13 0.0.0.0 area 0
ROUTER_P_1(config-router)#network 220.110.90.21 0.0.0.0 area 0
Quadro 1: Configuração P1
Fonte: Elaboração do autor, 2010
As configurações do roteador P1, conforme ilustrado no quadro 1, garante a conectividade entre os
roteadores vizinhos, bem como a divulgação da rotas pertencentes a sua rede. No quadro 2 verificou-se a
configuração no equipamento referente somente ao que foi implementado, omitindo algumas informações
que por padrão já vem configurado no equipamento.
30
ROUTER_P_1#show running-config
!
hostname ROUTER_P_1
enable secret 5 $1$UXPi$mEzeADWbndqw18p1B.7EA.
!
interface Loopback0
ip address 220.110.90.3 255.255.255.255
!
interface FastEthernet1/0
description ## ACESSO PE_2 ##
ip address 220.110.90.21 255.255.255.252
duplex full
speed 100
mpls label protocol ldp
mpls ip
!
interface FastEthernet1/1
description # ACESSO PE_1 ##
ip address 220.110.90.13 255.255.255.252
duplex auto
speed 100
mpls label protocol ldp
mpls ip
!
router ospf 1
log-adjacency-changes
network 220.110.90.3 0.0.0.0 area 0
network 220.110.90.13 0.0.0.0 area 0
network 220.110.90.21 0.0.0.0 area 0
!
Quadro 2: Verificação das configurações do P1
Fonte: Elaboração do autor, 2010
Para o restante dos roteadores (P2, PE1 e PE2) foram aplicadas as mesmas configurações, mudando
apenas os IPs conforme a tabela 3, as descriptions correspondentes a cada interface, as networks no
roteamento ospf, como também o hostname e enable secret
Testes e Análises do Roteamento OSPF
Considerando os outros roteadores devidamente configurados, alguns aspectos relevantes foram
analisados. Primeiro foi verificado a conectividade entre os roteadores. Nos quadros 3, 4 e 5, ilustra o
resultado dos testes.
31
ROUTER_P_1#ping 220.110.90.1 repeat 500
Type escape sequence to abort.
Sending 500, 100-byte ICMP Echos to 220.110.90.1, timeout is 2 seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!
Success rate is 100 percent (500/500), round-trip min/avg/max = 4/6/44 ms
Quadro 3: Teste com pacotes ICMP entre o P1 e PE1
Fonte: Elaboração do autor, 2010
ROUTER_P_1#ping 220.110.90.2 repeat 500
Type escape sequence to abort.
Sending 500, 100-byte ICMP Echos to 220.110.90.2, timeout is 2 seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!
Success rate is 100 percent (500/500), round-trip min/avg/max = 4/6/40 ms
Quadro 4: Teste com pacotes ICMP entre o P1 e PE2
Fonte: Elaboração do autor, 2010
32
ROUTER_P_1#ping 220.110.90.4 repeat 500
Type escape sequence to abort.
Sending 500, 100-byte ICMP Echos to 220.110.90.4, timeout is 2 seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!
Success rate is 100 percent (500/500), round-trip min/avg/max = 4/12/44 ms
Quadro 5: Teste com pacotes ICMP entre o P1 e P2
Fonte: Elaboração do autor, 2010
Nos quadros 3, 4 e 5, foram disparados 500 pacotes ICMP para endereço interface loopback de cada
roteador. Considerando que a resposta do pacote é representada por “ ! ” e perda por “ . ”, verificou-se
que dos 500 pacotes enviados, 500 obtiveram resposta. Portanto, há uma conexão sem perdas entre todos
os equipamentos. Com isso, obteve-se a conectividade completa da topologia. O próximo passo foi
verificar o funcionamento do OSPF. No quadro 6, as informações sobre seus vizinhos são exibidas.
ROUTER_P_1#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
220.110.90.2 1 FULL/BDR 00:00:38 220.110.90.22 FastEthernet1/0
220.110.90.1 1 FULL/BDR 00:00:35 220.110.90.14 FastEthernet1/1
Quadro 6: Verificação das informações sobre os vizinhos OSPF no P1
Fonte: Elaboração do autor, 2010
No quadro 6 pode-se ver, através da saída do comando show ip ospf neighbor no roteador P1, que já
formou-se adjacência com seus vizinhos, ou seja, a base de dados entre os roteadores está sincronizada e
eles possuem a mesma visão topológica da rede. A identificação dos roteadores OSPF é vinculada por
padrão ao IP da loopback. O parâmetro Dead Time, mostra o tempo restante para que a adjacência com
seus vizinho seja desfeita, caso um pacote hello (anunciado de 10 em 10 segundos) não chegue nesse
tempo. Em seguida o endereço e interfaces de saída.
Para os roteadores PE1 e PE2, o P1 é o roteador DR enquanto para o P1 os seus vizinhos são BDR. Isso
ocorre devido ao roteador P1 possuir o maior valor da interface loopback do que seus vizinhos, já que as
prioridades foram deixadas padrão em todos os roteadores. No quatro 7 essa afirmação é constatada com
a saída do mesmo comando no PE1.
33
ROUTER_PE_1#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
220.110.90.3 1 FULL/DR 00:00:31 220.110.90.13 FastEthernet0/1
220.110.90.4 1 FULL/DR 00:00:39 220.110.90.9 FastEthernet0/0
Quadro 7: Verificação das informações sobre os vizinhos OSPF do PE1
Fonte: Elaboração do autor, 2010
Para o PE1, existem dois DRs, um para interface já que ele possui o valor do endereço da
interfaceloopback menor que os outros dois roteadores conectados a ele. O mesmo procedimento foi
realizado com os outros roteadores, com as saídas correspondentes ao que já foi visto até o momento,
tendo sempre como base, os endereços IPs da tabela 3.
No quadro 8, verificou-se a base de dados do OSPF, através da saída do comando show ip ospf
database no roteador P1. Pode-se observar algumas informações relevantes, porém agora sobre toda a
topologia.
ROUTER_P_1#show ip ospf database
OSPF Router with ID (220.110.90.3) (Process ID 1)
Router Link States (Area 0)
Link ID ADV Router Age Seq# Checksum Link count
220.110.90.1 220.110.90.1 236 0x8000000E 0x00C289 3
220.110.90.2 220.110.90.2 244 0x8000000E 0x002107 3
220.110.90.3 220.110.90.3 69 0x80000010 0x0046E6 3
220.110.90.4 220.110.90.4 275 0x8000000A 0x003908 3
Net Link States (Area 0)
Link ID ADV Router Age Seq# Checksum Link count
220.110.90.9 220.110.90.4 275 0x80000009 0x003755
220.110.90.13 220.110.90.3 326 0x80000009 0x000B7F
220.110.90.17 220.110.90.4 275 0x80000008 0x00F68D
220.110.90.22 220.110.90.2 244 0x80000006 0x00CEB5
Quadro 8: Verificação da base de dados do protocolo OSPF no P1
Fonte: Elaboração do autor, 2010
Pode-se observar, dentre as informações do quadro 8, que o ID por padrão é identificado pelo endereço IP
da loopback de cada roteador. O OSPF como a maioria dos protocolos faz isso, devido a loopbacké uma
interface virtual. Outro parâmetro importante é o ADV Router, responsável por enviar e receber as os
pacotes LSAs, que contém informações sobre o estado da rede, geralmente são eleitos para essa função os
roteadores DR da rede. Como cada roteador possui duas saídas, no quadro é demonstrado dois endereços
34
IPs para chegar nos ADV Routers. No quadro 9, foi verificado a saída da tabela de roteamento do
roteador P1.
ROUTER_P_1#show ip route
-- Omitido--
Gateway of last resort is not set
220.110.90.0/24 is variably subnetted, 8 subnets, 2 masks
O 220.110.90.8/30 [110/2] via 220.110.90.14, 00:14:05, FastEthernet1/1
C 220.110.90.12/30 is directly connected, FastEthernet1/1
O 220.110.90.1/32 [110/2] via 220.110.90.14, 00:14:05, FastEthernet1/1
O 220.110.90.2/32 [110/2] via 220.110.90.22, 00:14:05, FastEthernet1/0
C 220.110.90.3/32 is directly connected, Loopback0
O 220.110.90.4/32 [110/3] via 220.110.90.22, 00:14:05, FastEthernet1/0
[110/3] via 220.110.90.14, 00:14:05, FastEthernet1/1
O 220.110.90.16/30 [110/2] via 220.110.90.22, 00:14:05, FastEthernet1/0
C 220.110.90.20/30 is directly connected, FastEthernet1/0
Quadro 9: Verificação da tabela de roteamento do P1
Fonte: Elaboração do autor, 2010
Com base nas informações de saída do comando show ip route, verificou-se algumas características
básicas para o entendimento da topologia. A primeira linha indica que na rede a qual o OSPF pertence
220.110.90.0, com máscara de prefixo de 24 bits, possuem 8 sub-redes, 4 com prefixo 32 (usados nas
interfaces loopback), e quatro com prefixo 30 (usado nas interfaces FastEthernet). Na segunda linha a
sigla que “O” indica que o protocolo de roteamento é o OSPF e para chegar na rede 220.110.90.8/30, a
distância administrativa é 110 (padrão do OSPF) e o custo será 2. As linhas que antecedem com a letra “
C ”, indica que esse rede está diretamente conectada a uma interface do roteador, nesse caso P1, portanto
não tem custo ou custo igual à “ 0 ”. Na sétima linha observou-se que o custo é 3, maior que os demais,
isso porque a rede a qual está se referindo ao endereço loopback pertence ao roteador P2, que não está
diretamente conectado ao roteador P1 (conforme a figura 21). Pode-se observar também que existe duas
formas de chegar a essa rede, uma pela interface FastEthernet1/0 direcionado ao IP 220.110.90.22
(roteador PE2), e outra através da interface FastEthernet1/1 direcionado ao IP 220.110.90.14, (roteador
PE1).
Análises com Wireshark
Após terminar e salvar todas as configurações, os roteadores foram reiniciados para que
o Wiresharkcoletasse as informações desde a fase de negociação até o estabelecimento dos protocolos. Na
figura 22 é mostrado os pacotes que o OSPF trocam durante essa fase coletado entre os roteadores P1 e
PE1.
35
Figura 23: Captura de pacote entre o nó P1 e PE1
Fonte: Elaboração do autor, 2010
Na captura do pacote número 5 mostrada na figura 22, observou-se que é um pacote OSPF enviando uma
mensagem do tipo hello. Esse pacote é enviado por multicast para a rede, através do IP da interface
correspondente à coleta (FastEhernet1/1 do roteador P1), conforme o primeiro destaque do campo do
cabeçalho IP. Verifica-se também que a origem é vinculada ao endereço IP da interfaceloopback, e o DR
e BDR ainda não foram definidos.
Já na captura do pacote 46 mostrada na figura 23, o pacote enviado pelo roteador P1 via multicast,
observou-se em destaque que o DR e BDR já foram eleitos, e seu vizinho o roteador PE1 foi ativo,
identificado pelo IP da interface loopback. O mesmo acontece com o restante da rede, entre uma conexão
ponto à ponto em um par de roteadores.
36
Figura 24: Captura de pacote entre do nó entre P1 e PE1
Fonte: Elaboração do autor, 2010
Na figura 24, observou-se também que o mesmo aconteceu, porém com os endereços IPs correspondentes
ao nó da interface capturada, onde o vizinho do roteador P1, dessa vez é identificado pelo IP
da loopback do PE2. Com isso podemos concluir que o roteador P1 é o DR tanto do enlace entre o PE1
quanto do PE2. E para os roteadores PE1 e PE2, os roteadores P1 e PE2 serão sempre seus DRs.
37
Figura 25: Captura de pacote entre do nó P1 e PE2
Fonte: Elaboração do autor, 2010
Depois dos pacotes hello, usados para a descoberta dos roteadores na rede, a figura 25 mostra a captura
do pacote 1922 entre o P1 e PE2, contendo uma mensagem de atualização enviada pelo roteador P1
via multicast ao “ADV Router”, nesse caso correspondente ao P2. Esse pacote leva um datagrama LSA
que contém informações sobre o link. Esse processo é feito por todos os roteadores para formar a
topologia completa e atualizada da rede, em caso de mudança na rede, a convergência para outra rota seja
feita de maneira rápida e segura.
38
Figura 26: Captura de pacote entre o nó P1 e PE2
Fonte: Elaboração do autor, 2010
Testes e Análises do MPLS
Nesse tópico foi verificado o funcionamento do MPLS na topologia da figura 21. Em seguida, analisado
alguns pacotes capturados durante a fase de negociação do protocolo de distribuição de rótulos. Nos
quadros 10 e 11, mostra como fica a saída do comando show mpls forwarding- table dos roteadores P1 e
P2 respectivamente.
ROUTER_P_1#show mpls forwarding-table
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id interface switched
16 Pop tag 220.110.90.8/30 0 Fa1/1 220.110.90.14
17 Pop tag 220.110.90.16/30 0 Fa1/0 220.110.90.22
18 Pop tag 220.110.90.1/32 0 Fa1/1 220.110.90.14
19 Pop tag 220.110.90.2/32 0 Fa1/0 220.110.90.22
20 16 220.110.90.4/32 0 Fa1/0 220.110.90.22
16 220.110.90.4/32 0 Fa1/1 220.110.90.14
39
Quadro 10: Saída do comando show mpls forwarding-table do P1
Fonte: Elaboração do autor, 2010
ROUTER_P_2#show mpls forwarding-table
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
16 Pop tag 220.110.90.1/32 0 Fa1/0 220.110.90.10
17 Pop tag 220.110.90.2/32 0 Fa1/1 220.110.90.18
18 Pop tag 220.110.90.12/30 0 Fa1/0 220.110.90.10
19 Pop tag 220.110.90.20/30 0 Fa1/1 220.110.90.18
20 18 220.110.90.3/32 0 Fa1/1 220.110.90.18
18 220.110.90.3/32 0 Fa1/0 220.110.90.10
Quadro 11: Saída do comando show mpls forwarding-table do P2
Fonte: Elaboração do autor, 2010
Com base nas saídas do comando show mpls forwarding- table, a tabela de encaminhamento dos rótulos
fica conforme a figura 26.
Figura 27: Encaminhamento dos rótulos na Rede MPLS do P1 e P2
Fonte: Elaboração do autor, 2010
40
Verificou-se na saída do comando show mpls forwarding-table no P1, que para cada prefixo de
endereçamento IP existe um rótulo de encaminhamento dos pacotes, com suas respectivas interfaces de
saídas. Um parâmetro importante exibido acima foi o Pop tag
O Pop tag, indica que para o próximo salto a etiqueta será removida, ou seja, o próximo salto é a própria
rede de destino ou possui uma interface conectada a rede de destino. Somente nesse ponto que então a
consultara à tabela de roteamento é realizada.
No caso da rede 220.110.90.4, esse parâmetros não aparece, pois refere-se ao endereço da
interfaceloopback do roteador P2, que não está diretamente conectada ao P1. Todo tráfego destinado á
esse endereço, receberá uma etiqueta número 20 do P1 e posteriormente outra etiqueta de número 16 do
PE1 ou do PE2, já que as duas saídas designaram a mesma etiqueta para o destino. Nos quadros 12 e 13
em destaque, pode-se confirmar esse o processo de encaminhamento.
ROUTER_PE_1#show mpls forwarding-table
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
16 Pop tag 220.110.90.4/32 0 Fa0/0 220.110.90.9
17 Pop tag 220.110.90.16/30 0 Fa0/0 220.110.90.9
18 Pop tag 220.110.90.3/32 0 Fa0/1 220.110.90.13
19 19 220.110.90.2/32 0 Fa0/1 220.110.90.13
17 220.110.90.2/32 0 Fa0/0 220.110.90.9
20 Pop tag 220.110.90.20/30 0 Fa0/1 220.110.90.13
Quadro 12: Saída do comando show mpls forwarding-table do PE1
Fonte: Elaboração do autor, 2010
ROUTER_PE_2#show mpls forwarding-table
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
16 Pop tag 220.110.90.4/32 0 Fa0/0 220.110.90.17
17 Pop tag 220.110.90.8/30 0 Fa0/0 220.110.90.17
18 Pop tag 220.110.90.3/32 0 Fa0/1 220.110.90.21
19 18 220.110.90.1/32 0 Fa0/1 220.110.90.21
16 220.110.90.1/32 0 Fa0/0 220.110.90.17
20 Pop tag 220.110.90.12/30 0 Fa0/1 220.110.90.21
Quadro 13: Saída do comando show mpls forwarding-table do PE2
Fonte: Elaboração do autor, 2010
Na figura 27, foi ilustrado como ficou como ficou o processo de encaminhamento dos rótulos na
topologia. Considerando que cada rótulo está vinculado a um prefixo de endereçamento IP.
41
Figura 28: Encaminhamento dos rótulos na Rede MPLS do P1 e P2
Fonte: Elaboração do autor, 2010
Analise com Wireshark
Nesse tópico os mesmos parâmetros foram analisados com o Wireshark, onde verificado o
comportamento na fase de inicial de descoberta.
Na figura 28, observa-se que o pacote número 4 capturado, é do tipo LDP com mensagem hello,enviado
pelo P1 para a rede com endereço IP multicast 224.0.0.2. Assim como no OSPF esse pacote é usado para
a descoberta de roteadores vizinhos, e também recebe a identificação vinculada ao endereço de IP da
interface loopback, conforme em destaque.
42
Figura 29: Captura de pacote LDP entre o nó P1 e PE1
Fonte: Elaboração do autor, 2010
Na captura realizada do pacote número 97 mostrado na figura 29, foi apresentado os mesmos valores
referentes a saída do comando show mpls forwarding-table do roteador P1, conforme o quadro 10. Pode-
se concluir que de fato, o encaminhamento dos prefixos IPs está sendo vinculado a um rótulo.
43
Figura 30: Captura de pacote LDP entre o nó P1 e PE1
Fonte: Elaboração do autor, 2010
Os processos de distribuição de rótulos vistos nesse capítulo foram configurados como padrão, e por
padrão essa distribuição é feita de maneira aleatória. Ao reiniciar os equipamentos, os valores dos rótulos
agregados a cada prefixo de rede, podem vir à sofrer alterações. Portanto, não será surpresa em exemplos
posteriores apresentarem outros valores
44
Redes MPLS l: Considerações finais
Este tutorial parte I procurou apresentar inicialmente os conceitos sobre Redes de Computadores, e a
seguir os conceitos das Redes IP MPLS, e finaliza apresentando a parte I do modelo conceitual utilizado
neste trabalho, relativa à configuração básica do MPLS com o protocolo OSPF.
O tutorial parte II apresentará as parte II (configuração do BGP/MPLS VPN) e III (configuração do IPsec
em Redes IP) do modelo conceitual, a seguir apresentará a análise comparativa desses modelos, e
finalizará com os resultados alcançados.
Referências
UNIX network programming. 2ª ed. Upper Saddle River: Prentice Hall, 1998.
BRENT D. Stewart. CCNP BSCI – Official Exam Certification Guide. 4ª ed. Indianápolis: Cisco Press,
2008.
COLCHER, Sérgio. et al. VOIP – Voz sobre IP. Rio de Janeiro: Elsevier, 2005.
COMER, Douglas E. Redes de Computadores e Internet: Abrange Transmissão de Dados Ligação Inter-
redes e Web. 4ª ed. Editora Bookman: Porto Alegre. 2007.
COSTA, Daniel Gouveia. DNS – Um Guia para Administradores de Redes. Rio de Janeiro: Brasport,
2006.
CUTHBERT L. G.; SPANEL J. C., "ATM the Broadband Telecommunications Solution". The Institution
of Electrical Engineers, 1993.
ENNE, Antônio José Figueiredo. TCP/IP sobre MPLS. Rio de Janeiro: Ciência Moderna Ltda, 2009.
FILIPPETTI, Marco. CCNA 4.1 - Guia Completo de Estudo. Florianópolis: Visual Books, 2008.
FOROUZAN, Behrouz A. Comunicação de Dados e Redes de Computadores. 3ª ed. Porto Alegre:
Bookman, 2006.
McHOES, A. M.; FLYNN, I. M. Introdução aos sistemas operacionais. São Paulo: Pioneira Thomson
Learning, 2002.
MORGAN, B. e LOVERING, N. CCNP ISCW – Official Exam Certification Guide. Indianapolis: Cisco
Press, 2009.
PEPELNJAK, Ivan. et al. MPLS and VPN Architectures. Indianapolis: Cisco Press, 2003.
PEPELNJAK, Ivan e GUICHARD, Jim. MPLS and VPN Architectures. Indianapolis: Cisco Press, 2007.
POSTEL, J. Transmission control protocol: DARPA Internet program, protocol specification. Request for
Comments RFC 793. [online]. http://www.rfc-editor.org/rfc/rfc793.txt. July 2002.
RANJBAR, Amir. CCNP ONT – Official Exam Certification Guide. Indianapolis: Cisco Press, 2007.
REAGAN, James. CCIP – Study Guide. San Francisco: Sybex, 2002.
STEVEN, W. R. TCP/IP illustrated: the protocols. Boston: Addisson-Wesley, 1994.
45
TANENBAUM, Andrew S. Redes de Computadores. 4ª ed. Rio de Janeiro: Campus, 2006.
TITTEL, Ed. Coleção Schaum. Redes de Computadores. Porto Alegre: Bookman, 2003.
TORRES, Gabriel. Redes de computadores: curso completo. Rio de janeiro: Axecel books, 2001.
46
Redes MPLS: Teste seu entendimento
Quais são as 7 camadas do Modelo de Referência OSI?
Física, Quadro, Rede, Transporte, Sessão, Apresentação e Aplicação.
Física, Enlace, Pacote, Transporte, Sessão, Apresentação e Aplicação.
Física, Enlace, Rede, Transporte, Sessão, Apresentação e Aplicação.
Física, Enlace, Rede, Transporte, Sessão, Apresentação e APDU.
Qual das alternativas abaixo não é um dos protocolos da pilha PPP?
NCP (Network Control Protocol).
LCP (Link Control Protocol).
HDLC (High-Level Data Link Control Protocol).
BGP (Border Gateway Protocol).
Na escolha dos protocolos envolvidos na topologia de teste do ambiente utilizado, qual foi o fator
determinante utilizados?
O uso de protocolos não proprietários de encapsulamento, roteamento e de túneis
O uso de protocolos não proprietários de encapsulamento e roteamento e de protocolos proprietários
de túneis
O uso de protocolos não proprietários de encapsulamento, e de protocolos proprietários roteamento
e de túneis
O uso de protocolos proprietários de encapsulamento, roteamento e de túneis
47