Seção: Tutoriais Infraestrutura
|
|
||
O presente item apresenta o processo de cálculo de rotas com base em condicionantes (constraint-based path computation), utilizado no plano de controle do MPLS-TE e no GMPLS. Estamos nos limitando neste tutorial ao caso do MPLS-TE.
Cálculo de Rotas e Constituição de TE lsps
Como foi visto nos itens anteriores deste tutorial, como resultado dos protocolos OSPF-TE e dos protocolos ISIS-TE, são constituídas as TEDs em todos os PEs das redes MPLS-TE.
Como temos conhecimento, a TED contém todos os atributos condicionantes (constraints) referentes aos links da rede, atributos esses conduzidos nos diferentes sub-TLVs contidos em LSAs (protocolos OSPF-TE) ou em LSPs (protocolos ISIS-TE).
Quando um dos PEs vai iniciar a constituição de um TE LSP, esse PE torna-se o head end LSR (ou simplesmente o PE de ingresso) para o TE LSP.
A solicitação para a constituição de um TE LSP é feita por um cliente, que pode ser um usuário ou o próprio provedor de serviço. O solicitante define o conjunto de atributos condicionantes aplicáveis ao TE LSP e encaminha esses atributos para o provedor de serviço.
Nos termos da RFC 4655 (A Computation Element (PCE)-Based Architecture), o provedor de serviço configura o conjunto de atributos do TE LSP em uma unidade referida como PCC (Path Computation Client).
O provedor de serviço configura também o PCE (Path Computation Element), onde são processados os algoritmos de cálculo de rotas. Podem ser utilizados diferentes algoritmos, sendo o CSPF (Constrained Shortest Path First) o algoritmo mais utilizado no MPLS-TE.
O PCE pode ser utilizado em diferentes configurações. O PCE pode constituir-se em uma única unidade ou em múltiplas unidades fisicamente dispersas. Quando em uma única unidade, o PCE pode se localizar interna ou externamente ao respectivo head end LSR.
O PCE é alimentado pela TED e pelo PCC com os atributos de link e com os atributos do TE LSP, respectivamente.
No PCE, os atributos definidos para o TE LSP são confrontados com as combinações dos atributos de link dos links que compõem os caminhos com a mesma origem e o mesmo destino do TE LSP.
Como resultado dessa confrontação, ou dessa comparação, o PCE define, mediante a aplicação do algoritmo de cálculo de rotas, o caminho (ou seja, a sucessão de LSRs) que melhor atenda a solicitação do cliente. Esse melhor caminho é explicitado no objeto ERO (Explicit Route Object).
A Figura 5 exibe o processo de cálculo de rotas na hipótese de utilização do PCE em uma única unidade no interior do head end LSR.
Figura 5: Configuração com PCE no interior do head end LSR
Na parte superior da figura, observa-se a interação da TED com o protocolo de roteamento. Verifica-se também a alimentação do PCE pela TED.
Observa-se também a presença do dispositivo de sinalização (Signaling Engine), que se comunica bidirecionalmente com o PCE.
O dispositivo de sinalização é responsável pelo processo de sinalização e pela transmissão e recepção das mensagens de sinalização.
O PCC não está explicitado, mas ele se encontra na parte esquerda inferior da figura, alimentando o PCE com os atributos de TE LSPs pelo envio da solicitação de serviço (Service Request).
Como se verifica pelos sentidos das setas na figura, a solicitação de serviço é encaminhada ao PCE via o dispositivo de sinalização.
Uma vez definido o ERO para o LSP, o CPE envia esse objeto para o dispositivo de sinalização, que inicializa o processo de sinalização pelo protocolo RSVP-TE, do que resulta o estabelecimento do TE LSP. O protocolo RSVP-TE será apresentado no item 8 subsequente neste tutorial.
Algoritmo CSPF
O algoritmo CSPF é uma versão avançada do algoritmo SPF utilizada para cálculo de rotas em OSPF-TE e em ISIS-TE. O CSPF é utilizado na definição de rotas mais curtas para TE LSPs respeitando um conjunto de atributos condicionantes (constraints).
No cálculo do melhor caminho para um TE LSP, o CSPF leva em consideração a topologia da rede, os atributos configurados aplicáveis ao TE LSP e os atributos de link dos links da rede.
Se resultarem caminhos com custos iguais (equal-cost paths) após a aplicação do CSPF, o caminho a ser utilizado será então selecionado de acordo com algumas regras.
A primeira dessas regras resume-se na escolha do caminho com o menor número de links.
Se ainda persistir a igualdade na escolha do caminho, deve ser aplicada a regra de balanceamento de carga no CSPF configurada para o TE LSP. Existem três alternativas:
Taxa de banda disponível é a razão entre a banda disponível e a banda reservável em um link.
Os links que não sejam full-duplex devem ser eliminados.
O CSPF é simplesmente uma aplicação do SPF após a eliminação dos links e dos caminhos que violam determinadas condições impostas pelo cliente solicitante do TE LSP em constituição.
A violação pode ser constatada nos valores de atributos dos próprios links ou no somatório dos valores de atributos dos links que compõem cada um dos possíveis caminhos.
Um importante exemplo do primeiro caso é a largura de banda desejada pelo cliente comparativamente às larguras de banda disponíveis em cada um dos links considerados, no momento da solicitação de ativação do TE LSP. Os links que individualmente não disponham, nesse momento, no mínimo da largura de banda desejada devem ser eliminados. A eliminação de um link redunda na eliminação dos caminhos que o contém.
Para o segundo caso vamos citar dois exemplos.
Um primeiro exemplo é o delay fim a fim máximo estabelecido pelo cliente para o TE LSP. Se um dos possíveis caminhos apresenta um delay acumulado superior ao valor máximo estabelecido, esse caminho deve ser eliminado.
O outro exemplo diz respeito ao número máximo de links que constituem um caminho. Se um caminho viola o valor definido, esse caminho deve ser eliminado.
Para melhor entendimento do CSPF, vamos considerar o exemplo de configuração de rede MPLS TE da figura 6.
Figura 6: Exemplo de configuração de rede MPLS- TE
Vamos admitir as seguintes hipóteses com relação a essa figura:
Vamos supor inicialmente que o TE LSP demande uma largura de banda de 120 Mbps. O head end LSR (LSR 1) elimina, pela aplicação do CSPF, o link<LSR 1, LSR 4>, escolhendo o link <LSR 1, LSR 2>, em função da disponibilidade de largura de banda.
No próximo passo, o LSR 2 elimina, pelo CSPF, os links <LSR 2, LSR 4> e <LSR 2, LSR 3>, e escolhe o link<LSR 2, LSR 5>. No passo seguinte, a única opção é o link<LSR 5, LSR 3> que, por satisfazer o CSPF, é utilizado.
Assim, considerando-se o atributo largura de banda, o único caminho que satisfaz o CSPF é <LSR 1, LSR 2, LSR 5, LSR 3>.
Observa-se que, pelo SPF, o caminho escolhido seria <LSR 1, LSR 2, LSR 3>, cuja distância no IGP convencional é a menor de todas.
Vamos supor uma segunda alternativa, em que a classe de tráfego demande uma largura de banda de 80 Mbps. Aplicando-se os critérios acima, o CSPF, em sua primeira ação, define os caminhos <LSR 1, LSR 2, LSR 4, LSR 5, LSR 3> e < LSR 1, LSR 2, LSR 5, LSR 3> como viáveis.
Em uma segunda etapa, o CSPF define o caminho <LSR 1, LSR 2, LSR 5, LSR 3> como preferencial, por possuir uma distância IGP inferior à da segunda opção viável. Ou seja, no CSPF, após a eliminação dos links que não satisfazem as condições (constraints) consideradas (a largura de banda nos exemplos acima), aplica-se o SPF nos links remanescentes para a determinação do caminho a ser utilizado pelo TE LSP.
Atributos de TE LSP
Como dissemos anteriormente neste tutorial, o cálculo de rotas consiste na determinação do ERO a ser utilizado pelo TE LSP em constituição, determinação essa que resulta da comparação, no CPE, dos valores dos atributos de TE LSP configurados para o TE LSP com os valores dos atributos de link dos links da rede.
Os valores dos atributos de TE LSP configurados são normalmente determinados pelo cliente, mas podem ser excepcionalmente determinados pelo provedor de serviço.
Apresentamos a seguir a relação alguns dos principais atributos de TE LSP:
Por entendermos que os significados dos seis primeiros desses atributos são de fácil entendimento, abordaremos apenas os três últimos.
Atributos de Afinidade
Como vimos no subitem 5.3.1.4 deste tutorial, os links utilizam um atributo de link denominado Grupo Administrativo (Administrative Group). Esse sub-TLV é composto por 32 parâmetros de significado binário (32 bits), configurados pela supervisão da rede para cada um dos links da rede.
O Atributo de Afinidade de um TE LSP consiste em uma máscara de 32 bits aplicada, no head end LSR do TE LSP, sobre cada um dos links da rede. Cada um desses bits é configurado com um valor com o mesmo significado que o do correspondente grupo administrativo dos links da rede para seja possível a sua comparação.
Como resultado dessa comparação, o link pode ser ou não eliminado, sendo a comparação realizada sobre todos os bits configurados. Qualquer um dos bits pode causar a eliminação do link.
A eliminação de um link em decorrência da comparação de valores em um grupo administrativo pode ocorrer pela atribuição de dois diferentes valores ao parâmetro de afinidade no head end LSR. Tais valores são a inclusão explícita e a exclusão explícita.
Na inclusão explícita, a comparação dos valores de um grupo administrativo em um link elimina o link se o valor do grupo no link não for igual ou não satisfizer o valor desse grupo na máscara.
Por exemplo, suponhamos que no grupo administrativo considerado o valor nos links possa ser A (bit igual a 1) ou não ser A (bit igual a 0). Suponhamos também que no link em análise o valor do bit seja 1 (ou seja, o valor é A).
Suponhamos, mais uma vez, que se utilize inclusão explícita e que tenha sido configurado o valor B (igual a A ou que seja satisfeito por A) para esse grupo administrativo na máscara. Isso indica que o link deve ser eliminado se o valor no link não for A. Como o valor no link é A, o link não será eliminado devido a esse grupo administrativo.
Consideremos novamente as mesmas condições anteriores, mas na hipótese de uso de exclusão explícita ainda com o valor B para o grupo administrativo na máscara. Isso significa que o link deve ser eliminado se o valor no link for A. Como o valor no link é A, o link será eliminado devido a esse grupo administrativo.
Aplicando-se os procedimentos acima para todos os grupos administrativos de um link, fica definido se o link deve ser ou não eliminado do TE LSP em constituição.
Caso não se observe plena afinidade para todos os grupos administrativos em um link, cabe à supervisão da rede rejeitar ou não esse link.
Se não ocorrer a especificação de atributos de afinidade para os grupos administrativos na máscara de um TE LSP, então é assumida uma relação de afinidade “don’t care” entre o TE LSP e os grupos administrativos. Em outras palavras, não existe qualquer requisito para incluir ou excluir explicitamente links devido a atributos de afinidade. Essa forma deve ser adotada como default na prática.
Atributo de Adaptatividade
Como as características e estado das redes mudam ao longo do tempo em decorrência da inclusão, exclusão e alteração de recursos, torna-se necessária a definição de mecanismos para responder a esse dinamismo.
O processo de aplicação desses mecanismos adaptativos é referido como reotimização.
Utiliza-se um atributo de adaptatividade para indicar, quando da constituição de um TE LSP, se esse TE LSP é passível ou não de reotimização.
Um atributo de adaptatividade é uma variável binária que assume um dos seguintes valores:
Se a reotimização encontra-se habilitada, então o TE LSP pode ser rerroteado para diferentes caminhos em resposta a uma alteração no estado da rede.
Por uma questão de compromisso entre a estabilidade e a rapidez de adaptação da rede ao rerroteamento, a frequência de reotimização deve ser administrativamente configurável.
Observamos que reotimização é distinta de resiliência. A reotimização implica resiliência a falhas, mas resiliência a falhas não implica adaptatividade geral por meio de reotimização.
Atributo de Preempção
Esse atributo possibilita que um TE LSP tenha primazia ou não sobre outro na ocupação dos recursos da rede, particularmente no que diz respeito a larguras de faixa.
Essa condição é verificada, no head end LSR, durante a fase de constituição dos dois TE LSPs ou mesmo quando um deles já se encontra em funcionamento.
A preempção pode ser utilizada para garantir que TE LSPs com alta prioridade de permanência em filas, possam sempre utilizar caminhos mais favoráveis caso se utilize DiffServ.
O atributo de preempção pode ser utilizado para especificar quatro modos de preempção para um TE LSP:
Um TE LSP preemptor enabled pode preemptar um TE LSP preemptable, se o primeiro tiver a setup priority superior à holding priority do segundo.
Um TE LSP non-preemptor não pode preemptar outro TE LSP, independentemente de prioridades.
Um TE LSP preemptable pode ser preemptado por um TE LSP preemptor enabled com o valor de setup priority superior ao da holding priority do TE LSP preemptable.
Um TE non-preemptable não pode ser preemptado por outro TE LSP, independentemente de prioridades.
Um TE LSP pode ser configurado com múltiplos modos de preempção, mas alguns desses modos são mutuamente exclusivos. Utilizando a numeração acima, as combinações de modos de preempção viáveis são as seguintes: [1,3], [1,4], [2,3] e [2,4]. A combinação [2,4], quando o TE LSP é non-preemptor e non-preemptable, deveria ser a default.
A escala de prioridades vai de zero a 7, sendo zero a maior prioridade. Existe uma escala de prioridade para obter a cessão de recursos (setup priority) e outra para permitir a cessão (holding priority).
Para obter a cessão, a prioridade do TE LSP preemptor enabled deve ser superior à prioridade do TE LSP preemptable para conceder o recurso. É recomendável que um TE LSP preemptor enabled, com setup priority alta, tenha também uma alta holding priority caso esse TE LSP seja também um TE LSP preemptable.
|