Mở đầu. * Chương 2: Cơ sở lý thuyết. » Chương 3: Phương pháp thực hiện. « Chương 4: Thực nghiệm, đánh giá va thảo luận.
* Chương 5: Kết luận và hướng phát triển. CƠ SỞ LÝ THUYET Trong chương này, tôi sẽ trình bày các nền tảng lý thuyết được vận dụng trong quá trình thực hiện khóa luận. Các nền tảng này bao gồm các khái niệm, nguyên lý cùng các thuật toán. Các nội dung sẽ được trình bày bao gồm: SDN, giao thức gMNI và gNOI, mạng container và kiến trúc vi dịch vụ, Docker và Kubernetes, các giao thức định tuyến liên cụm Kubernetes 2.1 Tong quan ve SDN Ý tưởng về một mạng có thé được lập trình được dé xuất từ giữa thập niên 1990, khi Internet bắt đầu bùng nổ.
Vào khoảng thời gian ấy, các nhà nghiên cứu đã nhận thấy rằng, các mô hình mạng truyền thống rất thiếu linh hoạt và cần rất nhiều bước để xây dựng, thử nghiệm, phát triển và chuẩn hóa các ý tưởng mới. Do đó, một số nhà nghiên cứu đã theo đuổi một hướng tiếp cận mới, gọi là Active Networking (Mô hình mạng chủ động). Y tưởng của Active Networking là cài đặt một giao diện lập trình lên thiết bị mạng, cho phép người lập trình tương tác với một số tài nguyên va thay đổi các chức năng xử lý gói tin [1]. Active Networking cũng cho phép tích hợp một cách đồng nhất các dịch vụ trung gian như tường lửa, proxy,.
giúp đơn giản hóa việc triển khai và quản lý các dịch vụ. Các ý tưởng cho Active Networking chính là tiền đề cho quá trình phát triển SDN từ giữa những năm 2000, bắt đầu với sự phát triển của giao thức điều khiển thiết bị mạng OpenFlow. Có nhiều cách định nghĩa khác nhau cho SDN. Trong khóa luận, người thực hiện sử dụng các định nghĩa được nêu trong sách Software-Defined Networks: A Systems Aproach [2] và được Tổ chức Mạng Mở (ONF) chấp nhận: * "Software Define Networking là một cách tiếp cận về cách triển khai mạng." * “Software-Defined Network là mạng với tầng điều khiển được tách khỏi tang chuyển tiếp gói tin về mặt vật lý, và một tầng điều khiển duy nhất điều khiển nhiều thiết bị chuyển tiếp gói tin." Vì sự ngắn gọn của định nghĩa, SDN về cơ bản giống như một ý tưởng, một CHƯƠNG 2.
CƠ SỞ LÝ THUYẾT hướng tiếp cận để giải quyết các van dé trong mang máy tính. Cũng vì thế, có nhiều phương pháp khác nhau để hiện thực hóa SDN. Tuy vậy, chúng đều có điểm chung: cho phép sử dụng các phần mềm tại tầng điều khiển để tương tác với toàn bộ hạ tầng mạng thông qua các giao diện chuyên dụng. Ngoài ra, khác với các mô hình mạng truyền thống chỉ sử dung các thiết bị cứng (switch, router,.
) trên mạng vật lý, SDN cho phép điều khiển cả mạng vật lý lẫn mạng ảo.2 Các thành phần của SDN Theo Liang và Li [3], một mang SDN có thể được chia thành năm thành phần như sau: tầng ứng dụng (application plane), giao diện northbound, tầng điều khiển (control plane), giao diện southbound, và tầng dữ liệu (data plane) (Hình 2. Bộ điều khiển SDN là chương trình thuộc tầng điều khiển SDN, được xem là đầu não của toàn mạng SDN, với chức năng quản lý và điều khiển các thiết bị dựa trên các quy tắc về luồng thông tin. Nó sử dụng các giao thức đặc biệt để giao tiếp và gửi thông báo đến các thiết bị mạng - thành phần trực tiếp chuyển tiếp các gói tin. img/Chap2/SDN/The-typical-logical-SDN-architecture - JP9 Hình 2.
Mô hình kiến trúc một SDN [3] Các bộ điều khiển SDN điều hướng lưu lượng truy cập theo chính sách được thiết đặt bởi quản trị viên của mạng, do đó giảm thiểu được việc cấu hình thủ công cho từng thiết bị mạng riêng lẻ. Bằng cách loại bỏ phần mềm điều khiển khỏi phần cứng 7 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT mạng và đặt tại vùng xử lý riêng, SDN tạo điều kiện cho việc quản lý mạng tự động và khiến việc tích hợp và quản lý các ứng dụng nghiệp vụ của tổ chức trở nên dễ dàng hơn. Trên thực tế, bộ điều khiển SDN hoạt động như một loại hệ điều hành cho toàn mạng.
Bộ điều khiển giao tiếp với các ứng dụng thông qua các giao điện northbound và giao tiếp vói các thiết bi mạng riêng lẻ thông qua các giao diện đầu southbound. Hiện tại, một số giao thức được chấp nhận cho các giao diện southbound bao gồm: OpenFlow, gRPC Network Management Interface (gNMI)/gRPC Network Opera- tion Interface (gNOD, P4, v.3 Phân tán tang điều khiển Theo định nghĩa, mạng SDN có một tầng điều khiển duy nhất. Tuy nhiên, ta có thể hiểu sự duy nhất ở đây theo nghĩa logic. Như vậy, một tầng điều khiển có thể gồm nhiều nút được triển khai phân tán, song vẫn đồng nhất về mặt dữ liệu và do đó có thé xem như một khối thong nhất [4].
Trên thực tế, việc triển khai một trung tâm duy nhất cho hệ thống nói chung hạn chế khả năng mở rộng, tính sẵn sàng và khả năng chịu lỗi. Do vậy, việc triển khai phân tán là cần thiết. Các mô hình lớp điều khiển SDN phân tán có thể chia ra thành mô hình phẳng và mô hình phân cấp. Trong mô hình phẳng, các bộ điều khiển ngang hàng nhau và kiểm soát các vùng mạng khác nhau.
Việc đồng bộ thông tin mạng được thực hiện qua sự đồng thuận giữa các bộ điều khiển. Mô hình phẳng cho phép chịu lỗi tốt hơn vì không có điểm lỗi duy nhất, song lại có cách triển khai phức tap hơn va chi phí vận hành lớn hơn khi mô hình mở rộng với nhiều thành viên. Trong mô hình phân cấp, một bộ điều khiển được xem là trung tâm, đóng vai trò lưu trữ thông tin toàn cục, cập nhật dữ liệu và phân phối đến các bộ điều khiến thứ cáp với vai trò trực tiếp điều khiển các vùng. Mô hình này, tuy đảm bảo tính nhất quán cao và dễ triển khai hơn, lại dễ gặp lỗi và mắt tính đồng bộ khi nút chủ gặp sự cô.
CƠ SỞ LÝ THUYET img/Chap2/SDN/flat. Mô hình tầng điều khiển SDN phẳng [5] 2.2 Nhân bản dữ liệu và đồng bộ dữ liệu Để đảm bảo tính phân tán cao của toàn hệ thống, lưu trữ phân tán cũng là một thành phần quan trọng. Nhân bản và đồng bộ dữ liệu là một phần không thể thiếu đối với hệ lưu trữ này.1 Nhân bản dw liệu Nhân bản dữ liệu tạo ra các ban sao giống nhau của các bản cập nhật dữ liệu và lưu trữ chúng tại các vị trí khác nhau. Nhân bản giúp tăng độ sẵn sàng và khả năng dự phòng cho di liệu, cho phép truy cập nhanh hơn tại các vị trí khác nhau và bảo vệ dữ liệu khỏi mất mát hoặc hư hỏng.
Tuy nhiên, thao tác này chưa thể đảm bảo tính nhất quán ngay lập tức khi các bản cập nhật có thể cần các khoảng thời gian khác nhau để đến các bản sao dữ liệu. Đồng bộ dữ liệu Đồng bộ dif liệu đảm bao sự nhất quán giữa các bản sao dữ liệu. Trong quá trình này, những thay đổi được áp dụng cho nơi lưu trữ chính được lan truyền hiệu quả đến các nơi lưu trữ còn lại. Đồng bộ hóa giảm thiểu sự khác biệt và cho phép cập nhật theo hoặc gần thời gian thực trên nhiều nơi lưu trữ.
CƠ SỞ LÝ THUYET img/Chap2/SDN/Hierarchical. M6 hinh tang diéu khién SDN phang [5] 2.3 Một số mô hình nhân ban và đồng bộ Các mô hình sau đây có các ưu và nhược điểm, cũng như có thể được sử dụng kết hợp với nhau để tạo ra mô hình nhân bản và đồng bộ tối ưu: 2.1 Gửi trực tiếp nhiều ban sao đến các cơ sở dữ liệu img/Chap2/data_sync/Replica. Bên gửi gửi nhiều ban sao đến các cơ sở dữ liệu (CSDL) 10 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Trong mô hình này, bên gửi tạo các bản sao cho bản cập nhật dif liệu rồi gửi đến các nơi lưu trữ tương ứng.4 thể hiện một mô hình đơn giản với bên gửi và hai cơ sở dữ liệu (CSDL) A và B đóng vai trò như các nơi lưu trữ, song mô hình này cũng có thể áp dụng với nhiều bên gửi và CSDL.
° Uu điểm: - Phòng tránh mất mát trong quá trình truyền dữ liệu nhờ tạo nhiều bản sao từ nguồn. ¢ Nhược điểm: - Không đảm bảo hoàn toàn tính nhất quán giữa nhiều cơ sở dữ liệu - Cần can thiệp và chỉnh sửa trực tiếp mã nguồn phần mềm, không thích hợp với các phần mềm mã nguồn đóng, hoặc mã nguồn quá phức tạp để (bên thứ ba) chỉnh sửa - Yêu cầu nhiều tài nguyên từ bên gửi khi số CSDL đích tăng cao 2.2 Sao chép lưu lượng bằng thành phần mạng trung gian Trong mô hình này, bên gửi chỉ cần gửi một bản dữ liệu duy nhất đến một thành phần trung gian mạng (có thể là gateway, bộ cân bằng tải hoặc một máy chủ). Thành phần này đóng vai trò sao chép lưu lượng tuân theo chính sách đã xác định thành các bản sao, sau đó định tuyến chúng đến các CSDL. ° Uu điểm: - Ít yêu cầu lập trình phần mềm, thích hợp khi không thể chỉnh sửa mã nguồn - Bên gửi ít sử dụng tài nguyên hơn so với phương pháp trực tiếp tạo nhiều bản sao ¢ Nhược điểm: - Cần nhiều kiến thức về mạng máy tính để thiết kế hệ thống và can thiệp vào các gói tin II CHƯƠNG 2.
CƠ SỞ LÝ THUYET img/Chap2/data_sync/Proxy. Sao chép lưu lượng qua bằng thành phần mang trung gian - Cần các chính sách mạng thích hợp để đảm bảo việc nhân bản và định tuyến - Không đảm bảo hoàn toàn tính nhất quán giữa nhiều cơ sở dữ liệu 2.3 Đồng bộ ngang hàng Trong mô hình này, các CSDL trao đổi dif liệu với nhau theo chiều ngang. Bên gửi chỉ cần gửi một bản cập nhật dữ liệu đến một CSDL duy nhất. Việc nhân bản và đồng bộ được thực hiện hoàn toàn giữa các CSDL.
Vì không có CSDL trung tâm, các CSDL sử các phương thức đồng thuận và giải quyết mâu thuẫn dữ liệu để đảm bảo tính đồng bộ. ° Uu điểm: - Đảm bảo tính sẵn sàng, khả năng chịu lỗi và phục hồi cao - Trao đổi dữ liệu trực tiếp giữa các nút lưu trữ, giảm một số độ trễ không cần thiết - Tránh tình trạng "điểm lỗi đơn" » Nhược điểm: 12 CHƯƠNG 2. CƠ SỞ LÝ THUYET img/Chap2/data_sync/PeerSync. Hai CSDL đồng bộ ngang hàng với nhau - Thuật toán đồng thuận có thể phức tạp và khó triển khai - Cần can thiệp trực tiếp vào mã nguồn phần mềm, không thích hợp với phần mềm mã nguồn đóng hoặc một số lý do khác không thể sửa mã nguồn - Độ trễ và chi phí tính toán tăng khi số nút lưu trữ tăng 2.