Tổng quan
VXLAN là một giao thức ảo hóa mạng được phát triển để giải quyết các vấn đề liên quan đến mở rộng mạng ảo trong các môi trường ảo hóa và đám mây. Nó thường được sử dụng để tạo ra mạng ảo đám mây hoặc mạng ảo trên hạ tầng mạng vật lý.
Dưới đây là một số đặc điểm về VXLAN:
- Mục tiêu chính: VXLAN được thiết kế để mở rộng các mạng ảo trong môi trường ảo hóa và đám mây. Nó giúp tạo ra mạng ảo phân tán trên mạng vật lý có thể trải dài qua nhiều trung tâm dữ liệu hoặc mạng WAN.
- Giao thức encapsulation: VXLAN sử dụng giao thức encapsulation để đóng gói các gói tin mạng bên trong các gói tin UDP, cho phép nó truyền qua mạng vật lý mà không cần thay đổi cơ sở hạ tầng mạng hiện có.
- Segment ID: Mỗi mạng ảo VXLAN được định danh bằng một giá trị gọi là Segment ID hoặc VNI (VXLAN Network Identifier). Segment ID được sử dụng để phân biệt giữa các mạng ảo khác nhau và đảm bảo tính cách biệt giữa chúng.
- Quản lý và triển khai: VXLAN thường được quản lý và triển khai thông qua các NMS hoặc SDN controller để tự động hóa việc tạo và quản lý mạng ảo.
- Phù hợp với mạng lớp 2 và lớp 3: VXLAN có thể hoạt động ở cả layer 2 và 3, cho phép mạng ảo hoạt động dưới dạng mạng LAN ảo hoặc mạng ảo mạng IP.
Một số tình huống sử dụng VXLAN
Tình huống 1
Một doanh nghiệp có nhiều Data Center và muốn kết nối chúng lại với nhau để tạo thành một mạng ảo chung.
- Mạng vật lý: Doanh nghiệp có nhiều trung tâm dữ liệu đặt tại các địa điểm khác nhau, và mỗi trung tâm có một mạng vật lý riêng. Mạng vật lý của mỗi trung tâm sử dụng các giao thức và thiết bị mạng truyền thống như Ethernet, IP, và switch.
- Tạo mạng ảo với VXLAN:
- Tại mỗi trung tâm dữ liệu, doanh nghiệp triển khai VXLAN để tạo ra một mạng ảo. Mỗi mạng ảo có một Segment ID (VNI) riêng để định danh nó.
- VXLAN đóng gói các gói tin mạng bên trong gói tin UDP và sử dụng một địa chỉ IP đích để truyền gói tin đó qua mạng vật lý.
- Kết nối trung tâm dữ liệu:
- Để kết nối các trung tâm dữ liệu với nhau, doanh nghiệp sử dụng kết nối mạng công cộng hoặc mạng WAN.
- Các gói tin VXLAN được gửi qua mạng WAN, và tại mỗi trung tâm dữ liệu đích, chúng được giải mã và gửi tới mạng ảo tương ứng dựa trên Segment ID.
- Kết quả:
- Nhờ sử dụng VXLAN, doanh nghiệp đã tạo ra một mạng ảo đám mây riêng của họ, cho phép máy chủ và ứng dụng hoạt động như họ đang nằm trong cùng một mạng LAN ảo, dù chúng thực sự đặt tại các trung tâm dữ liệu khác nhau.
- Các mạng ảo này có thể mở rộng dễ dàng khi doanh nghiệp mở rộng hoặc thay đổi cơ sở hạ tầng của họ mà không cần thay đổi cơ sở hạ tầng mạng vật lý.
Tình huống 2
Nếu bạn có nhiều VLAN và subnet giống nhau trong cùng một trung tâm dữ liệu, bạn có thể sử dụng VXLAN để tạo các mạng ảo với các Segment ID khác nhau. VXLAN cho phép bạn tạo mạng ảo bên trên mạng vật lý và đảm bảo rằng các mạng ảo này cô lập với nhau, dù có các VLAN hoặc subnet giống nhau.
Ví dụ, bạn có thể có hai mạng ảo sử dụng VXLAN với các Segment ID khác nhau, ví dụ:
- Mạng ảo 1: Sử dụng Segment ID 1001, và bạn gán cho nó một phạm vi subnet A.
- Mạng ảo 2: Sử dụng Segment ID 1002, và bạn gán cho nó một phạm vi subnet B.
Dù cả hai mạng ảo sử dụng các VLAN hoặc subnet giống nhau, nhưng do họ sử dụng các Segment ID khác nhau, họ sẽ hoạt động độc lập và không giao tiếp với nhau, giúp cô lập dữ liệu và tránh xung đột.
Để dễ hình dung thì ở dưới đây là một sơ đồ cụ thể với hai switch Cisco Nexus 9000, trong đó cả hai switch có VLAN ID giống nhau (VLAN 100) và cùng subnet (192.168.1.0/24). Sau đó, chúng ta sẽ cấu hình để cho phép giao tiếp giữa chúng thông qua mạng ảo sử dụng VXLAN:
Trong sơ đồ này:
- Cả hai Switch 1 và Switch 2 đều có cùng VLAN ID (VLAN 100) và cùng subnet (192.168.1.0/24) cho mạng ảo của họ.
- Các máy tính hoặc thiết bị kết nối đến Switch 1 và Switch 2 và cấu hình địa chỉ IP theo mạng ảo này.
- Một thiết bị routing (router ảo hoặc router vật lý) đặt giữa hai switch để định tuyến dữ liệu giữa hai mạng ảo (VLAN 100).
Cấu hình VXLAN
Switch 1 (Nexus 9000 – Mạng ảo 1 – VXLAN ID 1001)
Tạo VLAN và gán VXLAN ID 1001 cho nó:
switch1(config)# vlan 100
switch1(config-vlan)# vn-segment 1001
Cấu hình cổng Ethernet1/1 để tham gia vào VLAN 100:
switch1(config)# interface Ethernet1/1
switch1(config-if)# switchport mode trunk
switch1(config-if)# switchport trunk allowed vlan 100
Đặt địa chỉ IP cho interface VLAN 100:
switch1(config)# interface Vlan100
switch1(config-if)# no shutdown
switch1(config-if)# ip address 192.168.1.1/24
Switch 2 (Nexus 9000 – Mạng ảo 2 – VXLAN ID 1002)
Tạo VLAN và gán VXLAN ID 1002 cho nó:
switch2(config)# vlan 100
switch2(config-vlan)# vn-segment 1002
Cấu hình cổng Ethernet1/1 để tham gia vào VLAN 100:
switch2(config)# interface Ethernet1/1
switch2(config-if)# switchport mode trunk
switch2(config-if)# switchport trunk allowed vlan 100
Đặt địa chỉ IP cho interface VLAN 100:
switch2(config)# interface Vlan100
switch2(config-if)# no shutdown
switch2(config-if)# ip address 192.168.1.2/24
Routing giữa hai mạng ảo (VLAN 1001 và VLAN 1002)
Khi bạn cấu hình thiết bị routing, bạn cần định tuyến dữ liệu giữa hai mạng ảo thông qua các địa chỉ IP của interface VLAN trên cả hai switch. Ví dụ, nếu bạn sử dụng router ảo, bạn có thể cấu hình như sau:
router(config)# interface Vlan100
router(config-if)# ip address 192.168.1.3/24
router(config-if)# no shutdown
router(config)# ip route 192.168.1.1/32 192.168.1.1
router(config)# ip route 192.168.1.2/32 192.168.1.2
Vấn đề khi sử dụng VXLAN
Nếu bạn có hai mạng ảo sử dụng VXLAN trên hai thiết bị khác nhau và chúng có cùng địa chỉ IP, có một số vấn đề cần xem xét:
- IP Duplicate: Nếu hai mạng ảo VXLAN trên hai thiết bị khác nhau sử dụng cùng địa chỉ IP và kết nối với nhau, đó là một sự trùng lặp địa chỉ IP và có thể gây ra xung đột trong mạng. Điều này có thể dẫn đến việc dữ liệu không đúng đích và hành vi không ổn định trong mạng.
- Isolation Violation: Mạng ảo VXLAN được thiết kế để cô lập mạng ảo với các mạng khác nhau, cho phép chúng hoạt động độc lập. Nếu bạn sử dụng cùng một địa chỉ IP trong cả hai mạng ảo, bạn mất đi tính cách biệt và cô lập giữa chúng.
- Routing Confusion: Nếu bạn cố gắng định tuyến giữa hai mạng ảo sử dụng cùng một địa chỉ IP, thiết bị routing hoặc router ảo có thể gặp khó khăn trong việc xác định đường đi đúng và có thể gây ra sự rối loạn trong việc định tuyến.
Để giải quyết vấn đề này, bạn nên thiết lập các địa chỉ IP duy nhất cho mỗi mạng ảo trên các thiết bị tương ứng. Việc sử dụng các địa chỉ IP duy nhất đảm bảo tính riêng biệt và cô lập giữa các mạng ảo và tránh các xung đột và lỗi trong mạng.