You are on page 1of 35

MTNL

CETTM

MPLS L2 VPN
MODULE ID: TMPLL2V001

MPLS L2 VPN

CETTM

MPLS L2 VPN

MTNL

MPLS L2 VPN is a technology trying to simulate

an L2 network over MPLS network. Just as its


name infers, it has following 2 features:
It is L2 VPN technology
It is MPLS-based

MPLS L2 VPN

CETTM

Problems of Traditional L2 VPN

MTNL

Problems

Too complex control information


Too much configuration Jobs
Total system has to share same L2 technology
MPLS L2 VPN intends to solve all these
questions by following technologies:
Solution 1: Tunnel Technology
Solution 2: Pre-provision
Solution 3: IP Backbone

MPLS L2 VPN

Basic Scenarios of MPLS L2 VPN

CETTM

rt5

MTNL

rt2

dlci:506
dlci:201
dlci:504
dlci:203

dlci:605
rt6

rt1
dlci:102

dlci:604
dlci:302 rt3

dlci:103
dlci:405
rt4 dlci:406

Tunnel

dlci:301

Emulated Virtual Circuit

Provide better scalability and flexibility


MPLS L2 VPN

Whats Tunnel?

CETTM

Label:17

MTNL

Label:18
C

A
B

LFIB of A
Label:101
in
x

NHLFE
push 17, send to B

101 pop, send to up layer

in

LFIB of B

NHLFE

Label:100
in

LFIB of C

NHLFE

17 Swap 18, send to C

18 pop, send to up layer

100 Swap 101, send to A

push 100, send to B

Tunnel just has the traditional meanings. Tunnel here just


could be GRE or other tunnel. Certainly, two MPLS LSPs
can do same job.
x and y here indicate the data transported in the tunnel
MPLS L2 VPN

Whats Emulated VC?

CETTM

EVC LSP

dlci 150

1000

101

Tunnel LSP
18

17
B

C
dlci 250

100

2000

LFIB of A
in

LFIB of C

NHLFE

Dlci:150 push 1000, send to C

MTNL

LFIB of B
in

NHLFE

in
Dlci:250

NHLFE
push 2000, send to A

push 17, send to B

17 Swap 18, send to C

push 100, send to B

101

pop, send to up layer

100 Swap 101, send to A

18

pop, send to up layer

2000

pop, send to dlci 150

1000

send to dlci 250

Below scenarios illustrate how to connect 2 local Frame Relay

DLCI by 2 MPLS LSP emulated VC in a MPLS tunnel.


(Question: why we need tunnel?)
MPLS L2 VPN

How do these VCS and tunnels work?

CETTM

MTNL

This is MPLS L2 VPN!


L2 frame
150

18 1000

17 1000

250

C
B

LFIB of A
in
NHLFE
Dlci:150 push 1000, send to C

LFIB of B

in
Dlci:250

NHLFE

LFIB of C

push 2000, send to A

in

NHLFE

push 17, send to B

17

Swap 18, send to C

push 100, send to B

101

pop, send to up layer

100 Swap 101, send to A

18

pop, send to up layer

2000

pop, send to dlci 150

MPLS L2 VPN

1000

send to dlci 250

But MPLS L2 VPN is not only this!

CETTM

MTNL

Following essential questions still havent been

answered:
How to transmit L2 data transmitted in the MPLS
network according control information ?
Whats the encapsulation?
How to simulate different L2 network behaviours in
MPLS network?

How to establish all the control information?


How to establish the tunnel?
How to establish the EVC?
Does it have to be L2?

MPLS L2 VPN

L2 Data Encapsulation

CETTM

MTNL

L2 data transmitted in backbone has 3 parts of

encapsulation:
Tunnel Header
It contains the information needed to transport the L2
PDU across backbone;

Demultiplexer Field
It is used to distinguish individual emulated virtual circuits
within a single tunnel;

Emulated VC Encapsulation
It contains the information about the enclosed layer 2
PDU which is necessary in order to properly emulate the
corresponding layer 2 protocol.
MPLS L2 VPN

Tunnel & Demultiplexer Encapsulation

CETTM

MTNL

Tunnel here could be based on any tunnel


encapsulation technology: MPLS, GRE, etc.
MPLS label should be used be as demultiplexer
field.
Here is a typical encapsulation manner:
S
Tunnel Label

MPLS L2 VPN

EXP

S
TTL

EVC Label

EXP

TTL

10

CETTM

Emulated VC Encapsulation

MTNL

Quotes from draft-martini-l2circuit-encap-

mpls-04.txt
In most cases, it is not necessary to transport the
layer 2 encapsulation across the network; rather,
the layer 2 header can be stripped at R1(the
ingress edge router), and reproduced at R2(the
egress edge router). This is done using
information carried in the control word, as well as
information that may already have been signalled
from R1 to R2.

MPLS L2 VPN

11

CETTM

Control Word Details

MTNL

Flags is protocol specific.


The value of the length field, if non-zero, can be
used to remove any padding.
The sequence number could be used to guarantee
ordered packet delivery

MPLS L2 VPN

12

Layer 2 Frame Encapsulation

CETTM

MTNL

Layer 2 frames could be transmitted

Frame Relay
ATM AAL5 CPCS-SDU
ATM Cell
Ethernet VLAN
Ethernet
HDLC
PPP

MPLS L2 VPN

13

CETTM

L2 Data Flow Model

MTNL

What MPLS L2 VPN stipulate is L2 network, and

all L2 network could be classified as:


LAN: Ethernet, Ethernet with VLAN
WAN: Frame Relay, ATM, HDLC, PPP,
Ethernet (PTP), Ethernet with VLAN (PTP)
So, all MPLS L2 VPN could be classified as:
VPLS: Virtual Private LAN Service
VPWS: Virtual Private Wire Service

MPLS L2 VPN

14

VPWS Scenarios

CETTM

MTNL

CE2
dlci:201
PE2

dlci:203

dlci:102

dlci:302
CE3

CE1
dlci:103
PE1

PE3

dlci:301

VPWS provide simple connection services.


CE must configure a VC to any site it is willing to
communicate with.
MPLS L2 VPN

15

VPWS Data Forwarding Information

CETTM

MTNL

Before L2 data forwarding happening, all equipment involved must


have the forwarding information established
IP
CE2

DLCI

IN

102

100

NHLFE

IP

swap 101, send to PE2

CE
1

102

NHLFE
push 1000; push 100, send to P

MPLS L2 VPN

201

CE
2
PE
2

PE
1
IN

CE1

DLCI

IN

NHLFE

101

pop; send to up layer

1000

pop; send DLCI 201


16

VPWS Data Flow

CETTM

dlci:201
201
demultiplexer
control word PE2
tunnel

MTNL

CE2

dlci:203

100 1000
102
P

dlci:102
CE1

dlci:302
CE3

dlci:103
PE1

PE3 dlci:301

CE1 has to configure 2 address maps for communication with CE2 & CE3

MPLS L2 VPN

17

CETTM

General Concept

MTNL

Basically, signaling here has relation with

following three technologies:


Tunnel Signaling
VC Signaling
VPN Topology Discovery

MPLS L2 VPN

18

CETTM

Tunnel Signaling

MTNL

Tunnel Signaling is the technology used to

establish tunnel.
- MPLS Tunnel
LDP/CR-LDP
RSVP-TE
Traditional Tunnel
L2TP
GRE
IPSEC

PE

PE

PE
MPLS L2 VPN

19

VC Signaling

CETTM

MTNL

VC signaling means the technology used to establish

emulated VC between PEs.


Major differences among different MPLS L2 VPN
technologies lies in this point.
CE
Typical VPWS technologies
Dlci 290, name vc1
Martini Solution (LDP)
Kompella Solution (BGP)

I bind vc1 with label1000

PE

P
I bind vc1 with label2000

PE Dlci 190, name vc1


CE
MPLS L2 VPN

20

CETTM

Martini MPLS L2 VPN

MTNL

Martini L2 VPN is defined by following 2 drafts:

draft-martini-l2circuit-encap-mpls-04
draft-martini-l2circuit-trans-mpls-08
Martini solution is a VPWS technology:
Tunnel Signaling Technology: LDP
VC Signaling Technology: LDP Remote Peer

MPLS L2 VPN

21

CETTM

Basic Thoughts of Martini Signaling

MTNL

Tunnel signaling
- LDP is used to establish MPLS tunnels between PEs.
(However, other tunnels also could be used)
VC signaling
- PE names each attached VC by a 32 bits : VC-ID.
- LDP remote peer relationship is established between
2 PES, then it is used to distribute and maintain label &
VC bindings
(1,1000;PE1)
VC- ID:1
DLCI:100

(1,2000;PE2)
PE1

CE
MPLS L2 VPN

VC-ID:1
DLCI:200
PE
CE
22

How Could LDP do it?

CETTM

MTNL

A new LDP FEC TLV is defined:

VC FEC

MPLS L2 VPN

23

CETTM

Fields in VC FEC

MTNL

C = 1 means control word will present on this VC.


VC Type: Frame Relay DLCI, ATM AAL5 VCC
transport, ATM transparent cell transport, Ethernet
VLAN, Ethernet, HDLC, PPP, CEM, ATM VCC cell
transport, ATM VPC cell transport
Group ID: An arbitrary 32 bit value which represents a
group of VCs that is used to create groups in the VC
space.
VC ID: A non zero 32-bit connection ID that together
with the VC type, identifies a particular VC.
Interface parameters: This variable length field is used
to provide interface specific parameters, such as
interface MTU
MPLS L2 VPN

24

Signaling Details

CETTM

MTNL

Tunnel Signaling : It could be based on any form


of signaling technology.
IN
PE2
100

NHLFE

IN

NHLFE

PE1
200

push 201, send to b


pop, send to up layer

push 101, send to c


pop, send to up layer

LDP Label Mapping


DCLI 500

CE1

d
(PE1,100;a)
PE1
(PE2,201;b) b
a

IN
201
101

MPLS L2 VPN

NHLFE

(PE1,101;c)
c

PE2
(PE2,200;d)

DCLI 600

CE2

Swap 200, send to d


Swap 100, send to a
25

Signaling Details

CETTM

MTNL

VC Signaling

LDP Remote Peer, Downstream Unsolicited label distribution


IN
PE2
100
dlci 500
1000

IN

NHLFE

PE1

push 201, send to b


pop, send to up layer
push 2000, send to PE2
pop, send to dlci 500

201
dlci 600
2000

NHLFE
push 101, send to c
pop, send to up layer
push 1000, send to PE1
pop, send to dlci 600

(VC1,1000;PE1)
DCLI 500

CE1

MPLS L2 VPN

(VC1,2000;PE2)
PE1
IN
201
101

PE2

b
NHLFE

DCLI 600

Swap 200, send to d


Swap 100, send to a

CE1
26

CETTM

Kompella MPLS L2VPN Solution

MTNL

Kompella solution is defined by following 2 drafts

draft-martini-l2circuit-encap-mpls-04
draft-kompella-ppvpn-l2vpn-00.txt
Kompella solution is a VPWS technology:
Tunnel Signaling Technology: LDP
VC Signaling Technology: BGP
2 significant features
Topology auto discovery
Auto Configuration

MPLS L2 VPN

27

General Concept

CETTM

MTNL

Kompella is a similar L2 VPN solution as Martini

solution
They share same tunnel technology.
They are based on similar transporting encapsulation.
Basic thoughts of VC signaling are same: establish a binding
between 2 simplex LSP and a VC.

Compared to Martini solution, Kompella solution

provides 3 additional features


Topology auto discovery. (Martini just provide point to point
connection services)
Automatic configuration. (Just plug CE and configure CE,
then it will work) .
Layer 2 interworking.

MPLS L2 VPN

28

Basic Thoughts of Kompella Signaling

CETTM

MTNL

Signaling Protocols

MBGP(BGP Multiprotocol Extensions): A


series of extended communities are defined.
They are used both for topology discovery
and VC signaling

MPLS L2 VPN

29

Basic Thoughts of Kompella Signaling

CETTM

MTNL

Basic thoughts of Kompella Signaling

PE identify each attached CE with a CE-ID.


CE-IDs are unique in the scope of one VPN.
PE use MBGP to distribute bindings of each
attached CE (say CEI) with a list of labels to all
other PEs. Any other PE will pick one label in the
list for the VC encapsulation when it want to
forward traffic from one of its own attached CE to
CEI.
BGP extended community RT (Route Target) is
used to distinguish different VPNs.

MPLS L2 VPN

30

Rough Overview: Data Flow

CETTM

IN NHLFE
push 2000, push 201;Send From a
1-2
push 3000, push 301;Send From a
1-3
1000 pop, send from 2-1
1001 pop, send from 3-1
pop, send to up layer
100
201 2000
150
pop, send to up layer

CE:1
A

P
E
A

1->2

IN NHLFE
2-1 push 1000, push 101;Send From b
2-3 push 3001, push 351;Send From b
2000
pop, send from 1-2
2001
pop, send from 3-2
200
pop, send to up layer
250
pop, send to up layer

PEB
351 3001
1511001

2->3

3->1
IN
PEC
CE:3 3-1
3-2
3000
3001
B
300
350

MPLS L2 VPN

MTNL

CE:2
C

NHLFE
push 1001, push 151;Send From c
push 2001, push 251;Send From c
pop, send from 1-3
pop, send from 2-3
pop, send to up layer
pop, send to up layer
31

CETTM

How could BGP do this?

MTNL

A new AFI for L2-VPN, a new SAFI, and also a new


NLRI format for carrying the individual L2-VPN labelblock information are introduced to MBGP.
L2VPN NLRIs MUST be accompanied by one or more
extended communities. RT is one of them.
RD is used to distinguish bindings
belong to different VPNs.

Example: Circuit Status Vector TLV.

MPLS L2 VPN

32

CETTM

BGP Extended Communities for L2VPN

MTNL

Route Target

It is used to construct VPN topology


Layer2-Info Extended Community
It is used to carry layer 2 specific information
in a VPN

MPLS L2 VPN

33

CETTM

L2 Interworking

MTNL

Kompella solution of MPLS L2 VPN could provide


Layer 2 interworking, where there is no restriction
on Layer 2, but Layer 3 must be IP.
The idea is straight: only transport IP packets in
the backbone. The encapsulation is:

MPLS L2 VPN

34

Summary

CETTM

MTNL

MPLS L2 VPN - simulate an L2 network over


MPLS
Tunnel & Demultiplexer fields used for
transport across MPLS domain
Martini L2 VPN
LDP for Tunnel signaling
LDP remote peer for VC signaling

Kompella L2 VPN

LDP for Tunnel signaling


BGP extended community for VC signaling

MPLS L2 VPN

35