vì sao VXLAN (Virtual Extensible LAN) ra đời và tại sao nó gần như trở thành nền tảng mặc định của các Data Center hiện đại sử dụng EVPN-VXLAN Fabric. 1. Mô hình VLAN truyền thống (hình 1)
Trong Ethernet truyền thống, khi hai switch kết nối với nhau, lưu lượng của nhiều VLAN được mang qua trunk port bằng cơ chế IEEE 802.1Q Tagging.
Một Ethernet Frame sẽ có dạng:
DMAC | SMAC | 802.1Q Tag | EtherType | Payload | CRC
Phần quan trọng ở đây là:
Trên thực tế:
Đối với mạng Campus, con số này thường đủ. Tuy nhiên trong Data Center Cloud, đây là một giới hạn rất lớn.
Ví dụ:
Một nhà cung cấp Cloud có:
Chỉ riêng nhu cầu này đã vượt xa 4094 VLAN.
Ngoài ra, VLAN truyền thống còn gặp nhiều vấn đề:
2. VXLAN ra đời để giải quyết vấn đề này (hình 2)
Hình thứ hai cho thấy một thay đổi rất lớn:
Thay vì chỉ dùng 802.1Q tag 12 bit, VXLAN đóng gói (encapsulate) toàn bộ Ethernet Frame gốc vào bên trong một gói UDP/IP.
Frame mới:
Outer MAC
Outer IP
UDP
VXLAN Header
Original Layer 2 Frame
Ethernet Frame ban đầu được giữ nguyên hoàn toàn:
DMAC
SMAC
802.1Q
EtherType
Payload
CRC
Toàn bộ frame này được đặt vào trong đường hầm VXLAN.
Ta có thể hình dung:
Ethernet Frame
↓
VXLAN Tunnel
↓
UDP/IP Network (Underlay)
↓
Ethernet Frame
3. Overhead của VXLAN
Hình vẽ chỉ ra phần overhead: Outer Ethernet Header
14 Bytes Outer IP Header
20 Bytes (IPv4) UDP Header
8 Bytes VXLAN Header
8 Bytes
Tổng:
14 + 20 + 8 + 8
= 50 Bytes
VXLAN tạo thêm: 50 Bytes overhead
Do đó trong EVPN-VXLAN Fabric thường phải cấu hình:
để tránh fragmentation.
Ví dụ trên Nexus:
system jumbomtu 9216
4. Điểm quan trọng nhất: VNI 24 bit
VXLAN không còn sử dụng VLAN ID 12 bit để phân biệt mạng Layer 2.
Nó sử dụng:
VXLAN Network Identifier (VNI)
Kích thước:
24 bits
Không gian địa chỉ:
224=16,777,2162^{24}=16,777,216224=16,777,216
Tức là: Hơn 16 triệu segment Layer 2
so với: 4094 VLAN truyền thống.
Đây là bước nhảy vọt cực kỳ lớn.
Ví dụ:
Nhờ vậy:
5. Vai trò của EVPN trong hình
Trong hình thứ hai, đám mây EVPN nằm phía trên đường VXLAN.
Nhiều người thường nhầm:
Thực tế:
VXLAN:
EVPN:
Có thể hình dung:
EVPN = Bộ não (Control Plane)
VXLAN = Đường hầm vận chuyển (Data Plane)
Hoặc:
BGP EVPN
↓
Phân phối MAC/IP/VNI
↓
VXLAN Tunnel
↓
Chuyển tiếp lưu lượng
6. Ví dụ thực tế trong Data Center Spine-Leaf
Giả sử:
Server A (Leaf1)
VLAN 10
IP 10.10.10.11
↓
Map sang
VNI 10010
↓
Server B (Leaf2)
VLAN 10
IP 10.10.10.12
Khi Server A gửi frame:
Original Ethernet Frame
↓
Leaf1 encapsulate
Outer IP = VTEP Leaf1
Outer IP Destination = VTEP Leaf2
UDP Port = 4789
VNI = 10010
↓
IP Fabric
↓
Leaf2 decapsulate
↓
Original Ethernet Frame
Đối với Underlay Network, nó chỉ nhìn thấy:
Leaf1 VTEP IP
↔
Leaf2 VTEP IP
Hoàn toàn không cần biết:
Chính nhờ cơ chế này mà EVPN-VXLAN Fabric có thể mở rộng tới hàng chục nghìn server và hàng triệu mạng Layer 2 logic, trở thành kiến trúc mặc định trong các Data Center hiện đại như Cisco Nexus Fabric, Cisco ACI, VMware NSX, AWS, Azure và Google Cloud.
Trong Ethernet truyền thống, khi hai switch kết nối với nhau, lưu lượng của nhiều VLAN được mang qua trunk port bằng cơ chế IEEE 802.1Q Tagging.
Một Ethernet Frame sẽ có dạng:
DMAC | SMAC | 802.1Q Tag | EtherType | Payload | CRC
Phần quan trọng ở đây là:
- VLAN ID (VID) trong 802.1Q chỉ có 12 bits
- Số lượng VLAN tối đa:
Trên thực tế:
- VLAN 0: Priority Tagging
- VLAN 4095: Reserved
- VLAN sử dụng được: khoảng 4094 VLAN
Đối với mạng Campus, con số này thường đủ. Tuy nhiên trong Data Center Cloud, đây là một giới hạn rất lớn.
Ví dụ:
Một nhà cung cấp Cloud có:
- 5.000 khách hàng (Tenant)
- Mỗi khách hàng cần:
- Production VLAN
- Development VLAN
- DMZ VLAN
- Database VLAN
Chỉ riêng nhu cầu này đã vượt xa 4094 VLAN.
Ngoài ra, VLAN truyền thống còn gặp nhiều vấn đề:
- Mở rộng Layer 2 qua nhiều Data Center khó khăn
- STP chặn link dư thừa
- Khó thực hiện VM Mobility (vMotion, Live Migration)
- Multi-tenancy bị giới hạn
- Broadcast Domain lớn.
2. VXLAN ra đời để giải quyết vấn đề này (hình 2)
Hình thứ hai cho thấy một thay đổi rất lớn:
Thay vì chỉ dùng 802.1Q tag 12 bit, VXLAN đóng gói (encapsulate) toàn bộ Ethernet Frame gốc vào bên trong một gói UDP/IP.
Frame mới:
Outer MAC
Outer IP
UDP
VXLAN Header
Original Layer 2 Frame
Ethernet Frame ban đầu được giữ nguyên hoàn toàn:
DMAC
SMAC
802.1Q
EtherType
Payload
CRC
Toàn bộ frame này được đặt vào trong đường hầm VXLAN.
Ta có thể hình dung:
Ethernet Frame
↓
VXLAN Tunnel
↓
UDP/IP Network (Underlay)
↓
Ethernet Frame
3. Overhead của VXLAN
Hình vẽ chỉ ra phần overhead: Outer Ethernet Header
14 Bytes Outer IP Header
20 Bytes (IPv4) UDP Header
8 Bytes VXLAN Header
8 Bytes
Tổng:
14 + 20 + 8 + 8
= 50 Bytes
VXLAN tạo thêm: 50 Bytes overhead
Do đó trong EVPN-VXLAN Fabric thường phải cấu hình:
- MTU 9100
- Jumbo Frame 9216
để tránh fragmentation.
Ví dụ trên Nexus:
system jumbomtu 9216
4. Điểm quan trọng nhất: VNI 24 bit
VXLAN không còn sử dụng VLAN ID 12 bit để phân biệt mạng Layer 2.
Nó sử dụng:
VXLAN Network Identifier (VNI)
Kích thước:
24 bits
Không gian địa chỉ:
224=16,777,2162^{24}=16,777,216224=16,777,216
Tức là: Hơn 16 triệu segment Layer 2
so với: 4094 VLAN truyền thống.
Đây là bước nhảy vọt cực kỳ lớn.
Ví dụ:
| VLAN | 4094 |
| VXLAN VNI | 16,777,216 |
- Mỗi Tenant có thể có hàng nghìn segment riêng
- Cloud Provider có thể phục vụ hàng triệu workload
- Multi-tenancy trở nên dễ dàng
- Hỗ trợ Hybrid Cloud và Multi-DC.
5. Vai trò của EVPN trong hình
Trong hình thứ hai, đám mây EVPN nằm phía trên đường VXLAN.
Nhiều người thường nhầm:
EVPN = VXLAN
Thực tế:
VXLAN:
- Data Plane
- Đóng gói traffic
- Mang frame Layer 2 qua mạng IP.
EVPN:
- Control Plane
- Phân phối MAC/IP
- Học endpoint bằng BGP
- Giảm flood và unknown unicast
- Hỗ trợ Multi-homing
- Hỗ trợ Anycast Gateway.
Có thể hình dung:
EVPN = Bộ não (Control Plane)
VXLAN = Đường hầm vận chuyển (Data Plane)
Hoặc:
BGP EVPN
↓
Phân phối MAC/IP/VNI
↓
VXLAN Tunnel
↓
Chuyển tiếp lưu lượng
6. Ví dụ thực tế trong Data Center Spine-Leaf
Giả sử:
Server A (Leaf1)
VLAN 10
IP 10.10.10.11
↓
Map sang
VNI 10010
↓
Server B (Leaf2)
VLAN 10
IP 10.10.10.12
Khi Server A gửi frame:
Original Ethernet Frame
↓
Leaf1 encapsulate
Outer IP = VTEP Leaf1
Outer IP Destination = VTEP Leaf2
UDP Port = 4789
VNI = 10010
↓
IP Fabric
↓
Leaf2 decapsulate
↓
Original Ethernet Frame
Đối với Underlay Network, nó chỉ nhìn thấy:
Leaf1 VTEP IP
↔
Leaf2 VTEP IP
Hoàn toàn không cần biết:
- VLAN 10
- MAC Address của Server
- Tenant nào đang sử dụng.
Chính nhờ cơ chế này mà EVPN-VXLAN Fabric có thể mở rộng tới hàng chục nghìn server và hàng triệu mạng Layer 2 logic, trở thành kiến trúc mặc định trong các Data Center hiện đại như Cisco Nexus Fabric, Cisco ACI, VMware NSX, AWS, Azure và Google Cloud.