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: