Virtual Private LAN Service - KRnet · 2012-05-09 · Virtual Leased Line (VLL) Service Transparent...
Transcript of Virtual Private LAN Service - KRnet · 2012-05-09 · Virtual Leased Line (VLL) Service Transparent...
Virtual Private
LAN Service
손장우 Netmanias
(㈜넷레퍼런스)
서울시 강남구 대치동 896-52 동창빌딩 3층 넷매니아즈
(Tel: 556-9273, Fax: 556-9274)
http://www.netmanias.com, [email protected]
www.netmanias.com
2
Metro Ethernet Services: Two Market
Medium Requirements Application Services
Enterprise E/FTTO
E/FTTB+Ethernet
E/FTTC+VDSL/ADSL
SLA and QoS Internet Access Service
Ethernet Private Line (EPL) /
Virtual Leased Line (VLL) Service
Transparent LAN Service (TLS)
/ Virtual Private LAN Service
(VPLS)
Residential E/FTTC+VDSL/ADSL
E/FTTH
Low Cost
User Interface
Internet access, Video, Voice
IP Video (VoD/Broadcast TV)
www.netmanias.com
3
Ethernet Private Line
HQ
(Company A)
BO
(Company A)
HQ
(Company B)
BO
(Company B)
Ethernet Private Line/Virtual Leased Line (P-t-P)
Private Line
www.netmanias.com
4
TLS (Transparent LAN Service)
HQ
(Company A)
BO 1
(Company A)
HQ
(Company B)
BO 3
(Company B)
TLS/VPLS (Multi-Point)
Transparent LAN
BO 2
(Company B)
BO 2
(Company A)
www.netmanias.com
5
Internet Access Service
Internet Access
Hub Node
Internet
www.netmanias.com
6
TLS (Transparent LAN Service)
CPE
Ingress Rate Limiting/Shaping
100
100 100
100 100
100
802.1q tagged VLAN 설정
A Broadcast Domain over
Metro Ethernet Network
= Secure Tunnel 제공
802.1p CoS 제공
= Classification, Marking,
Priority queueing and
scheduling
ESP network
www.netmanias.com
7
TLS (Transparent LAN Service)
Tagged VLAN (802.1q)을 이용하여 Broadcast Domain을 분리해줌
= 복수개의 Sites간에 Connectivity 제공
20
Lookup Table
10
MAC VLAN type VLAN ID Port
- port-based 10 1
- tagged 10 3
- port-based 20 2
- tagged 20 3
MAC A
MAC B
MAC C
MAC D
MAC E
Lookup Table
MAC VLAN type VLAN ID Port
- port-based 10 2
- port-based 10 3
- tagged 10 1
- port-based 20 4
- tagged 20 1
1
2 3
1
2
3
4
www.netmanias.com
8
Frame Walk-Flow in VLAN
Lookup Table
MAC VLAN type VLAN ID Port
- port-based 10 1
- tagged 10 3
- port-based 20 2
- tagged 20 3
A 1
MAC A
MAC B
MAC C
MAC D
MAC E
Lookup Table
MAC VLAN type VLAN ID Port
- port-based 10 2
- port-based 10 3
- tagged 10 1
- port-based 20 4
- tagged 20 1
A 1
1
2 3
1
2
3
4
DA = C
SA = A
(1) Learning MAC A
(2) Broadcast Unknown frame
10
(3) Learning MAC A
(4) Broadcast Unknown frame
Filtering
A sends frame to C
www.netmanias.com
9
Frame Walk-Flow in VLAN
Lookup Table
MAC VLAN type VLAN ID Port
- port-based 10 1
- tagged 10 3
- port-based 20 2
- tagged 20 3
A 1
C 3
MAC A
MAC B
MAC C
MAC D
MAC E
Lookup Table
MAC VLAN type VLAN ID Port
- port-based 10 2
- port-based 10 3
- tagged 10 1
- port-based 20 4
- tagged 20 1
A 1
C 2
1
2 3
1
2
3
4
DA = A
SA = C
(3) Forwarding
10
(1) C responses
(2) Learning MAC C (4) Learning MAC C
DA = A
SA = C
C responds to A
www.netmanias.com
10
Frame Walk-Flow in VLAN
Lookup Table
MAC A
MAC B
MAC C
MAC D
MAC E
Lookup Table
1
2 3
1
2
3
4
MAC VLAN type VLAN ID Port - port-based 10 1 - tagged 10 3 - port-based 20 2 - tagged 20 3 A 1 C 3 D 3 B 2 E 3
MAC VLAN type VLAN ID Port - port-based 10 2 - port-based 10 3 - tagged 10 1 - port-based 20 4 - tagged 20 1 A 1 C 2 D 3 E 4 B 1
www.netmanias.com
11
Frame Walk-Flow in VLAN
Lookup Table
MAC A
MAC B
MAC C
MAC D
MAC E
Lookup Table
1
2 3
1
2
3
4
MAC VLAN type VLAN ID Port - port-based 10 1 - tagged 10 3 - port-based 20 2 - tagged 20 3 A 1 C 3 D 3 B 2 E 3
MAC VLAN type VLAN ID Port - port-based 10 2 - port-based 10 3 - tagged 10 1 - port-based 20 4 - tagged 20 1 A 1 C 2 D 3 E 4 B 1
DA = C
SA = A
10
Unicast
www.netmanias.com
12
Frame Walk-Flow in VLAN
Lookup Table
MAC A
MAC B
MAC C
MAC D
MAC E
Lookup Table
1
2 3
1
2
3
4
MAC VLAN type VLAN ID Port - port-based 10 1 - tagged 10 3 - port-based 20 2 - tagged 20 3 A 1 C 3 D 3 B 2 E 3
MAC VLAN type VLAN ID Port - port-based 10 2 - port-based 10 3 - tagged 10 1 - port-based 20 4 - tagged 20 1 A 1 C 2 D 3 E 4 B 1
DA = C
SA = A
10
20
DA = E
SA = B
Shared Ethernet MAN
www.netmanias.com
13
가입자가 보기에는
MAC A
MAC B
MAC C
MAC D
MAC E
1
2 3
1
2 3
4
DA = C
SA = A
10
20
DA = C
SA = A
DA = C
SA = A L2 Switch for Customer 1 L2 Switch for Customer 2
Public Metro Network
www.netmanias.com
14
Service Creation at Edge
VLAN ID 7
VLAN ID 5
A B
C D
Ethernet frame
MTU Last mile Metro core MTU Last mile
802.1p/q Network
Lookup: {dst MAC addr. + VLAN ID}
Queueing: check 802.1p tag
Output link scheduling:
Priority scheduling based on 802.1p tag
7 A B 1
5 C D 2
A B
C D
7 A B 1
5 C D 2
7 A B 1
5 C D 2
7 A B 1
5 C D 2 Classification:
port , L2 MAC addr., IP addr., TOS/DSCP,
PID, TCP/UDP Port number
Policy/ACL
Rate-limiting
802.1q VLAN tagging
802.1p priority marking based-on TOS/DSCP, Port#
7 A B 1
5 C D 2
802.1q (VLAN ID)
802.1p (priority)
8B 6B 6B 4B 2B 1B 4B 4B 1B 2B 2B
Ethernet(L2) IP (L3) TDP/UDP (L4)
Pre dst
MAC
src
MAC
Type 0x0800
CRC dst
IP
Protocol
ID
src port
number
User
data TOS
src
IP
dst port
number
8B 6B 6B 4B 2B 1B 4B 4B 1B 2B 2B
Pre dst
MAC
src
MAC
Type 0x0800
CRC dst
IP
Protocol
ID
src port
number
User
data TOS
src
IP
dst port
number
802.1
p/q tag
2B
Type 0x8100
2B
www.netmanias.com
15
Problem of Native L2 Approach
CPE
Ingress Rate Limiting/Shaping
100
100 100
100 100
100
802.1q tagged VLAN 설정
A Broadcast Domain over
Metro Ethernet Network
= Secure Tunnel 제공
802.1p CoS 제공
= Classification,
Marking, Priority
queueing and
scheduling
ESP network
VLAN space limitation:
4096 VLANs (VLAN
ID=12bits)
MAC address limitation
No Bandwidth
reservation in metro
core (end-to-end)
No traffic engineering in
metro core (STP Path)
Slow restoration time
(STP, RSTP, EAPS)
MAC VLAN type VLAN ID Port
- tagged 100 1, 2
- tagged 200 1, 3
……….
A 2
B 1
C 2
……….
MAC A
MAC F
MAC B MAC C
MAC M MAC N
MAC G
MAC H
www.netmanias.com
16
Martini Draft
MPLS 망을 통해 ptp Ethernet VPN 서비스를 제공하는 방안을 제시
Ingress LER (PE)과 Egress LER (PE)간에 두 개의 LSP (Label Switched Path)를
설정
Tunnel LSP: 두 PEs간에 MPLS frame을 forwarding. Customer 구분없이 MPLS망상에서 경로만 제공. ATM의 VP (Virtual Path)개념. Tunnel LSP내에 여러 개의 VC(Virtual
Circuit)들이 전달됨.
VC LSP: Egress LER에서 Tunnel LSP로 들어오는 패킷들이 어느 가입자의 패킷이며,
또 어떻게 처리(어느 outgoing interface로 포워딩해주어야 하는 가, 등)해주어야 하는
가를 결정하기 위해서 Tunnel LSP내에 VC LSP가 정의된다. ATM의 VC개념. (for de-
multiplexing senders.). VC label은 LSR에서는 안 보이고 Egress LER에서만 보인다.
T-LSP Ethernet
or VLAN
Ingress
LER
Egress
LER
VC-LSP
Ethernet
or VLAN
Outer Ethernet Header
802.1p/q (2/100)
DA B
SA A
E-type (0x8100)
E-type (0x0800)
L3 PDU (IP packet)
DA b
SA a
E-type (0x8847)
Tunnel label(5)
VC label(25)
Original 802.1q frame Label stack
www.netmanias.com
17
Eth-Frame
CE1 CE2 PE1 PE2 Eth/10
VLAN/100
Eth/20
VLAN/200
Configuration
Interface: Eth/20 VLAN/200
VC ID (=L2-FEC): 3001
Map Eth/20 VLAN/200 VCID 3001
VC label: 2000
Peer Router: 10.0.0.1
Targeted LDP
Configuration
Interface: Eth/10 VLAN/100
VC ID (=L2-FEC): 3001
Map Eth/10 VLAN/100 VCID 3001
VC label: 4000
Peer Router: 10.0.0.2
10.0.0.2 10.0.0.1
Eth-Frame 2000 100 L2H Eth-Frame
Tunnel LSP
A PW (2 VC lsps) setup !
vc2000
vc4000
VLAN/100
Eth/10 VLAN/200
Eth/20
PW = VLL
Site 2가 PE2의
Ethernet port 20에
VLAN ID 200의
Ethernet circuit에
붙어있다.
Site 2로 보내려면
Label 2000을 붙여서
보내라
Site 2 Site 1
VCID In Out 3001 VC label 4000 Eth/10 VLAN/100
Eth/10 VLAN/100 ?
VCID In Out 3001 VC label 4000 Eth/10 VLAN/100
Eth/10 VLAN/100 2000
VCID In Out 3001 VC label 2000 Eth/20 VLAN/200
Eth/20 VLAN/200 ?
VCID In Out 3001 VC label2000 Eth/20 VLAN/200
Eth/20 VLAN/200 4000
Martini signaling
www.netmanias.com
18
End-to-end Frame Flow
MPLS
(Metro or WAN)
802.1q
STP L2
SW
L2
SW
Customer 2, Site 1
Customer 2, Site 2
L3 PDU (IP packet)
DA B
SA A
E-type (0x0800)
802.1p/q (2/100)
DA B
SA A
E-type (0x8100)
E-type (0x0800)
L3 PDU (IP packet)
VLAN tagging
802.1p/q (2/100)
DA B
SA A
E-type (0x8100)
E-type (0x0800)
L3 PDU (IP packet)
DA d
SA c
E-type (0x8847)
Tunnel label (30)
VC label (25)
802.1p/q (2/100)
DA B
SA A
E-type (0x8100)
E-type (0x0800)
L3 PDU (IP packet)
DA f
SA e
E-type (0x8847)
VC label (25)
DA B
SA A
E-type (0x0800)
L3 PDU (IP packet)
802.1p/q (2/100)
DA B
SA A
E-type (0x8100)
E-type (0x0800)
L3 PDU (IP packet)
MAC VLAN ID outgoing port
B 100 6
MAC
A
MAC VLAN ID outgoing port
B 100 1
Incoming port VC Label outgoing port
1 25 4
Outer Ethernet Header
802.1p/q (2/100)
DA B
SA A
E-type (0x8100)
E-type (0x0800)
L3 PDU (IP packet)
DA b
SA a
E-type (0x8847)
Tunnel label(5)
VC label(25)
Original 802.1q frame Label stack
CPE
(L2)
CPE
(L2)
1
4
a
1
b
3
c 1
d
e
4
1 f
4 6
i-LER
e-LER
LSR
LSR
Statically pre-configured
Or Dynamic signaling
MAC
B
2
Port VLAN ID outgoing port Tunnel Label VC label Label
2 100 4 5 25
Incoming port Tunnel Label outgoing port Tunnel Label
1 5 3 30
Incoming port Tunnel Label outgoing port
1 30 3
www.netmanias.com
19
MAC address learning problem 해결
MPLS
(Metro or WAN)
802.1q
STP L2
SW
L2
SW
Customer 2, Site 1
Customer 2, Site 2
L3 PDU (IP packet)
DA B
SA A
E-type (0x0800)
802.1p/q (2/100)
DA B
SA A
E-type (0x8100)
E-type (0x0800)
L3 PDU (IP packet)
VLAN tagging
802.1p/q (2/100)
DA B
SA A
E-type (0x8100)
E-type (0x0800)
L3 PDU (IP packet)
DA d
SA c
E-type (0x8847)
Tunnel label (30)
VC label (25)
802.1p/q (2/100)
DA B
SA A
E-type (0x8100)
E-type (0x0800)
L3 PDU (IP packet)
DA f
SA e
E-type (0x8847)
VC label (25)
DA B
SA A
E-type (0x0800)
L3 PDU (IP packet)
802.1p/q (2/100)
DA B
SA A
E-type (0x8100)
E-type (0x0800)
L3 PDU (IP packet)
MAC VLAN ID outgoing port
B 100 6
MAC
A
MAC VLAN ID outgoing port
B 100 1
Incoming port VC Label outgoing port
1 25 4
Outer Ethernet Header
802.1p/q (2/100)
DA B
SA A
E-type (0x8100)
E-type (0x0800)
L3 PDU (IP packet)
DA b
SA a
E-type (0x8847)
Tunnel label(5)
VC label(25)
Original 802.1q frame Label stack
CPE
(L2)
CPE
(L2)
1
4
a
1
b
3
c 1
d
e
4
1 f
4 6
i-LER
e-LER
LSR
LSR
Statically pre-configured
Or Dynamic signaling
MAC
B
2
Port VLAN ID outgoing port Tunnel Label VC label Label
2 100 4 5 25
Incoming port Tunnel Label outgoing port Tunnel Label
1 5 3 30
Incoming port Tunnel Label outgoing port
1 30 3
4
Metro (또는 WAN) core의 LSR들은 단지 Tunnel Label값만 보고
MPLS frame을 포워딩한다. 따라서 Metro core에서는 가입자측의
MAC address를 학습할 필요가 없다.
Ingress LER은 Ethernet망에서
들어오는 Frame을 {Physical port
and 802.1q VLAN ID}값만 참조하여 어느 VC-LSP로 포워딩할 것인지를 판단한다.
따라서, Egress LER쪽의 가입자의 MAC address를 학습하지 않는다.
Egress LER은 VC label값만을 이용하여 포워딩 결정을 내린다. 따라서, 가입자측의 MAC address를 학습하지 않아도 된다.
www.netmanias.com
20
TLS Service using VLL
MPLS
Customer 1
Site 2
Customer 1
Site 1
T
Customer 1
Site 3
UT
CPE Device handles Switching 본사에 있는 Router가 모든 지사간의
Data forwarding을 책임진다. 지사
CPE 는 스위치여도 되고 라우터여도
된다.
UT
HQ site Router
One subnet
for each remote site L2 CPE
L2 CPE
Subnet 1
Subnet 2
www.netmanias.com
21
VPLS (Virtual Private LAN Service)
Martini-draft는 Point-to-point Ethernet L2 VPN service를 MPLS망상으로 제공하는 방법을 기술
Martini-draft는 Point-to-MultiPoint transport를 지원하지 않는다.
Ingress LER은 Physical port, VLAN ID or Physical port+VLAN ID를 보고 해당 Egress LER로 라우트된 VC-LSP로 매핑시킨다. 즉, VC-LSP에 관련된 Egress LER에 연관된 MAC address를 학습하지 않는다.
Forwarding simplicity. No MAC scalability concern
VPLS란?
VPLS (Virtual Private LAN Segment): SP의 MPLS or IP망상으로 한 Customer의 여러 Sites간에 형성된 하나의 L2 Broadcast Domain
VPLS (Virtual Private LAN Service)
SP가 VPLS를 제공해주어 customer의 여러 Sites간에 Point-to-MultiPoint 통신을 가능케 해주는 서비스.
L2 Broadcast Domain, Many-to-Many
Transparent to Customer (I.e. PE based): TLS (Transparent LAN Switching) Service라고도 함.
References
Draft-lasserre-vkompella-ppvpn-vpls-02.txt, June 2002
Draft-ietf-ppvpn-vpls-requirements-00.txt, March 2002
www.netmanias.com
22
Broadcast Domain
L2 Switch
(Bridge)
Broadcast Domain
L2 Switch
(Bridge)
VLAN을 도입하여 Broadcast
Domain을 segmentation
Unknown frame이나 Broadcast
frame이 VLAN안에서만 포워딩되고 다른 VALN (BD)으로는 전달되지 않는다.
다른 VLAN으로 전달될 때는
Router (L3)를 경우한다.
BD1 BD2
VLAN
blue VLAN
red
1 2 3 4 5 1 2 3 4 5
Unknown frame이나 Broadcast
frame이 모든 단말로 Broadcast된다.
- Broadcast Storming (LAN 성능
저하, normal unicast frame 대역)
- Security
BD1
1 2 3
L2 Switch
(Bridge)
VLAN blue에속한
멤버들은 마치 자신들만 L2 switch
(a single
Broadcast
Domain을 가진)에
연결되어 있다는
생각한다.
www.netmanias.com
23
Concept of VPLS service
L2 Switch
(Bridge)
BD1 BD2
VLAN
blue VLAN
red
1 2 3 4 5
MPLS Network
(MAN/WAN)
Customer A
Customer A
Customer A
Customer B
Customer B
L2 Switch
Customer의 CPE devices들은 마치 자신이 하나의 L2 switch에 연결되어 있고 하나의 L2
broadcast domain내에 있는 것처럼 생각한다.
이 VPLS를 통해 PTMP Service가 자연스럽게
제공됨
VPLS
www.netmanias.com
24
이를 위해
PE Router는 per-lsp-basis로 destination MAC address를 학습해야 한다.
그래야 Site 2로 보낼 것인 지, Site 3로 보낼 것인지를 판단할 수 있다.
MAC address를 학습하기 위해서는 Unknown frame과 Broadcast frame
을 VPLS(Segment)에 속한 모든 PE에게 Broadcast할 수 있어야 한다.
Frame replication at Ingress LER(PE)
Across all VC LSPs That are part of VPLS
VPLS별로 VPLS Forwarding table (VPN Identifier, LSP, MAC)를 따로 관리해야 한다.
일단 Destination MAC address가 Ingress LER에서 학습되면 바로 해당
VC-LSP를 통해 frame을 전달한다.
www.netmanias.com
25
MAC address Learning
PE Router는 unknown frame이나 Broadcast frame을 VPLS에 속한 모든
Outgoing VCs상으로 broadcast한다.
한 VPLS내의 모든 PE는 Full-mesh connectivity를 갖는다.
PE 라우터는 inbound VC-LSP상으로 frame이 들어오면 이 frame의 MAC
adress를 학습하고 이를 outbound VC-LSP의 연관시킨다.(등록한다)
www.netmanias.com
26
CE2
CE1
PE2
PE1
Eth20
Eth10
Site 1
Site 2
PE3 CE3
Eth30
Site 3 PE4
PE5
P P M2
M1
M3
M4
VPLS
www.netmanias.com
27
CE2
CE1
PE2
PE1
Eth20
Eth10
Site 1
Site 2
PE3 CE3 Eth30
Site 3
VCID 1000 vc label 102
VCID 1000 vc label 103
Martini-signaling (Targeted LDP/DU mode)
1. Operator는 Site 1, 2, 3이 연결되어 있는 PE1, PE2, PE3간에 full-mesh로 VPLS
instance를 하나 생성한다. 이 VPLS instance에는 하나의 unique VCID가 할당된다.
1.1 각 PE는 Targeted LDP session을 통해 downstream-unsolicited mode로 vc-label을
배포한다. 즉, VPLS에 관한 label값을 egress LER이 할당하여 이를 ingress LER에게
바로 배포한다.
Use vc-label 102 for VCID
1000 when sending to me
(나한테 보낼 때, vc-label 102
를 써서 보내!)
Use vc-label 103 for VCID
1000 when sending to me
(나한테 보낼 때, vc-label 103
를 써서 보내!)
Control Plane
VPLS: Control Plane (1)
www.netmanias.com
28
CE2
CE1
PE2
PE1
Eth20
Eth10
Site 1
Site 2
PE3 CE3 Eth30
Site 3
CE2
CE1
PE2
PE1
Eth20
Eth10
Site 1
Site 2
PE3 CE3 Eth/30
Site 3
VCID 1000 vc label 102
VCID 1000 vc label 103
vc label 102
vc label 103
VC-lsp setup (created)
1.1 VPLS 1000을 위한 vc-lsp 102와 vc-lsp 103 생성됨.
VPLS: Control Plane (2)
www.netmanias.com
29
CE2
CE1
PE2
PE1
Eth20
Eth10
Site 1
Site 2
PE3 CE3 Eth30
Site 3
CE2
CE1
PE2
PE1
Eth20
Eth10
Site 1
Site 2
PE3 CE3 Eth30
Site 3
VCID 1000 vc label 201
VCID 1000 vc label 203
VCID 1000 vc label 302
VCID 1000 vc label 301
Martini-signaling (Targeted LDP/DU mode)
p1
p2
p3
p4
p5
p6
VCID 1000
Eth20, p1/vc-lsp102, p2/vc-lsp302
VCID 1000
Eth10, p3/vc-lsp201, p4/vc-lsp301
VCID 1000
Eth30, p5/vc-lsp103, p6/vc-lsp203
A VPLS (VCID=1000) is setup
A VPLS for Customer A is setup between PE1, PE2 and PE3
VPLS: Control Plane (3)
www.netmanias.com
30
CE2
CE1
PE2
PE1
Eth20
Eth10
Site 1
Site 2
PE3 CE3 Eth30
Site 3
p1
p2
p3
p4
p5
p6
MAC Interface
Eth20
P1/vc-lsp102
P2/vc-lsp302
FIB for VPLS 1000
PE4
IP M2 M1
1. PE2에 Port 20을 통해 Ethernet frame이 들어오면, PE2는 frame이 들어온 물리적인
Port (또는 Port + VLAN ID)를 통해 이 frame이 VPLS 1000에 속한 프레임을 알아낸다.
: Port or (Port + VLAN ID) VPLS ID/FIB
Data Plane
M2
M1
M3
SA DA
IP M2 M1 Ethernet frame
Destination MAC address
Source MAC address
VPLS: Data Plane (1)
www.netmanias.com
31
CE2
CE1
PE2
PE1
Eth20
Eth10
Site 1
Site 2
PE3 CE3 Eth30
Site 3
p1
p2
p3
p4
p5
p6
PE4
IP M2 M1
1.1 Source MAC learning: PE2는 도착한 프레임의 source MAC address를 학습하여
SA=M2를 VPLS 1000의 FIB(Forwarding Information Base)의 Eth20에 등록한다.
MAC Interface
M2 Eth20
P1/vc-lsp102
P2/vc-lsp302
FIB for VPLS 1000
M2
M1
M3
VPLS: Data Plane (2)
www.netmanias.com
32
CE2
CE1
PE2
PE1
Eth20
Eth10
Site 1
Site 2
PE3 CE3 Eth30
Site 3
p1
p2
p3
p4
p5
p6
PE4
IP M2 M1 102 Tunnel Label L2H
IP M2 M1 302 Tunnel Label L2H
1.2 Destination MAC lookup: VPLS 1000의 FIB를 lookup한다. Destination MAC = M1
이 FIB entry에 없으면 (즉, 학습이 되어 있지 않으면-Unknown frame이면), VPLS 1000
에 속한 모든 PE로 프레임을 flooding한다. 즉, 도착한 프레임을 복제(replication)하여
p1/vc-lsp102를 통해 PE1으로, p2/vc-lsp 302를 통해 PE3로 전달한다. (물론 PE4로는
전달하지 않는다.) 이때 vc-label과 tunnel label을 부착하여 전달한다.
MAC Interface
M2 Eth20
P1/vc-lsp102
P2/vc-lsp302
FIB for VPLS 1000
IP M2 M1
M2
M1
M3
IP M2 M1 102 Tunnel Label L2H
VC Label (Demultiplexor)
Tunnel Label
Transport Header
MPLS frame
VPLS: Data Plane (3)
www.netmanias.com
33
CE2
CE1
PE2
PE1
Eth20
Eth10
Site 1
Site 2
PE3 CE3 Eth30
Site 3
p1
p2
p3
p4
p5
p6
PE4
IP M2 M1 102 Tunnel Label L2H
IP M2 M1 302 Tunnel Label L2H
2. Core LSRs (P Routers): PW상의 모든 LSR들은 Outer label (Tunnel label)값만 참조하여 해당 PE까지 프레임을 전달한다(label swapping). LSR들은 Tunnel label값만 참조하여 포워딩하기 때문에 현재 자기가 포워딩하고 있는 프레임들이 어느 VPLS에 속한
프레임인지는 모른다.
MAC Interface
M2 Eth20
P1/vc-lsp102
P2/vc-lsp302
FIB for VPLS 1000
M2
M1
M3
VPLS: Data Plane (4)
www.netmanias.com
34
CE2
CE1
PE2
PE1
Eth20
Eth10
Site 1
Site 2
PE3 CE3 Eth30
Site 3
p1
p2
p3
p4
p5
p6
PE4
IP M2 M1 102 Tunnel Label L2H
IP M2 M1 302 Tunnel Label L2H
3. PE2 (Egress LER): PE2는 도착한 프레임의 vc-label값을 참조하여 이 프레임이 어느
VPLS에 속한 프레임인지를 알아낸다(이 예에서는 VPLS 1000에 속한 프레임임을 알게
된다).
: vc-label lookup VPLS ID/FIB MAC Interface
Eth10
P3/vc-lsp201
P4/vc-lsp301
FIB for VPLS 1000
M2
M1
M3
VPLS: Data Plane (5)
www.netmanias.com
35
CE2
CE1
PE2
PE1
Eth20
Eth10
Site 1
Site 2
PE3 CE3 Eth30
Site 3
p1
p2
p3
p4
p5
p6
PE4
IP M2 M1 102 Tunnel Label L2H
IP M2 M1 302 Tunnel Label L2H
3.1 Source MAC learning: 도착한 MPLS 프레임의 label를 제거(POP)하고 이더넷 프레임의 source MAC address를 학습한다. PE1은 M2가 vc-label 102를 통해서 왔으므로
M2가 PE2뒤에 있음을 알게 된다. 따라서, M2를 vc-label201 인터페이스에 학습시킨다.
PE3도 동일한 동작을 수행한다.
MAC Interface
Eth10
M2 P3/vc-lsp201
P4/vc-lsp301
FIB for VPLS 1000
MAC Interface
Eth30
P5/vc-lsp103
M2 P6/vc-lsp203
FIB for VPLS 1000
M2
M1
M3
VPLS: Data Plane (6)
www.netmanias.com
36
CE2
CE1
PE2
PE1
Eth20
Eth10
Site 1
Site 2
PE3 CE3 Eth30
Site 3
p1
p2
p3
p4
p5 p6 PE4
IP M2 M1
IP M2 M1
3.2 Destination MAC lookup: DA=M1이 VPLS 1000의 FIB에 학습이 되어 있지 않으므로 VPLS 1000에 속한 모든 Port로 이더넷 프레임을 flooding한다 (이 예에서는 Eth10으로만 전달된다). 이 때 loop 방지를 위해 vc-lsp에서온 프레임은 VPLS에 속한 다른 vc-
lsp로 flooding하지 않는다. (split-horizon rule). 즉, P4/vc-lsp301로는 flooding하지 않는다.
MAC Interface
Eth10
M2 P3/vc-lsp201
P4/vc-lsp301
FIB for VPLS 1000
MAC Interface
Eth30
P5/vc-lsp103
M2 P6/vc-lsp203
FIB for VPLS 1000
M2
M1
M3
VPLS: Data Plane (7)
www.netmanias.com
37
CE2
CE1
PE2
PE1
Eth20
Eth10
Site 1
Site 2
PE3 CE3 Eth30
Site 3
p1
p2
p3
p4
p5 p6 PE4
4. M1 reply: Site 1의 station 1이 reply를 하여 DA=M2, SA=M1인 이더넷 프레임을 PE1
으로 전달한다.
MAC Interface
Eth10
M2 P3/vc-lsp201
P4/vc-lsp301
FIB for VPLS 1000
MAC Interface
Eth30
P5/vc-lsp103
M2 P6/vc-lsp203
FIB for VPLS 1000
IP M1 M2
M2
M1
M3
VPLS: Data Plane (8)
www.netmanias.com
38
CE2
CE1
PE2
PE1
Eth20
Eth10
Site 1
Site 2
PE3 CE3 Eth30
Site 3
p1
p2
p3
p4
p5 p6 PE4
5. PE1에 Port 10을 통해 Ethernet frame이 들어오면, PE1는 frame이 들어온 물리적인
Port (또는 Port + VLAN ID)를 통해 이 frame이 VPLS 1000에 속한 프레임을 알아낸다.
MAC Interface
Eth10
M2 P3/vc-lsp201
P4/vc-lsp301
FIB for VPLS 1000
MAC Interface
Eth30
P5/vc-lsp103
M2 P6/vc-lsp203
FIB for VPLS 1000
IP M1 M2
VPLS: Data Plane (9)
www.netmanias.com
39
CE2
CE1
PE2
PE1
Eth20
Eth10
Site 1
Site 2
PE3 CE3 Eth30
Site 3
p1
p2
p3
p4
p5 p6 PE4
5.1 Source MAC learning: PE1는 도착한 프레임의 source MAC address를 학습하여
SA=M1를 VPLS 1000의 FIB(Forwarding Information Base)의 Eth10에 등록한다.
MAC Interface
M1 Eth10
M2 P3/vc-lsp201
P4/vc-lsp301
FIB for VPLS 1000
MAC Interface
Eth30
P5/vc-lsp103
M2 P6/vc-lsp203
FIB for VPLS 1000
IP M1 M2
M2
M1
M3
VPLS: Data Plane (10)
www.netmanias.com
40
CE2
CE1
PE2
PE1
Eth20
Eth10
Site 1
Site 2
PE3 CE3 Eth30
Site 3
p1
p2
p3
p4
p5 p6 PE4
5.2 Destination MAC lookup: PE1은 이더넷 프레임의 destination MAC address를
VPLS 1000의 FIB에서 Lookup한다. M2가 학습되어 있으므로 P3/vc-lsp201을 통해 프레임을 전달한다.
MAC Interface
M1 Eth10
M2 P3/vc-lsp201
P4/vc-lsp301
FIB for VPLS 1000
MAC Interface
Eth30
P5/vc-lsp103
M2 P6/vc-lsp203
FIB for VPLS 1000
IP M1 M2
M2
M1
M3
VPLS: Data Plane (11)
www.netmanias.com
41
CE2
CE1
PE2
PE1
Eth20
Eth10
Site 1
Site 2
PE3 CE3 Eth30
Site 3
p1
p2
p3
p4
p5 p6 PE4
6. PE2는 SA=M1을 학습하여 FIB entry(P1/vc-lsp102)에 등록하고, DA=M2는 학습이 되어 있으므로 Eth20 port를 통해 포워딩한다.
MAC Interface
M1 Eth10
M2 P3/vc-lsp201
P4/vc-lsp301
FIB for VPLS 1000
MAC Interface
Eth30
P5/vc-lsp103
M2 P6/vc-lsp203
FIB for VPLS 1000
IP M1 M2
MAC Interface
M2 Eth20
M1 P1/vc-lsp102
P2/vc-lsp302
FIB for VPLS 1000
M2
M1
M3
VPLS: Data Plane (12)
www.netmanias.com
42
CE2
CE1
PE2
PE1
Eth20
Eth10
Site 1
Site 2
PE3 CE3 Eth30
Site 3
p1
p2
p3
p4
p5 p6 PE4
7. 몇 번의 Unknown frame들이 flooding 방식으로 오고 가면, 각 PE의 VPLS 1000의
FIB table은 아래와 같이 MAC entry들이 등록되게 된다.
MAC Interface
M1 Eth10
M2 P3/vc-lsp201
M3 P4/vc-lsp301
FIB for VPLS 1000
MAC Interface
M3 Eth30
M1 P5/vc-lsp103
M2 P6/vc-lsp203
FIB for VPLS 1000 MAC Interface
M2 Eth20
M1 P1/vc-lsp102
M3 P2/vc-lsp302
FIB for VPLS 1000
M2
M1
M3
VPLS: Data Plane (13)
www.netmanias.com
43
CE2
CE1
PE2
PE1
Eth20
Eth10
Site 1
Site 2
PE3 CE3 Eth30
Site 3
p1
p2
p3
p4
p5 p6 PE4
8. 이후의 프레임 전달 과정은 destination MAC address가 모두 학습되어 있으므로
flooding되지 않고 바로 unicast로 포워딩 된다. 몇 번의 Unknown frame들이 flooding 방식으로 오고 가면, 각 PE의 VPLS 1000의 FIB table은 아래와 같이 MAC entry들이 등록되게 된다.
MAC Interface
M1 Eth10
M2 P3/vc-lsp201
M3 P4/vc-lsp301
FIB for VPLS 1000
MAC Interface
M3 Eth30
M1 P5/vc-lsp103
M2 P6/vc-lsp203
FIB for VPLS 1000 MAC Interface
M2 Eth20
M1 P1/vc-lsp102
M3 P2/vc-lsp302
FIB for VPLS 1000
IP M2 M3
IP M2 M3
M2
M1
M3
VPLS: Data Plane (14)
www.netmanias.com
44
CE1
PE2
PE1
Eth20
Eth11
Site 1
Site 2
PE3 CE3 Eth30
Site 3
p1
p2
p3
p4
p5
p6
MAC Interface
M5 Eth11
M4 P3/vc-lsp21
M6 P4/vc-lsp31
M7 P4/vc-lsp31
FIB for VPLS 2000
MAC Interface
M3 Eth30
M1 P5/vc-lsp103
M2 P6/vc-lsp203
FIB for VPLS 1000 MAC Interface
M2 Eth20
M1 P1/vc-lsp102
M3 P2/vc-lsp302
FIB for VPLS 1000
CE2
Site 1
CE1
Eth21
CE2
Site 2
Eth10
M2
M1
M3
M5
M4
CE3
Site 3 M6
M7
MAC Interface
M4 Eth21
M5 P1/vc-lsp12
M6 P2/vc-lsp32
M7 P2/vc-lsp32
FIB for VPLS 2000
MAC Interface
M1 Eth10
M2 P3/vc-lsp201
M3 P4/vc-lsp301
FIB for VPLS 1000
MAC Interface
M6 Eth31
M7 Eth31
M5 P5/vc-lsp13
M4 P6/vc-lsp23
FIB for VPLS 2000
VPLS: Data Plane (15)
www.netmanias.com
45
CE1
PE2
PE1
Eth20
Eth11
Site 1
Site 2
PE3 CE3 Eth30
Site 3
p1
p2
p3
p4
p5
p6
MAC Interface
M5 Eth11
M4 P3/vc-lsp21
M6 P4/vc-lsp31
M7 P4/vc-lsp31
FIB for VPLS 2000
MAC Interface
M3 Eth30
M1 P5/vc-lsp103
M2 P6/vc-lsp203
FIB for VPLS 1000 MAC Interface
M2 Eth20
M1 P1/vc-lsp102
M3 P2/vc-lsp302
FIB for VPLS 1000
IP M2 M1
CE2
Site 1
CE2
Eth21
CE1
Site 2
Eth10
M2
M1
M3
M5
M4
CE1
Site 3 M6
M7
MAC Interface
M4 Eth21
M5 P1/vc-lsp12
M6 P2/vc-lsp32
M7 P2/vc-lsp32
FIB for VPLS 2000
MAC Interface
M1 Eth10
M2 P3/vc-lsp201
M3 P4/vc-lsp301
FIB for VPLS 1000
MAC Interface
M6 Eth31
M7 Eth31
M5 P5/vc-lsp13
M4 P6/vc-lsp23
FIB for VPLS 2000
IP M4 M5
IP M2 M1
IP M4 M5
VPLS: Data Plane (16)
www.netmanias.com
46
VPLS
1. VPN에 속한 Sites와 연결되어 있는 PE Router들간에 VCs full-mesh를 생성한다.
2. 각 PE Router에 VPN 정보를 등록한다. A VPN에 속한 VCs과 Ethernet port or VLAN ID를
하나의 VPN ID로 등록한다.
3. PE Router는 VPN에 속한 MAC address(자신쪽과 Egress쪽)를 학습한다.
4. Source MAC address learning과정은 802.1D방식으로 수행되는 데, 한 가지 차이점은
Ethernet frame을 받은 Port 뿐만 아니라 Outbound VC-Label값까지 학습한다는 점이다.
5. 초기에 Unknown frame이 PE 라우터로 들어오면 VPN에 속한 모든 PE 라우터로 Flooding
하고 이후 Destination MAC address가 학습되면 해당 PE로만 frame을 포워딩한다.
6. P 라우터는 Tunnel Label을 이용해 Label swapping방식으로 프레임을 스위칭하므로 MAC
address learning을 할 필요가 없다.
7. PE 라우터는 모든 PE에 연관된 MAC address를 다 학습하는 것은 아니고 VPN이 설정된
PE에 연관된 MAC address만 학습한다.
8. PE 라우터는 통상적인 L2 Switch와 달리 MPLS망내에서 STP를 돌리지 않는다. 망 복구는
MPLS의 Protection능력을 이용한다.
9. 1에서 언급한 바와 같이, 하나의 VPN에 속한 모든 PE들간에는 VCs이 Full-mesh로 생성한다. 즉, 모든 PE에서 다른 PE 로는 1HOP으로 전달된다. 이 때 Split-Horizon forwarding
rule을 적용하여 loop를 방지한다.
10. Split-Horizon forwarding rule: VC-to-another VC 포워딩을 금지
www.netmanias.com
47
Summary