1 MPLS Multi-Protocol LABEL Switching Edgard Jamhour Nesse módulo será vista a estratégia de roteamento e engenharia de tráfego denominada MPLS: Multi-Protocol LABEL Switching. O MPLS é, atualmente, uma das tecnologias mais utilizadas para criação de circuitos virtuais. Sua principal aplicação é a venda de caminhos, com garantias de qualidade de serviço, para clientes corporativos. A configuração de um caminho MPLS pode ser feito de maneira manual ou automática. A configuração automática é feita através de protocolos de sinalização especializados para o MPLS denominados "Protocolos de Distribuição de LABELs". Nesse módulo serão vistos os principais conceitos do MPLS, incluindo os principais protocolos de distribuição de LABELs. 2 MPLS X Roteamento Tadicional (Hop by Hop) Melhor caminho: Nova demanda 50 Mbps para 200.0.0.128/25 Para 200.0.0.0/24: 1 -2 -3 Para 210.0.0.0/24: 1-4-5 100 Mbps para 200.0.0.0/25 1Gbps [900] Cliente 1 2 100Mbps [0] 1Gbs [900] 100Mbps [50] 50 Mbps para 210.0.0.0/24 3 4 200.0.0.128/25 200.0.0.0/24 200.0.0.0/25 100Mbps [100] 100Mbps [100] 100Mbps [50] 100Mbps [50] 5 210.0.0.0/24 Edgard Jamhour O MPLS: Multiprotocol LABEL Switching foi originalmente proposto pelo IETF em 1997, como uma solução para acelerar o processo de roteamento na Internet. A idéia principal por trás do MPLS era introduzir uma técnica de comutação por rótulos, similar a existente nas tecnologias Frame-Relay e ATM. A técnica de comutação por rótulos (LABEL Switching) é considerada mais eficiente que a técnica Hop by Hop usada pelo protocolo IP. No protocolo IP, o endereço de destino de um pacote pode estar contido em múltiplas rotas de destino ao mesmo tempo. Por exemplo, o endereço 200.1.2.3 pode estar nas rotas 200.1.2.0/24, 200.1.0.0/16, 200.0.0.0/8 e até mesmo 0.0.0.0/0. Dessa forma, um roteador precisa localizar a melhor rota para encaminhar um pacote. No MPLS, por outro lado, o próprio quadro traz um código que identifica a rota de destino de maneira única. Além disso, a técnica de comutação por rótulos permite definir múltiplos caminhos para um mesmo destino. Essa característica tornou o MPLS um instrumento primordial para engenharia de tráfego, pois ele permite uma melhor distribuição do tráfego pelas rotas alternativas que uma rede WAN oferece. Antes de discutir esse aspecto do MPLS, convém ilustrar porque o roteamento Hop-by-Hop é considerado inadequado para engenharia de tráfego. Considere o exemplo ilustrado na figura. Suponha que uma operadora de telecomunicações vendeu para um cliente um canal de 100 Mbps para a subrede 200.0.0.0/25 e 50 Mbps para a subrede 210.0.0.0/24. No roteamento hop-by-hop os pacotes são sempre roteados pelo caminho de menor custo. Considerando as velocidades dos enlaces, o caminho de menor custo para a rede 200.0.0.0/25 é 1-2-3 e para rede 210.0.0.0/24 é 1-4-5. Suponha agora que a operadora deseja vender mais um canal de 50 Mbps para a rede 200.0.0.128/25. Considerando a velocidade dos enlaces, o melhor caminho para essa rede também é 1-2-3. Como o enlace 2-3 já está exaurido, o novo canal não pode ser vendido. Contudo, observando a rede, ainda seria possível alocar o canal usando o trajeto 1-4-5-3. 3 Roteamento MPLS LFIB ⇒ LABEL Forwarding Information Base SE LABEL de entrada for 1 ENTÃO enviar para 2 com LABEL 2 100 Mbps para 200.0.0.0/25 com LABEL 10 if1 1 1 Cliente 2 2 3 4 if0 3 200.0.0.128/25 200.0.0.0/24 200.0.0.0/25 4 5 210.0.0.0/24 LSP: LABEL Switch Path Edgard Jamhour O MPLS utiliza uma técnica de roteamento denominada "comutação de rótulos" (LABEL switching), que é muito utilizada pelas tecnologias que permitem criar "circuitos virtuais", como o ATM e o Frame Relay. No MPLS, o termo LSP (LABEL Switch Path) é utilizado ao invés de circuito virtual, todavia seu significa é muito similar. Um LSP é um caminho fixo entre dois pontos da rede, definido como uma seqüência de enlaces de roteadores. Cada enlace de roteador usado por um caminho específico é identificado por um LABEL, de forma que um LSP é definido por uma seqüência de LABELs. Um LABEL é um número inteiro (de 12 bits), contido no cabeçalho MPLS. O cabeçalho MPLS é colocado entre os cabeçalhos de enlace (camada 2) e rede (camada 3) de cada pacote. Por essa razão o MPLS é classificado com sendo pertencente a camada 2.5 do modelo OSI. A figura ilustra o conceito de LSP e comutação por LABELs. Primeiramente, considere o caminho do cliente para a rede 200.0.0.0/5 (indicado em vermelho na figura). Esse LSP é definido como sendo a seqüência de LABELs 1-2-3-4. Do ponto de vista do cliente, contudo, o caminho é identificado apenas como sendo LABEL 10. Para o cliente usar o caminho ele simplesmente configura a regra: "marcar com LABEL 1 todos os pacotes direcionados para a rede 200.0.0.0/25). Cada roteador possui uma tabela que indica como encaminhar pacotes marcados com LABELs. Essa tabela denomina-se LFIB (LABEL Forwarding Information Base). A LFIB indica duas informações básicas: para onde enviar o pacote e com que valor de LABEL. O LABEL precisa ser trocado pelo roteador a fim de que não seja necessário ter um sistema centralizado para evitar o uso de LABELs repetidos. Usando a estratégia de comutação por LABELs, o valor dos LABELS tem significado apenas local ao enlace, isto é, os valores de LABEL podem ser repetidos em enlaces distintos, mesmo que pertençam ao mesmo caminho. 4 Roteamento MPLS SE LABEL de entrada for 1 ENTÃO enviar para 2 com LABEL 1 SE LABEL de entrada for 2 ENTÃO enviar para 2 com LABEL 2 SE LABEL de entrada for 3 ENTÃO enviar para 4 com LABEL 1 SE LABEL de entrada for 2 ENTÃO enviar para 4 com LABEL 1 SE LABEL de entrada for 1 ENTÃO enviar para 3 com LABEL 1 2 Cliente 1 2 1 2 1 1 3 1 1 3 1 2 200.0.0.128/25 200.0.0.0/24 200.0.0.0/25 4 1 2 1 5 LSP: LABEL Switch Path 210.0.0.0/24 1 Edgard Jamhour A figura ilustra como ficaria o cenário considerando os três caminhos simultaneamente. Um caminho (LSP - LABEL Switched Path) é criado preenchendo-se as tabelas de encaminhamento de LABELs (LFIB) de todos os roteadores da rede. Essa tabela pode ser preenchida manualmente pelo administrador da rede quando o LSP é criado, ou automaticamente, utilizando protocolos de sinalização criados para o MPLS, como o RSVP-TE e o CR-LDP. Caso a tabela seja preenchida manualmente, caberá ao administrador a escolha dos valores dos LABELs. Os valores podem ser usados livremente, desde que não se use LABELS repetidos para caminhos distintos no mesmo enlace. Por exemplo, se o caminho vermelho for o primeiro a ser criado, poder-se-ia usar o mesmo valor de LABEL para todos os enlaces (LABEL=1). Contudo, o LABEL=1 não pode ser mais usado para identificar o caminho verde no enlace de entrada do roteador 1. Dessa forma, foram escolhidos os LABELs 2 e 3 para identificar os caminhos verde e azul. Observe que na saída do roteador 1, o caminho vermelho continua com LABEL=1 e o caminho verde continua com LABEL=2. Contudo, o caminho azul foi comutador para LABEL=1. Apesar do caminho azul e vermelho usarem o mesmo valor de LABEL, não existe conflito, pois se tratam de enlaces distintos. Quando as tabelas são preenchidas através de um protocolo de sinalização, a escolha do LABEL é feita pelo próprio roteador, simplesmente escolhendo um valor de LABEL aleatório que não tenha sido ainda usado em seu enlace. O roteador pode escolher esse LABEL sem necessidade de conhecer os outros LABELs usados na rede, o que justifica a estratégia de LABEL switching. 5 LSR x LER Se destino REDE A então inserir LABEL 1 e enviar para B Se destino REDE B então inserir LABEL 2 e enviar para B pacotes sem rótulo pacotes com rótulo LER de Egresso C A LER de Ingresso B E F rede A G rede B LSR pacotes com rótulo pacotes sem rótulo Se chegar pacote LABEL 1, remover o LABEL e encaminhar para REDE A Se chegar pacote LABEL 2, remover o LABEL e encaminhar para REDE B Edgard Jamhour Como sabemos, o roteamento puramente IP já estava bastante difundido quando o MPLS foi introduzido. Dessa forma, quando o MPLS é adotado por uma operadora de telecomunicações em seu backbone, é necessário criar mecanismos de conversão entre os pacotes puramente IP vindos dos clientes e os pacotes marcados com MPLS usados no backbone. Isto é, quando um cliente puramente IP injeta um pacote na rede o LABEL (ou rótulo) deve ser inserido, e quando o pacote deixa o domínio da operadora o LABEL deve ser removido para que os roteadores que não suportam MPLS possam interpretar o pacote. Dessa forma, podemos definir que em uma rede MPLS existem dois tipos de roteadores os LER (LABEL Edge Routers) e os LSR (LABEL Switch Routers). Roteadores LER ficam nas bordas de um domínio MPLS. Sua função é inserir ou remover o cabeçalho MPLS que contém os LABELs, fazendo o mapeamento entre o mundo IP e o MPLS. Já os roteadores LSR realizam operações de encaminhamento de pacotes usando unicamente as informações de LABEL. A figura ilustra esse conceito. Observe que os roteadores A e G são roteadores do tipo LER e os roteadores B, C, E e F são do tipo LSR. Um roteador do tipo LER possui uma tabela especial, que associa a cada rota possível de destino um LABEL. Devemos lembrar que os caminhos LSPs são sempre unidirecionais, sendo que os pacotes são sempre transmitidos de um nó de ingresso para um nó de egresso. Para se ter um caminho bidirecional entre os roteadores A e G é necessário criar dois LSPs distintos. Os roteadores LER podem ser de dois tipos: LER de ingresso (que faz a inserção do LABEL) e LER de egresso (que faz a remoção do LABEL). Observe que essa denominação é feita por caminho, isto é, um roteador LER pode se comportar como ingresso para um dado caminho, e como egresso para outro. 6 Forwarding Equivalence Class (FEC) FEC1 44.1.2.0/24 LSR3 LSR2 LER2 55.1.2.0/24 1 LER1 2 LSR1 FEC2 3 LSR4 LER3 66.1.2.0/24 BE FEC3 Se FEC1 inserir LABEL 1 e enviar para LSR1 Se FEC2 inserir LABEL 2 e enviar para LSR1 Se FEC3 inserir LABEL 3 e enviar para LSR1 60.1.2.0/24 EF Edgard Jamhour Em uma tabela de roteamento IP, o destino é sempre uma sub-rede (isto é, um endereço de base e uma máscara de sub-rede). No MPLS, os destinos recebem uma denominação mais genérica denominada FEC (Forward Equivalence Class). Uma FEC é definida como um ou mais destinos para os quais os pacotes são encaminhados da mesma forma, isto é, seguindo sempre o mesmo LSP (LABEL Switch Path). O conceito de FEC permite a agregação de vários endereços, mesmo descontínuos, e a diferenciação de caminhos para um mesmo destino, mas para aplicações ou níveis de serviços distintos. A figura ilustra esse conceito. No exemplo, a FEC1 agrupa as sub-redes 44.1.2.0/24 e 55.1.20/24. Isto significa, que os pacotes enviados para qualquer uma dessas duas sub-redes seguirão sempre o mesmo caminho, pelo menos na parte da rede que está estrutura em MPLS. Após o LER de egresso, os pacotes podem seguir caminhos distintos, pois o roteamento passa a ser puramente IP. As FECs 2 e 3 referem-se a mesma sub-rede 66.1.2.0/24. Contudo, a FEC2 representa o tráfego do tipo Best Effort e a FEC3 do tipo Expedited Forwarding. Usando duas FECs distintas permite que o tráfego EF siga um caminho com enlaces exclusivos, garantindo que os pacotes com esse tipo de marcação sofram pouco atraso. O roteador LER de ingresso (LER1) possui uma tabela que relaciona cada uma das FEC a um LSP específico. O LER de ingresso é responsável por determinar por qual caminho cada pacote irá percorrer. As regras de mapeamento de LABELs nas FECs podem levar em conta diversos campos do pacote, como IP de origem, IP de destino, Tipo de Protocolo, byte DS (DSCP) ou, até mesmo, as portas do protocolo de transporte. 7 Cabeçalho MPLS e Empilhamento de LABELs LABEL do topo LABEL empilhado Cabeçalho L2 1 Cabeçalho L3 2 3 LABEL 1 Exp 0 TTL LABEL 2 Exp 0 TTL LABEL 3 Exp 1 TTL O valor do campo S do último rótulo é 0 Edgard Jamhour A estrutura do cabeçalho MPLS é mostrada na figura. Observe que o cabeçalho MPLS está situado entre os cabeçalhos das camada 2 e 3. Por exemplo, o cabeçalho MPLS pode estar entre o cabeçalho Ethernet e o IP. Por essa razão, muitos autores situam o MPLS como um protocolo da camada 2.5. Um cabeçalho MPLS pode aparecer múltiplas vezes em um mesmo pacote, criando uma pilha de LABELs. Um roteador MPLS analisa sempre o LABEL que está no topo da pilha (isto é, o que está no cabeçalho mais externo), a fim de tomar sua decisão de encaminhamento. Os demais LABELs são considerados apenas quando o cabeçalho do topo é removido. Como veremos, o empilhamento de LABELs é utilizado para criar túneis MPLS, que permite evitar conflitos entre os LABELs adotados por uma operadora de serviços de comunicação e seus clientes privados. Um cabeçalho MPLS possui 32 bits, e contém apenas quatro campos: LABEL (20 bits): contém o valor do LABEL MPLS. Note que é possível definir mais de 1 milhão de valores de LABELs distintos por enlace. Exp (3 bits): bits reservados para uso experimental. Atualmente, sua maior aplicação é o mapeamento de uma marcação similar ao DiffServ ao nível do cabeçalho MPLS. Se mais do que um LSP atravessar o mesmo roteador, os pacotes de cada LSP poderão ser alocados em filas distintas, e com um PHB específico, de acordo com o valor marcado nesses bits. S (1 bit): base da pilha. Conforme ilustrado na figura, uma cabeçalho MPLS pode ser empilhado. O valor 1 indica que o rótulo é a base da pilha, isto é, que ele é o último cabeçalho empilhado; TTL (8 bits): Time to Live = determina a quantidade máxima de saltos que o pacote poderá percorrer. Quando o cabeçalho MPLS é inserido pelo LER, esse campo é copiado do TTL do IP. 8 Posição do LABEL MPLS Edgard Jamhour Conforme seu nome diz, o MPLS foi definido para trabalhar com múltiplos protocolos, tanto de enlace quanto de rede. Apesar do IPv4 ser o protocolo mais usado com o MPLS, ele pode ser usado com outros protocolos de camada 3, como o IPv4, IPv6, IPX, e o AppleTalk. O MPLS pode ser também encapsulado em múltiplas tecnologias de enlace, como o Etherenet, o ATM e o Frame-Relay. Em tecnologias como o Ethernet II e o IEEE 802.3 (com a sub-camada LLC), o rótulo MPLS pode ser inserido integralmente, pois não existe informação equivalente nesses protocolos. Para as tecnologias como Frame-Relay e ATM, contudo, já existe um campo reservado para LABEL, de maneira que é possível mapear o LABEL MPLS nesses campos. Para rótulos simples, isto é, não empilhados, o LABEL MPLS pode ser transportado através dos LABELs do Frame-Relay e do ATM sem necessidade de inserir novos cabeçalhos. Caso exista empilhamento de LABELs MPLS, apenas o LABEL do topo pode ser mapeado, sendo que os demais LABELs da pilha precisam ser inseridos no cabeçalho. Caso os campos EXP do MPLS precisem ser utilizados, nem mesmo o LABEL de topo poderá ser mapeado, sendo necessário incluí-lo integralmente no cabeçalho MPLS. A figura ilustra as diferentes situações de mapeamento. A primeira figura é o caso genérico, em que toda a pilha de LABELs (MPLS Label Stack) é inserida entre os cabeçalhos 2 e 3 do pacote. O segundo caso ilustra como ocorre a inserção da pilha de LABELs no caso do IEEE 802.3 com a sub-camada LLC. A terceira figura ilustra a inserção da pilha de LABELs para o caso do ATM. Os pacotes MPLS são transportados no formato AAL5 do ATM. Observe que o LABEL MPLS de topo é mapeado nos campos VPI/VCI, e os demais LABELs são inseridos antes do cabeçalho IP. De forma similar, o LABEL de topo do MPLS é mapeado no campo DLCI do Frame-Relay, e os demais LABELs da pilha são inseridos antes do cabeçalho IP. 9 LABEL Switching com Tunelamento Site B Site A A 5 C B A G 8 H F E D 7 6 5 23-6 20-6 C B 7 6 6 7 F E D G H 6 20-7 23-7 7 8 Edgard Jamhour Conforme dito anteriormente, o empilhamento de LABELs é utilizado para criar túneis MPLS, onde os LABELs de uma operadora não entram em conflito com os LABELs utilizados por seus clientes privados. A figura ilustra esse conceito. Considere que uma organização privada deseja interligar dois sites remotos utilizando a tecnologia MPLS. Suponha que esses sites precisam ter dois LSPs distintos (indicados nas cores vermelha e azul na figura). Um desses LSPs poderia estar sendo usado para transportar dados e outro para tráfego VoIP. A figura mostra a seqüência de LABELs para cada um dos LSPs conforme configurado pelos administradores da organização privada. Suponha que a organização não possua o enlace necessário para conectar os roteadores C e F dos dois sites. Ela então precisará contratar um circuito virtual junto a uma operadora. Suponha que a rede da operadora responsável por conectar os dois sites é formada pelos roteadores D e E, mostrados na parte inferior da figura. Como a operadora também utiliza a tecnologia MPLS para criar os circuitos virtuais, é necessário criar algum mecanismo para evitar que os LABELs usados pelas organizações privadas sejam comutados pela rede da operadora. Na situação ideal, os pacotes que chegarem ao roteador F precisam ter exatamente os mesmos valores de LABEL que teriam caso o enlace entre os roteadores C e F fosse físico. Para esconder os LABELs de seus clientes, a operadora utiliza o empilhamento de LABELs. Um novo LABEL de topo é inserido assim que o pacote do cliente entra na rede da operadora. Durante o trajeto dentro da operadora, apenas o LABEL de topo é alterado. Quando o pacote é entregue ao site remoto, o LABEL da operadora é removido, e o roteador F recebe os pacotes em situação idêntica ao de um enlace físico. O trecho da rede onde os pacotes são transportados com empilhamento de LABELs é usualmente denominado túnel. É preciso ter cuidado, contudo, pois alguns autores utilizam a palavra túnel de maneira indiscriminada, como um sinônimo de LSP, mesmo quando o empilhamento não é utilizado. 10 Configuração do MPLS No LER origem FTN FEC (destino) FEC 1 FEC 2 Ação X Next Hop No LSR ILM NHLFE Push LABEL 1 Next-Hop ip LSR FEC (destino) Change LABEL 1 to LABEL 2 Next-Hop LER2 LABEL 1 X if1 Pop LABEL 2 Next-Hop SELF LABEL 2 X if2 No LER destino ILM FEC (destino) LABEL 2 X if1 LABEL 3 X if2 LABEL 1 LSR LER1 if1 if1 Sem LABEL LABEL 2 LER2 if2 if1 FEC1 if2 Edgard Jamhour A configuração de um LSP em uma rede MPLS consiste no preenchimento de um conjunto de tabelas. Diferente do que acontece com o protocolo IP, onde o formato das tabelas de roteamento é o mesmo em todos os roteadores da rede, no MPLS o tipo de tabela pode mudar bastante de acordo com o papel que o roteador desempenha na rede: LER de ingresso, LSR ou LER de egresso. A tabela mais importante do MPLS, que está presente em todos os roteadores, é denominada The Next Hop LABEL Forwarding Entry (NHLFE). Essa tabela define um conjunto de ações que segue genericamente o seguinte formato: [Ação sobre o LABEL] X [Ação de Encaminhamento]. As ações sobre um LABEL podem ser: Remover (Pop), Inserir (Push) ou Trocar (Change). A ação de encaminhamento indica qual o próximo salto do pacote (Next Hop). O próximo salto pode se outro roteador, ou o próprio roteador (SELF). O modo SELF é usado quando o roteador remove o LABEL de topo. Nesse caso, o pacote é re-enviado para pilha IP para que seja roteador utilizando o endereço IP de destino do pacote. Além da NHLFE, um roteador LER de ingresso (origem), é configurado através de uma tabela denominada FEC-to-NHLFE Map (FTN). Essa tabela redireciona pacotes ainda sem LABELs para uma entrada específica do NHLFE, baseado na FEC. Ao invés da FTN, um roteador LSR utiliza uma tabela denominada Incoming LABEL Map (ILM). Essa tabela indica o que fazer com pacotes já com LABELs, que chegam a uma interface específica do roteador, apontando para a NHLFE. A tabela ILM também é utilizada no roteador LER de egresso. Para ilustrar o uso das tabelas, observe o cenário mostrado na parte inferior da figura, onde um roteador LER de ingresso (LER1) envia pacotes para a FEC1 através do roteador LSR e do roteador LER de egresso (LER2). A figura mostra também como as tabelas dos roteadores são configuradas nesse cenário. Observe que o LER1 possui uma FTN e uma NHLFE e o LSR e o LER3 possuem uma ILM e uma NHLFE. 11 Distribuição de LABELs Não Solicitado 10.1/16 – LABEL 10 10.1/16 – LABEL 10 10.2/16 – LABEL 20 1 R3 Rede 10.1/16 FEC R4 Rede 10.2/16 FEC 2 R1 R2 1 anúncio 10.2/16 – LABEL 10 Solicitado solicitação FEC 10.1/16 R3 Rede 10.1/16 FEC R4 Rede 10.2/16 FEC 1 R1 R2 2 3 10.2/16 – LABEL 20 10.2/16 – LABEL 10 anúncio Edgard Jamhour A configuração das tabelas do MPLS pode ser feita de duas formas: manual ou através de um protocolo de distribuição de LABELs (protocolo de sinalização). A configuração manual implica em que cada roteador seja acessado individualmente, e pode ser trabalhosa, principalmente quando ocorrem alterações freqüentes nos LSPs. Os protocolos de distribuição de LABELs, por sua vez, simplificam muito essa tarefa pois eles permitem que a configuração de caminhos seja feita de forma automática ou semiautomática. Em uma rede MPLS, a distribuição de LABELs pode ser feita de duas formas: por demanda ou não-solicitada. No modo não solicitado, os roteadores de LER de egresso alocam um LABEL para cada rota (FEC) em sua tabela. Ele anuncia ambos, a rota e o LABEL para todos os roteadores vizinhos. Quando um roteador vizinho recebe o anúncio, ele repassa adiante, alterando o valor do LABEL, conforme indicado na parte superior da figura. No modo solicitado, um roteador LER de ingresso envia uma solicitação para obter um LABEL para uma determinada FEC. Esse pedido irá se propagar pela rede até chegar a um roteador LER de egresso que conheça a FEC. A partir desse ponto, é feito o anúncio para a FEC solicitada, conforme indicado na parte inferior da figura. Os protocolos de distribuição de LABELs podem operar com ou sem restrições. No modo sem restrições, não existe diferenciação entre rotas. Geralmente, a rota escolhida para FEC coincide com a rota de melhor custo determinada pelo protocolo de roteamento. No modo sem restrições, é possível solicitar uma FEC, mas impondo restrições para o caminho (como só aceitar enlaces que ainda tenham uma certa quantidade de banda disponível). Os protocolos de distribuição de LABELs que já foram definidos para o MPLS são os seguintes: Sem restrições: LDP (LABEL Discovery Protocol) Com restrições: CR-LDP (Constraint-Based Routed LABEL Distributed Protocol) RSVP-TE (Resource Reservation Protocol-Traffic Engineering) 12 LDP - LABEL Distribution Protocol ID do LSR PDU/LDP msg LDP header PDU Tipos TLV opcionais header msg LDP TLV TLV 100 Fec 101 Address List 103 Hop Count 104 Path Vector 200 Generic Label 201 ATM Label 202 Frame Relay Label 300 Status 301 Extended Status sub TLV sub TLV header TLV TLV 302 Returned PDU 303 Returned Message 400 Common Hello Parameters. 401 Transport Address 402 Configuration Sequence Number 500 Common Session Parameters 501 ATM Session Parameters 502 Frame Relay Session Parameters 600 Label Request Message ID Edgard Jamhour O LDP (Label Distribution Protocol) foi o primeiro protocolo de distribuição de LABELs definido pelo IETF (Janeiro de 2001). A estrutura de uma mensagem LDP é definida conforme a figura. Assim como muitos protocolos modernos, o LDP é formado por várias mensagens distintas, todas elas, com um cabeçalho fixo e uma quantidade de campos variável. Os campos do LDP carregam uma série de opções (tipos), definidas através do formato TLV (Tipo -Tamanho - Valor). O LDP define quatro tipos de mensagens: 1. Discovery messages: HELLO (UDP Multicast) Anuncia e mantem a presença de um LSR na rede; 2. Session messages: Inicialização de Sessão (TCP) Estabelece, mantem e termina sessões entre roteadores vizinhos; 3. Advertisement messages: Anúncio de Endereço e Rótulo (TCP) Cria, muda e termina mapeamentos 4. Notification messages: Notificação de Erro (TCP) Consulta e sinaliza erros. O LDP suporta dois métodos de distribuição de rótulos: Downstream por Demanda e Downstream não Solicitado. O método é escolhido durante a fase de Inicialização de Sessão (IS) do LDP. Nessa fase, cada roteador informa ao seu vinzinho qual o método desejado. Em caso de desacordo, a RFC 3036 define que o método será escolhido conforme a tecnologia do enlace que liga os roteadores, da seguinte forma: ATM e Frame-Relay: Por Demanda Outras Tecnologias: Não Solicitado Os dois modos podem ser combinados em diferentes enlaces de uma nuvem MPLS 13 Tipos de Mensagem LDP LSR Passivo (menor ID) LSR Ativo (maior ID) Hello (UDP) Conexão TCP Inicialização de Sessão (IS) (IS) ou notificação de erro tempo de KA tamanho max PDU Keep Alive (KA) Anúncio de Endereços de Interface Indica todos os endereços do LSR Solicitação de LABEL (LABEL Request) Anúncio de LABEL (LABEL Mapping) Remoção de LABEL (LABEL Withdraw) Liberação de LABEL (LABEL Release)_ Utilizado apenas na distribuição de rótulos sob demanda Controla o mapeamento de FECs em LABELs Edgard Jamhour A figura ilustra uma seqüência típica de estabelecimento de negociação LDP. A descoberta de nós vizinhos, isto é roteadores LSR com suporte ao MPLS, é feita através de mensagens HELLO. Uma vez que um vizinho tenha sido descoberto, o LSR ativo (aquele com o menor ID recebido na mensagem de HELLO) estabelece uma conexão TCP com seu vizinho passivo. Após essa fase, os roteadores trocam mensagens de inicialização, que definem qual o modo de propagação de LABELs desejado (Não Solicitado ou Sob Demanda), a periodicidade das mensagens Keep Alive e o MTU do enlace. A mensagem de anúncio de endereços permitem que um roteador conheça os endereços de toda as interfaces de seu vizinho. A mensagem de solicitação de LABEL é enviada apenas no modo Sob Demanda. O LDP define as seguintes mensagens de controle de LABEL: Anúncio de LABEL: oferece ao vizinho um caminho associado a um FEC Remoção de LABEL: remove a oferta de LABEL para uma FEC previamente anunciada Liberação de LABEL: informa ao vizinho que um LABEL previamente solicitado para uma FEC não é mais necessário. A mensagem de notificação é utilizada quando ocorrem erros ou eventos adicionais durante a troca de mensagens entre os LSRs. Exemplos de mensagens de notificação são: TVL desconhecida para LSRs que não suportam CR-LDP, recursos insuficientes, etc. 14 Downstream Não-solicitado LABELS Downstream LSP p/ FEC 64.12 LER1 LSR2 Oferta para p/ FEC 64.12 com label #150 LABEL de entrada = #20 FEC = 64.12 LABEL de saída = #150 Próx. vizinho = LSR2 LSR3 Oferta para FEC 64.12 com label #100 LABEL de entrada = #150 FEC = 64.12 Rótulo de saída = #100 Próx. vizinho = LSR3 LABEL de entrada = #100 FEC = 64.12 LABEL de saída = #134 Próx. vizinho = LSR4 Upstream DADOS Edgard Jamhour A figura ilustra o funcionamento de uma distribuição de LABELs no modo Downstream Não Solicitado. O termo "Downstream" indica transmissão no sentido do LER de ingresso e "Upstream" no sentido do LER de egresso. Observe que os dados são sempre transmitidos no sentido Upstream e os LABELs se propagam no sentido Downstream. No modo não solicitado, os roteadores fazem ofertas de caminho para todas as FEC que conhecem para todos os seus vizinhos. Observe que um roteador pode conhecer a rota para uma FEC em duas situações: 1) Porque está conectado diretamente a ela 2) Porque recebeu uma oferta de um roteador vizinho O modo não solicitado não é útil para aplicações de engenharia de tráfego (isto é, quando se deseja distribuir a carga por vários caminhos alternativos na rede). Sua função principal é substituir o método de roteamento baseado puramente no endereço IP de destino pelo roteamento baseado em LABELs, considerado mais eficiente. Com a criação dos protocolos de suporte distribuição de LABELs com restrições, esse método tornou-se pouco utilizado. 15 Downstream Sob Demanda LABELS Downstream LSP p/ FEC 64.12 Requisição de atribuição para 64.12 LER1 Requisição de atribuição para 64.12 LSR2 Atribuição de label #150 p/ FEC 64.12 LABEL de entrada = #20 FEC = 64.12 LABEL de saída = #150 Próx. vizinho = LSR2 LSR3 Atribuição de label #100 p/ FEC 64.12 LABEL de entrada = #150 FEC = 64.12 LABEL de saída = #100 Próx. vizinho = LSR3 LABEL de entrada = #100 FEC = 64.12 LABEL de saída = #134 Próx. vizinho = LSR4 Upstream DADOS Edgard Jamhour A figura ilustra o funcionamento de uma distribuição de LABELs no modo Downstream Sob Demanda. No modo sob demanda, um roteador LER de ingresso faz a solicitação de um LABEL para uma determinada FEC enviando uma mensagem de solicitação de LABEL para o(s) seu(s) vizinho(s), no sentido Upstream. Quando um LSR recebe a solicitação, se ele conhecer a FEC, ele responde imediatamente. Caso contrário, ele repassa a solicitação a seus vizinho. Quando a solicitação encontra um roteador que conhece a FEC, um anúncio de LABEL é feito no sentido Downstream, apenas para o roteador que fez a solicitação. O anúncio se propaga até atingir o LABEL de ingresso. 16 Combinando formas de Distribuição Solicitação de LABEL para FEC LER1 Solicitação de LABEL para FEC LSR3 LSR2 Anúncio Solicitado LABEL 3 para FEC Anúncio Solicitado LABEL 4 para FEC Anúncio não solicitado LABEL 2 FEC LSR5 LSP p/ FEC LSR4 Anúncio não solicitado LABEL 1 Edgard Jamhour Os métodos de distribuição de LABELS não solicitado e por demanda podem ser combinados em uma mesma rede, pois a escolha do método é feita para roteadores vizinhos. Dessa forma, um roteador pode ter um acordo de distribuição de LABELs pelo método não solicitado com um vizinho, e com outro vizinho um acordo de distribuição de LABELs sob demanda. A figura ilustra esse conceito. Observe que há um acordo de anúncio não solicitado entre os roteadores LSR5 e LSR4, assim como entre os roteadores LSR4 e LSR4. Entre os roteadores LSR3 e LSR2 o acordo é no modo solicitado, assim como entre os roteadores LSR2 e o LER1. Em uma situação inicial, o roteador LSR5 fará o anúncio de sua FEC conhecida para seu vizinho LSR4 que, por sua vez, propagara esse anúncio para o LSR3. Contudo o LSR3 não propagará o anúncio adiante. Quando o LER1 desejar obter um LABEL, ele fará a solicitação ao LSR2, que por não conhecer a FEC solicitada, repassará o pedido para o LSR3. Como o LSR3 já conhece a FEC, ele responde ao LSR2 sem repassar o pedido aos demais roteadores. 17 CR-LDP - Constraint-Based LDP ID do LSR PDU/LDP msg LDP header PDU Tipos TLV adicionais header msg LDP TLV TLV sub TLV 821 LSPID 822 ResCls 503 Optical Session Parameters 800 Explicit Route 801-804 ER-Hop TLVS 810 Traffic Parameters sub TLV header TLV TLV 820 Preemption 823 Route Pinning 910 Optical Interface Type 920 Optical Trail Desc 930 Optical Label 940 Lambada Set Edgard Jamhour O LDP foi o primeiro protocolo de distribuição de LABELs para o MPLS e não suporta restrições. Quando o MPLS passou a ser visto como uma solução de engenharia de tráfego (TE), e não apenas um método para acelerar o roteamento, novos protocolos com suporte a restrições precisaram ser desenvolvidos. O IETF definiu que a fim de suportar a engenharia de tráfego, esses novos protocolos deveriam ser capazes de: a) Definir um LSP distinto do sugerido pelo OSPF b) Fazer reserva dinâmica de recursos junto com o estabelecimento do LSP c) Distribuir o tráfego por LSPs paralelos d) Criar e Remover dinamicamente LSPs conforme as necessidades da rede e) Tratar falhas pela migração de tráfego entre LSPs altenativos e criação de LSPs backups ou de espera. f) Suportar rotas explícitas g) Fazer controle de admissão para solicitação (a criação do LSP é negada caso não haja recursos suficientes) h) Fazer priorização de LSPs e preempção Um desses protocolos foi denominado foi denominado CR-LDP, definido pela RFC 3212 de janeiro de 2002. O CR-LDP é baseado na adição de TLVs nas mensagens LDP existentes. As principais características do CR_LDP são as seguintes: a) Criação de LSPs fim-a-fim sob restrições, utilizando o modo Downstream por demanda. As restrições são impostas pelo LSR de ingresso, e os LABELs são distribuídos a partir do LSR de egresso. b) Prioridades podem ser atribuídas para as LSPs para suportar o esquema de preempção. c) Re-roteamento ou não em caso de falha. d) Suporte a duas classes de restrições: Rotas Explícitas e Parâmetros de Tráfego 18 Restrição por Roteamento Explícito Requisição de LABEL com Rota Explicita: 2, 3, 5 LER1 Requisição de LABEL com Rota Explícita: 3, 5 LSR2 Anuncia o LABEL 30 LSR3 Anuncia o LABEL 20 Requisição de LABEL com Rota Explícita: 5 Anuncia o LABEL 10 LSR4 * (estrito) + (flexível) A*:B*:D*:E*:G* A A*:F+:G* E B LSP G D C LSR5 F Edgard Jamhour Quando um LER de ingresso faz a solicitação de um LABEL para uma determinada FEC ele pode escolher de forma parcial ou absoluta o caminho até a FEC de destino utilizando as restrições do tipo Rota Explícita. O CR-LDP permite que a rota seja explicitada por endereços IPv4, IPv6, SAs ou identificadores de LSR. Uma rota explícita é definida como uma seqüência de nós abstratos, onde um nó abstrato é formado por um ou mais LSRs. A rota deve passar por pelo menos um LSR do nó abstrato. São definidos dois tipos de nós abstratos: Estrito: Nenhum nó não especificado pode ser inserido entre o nó estrito e o nó anterior. Flexível: A passagem pelo nó é obrigatória, mas ela pode ser feita inserindo-se nós não especificados entre o nó flexível e o nós precedentes da rota. 19 Restrição por Parâmetros de Tráfego Requisição de LABEL com Tráfego Prometido e Serviço Desejado LER1 Requisição de LABEL com Tráfego Prometido e Serviço Desejado LSR2 Anuncia o LABEL 30 LSR3 Anuncia o LABEL 20 Requisição de LABEL com Tráfego Prometido e Serviço Desejado Anuncia o LABEL 10 LSR4 LSR5 LSP Edgard Jamhour O segundo tipo de restrição suportado pelo CR-LDP é baseado em parâmetros de tráfego. Nesse tipo de restrição, quando o LER faz a solicitação de um LABEL para uma data FEC ele inclui dois conjuntos de informações: Trafego Prometido e Serviço Desejado. O tráfego transmitido é uma descrição daquilo que será enviado através do LSP. O Tráfego Prometido é descrito na forma de dois parâmetros: PDR (Peak Data Rate): taxa de pico de transmissão de dados (bytes por segundo) PBS (Peak Burst Size): tamanho da rajada na taxa de pico (em bytes) O Serviço Desejado é definido por três parâmetros: CDR (Commited Data Rate): taxa média solicitada (bytes por segundo) EBS (Commited Burst Size): tamanho da rajada garantida (bytes) EBS (Excess Burst Size): tamanho da rajada permitida em momentos de pouco congestionamento, mas não garantida em outros momentos (bytes). A mensagem de requisição de LABEL inclui ainda as seguintes informações complementares: Freqüência de Amostragem: Quando se solicita uma garantida de taxa média (CDR), é necessário especificar sobre qual período a taxa média será amostrada. Os valores possíveis são: Muito freqüente: CDR garantido para quaisquer 2 pacotes Freqüente: CDR garantido para uma média de poucos pacotes pequenos Não Especificado: Uso de uma intervalo razoável (i.e., 1 segundo) Peso: Indica a capacidade do LSR de utilizar recursos disponíveis de outros LSRs para transporte de tráfego excedente. O LSR com maior peso tem prioridade sobre os LSRs de menor peso: Valor de 1 a 255 Flag de Negociação: A TLV de parâmetros de tráfego define um campo flag (1 byte), para indicar quais itens do pedido podem ser re-negociados, caso não haja recursos na rede para atender ao pedido inicial: bit 0: reservado; bit 1: reservado; bit 2: PDR; bit 3: PBS; bit 4: CDR; bit 5: CBS; bit 6: EBS; bit 7: Peso 20 Fluxo de Mensagens: CR-LDP A C B 1 LABEL Request [Trafego] [Flag Neg.] Notification LABEL Mapping [Mínimo] 7 LABEL Release 2 2* 6 LABEL Request [Reduzido] Notification LABEL Mapping [Mínimo] 8 LABEL Release D LABEL 3 Request [Reduzido] 3* 5 LABEL Mapping [Mínimo] 4 9 LABEL Release Edgard Jamhour A figura ilustra uma seqüência típica de mensagens trocadas segundo o protocolo CR-LDP. 1) O LSR A (ingresso) envia a mensagem de LABEL Request com a TLV de parâmetros de tráfego, indicando os itens negociáveis. 2) Se houver recursos suficientes, o LSR B efetua a reserva e repassa a mensagem adiante. Se não houver recursos suficientes, mas houverem parâmetros negociáveis, o LSR B faz uma reserva menor e repassa o pedido alterado para frente. 2*) Se o LSR B não tiver recursos e não houver itens renegociáveis, ele notifica a falha para o LSR A 3) O LSR C executa o mesmo procedimento que o LSR B, podendo novamente, encaminhar uma mensagem de LABEL Request modificada, com menos recursos que os recebidos do LSR B. 3*) Caso o LSR C não tenha recursos para efetuar a reserva, ele encaminha uma mensagem de notificação para B, fazendo com que ele libere os recursos previamente alocados. 4) O LSR D (egresso) envia uma mensagem de LABEL Mapping, que ecoa os parâmetros de tráfego (que são os menores ao longo do caminho). 5) O LSR C ao receber a mensagem atualiza sua reserva, e repassa a mensagem ao LSR B alterando apenas o valor do LABEL. 6) O LSR B também atualiza sua reserva e repassa a mensagem de LABEL Mapping ao nó de ingresso. 7) Ao receber a mensagem de LABEL Mapping, o nó de ingresso decide se os parâmetros alocados são suficientes. Se não forem, ele envia uma mensagem de LABEL Release, que irá se propagar até o nó de egresso. 21 Preempção A nova demanda irá derrubar o caminho vermelho 50 Mbps Configuração 2 50 Mbps Retenção 3 100 Mbps 2 1 100Mbps 50 Mbps Retenção 2 100Mbps 3 4 200.0.0.128/25 200.0.0.0/24 200.0.0.0/25 100Mbps 100Mbps 100Mbps 5 Edgard Jamhour A fim de suportar o mecanismo de preempção (tomada de recursos de LSR sobre outro já estabelecido), uma prioridade deve ser associada a cada LSR. O mecanismo de preempção adotado pelo CR-LDP define dois parâmetros de prioridade: prioridade de retenção: prioridade em reter recursos prioridade de configuração: prioridade para tomar recursos Dessa forma, caso não exista recursos suficientes para atender ao pedido de criação de um novo LSR, um LSP menos prioritário pode ser terminado, a fim de liberar recursos na rede. Isso é feito se: prioridade de configuração do novo LSR > prioridade de retenção do LSR já estabelecido O exemplo da figura ilustra nesse conceito. Observe que a rede já possui dois LSRs estabelecidos: em vermelho (com Retenção=2) e em azul (com Retenção=3). Suponha que a rede tenha recebido o pedido para criação de um novo LSR em verde a partir do roteador 1. Como não existem recursos disponíveis para atender o pedido, um dos LSRs já estabelecidos precisa ser desfeito. Nesse caso, o LSR vermelho será desfeito pois sua prioridade de retenção é inferior ao do novo caminho. 22 RSVP-TE (RSVP Traffic Extension) • O RSVP-TE reutiliza todas as sete mensagens RSVP: – – – – – – – Path: pedido de reserva (ingresso) Resv: confirmação de reserva (egresso) ResvConf: confirmação pelo ingresso ResvTear: desistência pelo egresso ResvErr: notificação de erro ao receber pedido de reserva PathErr: notificação de erro ao receber medido de path PathTear: desistência pelo ingresso PDU/RSVP-TE header PDU Tipo de Mensagem Objeto Objeto Objeto Objeto Edgard Jamhour O segundo protocolo de distribuição de LABELs com restrições definido para o MPLS é o RSVP-TE, definido pela RFC 3209 de dezembro de 2001. O RSVP-TE (Resource Reservation Protocol - Traffic Extension) é baseado no RSVP, definido para a metodologia de QoS denominada serviços integrados. O RSVP permite fazer reservas fim-fim para fluxos de tráfego individuais, mas não possui recursos para distribuição de LABELS. No RSVP-TE as mensagens foram expandidas para suportar distribuição de LABELs e outros recursos previstos para um protocolo de sinalização para o MPLS. As modificações foram: a) Suporte ao gerenciamento de LABELs: Objetos "LABEL Request" na mensagem Path e "LABEL" na mensagem Resv b) Dois novos tipos de classe de serviço: IPv4 LSP Tunnel, IPv6 LSP Tunnel, em adição aos serviços existentes: Carga Controlada (cria caminho sem reserva) e Serviço Garantido (cria caminho com reserva). c) Suporte a Requisição e Registro de Rotas Explícitas: Objetos "Rota Explícita" na mensagem Path e "Registro de Rota" nas mensagens Path e Resv [Opcional] d) Suporte a preempção: Objeto "Atributo de Sessão" inclui as prioridades na mensagem Path e) Manutenção de conectividade entre LSRs: Além dos objetos incluídos nas mensagens já existentes, uma nova mensagem denominada Hello para a ser trocada entre LSRs adjacentes 23 Criação de um LSP com RSVP-TE 1. Path. Define a FEC de destino e restrições de caminho <2,3,4> e recursos LER1 2. Path propagada para o próximo Nó LSR2 LSR3 FEC LER4 LSP 5. Resv com a informação do Rótulo 3 4. Resv com a informação do Rótulo 2 3. Resv com a informação do Rótulo 1 Edgard Jamhour O RSVP-TE utiliza duas mensagens Principais: Path: Solicita um LABEL para uma FEC, incluindo restrições como Rota explícita e banda requisitada ao longo do caminho RESV: Enviada do receptor para o transmissor. Anuncia o LABEL caso a reserva possa ser atendida. Além do LABEL, a mensagem RESV contém os seguintes parâmetros: Flow Spec: Especifica a reserva desejada Service Class: Serviço Garantido ou Carga Controlada Tspec: requisitos do transmissor Rspec: taxa de transmissão solicitada Filter Spec: identifica os pacotes que devem de beneficiar da reserva Protocolo de transporte e número de porta. Um reserva em RSVP é caracterizada por uma estrutura de dados denominada Flowspec. Flowspec é composta por dois elementos: Rspec (Reserve Spec): indica a classe de serviço desejada. Tspec (Traffic Spec): indica o que será Transmitido. OBS. Rspec e Tspec são definidas na RFC 2210 e são opacos para o RSVP. Serviço de Carga Controlada (RFC 2211). Rspec não é especificado, apenas Tspec. Não é feita reserva de banda. Os dispositivos evitam a deterioração das condições da rede limitando o tráfego das aplicações. Limite (num intervalo T): < rT +b (bytes) Serviço Garantido (RFC 2212): RSpec e TSpec são especificados. É feita reserva de banda. 24 O Token Bucket Model saída (bytes/s) d <= b/p r bytes/s p r R b bytes t reserva chegada saída R p bytes/s Serviço Garantido se r <= R B Edgard Jamhour O modelo utilizado pelo RSVP-TE é o Token Bucket. Este modelo é um método para definir uma taxa de transmissão variável com atraso limitado. Os parâmetros do Token Bucket são transmitidos através do objeto Tspec, e são definidos da seguinte forma: r - taxa média em bytes/s Taxa de longo prazo: 1 a 40 terabytes/s b - tamanho do bucket (em bytes) Taxa momentânea: 1 a 250 gigabytes p - taxa de pico m - tamanho mínimo do pacote (pacotes menores que esse valor são contados como m bytes) M - MTU (tamanho máximo do pacote) Regra: seja T o tráfego total pelo fluxo num período T: T < rT + b Assumindo o Token Bucket Model, Rspec é definido da seguinte forma: R - taxa desejável Taxa média solicitada s - Saldo (slack) de retardo Valor excedente de atraso que pode ser utilizado pelos nós intermediários. Ele corresponde a diferença entre o atraso garantido se a banda R for reservada e o atraso realmente necessário, especificado pela aplicação. 25 Mensagens PATH e RESV PATH Session Ingress Service: IPv4-LSP Destination: 10.0.1.7 Setup Prio 7 Hold Prio 7 Label Request Tspec 62500 bps Explicit Route 10.0.7.33, 10.0.1.7 Egress RESV Flow Spec Filter Spec Service Class IP origem Rspec Porta origem ou Flow LABEL Ingress Tspec .... LABEL Egress Edgard Jamhour Um exemplo de mensagens PATH e RESV é mostrado a seguir: Resource ReserVation Protocol (RSVP): PATH Message. RSVP Header. PATH Message. SESSION: IPv4-LSP, Destination 10.0.1.7, Tunnel ID 0, Ext ID a000103. HOP: IPv4, 10.0.7.34 TIME VALUES: 30000 ms EXPLICIT ROUTE: IPv4 10.0.7.33, IPv4 10.0.1.7 LABEL REQUEST: Basic: L3PID: IP (0x0800) SESSION ATTRIBUTE: SetupPrio 7, HoldPrio 7, SE Style, [C1_t0] SENDER TEMPLATE: IPv4-LSP, Tunnel Source: 10.0.1.3, LSP ID: 13. SENDER TSPEC: IntServ: Token Bucket, 62500 bytes/sec. ADSPEC Resource ReserVation Protocol (RSVP): RESV Message. RSVP Header. RESV Message. SESSION: IPv4-LSP, Destination 10.0.1.7, Tunnel ID 0, Ext ID a000103. HOP: IPv4, 10.0.7.33 TIME VALUES: 30000 ms STYLE: Shared-Explicit (18) FLOWSPEC: Controlled Load: Token Bucket, 62500 bytes/sec. FILTERSPEC: IPv4-LSP, Tunnel Source: 10.0.1.3, LSP ID: 13. LABEL: 0 26 Conclusão • MPLS oferece a possibilidade de múltiplas rotas para o mesmo destino • A definição dos caminhos pode ser feita de forma manual ou automática • No modo automático utiliza-se protocolos de distribuição de LABELs. • Dois protocolos são usados atualmente: – CR-LDP – RSVP-TE (Preferido pelo IETF) Edgard Jamhour O IETF desencoraja a utilização do CR-LDP, sendo que o protocolo é considerado apenas um padrão proposto. Grandes fornecedores, como a Cisco e a Juniper utilizam o RSVP-TE. As vantagens do RSVP-TE sobre o CR-LDP, que justificam essa posição pelo IETF são as seguintes: O RSVP-TE funciona sobre IP puro e não sobre TCP (como o CRLDP). Isso torna o protocolo mais eficiente e consome menos recursos do roteador. O CRLDP é um protocolo de estado rígido, o qual é mantido pelas conexões TCP. Um protocolo de estado rígido pode manter reservas desnecessárias, pois é preciso enviar mensagens explícitas de encerramento das reservas. O RSVP-TE, por outro lado, é um protocolo de estado flexível. Em um protocolo de estado flexível, o estado se mantém apenas se for renovado periodicamente. Caso a renovação falhe, o estado é removido, evitando o desperdício de recursos da rede. Apenas o RSVP-TE permite o compartilhamento de recursos (criação de LSPs sobre caminhos existentes). O compartilhamento de recursos é importante para suportar a reserva em comunicações do tipo ponto-multiponto (multicast).