Mở đầu Trong thời đại phát triển bùng nổ của các hệ thống thông tin, nhu cầu về chất lượng, dung lượng và tính đa dạng của loại dữ liệu Internet đặc biệt là các dịch vụ đa phương tiện đang tăng lên một cách nhanh chóng trên phạm vi toàn cầu. Mặc dù hệ thống cơ sở hạ tầng không ngừng được cải tạo nâng cấp nhưng cũng khó có thể đáp ứng nhu cầu, các hiện tượng tắc nghẽn, trễ đường truyền thường xuyên xảy ra, thêm vào đó là việc phức tạp trong quản lý, khả năng mở rộng và đảm bảo chất lượng cũng như tốc độ dữ liệu ngày một cao. Các quyết định xử lý như thế nào đối với từng luồng lưu lượng hiện tại đang được thực hiện trên các thiết bị riêng biệt như Switch, Router…là vấn đề tồn tại trong các hệ thống mạng. Vì vậy, việc nghiên cứu, ứng dụng các công nghệ và kỹ thuật tiên tiến để đáp ứng nhu cầu về QoS luôn là một đòi hỏi cần thiết.
Công nghệ mạng định nghĩa bằng phần mềm (Software Defined Networking – SDN) ra đời như một giải pháp cho hệ thống mạng hiện nay. SDN dựa trên giao thức luồng mở (Open Flow là kết quả nghiên cứu của Đại học Stanford và California Berkeley [2]). SDN không xác định cách điều khiển được thực hiện mà sử dụng một loạt các thuật toán mạng khác nhau bao gồm cả từ đơn giản nhất như định tuyến đường ngắn nhất đến những thuật toán về lưu lượng phức tạp hơn [3] giúp tăng hiệu suất truyền dữ liệu cũng như giảm chi phí quản lý và duy trì hoạt động mạng. Mạng điều khiển bằng phần mềm SDN làm việc trên cơ chế tách riêng luồng điều khiển với luồng dữ liệu (control plane và data plane).
Điều này cho phép luồng các gói dữ liệu đi qua mạng được kiểm soát theo ngôn ngữ lập trình. Trong SDN, control plane được tách ra từ các thiết bị vật lý và chuyển đến các bộ điều khiển. Bộ điều khiển này có thể giám sát toàn bộ hệ thống mạng, giúp các kỹ sư mạng thực hiện các chính sách tối ưu việc chuyển tiếp trên toàn bộ hệ thống mạng. Các bộ điều khiển tương tác với các thiết bị mạng vật lý thông qua một giao thức chuẩn OpenFlow.
Bắt đầu từ Mỹ “cuộc cách mạng” OpenFlow đã nhanh chóng lan rộng và được các nhà cung cấp dịch vụ mạng hàng đầu trên thế giới đón nhận. Cùng một Luan van 4 giao diện API (giao diện lập trình ứng dụng) có thể truy xuất từ một máy chủ thông thường, OpenFlow cho phép lập trình một mặt phẳng điều khiển (control plane) của mạng từ một thiết bị điều khiển trung tâm. Thông qua giao thức OpenFlow, các lệnh tổng quát giờ đây có thể được gửi đi khắp mạng hoặc phần phụ của mạng biến hệ thống mạng trở thành một mạng điều khiển bằng phần mềm SDN. Với SDN, việc quản lý mạng có thể được thực hiện thông qua một giao diện duy nhất, trái ngược hẳn với việc phải cấu hình ở mỗi thiết bị mạng riêng lẻ.
Hiện nay, SDN thực sự là một hướng đi được quan tâm đặc biệt trong cả nghiên cứu lẫn ứng dụng. Ta có thể dễ dàng nhận ra, SDN phù hợp với những môi trường hệ thống mạng tập trung và có mức lưu lượng đi qua cực kỳ lớn bao gồm: Các hệ thống mạng doanh nghiệp, mạng Campus [11] và mạng trung tâm dữ liệu (Data Center). Hệ thống mạng phục vụ điện toán đám mây – Cloud. SDN đã nhận được sự quan tâm từ những “gã khồng lồ” trong làng công nghệ khi cả Google và Facebook đều đã tham gia nghiên cứu và xây dựng cho riêng mình những trung tâm dữ liệu sử dụng SDN.
Thiết kế của mạng Internet dựa trên giải pháp toàn trình (end-to-end) giúp giảm thiểu thấp nhất sự hỗ trợ của mạng thay vào đó các máy đầu cuối đảm nhiệm cho hầu hết các nhiệm vụ giao tiếp. Thiết kế này có hai ưu điểm chính: trước tiên, nó giúp thống nhất dịch vụ cho bất kỳ loại dữ liệu nào tại lớp mạng mà định nghĩa dịch vụ được thực hiện tại các tầng trên. Thứ hai, nó giúp giảm chi phí quản lý và chi phí tại lớp mạng nhưng không làm mất tính bền vững và tin cậy của hệ thống. Đây là kiểu kiến trúc hoàn toàn phù hợp để truyền dữ liệu mà yêu cầu chính là độ tin cây.
Tuy nhiên, trong truyền tải đa phương tiện tính đáp ứng về thời gian được ưu tiên hơn độ tin cậy. Các ứng dụng luồng đa phương tiện có yêu cầu nghiêm ngặt về độ trễ mà khó có thể được đảm bảo trong mạng Internet. Trong luận văn này tập trung vào mục đích giúp hỗ trợ QoS, giảm những tác động bất lợi trong việc truyền dẫn các luồng dữ liệu như tăng tốc độ đường truyền, giảm trễ, tránh tắc nghẽn, tăng thích ứng và khả năng tái cấu hình cho các luồng dữ liệu đặc biệt là các luồng đa phương tiện.2 Kiến trúc SDN Software Defined Networking ( SDN ) là mạng được điều khiển bằng phần mềm, là sự tách biệt giữa “mặt bằng dữ liệu” (Data Planes) và “mặt bằng điều khiển” (Control Planes). Control Planes: là kiểm soát thông tin định tuyến.
Ví dụ: routing protocol. Data Planes : là chuyển tiếp luồng dữ liệu dựa trên thông tin của Control Planes. Ví dụ: IP forwarding. Kiến trúc SDN gồm 3 lớp riêng biệt: lớp ứng dụng (Application Layer), lớp điều khiển (Control Layer), cơ sở hạ tầng - phần thiết bị (Infrastructure Layer).
Các lớp này liên kết với nhau thông qua giao thức OpenFlow và các API. 1 Kiến trúc SDN [7] Lớp cơ sở hạ tầng (Infrastructure layer): Lớp vật lý (hoặc là ảo hóa ), bao gồm các thiết bị mạng và các liên kết giữa chúng. Thực hiện việc chuyển tiếp gói tin theo sự điều khiển của Control Layer thông qua giao thức OpenFlow, một giao thức giúp cho mạng tự động cấu hình các thiết bị mạng, giúp cho người quản trị đơn giản hơn trong việc trong cấu hình mạng, mang đến một giao diện linh hoạt, khả năng lập trình theo tiêu chuẩn. Luan van 6 Một thiết bị có thể hoạt động theo sự điều khiển của nhiều bộ Control Layer khác nhau điều này giúp tăng cường khả năng ảo hóa [4] của mạng.
Lớp điều khiển (Control layer ) : Cung cấp tầm nhìn tập trung và tự động cấu hình mạng của tất cả các thiết bị lớp cơ sở. Là nơi tập trung các bộ điều khiển thực hiện việc điều khiển cấu hình mạng theo yêu cầu của lớp ứng dụng và khả năng mạng. Bộ điều khiển này có thể là phần mềm được lập trình. Cung cấp các API có thể xây dựng các ứng dụng cho hệ thống mạng.
Bộ điều khiển cho phép các nhà quản trị mạng thiết lập chương trình một cách dễ dàng, linh hoạt và mở rộng môi trường mạng của họ cho các ứng dụng tự động cảm ứng đơn. Nó cũng cung cấp các giao diện chương trình ứng dụng (APls) cho các nhà phát triển bên thứ ba để tùy chỉnh tích hợp các ứng dụng. Lớp ứng dụng (Application layer) : Là các ứng dụng kinh doanh được triển khai trên mạng, được kết nối với lớp điều khiển thông qua các API. Cho phép lập trình lại (hoặc cấu hình lại, điều chỉnh định tuyến, băng thông.) mạng thông qua lớp điều khiển.
Các API được cung cấp từ lớp điều khiển, người sử dụng có thể lập trình hoạt động cho hệ thống mạng để tối ưu hoạt động theo một yêu cầu nhất định. SDN cung cấp một số chức năng mà mạng truyền thống không có được nhờ Lớp điều khiển có thể lập trình trực tiếp. Mạng được điều chỉnh và thay đổi một cách nhanh chóng. Cấu hình lớp cơ sở hạ tầng có thể được lập trình trên lớp ứng dụng và truyền đạt xuống.
Với những tính năng mới, SDN đem lại rất nhiều lợi ích: Luan van 7 Giảm CaEx (chi phí đầu tư): SDN giúp giảm thiểu các yêu cầu mua phần cứng theo mục đích xây dựng các dịch vụ, phần cứng mạng trên cơ sở ASIC (Application Specific Integrated Circuits- các mạch tích hợp dịch vụ đặc thù) và hỗ trợ mô hình pay – as – you – grow (trả những gì bạn dùng) để loại bỏ lãng phí cho việc dự phòng. Giảm OpEx (chi phí bảo trì hoạt động): thông qua các phần tử mạng đã được nâng cao khả năng lập trình, SDN giúp dễ dàng thiết kế, triển khai, quản lý và mở rộng mạng. Khả năng phối hợp và dự phòng tự động không những giảm thời gian quản lý tổng thể, mà còn giảm xác suất lỗi do con người tới việc tối ưu khả năng và độ tin cậy của dịch vụ. Truyền tải nhanh chóng và linh hoạt: giúp các tổ chức triển khai nhanh chóng hơn các ứng dụng, các dịch vụ và cơ sở hạ tầng để nhanh chóng đạt được các mục tiêu kinh doanh.
Cho phép thay đổi: cho phép các tổ chức tạo mới các loại ứng dụng, dịch vụ và mô hình kinh doanh, để có thể tạo ra các khoản doanh thu mới và nhiều giá trị hơn từ việc khai thác mạng. Mở ra cơ hội cho các nhà cung cấp thiết bị trung gian khi phần điều khiển được tách rời khỏi phần cứng.3 Vấn đề về an toàn trong SDN Vài chuyên gia bảo mật cho rằng cách tạo mạng dựa trên phần mềm SDN về bản chất là không an toàn. Họ cho rằng SDN loại bỏ những rào cản phần cứng như tường lửa. Họ cho rằng SDN tạo ra những bề mặt mới không được bảo vệ.
Tuy nhiên, các chuyên gia ấy đang nghĩ theo hướng cổ điển, đó chưa phải là SDN phát triển như hiện nay. SDN thực sự giảm sát các gói dữ liệu ở nhiều tầng khác nhau trong mạng, từ thiết bị cân bằng tải đến đường lửa, ứng dụng bộ điều khiển LAN không dây cho đến lưu trữ và hệ thống điện thoại. Mạng nên đảm bảo độ an toàn cho bộ điều khiển này bằng cách cẩn thận cài các bản vá và cập nhật, tăng điều khiển máy chủ lên cấp AAA (Điều khiển truy xuất-Access control, Xác thực- Luan van 8 Authentication, Kiểm tra-Auditing). Đó là thành phần tối quan trọng trong cơ sở hạ tầng, nó cần nhà quản trị quan tâm ở mức cao hơn thông thường.
Trong một góc độ an ninh và độ tin cậy, một trong những thành phần quan trọng để đảm bảo một hệ thống rất mạnh mẽ là chịu lỗi [8]. Hệ thống có khả năng chịu đựng bất kỳ hành vi bất thường, tức là lỗi cố ý hoặc không cố ý, trong khi dịch vụ giữ hoạt động chính xác của nó.