Professional Documents
Culture Documents
MPLS L2 VPN
ISSUE 1.0
2
Course Contents
Signaling Methods
3
What’s L2 VPN
rt5 rt2
We will refer to these VPNs as
dlci:201
dlci:506 "Layer 2 VPNs" because the
dlci:504 dlci:203 service provider providers only a
layer 2 interface to its customer,
SB
and the customer is responsible
for creating and managing the
layer 3 overlay.
rt1
dlci:605 rt6
dlci:102 SC
dlci:103 Frame Relay Network
dlci:604
dlci:302 rt3
dlci:405
SA
dlci:406 dlci:301
rt4
4
Problems of Traditional L2 VPN
Problems
5
Basic Scenarios of MPLS L2 VPN
rt5 rt2
dlci:201
dlci:506
dlci:504 dlci:203
rt1
rt6
dlci:605
dlci:102
dlci:103
dlci:604
dlci:302 rt3
dlci:405
dlci:301
rt4
dlci:406
Tunnel
Emulated Virtual Circuit
Obviously, this solution provide better scalability and flexibility.
6
What’s tunnel?
Label:17 Label:18
X C Y
A
B
LFIB of A
Label:101 LFIB of B Label:100
LFIB of C
in NHLFE in NHLFE in NHLFE
x push 17, send to B 17 Swap 18, send to C 18 pop, send to up layer
101 pop, send to up layer 100 Swap 101, send to A y push 100, send to B
7
What’s Emulated VC?
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?)
17 18 C
dlci 150 A
B dlci 250
101 100
2000
LFIB of A LFIB of C
in NHLFE LFIB of B in NHLFE
Dlci:150 push 1000, send to C in NHLFE Dlci:250 push 2000, send to A
101 pop, send to up layer 100 Swap 101, send to A 18 pop, send to up layer
1000
2000 pop, send to dlci 150 send to dlci 250
8
How do these VCs and tunnels work?
L2 frame
LFIB of A LFIB of C
in NHLFE LFIB of B in NHLFE
Dlci:150 push 1000, send to C in NHLFE Dlci:250 push 2000, send to A
101 pop, send to up layer 100 Swap 101, send to A 18 pop, send to up layer
1000
2000 pop, send to dlci 150 send to dlci 250
9
But MPLS L2 VPN is not only this!
We have seen basic thoughts of MPLS L2 VPN. But that not all.
Since following essential questions still haven’t been answered:
How to transmit L2 data in the MPLS network according control
information which is illustrated in before slides?
What’s the encapsulation?
How to simulate different l2 network behaviors in MPLS network?
10
Course Contents
Signaling Methods
11
MPLS L2VPN Data Flow
L2 Encapsulation
Data Flow Model
12
L2 Data Encapsulation
13
Tunnel & Demultiplexer Encapsulation
S S
14
Emulated VC Encapsulation
15
Control Word Details
16
Layer 2 Frame Encapsulation
17
Frame Relay
B: BECN
F: FECN
D: DE
C: C/R
18
ATM AAL5 CPCS-SDU
T: Transport type
E: EFCI
L: CLP
C: Command / Response
19
Ethernet VLAN & Ethernet
20
PPP & HDLC
21
MPLS L2VPN Data Flow
L2 Encapsulation
Data Flow Model
22
L2 Data Flow Model
23
VPWS Scenarios
CE2
dlci:201
PE2 dlci:203
dlci:102 P
CE1 dlci:103
dlci:302 CE3
dlci:301
PE1 PE3
24
PE Model
25
VPWS Data Forwarding Information
Before L2 data forwarding happening, all equipment involved
must have the forwarding information established.
CE2
CE1
P
PE2
PE1
IN NHLFE IN NHLFE
102 push 1000; push 100, send to P 101 pop; send to up layer
26
VPWS Data Flow
CE2
201 dlci:201
PE2 dlci:203
demultiplexer
tunnel control word
1001000
102
dlci:102 P
CE1 dlci:103
dlci:302 CE3
PE1 dlci:301
PE3
PE2
P
CE1
CE3
PE1 PE3
C
28
PE Model
Control Flow
incoming LSP
Forwarding Engine
out going LSP
30
VPLS Data Flow
When data forwarding happens, VPLS dynamically establish
some control information (Just like LAN Switch).
B
CE2
VSI of the VPLS in PE1
PE2 E1 E0
MAC address table Interface List
A, B
MAC Interface Interface Attributes MAC Interface
A E0 E0 Physical Link E0 A E1
VIF 0 out lsp:(100, 1000) in lsp:(201,2000) 101 1000 A, B
VSI of the VPLS in PE2
VIF 1 out lsp:(150, 1500) in lsp:(301,3000)
MAC address table Interface List
E0
A E0 E1 MAC Interface Interface Attributes
CE1 A, B A VIF 0 E0 Physical Link
A, B 100 1000 A, B
E0 VIF 0 out lsp:(200, 2000) in lsp:(101,1000)
VIF 1 out lsp:(250, 2500) in lsp:(301,3000)
A PE1 150 1500 A, B
P
MAC Interface
IN NHLFE 151 1500 A, B
A E1
100 Swap 101, send to PE2; A, B
PE3
150 Swap 151, send to PE3; VSI of the VPLS in PE3 E0 E1 CE3
E0
200 Swap 201, send to PE1; MAC address table Interface List
250 Swap 251, send to PE3; MAC Interface Interface Attributes
31
Course Contents
Signaling Methods
32
Signaling Methods
General Concept
Martini Method
Kompella Method
33
General Concept
34
Tunnel Signaling
Traditional Tunnel
L2TP
GRE
IPSEC
P
PE
35
VC Signaling
CE
36
VPN Topology Discovery
A VPLS V1 C
VPLS V1
37
Signaling Methods
General Concept
Martini Method
Kompella Method
38
Martini MPLS L2 VPN
39
Basic Thoughts of Martini Signaling
(1,1000;PE1)
VC-ID:1 (1,2000;PE2)
VC-ID:1
DLCI:100 PE1 PE2 DLCI:200
CE1
P CE2
40
How could LDP do it?
VC FEC
41
Fields in VC FEC
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.
42
Signaling Details
Tunnel Signaling
It could be based on any form of signaling technology.
IN NHLFE IN NHLFE
PE2 push 201, send to b PE1 push 101, send to c
100 pop, send to up layer 200 pop, send to up layer
43
Signaling Details
VC Signaling
LDP Remote Peer, Downstream Unsolicited label distribution
IN NHLFE IN NHLFE
PE2 push 201, send to b PE1 push 101, send to c
100 pop, send to up layer 200 pop, send to up layer
dlci 500 push 2000, send to PE2 dlci 600 push 1000, send to PE1
1000 pop, send to dlci 500 2000 pop, send to dlci 600
(VC1,1000;PE1)
(VC1,2000;PE2) d
DCLI 500 a DCLI 600
PE1 PE2
b
c
P
CE1 IN NHLFE CE1
100 Swap 101, send to d
200 Swap 201, send to a
44
Summary of Martini Solution
45
Signaling Methods
General Concept
Martini Method
Kompella Method
46
Kompella MPLS L2VPN Solution
47
General Concept
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.
Compares 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, then it will work) .
Layer 2 interworking.
48
Basic Thoughts of Kompella Signaling
Signaling Protocols
MBGP(BGP Multiprotocol Extensions): A series of extended
communities are defined. They are used both for topology
discovery and VC signaling.
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 it’s own attached CE to CEI.
BGP extended community RT (Route Target) is used to
distinguish different VPNs.
49
Rough Overview-Tunnel Signaling
By common LDP (or other tunnel technology), tunnels could
be established between all PEs.
IN NHLFE
IN NHLFE
PEA Push 101, send from b;
PEB Push 201, send from a;
PEC Push 351, send from b;
PEC Push 301, send from a;
200 Pop, send to up layer;
100 Pop, send to up layer;
250 Pop, send to up layer;
150 Pop, send to up layer; PEA
a b
A c B
PEC IN NHLFE
CE:3 PEA Push 151, send from c;
PEB Push 251, send from c;
300 Pop, send to up layer;
C 350 Pop, send to up layer;
50
Rough Overview-VC Signaling
IN NHLFE
IN NHLFE
1-2 Push 2000, send to PEB;
Here need a mapping algorithm! 2-1 Push 1000, send to PEA;
1-3 Push 3000, send to PEC;
2-3 Push 3001, send to PEC;
1000 Pop, send to up layer;
2000 Pop, send to up layer;
1001 Pop, send to up layer; RT(100:1),CE-ID(1),
Label Block(1000, 1001) 2001 Pop, send to up layer;
PEA
RT(100:1),CE-ID(2),
Label Block(2000, 2001)
PEB
CE:1 RT(100:1),CE-ID(1), RT(100:1),CE-ID(3), CE:2
Label Block(1000, 1001) Label Block(3000, 3001)
A RT(100:1),CE-ID(3),
Label Block(2000, 2001) B
RT(100:1),CE-ID(3),
Label Block(3000, 3001)
PEC
IN NHLFE
CE:3
3-1 Push 1001, send to PEA;
3-2 Push 2001, send to PEB;
3000 Pop, send to up layer;
C 3001 Pop, send to up layer;
51
Rough Overview: Data Flow
IN NHLFE IN NHLFE
1-2 Push 2000, push 201; send from a; 2-1 Push 1000, push 101; send from b;
1-3 Push 3000, push 301; send from a; 2-3 Push 3001, push 351; send from b;
1000 Pop, send from 2-1; 2000 Pop, send from 1-2;
1001 Pop, send from 3-1; 2001 Pop, send from 3-2;
100 Pop, send to up layer; 201 2000 200 Pop, send to up layer;
150 Pop, send to up layer; 1->2 250 Pop, send to up layer;
PEA
PEB
CE:1 CE:2
351 2001
151 1001
A 3->1
2->3
B
PEC
CE:3 IN NHLFE
3-1 Push 1001, push 151; send from c;
3-2 Push 2001, push 251; send from c;
3000 Pop, send from 1-3;
C 3001 Pop, send from 2-3;
300 Pop, send to up layer;
350 Pop, send to up layer;
52
CE-Labels Binding: Analysis
As we have discussed, It’s naturally to ask all labels bind with one CE
should be continuous.
Could it be one contiguous block?
The amounts of labels of a CE reflects amounts of remote CEs it need to
connect with. When a new CE is added to the VPN, and if one
contiguous label block is used, here are following 2 solutions:
Reallocation: Reallocate attached added VC and reallocate all labels bound
with the respect CE.
Pre-provision: pre-allocate local VCs (Frame Relay DLCIs, ATM VPI/VCIs
etc. ) and labels corresponded for future usage.
Reallocation is not a good solution. Pre-provision is a good idea, but you
could not always know everything in the future.
So, following label space arrangement is used in this solution.
53
CE-Labels Binding: label space arrangement
Basic thoughts
All labels bound with a CE is composed of a number of label
9 DLCIs:
block. 100-109
1 5 8
1000 1001 1002 1003 2000 2001 2002 3000 3001 3002
6->1
PEA PEB
CE1 CE6
55
How could BGP do this?
A new AFI for L2-VPN, a new SAFI, and also a new NLRI
format for carrying the individual L2-VPN label-block
information are introduced to MBGP.
L2VPN NLRIs MUST be accompanied by one or more
extended communities. RT is one of them.
56
BGP Extended Communities for L2VPN
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.
57
L2 Interworking
58
Questions
59
Thank You !