400 likes | 540 Views
MPLS DiffServ , Extensões TE em IGP e MPLS VPN com BGP Edgard Jamhour. Necessidade de integração DiffServ MPLS. A RFC 3564 discute cenários que não podem ser tratados aplicado-se soluções baseadas exclusivamente em MPLS ou DiffServ.
E N D
MPLS DiffServ , Extensões TE em IGPe MPLS VPN com BGP Edgard Jamhour
Necessidade de integração DiffServ MPLS • A RFC 3564 discute cenários que não podem ser tratados aplicado-se soluções baseadas exclusivamente em MPLS ou DiffServ. • a) limitar a proporção de uma dada classe de tráfego em um enlace • exemplo: rede compartilhada com voz e dados • princípio: a fila de voz deve ser limitada, ou seja, a quantidade de tráfego de voz por enlace deve ser limitada • b) manter uma proporção relativa de tráfego em todos enlaces • exemplo: a rede deve manter a política de escalonamento mesmo em caso de falhas • princípio: configurar todos os enlaces com as mesmas políticas de escalonamento e manter uma proporção relativa de tráfego • c) serviços com garantia de banda • exemplo: rede compartilhada com AF e BE • princípio: limitar a proporçao de tráfego AF nos enlaces
Exemplo • Em condições normais, voz trafega por A-C-D • Em caso de falha, o tráfego seria roteado para ACGD • CG não atende os requisitos de VoIP se o tráfego for misturado • Solução MPLS: rotear por ACEFD • Solução DiffServ MPLS: alocar VoIP e dados em filas distintas
DiffServ MPLS • RFC 3270 descreve os mecanismos para o suporte de MPLS em redes DiffServ • Problema: • A decisão de rota dos LSR (Label-Switching Routers) é baseada apenas nos Labels MPLS • Como tratar tráfegos com PHB distintos (e.g., tempo real ou banda média) em um mesmo caminho MPLS • Proposta: • 3 bits experimentais no cabeçalho MPLS para mapear os 64 valores possíveis do DSCP
Estratégias de Mapeamento • Para redes que utilizam menos de 8 PHBs • O PHB é inferido a partir dos bits EXP = E-LSP • Esses bits são configurados pelo administrador • Um único E-LSP pode transportar o tráfego de múltiplos PHBs
Estratégias de Mapeamento • Para redes que utilizam mais de 8 PHBs • O Label determina a classe do PHB • Os bits EXP determinam a prioridade de descarte • Um único L-LSP transporta tráfego de um único PHB, ou de múltiplos PHBs com o mesma política de escalonamento
Priorização de LSP • MPLS define até 8 níveis de prioridade para os LSPs • 0 melhor • 7 pior • Cada LSP possui duas prioridades associadas • setup priority: • prioridade durante o processo de criação de um novo LSP • hold priority • prioridade para manutenção de um LSP já criado • Um LSP com setup priority superior, pode, se necessário, tomar recursos de LSP com hold priority inferior para permitir o seu estabelecimento
Vantagens do Modelo de Prioridade • O modelo baseado em prioridades permite: • que LSP menos importantes reservem recursos sem prejuízo dos LSPs mais importantes • que os LSP importantes sempre sejam criados nos melhores caminhos independentemente das reservas existentes • que em caso de falha de enlace, os LSP mais importantes tenham maior chance de encontrar caminhos alternativos • Além da necessidade de banda, os caminhos podem ser sujeitos as seguintes restrições: • atributos administrativos (“cores”) dos enlaces que o LSP pode atravessar • e.g. enlaces com baixa latência • número máximo de saltos para o caminho • outras restrições
Extensões de TE • Foram propostas extensões nos protocolos de estado de enlace IS-IS e OSPF para suportar a distribuição desses atributos junto com as informações de roteamento • Essas extensões são denominadas TE extensions • Smit H., Li T., IS-IS extensions for Traffic Engineering - draft-ietf-isis-traffic-05.txt • Katz D. Yeung D., Traffic Engineering Extensions to OSPF - draft-katz-yeung-ospf-traffic-10.txt • Quando as informações adicionais de estado de enlaces estão disponíveis, o algorítmo contrained SPF pode ser utilizado • CSPF - Constrained Shortest Path First • elimina os enlaces que não satisfazem as restrições
Exemplo • O caminho A-C é criado primeiro • Para o caminho EC, todos os enlaces com menos de 100 Mbps disponíveis são eliminados (pruned) • A sinalização MPLS ocorre para o caminho possível
BGP: Border Gateway Protocol • Protocolo de roteamento por vetor de caminho • Versão 4: RFC 1771 • Motivação • Segmentar a Internet em domínios (ASs) administrados independentemente • Eliminar a necessidade de divulgar todas as rotas entre ASs distintos. • Características: • Protocolo transportado por TCP • Cabeçalho Padrão seguido de 5 tipos de mensagem distintos.
Mensagens BGP • Open (Tipo 1) • inicia uma sessão entre um par de roteadores BGP • negocia recursos opcionais do BGP • Update (Tipo 2) • anuncia informações de roteamento de um BGP para outro • Notification (Tipo 3) • usada para indicar problemas com as mensagens Open ou Update • KeepAlive (Tipo 4) • utilizada para verificar se o parceiro está ativo • Route-Refresh (Tipo 5) • requisita que um roteador BGP reanuncie todas as suas rotas
Cabeçalho BGP • Marcação (16 bytes) • campo obsoleto, não é mais utilizado (preenchido com 0xff) • Tamanho (2 bytes) • máximo 4096 bytes • Tipo da mensagem (1 byte): • 5 tipos Byte 2 Byte 3 Byte 4 Byte 1 Marcador Marcador (cont.) Marcador (cont.) Marcador (cont.) Tamanho da Mensagem Tipo da Mensagem Versão (4)
Sessão BGP • Speaker BGP • roteador que pode enviar e receber mensagens BGP • Parceiros BGP • roteadores BGP com conexões TCP ponto-a-ponto estabelecidas • Porta TCP: 179 open open ou notification update update
Mensagens BGP: Open • Identificador de AS • número de 16 bits: e.g. 65033 • AS Privado: 64512 a 65535 • Tempo de Suspensão: • Tempo que o roteador espera (em segundos) sem keep alive, antes de considerar a sessão como morta • Keep Alive (30 s) = 1/3 do tempo de suspensão ( 90 s) • Identificador de BGP • Endereço IP da interface do roteador • Parâmetros Opcionais • Formato TLV (e.g. autenticação e capacidades adicionais - AS 4 bytes) ID AS Tempo de Suspensão Identificador BGP Tamanho Opcoes Parâmetros Opcionais Parâmetros Opcionais
Mensagem BGP: Update • A mensagem de update permite adicionar ou remover novas rotas. • Ela é composta de 3 seções: • Rotas Retiradas (Unfeasible Routes) • e.g. 192.168.1.0/24, 10.0.0.0/8, etc. • Atributos do Caminho • atributos comuns a todas as rotas anunciadas • Rotas Anunciadas (NLRI) • e.g. 200.1.0.0/16 Tamanho Rotas Retiradas Info. Rotas Retiradas Rotas Retiradas Tamanho do Atributos do Caminho Atributos Caminho Atributos Caminho Informação de Alcance da Camada de Rede (NLRI)
Atributos BGP • AS-PATH • seqüência completa de ASs até o destino anunciado • usado para detectar loops • NEXT-HOP • endereço do roteador BGP que corresponde ao primeiro salto do caminho • LOCAL-PREFERENCE • determina o melhor caminho para o tráfego de saída • maior local-preference vence (default 100) • MULTI-EXIT DESCRIMINATOR (EXIT) • melhor caminho para o tráfego entrante • ORIGIN • Origem do Caminho: IGP, EGP ou incomplete • COMMUNITIES • Comunidades aos quais as rotas anunciadas pertencem
Confederação BGP • Grandes redes podem ser divididas em vários AS confederados. • Um AS confederado é visto como um simples AS pelos demais ASs AS 1 AS 2 i-BGP AS 4 AS 5 AS 3 e-BGP
Comunidades BGP • No BGP rotas podem ser agrupadas em comunidades (através da seção path da mensagem update) • comunidades permitem definir policies para exportação de rotas • o significado da comunidade é local ao AS • Quatro bytes são utilizados: 2 bytes AS: 2 bytes Valor • exemplo: 65033:500 (comunidade 500 do AS 65033) • As seguintes comunidades são padronizadas: • internet (0) • no-export (0xFFFFFF01) • as rotas são anunciadas apenas aos peers que são parte da mesma confederação BGP • no-advertise (0xFFFFFF02) • a rota não é anunciada para nenhum BGP peers • local-AS (0xFFFFFF03) • a rota não é anunciada para nenhum BGP peer externo, mesmo que confederado
Políticas BGP • As políticas BGP permitem controlar de maneira seletiva quais rotas serão recebidas e propagadas para outros vizinhos.
IXP: Internet Exchange Point • Um IXP (ou PTT: Ponto de Troca de Tráfego) permite a interconexão direta de vários ASs, minimizando o número de saltos • Atualmente, a tecnologia mais utilizada para implementar IXP é o Ethernet. • Em muitos países a manutenção dos IXP é subsidiada por órgãos públicos
Peer e Transit • Quando dois AS se interconectam de maneira gratuita, visando benefício mútuo de troca de tráfego, eles são denominados peer. • Quando o relacionamento é comercial, a conectividade é denominada transit.
BGP/MPLS VPN • Dois padrões definem como criar VPNs de camada 3 usando MPLS: • RFC 2547 • RFC 2547bis • Conceito de VPN: • Múltiplos sites interconectados através de um backbone • Sites são agrupados em subsets • A conectividade IP é oferecida somente entre sites que estão contidos no mesmo subset • Aplicação das VPNs • Intranets (sites de uma mesma empresa) • Extranet (sites de empresas distintas)
Elementos • Customer Edge (CE) Devices • pertencem a um site cliente (host, switch ou router) • tipicamente é um router: CE router • Provider Edge (PE) Routers • pertencem ao provedor, e conectam-se diretamente aos CEs • Provider (P) Routers • pertencem ao provedor, mas não se conectam diretamente aos CEs • Princípios: • CE routers, em sites distintos, não trocam informação de roteamento diretamente. • VPNs que não contém sites compartilhados, podem ter um espaço de enderaçamento sobreposto.
VPN A VPN B VPN B P3 P5 P1 VPN A VPN A P2 P4 LDP LDP LDP VPN VPN VPN VPN Exemplo LSP - Label Switched Path PHP: Penultimate Hop Popping PHP LDP
Requisitos dos PEs • Deve suportar múltiplas tabelas de encaminhamento • Cada site conectado ao PE deve ser associado a uma tabela de encaminhamento • A tabela de encaminhamento contém rotas apenas para sites que tem pelo menos uma VPN em comum. • per-site forwarding table • As informações relativas as VPNs estão presentes apenas nos PE routers. • Os P routers não precisam ter informações de roteamente descriminadas por VPN
Exemplo • PE aprende sobre as rotas de CE1 através de IGP • PE1 propaga as rotas para outros sites que compartilham a mesma VPN que CE1 através de BGP. VPN V CE1 rotas do site IGP FT de CE1 (VRF) FT de CE2 (VRF) PE1 FT de CE3 (VRF) BGP VPN V CE2 CE3 PE2 PE3 VPN V
Segurança • Requisito de segurança • Pacotes vindos de um dado site não podem entrar em uma VPN ao qual o site não pertence • Implementação • Nenhum roteador no backbone pode aceitar um pacote com label vindo diretamente de um roteador não pertencente ao backbone a menos que: • (a) o top label tenha sido atribuído pelo próprio roteador do backbone • (b) o label utilizado não conflita com nenhuma VPN existente (isto é, o pacote deixa o backbone antes de ser desempilhado).
Distribuição de Rotas VPN via BGP • PE routers usam BGP para distribuir rotas VPN entre si. • No BGP original: • Um BGP speaker pode distribuir apenas uma rota para um dado prefixo. • No cenário VPN: • Um PE router pode receber duas rotas distintas (de diferentes VPNs) para um mesmo prefixo • Extensão do BPG • The BGP Multiprotocol Extensions: MP-BGP RFC 2283 • As rotas são acompanhadas de um prefixo de 8 bytes • RD: Route Distinguisher associado a VRF • Endereços de 12 bytes: 8 RD + 4 IP = família VPN IPv4 • O anúncio de rota contém o Label MPLS • O BGP-NEXT HOP é o próprio PE
Filtragem de Rotas via BGP • Objetivo: • rejeitar rotas para VPNs ao qual o site não pertence • Utiliza o conceito de comunidades estendidas do BGP • Nas comunidades originais do BPG (2 bytes), ofertas de rotas são associadas a comunidades. • Rotas são aceitas apenas se o roteador BGP pertencer a mesma comunidade da rota. • Para suportar o cenário MPLS, um novo atributo denominado TARGET VPN foi introduzido. • Uma rota pode: • Ter um único RD • Ter múltiplos TARGET VPN
Exemplo Aceita apenas rotas com os atributos Target VPN = 2 ou 3. Um site com duas VPNs: 1 e 2. As rotas são anunciadas com um único RD e dois Target VPN
Atribuição de Labels • Quando um PE recebe um pacote, ele atribui 2 labels: • Label externo: LSP para o BGP next-hop • Label interno: Rede de destino
Exemplo • No roteador de ingresso, o label interno é aprendido via iBGP. • O label externo identifica LSP para o nó de egresso.
VPN A VPN B VPN B P3 P5 P1 VPN A VPN A P2 P4 LDP LDP LDP VPN VPN VPN VPN Cenário 1: VPN (PE) + LDP (P, PE) • Configuração: • Roteamento no core é IGP • Todos os PEs são conectados por MPLS • MP-iBGP fully meshed entre os PE’s • VPN configurado nos VPN PE’s LSP - Label Switched Path PHP: Penultimate Hop Popping PHP LDP • Sem controle nos caminhos LSP
OSPF area 1 OSPF area 0 OSPF area 2 VPN A VPN B VPN B P3 P5 P1 VPN A VPN A P2 P4 TE TE TE VPN VPN VPN VPN Cenário 2: VPN (PE) + RSVP TE Tunnel (PE-PE) • Configuração: • Utiliza túneis RSVP TE Tunnel (PE-PE) para configurar o LSP • Pode criar túneis de backup entre os PEs PHP TE • Possibilidade de fast-reroute
iBGP ISP B - Site X ISP B’s Customers CE1 PE1 ASBR1, RR ASBR2, RR VPN B VPN B VPN B VPN B VPN B VPN B VPN B VPN B MP- iBGP PE2 CE2 ISP B - Site Y ISP B’s Customers ISP A Carrier Backbone LDP LDP LDP LDP LDP LDP VPN A VPN A VPN A VPN A Cenário 3: Carrier’s Carrier VPN Carrier’s Carrier VPN Case 3
MP-iBGP é utilizado para conectar PEs no mesmo AS MP-eBGP é utilizado para conectar PEs em AS distintos VPN B VPN B LDP LDP LDP VPN A VPN A Cenário 5: Inter-Providers Backbone VPN RR-A RR-B AS B AS A PE1 VPN AB CE1 PE-ASBR1 CE2 PE-ASBR2 MP- eBGP PE2 MP- iBGP MP- iBGP
Links de Interesse • http://logbud.com/visual_trace • http://www.asnumber.networx.ch/ • http://www.bgp4.as/internet-exchanges