Académique Documents
Professionnel Documents
Culture Documents
MPLS
Edgard Jamhour
O MPLS , atualmente, uma das tecnologias mais utilizadas para criao de circuitos virtuais.
Sua principal aplicao a venda de caminhos, com garantias de qualidade de servio, para
clientes corporativos.
50 Mbps para
3 200.0.0.0/25
100Mbps [100]
210.0.0.0/24 4
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 soluo para acelerar o processo de roteamento na Internet. A idia principal
por trs do MPLS era introduzir uma tcnica de comutao por rtulos, similar a existente
nas tecnologias Frame-Relay e ATM.
A tcnica de comutao por rtulos (LABEL Switching) considerada mais eficiente que a
tcnica Hop by Hop usada pelo protocolo IP. No protocolo IP, o endereo de destino de um
pacote pode estar contido em mltiplas rotas de destino ao mesmo tempo. Por exemplo, o
endereo 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 prprio quadro traz um cdigo que
identifica a rota de destino de maneira nica.
Alm disso, a tcnica de comutao por rtulos permite definir mltiplos caminhos para um
mesmo destino. Essa caracterstica tornou o MPLS um instrumento primordial para
engenharia de trfego, pois ele permite uma melhor distribuio do trfego pelas rotas
alternativas que uma rede WAN oferece. Antes de discutir esse aspecto do MPLS, convm
ilustrar porque o roteamento Hop-by-Hop considerado inadequado para engenharia de
trfego.
Considere o exemplo ilustrado na figura. Suponha que uma operadora de
telecomunicaes 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 so 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
tambm 1-2-3. Como o enlace 2-3 j est exaurido, o novo canal no pode ser vendido.
Contudo, observando a rede, ainda seria possvel alocar o canal usando o trajeto 1-4-5-3.
3
Roteamento MPLS
LFIB LABEL Forwarding Information Base
SE LABEL de entrada for 1 ENTO enviar para 2 com LABEL 2
if0 4 200.0.0.128/25
200.0.0.0/24
3 200.0.0.0/25
5 210.0.0.0/24
LSP: LABEL Switch Path
Edgard Jamhour
2
2
Cliente 1
1 1 2 1
3
1 1 200.0.0.128/25
200.0.0.0/24
1
3 2
200.0.0.0/25
4
1
2
1
5 210.0.0.0/24
1
LSP: LABEL Switch Path
Edgard Jamhour
LER de
C Egresso rede A
A B E F G
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
telecomunicaes em seu backbone, necessrio criar mecanismos de converso 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
rtulo) deve ser inserido, e quando o pacote deixa o domnio da operadora o LABEL deve ser
removido para que os roteadores que no 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 domnio MPLS. Sua funo inserir ou remover o cabealho MPLS que
contm os LABELs, fazendo o mapeamento entre o mundo IP e o MPLS. J os roteadores
LSR realizam operaes de encaminhamento de pacotes usando unicamente as informaes
de LABEL.
A figura ilustra esse conceito. Observe que os roteadores A e G so roteadores do tipo LER e
os roteadores B, C, E e F so do tipo LSR. Um roteador do tipo LER possui uma tabela
especial, que associa a cada rota possvel de destino um LABEL. Devemos lembrar que os
caminhos LSPs so sempre unidirecionais, sendo que os pacotes so sempre transmitidos de
um n de ingresso para um n de egresso. Para se ter um caminho bidirecional entre os
roteadores A e G necessrio criar dois LSPs distintos.
Os roteadores LER podem ser de dois tipos: LER de ingresso (que faz a insero do LABEL)
e LER de egresso (que faz a remoo do LABEL). Observe que essa denominao 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
LSR2 LSR3 LER2
1 55.1.2.0/24
LER1 2 LSR1
3 FEC2
66.1.2.0/24
LSR4 BE
LER3
FEC3
Edgard Jamhour
Em uma tabela de roteamento IP, o destino sempre uma sub-rede (isto , um endereo de
base e uma mscara de sub-rede). No MPLS, os destinos recebem uma denominao mais
genrica denominada FEC (Forward Equivalence Class). Uma FEC definida como um ou
mais destinos para os quais os pacotes so encaminhados da mesma forma, isto , seguindo
sempre o mesmo LSP (LABEL Switch Path).
O conceito de FEC permite a agregao de vrios endereos, mesmo descontnuos, e a
diferenciao de caminhos para um mesmo destino, mas para aplicaes ou nveis de
servios 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 seguiro sempre o mesmo
caminho, pelo menos na parte da rede que est estrutura em MPLS. Aps 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
trfego do tipo Best Effort e a FEC3 do tipo Expedited Forwarding. Usando duas FECs
distintas permite que o trfego EF siga um caminho com enlaces exclusivos, garantindo que
os pacotes com esse tipo de marcao sofram pouco atraso.
O roteador LER de ingresso (LER1) possui uma tabela que relaciona cada uma das FEC a
um LSP especfico. O LER de ingresso responsvel 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
Cabealho MPLS e Empilhamento de LABELs
LABEL do topo
LABEL empilhado
Cabealho L2 1 2 3 Cabealho L3
Edgard Jamhour
A estrutura do cabealho MPLS mostrada na figura. Observe que o cabealho MPLS est
situado entre os cabealhos das camada 2 e 3. Por exemplo, o cabealho MPLS pode estar
entre o cabealho Ethernet e o IP. Por essa razo, muitos autores situam o MPLS como um
protocolo da camada 2.5.
Um cabealho MPLS pode aparecer mltiplas 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 cabealho mais externo), a fim de tomar sua deciso de encaminhamento. Os
demais LABELs so considerados apenas quando o cabealho do topo removido. Como
veremos, o empilhamento de LABELs utilizado para criar tneis MPLS, que permite evitar
conflitos entre os LABELs adotados por uma operadora de servios de comunicao e seus
clientes privados.
Um cabealho MPLS possui 32 bits, e contm apenas quatro campos:
LABEL (20 bits): contm o valor do LABEL MPLS. Note que possvel definir mais de 1
milho de valores de LABELs distintos por enlace.
Exp (3 bits): bits reservados para uso experimental. Atualmente, sua maior aplicao o
mapeamento de uma marcao similar ao DiffServ ao nvel do cabealho MPLS. Se mais do
que um LSP atravessar o mesmo roteador, os pacotes de cada LSP podero ser alocados em
filas distintas, e com um PHB especfico, de acordo com o valor marcado nesses bits.
S (1 bit): base da pilha. Conforme ilustrado na figura, uma cabealho MPLS pode ser
empilhado. O valor 1 indica que o rtulo a base da pilha, isto , que ele o ltimo cabealho
empilhado;
TTL (8 bits): Time to Live = determina a quantidade mxima de saltos que o pacote poder
percorrer. Quando o cabealho MPLS inserido pelo LER, esse campo copiado do TTL do
IP.
8
Posio do LABEL MPLS
Edgard Jamhour
Conforme seu nome diz, o MPLS foi definido para trabalhar com mltiplos 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 tambm encapsulado em mltiplas 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 rtulo MPLS
pode ser inserido integralmente, pois no existe informao equivalente nesses protocolos.
Para as tecnologias como Frame-Relay e ATM, contudo, j existe um campo reservado para
LABEL, de maneira que possvel mapear o LABEL MPLS nesses campos.
Para rtulos simples, isto , no empilhados, o LABEL MPLS pode ser transportado atravs
dos LABELs do Frame-Relay e do ATM sem necessidade de inserir novos cabealhos. 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 cabealho. Caso os campos EXP
do MPLS precisem ser utilizados, nem mesmo o LABEL de topo poder ser mapeado, sendo
necessrio inclu-lo integralmente no cabealho MPLS.
A figura ilustra as diferentes situaes de mapeamento. A primeira figura o caso genrico,
em que toda a pilha de LABELs (MPLS Label Stack) inserida entre os cabealhos 2 e 3 do
pacote. O segundo caso ilustra como ocorre a insero da pilha de LABELs no caso do IEEE
802.3 com a sub-camada LLC.
A terceira figura ilustra a insero da pilha de LABELs para o caso do ATM. Os pacotes
MPLS so transportados no formato AAL5 do ATM. Observe que o LABEL MPLS de topo
mapeado nos campos VPI/VCI, e os demais LABELs so inseridos antes do cabealho IP.
De forma similar, o LABEL de topo do MPLS mapeado no campo DLCI do Frame-Relay, e
os demais LABELs da pilha so inseridos antes do cabealho IP.
9
LABEL Switching com Tunelamento
Site A Site B
A 5 7 G
6
C D E F
7
8 H
B 6
A 5 20-6 23-6 6 7 G
C D E F
H
B 6 20-7 23-7 7 8
Edgard Jamhour
Conforme dito anteriormente, o empilhamento de LABELs utilizado para criar tneis MPLS,
onde os LABELs de uma operadora no entram em conflito com os LABELs utilizados por
seus clientes privados. A figura ilustra esse conceito.
Considere que uma organizao 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 trfego VoIP. A figura mostra a seqncia de LABELs para
cada um dos LSPs conforme configurado pelos administradores da organizao privada.
Suponha que a organizao no possua o enlace necessrio para conectar os roteadores C e
F dos dois sites. Ela ento precisar contratar um circuito virtual junto a uma operadora.
Suponha que a rede da operadora responsvel por conectar os dois sites formada pelos
roteadores D e E, mostrados na parte inferior da figura. Como a operadora tambm utiliza a
tecnologia MPLS para criar os circuitos virtuais, necessrio criar algum mecanismo para
evitar que os LABELs usados pelas organizaes privadas sejam comutados pela rede da
operadora. Na situao 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 fsico.
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 situao idntica ao de um enlace fsico.
O trecho da rede onde os pacotes so transportados com empilhamento de LABELs
usualmente denominado tnel. preciso ter cuidado, contudo, pois alguns autores utilizam a
palavra tnel de maneira indiscriminada, como um sinnimo de LSP, mesmo quando o
empilhamento no utilizado.
10
Configurao do MPLS
No LER origem
FEC (destino)
FTN
FEC 1
FEC 2
No LER destino
FEC (destino)
ILM
LABEL 2 X if1
LABEL 3 X if2
Edgard Jamhour
Solicitado
solicitao
FEC 10.1/16
R3 Rede 10.1/16 FEC
1
R1 R2 2
Edgard Jamhour
A configurao das tabelas do MPLS pode ser feita de duas formas: manual ou atravs de um
protocolo de distribuio de LABELs (protocolo de sinalizao). A configurao manual
implica em que cada roteador seja acessado individualmente, e pode ser trabalhosa,
principalmente quando ocorrem alteraes freqentes nos LSPs.
Os protocolos de distribuio de LABELs, por sua vez, simplificam muito essa tarefa pois eles
permitem que a configurao de caminhos seja feita de forma automtica ou semi-
automtica. Em uma rede MPLS, a distribuio de LABELs pode ser feita de duas formas: por
demanda ou no-solicitada.
No modo no 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 anncio, 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 solicitao para obter um LABEL
para uma determinada FEC. Esse pedido ir se propagar pela rede at chegar a um roteador
LER de egresso que conhea a FEC. A partir desse ponto, feito o anncio para a FEC
solicitada, conforme indicado na parte inferior da figura.
Os protocolos de distribuio de LABELs podem operar com ou sem restries. No modo sem
restries, no existe diferenciao entre rotas. Geralmente, a rota escolhida para FEC
coincide com a rota de melhor custo determinada pelo protocolo de roteamento.
No modo sem restries, possvel solicitar uma FEC, mas impondo restries para o
caminho (como s aceitar enlaces que ainda tenham uma certa quantidade de banda
disponvel).
Os protocolos de distribuio de LABELs que j foram definidos para o MPLS so os
seguintes:
Sem restries: LDP (LABEL Discovery Protocol)
Com restries: 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 msg LDP
header
PDU sub sub
header TLV TLV header TLV TLV
TLV TLV
O LDP (Label Distribution Protocol) foi o primeiro protocolo de distribuio 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 vrias mensagens distintas, todas elas, com um
cabealho fixo e uma quantidade de campos varivel. Os campos do LDP carregam uma
srie de opes (tipos), definidas atravs do formato TLV (Tipo -Tamanho - Valor).
O LDP define quatro tipos de mensagens:
1. Discovery messages: HELLO (UDP Multicast)
Anuncia e mantem a presena de um LSR na rede;
2. Session messages: Inicializao de Sesso (TCP)
Estabelece, mantem e termina sesses entre roteadores vizinhos;
3. Advertisement messages: Anncio de Endereo e Rtulo (TCP)
Cria, muda e termina mapeamentos
4. Notification messages: Notificao de Erro (TCP)
Consulta e sinaliza erros.
O LDP suporta dois mtodos de distribuio de rtulos: Downstream por Demanda e
Downstream no Solicitado. O mtodo escolhido durante a fase de Inicializao de Sesso
(IS) do LDP. Nessa fase, cada roteador informa ao seu vinzinho qual o mtodo desejado. Em
caso de desacordo, a RFC 3036 define que o mtodo ser escolhido conforme a tecnologia
do enlace que liga os roteadores, da seguinte forma:
ATM e Frame-Relay: Por Demanda
Outras Tecnologias: No Solicitado
Os dois modos podem ser combinados em diferentes enlaces de uma nuvem MPLS
13
Tipos de Mensagem LDP
LSR Passivo
LSR Ativo
(maior ID) (menor ID)
Hello (UDP)
Conexo TCP
LABELS
Downstream
Upstream
DADOS
Edgard Jamhour
LABELS
Downstream
Upstream
DADOS
Edgard Jamhour
Anncio no solicitado
LABEL 2
Anncio no solicitado
LABEL 1
LSP p/ FEC
Edgard Jamhour
PDU/LDP
msg LDP msg LDP
header
PDU sub sub
header TLV TLV header TLV TLV
TLV TLV
Edgard Jamhour
LSR4 LSR5
* (estrito)
B E LSP
+ (flexvel)
A*:B*:D*:E*:G* A D G
A*:F+:G* C F
Edgard Jamhour
Quando um LER de ingresso faz a solicitao de um LABEL para uma determinada FEC ele
pode escolher de forma parcial ou absoluta o caminho at a FEC de destino utilizando as
restries do tipo Rota Explcita.
O CR-LDP permite que a rota seja explicitada por endereos IPv4, IPv6, SAs ou
identificadores de LSR. Uma rota explcita definida como uma seqncia de ns abstratos,
onde um n abstrato formado por um ou mais LSRs. A rota deve passar por pelo menos um
LSR do n abstrato.
So definidos dois tipos de ns abstratos:
Estrito: Nenhum n no especificado pode ser inserido entre o n estrito e o n anterior.
Flexvel: A passagem pelo n obrigatria, mas ela pode ser feita inserindo-se ns no
especificados entre o n flexvel e o ns precedentes da rota.
19
Restrio por Parmetros de Trfego
LSR4 LSR5
LSP
Edgard Jamhour
A B C D
Notification Notification
2* 3*
Edgard Jamhour
A figura ilustra uma seqncia tpica de mensagens trocadas segundo o protocolo CR-LDP.
1) O LSR A (ingresso) envia a mensagem de LABEL Request com a TLV de parmetros de
trfego, indicando os itens negociveis.
2) Se houver recursos suficientes, o LSR B efetua a reserva e repassa a mensagem adiante.
Se no houver recursos suficientes, mas houverem parmetros negociveis, o LSR B faz uma
reserva menor e repassa o pedido alterado para frente.
2*) Se o LSR B no tiver recursos e no houver itens renegociveis, 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 no tenha recursos para efetuar a reserva, ele encaminha uma mensagem
de notificao 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 parmetros de
trfego (que so 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 tambm 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 parmetros
alocados so suficientes. Se no forem, ele envia uma mensagem de LABEL Release, que ir
se propagar at o n de egresso.
21
Preempo
A nova demanda ir derrubar o caminho vermelho
50 Mbps
Configurao 2
50 Mbps
Reteno 3
100 Mbps
1 2 100Mbps
50 Mbps 200.0.0.128/25
100Mbps
Reteno 2 200.0.0.0/24
3 200.0.0.0/25
100Mbps
4
100Mbps
100Mbps
Edgard Jamhour
PDU/RSVP-TE
header PDU
Tipo de Objeto Objeto Objeto Objeto
Mensagem
Edgard Jamhour
LSP
Edgard Jamhour
sada
(bytes/s)
r bytes/s d <= b/p
p
R
r
b bytes
t
chegada reserva
sada Servio
R Garantido se
r <= R
p bytes/s
B
Edgard Jamhour
O modelo utilizado pelo RSVP-TE o Token Bucket. Este modelo um mtodo para definir
uma taxa de transmisso varivel com atraso limitado. Os parmetros do Token Bucket so
transmitidos atravs do objeto Tspec, e so definidos da seguinte forma:
r - taxa mdia em bytes/s
Taxa de longo prazo: 1 a 40 terabytes/s
b - tamanho do bucket (em bytes)
Taxa momentnea: 1 a 250 gigabytes
p - taxa de pico
m - tamanho mnimo do pacote
(pacotes menores que esse valor so contados como m bytes)
M - MTU (tamanho mximo do pacote)
Regra: seja T o trfego total pelo fluxo num perodo T:
T < rT + b
Assumindo o Token Bucket Model, Rspec definido da seguinte forma:
R - taxa desejvel
Taxa mdia solicitada
s - Saldo (slack) de retardo
Valor excedente de atraso que pode ser utilizado pelos ns intermedirios.
Ele corresponde a diferena entre o atraso garantido se a banda R for reservada e o
atraso realmente necessrio, especificado pela aplicao.
25
Mensagens PATH e RESV
PATH
Session
Label
Request Explicit
Ingress
Service: IPv4-LSP Route Egress
Destination: 10.0.1.7 10.0.7.33,
Setup Prio 7 Tspec
10.0.1.7
Hold Prio 7 62500 bps
RESV
Edgard Jamhour
Edgard Jamhour