Conceitos
Para poder entender o funcionamento da rede MPLS é preciso entender as funções dos principais componentes de uma rede MPLS.
O rótulo é um identificador curto que possui tamanho fixo e significado local. Todos os pacotes que entram numa rede MPLS recebem um rótulo, este é adicionado ao cabeçalho do pacote. Assim, os roteadores só precisam analisar os rótulos para poder encaminhar o pacote. O cabeçalho MPLS é posicionado depois de qualquer cabeçalho da camada 2 e antes do cabeçalho da camada 3. Este cabeçalho é conhecido como Shim Header e pode ser visto na figura abaixo:
Onde:
O LSP é definido como o caminho por onde os pacotes irão passar
numa rede MPLS. No momento em que um pacote entra numa rede MPLS, este é
associado a uma classe de equivalência (FEC) e assim é criado
um LSP relacionado a esta FEC.
Como a criação de uma LSP só ocorre na entrada de uma
rede MPLS, os LSR ( Label Switch Router) do núcleo da rede só
terão o trabalho de fazer as trocas dos rótulos, encaminhando
assim o pacote de acordo com o LSP determinado anteriormente, não havendo
mais necessidade de fazer o roteamento dos pacotes.
Esquema de um LSP numa rede MPLS
O LDP é um protocolo cuja principal função é distribuir rótulos entre os roteadores de comutação de rótulos (LSR), permitindo assim a criação das LSPs. Para que isto ocorra, o LDP oferece um mecanismo de descoberta de LSR para permitir que LSRs possam encontrar uns aos outros e assim estabelecendo uma comunicação. Uma das vantagens do LDP é a utilização conjunta com o protocolo TCP, desta forma garantindo a entrega das mensagens.
O LSR é o dispositivo que executa os algorítimos de encaminhamento
e mantém as tabelas de encaminhamento. Os LSRs de um domínio
MPLS comunicam-se através de um protocolo adequado (LDP, RSVP estendido
ou qualquer outro protocolo), a fim de manter atualizadas as tabelas de encaminhamento
do domínio.
Os LSR têm a função de encaminhar os pacotes baseados
apenas no rótulo. Ao receber um pacote, cada LSR troca o rótulo
existente por outro, passando o pacote para o próximo LSR e assim por
diante até chegar no roteador de borda de saída.
O LER é um LSR que além das funções de encaminhamento e controle, quando está na entrada de um domínio MPLS, é responsável pela inserção do rótulo ao pacote e de atribuir os pacotes a uma classe de equivalência de encaminhamento (FEC). Este processo de ligação de pacotes a uma FEC pode ser tão complexo quanto necessário, sem afetar o desempenho geral da arquitetura, pois é efetuado somente na admissão do pacote. Quando um LER está na saída do domínio MPLS, ele é responsável pela retirada do rótulo, mantendo a semântica normal de um pacote IP, a fim de ser entregue a uma rede não MPLS.
Esquema de uma rede MPLS com LER's e LSR's
Uma FEC consiste numa classe de equivalência, ou seja, um conjunto
de parâmetros, que irão determinar um caminho para os pacotes.
Os pacotes associados a uma mesma FEC serão encaminhados pelo mesmo
caminho.
A FEC é representada por um rótulo e cada LSP é associada
a uma FEC. Ao receber um pacote, o roteador de entrada da rede MPLS verifica qual FEC ele pertence
e o encaminha através da LSP correspondente. A associação do pacote
a uma FEC acontece apenas uma vez, quando o pacote entra na rede MPLS. Isto
proporciona grande flexibilidade e escabilidade a este tipo de rede.
A FEC pode ser determinada por um ou mais parâmetros, especificados
pelo gerente da
rede. Alguns desses parâmetros são:
Esquema de funcionamento de uma associação FEC a um pacote
Estas tabelas são também chamadas de LIB (Label
Information Base) e são responsáveis pelo processo de encaminhamento
de pacotes e são mantidas pelos LSRs. Elas consistem basicamente de
um campo de índice que é preenchido pelo valor do rótulo,
uma ou mais entradas, contendo o rótulo de saída, interface de saída
e endereço IP do próximo salto (next hop address).
O rótulo que é incluído no pacote pode ser obtido a partir
de informações contidas na própria camada de ligação
de rede no momento da admissão no domínio MPLS, em tecnologias
como o ATM e Frame Relay. No ATM é utilizado o par VPI/VCI do cabeçalho
das células. No Frame Relay, o rótulo pode ser obtido a partir do
campo DLCI.
A componente de controle é responsável por distribuir informações de roteamento entre os LSR que compõe um domínio MPLS e também pelos algoritmos utilizados por estes roteadores para converter estas informações em tabelas de encaminhamento. Há uma grande semelhança entre a componente de controle da arquitetura MPLS e a componente de controle de roteadores convencionais. No MPLS, os algoritmos de roteamento convencionais (como BGP, OSPF e PIM) podem ser incluídos na componente de controle, atuando assim como um subconjunto desta componente. No entanto, o roteamento convencional é insuficiente para suportar a tecnologia de comutação de rótulos.
A componente de encaminhamento utiliza um algoritmo de troca de rótulos, que é responsável pelo encaminhamento dos pacotes. Quando um pacote entra num LSR, este analisa a etiqueta do pacote e a utiliza como um índice para pesquisar na sua tabela de encaminhamento. A partir deste índice (rótulo de entrada), é pesquisada uma entrada na tabela de encaminhamento. Se a entrada for localizada o rótulo é substituído pela etiqueta de saída, apontada na entrada da tabela de encaminhamento e o pacote é remetido pela interface de saída ao endereço do próximo salto.