EVPN là gì?
EVPN (Ethernet VPN) là một control-plane dựa trên BGP dùng để phân phối thông tin MAC Address, IP Address và thông tin reachability của các endpoint trong mạng Layer 2/Layer 3 overlay.
Nói đơn giản hơn:
Có thể hình dung:
Trước khi có EVPN, VXLAN sử dụng flood-and-learn:
Các VTEP phải flood gói tin để tìm MAC của endpoint đích. Khi quy mô Data Center lên hàng nghìn server, lượng flood này trở thành vấn đề lớn.
EVPN ra đời để giải quyết bài toán đó.
EVPN hoạt động như thế nào?
Ví dụ:
VM1 (MAC A)
|
Leaf1 (VTEP1)
||
VXLAN Fabric
||
Leaf2 (VTEP2)
|
VM2 (MAC B)
Khi VM1 xuất hiện: Bước 1
Leaf1 học:
MAC A
IP A
VNI 10010 Bước 2
Thay vì flood, Leaf1 tạo một bản tin:
MAC A
IP A
VTEP = 10.1.1.1
VNI = 10010
và quảng bá nó bằng:
BGP EVPN Route Type 2 (MAC/IP Advertisement Route) Bước 3
Leaf2 nhận được route này và lưu:
MAC A
IP A
reachable via VTEP1
Khi VM2 muốn gửi traffic đến VM1:
Leaf2 đã biết:
MAC A → VTEP1
nên gửi unicast VXLAN trực tiếp đến VTEP1.
Không cần:
Đây là lý do trong hình có dòng:
EVPN mang lại những lợi ích gì?
1. Multi-Tenancy
EVPN cho phép tạo nhiều tenant độc lập:
Tenant A
VRF-A
VNI 5000
Tenant B
VRF-B
VNI 6000
Mỗi tenant:
Đây là nền tảng của:
2. Host Mobility
Đây là tính năng rất quan trọng trong Cloud.
Ví dụ:
VM1
Leaf1
sau đó vMotion sang:
VM1
Leaf3
Leaf3 sẽ phát:
EVPN MAC/IP Route
MAC Mobility Sequence Number = 2
Toàn bộ fabric biết:
MAC VM1
đã chuyển sang Leaf3
Traffic tự động chuyển hướng.
Không cần:
Đây chính là:
trong slide.
Các loại Route trong EVPN
Trong thực tế, EVPN định nghĩa nhiều route type: Route Type 1
Ethernet Auto Discovery
Dùng cho:
Route Type 2
MAC/IP Advertisement
Phổ biến nhất.
Quảng bá:
Route Type 3
Inclusive Multicast Ethernet Tag
Xây dựng BUM replication.
Route Type 5
IP Prefix Route
Dùng cho:
Cisco ACI và VXLAN EVPN Fabric sử dụng Route Type 5 rất nhiều.
Vậy BGP Route Reflector (RR) là gì?
Trong Fabric EVPN, tất cả Leaf switch đều chạy:
MP-BGP EVPN Address Family
Nếu dùng Full Mesh:
Ví dụ 100 Leaf:
100 × 99 / 2
= 4950 phiên BGP
Rất khó mở rộng.
Do đó người ta sử dụng: BGP Route Reflector (RR)
Mô hình:
RR1
/ | \
/ | \
Leaf1 Leaf2 Leaf3
\ | /
RR2
Các Leaf chỉ cần:
Leaf1 <-> RR1
Leaf1 <-> RR2
Leaf2 <-> RR1
Leaf2 <-> RR2
...
Không cần:
Leaf1 <-> Leaf2
Leaf1 <-> Leaf3
Leaf2 <-> Leaf3
Số lượng phiên BGP giảm rất lớn.
RR làm gì trong EVPN Fabric?
Ví dụ:
VM1 nằm sau Leaf1.
Leaf1 phát:
MAC A
IP A
VNI 10010
VTEP1
gửi lên RR.
RR:
RR chỉ làm nhiệm vụ: Nhận EVPN Route
↓ Phản xạ (Reflect)
↓ Gửi cho toàn bộ Leaf khác
Ví dụ:
Leaf1
|
RR
/ | \
L2 L3 L4
RR giống như:
Data traffic hoàn toàn không đi qua RR.
Vì sao RR cực kỳ quan trọng trong Fabric?
Khả năng mở rộng
Hàng trăm đến hàng nghìn VTEP.
Ví dụ:
Không thể dùng Full Mesh.
Giảm CPU và Memory
Mỗi Leaf chỉ duy trì:
2-4 phiên BGP
thay vì:
499 phiên
Tăng tính ổn định
RR giúp:
Trong Cisco Fabric, RR thường nằm ở đâu?
Cisco VXLAN EVPN Fabric
Thông thường:
Spine Switch
↓
Route Reflector
Spine:
Leaf:
Ví dụ:
Spine1 (RR)
Spine2 (RR)
/ | \
/ | \
Leaf1 Leaf2 Leaf3
VTEP VTEP VTEP
Spine:
Chỉ phản xạ:
EVPN Route Type 1
EVPN Route Type 2
EVPN Route Type 3
EVPN Route Type 5
cho toàn bộ Fabric.
Tóm tắt dễ nhớ
VXLAN
→ Data Plane (đóng gói và vận chuyển lưu lượng)
EVPN
→ Control Plane (phân phối MAC/IP/VNI, loại bỏ flooding, hỗ trợ multi-tenancy và mobility)
Route Reflector
→ Trung tâm phân phối thông tin BGP EVPN trong Fabric, giúp mở rộng từ vài switch lên hàng trăm hoặc hàng nghìn VTEP mà không cần BGP Full Mesh.
EVPN (Ethernet VPN) là một control-plane dựa trên BGP dùng để phân phối thông tin MAC Address, IP Address và thông tin reachability của các endpoint trong mạng Layer 2/Layer 3 overlay.
Nói đơn giản hơn:
- VXLAN là cơ chế data-plane dùng để đóng gói (encapsulation) frame Ethernet vào gói UDP/IP.
- EVPN là cơ chế control-plane dùng để trao đổi thông tin học được trong overlay.
Có thể hình dung:
VXLAN = "Đường hầm (Tunnel)"
EVPN = "Hệ thống GPS chỉ đường và quản lý endpoint bên trong các đường hầm đó"
EVPN = "Hệ thống GPS chỉ đường và quản lý endpoint bên trong các đường hầm đó"
Trước khi có EVPN, VXLAN sử dụng flood-and-learn:
- Unknown Unicast
- Broadcast
- Multicast (BUM Traffic)
Các VTEP phải flood gói tin để tìm MAC của endpoint đích. Khi quy mô Data Center lên hàng nghìn server, lượng flood này trở thành vấn đề lớn.
EVPN ra đời để giải quyết bài toán đó.
EVPN hoạt động như thế nào?
Ví dụ:
VM1 (MAC A)
|
Leaf1 (VTEP1)
||
VXLAN Fabric
||
Leaf2 (VTEP2)
|
VM2 (MAC B)
Khi VM1 xuất hiện: Bước 1
Leaf1 học:
MAC A
IP A
VNI 10010 Bước 2
Thay vì flood, Leaf1 tạo một bản tin:
MAC A
IP A
VTEP = 10.1.1.1
VNI = 10010
và quảng bá nó bằng:
BGP EVPN Route Type 2 (MAC/IP Advertisement Route) Bước 3
Leaf2 nhận được route này và lưu:
MAC A
IP A
reachable via VTEP1
Khi VM2 muốn gửi traffic đến VM1:
Leaf2 đã biết:
MAC A → VTEP1
nên gửi unicast VXLAN trực tiếp đến VTEP1.
Không cần:
- Flood
- Unknown Unicast
- Multicast tree
Đây là lý do trong hình có dòng:
Increased Scale – Eliminates Flooding
EVPN mang lại những lợi ích gì?
1. Multi-Tenancy
EVPN cho phép tạo nhiều tenant độc lập:
Tenant A
VRF-A
VNI 5000
Tenant B
VRF-B
VNI 6000
Mỗi tenant:
- MAC Table riêng
- Routing Table riêng
- Policy riêng
Đây là nền tảng của:
- Cisco ACI
- Cisco SD-Access
- VMware NSX
- Public Cloud Fabric
2. Host Mobility
Đây là tính năng rất quan trọng trong Cloud.
Ví dụ:
VM1
Leaf1
sau đó vMotion sang:
VM1
Leaf3
Leaf3 sẽ phát:
EVPN MAC/IP Route
MAC Mobility Sequence Number = 2
Toàn bộ fabric biết:
MAC VM1
đã chuyển sang Leaf3
Traffic tự động chuyển hướng.
Không cần:
- Clear ARP
- Clear MAC Table
- STP reconvergence
Đây chính là:
Seamless Host Mobility at Cloud Scale
trong slide.
Các loại Route trong EVPN
Trong thực tế, EVPN định nghĩa nhiều route type: Route Type 1
Ethernet Auto Discovery
Dùng cho:
- Multihoming
- Aliasing
- Fast Convergence
Route Type 2
MAC/IP Advertisement
Phổ biến nhất.
Quảng bá:
- MAC
- IP
- VTEP
Route Type 3
Inclusive Multicast Ethernet Tag
Xây dựng BUM replication.
Route Type 5
IP Prefix Route
Dùng cho:
- Symmetric IRB
- Distributed Anycast Gateway
- Inter-VRF routing
Cisco ACI và VXLAN EVPN Fabric sử dụng Route Type 5 rất nhiều.
Vậy BGP Route Reflector (RR) là gì?
Trong Fabric EVPN, tất cả Leaf switch đều chạy:
MP-BGP EVPN Address Family
Nếu dùng Full Mesh:
Ví dụ 100 Leaf:
100 × 99 / 2
= 4950 phiên BGP
Rất khó mở rộng.
Do đó người ta sử dụng: BGP Route Reflector (RR)
Mô hình:
RR1
/ | \
/ | \
Leaf1 Leaf2 Leaf3
\ | /
RR2
Các Leaf chỉ cần:
Leaf1 <-> RR1
Leaf1 <-> RR2
Leaf2 <-> RR1
Leaf2 <-> RR2
...
Không cần:
Leaf1 <-> Leaf2
Leaf1 <-> Leaf3
Leaf2 <-> Leaf3
Số lượng phiên BGP giảm rất lớn.
RR làm gì trong EVPN Fabric?
Ví dụ:
VM1 nằm sau Leaf1.
Leaf1 phát:
MAC A
IP A
VNI 10010
VTEP1
gửi lên RR.
RR:
- Không học MAC
- Không forward data
- Không làm VTEP
RR chỉ làm nhiệm vụ: Nhận EVPN Route
↓ Phản xạ (Reflect)
↓ Gửi cho toàn bộ Leaf khác
Ví dụ:
Leaf1
|
RR
/ | \
L2 L3 L4
RR giống như:
Trung tâm phân phối thông tin điều khiển (Control Plane Distribution Hub).
Data traffic hoàn toàn không đi qua RR.
Vì sao RR cực kỳ quan trọng trong Fabric?
Khả năng mở rộng
Hàng trăm đến hàng nghìn VTEP.
Ví dụ:
- 500 Leaf
- 200.000 MAC
- Hàng triệu route Type 5
Không thể dùng Full Mesh.
Giảm CPU và Memory
Mỗi Leaf chỉ duy trì:
2-4 phiên BGP
thay vì:
499 phiên
Tăng tính ổn định
RR giúp:
- Faster convergence
- Dễ vận hành
- Dễ mở rộng Data Center
Trong Cisco Fabric, RR thường nằm ở đâu?
Cisco VXLAN EVPN Fabric
Thông thường:
Spine Switch
↓
Route Reflector
Spine:
- Underlay IP Routing
- EVPN Route Reflector
Leaf:
- VTEP
- Anycast Gateway
- Distributed Routing
Ví dụ:
Spine1 (RR)
Spine2 (RR)
/ | \
/ | \
Leaf1 Leaf2 Leaf3
VTEP VTEP VTEP
Spine:
- Không encapsulate VXLAN
- Không lưu MAC endpoint
- Không chuyển traffic East-West
Chỉ phản xạ:
EVPN Route Type 1
EVPN Route Type 2
EVPN Route Type 3
EVPN Route Type 5
cho toàn bộ Fabric.
Tóm tắt dễ nhớ
VXLAN
→ Data Plane (đóng gói và vận chuyển lưu lượng)
EVPN
→ Control Plane (phân phối MAC/IP/VNI, loại bỏ flooding, hỗ trợ multi-tenancy và mobility)
Route Reflector
→ Trung tâm phân phối thông tin BGP EVPN trong Fabric, giúp mở rộng từ vài switch lên hàng trăm hoặc hàng nghìn VTEP mà không cần BGP Full Mesh.