sexta-feira, 9 de julho de 2010

Traffic Engineering - Atributo Affinity


1        MPLS – Traffic Engineer

O Multiprotocol Label Switching (MPLS) traffic engineering permite que um backbone MPLS faça uma expansão a sua capacidade de redes Layer 2 ATM e Frame Relay. O MPLS é uma integração das tecnologias da camada 2 e da camada 3. O Traffic engineering é fundamental para o backbone de internet service providers. Esses backbones devem suportar um uso elevado da capacidade de transmissão, e as redes devem possuir redundância para que possam resistir a falhas de links. A Engenharia de tráfego MPLS oferece uma abordagem integrada para a engenharia de tráfego. Com o MPLS, as capacidades de engenharia de tráfego são integradas no Layer 3 otimizando o encaminhamento do tráfego IP, dadas as limitações impostas pela capacidade do backbone ea topologia.

1.1           Características

Melhora os protcolos de roteamento internos, como o ISIS e o OSPF para que mapeiem o pacote automaticamente no fluxo de trafego apropriado;
Transporta o fluxo de dados usando o encaminhamento MPLS;
Determina o fluxo de dados atraves de rede Baseado nos recursos que o tráfego necessita e estão disponiveis na rede;
Aplica o "constraint-based routing" em que o caminho do fluxo de dados é o menor caminho que possui os recursos requeridos para o fluxo. No MPLS traffic engineering o fluxo de dados tem as requisições de bandwidth.
Recuperação de falha de link ou de nó adaptando para um novo caminho mudando a topologia;
Transporte de pacotes usando MPLS com label-switched path (LSP);
Inclusão de melhoria no shortest path first (SPF) do IGP calculando automaticamente que trafego deve ser enviado em qual LSP.

1.2           Porque usar o TE?

Conexões WAN são itens caros no budget de um ISP. O Traffic engineering permite que os ISPs roteiem o trafego de rede oferecendo um melhor serviço para os seus usuários em termos de throughput e delay. Fazendo o service provider mais eficiente, o traffic engineering reduz o custom da rede.

1.3           Como o MPLS Traffic Engineering Trabalha

O MPLS traffic engineering estabelece e mantém automaticamente LSPs através do backbone usando RSVP. O caminho que o LSP usa é determinado pela requisição de recursos e os recursos disponíveis na rede, como o bandwidth.
Os túneis Traffic engineering tunnels são calculados com base no LSP em um ajuste entre os recursos necessários e disponíveis (restrição baseada em roteamento). O IGP roteia automaticamente o tráfego para estes LSPs. Normalmente, um pacote de atravessar o backbone MPLS TE em um único LSP, que liga o ponto de entrada até o ponto de saída.
O MPLS traffic engineering é feito pelos mecanismos abaixo:
•         IP tunnel interfaces
Do ponto de vista do Layer 2, a interface tunnel MPLS representa a entrada do LSP. A interface é configurada com as requisições de recursos, como o bandwidth
Do ponto de vista do Layer 3, a interface tunnel LSP é a entrada de um link virtual unidirectional para o destino do túnel.
•         Calculo do caminho do MPLS traffic engineering
O modulo de calculo funciona na entrada do LSP determinando o caminho usado para a LSP. O calculo do caminho uma base de dados link-state contendo as informações de recurso.
•         RSVP com extensão de TE
O RSVP funciona em cada salto do LSP e é usado para sinalizar o calculo do caminho.
•         Link-state IGP (IS-IS ou OSPF—each com extensão traffic engineering)
Esses protocolos IGPs são usados para distribuir a topologia e as informações de recurso globalmente.
•         Melhorias no calculo do SPF usado nos IGPs
O IGP roteia automaticamente o trafego para o LSP apropriado baseado no destino do túnel. Rotas estáticas também podem ser usadas para direcionar o tráfego por um túnel LSP.
•         Encaminhamento Label switching
Se um fluxo de um dispositivo de entrada para um dispositivo de saída for tão grande que não possa caber em um único link e ser transportado por um único túnel, vários túneis entre uma dada entrada e de saída podem ser configurados, eo fluxo de carga é compartilhada entre eles.

1.4           Mapeamento do Trafego dentro dos Túneis

O mapeamento é Baseado em como o shortest path first (SPF) tem a melhoria para que o IGP automaticamente encaminhe tráfego através dos túneis MPLS TE estabelecidos.
Os protocolos Link-state, como o ISIS e o OSPF, usam o SPF para calcular o caminho mais curto de uma origem até dos os nós da rede. A tabela de roteamento é derivada desse cálculo e contém o destino e o proximo salto, se o roteador fizer um salto a salto normalmente, o pacote será roteado para uma interface física.
O algoritimo de traffic engineering calcula rotas explícitas para um ou mais nós da rede. O roteador de origem enxerga essas rotas explicitas como interfaces lógicas.

1.5           O atributo Affinity  do TE

O atributo affinity é configurado como um valor hexadecimal dentro do túnel MPLS TE quando um túnel é criado no modo dinâmico. Ou seja, um valor é informado no túnel e no caminho até o destino serão utilizadas as interfaces de saída que possuírem aquele valor configurado.
O affinity serve para definir estáticamente em um roteador no meio do caminho do TE por qual interface ele encaminhará o tráfego.
Caso um roteador encaminhe o trafego TE paras um outro roteador que não existe nenhuma interface com marcação daquela affinity em suas interfaces, o túnel não irá ficar em estado UP.
O affinity usa valores hexadecimais e pode ser definido no túnel com uso de máscara podendo uma interface trafegar mais de um fluxo com affinity diferentes.


2        Cenário

2.1           Objetivo

Cinco roteadores (PE1, PE2, PE3, PE4 e PE5) são conectados fisicamente conforme a topologia abaixo via interfaces seriais. Pede-se as configurações abaixo:
•         Deverá ser usado o encaminhamento via MPLS entre todos os roteadores;
•         O Router-ID do MPLS deve ser o IP da loopback 0 de cada roteador;
•         O R1 deverá alocar os Labels de 100 a 199;
•         O R2 deverá alocar os Labels de 200 a 299;
•         O R3 deverá alocar os Labels de 300 a 399;
•         O R4 deverá alocar os Labels de 400 a 499;
•         O R5 deverá alocar os Labels de 500 a 599;
•         3 túneis MPLS explícitos deverão ser criados no R1 para o R5 usando Traffic Engineer com os pesos abaixo:
•         Túnel 2: R1-R2-R3-R4-R5 com peso 10;
•         Túnel 3: R1-R3-R4-R5 com peso 20;
•         Túnel 4: R1-R4-R3-R2-R5 com peso 30;
•         O caminho do túnel deverá ser feito baseado no valor de affinity;
•         O protocolo de roteamento usado deverá ser o OSPF na área 0 divulgando as loopbacks de todos os roteadores.

2.2           Topologia

Figure-01:              Topologia

2.3           IOS utilizados

•         PE1, PE2, PE3, PE4 e PE5 – c7200-k91p-mz.122-25.S15.bin

2.4           Configuração dos Roteadores

2.4.1      Configurações do OSPF

Em todos os roteadores configura-se o roteamento OSPF pelo comando “router ospf ” onde o “processo” é um numero do processo OSPF. O roteador também possui um router ID único que geralmente é a interface loopback ou então o maior endereço IP do roteador.
Para adicionar interfaces deve-se usar o comando “network
área ”. Um roteador pode ter interfaces em áreas distintas, define-se cada área pelo comando network.
Para o roteador fazer vizinhança OSPF é necessário que a rede da interface esteja no comando “network” e a interface não esteja configurada como “passive-interface”.

2.4.2      Configurações do MPLS

Antes de qualquer configuração, o Cisco Express forwarding deve ser habilitado com o comando “ip cef”. Para habilitar o MPLS no modo LDP, usa-se o comando global “mpls label protocol ldp”, para que seja habilitado nas interfaces, usa-se esse comando dentro da interface.
O Router-ID usado no MPLS pode ser configurado com o comando “mpls ldp router-id ”. A configuração do escopo dos labels que serão usados pelo roteador no MPLS é feita com o comando “mpls label range ”.

2.4.3      Configurações do Túnel de Traffic Engineer com OSPF

Para configurar um túnel MPLS TE inicialmente cria-se a interface túnel com o comando “interface tunnel ”, dentro da interface adiciona-se um endereçamento IP, geralmente usa-se um endereço da loopback com o comando “ip unnumbered Loopback0”. Em seguida configura-se o IP do roteador de destino com o comando “tunnel destination ”. Aplica-se então o modo de túnel como MPLS com TE com o comando “tunnel mode mpls traffic-eng”. Após, habilita-se o caminho dinâmico pelo túnel com o comando “tunnel mpls traffic-eng path-option dynamic”. Ainda dentro da interface túnel é habilitado o anuncio de autoroute com o comando “tunnel mpls traffic-eng autoroute announce”.
O peso do Load-share é definido dentro da interface túnel com o comando “tunnel mpls traffic-eng load-share ”.
Para o uso do MPLS TE aplica-se globalmente o comando “mpls traffic-eng tunnels”, em todas as interfaces, inclusive a interface tunnel, adiciona-se o comando “mpls traffic-eng tunnels”, esse comando permite a sinalização de TE nas interfaces.
No OSPF, como no ISIS, deve-se configurar o Router-ID do TE com comando “mpls traffic-eng router-id Loopback0” e depois adicionar a area do OSPF no TE com o comando “mpls traffic-eng area 0”.

2.4.4      Configuração do Atributo Affinity de TE

A configuração do Affinity é deita dentro da interface túnel definindo o valor do affinity que deverá existir no caminho “tunnel mpls traffic-eng affinity <0x?> mask <0x?>”. Nos roteadores do caminho, as interfaces de saída do tráfego do túnel é definida pelo valor do affinity, que deve ser o mesmo configurado no túnel. Esse valor é configurado nas interfaces de saída até o destino com o comando “mpls traffic-eng attribute-flags <0x?>”.

2.5           Observações e Bugs

Documentação:

2.6           Comandos Importantes de Verificação

R1#show mpls traffic-eng topology path tunnel 4
Query Parameters:
  Destination: 5.5.5.5
    Bandwidth: 0
   Priorities: 7 (setup), 7 (hold)
     Affinity: 0x4 (value), 0xFFFF (mask)
Query Results:
  Min Bandwidth Along Path: 1158 (kbps)
  Max Bandwidth Along Path: 1158 (kbps)
  Hop  0: 14.14.14.1          : affinity 00000004, bandwidth 1158 (kbps)
  Hop  1: 34.34.34.4          : affinity 00000004, bandwidth 1158 (kbps)
  Hop  2: 23.23.23.3          : affinity 00000004, bandwidth 1158 (kbps)
  Hop  3: 25.25.25.2          : affinity 00000004, bandwidth 1158 (kbps)
  Hop  4: 5.5.5.5       

R3#show mpls traffic-eng tunnels brie 
Signalling Summary:
    LSP Tunnels Process:            running
    Passive LSP Listener:           running
    RSVP Process:                   running
    Forwarding:                     enabled
    Periodic reoptimization:        every 3600 seconds, next in 1797 seconds
    Periodic FRR Promotion:         Not Running
    Periodic auto-bw collection:    disabled
TUNNEL NAME                      DESTINATION      UP IF     DOWN IF   STATE/PROT
R1_t2                            5.5.5.5          Se1/4     Se1/2     up/up    
R1_t3                            5.5.5.5          Se1/0     Se1/1     up/up    
R1_t4                            5.5.5.5          Se1/2     Se1/4     up/up    
Displayed 0 (of 0) heads, 3 (of 3) midpoints, 0 (of 0) tails

3        Configuração

3.1           R1

!
ip cef
!
mpls label protocol ldp
mpls ldp router-id Loopback0
mpls label range 100 199
mpls traffic-eng tunnels
!
!
interface Tunnel2
 ip unnumbered Loopback0
 tunnel destination 5.5.5.5
 tunnel mode mpls traffic-eng
 tunnel mpls traffic-eng autoroute announce
 tunnel mpls traffic-eng affinity 0x2 mask 0xFFFF
 tunnel mpls traffic-eng path-option 1 dynamic
 tunnel mpls traffic-eng load-share 10
!
interface Tunnel3
 ip unnumbered Loopback0
 tunnel destination 5.5.5.5
 tunnel mode mpls traffic-eng
 tunnel mpls traffic-eng autoroute announce
 tunnel mpls traffic-eng affinity 0x3 mask 0xFFFF
 tunnel mpls traffic-eng path-option 1 dynamic
 tunnel mpls traffic-eng load-share 20
!
interface Tunnel4
 ip unnumbered Loopback0
 tunnel destination 5.5.5.5
 tunnel mode mpls traffic-eng
 tunnel mpls traffic-eng autoroute announce
 tunnel mpls traffic-eng affinity 0x4 mask 0xFFFF
 tunnel mpls traffic-eng path-option 1 dynamic
 tunnel mpls traffic-eng load-share 30
!
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
!
interface Serial1/0
 ip address 12.12.12.1 255.255.255.0
 mpls traffic-eng tunnels
 mpls ip
 ip rsvp bandwidth
!
interface Serial1/1
 ip address 13.13.13.1 255.255.255.0
 mpls traffic-eng tunnels
 mpls ip
 ip rsvp bandwidth
!
interface Serial1/2
 ip address 14.14.14.1 255.255.255.0
 mpls traffic-eng tunnels
 mpls ip
 ip rsvp bandwidth
!
router ospf 1
 router-id 1.1.1.1
 network 0.0.0.0 255.255.255.255 area 0
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng area 0
!

3.2           R2

ip cef
!
mpls label protocol ldp
!
mpls traffic-eng tunnels
mpls ldp router-id Loopback0
mpls label range 200 299
!
interface Loopback0
 ip address 2.2.2.2 255.255.255.255
!
interface Serial1/0
 ip address 12.12.12.2 255.255.255.0
 mpls traffic-eng tunnels
 mpls ip 
 ip rsvp bandwidth
!
interface Serial1/1
 ip address 25.25.25.2 255.255.255.0
 mpls traffic-eng tunnels
 mpls ip
 mpls traffic-eng attribute-flags 0x4
 ip rsvp bandwidth
!
interface Serial1/2
 ip address 23.23.23.2 255.255.255.0
 mpls traffic-eng tunnels
 mpls ip
 mpls traffic-eng attribute-flags 0x2
 ip rsvp bandwidth
!
router ospf 1
 router-id 1.1.1.1
 network 0.0.0.0 255.255.255.255 area 0
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng area 0
!

3.3           R3

!
ip cef
!
mpls traffic-eng tunnels
mpls label protocol ldp
mpls ldp router-id Loopback0
mpls label range 300 399
!
interface Loopback0
 ip address 3.3.3.3 255.255.255.255
!
interface Serial1/0
 ip address 13.13.13.3 255.255.255.0
 mpls traffic-eng tunnels
 mpls ip 
 ip rsvp bandwidth
!
interface Serial1/1
 ip address 35.35.35.3 255.255.255.0
 mpls traffic-eng tunnels
 mpls ip
 mpls traffic-eng attribute-flags 0x3
 ip rsvp bandwidth
!
interface Serial1/2
 ip address 34.34.34.3 255.255.255.0
 mpls traffic-eng tunnels
 mpls ip
 mpls traffic-eng attribute-flags 0x2
 ip rsvp bandwidth
!
interface Serial1/4
 ip address 23.23.23.3 255.255.255.0
 mpls traffic-eng tunnels
 mpls ip
 mpls traffic-eng attribute-flags 0x4
 ip rsvp bandwidth
!
router ospf 1
 router-id 1.1.1.1
 network 0.0.0.0 255.255.255.255 area 0
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng area 0
!

3.4           R4

!
ip cef
!
mpls label protocol ldp
mpls traffic-eng tunnels
mpls ldp router-id Loopback0
mpls label range 400 499
!
interface Loopback0
 ip address 4.4.4.4 255.255.255.255
!
interface Serial1/0
 ip address 14.14.14.4 255.255.255.0
 mpls traffic-eng tunnels
 mpls ip 
 ip rsvp bandwidth
!
interface Serial1/1
 ip address 45.45.45.4 255.255.255.0
 mpls traffic-eng tunnels
 mpls ip
 mpls traffic-eng attribute-flags 0x2
 ip rsvp bandwidth
!
interface Serial1/2
 ip address 34.34.34.4 255.255.255.0
 mpls traffic-eng tunnels
 mpls ip
 ip rsvp bandwidth
!
router ospf 1
 router-id 4.4.4.4
 network 0.0.0.0 255.255.255.255 area 0
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng area 0
!

3.5           R5

!
ip cef
!
mpls label protocol ldp
mpls traffic-eng tunnels
mpls ldp router-id Loopback0
mpls label range 100 199
!
interface Loopback0
 ip address 5.5.5.5 255.255.255.255
!
interface Serial1/0
 ip address 25.25.25.5 255.255.255.0
 mpls traffic-eng tunnels
 mpls ip 
 ip rsvp bandwidth
!
interface Serial1/1
 ip address 35.35.35.5 255.255.255.0
 mpls traffic-eng tunnels
 mpls ip
 ip rsvp bandwidth
!
interface Serial1/2
 ip address 45.45.45.5 255.255.255.0
 mpls traffic-eng tunnels
 mpls ip
 ip rsvp bandwidth
!
router ospf 1
 router-id 5.5.5.5
 network 0.0.0.0 255.255.255.255 area 0
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng area 0
!

Nenhum comentário: