Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh công nghệ thông tin phát triển nhanh chóng, các dịch vụ Internet trở nên thiết yếu và nhu cầu kết nối không dây mọi lúc mọi nơi tăng mạnh. Mạng không dây (WiFi) đóng vai trò then chốt nhưng cũng đặt ra nhiều thách thức kỹ thuật trong quá trình khảo sát, thiết kế và triển khai như: vật cản môi trường, độ chịu tải của thiết bị, tính ổn định và hiệu quả của các giao thức truyền tải. Việc thử nghiệm hệ thống mạng trước khi triển khai thực tế là yêu cầu quan trọng nhằm tối ưu hóa chi phí và giảm thiểu sự cố vận hành.

Các phương pháp thử nghiệm truyền thống tồn tại những điểm hạn chế nhất định:

  • Hệ thống thiết bị thực (Testbed): Mang lại độ tin cậy và tính thực tế cao nhưng chi phí phần cứng, mặt bằng lắp đặt và công sức bảo trì rất lớn; khó khăn khi cần thay đổi kịch bản thử nghiệm quy mô lớn.
  • Mô phỏng mạng (Simulation): Giúp tiết kiệm chi phí và hỗ trợ số lượng node lớn, song việc dựa hoàn toàn vào các mô hình toán học và thuật toán khiến độ trung thực của kết quả thấp hơn thực tế, không chạy trực tiếp mã nguồn ứng dụng thực.
  • Giả lập mạng (Emulation): Trung hòa ưu điểm của hai hướng tiếp cận trên, cho phép thực thi thời gian thực trên mã thực tế với chi phí thấp hơn testbed vật lý.

Khóa luận lựa chọn hướng tiếp cận giả lập mạng kết hợp công nghệ ảo hóa container (Docker/Containernet), môi trường giả lập mạng không dây Mininet-WiFi và công cụ điều phối Kubernetes nhằm xây dựng một hệ thống giả lập mạng không dây có khả năng mở rộng linh hoạt, quản lý tập trung và tự động hóa cao.

Mục tiêu nghiên cứu:

  1. Nghiên cứu mô hình triển khai hệ thống ảo hóa mạng không dây.
  2. Xây dựng hệ thống ảo hóa mạng không dây trên nền tảng container.
  3. Triển khai và đánh giá hiệu năng hệ thống mạng không dây ảo trên môi trường điều phối.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Mô hình mạng không dây ảo, công cụ triển khai và quản lý container (Docker, Kubernetes), công cụ tích hợp thiết bị và giao thức không dây (Mininet-WiFi, Containernet), cùng các mã nguồn mở liên quan đến mạng không dây.
  • Phạm vi nghiên cứu: Triển khai mô hình giả lập mạng không dây chuẩn IEEE 802.11 trên cụm Kubernetes Cluster (Master - Worker) chạy trên môi trường máy ảo VMware, đánh giá các chỉ số tải hệ thống (CPU, bộ nhớ) và khả năng kết nối mạng ảo.

Cơ sở lý thuyết và phương pháp

Khóa luận tổng hợp các khung lý thuyết, công nghệ và phương pháp tiếp cận trong lĩnh vực kỹ thuật mạng máy tính và ảo hóa:

1. Khung lý thuyết và công nghệ nền tảng

  • Các hệ thống Testbed tiêu biểu: Phân tích các mô hình phần cứng thực nghiệm lớn như SensLAB (1024 node cảm biến tại 4 địa điểm ở Pháp), Des-Testbed (95 node phục vụ WMN và WSN), và StarBED (hơn 1000 PC tại Nhật Bản, sử dụng bộ công cụ QOMET).
  • Công cụ mô phỏng và giả lập mạng: Phân tích các phần mềm mô phỏng (NS3, Cisco Packet Tracer, OPNET Modeler, OMNET++, Qualnet) và các công cụ giả lập phân tán (Dummynet, QOMET, GNS3, Mininet-WiFi, QOMB, AEROMAN).
  • Mạng điều khiển bằng phần mềm (SDN/SDWN): Kiến trúc tách biệt mặt phẳng điều khiển (Control Plane) tập trung và mặt phẳng chuyển tiếp dữ liệu (Forwarding/Data Plane), ứng dụng OpenFlow để quản lý định tuyến mềm dẻo. Mininet-WiFi mở rộng SDN cho mạng không dây thông qua trình điều khiển Linux mac80211/SoftMac3.
  • Containernet: Nhánh phát triển của Mininet cho phép tích hợp Docker container đóng vai trò làm máy chủ (host) hoặc trạm thu phát không dây (STA), hỗ trợ điều chỉnh tài nguyên CPU/RAM linh hoạt thông qua Docker CFS.
  • Nền tảng Kubernetes (K8s): Hệ thống điều phối container tự động với các thành phần cốt lõi:
    • Master Node: API Server, Scheduler, Controller Manager, cơ sở dữ liệu etcd.
    • Worker Node: Kubelet, Container Runtime (Docker), Kube-proxy.
    • Đối tượng quản lý: Pod, Service, Deployment, ReplicaSet, ConfigMap, Network Policy.
  • Calico Overlay Network: Giải pháp mạng CNI (Container Network Interface) cho phép định tuyến inter-workload traffic và thiết lập chính sách mạng chi tiết (granular network policy) giữa các node trong cluster.

2. Bảng so sánh các hướng tiếp cận thử nghiệm mạng

Tiêu chí Hệ thống thực (Testbed) Mô phỏng mạng (Simulation) Giả lập mạng (Emulation)
Môi trường thực thi Thiết bị phần cứng thật Phần mềm mô hình hóa toán học Môi trường ảo hóa/Container chạy mã thực
Độ tin cậy kết quả Rất cao (sát thực tế) Trung bình (phụ thuộc thuật toán) Cao (chạy hệ điều hành và stack mạng thật)
Chi phí đầu tư & bảo trì Rất cao Thấp Thấp đến trung bình
Khả năng thay đổi kịch bản Phức tạp, tốn thời gian Rất nhanh, linh hoạt Nhanh chóng qua file cấu hình
Công cụ tiêu biểu SensLAB, StarBED, Des-Testbed NS3, Cisco Packet Tracer, OMNET++ Mininet-WiFi, Containernet, QOMET, GNS3

3. Phương pháp nghiên cứu thực tế

Tác giả sử dụng phương pháp thực nghiệm kỹ thuật:

  • Thiết lập cụm Kubernetes phân tán gồm 1 Master Node và 2 Worker Node trên máy ảo Ubuntu 20.04 LTS.
  • Xây dựng Dockerfile tích hợp Containernet và Mininet-WiFi, đóng gói thành image để triển khai dưới dạng Kubernetes Pod.
  • Soạn thảo kịch bản thử nghiệm bằng ngôn ngữ Python/YAML mô phỏng topology mạng gồm Access Point (AP), Controller và các Station (STA).
  • Thu thập và đo lường định lượng các thông số hiệu năng hệ thống (CPU Usage, CPU Load, Memory Usage) và trạng thái liên kết mạng khi chịu tải 10 kết nối và 50 kết nối.

Thiết kế và triển khai hệ thống

1. Kiến trúc hệ thống

Hệ thống được thiết kế theo mô hình phân tầng Master - Worker do Kubernetes điều phối:

  • Master Node: Tiếp nhận cấu hình triển khai (file YAML/Manifest), lập lịch phân bổ tài nguyên, giám sát trạng thái cụm và quản trị giao diện Dashboard.
  • Worker (Slave) Nodes: Tiếp nhận và vận hành các Pod chứa Containernet. Bên trong mỗi Pod, Containernet khởi tạo các trạm không dây ảo (STA), điểm truy cập (AP) và liên kết mạng ảo tương tác trực tiếp với giao diện mạng của container.
  • Hạ tầng mạng kết nối: Sử dụng Calico Overlay Network để định tuyến gói tin giữa các node và áp dụng chính sách mạng.

2. Thông số phần cứng và cấu hình Master Node

Thành phần Thông số cấu hình
Hệ điều hành Ubuntu 20.04 LTS
Bộ xử lý (CPU) 4 Cores
Bộ nhớ (RAM) 6 GB
Ổ cứng (Hard Disk) 40 GB
Nền tảng ảo hóa VMware Workstation

3. Quy trình cài đặt và cấu hình cụm Kubernetes

  1. Cài đặt môi trường: Cài đặt Docker engine (docker.io), các gói phụ thuộc apt-transport-https, curl, cùng bộ công cụ kubeadm, kubelet, kubectl.
  2. Đồng bộ cgroup driver: Cấu hình file /etc/docker/daemon.json với tham số {"exec-opts": ["native.cgroupdriver=systemd"]} để đồng bộ trình quản lý cgroup giữa Docker và Kubernetes.
  3. Cấu hình định danh: Khai báo địa chỉ IP và hostname của Master node và Worker nodes trong file /etc/hosts và cấu hình /etc/systemd/system/kubelet.conf.
  4. Khởi tạo Cluster: Thực thi lệnh khởi tạo Master Node: kubeadm init --pod-network-cidr=192.0/16 --apiserver-advertise-address=192.140
  5. Gia nhập cụm (Join Cluster): Sử dụng token và sha256 hash từ kubeadm token create --print-join-command trên các máy Slave để kết nối vào Master.
  6. Cấu hình mạng và giao diện: Triển khai Calico CNI manifest cho dải mạng Pod, cài đặt Kubernetes Dashboard UI, tạo tài khoản quản trị và kích hoạt kubectl proxy.
  7. Biên soạn Image Containernet: Tạo Dockerfile chuyên dụng cho Containernet, đóng gói toàn bộ thư viện Mininet-WiFi, OpenFlow và các module liên kết hạt nhân Linux, sau đó phân phối image tới các node trong cụm.

Nội dung chính theo từng chương

Chương 1: Mở đầu

Chương này nêu rõ lý do chọn đề tài xuất phát từ nhu cầu kiểm thử chất lượng mạng không dây trước khi triển khai thực tế nhằm giảm thiểu rủi ro vận hành. Tác giả xác định 3 mục tiêu nghiên cứu cụ thể, đối tượng nghiên cứu là mô hình mạng không dây ảo cùng các nền tảng mã nguồn mở (Docker, Kubernetes, Mininet-WiFi), và phạm vi thực nghiệm trên môi trường ảo hóa. Đóng góp cốt lõi được xác định là tính mới trong việc kết hợp Kubernetes với Mininet-WiFi để tạo khả năng mở rộng mạng giả lập lên đến hàng trăm node.

Chương 2: Tổng quan

Nội dung chương 2 tập trung phân tích lý thuyết và so sánh 3 hướng tiếp cận thử nghiệm mạng (Testbed, Mô phỏng, Giả lập). Tác giả trình bày chi tiết kiến trúc mạng điều khiển bằng phần mềm (SDN/SDWN) với 3 lớp: ứng dụng, điều khiển và cơ sở hạ tầng. Giới thiệu các đặc tính kỹ thuật của Mininet-WiFi, Containernet và Docker. Đặc biệt, chương này so sánh chi tiết giữa Kubernetes và Docker Swarm trên 5 tiêu chí:

Tiêu chí Kubernetes Docker Swarm
Định nghĩa Ứng dụng triển khai qua kết hợp Services, Deployments và Pods Ứng dụng triển khai dưới dạng Services/Microservices trong cụm Swarm
Mạng (Networking) Hệ thống mạng cho phép Pods kết nối trực tiếp; CNI plugin linh hoạt Lớp mạng Overlay giữa các docker host; giao tiếp qua virtual bridge
Khả năng mở rộng (Scalability) Đảm bảo tính nhất quán toàn cụm; quản lý phức tạp hơn nhưng quy mô lớn hơn Mở rộng nhanh hơn với cấu trúc đơn giản, ít tốn tài nguyên quản lý
Tính sẵn sàng cao (High Availability) Pods phân tán đều giữa các node; tự động loại bỏ node lỗi Tự cấu hình replicate; Master node tự phân bổ tài nguyên
Cân bằng tải (Load Balancing) Sử dụng Service nội bộ và Ingress để cân bằng tải bên ngoài vào Dựa trên cơ chế DNS nội bộ và định tuyến theo tên service

Chương 3: Phân tích và triển khai hệ thống

Chương 3 mô tả chi tiết toàn bộ quá trình xây dựng hệ sinh thái giả lập:

  • Thiết lập mô hình Master - Worker trên máy ảo Ubuntu 20.04 LTS.
  • Triển khai mạng Calico Overlay Network để quản lý dải IP 192.0/16.
  • Cấu hình file /etc/docker/daemon.json chuyển sang systemd cgroup.
  • Các bước biên soạn Dockerfile, tag image và viết file YAML Manifest mô tả Pod chứa Containernet.
  • Thiết lập kịch bản mạng thử nghiệm gồm 1 Access Point, các trạm Station (sta1, sta2) và thực hiện cấu hình tương tác dòng lệnh qua Containernet CLI.

Chương 4: Phân tích và đánh giá

Chương 4 ghi nhận kết quả chạy thực nghiệm theo 2 kịch bản (Kịch bản 1 - KB1 và Kịch bản 2 - KB2) với hai mức tải 10 kết nối và 50 kết nối:

  • Thu thập dữ liệu và phân tích các biểu đồ: CPU usage (%), CPU load (%), Memory usage (%) trên hệ thống Master/Worker.
  • Thống kê các chỉ số truyền nhận dữ liệu, số gói tin, trạng thái liên kết không dây của các trạm sta1 và sta2 khi kết nối vào trạm phát sóng (AP).
  • Đánh giá khả năng mở rộng hệ thống và tính ổn định của cụm khi gia tăng số lượng container mạng.

Chương 5: Kết luận

Chương cuối tổng hợp các kết quả đã đạt được trong quá trình nghiên cứu và triển khai hệ thống giả lập mạng không dây trên Kubernetes. Nêu rõ các mặt hạn chế còn tồn đọng và đề xuất các hướng mở rộng, tối ưu hóa hệ thống trong tương lai.


Kết quả và đóng góp

1. Kết quả thực nghiệm

  • Triển khai thành công cụm Kubernetes điều phối Containernet: Hệ thống vận hành ổn định trên kiến trúc 1 Master Node và 2 Worker Node, kết nối thông suốt qua mạng Calico CNI.
  • Đo lường hiệu năng theo kịch bản tải:
    • Mức tải 10 kết nối: Hệ thống duy trì mức sử dụng CPU (CPU usage), tải CPU (CPU load) và dung lượng bộ nhớ (Memory usage) ở ngưỡng thấp và ổn định; các luồng truyền nhận giữa sta1, sta2 và AP không xảy ra nghẽn.
    • Mức tải 50 kết nối: Mức tiêu thụ tài nguyên CPU và RAM tăng tương ứng nhưng hệ thống Kubernetes vẫn đảm bảo tính sẵn sàng cao, không xảy ra hiện tượng sập Pod hay mất kết nối cụm.
  • Khả năng quản trị: Quản lý toàn bộ cấu hình mạng giả lập thông qua tệp YAML, hỗ trợ triển khai lại nhanh chóng (Infrastructure as Code) và theo dõi trạng thái qua Kubernetes Dashboard.

2. Giải pháp và kiến nghị của tác giả

  • Ứng dụng hệ thống làm môi trường kiểm thử tiền triển khai cho các kỹ sư mạng, giúp phát hiện sớm các rủi ro về độ chịu tải và cấu hình giao thức.
  • Tự động hóa quá trình kiểm thử mạng không dây thông qua việc tích hợp các kịch bản YAML và công cụ CI/CD.

3. Đóng góp của đề tài

  • Tính mới: Đề xuất và hiện thực hóa thành công mô hình kết hợp giữa Kubernetes với Mininet-WiFi/Containernet — một hướng tiếp cận mới chưa phổ biến trong các nghiên cứu giả lập mạng không dây trước đó.
  • Khả năng ứng dụng và mở rộng: Xây dựng môi trường thử nghiệm độc lập, linh hoạt, có thể mở rộng lên tới hàng trăm node mạng trên nền tảng điện toán phân tán mà không đòi hỏi chi phí đầu tư thiết bị vật lý lớn.

Hạn chế và hướng nghiên cứu tiếp

1. Hạn chế

  • Hệ thống thực nghiệm mới được triển khai trên hạ tầng máy ảo VMware với quy mô 1 Master và 2 Worker, chưa đánh giá trên các cụm máy chủ vật lý phân tán quy mô lớn.
  • Kịch bản thử nghiệm tập trung vào chuẩn WiFi 802.11 với các topology cơ bản (1 AP, các trạm STA), chưa mô phỏng đầy đủ các yếu tố môi trường thực tế phức tạp như vật cản địa hình đa dạng, nhiễu sóng đa đường cường độ cao hoặc tính di động phức tạp của các node di động.
  • Mức độ tiêu tốn tài nguyên quản lý của Kubernetes cao hơn so với các công cụ điều phối nhẹ như Docker Swarm.

2. Hướng nghiên cứu tiếp

  • Mở rộng quy mô cụm Kubernetes lên nhiều Worker Node vật lý hơn để kiểm thử khả năng giả lập hàng ngàn node không dây đồng thời.
  • Tích hợp thêm các giao thức định tuyến mạng không dây phức tạp (như OLSR trong mạng MANET/Mesh) và các mô hình lưu lượng thích ứng (Adaptive Traffic).
  • Nghiên cứu cơ chế tự động co giãn (Auto-scaling) số lượng Pod giả lập dựa trên lưu lượng mạng mô phỏng thực tế.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo thiết thực cho:

  • Sinh viên và nghiên cứu sinh ngành Mạng máy tính, An toàn thông tin, Viễn thông: Nắm vững phương pháp kết hợp công nghệ container hóa (Docker, Containernet) với hệ thống điều phối Kubernetes để xây dựng môi trường lab mạng.
  • Kỹ sư thiết kế và tối ưu mạng: Tham khảo mô hình thử nghiệm giả lập trước khi triển khai hệ thống WiFi thực tế, giúp ước lượng tài nguyên và kiểm tra tính tương thích của giao thức.
  • Nội dung tham khảo trọng tâm: Bảng so sánh giữa Kubernetes và Docker Swarm (Chương 2); quy trình chi tiết cấu hình mạng Calico, đồng bộ cgroupdriver=systemd, biên soạn Dockerfile cho Containernet và các manifest YAML triển khai Pod (Chương 3).

Câu hỏi thường gặp

1. Vì sao nhóm tác giả lựa chọn Kubernetes thay vì Docker Swarm để quản lý hệ thống giả lập?

Mặc dù Docker Swarm nhẹ và triển khai nhanh hơn, Kubernetes được lựa chọn vì đáp ứng tốt các yêu cầu phức tạp của đề tài: khả năng quản lý phân tán quy mô lớn, tính năng Self-healing (tự phục hồi Pod khi có lỗi), cơ chế Scheduling và Affinity linh hoạt, hệ sinh thái CNI phong phú (như Calico) và khả năng mở rộng lên hàng trăm node mạng.

2. Calico Overlay Network đóng vai trò gì trong hệ thống này?

Calico là plugin mạng (CNI) được sử dụng để thiết lập lớp mạng overlay kết nối các Pod Containernet nằm trên các Worker node khác nhau trong dải mạng 192.0/16. Calico cho phép định tuyến inter-workload traffic và áp dụng các chính sách mạng chi tiết (granular network policies) cho toàn bộ cụm.

3. Thông số phần cứng của máy Master trong thử nghiệm là bao nhiêu?

Máy Master được cài đặt hệ điều hành Ubuntu 20.04 LTS trên nền tảng máy ảo VMware với cấu hình phần cứng gồm: 4 nhân CPU (4 Cores), 6 GB RAM và 40 GB dung lượng ổ đĩa cứng (Hard Disk).

4. Containernet khác biệt gì so với Mininet tiêu chuẩn?

Mininet tiêu chuẩn sử dụng các tiến trình Linux network namespace thông thường để làm host. Containernet là nhánh mở rộng cho phép sử dụng trực tiếp các Docker container làm máy chủ hoặc trạm phát sóng Mininet-WiFi. Điều này cho phép chạy các ứng dụng thực tế bên trong container và quản lý giới hạn tài nguyên CPU/RAM thông qua Docker CFS.


Kết luận

Khóa luận đã nghiên cứu và xây dựng thành công hệ thống giả lập mạng không dây chuẩn 802.11 dựa trên sự kết hợp giữa Mininet-WiFi, Containernet và nền tảng điều phối Kubernetes. Bằng việc thực thi các kịch bản thử nghiệm 10 và 50 kết nối trên mô hình 1 Master - 2 Worker, đề tài đã chứng minh tính khả thi, độ ổn định và tiềm năng mở rộng của kiến trúc mạng ảo hóa. Đây là tài liệu kỹ thuật có giá trị ứng dụng cao cho công tác nghiên cứu, đào tạo và thử nghiệm tiền triển khai trong lĩnh vực mạng máy tính và truyền thông.