VXLAN Overview – Vì sao VXLAN ra đời?
Khi học về mạng Campus truyền thống, chúng ta quen với khái niệm VLAN để phân chia các miền Layer 2. Tuy nhiên, VLAN có một giới hạn lớn là chỉ sử dụng 12 bit trong thẻ 802.1Q, do đó chỉ hỗ trợ tối đa:
2¹² = 4.096 VLAN
Với mạng doanh nghiệp nhỏ thì con số này khá lớn, nhưng trong các trung tâm dữ liệu hiện đại, môi trường Cloud và Multi-Tenant, 4.096 VLAN nhanh chóng trở thành giới hạn. Vấn đề của VLAN truyền thống
Trong khung Ethernet thông thường, VLAN được biểu diễn thông qua trường 802.1Q VLAN Tag (12 bits). Ví dụ:
Giải pháp của VXLAN
VXLAN (Virtual Extensible LAN) thay thế VLAN ID bằng một trường mới gọi là VNI (VXLAN Network Identifier). VNI có độ dài 24 bit. Do đó số lượng mạng logic có thể tạo ra là 2²⁴ = 16.777.216 VNI. Tức là hơn 16 triệu mạng Layer 2 độc lập so với 4.096 VLAN truyền thống.
VXLAN đóng gói như thế nào?
Trong hình, chúng ta thấy toàn bộ khung Ethernet gốc được giữ nguyên. Khung Ethernet ban đầu DMAC, SMAC, 802.1Q (optional), EtherType, Payload, CRC sẽ được đóng gói bên trong một gói VXLAN mới. Cấu trúc mới Outer MAC Header, Outer IP Header, UDP Header, VXLAN Header, Original Ethernet Frame. Đây được gọi là MAC-in-UDP Encapsulation
Một khung Ethernet được đặt bên trong một gói UDP/IP.
Tại sao lại dùng UDP?
VXLAN được thiết kế để chạy trên hạ tầng Layer 3. Điều này mang lại nhiều lợi ích Tận dụng ECMP, Tận dụng định tuyến IP hiện có, Dễ mở rộng quy mô Data Center, không bị giới hạn bởi STP như mạng Layer 2 truyền thống. VXLAN mặc định sử dụng UDP Port 4789.
Overhead của VXLAN
Để vận chuyển một khung Ethernet qua mạng IP, VXLAN phải thêm các header mới Outer Ethernet Header 14 bytes, Outer IPv4, Header 20 bytes, UDP Header 8 bytes, VXLAN Header 8 bytes
Tổng overhead 14 + 20 + 8 + 8 = 50 bytes. Đây chính là con số được ghi trong hình. Ví dụ thực tế
Giả sử VM1 nằm ở Rack A và VM2 nằm ở Rack B. Cả hai đều thuộc:
VNI 10001. Mặc dù khác Switch, khác Rack, khác Subnet Underlay
nhưng VXLAN sẽ tạo cảm giác như VM1 ----- VM2 thuộc cùng VLAN. Đối với hệ điều hành và ứng dụng. Đây chính là khái niệm:
Layer 2 Overlay trên Layer 3 Underlay Underlay và Overlay
Trong mạng VXLAN hiện đại luôn tồn tại hai lớp mạng:
Underlay là Mạng IP vật lý bên dưới. Ví dụ:
Leaf1 --- Spine1 --- Leaf2
Chạy OSPF, IS-IS, eBGP
Nhiệm vụ của Underlay là Đảm bảo kết nối IP giữa các VTEP.
Overlay
Mạng ảo được xây dựng phía trên. Ví dụ VNI 10001, VNI 10002
VNI 10003. Nhiệm vụ là kéo dài, mở rộng Layer 2 giữa các máy chủ ở nhiều vị trí khác nhau.
Vai trò của VTEP
Thiết bị thực hiện đóng gói và giải đóng gói VXLAN gọi là VTEP (VXLAN Tunnel Endpoint). Khi nhận frame từ máy chủ Ethernet Frame, VTEP sẽ thực hiện các bước:
VXLAN được sinh ra để giải quyết giới hạn 4.096 VLAN của mạng Ethernet truyền thống. Thay vì dùng VLAN ID 12 bit, VXLAN sử dụng VNI 24 bit, cho phép tạo tới 16,7 triệu mạng logic. VXLAN hoạt động bằng cơ chế MAC-in-UDP Encapsulation, đóng gói toàn bộ frame Ethernet vào bên trong gói UDP/IP và vận chuyển qua mạng Layer 3. Đây là nền tảng của các kiến trúc Data Center hiện đại như Cisco VXLAN EVPN, VMware NSX, AWS VPC Networking, Azure Virtual Network, Multi-Tenant Cloud Infrastructure. Chúng ta có thể xem VXLAN là công nghệ đã mang khả năng mở rộng của IP Routing vào thế giới Layer 2.
Khi học về mạng Campus truyền thống, chúng ta quen với khái niệm VLAN để phân chia các miền Layer 2. Tuy nhiên, VLAN có một giới hạn lớn là chỉ sử dụng 12 bit trong thẻ 802.1Q, do đó chỉ hỗ trợ tối đa:
2¹² = 4.096 VLAN
Với mạng doanh nghiệp nhỏ thì con số này khá lớn, nhưng trong các trung tâm dữ liệu hiện đại, môi trường Cloud và Multi-Tenant, 4.096 VLAN nhanh chóng trở thành giới hạn. Vấn đề của VLAN truyền thống
Trong khung Ethernet thông thường, VLAN được biểu diễn thông qua trường 802.1Q VLAN Tag (12 bits). Ví dụ:
- VLAN 10 cho phòng Kế toán
- VLAN 20 cho phòng Nhân sự
- VLAN 100 cho máy chủ
- VLAN 200 cho khách
Giải pháp của VXLAN
VXLAN (Virtual Extensible LAN) thay thế VLAN ID bằng một trường mới gọi là VNI (VXLAN Network Identifier). VNI có độ dài 24 bit. Do đó số lượng mạng logic có thể tạo ra là 2²⁴ = 16.777.216 VNI. Tức là hơn 16 triệu mạng Layer 2 độc lập so với 4.096 VLAN truyền thống.
VXLAN đóng gói như thế nào?
Trong hình, chúng ta thấy toàn bộ khung Ethernet gốc được giữ nguyên. Khung Ethernet ban đầu DMAC, SMAC, 802.1Q (optional), EtherType, Payload, CRC sẽ được đóng gói bên trong một gói VXLAN mới. Cấu trúc mới Outer MAC Header, Outer IP Header, UDP Header, VXLAN Header, Original Ethernet Frame. Đây được gọi là MAC-in-UDP Encapsulation
Một khung Ethernet được đặt bên trong một gói UDP/IP.
Tại sao lại dùng UDP?
VXLAN được thiết kế để chạy trên hạ tầng Layer 3. Điều này mang lại nhiều lợi ích Tận dụng ECMP, Tận dụng định tuyến IP hiện có, Dễ mở rộng quy mô Data Center, không bị giới hạn bởi STP như mạng Layer 2 truyền thống. VXLAN mặc định sử dụng UDP Port 4789.
Overhead của VXLAN
Để vận chuyển một khung Ethernet qua mạng IP, VXLAN phải thêm các header mới Outer Ethernet Header 14 bytes, Outer IPv4, Header 20 bytes, UDP Header 8 bytes, VXLAN Header 8 bytes
Tổng overhead 14 + 20 + 8 + 8 = 50 bytes. Đây chính là con số được ghi trong hình. Ví dụ thực tế
Giả sử VM1 nằm ở Rack A và VM2 nằm ở Rack B. Cả hai đều thuộc:
VNI 10001. Mặc dù khác Switch, khác Rack, khác Subnet Underlay
nhưng VXLAN sẽ tạo cảm giác như VM1 ----- VM2 thuộc cùng VLAN. Đối với hệ điều hành và ứng dụng. Đây chính là khái niệm:
Layer 2 Overlay trên Layer 3 Underlay Underlay và Overlay
Trong mạng VXLAN hiện đại luôn tồn tại hai lớp mạng:
Underlay là Mạng IP vật lý bên dưới. Ví dụ:
Leaf1 --- Spine1 --- Leaf2
Chạy OSPF, IS-IS, eBGP
Nhiệm vụ của Underlay là Đảm bảo kết nối IP giữa các VTEP.
Overlay
Mạng ảo được xây dựng phía trên. Ví dụ VNI 10001, VNI 10002
VNI 10003. Nhiệm vụ là kéo dài, mở rộng Layer 2 giữa các máy chủ ở nhiều vị trí khác nhau.
Vai trò của VTEP
Thiết bị thực hiện đóng gói và giải đóng gói VXLAN gọi là VTEP (VXLAN Tunnel Endpoint). Khi nhận frame từ máy chủ Ethernet Frame, VTEP sẽ thực hiện các bước:
- Thêm VXLAN Header
- Thêm UDP Header
- Thêm Outer IP Header
- Gửi qua mạng Underlay
- Bóc các header VXLAN
- Khôi phục Ethernet Frame gốc
- Chuyển đến máy đích
VXLAN được sinh ra để giải quyết giới hạn 4.096 VLAN của mạng Ethernet truyền thống. Thay vì dùng VLAN ID 12 bit, VXLAN sử dụng VNI 24 bit, cho phép tạo tới 16,7 triệu mạng logic. VXLAN hoạt động bằng cơ chế MAC-in-UDP Encapsulation, đóng gói toàn bộ frame Ethernet vào bên trong gói UDP/IP và vận chuyển qua mạng Layer 3. Đây là nền tảng của các kiến trúc Data Center hiện đại như Cisco VXLAN EVPN, VMware NSX, AWS VPC Networking, Azure Virtual Network, Multi-Tenant Cloud Infrastructure. Chúng ta có thể xem VXLAN là công nghệ đã mang khả năng mở rộng của IP Routing vào thế giới Layer 2.