em 07-05-2024 05:10 AM
Introdução a MPLS
Seguindo com a série de artigos redes na prática, neste irei introduzir o famoso Multiprotocol Label Switching (MPLS). O MPLS é uma tecnologia standard que foi apresentada inicialmente como uma melhoria no processo de encaminhamento de pacotes IPs, combinando o processo de roteamento L3 com a comutação L2 para realizar o encaminhamento de pacotes através da atribuição de labels. Por ter essa combinação o MPLS muitas vezes é referido como uma tecnologia de layer 2,5.
Em resumo, MPLS é uma forma de encaminhamento de pacotes que tem a sua tomada de decisão baseada em labels curtos e fixos ao invés do destino de layer 3, como é feito no processo de roteamento tradicional. Vale ressaltar que com a alta capacidade e velocidade de processamento dos roteadores atualmente, o MPLS não é muito mais rápido que o roteamento IP tradicional, porém, traz ganhos significativos em engenharia de tráfego, QoS, VPNs e Any Transport Over MPLS (AToM).
MPLS LIB & FIB
Quando um router tem o processo MPLS ativo, o seu control plane passa a ser responsável por trocar labels com outros roteadores que também estejam com o MPLS ativo. Esse processo é feito através da utilização de um protocolo de distribuição de labels (normalmente o LDP ou MP-BGP). Além disso, o control plane continua sendo responsável por realizar a troca de rotas entre os roteadores através de um protocolo de roteamento para popular a sua routing information base (RIB), esse processo normalmente é referido como underlayer.
Uma vez recebidas pelo roteador, as informações de labels são utilizadas para popular a sua Label Information Base (LIB) e então a melhor informação de label poderá ser utilizada para popular a Forwarding Information Base (FIB) para o encaminhamento de pacotes sem labels. Ocorre também o envio de informação para a Label Forwarding Information Base (LFIB) que utiliza para encaminhamento de pacotes com labels ou a remoção de labels quando o pacote precisa ser encaminhado pela FIB. A figura 1.0 mostra como é feita a interação entre as diferentes tabelas dentro do processamento do router.
Figura 1.0
O que acontece na prática é que ao receber um pacote sem label o roteador irá utilizar a FIB para tomar a decisão de encaminhamento. Se a FIB indicar que a interface de saída é uma interface sem MPLS, o pacote é encaminhado sem label. Caso a interface indicada na FIB seja uma interface com MPLS, será adicionado um label no pacote e então encaminhado através da interface MPLS. Por outro lado, ao receber um pacote com label em uma interface MPLS, o router irá utilizar a LFIB para tomada de decisão. Se a LFIB indicar que a interface de saída é uma interface MPLS, o label recebido no pacote será removido e um novo label é adicionado antes de encaminhar o pacote para a interface de destino. Supondo que a interface de saída indicada na LFIB não seja uma interface MPLS, o label será removido e pacote encaminhado utilizando a informação contida na FIB.
Label Switching Routers
Figura 2.0
Outro conceito importante a ser entendido é o que são os Label Switching Routing (LSR). Analisando a topologia da figura 2.0, vemos que os router de R1 a R5 estão contidos dentro de um domínio MPLS e, pelo fato de serem capazes de receber e enviar labels em suas interfaces, são considerados LSRs. Note que na topologia temos dois tipos de LSRs:
Label-Switched Path
Label-Switched Path (LSP) nada mais é do que a sequência de labels que forma o caminho entre a origem e o destino de um pacote ao trafegar dentro de uma rede MPLS. LSP é um caminho unidirecional, por esse motivo, em redes complexas podemos ter casos em que o LSP de “ida” seja diferente do LSP de “volta” do pacote. Veja o exemplo a seguir:
Figura 3.0
Analisando a figura 3.0, podemos perceber que, ao receber um pacote de uma interface não MPLS com destino 10.0.0.0/24, o R1 primeiro analisa a sua FIB, que informa a interface de saída sendo uma interface MPLS conectada ao R2. A partir dessa informação, o R1 atribui um label ao pacote e encaminha para R2, que irá basear sua tomada de decisão na sua LFIB. Ao identificar que a interface de saída também está no domínio MPLS, o R2 remove o label recebido e adiciona um novo label antes de encaminhar o pacote pela interface de saída. O processo se repete em R3 e R4 até chegar em R5. Ao receber o pacote, o R5 verifica que o destino será por uma interface não MPLS e, por isso, remove o label recebido e encaminha o pacote com base na informação contida na FIB.
Com base no que foi exposto até aqui já conseguimos ter clareza sobre o que é o MPLS e, de maneira superficial, dizer como ele funciona. Mas afinal, o que são os labels?
Labels
Como já devem ter percebido, o label é o item mais importante para o MPLS e pode ser definido como um pequeno identificador de 4 bytes (32 bits) com significado local para o roteador. Eles são inseridos entre os cabeçalhos das camadas de enlace (L2) e rede (L3) como podemos ver na figura 4.0. Um ponto importante de ressaltar é que os labels são usados para identificar um Forwarding Equivalent Class (FEC), isto é, um grupo de pacotes IPs que serão enviados seguindo o mesmo caminho dentro do domínio MPLS.
Figura 4.0
Conforme mencionado anteriormente, o label é formado por 32 bits que são distribuídos em 4 diferentes campos conforme mostra a Figura 5.0. São eles:
Figura 5.0
Pois bem, para esse primeiro artigo a ideia foi de apresentar o MPLS para aqueles que estão iniciando os estudos sobre o tema. Nos artigos seguintes seguirei aprofundando mais na teoria e configurações com labs práticos no canal Lo0 para ajudar na fixação.
Para todos que leram até aqui, deixo duas perguntas sobre o tema como forma de estudo e caso tenham dúvidas ou considerações, sintam-se à vontade para postar nos comentários.
1. How are packets forwarded in an MPLS domain?
2. What type router is responsible for adding MPLS labels to a packet?
Comunidade Cisco
Aprender. Compartilhar. Crescer.
Excelente artigo
Encontre respostas, faça perguntas e conecte-se com nossa comunidade de especialistas da Cisco de todo o mundo.
Estamos felizes por você estar aqui! Participe de conversas e conecte-se com sua comunidade.
Navegue pelos links rápidos da Comunidade e usufrua de um conteúdo personalizado e em seu idioma nativo: