VxLAN là công nghệ ảo hóa được sử dụng phổ biến trong các trung tâm dữ liệu. Ngoài ra, nó còn được sử dụng với mô hình Spine-and-Leaf giúp tăng khả năng mở rộng và tính linh hoạt trên VxLAN Overlay. Cụ thể như thế nào, hãy cùng BKHOST theo dõi bài chia sẻ dưới đây để biết chi tiết hơn.
VxLAN là gì?
VxLAN – Virtual extensible Local Area Network là công nghệ ảo hóa hỗ trợ mở rộng lớp mạng ở quy mô lớn. Cụ thể, VxLAN giúp mở rộng phân đoạn L2 trên cơ sở hạ tầng mạng L3 và đóng gói các Ethernet Frame L2 chứa địa chỉ IP.
Các phân đoạn VxLAN được xác định dựa vào trường VNID 24-bit có thể mở rộng tới 16 triệu phân đoạn khác nhau. Loại công nghệ tiêu chuẩn hóa được triển khai bởi các nhà cung cấp VMware, Cisco và Arista Network.
VxLAN so với VLAN
VxLAN và VLAN có một điểm chung đó là đều được sử dụng để đóng gói các Frame và phân đoạn mạng L2. Điểm khác nữa hai công nghệ này đó là:
- VLAN sử dụng thẻ của Frame L2 để đóng gói và mở rộng hơn 4000 VLAN khác.
- VxLAN thì đóng gói MAC trong UDP và mở rộng tới 16 triệu phân đoạn VxLAN khác.
Ưu điểm VxLAN
Dưới đây là một số ưu điểm mà VxLAN mang lại:
- VxLAN có thể cải thiện khả năng mở rộng trong mạng hoặc trung tâm dữ liệu ảo hóa. Đồng thời nó có thể cung cấp tính linh hoạt cho cấu trúc của nó.
- VxLAN cung cấp mức độ bảo mật cao bằng cách phân đoạn mạng và nó hữu ích đối với một số bên thuê khác.
- Đơn giản hóa mạng, Spanning Trees, Trunking và VLAN L2.
- VxLAN hỗ trợ khả năng di chuyển máy ảo từ máy chủ trong mạng con này sang máy chủ trong mạng con khác mà không cần thay đổi địa chỉ IP.
- Bộ chuyển mạch VxLAN giúp đóng gói các Frame L2 thành các gói L3. Cụ thể, L2 ảo chạy VNI được xây dựng dựa trên cơ sở hạ tầng L3 chạy IP.
- VxLAN tách mạng ảo khỏi mạng thực hỗ trợ quá trình quản lý, triển khai và giám sát mạng diễn ra dễ dàng hơn.
- Hỗ trợ phần cứng thông qua ASIC, chẳng hạn như thiết bị chuyển mạch là nền tảng Nexus 9000-EX của Cisco.
- VxLAN là một tiêu chuẩn kỹ thuật mã nguồn mở miễn phí.
Thiết kế mạng VxLAN Overlay
VxLAN là công nghệ Overlay được triển khai để tạo ra lớp mạng ảo trên cơ sở hạ tầng mạng thực. Các nhà phát triển sử dụng mạng IP Underlay để xây dựng mạng Overlay L2. Do đó, Overlay này có thể hỗ trợ kết nối các L2 mở rộng với L3.
Mạng Overlay và mạng Underlay hoạt động độc lập với nhau nên khi mạng này được sửa đổi sẽ không ảnh hưởng đến mạng còn lại. Ngoài ra, Mạng Overlay khi thiết kế có thể không cần thực hiện các thao tác bổ sung như thêm, xóa hoặc cập nhật các thiết bị mạng.
Một số sự cố về hiệu suất và thời gian hoạt động của Underlay có ảnh hưởng đến Overlay. Chẳng hạn như khi không được cung cấp đủ băng thông thì Overlay sẽ bị ảnh hưởng. Để khắc phục vấn đề này hãy sử dụng Switching Fabric của Underlay có tên gọi là Spine-and-Leaf.
Spine-and-Leaf (Underlay) + VxLAN (Overlay)
Cấu trúc của Switching Fabric như Spine-and-Leaf thường được sử dụng làm Underlay. Nó giúp cải thiện hiệu suất, hỗ trợ khả năng mở rộng, làm tăng độ tin cậy và tính linh hoạt trên VxLAN Overlay khi Underlay thay đổi.
Spine-and-Leaf là một cấu trúc hoạt động độc lập thường được liên kết với VxLAN. Cấu trúc Spine-and-Leaf này gồm có hai lớp chính:
- Spine bao gồm các bộ chuyển mạch được sử dụng để truyền lưu lượng từ Spine sang Leaf.
- Leaf gồm các bộ chuyển mạch kết nối các spine và Endpoint. Trong đó, các thiết bị Leaf Layer Switch sẽ tạo ra các VxLAN Tunnel, đóng gói và ánh xạ VLAN sang VNI. Ngoài ra, các bộ chuyển mạch thực hiện chức năng VxLAN được gọi là VTPE.
Hầu hết các bộ chuyển mạch Leaf đều được liên kết với Spine thông qua địa chỉ IP bằng giao thức định tuyến IGP như BGP hoặc OSPF. Loại cấu trúc liên kết này giúp đơn giản hóa các bước di chuyển của lưu lượng.
Leaf-and-Switch sử dụng ECMP để khôi phục một bộ chuyển mạch Spine hoặc liên kết lỗi nhằm khắc phục vấn đề cân bằng tải lưu lượng. VxLAN và Spine-and-Leaf Fabric có liên quan đến nhau. Nguyên nhân là do khi Overlay mở rộng quy mô thì Underlay hỗ trợ có thể được chỉnh sửa kích thước mà không ảnh hưởng đến thiết kế trước đó của Overlay.
VxLAN được bổ sung vào Spine-and-Leaf Underlay cho phép các IP di động trên East-west Traffic Pattern. Trong trường hợp mở rộng mạng thì các thiết kế không cần thay đổi mà chỉ cần bổ sung thêm Switch, địa chỉ IP và Overlay.
Đóng gói VXLAN
Để liên kết các L2 mở rộng với L3, VxLAN sẽ đóng gói các Ethernet Frame L2 trong IP UDP Header.
VxLAN bổ sung các trường say vào Layer 2 Frame ban đầu:
- Outer MAC Header có kích thước 14 byte là tiêu đề chứa các thông tin của quá trình di chuyển tiếp theo như địa chỉ MAC, VxLAN Endpoint, VLAN ID 16bit và Type.
- Outer IP Header có kích thước 20 byte là tiêu đề hỗ trợ di chuyển qua mạng IP gồm địa chỉ đến, địa chỉ IP nguồn và VxLAN Endpoint.
- Outer UDP Header có kích thước 8 byte là tiêu đề được sử dụng để xác định gói VxLAN bao gồm cổng nguồn UDP, cổng VxLAN và kích thước UDP.
- A VxLAN Header hay VNI là tiêu đề được sử dụng để xác định phân đoạn VxLAN tương tự như thẻ VLAN ID (16 bit) trên MAC Header nhưng với kích thước 24 bit, cho phép tới 16 triệu phân đoạn khác nhau.
VxLAN Tunnel Endpoint (VTEP)
Hầu hết các Endpoint như máy chủ, bộ chuyển mạch hay bộ định tuyến hỗ trợ VxLAN đều được gọi là VxLAN Tunnel Endpoint. Nhiệm vụ của VTEP đó là đóng gói và giải mã các lưu lượng của VxLAN.
VTEP hoạt động như thế nào?
Mỗi VTEP có thể liên kết với nhiều VNI khác và nó được kết nối với mạng Underlay bằng địa chỉ IP L3. Nếu như một Frame L2 có cùng VNI kết nối với đầu vào thì VTEP sẽ đóng gói Frame đó bằng VxLAN Header và UDP/IP.
Frame này sẽ được gửi đi bằng cách sử dụng mạng IP Underlay di chuyển đến VTPE đầu ra để giải mã. Trong đó, VTPE đầu ra này sẽ loại bỏ các IP Header và UDP để cung cấp Frame L2 ban đầu.
Một VTPE có thể là một bộ chuyển mạch ảo hoặc thực thường được cấu hình trên các Leaf switches. Nó giao tiếp dựa vào các cơ chế chuyển tiếp và định tuyến IP Underlay truyền thống như OSPF và EIGRP.
VTEP + IP Transport: Node Bud
Node But là một thiết bị chuyển mạch được sử dụng để thực hiện các tác vụ liên quan đến VxLAN và một thiết bị chuyển tiếp IP để chuyển tiếp lưu lượng VxLAN. Nó giúp phân phối lưu lượng đến các VTEP bằng cách sử dụng VxLAN VNI trong một nhóm phát đa hướng.
Chẳng hạn như Node But hỗ trợ Host-1 giao tiếp với Host-3. VTEP-2 và VTEP-3 thuộc nhóm phát đa hướng trong VxLAN VNI và VTEP-2 có nhiệm vụ kiểm tra IP VxLAN từ gói. Sau đó chuyển tiếp nó đến các vị trí yêu cầu dựa trên IP.
Nếu như Host-1 muốn giao tiếp với Host-2 thì VTEP-2 sẽ giải mã gói VxLAN. Tuy nhiên, không phải tất cả các nền tảng đều là Node But. Một số nền tảng chạy VxLAN trên ASIC phổ biến như Cisco Nexus 9000 có sức mạnh xử lý tốt phù hợp với loại cấu trúc liên kết này.
VTEP dự phòng với vPC
Khi VTEP lỗi thì cần sử dụng các VTEP dự phòng. Mặc dù cấu trúc dự phòng Spine-and-Leaf không được kết nối với nhau nhưng nó vẫn có tính năng hỗ trợ ở cấp độ máy chủ.
Hai cổng VTEP Leaf hoạt động giống như một Peer-link và Keep-alive Link. Nó có thể được thực hiện bằng cách sử dụng tính năng hỗ trợ dựa trên Cisco được gọi là vPC. Trong đó, vPC là một tính năng L2 nằm trên các thiết bị chuyển mạch Cisco Nexus giúp kết nối máy chủ với hai thiết bị chuyển mạch khác nhau cùng một lúc.
Triển khai VxLAN
VxLAN là công nghệ tiêu chuẩn không giới hạn được hỗ trợ bởi phần cứng và phần mềm. Để triển khai công nghệ này, người dùng có thể sử dụng một trong hai phương pháp đó là dựa vào máy chủ hoặc cổng VxLAN.
VxLAN dựa trên máy chủ
VxLAN khá linh hoạt bởi vì nó có thể chạy trên mọi máy chủ hỗ trợ VxLAN. Chẳng hạn như trình ảo hóa được sử dụng để định cấu hình hỗ trợ VxLAN trên các máy ảo. Ngoài ra, vSwitch có nhiệm vụ chạy các chức năng của VTEP và đóng gói lưu lượng truy cập từ máy ảo đến các thiết bị chuyển mạch thực.
Bởi vì quá trình đóng gói VxLAN được thực hiện trực tiếp trên máy chủ nên các phần còn lại của cơ sở hạ tầng mạng chỉ hiển thị phần lưu lượng IP. Ưu điểm của phương pháp triển khai này đó là giúp đơn giản hóa toàn bộ mạng thực. Một số máy chủ khác có thể hỗ trợ VxLAN như Server, Firewall, Load Balancer,..
VxLAN dựa trên cổng
Nếu như máy chủ không hỗ trợ VxLAN thì hãy sử dụng bộ chuyển mạch hoặc bộ định tuyến để triển khai công nghệ này. Một bộ chuyển mạch hỗ trợ VTEP là VxLAN Gateway có thể thực hiện các công việc như đóng gói, giải mã và dịch VLAN ID sang VNI.
Cổng VxLAN sẽ tạo một Tunnel đến CTEP đích mà máy chủ và cơ sở hạ tầng IP không biết. Điều này giúp tạo điều kiện triển khai dễ dàng hơn trên một số nền tảng như Cisco Nexus 9000-EX trên phần cứng. Ngoài ra, lựa chọn chạy VxLAN trên ASIC sẽ giúp cải thiện hiệu suất hiệu quả hơn.
Triển khai kết hợp
Để tăng hiệu quả triển khai, ban có thể lựa chọn sử dụng đồng thời cả hai phương pháp. Cụ thể, quá trình triển khai này sẽ sử dụng VxLAN với một số thiết bị phía sau cổng VxLAN hoặc một số máy chủ chạy VxLAN gốc.
Quy trình VxLAN
Sau khi đã tìm hiểu về cấu trúc Spine-and-Leaf Overlay, đóng gói VxLAN và VTEP. Bây giờ, chúng ta sẽ cùng tìm hiểu tiếp về quy trình của VxLAN chạy từ máy chủ này sang máy chủ khác trên mạng cơ bản.
Nếu Host A muốn giao tiếp Host B ở phía bên kia của mạng thì A cần tạo một Frame L2 và gửi nó đến cổng chuyển đổi. Trong đó, cổng chuyển đổi này sẽ nhận được cấu hình với một VLAN cụ thể. Sau đó, nó sẽ cung cấp một VLAN ID cho Frame của Host A.
Switch A của cổng VxLAN chạy VTEP có nhiệm vụ ánh xạ IP VLAN nguồn với ID VxLAN đích. Cụ thể, VTEP sẽ bổ sung VxLAN Header và đóng gói Frame L2 thành gói L3. Sau đó chuyển tiếp nó đến cơ sở hạ tầng L3.
Cơ sở hạ tầng giữa L3 chỉ có thể nhận được lưu lượng IP và không được cung cấp bất kỳ thông tin VxLAN nào. Nguyên nhân là do lưu lượng VxLAN đã được thiết lập một Tunnel riêng. Do đó, tất cả các bộ định tuyến trên mạng Underlay chỉ có thể nhìn thấy IP Header được chuyển tiếp.
Đầu vào của cổng VxLAN và Switch B cũng là một VTEP có khả năng mở gói để tìm các thông tin liên quan, sau đó chuyển đổi VxLAN IP thành VLAN ID. Do đó, nó có thể khai thác VLAN ID và sử dụng địa chỉ MAC đích để chuyển đổi nó sang cổng của bộ chuyển mạch truy cập tương ứng.
Host Z không được cung cấp các thông tin về VxLAN. Do đó, việc nhận Frame L2 sẽ do Host A thực hiện.
Tổng kết về VxLAN
Hy vọng với bài chia sẻ trên đây đã giúp bạn đọc hiểu hơn về VxLAN. Đồng thời qua đây bạn có thể triển khai công nghệ ảo hóa này một cách hiệu quả.
Nếu còn gặp bất cứ vướng mắc gì về VxLAN, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.
P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.