Title: MPLS DiffServ , Extens
1MPLS DiffServ , Extensões TE em IGPe MPLS VPN
com BGP Edgard Jamhour
2Necessidade 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
3Exemplo
- 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
4DiffServ 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
5Estraté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
6Estraté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
7Comparação
E-LSP L-LSP
PHB determinado pelos bits EXP PHB determinado pelo label ou pelo label bits EXP
Até 8 PHBs em um mesmo LSP Um PHB por LSP ou múltiplos PBHs com mesmo escalonamento e níveis de drop distintos
Uso conservador de labels labels são criados apenas pelas necessidades de roteamento Uso intensivo de labels pois eles também afetam os PHBs
A atribuição de PHBs independem da sinalização MPLS Os PHBs são definidos juntos com a sinalização MPLS
Até 8 PHBs na rede como um todo Número ilimitado de PHBs na rede
8Priorizaçã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
9Vantagens 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
10Extensõ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
11Exemplo
- 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
12BGP 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.
13Mensagens 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
14Cabeç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 1
Byte 2
Byte 3
Byte 4
Marcador
Marcador (cont.)
Marcador (cont.)
Marcador (cont.)
Tamanho da Mensagem
Tipo da Mensagem
Versão (4)
15Sessã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
16Mensagens BGP Open
ID AS
Tempo de Suspensão
Identificador BGP
Tamanho Opcoes
Parâmetros Opcionais
Parâmetros Opcionais
- 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)
17Mensagem BGP Update
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)
- 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
18Atributos 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
19Confederaçã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 5
AS 4
AS 3
e-BGP
20Comunidades 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 65033500 (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
21Políticas BGP
- As políticas BGP permitem controlar de maneira
seletiva quais rotas serão recebidas e propagadas
para outros vizinhos.
22IXP 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
23Peer 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.
24BGP/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)
25Elementos
- 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.
26Exemplo
LSP - Label Switched Path
PHP Penultimate Hop Popping
PHP LDP
27Requisitos 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
28Exemplo
- 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
29Seguranç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).
30Distribuiçã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
31Filtragem 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
32Exemplo
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
33Atribuiçã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
34Exemplo
- No roteador de ingresso, o label interno é
aprendido via iBGP. - O label externo identifica LSP para o nó de
egresso.
35Cená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 PEs
- VPN configurado nos VPN PEs
LSP - Label Switched Path
PHP Penultimate Hop Popping
PHP LDP
- Sem controle nos caminhos LSP
36Cená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
37Cenário 3 Carriers Carrier VPN
Carriers Carrier VPN Case 3
38Cenário 5 Inter-Providers Backbone VPN
RR-A
RR-B
AS B
AS A
PE1
VPN AB
PE-ASBR1
CE1
CE2
PE-ASBR2
PE2
MP- eBGP
MP- iBGP
MP- iBGP
- MP-iBGP é utilizado para conectar PEs no mesmo AS
- MP-eBGP é utilizado para conectar PEs em AS
distintos
39Links de Interesse
- http//logbud.com/visual_trace
- http//www.asnumber.networx.ch/
- http//www.bgp4.as/internet-exchanges