CHƯƠNG 1. TỔNG QUAN VỀ SDN VÀ OPENFLOW 1.1 Tổng quan về công nghệ SDN.1 Định nghĩa Software-Definded Networking (SDN) là một cách tiếp cận mới trong việc thiết kế, xây dựng và quản lý hệ thống mạng. Về cơ bản, SDN chia tách độc lập hai cơ chế hiện đang tồn tại trong cùng một thiết bị mạng: Cơ chế điều khiển ( Control Plane controller – thành phần điều khiển), cơ chế chuyển tiếp dữ liệu ( Data Plane - data forwarding plane – thành phần chuyển tiếp dữ liệu) nhằm tối ưu nhiệm vụ và chức năng của hai thành phần này (Hình 1. Mục đích của sự phân tách này là tạo ra mạng có thể được lập trình và quản lý một cách tập trung.1 Sự phân tách trong kiến trúc mạng SDN Cơ chế điều khiển (Control Plane): Là thành phần điều khiển với các giải thuật và giao thức dùng để tính toán và lưu trữ các thông tin định tuyến lên bảng FIB (Forwarding Information Base) nhằm xác định đường đi cho mỗi gói tin trong Data Plane.
Đối với Switch thì Control Plane đơn giản là cơ chế tự học MAC thông qua việc Broadcast gói tin còn đối với Router thì Control Plan là các giao thức định tuyến như OSPF, EIGRP, BGP, … Cơ chế chuyển tiếp dữ liệu (Data Plane) : Là thành phần thực hiện chức năng Forwarding Data dựa vào bảng FIB mà Control Plane đã xây dựng. Dữ liệu sẽ đổ về Switch hoặc Router tại các Port tương ứng như 10Gb, 100Gb Ethernet và cũng đi ra khỏi Switch, Router với Port tương ứng. Vũ Thành Tựu – Khóa 2016B – Khoa ĐTVT Trang 10 Luận văn cao học năm 2018 SDN là một kiến trúc mạng linh hoạt, dễ quản lý, hiệu suất cao, khả năng chịu lỗi và thích nghi tốt, … Điều đó làm cho công nghệ này thật sự lý tưởng cho các ứng dụng đòi hỏi băng thông cao và cần sự linh hoạt hiện nay. Mục đích cơ bản của truyền thông mạng là truyền tải thông tin từ điểm này tới các điểm khác nhưng với SDN thì dữ liệu trong mạng sẽ được truyền tải giữa các Node với sự hỗ trợ từ các ứng dụng và dịch vụ nên việc truyền thông trở nên hiệu quả và tối ưu hơn rất nhiều.
Giống như các máy chủ giám sát sử dụng trong ảo hóa, SDN định nghĩa ra một lớp phần mềm đứng chặn giữa các phần tử mạng và người quản trị mạng (là người cấu hình và cài đặt chúng). Lớp phần mềm này cung cấp cho người quản trị mạng khả năng điều khiển các thiết bị mạng của họ thông qua một giao diện phần mềm thay vì phải tự cấu hình phần cứng và các tác động vật lý của thiết bị mạng.2 Kiến trúc của SDN Kiến trúc của SDN gồm 3 lớp riêng biệt: lớp ứng dụng, lớp điều khiển, và lớp cơ sở hạ tầng (lớp chuyển tiếp).2 Kiến trúc mạng SDN Lớp ứng dụng: Là các ứng dụng kinh doanh được triển khai trên mạng, được kết nối tới lớp điều khiển thông qua các API, cung cấp khả năng cho phép lớp ứng dụng lập trình lại (cấu hình lại) mạng (điều chỉnh các tham số trễ, băng thông, định tuyến, …) thông qua lớp điều khiển. Vũ Thành Tựu – Khóa 2016B – Khoa ĐTVT Trang 11 Luận văn cao học năm 2018 Lớp điều khiển: 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 các yêu cầu từ lớp ứng dụng và khả năng của mạng. Các bộ điều khiển này có thể là các phần mềm được lập trình.
Lớp cơ sở hạ tầng: Là các thiết bị mạng thực tế (vật lý hay ảo hóa) thực hiện việc chuyển tiếp gói tin theo sự điều khiển của lớp điểu khiển. Một thiết bị mạng có thể hoạt động theo sự điều khiển của nhiều bộ điều khiển khác nhau, điều này giúp tăng cường khả năng ảo hóa của mạng.3 So sánh kiến trúc mạng truyền thống và kiến trúc SDN Hình 1.3 So sánh mạng SDN với mạng truyền thống Mô hình so sánh giữa kiến trúc mạng truyền thống và kiến trúc SDN trên (hình 1.3) cho thấy trong kiến trúc mạng truyền thống Control Plane và Data Plane đều được ghép chung vào trong Network Node. Trong đó Control Plane có nhiệm vụ cấu hình các Node mạng và lập trình đường đi (định tuyến) để vận chuyển Data Flow. Data Flow (luồng dữ liệu) sẽ được đẩy xuống Data Plane thông qua các API và chuyển tiếp tới các thiết bị phần cứng dựa trên các thông tin điều khiển trên Control Plane.
Trong kiến trúc mạng truyền thống khi chính sách Forwarding đã được thông qua thì cách duy nhất để điều chỉnh lại các chính sách này theo ý muốn là phải đi Vũ Thành Tựu – Khóa 2016B – Khoa ĐTVT Trang 12 Luận văn cao học năm 2018 cấu hình lại trên tất cả thiết bị vật lý (Switch, Router, Firewall, …). Điều này không chỉ mất thời gian mà còn khá là phiền toái bởi trong kiến trúc hệ thống mạng truyền thống đặc biệt đối với hệ thống mạng quy mô trong doanh nghiệp thì việc xác định vị trí thiết bị và tiến hành cấu hình điều chỉnh rất là phức tạp và có nhiều rủi ro sai sót có thể ảnh hưởng tới nhiều hoạt động quan trọng khác trong hệ thống mạng. Trong kiến trúc mạng SDN thì Control Plane được tách riêng ra khỏi Node mạng và là một thành phần độc lập trong SDN Stack. Các bộ chuyển mạch SDN đều được kiểm soát bởi Network Operating System (NOS) để thu thập thông tin thông qua các API và chuyển tiếp thông tin ấy vào Control Plane, đồng thời cung cấp một mô hình mạng trừu tượng tới SDN Controller vốn được cài đặt trong các ứng dụng.
Nhờ thế mà Controller có thể khai thác đầy đủ thông tin mạng để tối ưu trình điều khiển luồng (Flow Management) và hỗ trợ đáp ứng các yêu cầu của người dùng về khả năng mở rộng và tính linh hoạt. Việc quản lý, cấu hình và điều phối các hoạt động trong hệ thống mạng sẽ thông qua một giao diện phần mềm quản lý tập trung với mô hình hệ thống mạng tổng quan nên người quản trị sẽ làm việc hiệu quả hơn và tránh được các sự cố lỗi phát sinh. Kiến trúc mạng SND cho phép điều khiển hoạt động của mạng dựa trên việc điều khiển hoạt động của các Switch, sử dụng các ngôn ngữ lập trình và có thể thường xuyên thay đổi bằng cách nạp các đoạn mã nguồn khác vào thay thế. SDN có lợi thế to lớn mà các kiến trúc mạng hiện tại không có được.
Đó chính là tính mềm dẻo, khả năng mở rộng và tính linh hoạt của mạng. Các kiến trúc mạng hiện nay không cho phép can thiệp vào hoạt động của các thiết bị mạng, hoạt động của các thiết bị này bị phụ thuộc hoàn toàn vào nhà sản xuất quy định. Chính vì thế, rất khó cho việc thay thế một giao thức cũ bằng các giao thức mới và thử nghiệm chúng trên các thiết bị thật. SDN thì ngược lại, nó cho phép người lập trình có thể can thiệp vào hoạt động của thiết bị và qua đó điều khiển thiết bị hoạt động theo ý muốn.
Việc này dễ dàng cho việc nghiên cứu cũng như triển khai các công nghệ mới vào trong mạng mà không cần thay đổi về phần cứng. Vũ Thành Tựu – Khóa 2016B – Khoa ĐTVT Trang 13 Luận văn cao học năm 2018 1.4 Lợi ích của SDN cung cấp SDN là một sản phẩm mã nguồn mở. Bởi vì SDN tuân thủ các chuẩn mở, về mặt lý thuyết có thể hoạt động với bất kỳ phần cứng mạng nào của nhà cung cấp. Từ quan điểm CNTT, điều này cho phép các tổ chức có khả năng tránh việc nhà cung cấp cứng nhắc trong một loạt sản phẩm mạng.
Điều này cho phép CNTT trở lên nhanh nhẹn rất lớn bởi vì một giải pháp chuẩn mở như SDN đơn giản hóa nhiệm vụ kết nối đến các đám mây, các ứng dụng, và các thiết bị khác nhau. Và nó cho phép người quản trị mạng sử dụng phần mềm cho nhiều công việc họ thường làm bằng tay. Cụ thể, với các tính năng của mình, SDN đem lại các lợi ích sau: - Giảm CapEx: 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, và hỗ trợ mô hình pay-as-yougrow (trả những gì bạn dùng) để loại bỏ lãng phí cho việc dự phòng. - Giảm OpEx: thông qua các phần tử mạng đã được gia tăng 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 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 kiểu ứng dụng, dịch vụ và mô hình kinh doanh, để có thể tạo ra các luồng doanh thu mới và nhiều giá trị hơn từ mạng. - Tuy nhiên, đi cùng những lợi ích do SDN mang lại thì bản thân SDN cũng mang trong mình nhiều thiếu sót.
Ở một vài khía cạnh, SDN giống với đám mây khi người ta nói về nó. Song các doanh nghiệp đang gặp khó khăn trong việc xử lý trên SDN và làm thể nào để tiết kiệm chi phí mạng trong khi cải thiện mạng lưới hoạt động tổng thể. Các nhà cung cấp đã không trình bày thuyết phục các trường hợp sử Vũ Thành Tựu – Khóa 2016B – Khoa ĐTVT Trang 14 Luận văn cao học năm 2018 dụng. Càng về lâu thì những người hoạch định CNTT trở lên bối rối, họ sẽ né tránh việc xây dựng SDN.
SDN hứa hẹn khả năng ảo hóa hạ tầng CNTT. Cho đến nay, phần lớn nhất của cơ sở hạ tầng vẫn còn chưa được ảo hóa là mạng. Từ một quan điểm nhanh gọn, các doanh nghiệp sẽ muốn liên hiệp lại và di chuyển vào và ra khỏi đám mây riêng nội bộ (private cloud) và công cộng (public cloud). Đây là nơi mà một công nghệ linh hoạt như SDN đặt dấu chấm hết.
Chắc chắn, tất cả các hoạt động này nối với mạng và các sự cố có thể được thực hiện “bằng tay” như bây giờ. Nhưng trong tương lai, khung thời gian hạn hẹp của dự án sẽ thúc đẩy CNTT tìm cách hiệu quả hơn để cấu hình và quản lý mạng. SND có phải là một công nghệ hoàn thiện?