S ự C ầ n Thi ế t C ủ a M ộ t Ki ế n Trúc M ạ ng M ớ i
Sự phát triển nhanh chóng của thiết bị di động, nội dung số, công nghệ ảo hóa máy chủ và dịch vụ điện toán đám mây đã đặt ra yêu cầu cần xem xét lại kiến trúc mạng truyền thống Nhiều mạng hiện tại được xây dựng theo mô hình phân cấp với các lớp Switch Ethernet theo cấu trúc cây, nhưng thiết kế này chỉ phù hợp với mô hình điện toán khách-chủ và không đáp ứng được nhu cầu của môi trường trung tâm dữ liệu của doanh nghiệp và nhà cung cấp mạng Từ đó, xuất hiện nhiều vấn đề mới, dẫn đến nhu cầu cần có một kiến trúc mạng hiện đại hơn.
Mô hình lưu lượng thông tin trong trung tâm dữ liệu doanh nghiệp đang trải qua sự thay đổi đáng kể, chuyển từ mô hình client-server truyền thống sang việc truy cập dữ liệu từ nhiều máy chủ và cơ sở dữ liệu khác nhau Sự phức tạp trong việc trao đổi thông tin giữa các thiết bị (từ đông sang tây) và trả về cho người dùng (từ nam sang bắc) ngày càng gia tăng Người dùng hiện nay có thể truy cập thông tin từ nhiều thiết bị như di động, laptop hay tablet, từ bất kỳ đâu, bao gồm cả nội bộ và internet Ngoài ra, sự xuất hiện của các ứng dụng private cloud và public cloud cũng góp phần làm tăng lưu lượng thông tin trong mạng.
Khách hàng của IT ngày càng có nhu cầu cao về việc sử dụng các thiết bị di động cá nhân như smartphone, tablet và notebook trong công việc để truy cập vào mạng doanh nghiệp Trước áp lực này, người quản trị mạng cần phải đáp ứng và quản lý hiệu quả việc sử dụng các thiết bị này.
10 cần có biện pháp để thích nghi với sự hiện diện của những thiết bị cá nhân trong khi vẫn phải bảo vệ dữ liệu chung của doanh nghiệp.
Sự phát triển của dịch vụ điện toán đám mây đang ngày càng gia tăng khi các doanh nghiệp tìm kiếm giải pháp Cloud hoặc Private Cloud Điều này tạo ra nhu cầu truy cập ứng dụng trong khi vẫn phải kiểm soát quyền truy cập vào các ứng dụng khác Áp lực đặt lên bộ phận IT trong việc đảm bảo môi trường mạng an toàn, đáp ứng nhanh chóng và hệ thống kiểm tra hiệu quả, đặc biệt trong bối cảnh tái cơ cấu, hợp nhất và sát nhập Do đó, IT cần các công cụ linh hoạt để cung cấp tài nguyên tính toán, lưu trữ và mạng nhằm triển khai dịch vụ Cloud một cách nhanh chóng và hiệu quả.
Để xử lý Big Data, cần nhiều băng thông hơn do yêu cầu xử lý dữ liệu song song trên hàng nghìn máy chủ kết nối với nhau Mạng cần có khả năng truyền tải lớn để đáp ứng nhu cầu này, và người quản trị cần công cụ mở rộng năng lực mạng mà vẫn duy trì kết nối giữa các máy chủ Mỗi ngày, có khoảng 230 triệu tweet, 2,7 tỷ bình luận trên Facebook và 86.400 giờ video được tạo ra trên YouTube, cho thấy lượng thông tin khổng lồ hiện nay vượt xa Thư viện Alexandria của thế kỷ 3 trước Công Nguyên.
120 exabyte) đủ để chia cho mỗi đầu người một lượng nhiều gấp 320 lần lượng thông tin của thư viện Alexandria Nếu ghi 120 exabyte (1 EB= 1 tỷ TB) vào đĩa
CD và xếp chúng lên nhau, sẽ có 5 chồng CD và mỗi chồng đều chạm tới mặt trăng
Gi ớ i H ạ n C ủ a Công Ngh ệ Hi ệ n T ạ i
Để đáp ứng nhu cầu ngày càng cao của doanh nghiệp, kiến trúc mạng truyền thống không còn khả thi do những hạn chế của công nghệ mạng hiện tại.
Sự phức tạp trong công nghệ mạng, với những giao thức rời rạc và thiếu trừu tượng hóa, dẫn đến việc thay đổi chậm chạp và khó khăn trong việc quản lý Khi thêm hoặc di chuyển thiết bị, IT phải can thiệp vào nhiều thành phần như Switch, Router, và Firewall, cũng như cập nhật các danh sách kiểm soát truy cập (ACLs), VLAN, và cấu hình QoS Điều này trái ngược với tính linh hoạt của môi trường ảo hóa, nơi kết nối giữa các máy ảo diễn ra dễ dàng hơn Trong môi trường IP hội tụ đa dịch vụ, việc bổ sung thiết bị mới yêu cầu cấu hình lại từng thiết bị riêng lẻ, làm cho hạ tầng mạng hiện tại không thể thích ứng nhanh chóng với sự thay đổi về lưu lượng và yêu cầu người dùng.
Quản trị mạng hiện nay gặp nhiều khó khăn do yêu cầu cấu hình hàng nghìn thiết bị và áp dụng nhiều kỹ thuật khác nhau Việc cài đặt chính sách mạng, chẳng hạn như cấu hình ACL cho máy ảo mới, có thể mất từ vài giờ đến vài ngày Sự phức tạp của mạng hiện đại khiến việc thiết lập quyền truy cập, bảo mật, QoS và các chính sách khác trở nên thách thức, ảnh hưởng đến khả năng di chuyển của người dùng.
Việc mở rộng hệ thống mạng trong Datacenter đang gặp nhiều khó khăn do sự phức tạp của việc quản lý và cấu hình ngày càng nhiều thiết bị IT phải đối mặt với thách thức trong việc vận hành mạng, đặc biệt khi dự báo lưu lượng kết nối trở nên khó khăn trong môi trường ảo hóa Các tập đoàn lớn như Google, Yahoo và Facebook cũng đang phải giải quyết những vấn đề tương tự Nếu có thể mở rộng, quá trình này sẽ tốn nhiều thời gian và chi phí, bởi hiện tại không có công cụ nào tự động hóa hoặc hỗ trợ hiệu quả cho việc mở rộng mạng.
Nhà cung cấp và doanh nghiệp luôn tìm kiếm thiết bị mạng với năng lực cao hơn để đáp ứng nhanh chóng nhu cầu thay đổi Tuy nhiên, sự đa dạng về chủng loại thiết bị từ các hãng khác nhau gây ra vấn đề tương thích Ngay cả khi sử dụng cùng loại sản phẩm, doanh nghiệp vẫn có thể gặp khó khăn trong việc tương thích giữa các dòng cũ và mới Nguyên nhân chính là do thiếu một chuẩn mở chung cho các thiết bị mạng.
Gi ớ i Thi ệ u T ổ ng Quan V ề Software-Define Networking
Mạng định nghĩa bằng phần mềm (SDN) là một kiến trúc mạng tiên tiến, tách biệt phần điều khiển mạng khỏi phần chuyển tiếp Phần điều khiển mạng trong SDN có thể lập trình trực tiếp, khác với trước đây khi nó gắn liền với từng thiết bị mạng riêng lẻ Với SDN, các thiết bị đầu cuối được sử dụng để trừu tượng hóa ứng dụng và dịch vụ mạng, trong khi phần điều khiển mạng được xem như một thực thể ảo hoặc logic.
Kiến trúc logic của SDN được mô tả với phần mạng thông minh tập trung vào điều khiển, giúp duy trì cái nhìn tổng quát về mạng Nhờ SDN, mạng hoạt động như một switch đơn, không còn phụ thuộc vào loại thiết bị cụ thể Điều này đơn giản hóa thiết kế và vận hành mạng, đồng thời làm cho các thiết bị mạng trở nên dễ dàng hơn, vì chúng chỉ cần thực hiện các chỉ dẫn từ phần điều khiển mà không cần xử lý hàng ngàn giao thức phức tạp.
Hình 1: Mô hình phân lớp SDN
Phần điều khiển SDN, chủ yếu dựa vào phần mềm, cho phép người vận hành cấu hình mạng thông qua lập trình các đối tượng mạng đơn giản, thay vì phải viết hàng nghìn dòng lệnh cho nhiều thiết bị Điều này giúp họ có thể thay đổi hoạt động mạng trong thời gian thực và triển khai ứng dụng mới chỉ trong vài giờ, thay vì vài ngày hay tuần như trước đây Bằng cách tập trung trạng thái mạng trong phần điều khiển, SDN giúp người vận hành tự động cấu hình, quản trị, bảo mật và tối ưu tài nguyên mạng thông qua các chương trình phần mềm Họ cũng có khả năng tự phát triển các chương trình SDN mà không cần chờ đợi tính năng mới từ nhà sản xuất.
Kiến trúc SDN hỗ trợ trừu tượng hóa mạng thông qua một tập hợp các API, cho phép cài đặt các dịch vụ mạng cơ bản như định tuyến, đa phát, bảo mật, kiểm soát truy cập, quản lý băng thông, kỹ thuật lưu lượng, chất lượng dịch vụ (QoS) và tối ưu hóa tài nguyên xử lý, lưu trữ và năng lượng sử dụng.
Kiến trúc SDN cho phép định nghĩa và áp dụng một chính sách nhất quán giữa mạng có dây và không dây trong mạng LAN của doanh nghiệp, giúp quản lý hiệu quả hơn.
SDN có khả năng quản lý toàn bộ mạng thông qua các công cụ thiết kế và cấu hình Open Networking Foundation (ONF) đang phát triển các chuẩn API mở để quản trị thiết bị mạng từ nhiều nhà sản xuất khác nhau Điều này tạo điều kiện cho việc cấp phát tài nguyên động, dịch vụ tự cấu hình, ảo hóa mạng thực sự và tăng cường bảo mật cho dịch vụ đám mây Nhờ vào các API mở giữa phần điều khiển SDN và lớp ứng dụng, các ứng dụng có thể hoạt động trên hạ tầng mạng được trừu tượng hóa, tận dụng các dịch vụ và khả năng của mạng mà không bị ràng buộc bởi mô hình triển khai cụ thể.
Mục tiêu của SDN là tạo ra một giao diện mở cho phép phát triển phần mềm nhằm điều khiển kết nối và luồng dữ liệu trong mạng, đồng thời xem xét và hiệu chỉnh các luồng dữ liệu khi cần thiết Kiến trúc SDN được chia thành ba lớp: lớp dữ liệu (Data plane), lớp điều khiển (Control Plane) và lớp ứng dụng (Application Plane) Lớp dữ liệu là lớp thấp nhất, bao gồm các thành phần mạng có Control-Data-Plane Interface (CDPI) Agent để giao tiếp với lớp điều khiển, cung cấp thông tin về trạng thái và khả năng của mạng Lớp ứng dụng ở trên cùng giao tiếp với lớp điều khiển thông qua NorthBound Interface (NBI) Drivers Bên cạnh ba lớp chính, còn có phân hệ quản trị để thiết lập và điều khiển đường đi của dữ liệu (SDN datapath) và cấu hình chính sách từ lớp ứng dụng Đặc biệt, kiến trúc SDN cho phép đồng thời tồn tại hai hệ thống mạng: hệ thống sử dụng SDN và hệ thống mạng truyền thống (non-SDN), đảm bảo hoạt động hiệu quả trong giai đoạn chuyển tiếp.
Dưới đây là định nghĩa củanhững thành phần trong SDN:
SDN Application (SDN App) là các chương trình cho phép truyền đạt yêu cầu mạng và xử lý cần thiết tới SDN Controller thông qua NBI Một SDN App bao gồm một ứng dụng SDN logic và một hoặc nhiều NBI drivers, giúp tối ưu hóa quản lý mạng.
SDN Controller là thực thể trung tâm chịu trách nhiệm chuyển đổi yêu cầu từ SDN App sang SDN Datapath, đồng thời cung cấp cái nhìn tổng thể về trạng thái, thống kê và sự kiện của toàn mạng cho SDN App Nó bao gồm nhiều thành phần như NBI Agents, SDN Control Logic và CDPI Driver.
SDN Datapath là một thiết bị mạng logic có khả năng điều khiển hệ thống forwarding và xử lý dữ liệu Thiết bị này có thể bao gồm toàn bộ hoặc một nhóm các thành phần mạng, giúp tối ưu hóa hiệu suất và quản lý lưu lượng dữ liệu một cách hiệu quả.
Trong kiến trúc SDN, tài nguyên vật lý bao gồm một tác nhân CDPI và một hoặc nhiều thành phần chuyển tiếp cùng với chức năng xử lý lưu lượng dữ liệu Một thiết bị mạng vật lý có thể chứa một hoặc nhiều Datapath, bao gồm tài nguyên thông tin và quản lý Ngoài ra, một Datapath trong SDN cũng có thể được xác định qua nhiều thiết bị mạng vật lý khác nhau.
Giao diện Điều khiển SDN đến Dữ liệu (CDPI) là một giao tiếp quan trọng giữa Bộ điều khiển SDN và Đường dẫn dữ liệu SDN Nó cung cấp các thành phần điều khiển lập trình tối thiểu như khả năng chuyển tiếp, quảng bá, báo cáo thống kê và thông báo sự kiện CDPI được thiết kế mở và độc lập với nhà cung cấp, đảm bảo tính linh hoạt và khả năng tương tác trong các hệ thống mạng SDN.
- SDN Northbound Interfaces (NBI): là giao tiếp giữa SDN App và SDN
Controller cung cấp cái nhìn tổng quan về toàn bộ mạng và cho phép truyền tải trực tiếp các yêu cầu từ lớp trên Quá trình này diễn ra ở mức độ trừu tượng thông qua một loạt các chức năng đa dạng.
Mỗi interface trong hệ thống được cài đặt thông qua một cặp Driver và Agent Agent đóng vai trò đại diện cho phần hạ tầng, trong khi Driver đại diện cho lớp ứng dụng.
Quản lý và quản trị (Admin) đóng vai trò quan trọng trong việc xử lý các tác vụ tĩnh, bao gồm quản lý mối quan hệ doanh nghiệp giữa nhà cung cấp và khách hàng, phân bổ tài nguyên cho khách hàng, cài đặt thiết bị vật lý, cũng như điều phối kết nối và xác thực giữa các thực thể logic và vật lý.
Ba nguyên lý chính của kiến trúc SDN, ứng dụng có thể nhận biết khẳ năng của mạng, ngược với mạng truyền thống:
Lu ồng Điề u Khi ể n - Control Plane
Control Plane thu thập dữ liệu định tuyến để tạo ra bảng chuyển tiếp (Forwarding Table), mà các Data Plane sử dụng để chuyển tiếp dữ liệu giữa cổng vào và ra Tập dữ liệu này chứa thông tin về mô hình mạng (network topology) và được lưu trong bảng Routing Information Base (RIB), luôn được cập nhật và duy trì ổn định thông qua việc trao đổi thông tin với các Control Plane khác Bảng chuyển tiếp được lưu trong Forwarding Information Base (FIB) và thường được sao chép từ Control Plane xuống Data Plane FIB được khởi tạo khi RIB ở trạng thái ổn định, yêu cầu thực thể điều khiển phải có hiểu biết về toàn bộ mạng, thông tin này có thể được thu thập từ việc theo dõi trạng thái mạng hoặc qua giao thức định tuyến động, tĩnh hoặc kết hợp.
Các kỹ thuật của Control Plane và Data Plane được minh họa trong hình 3, thể hiện hoạt động của một mạng với nhiều switch kết nối Hình ảnh cho thấy hai switch A và B, cùng với hai thành phần Control Plane và Data Plane Gói tin nhận được trong Control Plane bên trái sẽ được chuyển đến Switch B bên phải Cần lưu ý rằng Control Plane và Data Plane hoàn toàn tách biệt; Control Plane được thực thi trên card hoặc bộ vi xử lý riêng, trong khi Data Plane đảm nhiệm các chức năng khác.
Plane được thực thi trong Card/bộ vi xử lý khác Nhưng cả hai được chứa trong cùng một thiết bị.
Khi gói tin vào cổng của Switch trong Card Data Plane mà địa chỉ MAC chưa được biết, nó sẽ được chuyển tiếp lên Control Plane Tại đây, quá trình học địa chỉ MAC diễn ra, tương tự như xử lý bản tin trong các giao thức định tuyến động như OSPF Sau khi gói tin đến Control Plane, thông tin trong gói sẽ được xử lý, có thể dẫn đến việc cập nhật cơ sở dữ liệu RIB và gửi cảnh báo về sự cập nhật này tới các thiết bị lân cận, ví dụ như thông báo về một đường đi mới đã được học.
Khi RIB ổn định, bảng FIB sẽ được cập nhật trong cả Control Plane và Data Plane, dẫn đến việc cập nhật quá trình chuyển tiếp Nếu gói tin nhận được có địa chỉ MAC chưa biết, Control Plane sẽ gửi gói tin (C) tới Data Plane để chuyển tiếp gói tin đến đích phù hợp Việc cập nhật FIB sẽ diễn ra tại bước (C), và quy trình tương tự cũng sẽ được thực hiện ở switch tiếp theo bên phải.
Hình 3: Mô hình Control Plane và Data Plane trong một mạng thông thường
Control Plane của internet là sự kết hợp giữa layer 2 và layer 3 Sự phát triển tại hai lớp này không chỉ thúc đẩy sự tiến bộ của Control Plane mà còn là kết quả của việc cải tiến giao thức, tính năng và phần cứng từ các nhà cung cấp, nhằm đảm bảo khả năng mở rộng và tính sẵn sàng cao.
Layer 2 Control Plane chỉ tập trung vào địa chỉ vật lý như địa chỉ MAC theo tiêu chuẩn IEEE, trong khi Layer 3 Control Plane được thiết lập cho địa chỉ mạng (layer 3) như giao thức IP Ở layer 2, các xử lý chủ yếu xoay quanh việc học và quản lý địa chỉ MAC cùng với các kỹ thuật liên quan.
Kỹ thuật Spanning Tree Protocol được sử dụng để ngăn chặn việc lặp gói tin, trong khi kỹ thuật lưu lượng flooding BUM (broadcast, unicast, unknown và multicast) cung cấp khả năng mở rộng Tuy nhiên, cả hai phương pháp này đều có những hạn chế riêng cần được xem xét.
Vấn đề với Control Plane của layer 2 là khả năng mở rộng hạn chế do số lượng đầu cuối quá lớn Khi một host di chuyển giữa các mạng, bảng Forwarding cần được cập nhật nhanh chóng để tránh gián đoạn lưu lượng mạng Tại layer 2, việc chuyển tiếp khung tập trung vào quản lý địa chỉ MAC, và do số lượng địa chỉ MAC lớn, việc quản lý này trở nên khó khăn, đặc biệt khi áp dụng cho nhiều doanh nghiệp hoặc trên internet Ngược lại, ở lớp 3, mục tiêu là chuyển tiếp gói tin từ nguồn đến đích thông qua địa chỉ IP, giúp chia nhỏ các vùng lớp 2 và khắc phục vấn đề mở rộng của lớp 2 Do đó, các lớp mạng khác nhau có thể được kết nối qua router lớp 3, tạo thành một mạng lớn hơn.
Router hoạt động ở lớp 3, định tuyến lưu lượng giữa các mạng và chỉ chuyển tiếp gói tin khi biết đích đến ở lớp 3 Một số giao thức như MPLS kết hợp địa chỉ MAC và địa chỉ IP để tạo ra nhãn, giúp tăng cường khả năng chuyển mạch nhanh và linh hoạt.
Thông thường Control Plane được thực hiện bởi bộ xử lý route (route processor), còn dataplane được xử lý bởi line card.
Lu ồ ng D ữ Li ệ u- Data Plane
Data Plane chịu trách nhiệm xử lý tất cả các gói tin đến từ mạng có dây, cáp quang hoặc không dây Nó thực hiện một loạt các hoạt động ở mức kết nối để thu thập và kiểm tra dữ liệu của gói tin Quá trình này bao gồm việc tìm kiếm và xử lý thông tin trong từng gói tin.
Bảng FIB, được thiết lập bởi Control Plane, cho phép tìm đường nhanh (Fast path) cho gói tin Quá trình này không yêu cầu tham vấn phức tạp, mà chỉ đơn giản xác định đích của gói tin dựa trên thông tin có sẵn trong bảng FIB.
Khi gói tin không tìm thấy đích đến trong bảng FIB, nó sẽ được chuyển đến Route Processor để Control Plane xử lý tiếp qua bảng RIB FIB có vai trò quan trọng vì nó có thể tồn tại dưới dạng phần mềm hoặc phần cứng vật lý, chẳng hạn như GPU/CPU của Intel hoặc ARM.
Lịch sử cho thấy việc tìm kiếm trong bảng bằng phần cứng mang lại hiệu quả chuyển tiếp gói tin nhanh hơn đáng kể, vì vậy nó trở thành lựa chọn ưu tiên trong thiết kế, đặc biệt cho các mạng yêu cầu băng thông cao.
Sự khác biệt trong thiết kế chuyển tiếp bằng phần cứng phụ thuộc vào nhiều yếu tố như kích thước của rack hoặc bảng mạch, chi phí, mức tiêu thụ năng lượng và yêu cầu thông lượng Những yếu tố này có thể tạo ra sự khác biệt về loại bộ nhớ, bao gồm tốc độ, kích thước và vị trí, cũng như giá thành và cách vận hành.
Sự khác biệt về tính năng chuyển tiếp trong thiết bị mạng phụ thuộc vào khả năng mở rộng và số lượng thông tin trong bảng chuyển tiếp Các tác vụ của Data Plane bao gồm chuyển tiếp gói tin, hủy gói tin, chỉnh sửa header và quản lý hàng đợi Đôi khi, quyết định chuyển tiếp sẽ được chuyển đến cổng mạng nội bộ cho các dịch vụ như OSPF và BGP, dẫn đến việc gói tin được chuyển đến Route Processor để Control Plane xử lý Do đó, có sự kết nối giữa Data Plane và Control Plane trong thiết bị mạng.
Data Plane không chỉ đảm nhiệm chức năng chuyển tiếp gói tin mà còn hỗ trợ các dịch vụ và tính năng bổ sung như Access List Control và QoS/Policy Trong một số hệ thống, các tính năng này được tổ chức riêng biệt trong các bảng khác nhau, trong khi ở những hệ thống khác, chúng được coi là những tính năng mở rộng cho quá trình chuyển tiếp.
Với những tính năng này, chúng ta có thể thay đổi hoặc ngăn chặn kết quả của quá trình tìm kiếmtrong bảng chuyển tiếp ví dụ như:
Access Control List (ACL) là một công cụ xác định hành động hủy bỏ gói tin hoặc khung khi chúng phù hợp với các điều kiện đã được cấu hình trước ACL bao gồm một tập hợp các tham số có thể ảnh hưởng đến quá trình chuyển tiếp gói tin.
Chính sách QoS có khả năng ánh xạ luồng dữ liệu với hàng đợi đầu ra hoặc điều chỉnh giá trị các trường TOS/COS nhằm chuẩn hóa dịch vụ theo các quy định mạng Tương tự như ACL, QoS có thể hủy bỏ gói tin mà không xem xét tác động của việc chuyển tiếp gói tin đó.
Hình 4: Thứ tự xử lý gói tin trong một Router truyền thống
Chức năng của thiết bị Switch và Router hiện nay đã được phân chia rõ ràng giữa Control Plane và Data Plane, tương tự như mô hình tập trung hóa Control Plane về mặt logic nhưng phân tán về mặt vật lý trong công nghệ SDN Cụ thể, Control Plane thường được đặt trong một Line Card/Processor riêng, trong khi Data Plane được đặt trong một Line Card/Processor khác, giúp hai thành phần này hoạt động độc lập về mặt vật lý Sự tách biệt này không chỉ tăng cường tính linh hoạt mà còn nâng cao độ an toàn cho hệ thống mạng.
T ạ i Sao C ầ n Tách Bi ệ t Gi ữ a Control Plane Và Data Plane
Việc tách biệt Control Plane và Data Plane đã trở thành một khái niệm phổ biến trong thiết kế thiết bị mạng Các thiết bị Switch/Router hiện đại thường được trang bị kiến trúc nhiều slot hoặc module, trong đó Control Plane, giống như bộ não, được xử lý bởi một hoặc hai bộ vi xử lý riêng biệt để đảm bảo khả năng dự phòng Đồng thời, chức năng Switching của Data Plane hoạt động độc lập trên các line card khác nhau, mỗi line card lại có bộ vi xử lý riêng Hình ảnh dưới đây minh họa cách bộ xử lý Route Processor và Data Plane được tích hợp trong phần Line Card, sử dụng bộ vi xử lý ASICs để quản lý kết nối cổng vào và ra.
Hình 5: Control Plane và Data Plane trong một thiểt bị mạng
Trong quá trình hoạt động, Data Plane sở hữu các bảng forwarding riêng biệt, xác định cách thức xử lý gói tin đến và đi qua các cổng mạng Những bảng này được cập nhật và quản lý bởi Route Processor của Control Plane Khi nhận được bản tin từ Control Plane hoặc bản tin Unknown, chúng sẽ được chuyển đến Route Processor để xử lý thêm Route Processor và Line Card được liên kết thông qua một mạng nội bộ tốc độ cao bên trong thiết bị mạng.
V ấn Đề M ở R ộ ng
Service Card (hay Control Plane) bị giới hạn bởi số lượng thuê bao, số luồng và số dịch vụ mà nó có thể xử lý, đồng thời chỉ hỗ trợ một thế hệ card nhất định Theo thời gian, nhu cầu phát triển dẫn đến sự ra đời của các thế hệ card mới, tận dụng những ưu điểm từ công nghệ và dòng chip mới Tuy nhiên, điều này cũng gây ra thách thức về chi phí và công sức trong việc tích hợp các card mới với nhau, trong khi Forwarding card có thể hỗ trợ một kích thước nhất định.
27 nhất định cho bảng chuyển tiếp ở một thế hệ chip nào đó Bộ nhớ của Control Card có thểxử lý một số lượng route hoặc trạng thái nhất định.
S ự Phát Tri ể n Và Tính Ổn Đị nh C ủ a M ạ ng
Các nhà mạng cần nâng cấp phần cứng để mở rộng và xử lý vấn đề Control Plane, đồng thời phải cân nhắc đến Forwarding Card, giá cả và hiệu năng Việc cân bằng đầu tư giữa service card và forwarding card là cần thiết Tách riêng Control Plane và Data Plane giúp mở rộng độc lập, cho phép nâng cấp phần cứng Forwarding để giải quyết các vấn đề về băng thông và thông lượng.
Hình 6: Các thành phần trong một thiết bị mạng
Việc tách biệt Control Plane và Data Plane, cùng với các thành phần khác như Management Plane và Service Plane, là cần thiết để đảm bảo quá trình nâng cấp và mở rộng diễn ra độc lập Khi kết hợp Control Plane và Data Plane, sự phức tạp sẽ gia tăng, dẫn đến khó khăn trong việc kiểm soát và giảm độ ổn định so với việc chia tách chúng.
Phân Tán Control Plane
Mô hình Control Plane phân tán đã tồn tại từ lâu cùng với sự phát triển của mạng internet, nhưng gặp khó khăn trong việc mở rộng Mặc dù là mô hình phân tán, nó vẫn hoạt động theo nguyên tắc thống nhất cuối cùng (Eventual Consensus), trong đó các thành phần mạng trao đổi thông tin định tuyến để tạo ra một bảng dữ liệu nội bộ ổn định Thuật ngữ "thống nhất cuối cùng" xuất phát từ việc các bảng dữ liệu sẽ được đồng bộ hóa sau một thời gian nhất định do độ trễ lan truyền Tuy nhiên, tính chất phân tán của mô hình này đôi khi dẫn đến sự thiếu đồng bộ, gây ra tình trạng định tuyến không tối ưu và có thể xuất hiện hiện tượng lặp đường đi (loop path).
Nền tảng của mô hình Control Plane trong mạng IP hiện nay dựa vào giao thức IGP, có thể là OSPF hoặc ISIS Khi IGP được cấu hình, nó sẽ thiết lập mối quan hệ với các thiết bị lân cận để quản lý việc trao đổi thông tin định tuyến, chẳng hạn như NLRI và trạng thái đường đi.
Trong quá trình trao đổi thông tin định tuyến, các thành phần mạng lưu trữ các bản tin quảng bá từ các node khác vào cơ sở dữ liệu trạng thái như OSPF database Sau đó, chúng chạy giải thuật tìm đường đi ngắn nhất để thiết lập đồ thị đường đi tốt nhất, từ đó đóng góp vào việc xây dựng RIB Sự thay đổi trong quan hệ lân cận hoặc liên kết sẽ tạo ra các sự kiện trong mạng, và các sự kiện này được lan truyền đến toàn bộ các thành phần trong cùng một vùng thông qua giải thuật quảng bá phân tán, giúp các node khác nắm bắt được thông tin về sự kiện xảy ra.
Việc mở rộng Control Plane trong mạng IP được thực hiện thông qua thiết kế logic và vật lý, sử dụng các công cụ như đệ quy, tổng hợp, lọc route và phân chia nhóm Để xử lý sự mở rộng này, cần xem xét số lượng IGP lân cận hỗ trợ, số sự kiện có thể xử lý, kích thước bảng dữ liệu và các cấu trúc trạng thái khác, tất cả đều có thể được chia sẻ.
Trong mạng biên, người vận hành có khả năng tổng hợp thông tin định tuyến từ các vùng cạnh biên, giúp phân cấp và tổ chức các vùng thành những phần nhỏ hơn, cả về mặt vật lý lẫn logic.
Th ờ i Gian H ộ i T ụ
Bảng FIB (Data Plane forwarding state entry) trong mô hình IP đã được tối ưu hóa qua nhiều năm về cấu trúc và thuật toán tìm kiếm Sự hội tụ và cân bằng tải là hai yếu tố quan trọng mà các nhà quản trị mạng và thiết kế chú trọng Hội tụ được định nghĩa là khoảng thời gian từ khi một thành phần mạng thông báo thay đổi thông tin định tuyến cho đến khi tất cả các thành phần khác cập nhật xong Độ trễ lan truyền, một tham số của sự hội tụ, phụ thuộc vào khoảng cách từ node đầu tiên thông báo thay đổi đến các node khác Độ trễ xử lý trong từng thiết bị cũng ảnh hưởng đến hội tụ, khi các thiết bị cập nhật RIB và FIB Để tối ưu độ trễ lan truyền, mỗi giao thức định tuyến sử dụng đồng hồ định thời để tạo ra sự kiện sau một khoảng thời gian nhất định, như kỹ thuật hello, nơi node mạng gửi gói tin hello đến các lân cận và tiến hành thông báo cập nhật nếu không nhận được phản hồi Các nhà sản xuất cũng tối ưu hóa cách tổ chức bảng để giảm thiểu tác vụ khi có thay đổi xảy ra.
T ậ p Trung Hóa Control Plane
Tập trung hóa Control Plane mang lại lợi ích lớn cho việc quản lý mạng, cho phép ứng dụng hoặc thực thể chỉ cần truy cập vào một cái nhìn tổng quát về toàn mạng mà không cần theo dõi từng thành phần riêng lẻ Khi có sự thay đổi trong mạng lớn, ứng dụng chỉ cần tương tác với một vài điểm điều khiển, giúp đơn giản hóa quá trình điều khiển Ngoài SDN, nhiều mô hình khác như Route Server trong một miền IP hay ATM Switch Controller cũng đã áp dụng sự tập trung trong Control Plane.
Mô hình phân tán Control Plane và mô hình thống nhất đã trải qua sự phát triển lâu dài nhằm đáp ứng nhu cầu mở rộng của Internet và cải thiện tính ổn định Điểm yếu lớn nhất của mô hình phân tán là thiếu linh hoạt trong việc điều khiển người dùng, không có công cụ mạnh để điều chỉnh đường đi một cách hiệu quả Hơn nữa, mô hình này cũng gặp khó khăn trong khả năng lập trình hóa do thiếu chuẩn API cho các trạng thái khác nhau, cũng như trong việc tích hợp dữ liệu, thông tin điều khiển và dịch vụ quản trị.
Tập trung hóa Control Plane thành một thực thể logic nhưng vẫn duy trì sự phân tán về mặt vật lý giúp mạng IP mở rộng hơn, tăng cường tính sẵn sàng và không bị ảnh hưởng bởi khoảng cách địa lý.
OpenFlow, được phát triển bởi ONF, là tiêu chuẩn đầu tiên trong lĩnh vực SDN, cung cấp khả năng điều khiển tập trung cho mạng Nó bao gồm API để quản lý mạng, tính toán đường đi và cung cấp các dịch vụ cho các Controller ở lớp ứng dụng.
SDN, hay Mạng Định Nghĩa Phần Mềm, là một mô hình mạng tiên tiến tách biệt phần chuyển tiếp và phần điều khiển, cho phép di chuyển logic điều khiển từ các switch truyền thống về một điểm tập trung Điều này tạo ra khả năng trừu tượng hóa hạ tầng mạng, mang lại sự linh hoạt và khả năng lập trình cao, không phụ thuộc vào loại thiết bị hay nhà cung cấp Bên cạnh việc trừu tượng hóa mạng, SDN còn cung cấp một bộ APIs giúp đơn giản hóa việc triển khai các dịch vụ mạng thông thường như định tuyến.
Multicast, bảo mật, điều khiển truy nhập, quản lý băng thông, kỹ thuật lưu lượng, QoS, hiệu quả điện năng và quản lý chính sách là những yếu tố quan trọng trong mạng SDN Trong kiến trúc này, Controller thường được triển khai dưới dạng phần mềm trong Control Plane, trong khi thiết bị mạng chỉ đóng vai trò là thiết bị chuyển tiếp trong Data Plane, có khả năng lập trình điều khiển qua các chuẩn mở OpenFlow là một trong những chuẩn mở phổ biến được sử dụng trong thiết bị Switch Bài viết dưới đây sẽ đi sâu vào chi tiết về giao thức OpenFlow.
Mô T ả T ổ ng Quan Giao Th ứ c Openflow
Hình dưới đây mô tả hoạt động của OpenFlow trong Switch.
Hình 7: Các thành phần trong OpenFlow
Một Switch OpenFlow bao gồm nhiều bảng dòng và một bảng nhóm, được sử dụng để xử lý thông tin và chuyển tiếp gói tin Kênh OpenFlow kết nối với Controller bên ngoài, cho phép Controller quản lý Switch thông qua giao thức OpenFlow Nhờ giao thức này, Controller có khả năng thêm, cập nhật hoặc xóa các dòng dữ liệu trong bảng dòng.
Each Flow table in a Switch contains a set of Flow Entries Each Flow Entry consists of a Match Field, a Counter, and a set of actions that are executed when a packet is matched.
Việc kết hợp Flow Table đầu tiên là bước khởi đầu quan trọng, và có thể tiếp tục thực hiện với các Flow Table sau đó Các Flow Entry sẽ được kết hợp theo một thứ tự ưu tiên nhất định.
Khi Flow Entry đầu tiên được kết hợp, nó sẽ được sử dụng ngay lập tức Nếu có một Flow Entry phù hợp, các chỉ thị của Flow Entry đó sẽ được thực hiện Ngược lại, nếu không tìm thấy Flow Entry nào, hành động tiếp theo sẽ phụ thuộc vào cấu hình của Switch: các gói tin có thể được chuyển đến Controller qua kênh OpenFlow, bị hủy bỏ, hoặc tiếp tục tìm kiếm trong Flow Table tiếp theo.
Mỗi Flow Entry chỉ rõ cách thức gói tin được chuyển tiếp và xử lý trong Grouptable và đường ống dẫn (Pipeline) Chỉ thị xử lý của đường ống dẫn cho phép gói tin di chuyển qua chuỗi các bảng, đồng thời trao đổi thông tin dưới dạng metadata giữa các bảng Quá trình xử lý đường ống dẫn kết thúc khi chỉ thị của Flow Entry không còn trỏ tới bảng tiếp theo, dẫn đến việc gói tin được thay đổi và chuyển tiếp.
Một Flow Entry có khả năng chuyển tiếp gói tin đến cổng mạng trên Switch, bao gồm cả cổng vật lý và cổng ảo (Virtual Port) Các cổng ảo định trước (Reserved Port) có thể xác định các hoạt động chuyển tiếp như gửi đến Controller, Flooding, hoặc chuyển tiếp theo cách thông thường trên Switch Trong khi đó, Virtual Port có thể bao gồm Tunnel port, nhóm port vật lý và cổng loopback.
Các Flow Entry có khả năng trỏ tới một nhóm để yêu cầu xử lý bổ sung, bao gồm các hành động như flooding và các hành động phức tạp hơn như định tuyến đa đường, định tuyến nhanh, và tổng hợp link Nhờ vào việc hoạt động như một lớp điều khiển gián tiếp chung, các nhóm này cho phép nhiều luồng dữ liệu được chuyển tiếp đồng thời đến một đích chung.
Bảng nhóm bao gồm các mục nhóm, mỗi mục chứa một tập hợp các hành động theo cú pháp nhất định, tùy thuộc vào loại nhóm Những hành động này sẽ được thực hiện khi gói tin được gửi đến nhóm tương ứng.
B ảng OpenFlow Và Nguyên Lý Đườ ng Ố ng D ẫ n (pipeline)
Phần này sẽ miêu tả Flow Table và Group Table cùng với nguyên lý kết hợp (matching) và xử lý hành động (action handling) của chúng.
Một Flow Table gồm các Flow entry như sau:
Mỗi Flow Entry gồm nhữ trường sau:
Match Fields là yếu tố quan trọng để so sánh và kết hợp thông tin trong gói tin nhận được Nó bao gồm các cổng vào (Ingress Port), phần đầu của gói tin (Header) và metadata được xác định bởi một bảng trước, trong đó trường metadata là tùy chọn.
- Counter : là biến được cập nhật khi có gói tin được khớp với Match Fields.
- Intructions: là chỉ thị thực thi hành động hoặc là xử lý đường ống dẫn (Pipeline Processing)
Quá trình xử lý gói tin được Switch thực hiện theo nguyên lý đường đường ống dẫn.
Trong Switch OpenFlow được chia làm hai loại: Switch chỉ hỗ trợ OpenFlow
(OpenFlow-Only), Switch OpenFlow lai (OpenFlow Hybrid) Với Switch chỉ hỗ trợ OpenFlow thì sẽ chỉ xử lý gói tin theo nguyên lý đường ống dẫn (Pipeline).
OpenFlow-hybrid hoạt động như một switch OpenFlow và switch truyền thống, cung cấp tính năng chuyển mạch, cấu hình VLAN, và xử lý định tuyến lớp 3 Các switch này có khả năng phân loại lưu lượng, quyết định xem lưu lượng sẽ đi vào đường ống OpenFlow hay đường ống thông thường dựa trên VLAN ID hoặc cổng nhận gói tin Điều này cho phép các gói tin di chuyển linh hoạt giữa đường ống dẫn OpenFlow và đường ống dẫn thông thường thông qua các cổng ảo Normal hoặc Flooding.
Mỗi Switch OpenFlow có 36 đường ống dẫn, mỗi đường ống này chứa nhiều bảng Flow Table, và mỗi bảng lại bao gồm các Flow Entry Quá trình xử lý đường ống dẫn OpenFlow xác định mối quan hệ tương tác giữa các bảng Flow Table Nếu một OpenFlow Switch chỉ có một bảng Flow Table hợp lệ, quá trình xử lý sẽ trở nên rất đơn giản.
Hình 8: Hoạt động của xử lý đường ống dẫn
Các bảng Flow trong Switch được đánh số từ 0 và quá trình xử lý của OpenFlow bắt đầu từ bảng đầu tiên Việc sử dụng các bảng tiếp theo phụ thuộc vào kết quả của bảng trước đó.
Khi gói tin được kết hợp với một Flow Entry trong bảng, các chỉ thị tương ứng sẽ được thực hiện, cho phép chuyển tiếp gói tin đến một bảng Flow Table khác thông qua chỉ thị Goto Quá trình xử lý sẽ tiếp tục lặp lại tại bảng mới Lưu ý rằng một Flow Entry chỉ có thể chuyển gói tin đến các bảng Flow có chỉ số lớn hơn chỉ số của bảng hiện tại, tức là theo chiều thuận.
37 thực hiện theo thuận và không thể thực hiện chuyển tiếp ngược lại bảng Flow trước đó
Do đó, các Flow Entry trong bảng Flow cuối cùng không được phép chứa chỉ thị Goto Nếu một Flow Entry không chuyển tiếp gói tin tới bảng Flow khác, quá trình xử lý đường ống dẫn sẽ dừng lại Khi đó, gói tin sẽ được xử lý bởi một tập hợp các lệnh hành động (Action Set) kết hợp với Flow Entry đó, trong đó hành động phổ biến nhất là chuyển tiếp gói tin.
Khi một gói tin không khớp với bất kỳ Flow Entry nào trong bảng Flow Table, bảng này được gọi là bảng Flow thiếu (Table Miss) Cách xử lý cho bảng Flow thiếu phụ thuộc vào cấu hình của nó; mặc định, gói tin sẽ được chuyển đến Controller qua kênh điều khiển Ngoài ra, gói tin cũng có thể bị hủy bỏ Một tùy chọn khác là cấu hình bảng Flow để tiếp tục xử lý gói tin, trong trường hợp này, gói tin sẽ được chuyển đến bảng Flow tiếp theo để xử lý.
B ả ng Nhóm (Group Table)
Một bảng nhóm bao gồm các dòng GroupEntry, cho phép Flow trỏ tới một Group Table, giúp OpenFlow cung cấp thêm các phương pháp xử lý như lựa chọn hoặc toàn bộ.
Mỗi Group Entry gồm những thông tin sau: Ý nghĩa của các trường này như sau:
- Group Identifier: là chỉ số định danh nhóm gồm 32 bit
- Group Type: Xác định loại nhóm
- Counter: Được cập nhật khi gói tin được xử lý bởi nhóm
- Action Bucket: một danh sách các hành động (bucket) được thực thi và các tham số kèm theo.
Có 4 loại Group Type như sau:
- All: Thực thi toàn bộ các hành động trong Group Group này được sử dụng để thực hiện chuyển tiếp Multicast và Broadcast.
Chọn lựa hành động trong nhóm là quá trình chuyển các gói tin đến một hành động (bucket) dựa trên các thuật toán tính toán của Switch như thuật toán băm và thuật toán quay vòng Cấu hình và lệnh cho thuật toán lựa chọn không tuân theo tiêu chuẩn OpenFlow Nếu cổng mạng trong một hành động gặp sự cố, Switch sẽ ngăn chặn các hành động này khỏi việc được lựa chọn.
Thực hiện hành động gián tiếp trong nhóm giúp nhiều Flow có thể được hướng tới một nhóm chung, từ đó tăng cường khả năng hỗ trợ nhanh chóng và nâng cao hiệu quả làm việc.
Fastfailover là cơ chế thực thi hành động đầu tiên đang hoạt động, với mỗi hành động được liên kết với một cổng xác định Nếu không có cổng nào hoạt động, gói tin sẽ bị hủy bỏ.
Phương Thứ c K ế t H ợ p V ới Trườ ng C ủa Gói Tin
Các trường trong gói tin được sử dụng để kết hợp gồm:
- Ether src: Địa chỉ MAC nguồn
- Ether dst: Địa chỉ Mac đích
- Ether type: Loại chuẩn Ethernet
- VLAN id : chỉ số VLAN
- VLAN priority: Mức độ ưu tiên của gói tin
- MPLS traffic class: Loại gói tin MPLS
- IPv4 src: Địa chỉ IP nguồn
- IPv4 dst: Địa chỉ IP đích
- IPv4 proto / ARP opcode: Loại giao thức
- IPv4 ToS bits: loại dịch vụ
- TCP/ UDP / SCTP src port ICMP Type: Cổng nguồn
- TCP/ UDP / SCTP dst port ICMP Code: Cổng đích
Ngoài ra có thêm 2 thông tin khác :
- Ingress Port : Cổng gói tin đi vào
- Metadata: Dữ liệu được cung cấp từ bảng khác
Khi Switch nhận gói tin, nó sẽ kiểm tra tất cả các trường trong gói Mỗi dòng điều kiện có thể chứa các giá trị xác định hoặc bất kỳ giá trị nào khác Nếu Switch hỗ trợ mặt nạ bít cho địa chỉ Ethernet nguồn và đích, cũng như địa chỉ IP nguồn và đích, thì mặt nạ chính xác hơn sẽ được ưu tiên kết hợp.
Cơ chế kết hợp như sơ đồ dưới đây:
Hình 9: Lưu đồ cơ chế kết hợp
Khi nhận được gói tin, OpenFlow Switch sẽ thực hiện các bước theo lưu đồ đã định sẵn Đầu tiên, Switch sẽ tìm kiếm các Flow Entry trong bảng đầu tiên dựa trên nguyên lý xác định quy tắc xử lý gói tin.
Có 40 đường ống dẫn cần xem xét, điều này có thể yêu cầu tìm kiếm trong các bảng tiếp theo Các trường trong gói tin được kiểm tra để xác định sự kết hợp với các Flow phụ thuộc vào loại gói tin.
Một gói tin được coi là kết hợp với một Flow Entry khi các trường Match Fields khớp chính xác với giá trị trong Flow Entry Nếu giá trị nào đó trong bảng Flow Table là bất kỳ, nó sẽ kết hợp với mọi giá trị trong header của gói tin Để xử lý các loại gói tin Ethernet khác nhau, Ethernet Type được xác định dựa trên nội dung gói tin Khi Ethernet Type được kết hợp, OpenFlow có thể nhận diện trường dữ liệu của gói tin Nếu gói tin có trường Vlan, trường Ethernet Type sẽ nằm ngay sau trường Vlan, ngoại trừ trường hợp Switch không thể xác định Ethernet Type với gói tin có trường MPLS tag.
If a packet is in Ethernet II format, the Ethernet Type value will be combined with the Ethernet Type of the Flow Entry In the case of a standard 802.3 packet with a header field conforming to the 802.2 LLC, the SNAP protocol ID in the SNAP header is integrated with the Ethernet Type in the Flow Entry A Flow Entry with an Ethernet Type value of 0x05FF will match all 802.3 frames that do not contain a SNAP header.
Switch chỉ cập nhật các tập chỉ thị và biến đếm Counter với Flow Entry có độ ưu tiên cao nhất kết hợp với gói tin Nếu có nhiều Flow Entry cùng độ ưu tiên, quá trình kết hợp sẽ không diễn ra Tình huống này xảy ra khi Controller không thiết lập bít CHECK_OVERLAP trong bản tin Flow mod và đưa vào các dòng trùng lặp.
Với gói tin được phân mảnh thì nó cần được ghép lại trước khi xử lý đường ống dẫn nếu cấu hình Switch chứa cờ OFPC_FRAG_REASM.
Hiện tại Switch OpenFlow không đưa ra cách xử lý nếu nhận được gói tin bị lỗi hoặc bất thường.
Hình 10: Thứ tự kiểm tra kết hợp gói tin
Các biến đếm được cập nhật cho từng bảng, Flow, cổng, hàng đợi, nhóm và hành động Quy chuẩn cho các biến Counter có thể được thực hiện qua phần mềm hoặc phần cứng với giới hạn cao hơn Bảng dưới đây trình bày các biến đếm và độ dài của chúng.
Hình 11: Các dữ liệu thống kê
Các Ch ỉ Th ị (Instructions)
Mỗi Flow Entry bao gồm một tập hợp các chỉ thị được thực hiện khi gói tin được kết hợp với nó, cho phép thay đổi gói tin và thực hiện các hành động xử lý Các loại chỉ thị này đóng vai trò quan trọng trong việc điều hướng và quản lý lưu lượng mạng.
Hành động Apply-Action cho phép thực hiện ngay lập tức một hoặc nhiều hành động mà không cần thay đổi nào Chỉ thị này được sử dụng để điều chỉnh gói tin giữa hai bảng hoặc thực thi nhiều hành động cùng loại Nhiều hành động có thể được xác định qua danh sách các hành động (action List).
- Clear-Action(s): Xóa toàn bộ các Action ngay lập tức.
- Write-Action action(s): Đưa Action vào một tập các Action hiện hành Nếu Action đó đã có trong List thì nó sẽ ghi đè vào danh sách.
- Write-Metadata metadata / mask: Ghi giá trị mặt nạ (masked) metadata vào trường metadata Mặt nạ sẽ xác định những bít nào nên được hiệu chỉnh.
- Goto-Table next-table-id: Chỉ ra bảng tiếp theo gói tin sẽ được gửi đến để xử lý theo cơ chế đường ống dẫn.
Mỗi Entry có một số chỉ thị tối đa cho từng loại Lệnh Set được sử dụng để thực hiện tất cả các Action, trong khi chỉ thị Clear thường được dùng trước khi thực hiện Write-Action Cuối cùng, Goto-Table là chỉ thị được đặt ở vị trí cuối cùng.
Một Switch có khả năng từ chối thực hiện một Flow Entry nếu không thể thực hiện chỉ thị đã được chỉ định Trong tình huống này, Switch sẽ trả về một thông báo lỗi Cần lưu ý rằng các bảng Flow không nhất thiết phải hỗ trợ tất cả các kết hợp và chỉ thị khác nhau.
T ập Hành Độ ng (Action Set)
Một hành động được liên kết với một gói tin, trong đó tập hành động này thường được coi là rỗng Một Flow Entry có khả năng thay đổi tập hành động thông qua chỉ thị Write-Action.
Khi một chỉ thị không có Goto-Table trong Clear-Action, quá trình xử lý đường ống sẽ dừng lại và tập hợp các hành động sẽ được thực thi.
Trong một tập action, mỗi loại chỉ có tối đa một action Nếu cần nhiều action cùng loại, có thể sử dụng chỉ thị Apply-Action Các action trong tập được thực thi theo thứ tự nhất định, không phụ thuộc vào cách chúng được đưa vào Nếu có nhóm action trong tập, chúng cũng sẽ được thực hiện theo thứ tự như đã nêu.
- copy TTL inwards: Thực thi copy giá trị TTL theo hướng vào
- pop: Thực thi toàn bộ các Pop action tới gói tin.
- push: Thực hiện toàn bộ các Push đánh dấu
- copy TTL outwards: Thực thi copy TTL action theo hướng ngược.
- decrement TTL: Thực thi giảm giá trị TTL của gói tin
- set: Thực thi toàn bộ action tới gói tin
- qos: Thực thi các action liên quan đến QoS như set queue
- group:Nếu một group Action được xác định thì thực thi các action theo tứ thự của danh sách.
- output: Nếu không có group action được xác định thì chuyển gói tin đến cổng được xác định bởi Output action.
Output action là tập hợp các hành động cuối cùng được thực hiện Khi cả output action và group action được xác định, output action sẽ bị bỏ qua và group action sẽ được ưu tiên Nếu không có cả output action lẫn group action, gói tin sẽ bị hủy bỏ Group action có thể thực thi theo kiểu đệ quy, cho phép một group action bao gồm một group action khác.
Danh M ục Hành Độ ng (Action List)
The Switch can execute actions in a specific order using the Apply-Action directive This directive, along with the Packet Out message, contains a list of actions to be performed.
46 list) Các action trong action list được thực thi theo một thứ xác định bởi danh sách và được thực thi ngay lập tức tới gói tin.
Các action trong danh sách Action sẽ được thực hiện theo thứ tự từ action đầu tiên Tác động của mỗi action sẽ được tích lũy Nếu trong danh sách Action có hai action Push VLAN, thì kết quả sẽ được cộng dồn.
2 Vlan header được đưa vào gói tin.
Sau khi thực hiện danh mục hành động trong chỉ thị Apply-Action, quá trình xử lý đường ống tiếp tục diễn ra trên gói tin đã được điều chỉnh Các hành động trong gói tin sẽ không bị thay đổi bởi các thực thi trong danh mục hành động.
Hành Độ ng (Action)
Một Switch chỉ cần hỗ trợ các action yêu cầu bắt buộc (Required action) mà không cần toàn bộ các loại action Khi kết nối với Controller, Switch sẽ thông báo những action tùy chọn (Optional action) mà nó có khả năng hỗ trợ.
Require Action with Output Action refers to the forwarding of packets to a specified port OpenFlow switches facilitate the transmission of packets to both predefined physical ports and virtual ports Physical ports are referred to as standard ports, while virtual ports include various defined options.
- ALL: Gửi gói tin qua toàn bộ các cổng chuẩn mà không bao gồm cổng mà gói tin đi vào hoặc những cổng được cấu hình OFPPC_NO_FWD.
- CONTROLLER: Đóng gói và gửi tới controller.
- TABLE: Đưa gói tin đến bảng flow đầu tiên để gói tin có thể được xử lý theo một chu trình Pipeline thông thường.
- IN_PORT: gửi gói tin ra cổng mà gói tin đi vào.
Các action trên đều bắt buộc phải có trong Flow Entry.
Còn một số tùy chọn Optional action (không bắt buộc) khác của Output action:
Cổng nội bộ (Local Port) của Switch cho phép các thực thể từ xa giao tiếp với Switch thông qua giao thức OpenFlow, thay vì sử dụng mạng điều khiển Việc gửi gói tin tới cổng nội bộ giúp cải thiện khả năng tương tác và quản lý mạng một cách hiệu quả hơn.
- NORMAL: Xử lý gói tin theo cách thông thường mà không dùng OpenFlow
FLOOD là quá trình gửi gói tin đến tất cả các cổng ngoại trừ cổng mà nó đã đi vào và các cổng đang ở trạng thái OFPPS_BLOCKED Ngoài ra, switch còn sử dụng trường VLAN ID để xác định những cổng thuộc VLAN đó nhằm gửi gói tin đi.
Với Switch chỉ hỗ trợ OpenFlow thì không hỗ trợ Normal và Flood Port, trong khi các Switch lai thì có thể hỗ trợ các loại cổng trên.
Hàm Set-queue là một hành động tùy chọn dùng để gán giá trị queue-id cho gói tin Khi gói tin được chuyển tiếp qua cổng ra, hàm này sẽ xác định hàng đợi tương ứng với cổng đó, từ đó gửi gói tin đi Việc xử lý này hỗ trợ cấu hình QoS hiệu quả hơn.
Drop (hành động bắt buộc): Gói tin sẽ không được chuyển ra cổng mạng, sẽ bị hủy bỏ.
Group (hành động bắt buộc): xử lý gói tin qua một nhóm xác định.
Hành động Push-Tag/Pop-Tag cho phép Switch thêm hoặc xóa các đánh dấu trong phần đầu (header) của gói tin Thứ tự của các trường hay tag trong header của gói tin rất quan trọng.
Để chèn thêm các Tag, cần tuân theo thứ tự đã chỉ định Thông tin sẽ được đặt ở phía bên phải Khi thêm VLAN, hãy chèn ngay sau trường Ethernet, và tương tự, trường MPLS sẽ được chèn sau VLAN.
The Set-Field action allows for the adjustment of values within the Header fields of a packet This action operates sequentially from left to right.
Hình 12: Các tùy chọn của Set Fields
Khi một action push được thực hiện nó sẽ ngầm định copy các trường sau trong gói tin để ghi vào header của gói tin trước khi gửi đi.
OpenFlow Channel
Controller-to-Switch
Controller có thể yêu cầu các khả năng của Switch thông qua việc gửi một yêu cầu tính năng (Feature Request) Sau đó, Switch sẽ phản hồi bằng một tin nhắn trả lời tính năng (Feature Reply) mô tả các khả năng của nó Quá trình này diễn ra khi thiết lập kênh OpenFlow.
- Conguration: Controller có thể set hoặc tìm kiếm các thông số cấu hình trong Switch Switch sẽ trả lời một yêu cầu tìm kiếm thông số trong Switch.
Bản tin Modify-State do Controller gửi nhằm quản lý trạng thái của Switch, với mục đích chính là thêm, xóa và cập nhật các Flow hoặc nhóm trong bảng OpenFlow, cũng như thiết lập các thuộc tính cho cổng của Switch.
- Read-State: Được sử dụng để thu thập thống kê về hoạt động của Switch.
- Packet-out: Được dùng để gửi gói tin ra một cổng nhất định trên Switch.
- Barrier: Được sử dụng để đảm bảo sự phụ thuộc các bản tin được đáp ứng hay nhận thông báo để hoàn thành các hoạt động
Asynchronous
- Packet-in: Được gửi khi gói tin không kết hợp với Flow Entry Hoặc trong trường hợp những gói tin được chuyển đến Controller.
Khi một Flow Entry được thêm vào thông qua thông điệp Flow Modify, sau một khoảng thời gian không sử dụng (time out), Switch sẽ gửi thông báo Flow-Removed.
- Port-status: Switch sẽ gửi bản tin này khi cấu hình hay trạng thái của một cổng trên nó thay đổi.
- Error: Khi có lỗi xảy ra, Switch sẽ gửi bản tin Error cho Controller.
Symmetric
- Hello: Trao đổi giữa Switch và Controller khi kết nối được thiết lập.
Echo là tín hiệu được gửi từ Switch hoặc Controller (yêu cầu Echo), và bên nhận cần phản hồi (trả lời Echo) Chúng được sử dụng để đo độ trễ và băng thông của kết nối giữa Controller và Switch, cũng như để kiểm tra tình trạng hoạt động của hệ thống.
- Experimenter: Được đặt trước, sẽ dùng cho tương lai.
Quá trình thi ế t l ậ p k ế t n ố i
Switch phải thiết lập kết nối để trao đổi thông tin với Controller theo một địa chỉ
Switch được cấu hình với địa chỉ IP và cổng của Controller Khi Switch nhận diện địa chỉ IP này, nó sẽ thiết lập kết nối TLS hoặc TCP với Controller Dữ liệu qua lại trên kênh OpenFlow không bị xử lý qua đường ống OpenFlow Pipeline, vì vậy Switch cần xác định xem thông tin nhận được có phải dành cho nó hay không, thông qua việc kiểm tra bảng Flow Ngoài việc cấu hình tĩnh địa chỉ Controller, giao thức OpenFlow cũng cung cấp phương thức để Switch tự động nhận diện địa chỉ IP và cổng kết nối của Controller.
Khi thiết lập kết nối OpenFlow lần đầu, một bên phải gửi ngay bản tin OFPT_HELLO với trường Version được đặt theo giá trị phiên bản OpenFlow cao nhất mà nó hỗ trợ Sau khi nhận được bản tin này, hai bên sẽ thống nhất sử dụng phiên bản OpenFlow thấp hơn.
Nếu quá trình đàm phán phiên bản giao thức OpenFlow thành công, kết nối sẽ được duy trì Ngược lại, nếu không thành công, bên nhận sẽ phản hồi bằng một thông điệp OFPT_ERROR, với trường Type là OFPET_HELLO_FAILED và Code là OFPHFC_COMPATIBLE, dẫn đến việc kết nối sẽ bị kết thúc.
K ế t n ối gián đoạ n (Connection Interruption)
Khi Switch mất kết nối với Controller, có thể xảy ra tình trạng timeout gói tin Echo Request, timeout phiên TLS, hoặc các vấn đề khác Trong trường hợp này, Switch sẽ cố gắng liên lạc với một hoặc nhiều Controller dự phòng Tuy nhiên, thứ tự liên hệ với các Controller dự phòng không được quy định trong giao thức OpenFlow.
The switch will immediately enter one of two modes: "Fail Secure Mode," which ensures security, or "Fail Standalone Mode," which operates independently, depending on its configurations and settings.
Trong chế độ bảo mật, Switch sẽ ngừng chuyển các gói tin đến Controller khi bị mất kết nối, dẫn đến việc Flow Entry sẽ hết hạn sau một khoảng thời gian nhất định Ngược lại, trong chế độ độc lập, Switch sẽ xử lý tất cả các gói tin thông qua cổng OFPP_NORMAL.
Switch sẽ hoạt động như Switch hoặc Router truyền thống.
Khi kết nối tới Controller được thiết lập lại, các Flow Entry sẽ được khôi phục Controller có tùy chọn xóa bỏ toàn bộ Flow Entry nếu cần thiết Khi một Switch mới khởi động, nó sẽ hoạt động trong chế độ độc lập hoặc bảo mật Cấu hình mặc định của các Flow Entry khi khởi động không được quy định trong đặc tả giao thức OpenFlow.
Mã hóa (Encryption)
Switch và Controller giao tiếp qua kênh mã hóa chuẩn TLS, với kết nối TLS được khởi tạo từ Switch khi khởi động, sử dụng cổng 6633 Quá trình xác thực giữa Switch và Controller diễn ra thông qua việc trao đổi chứng chỉ (Certificate) được ký bởi khóa riêng (Private Key) Mỗi Switch cần cấu hình một chứng chỉ để xác thực Controller, trong khi Controller cũng cần có một Switch Certificate để xác thực Switch.
X ử lý b ả n tin (Message Handling)
Giao thức OpenFlow đảm bảo việc giao nhận và xử lý bản tin với độ tin cậy cao, tuy nhiên, nó không có tính năng tự động phúc đáp và cũng không đảm bảo thứ tự xử lý các bản tin.
- Việc giao nhận bản tin: Các bản tin được đảm bảo giao nhận, chỉ trừ khi kết nối bị mất hoàn toàn.
Switch sẽ tiếp nhận và xử lý tất cả các bản tin từ Controller, đồng thời có khả năng tạo ra phản hồi (Reply) Nếu Switch không thể xử lý một gói tin nào đó từ Controller, nó sẽ gửi lại thông báo lỗi (Error) cho Controller.
Quá trình xử lý gói tin trong Switch có thể không đảm bảo rằng gói tin thực sự được gửi đi, vì có khả năng nó bị hủy bỏ do tắc nghẽn trong OpenFlow Pipeline, chính sách QoS, hoặc bị chặn tại cổng xuất.
Switch cần gửi tất cả các bản tin dị bộ đến Controller, bao gồm các thông tin từ Flow bị xóa và gói tin (Packet-in Messages) Tuy nhiên, gói tin gửi đến Controller có thể bị hủy bỏ do tắc nghẽn hoặc chính sách QoS trong Switch Những gói tin này có thể bị loại bỏ nếu chúng có action được chỉ rõ hoặc do lỗi trong quá trình kết hợp với các Flow Entry.
Controller có thể tùy ý hủy bỏ những bản tin nhưng luôn đáp lại Switch bằng bản tin Hello hoặc Echođể ngăn Switch hủy bỏ kết nối.
Th ứ t ự x ử lý
Thứ tự xử lý có thể được đảm bảo thông qua bản tin Barrier Nếu không có bản tin Barrier, Switch sẽ tự động sắp xếp lại thứ tự xử lý nhằm tối ưu hóa hiệu năng.
Controller không cần phụ thuộc vào thứ tự xử lý các bản tin trên Switch, vì Flow Entry có thể được đưa vào bảng Flow theo thứ tự khác với thứ tự nhận được Tất cả các bản tin không được sắp xếp lại sẽ phải vượt qua một bản tin Barrier, và bản tin Barrier này chỉ được phép xử lý khi tất cả các bản tin trước đó đã hoàn tất.
- Những bản tin trước bản tin Barrier phải được xử lý trước bản tin Barrier, bao gồm cả việc gửi lại các kết quả liên quan hoặc lỗi.
- Bản tin Barrier được xử lý và sau đó gửi lại một bản tin Barrier trả lời.
- Sau đó bắt đầu xử lý các bản tin sau bản tin Barrier.
Nếu hai bản tin từ Controller phụ thuộc lẫn nhau thì chúng nên được phân tách bởi một bản tin Barrier.
Các B ả n Tin C ậ p Nh ậ t Flow Table
Các bản tin chỉnh sửa Flow gồm những loại sau: enum ofp_flow_mod_command {
OFPFC_MODIFY, /* Modify all matching flows */
OFPFC_MODIFY_STRICT, /* Modify entry strictly matching wildcards and priority */
OFPFC_DELETE, /* Delete all matching flows */
OFPFC_DELETE_STRICT /* Delete entry strictly matching wildcards and priority */
Khi thực hiện yêu cầu thêm Flow (OFPFC_ADD) với cờ OFPFF_CHECK_OVERLAP được thiết lập, Switch cần kiểm tra xem có Flow nào trùng lặp với Flow mới không Hai Flow Entry được coi là trùng nhau nếu một gói tin có thể khớp với cả hai Flow và có cùng mức độ ưu tiên Nếu phát hiện trùng lặp Flow Entry, Switch sẽ từ chối cập nhật Flow Entry và gửi lại thông báo lỗi ofp_error_msg với mã tương ứng.
Khi gặp lỗi OFPET_FLOW_MOD_FAILED và OFPFMFC_OVERLAP, Switch sẽ thêm Flow Entry vào bảng Flow nếu yêu cầu là hợp lệ và không có trùng lặp Nếu đã có một Flow Entry với cùng trường Match và độ ưu tiên, Entry đó sẽ bị xóa mà không tạo ra bản tin Flow-removed, và một Flow Entry mới sẽ được thêm vào Để nhận được bản tin Flow-removed, Flow Entry cần gửi một bản tin DELETE STRICT trước khi thêm Flow Entry mới.
Bản tin cập nhật Flow (Modify-Flow) bao gồm OFPFC_MODIFY hoặc OFPFC_MODIFY_STRICT, cho phép cập nhật trường chỉ thị của một Flow Entry kết hợp với trường Match bằng các giá trị trong yêu cầu Tuy nhiên, các giá trị như cookie, idle_timeout, hard_timeout, flags, biến đếm và thời gian tồn tại sẽ được giữ nguyên Nếu không có Flow Entry nào kết hợp với yêu cầu và trường cookie_mask, quá trình sẽ không thực hiện cập nhật.
Khi bản tin cập nhật Flow chứa giá trị 0, hoạt động của nó tương tự như cơ chế của bản tin Add Flow, dẫn đến việc bổ sung một Flow Entry mới với các biến đếm counter tương ứng.
A Flow Removal message (OFPFC_DELETE or OFPFC_DELETE_STRICT) removes a matching Flow Entry from the Flow table If the OFPFF_SEND_FLOW_REM flag is set, a Flow-removed message is generated If no matching Flow Entry is found, no changes are made.
Bản tin Modify và Delete có 2 phiên bản :
- Phiên bản không hạn chế (OFPFC_MODIFY và OFPFC_DELETE)
- Phiên bản hạn chế (OFPFC_MODIFY_STRICT và
Trong phiên bản không hạn chế, khi nhiều mặt nạ Wildcard được kích hoạt, toàn bộ các Flow Entry kết hợp sẽ được cập nhật hoặc xóa Ngược lại, trong phiên bản giới hạn, chỉ khi tất cả các trường, bao gồm Wildcard và độ ưu tiên, được kết hợp hoàn toàn thì mới có thể cập nhật hoặc xóa Ví dụ, nếu một bản tin xóa bỏ các Flow Entry với toàn bộ các trường Wildcard được thiết lập, bản tin OFPFC_DELETE sẽ xóa toàn bộ các Flow Entry từ tất cả các bảng, trong khi OFPFC_DELETE_STRICT chỉ xóa một Entry có độ ưu xác định trong bản tin.
Khi áp dụng các bản tin Modify và Delete không hạn chế, một sự kết hợp sẽ xảy ra khi một Flow Entry được xác định chính xác hoặc nhiều hơn theo chỉ thị Chẳng hạn, một OFPFC_DELETE để xóa tất cả các Flow Entry có cổng đích là 80 sẽ không xóa một Flow Entry toàn bộ Wildcard Ngược lại, một OFPFC_DELETE với toàn bộ Wildcard sẽ xóa Flow Entry có cổng đích là 80.
Chỉ thị Delete có thể được lọc tùy chọn theo nhóm đích hoặc các cổng gửi ra Khi output_port có giá trị khác OFPP_ANY, điều này tạo ra một điều kiện ràng buộc, xác định cổng kết hợp với giá trị port trong output.
Flow Entry thực hiện 56 hành động, trong khi switch không thực hiện đệ quy với các tập hành động liên kết tới nhóm có thể có hành động đầu ra kết hợp với chỉ thị.
Chỉ thị Delete và Modify có thể được lọc dựa trên giá trị Cookie khi Cookie_mask được thiết lập khác 0 Điều này yêu cầu trường cookie trong bản tin Modify phải kết hợp với cookie của Flow Entry, cụ thể là cần có (flow.cookie).
&flow_mod.cookie mask) == (flow_mod.cookie & flow_mod.cookie_mask)
Nếu bản tin Flow Modify chỉ sai bảng hoặc 0xFF, Switch sẽ gửi ofp_error_msg với OFPET_FLOW_MOD_FAILED type và OFPFMFC_BAD_TABLE_ID code.
If the Switch cannot find an available space to add a Flow Entry, it will send an ofp_error_msg with the type OFPET_FLOW_MOD_FAILED and the code OFPFMFC_TABLE_FULL.
If the notification requests a modification of a non-existent Flow, it will return an error message labeled as ofp_error_msg, categorized under the OFPET_BAD_INSTRUCTION type, with the code OFPBIC_UNSUP_INST.
If a Goto-Table is present in the packet, and the target table is invalid, the Switch will generate an ofp_error_msg with the OFPET_BAD_INSTRUCTION type and an OFPBIC_BAD_TABLE_ID code.
Nếu bản tin yêu cầu có lệnh Write-Metadata nhưng giá trị metadata và metadata mask không được hỗ trợ trên Switch, Switch sẽ phản hồi bằng bản tin ofp_error_msg với loại OFPET_BAD_INSTRUCTION và mã lỗi OFPBIC_UNSUP_METADATA hoặc OFPBIC_UNSUP_METADATA_MASK.
Nếu những chỉ thị yêu cầu chứa một Experimenter và Experimenter không được hỗ trợ ofp_error_msg với OFPET_BAD_INSTRUCTION type và OFPBIC_UNSUP_EXP_INST
Nếu bản tin hiệu chỉnh Flow Entry yêu cầu thay đổi một trường không được hỗ trợ trên Switch, hệ thống sẽ trả lại bản tin ofp_error_msg với loại OFPET_BAD_MATCH và mã OFPBMC_BAD_FIELD.
Lo ạ i B ỏ Flow Entry
Mỗi Flow Entry đều có Idle_timeout và Hard_timeout, và nếu giá trị này khác 0, Switch cần giám sát Flow Entry để tránh việc bị loại bỏ Hard_timeout chỉ ra rằng Flow Entry sẽ bị xóa sau một khoảng thời gian nhất định mà không phụ thuộc vào số lượng gói tin, trong khi Idle_timeout cho biết Flow Entry sẽ bị loại bỏ nếu không có gói tin nào kết hợp trong khoảng thời gian quy định Ngoài ra, Controller cũng có khả năng loại bỏ Flow Entry một cách chủ động thông qua các thông điệp Delete như OFPFC_DELETE hoặc OFPFC_DELETE_STRICT.
Khi một Flow Entry bị xóa, Switch sẽ cập nhật cờ OFPFF_SEND_FLOW_REM Nếu cờ này được kích hoạt, Switch sẽ gửi thông báo loại bỏ Flow Entry đến Controller, bao gồm lý do xóa, thời gian tồn tại và thống kê số lần bị xóa của Flow Entry.
5 Tri ể n khai SDN trong m ạ ng IP
Tri ể n Khai SDN Trong M ạ ng LAN C ủ a Doanh Nghi ệ p
Nh ữ ng thách th ức đặ t ra trong m ạ ng LAN c ủ a doanh nghi ệ p
Trong bối cảnh phát triển mạng IP tại doanh nghiệp, các trung tâm IT đang phải đối mặt với áp lực lớn trong việc cung cấp truy cập ứng dụng và dữ liệu mọi lúc, mọi nơi Sự phổ biến của thiết bị di động như điện thoại thông minh và máy tính bảng trong mạng LAN doanh nghiệp đã dẫn đến việc người dùng truy cập và lưu trữ dữ liệu nhạy cảm trên thiết bị cá nhân Do đó, nhiệm vụ của nhân viên IT không chỉ là bảo đảm mạng lưới an toàn, linh hoạt và dễ quản lý, mà còn phải giám sát việc cách ly người dùng, ứng dụng, dịch vụ, thiết bị và công nghệ truy cập.
Do đó, công nghệ trong mạng LAN của doanh nghiệp cần phải giải quyết được các bài toán này Tính chất và thách thức của mạng LAN ngày nay:
Mạng LAN cần phải đáp ứng được tính đa dạng các đối tượng sau:
- Người dùng: Có thể là nhân viên, có thể là khách hàng, có thể là khách đến làm việc, sinh viên, …
Thiết bị mạng đầu cuối bao gồm các thiết bị như điện thoại thông minh, máy tính bảng, máy tính xách tay, máy tính để bàn, camera và điện thoại IP Những thiết bị này có thể thuộc về cá nhân, được mang đến sử dụng theo mô hình BYOD (Bring Your Own Devices), hoặc thuộc sở hữu của doanh nghiệp.
- Những Ứng Dụng: Ứng dụng phục vụ việckinh doanh, ứng dụng tài chính, ứng dụng Sensor, ứng dụng Internet, …
- Phương tiện kế nối: Kết nối có dây, kết nối không dây, kết nối chi nhánh lên trung tâm qua WAN, kết nối qua VPN, kết nối qua 3G.
Công nghệ mạng LAN cần phải có thể :
- Triển khai các dịchvụ đang có trong doanh nghiệp một cách nhanh chóng.
- Đẩy nhanh việc triển khai, nâng cấp ứng dụng mới và thay đổi cấu hình mạng.
Chúng tôi cung cấp các chính sách và dịch vụ đa dạng, được điều chỉnh theo bối cảnh cụ thể như người dùng, thiết bị, ứng dụng, vị trí và thời gian.
- Quản trị tập trung và đơn giản qua cả mảng có dây và không dây.
- Thực thi và ép buộc hiệu năng mạng theo ứng dụng.
- Triển khai dịch vụ mới để đáp ứng yêu câu theo thời gian thực
- Đáp ứng phù hợp với quy chuẩn đang phát triển ( như PCI, HIPAA, SOX,…)
Mạng LAN doanh nghiệp thường được cấu trúc thành ba lớp: lớp mạng lõi, lớp phân phối và lớp truy cập Lớp truy cập thực hiện các chức năng của lớp 2 trong mô hình TCP/IP, trong khi lớp mạng lõi hoạt động ở lớp 3 Mô hình ba lớp giúp ngăn chặn các vấn đề như lặp mạng và hiện tượng đa đường kết nối, từ đó cải thiện hiệu năng mạng Mạng không dây không được xem là một phân lớp riêng biệt mà sử dụng chung lớp truy cập, điều này làm tăng độ phức tạp trong quản trị do sự tách biệt giữa mạng không dây và có dây Hệ quả là người dùng trải nghiệm không nhất quán do hai loại mạng cung cấp những khả năng và tính năng khác nhau.
Hình 13: Kiến trúc mạng doanh nghiệp theo mô hình cũ
Mạng LAN thường gặp khó khăn trong việc quản lý do tính không đồng nhất với nhiều loại thiết bị, người dùng và ứng dụng khác nhau, dẫn đến chi phí cao mà không đạt được sự mở rộng và tin cậy Việc thay đổi cấu hình mạng tốn thời gian và có thể phát sinh lỗi, bởi vì nhiều thiết bị mạng được cấu hình riêng lẻ thông qua câu lệnh (CLI) hoặc phụ thuộc vào các yếu tố quản trị khác nhau.
Many organizations and businesses have addressed these challenges in a fragmented manner by utilizing Wireless LAN controllers and Wi-Fi access points for Layer 2 network isolation, while employing Virtual Routing and Forwarding (VRF) for Layer 3 network separation.
Chiến lược này có thể hiệu quả trong một số tình huống nhất định, nhưng thường dẫn đến chi phí cao cho việc mở rộng và khả năng linh hoạt Việc áp dụng Open Flow – SDN mang lại giải pháp đơn giản hơn và đảm bảo quản trị thống nhất Bằng cách tách rời điều khiển, quản trị và các lớp dịch vụ khỏi data-plane, Open Flow khắc phục được những hạn chế của VLAN và VRFs.
Áp d ụ ng SDN Open Flow trong m ạ ng LAN
Kiến trúc SDN dựa trên Open Flow sẽ đơn giản hóa mạng LAN nội bộ trong khi vẫn đảm bảo được sự linh hoạt đángkể:
- Triển khai dịch vụ và hủy bỏ dịch vụ nhanh chóng mà không tác động đến các thành phần mạng khác.
- Cải tiến tính sẵn sàng của dịch vụ bởi vì có nhiều đường có thể được tính toán trước, tính đáp ứng nhanh khi có thay đổi trong mạng.
- Cách ly lưu lượng về mặt logic ở cả lớp 2 và lớp 3
Tối ưu hóa việc sử dụng tài nguyên là rất quan trọng, vì quản trị, dịch vụ và ứng dụng được ảo hóa nhằm tối đa hóa hiệu suất và giảm thiểu không gian cũng như tiêu thụ điện năng Open Flow cung cấp một mô hình kiến trúc đa lớp, cho phép điều khiển ở mức cao hơn Bằng cách ảo hóa mạng LAN thành những lát mỏng, các chính sách chi tiết có thể được áp dụng cho từng nhóm Flow riêng lẻ tại Controller tập trung Ví dụ, các chính sách truy cập có thể được áp dụng khác nhau cho các phòng ban, loại truy cập (mạng có dây và không dây), cũng như giữa người dùng nội bộ và người dùng từ xa Việc thực hiện những chính sách này trở nên đơn giản hơn, đặc biệt khi nhu cầu di chuyển trong công việc ngày càng tăng.
Dưới đây là một sẽ mô tả một ví dụ về việc thực hiện cách ly lưu lượng và đơn giản hóa việc quản trị.
Trong môi trường doanh nghiệp giáo dục như trường đại học, mạng lưới cần phục vụ nhiều đối tượng khác nhau, bao gồm các khoa, sinh viên, phương tiện y tế, thư viện và phòng học Điều này đòi hỏi một hệ thống mạng linh hoạt và hiệu quả để đáp ứng nhu cầu đa dạng của từng "khách hàng" trong môi trường học tập.
Mỗi khách hàng trong lĩnh vực an ninh, nhà ăn và hiệu sách có thể yêu cầu một mô hình địa chỉ IP riêng biệt, có khả năng chồng lên nhau Ngoài ra, một số khách hàng còn yêu cầu tuân thủ các tiêu chuẩn như PCI và SOX để đảm bảo an toàn và bảo mật thông tin.
PCI (Payment Card Industry Data Security Standard - PCI DSS) là bộ tiêu chuẩn thiết kế nhằm bảo vệ dữ liệu thẻ tín dụng, yêu cầu tất cả các công ty xử lý, lưu trữ hoặc truyền tải thông tin thẻ tín dụng phải duy trì môi trường an toàn.
Luật Sarbanes-Oxley (SOX) yêu cầu các tổ chức xây dựng quy trình kiểm soát và thủ tục nội bộ để giảm thiểu khả năng gian lận trong báo cáo tài chính Hệ thống mạng và máy chủ phải tuân thủ các yêu cầu bảo mật, điều này đòi hỏi mạng của trường đại học phải cách ly lưu lượng giữa các khách hàng và vận hành qua một hạ tầng mạng vật lý duy nhất Công nghệ SDN cho phép áp dụng các chính sách theo ứng dụng, chỉ cho phép truy cập vào những tài nguyên mạng nhất định.
Hình 11 minh họa một mạng điển hình tại trường đại học, nơi mà hạ tầng vật lý duy nhất được chia sẻ giữa nhiều thực thể trong cùng một địa điểm.
Hình 14: Mô hình SDN cho doanh nghiệp
Mạng LAN cần phân chia logic với các chính sách riêng cho mỗi phân vùng Hiện nay, các giải pháp như MPLS và VRF được sử dụng để tạo ra các vùng mạng tách biệt trên cùng một hạ tầng vật lý Tuy nhiên, việc triển khai và quản trị các công nghệ này thường tốn thời gian và cồng kềnh Trong khi đó, SDN/Open Flow cho phép thực hiện nhanh chóng chỉ trong vài phút, đồng thời giúp áp đặt các chính sách linh hoạt để kiểm soát và giới hạn hoạt động trong các mạng logic.
SDN dựa trên OpenFlow có khả năng khắc phục những hạn chế của mạng LAN hiện tại Thông thường, mạng logic được tạo ra bằng cách kết hợp cổng vật lý trên switch hoặc VLAN với mạng logic, kèm theo các giao thức định tuyến và bảng chuyển tiếp riêng biệt Khi gói tin cần được chuyển tiếp, nó sẽ được kết hợp với mạng logic dựa trên cổng đến hoặc VLAN ID Tuy nhiên, giải pháp này vẫn tồn tại một số hạn chế.
Một VLAN chỉ có thể thuộc về một mạng logic duy nhất, điều này dẫn đến việc không thể hỗ trợ nhiều Flow trên các mạng logic khác nhau Hơn nữa, các phương pháp này thường phụ thuộc vào nhà sản xuất và không tương thích lẫn nhau.
Với công nghệ SDN, Controller cho phép xác định mạng logic cho từng Flow và tạo đường hầm cho lưu lượng đến mạng logic đích, giúp đơn giản hóa việc định nghĩa mạng logic mà không cần thiết lập giao thức định tuyến cho từng router Giải pháp này mang lại khả năng mở rộng và linh hoạt vượt trội hơn so với VLAN/VRF Hơn nữa, mạng logic dựa trên SDN có thể dễ dàng tạo, cập nhật hoặc hủy bỏ theo yêu cầu Việc lập trình các quy tắc chuyển tiếp lưu lượng qua các thiết bị chuyển tiếp dữ liệu giúp sắp xếp lại dịch vụ và cài đặt chuỗi dịch vụ một cách hiệu quả Một lợi ích quan trọng khác là khả năng triển khai chính sách dễ dàng trên các mạng logic, cho phép dữ liệu lưu thông suốt toàn mạng.
Vấn đề Yêu cầu hay khó khăn Giải pháp truyền thống Giải pháp dùng
Vấn đề ảo hóa và SDN trong việc phân tách mạng là rất quan trọng, khi các quy chuẩn và chính sách của doanh nghiệp yêu cầu một lưu lượng nhất định phải được tách biệt khỏi các lưu lượng khác trong mạng Điều này giúp tối ưu hóa hiệu suất mạng và đảm bảo an toàn cho dữ liệu.
Xử dụng VRF/VRF- Lite/MPLS/Virtual LANs (VLANs) để tạo ra nhiều mạng ảo.
Chia tách mạng thành các Flow khác nhau tương ứng với mỗi mạng logic
Cải thiện vấn đề bảo mật và thực thi các chính sách
Chính sách bảo mật tĩnh không thể giám sát liên tục mạng lưới và người dùng theo từng hoàn cảnh, dẫn đến việc gia tăng nguy cơ rủi ro cả từ bên trong lẫn bên ngoài mạng.
Sử dụng ACLs, IDS/IPS, 802.1X, xác thực MAC Có nhiều công cụ để đạt được các chính sách bảo mật mong muốn.
Cải thiện bảo mật thông qua việc thực thi linh hoạt các quy định chi tiết theo từng lĩnh vực và hoàn cảnh của người dùng Điều này cũng cho phép các chính sách bảo mật không bị ràng buộc bởi vị trí vật lý, mang lại ý nghĩa quan trọng trong việc bảo vệ thông tin.
65 trọng với những người dùng thường xuyên di chuyển. Vấn đề di chuyển và mang thiết bị cá nhân đến môi trường làm việc
Khó khăn khi cung cấp một trải nghiệm nhất quán qua mạng dây và không dây Đồng thời cũng không thể đưa ra những chính sách theo hoàn cảnh.
Tích hợp Controller vào Switch, sử dụng QoS, IEEE 802.1X,access control, VLANs bị giới hạn.
Khi áp dụng OpenFlow, Switch và Access Points có khả năng nhận diện người dùng hoặc thiết bị giống nhau, từ đó thực thi chính sách nhất quán Điều này hoàn toàn độc lập với mạng truy cập, mang lại khả năng kiểm soát chi tiết hơn.
Mạng nhận biết được ứng dụng Các ứng dụng và dịch vụ có thể yêu cầu tài nguyên từ màng tại một thời điểm nào đó.
Xây dựng chính sách QoS tính , dự đoán và xử lý lưu lượng mạng.
Ứng dụng có khả năng tương tác trực tiếp với mạng thông qua SDN Controller, giúp tự động thực thi các chính sách và QoS phù hợp Việc quản trị nhiều thiết bị mạng trở nên đơn giản hơn, khắc phục những khó khăn do giao diện quản trị riêng và cấu hình tĩnh gây ra trong quá trình vận hành.
Quản trị bằng câu lệnh, giao diện Script, các công cụ quản trị SNMP chỉ hỗ trợ với một nhóm thiết bị.
Công C ụ Cisco onePK Và Ứ ng D ụ ng Trong Doanh Nghi ệ p
Gi ớ i thi ệ u
Hiện nay, Cisco Systems là một trong những hãng hàng đầu thế giới trong lĩnh vực sản xuất thiết bị mạng IP như switch và router Sản phẩm của Cisco không chỉ chiếm lĩnh thị phần mà còn trở thành tiêu chuẩn để các hãng khác trong ngành công nghệ mạng tuân theo.
Cùng với xu hướng phát triển công nghệ SDN, Cisco đã cho ra đời giải pháp Open
Mạng ONE là một giải pháp toàn diện giúp mạng trở nên mở hơn, hỗ trợ khả năng lập trình và nhận biết ứng dụng, tạo điều kiện thuận lợi cho việc tối ưu hóa hiệu suất mạng.
Cisco ONE kết hợp nhiều công nghệ, bao gồm nền tảng API, Controller, Agent và công nghệ ảo hóa mạng Nền tảng API là thành phần quan trọng trong chiến lược của Cisco ONE, nằm trong bộ công cụ phát triển phần mềm ONE Platform Kit (onePK) OnePK cung cấp một bộ API toàn diện, cho phép lập trình linh hoạt và hiệu quả.
Công cụ onePK của Cisco cho phép quản trị viên xây dựng ứng dụng tùy chỉnh để tương tác với các thiết bị mạng, điều này trước đây chưa từng khả thi Ngoài ra, nó còn hỗ trợ tự động hóa triển khai trong mạng Việc thực thi onePK có thể được thực hiện thông qua việc cập nhật phần mềm trên các Router và Switch, giúp bảo toàn các thiết bị đầu tư trong mạng truyền thống và mở ra hướng đi tới một mạng hoàn toàn sử dụng công nghệ SDN.
OnePK đơn giản hóa quy trình vận hành thông qua tự động hóa các tác vụ, cung cấp framework để truy cập thiết bị mạng và phát triển ứng dụng dịch vụ mới Nó hỗ trợ triển khai nhanh chóng các tính năng mới và mở rộng chức năng cho thiết bị truyền thống, đáp ứng kịp thời nhu cầu doanh nghiệp Với khả năng tương tác phong phú giữa ứng dụng và hạ tầng, OnePK cũng dễ dàng thực hiện mạng lai SDN.
Kiến trúc của onePK là một công cụ phát triển ứng dụng SDN, chủ yếu dành cho thiết bị Cisco Nó cung cấp một môi trường phát triển linh hoạt, hỗ trợ nhiều ngôn ngữ lập trình như C, Java và Python.
Hình 16: Cấu trúc của onePK
Trung tâm của kiến trúc OnePK là một tập các thư viện API cho các thiết bị mạng của Cisco chạy hệ điều hành sau:
Lớp hạ tầng onePK cung cấp sự trừu tượng hóa cho các nền tảng mạng cụ thể, giúp các nhà phát triển ứng dụng không phải lo lắng về các vấn đề mạng của lớp hạ tầng Điều này cho phép ứng dụng hoạt động mượt mà trên nhiều hệ điều hành của các thiết bị mạng khác nhau mà không cần thay đổi Mô hình giao tiếp giữa ứng dụng (Application Controller) và thiết bị mạng được thiết lập theo mô hình client-server.
Hình 17: Kiến trúc onePK theo thiết bị
The model illustrates the structure of onePK, which includes a Device Image comprising service sets (basic or extension), a module responsible for packet forwarding, and a communication library for interfacing with the Application (Controller) via the RPC (Remote Procedure Call) standard.
Các hàm API trong controller sẽ được thư viện hóa theo các ngôn ngữ lập trình như Java, C và Python Những thư viện này sẽ tương tác với thiết bị mạng thông qua thư viện ngôn ngữ truyền thông (Data plane) Các nhà phát triển ứng dụng sẽ tạo ra ứng dụng bằng các ngôn ngữ này và triển khai trên máy chủ để điều khiển thiết bị mạng theo mô hình SDN.
Mô hình triển khai onePK xác định cách thức hoạt động của ứng dụng onePK, cho phép nó chạy trên các thiết bị mạng của Cisco như Router và Switch, trên phiến xử lý chuyên dụng, hoặc trên server riêng biệt.
Trong mô hình Process Hosting, ứng dụng onePK hoạt động trực tiếp trên thiết bị mạng của Cisco như Switch và Router, yêu cầu một container Linux và kernel-based virtual machine (KVM) để chạy Mô hình này cho phép cài đặt và vận hành ứng dụng ngay trên thành phần mạng, giúp giảm thiểu độ trễ thông tin giữa Application Controller và Dataplane Container đóng vai trò quan trọng trong việc phân phối tài nguyên của thiết bị cho từng ứng dụng.
Hình 18: Mô hình Process Hosting
Blade Hosting là mô hình trong đó ứng dụng hoạt động trên thiết bị chuyên dụng như card hoặc module Mô hình này có ưu điểm nổi bật là cách ly phần chia sẻ tài nguyên xử lý giữa Controll Plane và Dataplan, giúp tối ưu hóa hiệu suất và bảo mật cho hệ thống.
Hình 19: Mô hình Blade Hosting
Mô hình End-node hosting cho phép ứng dụng hoạt động trên một máy chủ riêng kết nối với mạng, mang lại sự linh hoạt cho người dùng Ứng dụng này hỗ trợ cài đặt trên nhiều hệ điều hành, bao gồm Linux, Windows, Android và iOS.
Hình 20: Mô hình End-Node Hosting
Giao diện Cisco XNC sử dụng OnePK:
Hình 21: Giao diện Cisco XNC sử dụng onePK
Thông qua giao diện đồ họa người quản trị có thể :
Triển khai ứng dụng onePK hay SDN trở nên dễ dàng với phần mềm trực quan, cho phép người quản trị thêm Flow Entry vào từng thiết bị Điều này giúp tạo ra các lớp chuyển tiếp độc lập và thiết lập các chính sách mới một cách hiệu quả.
- Thay đổi cấu hình nhanh chóng và thuận tiện
- Test thử các ứng dụng SDN mới
Ứ ng d ụng onePK để t ối ưu hóa đị nh tuy ế n
onePK có khả năng thực hiện nhiều chức năng đa dạng, như đã được mô tả ở phần trước Bài viết này sẽ tập trung vào việc ứng dụng onePK để giải quyết một bài toán doanh nghiệp liên quan đến việc định tuyến dựa trên độ trễ của tuyến đường.
Các giao thức định tuyến như BGP, OSPF, IS-IS và EIGRP nhằm tìm ra đường đi tối ưu từ nguồn đến đích trong mạng IP Để đánh giá tính tối ưu của đường đi, các giao thức này sử dụng các yếu tố cố định như số node, băng thông cổng mạng, mà không thay đổi theo trạng thái tải trong mạng Cụ thể, OSPF và IS-IS sử dụng băng thông cổng mạng làm thước đo để tính toán đường đi tối ưu, trong khi BGP cho phép quản trị viên gán thước đo, nhưng vẫn là các thông số tĩnh.
Hình 22: Ví dụ một mạng doanh nghiệp
Cần có một kỹ thuật để thay đổi định tuyến mạng theo thời gian thực khi có biến động về trễ và băng thông Chẳng hạn, khi một link trên Router bị tắc nghẽn, trễ của các tuyến đi qua link đó sẽ tăng, dẫn đến tình trạng trễ trong hàng đợi và bộ đệm Do đó, trễ có thể được sử dụng như một chỉ số để nhanh chóng phản ứng với những link bị quá tải trong mạng.
Các ứng dụng yêu cầu độ trễ và jitter thấp nhất, như ứng dụng thời gian thực, thoại và video, nên chọn các đường truyền có độ trễ thấp để đảm bảo chất lượng dịch vụ tốt nhất Ngược lại, các ứng dụng khác có thể sử dụng các đường truyền linh hoạt hơn theo sự chỉ dẫn của các giao thức định tuyến.
Để giải quyết bài toán định tuyến dựa trên độ trễ, mỗi node trong mạng sẽ xây dựng topo mạng với các liên kết giữa các thiết bị Mỗi node sẽ kiểm tra độ trễ của kết nối đến các node lân cận và gửi kết quả về cho Application Server (controller) Dữ liệu độ trễ của các liên kết sẽ được sử dụng trong thuật toán Dijkstra để tìm đường đi tối ưu, từ đó tạo ra các đường định tuyến dựa trên độ trễ Những đường đi này có thể chồng lên các đường đi của các giao thức định tuyến thông thường.
Ví dụ một đoạn mã chương trình tạo ra nhưng đường đi theo yêu cầu trên là thực thi trên từng node mạng qua onePK:
Các đường đi (route) được thực thi trên node mạng được gọi là Application Route (ký hiệu là a), do Application Controller tạo ra Dưới đây là kết quả của các route được hiển thị trên node mạng thông qua lệnh kiểm tra các route có sẵn.
Hình 24: Bảng định tuyến sau khi dùng Controller để thực thi chức năng định tuyến
Ứ ng d ụng onePK để đả m b ả o ch ất lượ ng d ị ch v ụ độ ng (Dynamics QoS)
Đảm bảo chất lượng dịch vụ (QoS) là khả năng ưu tiên cho các ứng dụng, người dùng hoặc luồng dữ liệu nhất định, giúp cung cấp tài nguyên mạng cần thiết cho các ứng dụng như lưu lượng thoại IP QoS cho phép phân bổ băng thông, giảm độ trễ và jitter, nhưng thường được thiết lập tĩnh qua các cổng của Router hoặc Switch với tốc độ cố định Ví dụ, trên cổng Fastethernet 100Mb/s, có thể dành 10Mb/s cho dữ liệu thoại Tuy nhiên, tốc độ thực tế của cổng mạng không cố định mà phụ thuộc vào điều kiện kết nối và môi trường xung quanh, như thời tiết.
Tốc độ trong mạng có thể thay đổi theo thời gian do ảnh hưởng của các chướng ngại vật và nhiễu Hình ảnh dưới đây minh họa tác động của môi trường đối với tốc độ và băng thông của kết nối.
Hình 25: Ảnh hưởng của môi trường đến băng thông
Sự thay đổi tốc độ kết nối sẽ thông báo cho Router hoặc Switch, dẫn đến việc thay đổi tốc độ cổng Tuy nhiên, nếu băng thông giảm xuống dưới mức tối thiểu cần thiết cho dịch vụ ưu tiên, như 10Mb/s cho lưu lượng VoIP, thì sẽ xảy ra vấn đề Trong trường hợp thời tiết xấu, tốc độ kết nối có thể giảm xuống dưới 10Mb/s, khiến yêu cầu QoS không thể thực hiện được Hệ quả là các chính sách QoS liên quan sẽ bị hủy bỏ khỏi cổng mạng đó.
Hình 26: Nhiễu làm cho tốc độ giảm xuống dưới 10Mb/s
Để đảm bảo hiệu suất mạng tối ưu, thiết bị mạng cần có khả năng theo dõi tốc độ kết nối và tự động điều chỉnh các thông số QoS OnePK cung cấp tính năng này thông qua giao diện lập trình API, cho phép giám sát tốc độ cổng và áp dụng các chính sách QoS khác nhau theo thời gian thực, dựa trên các ngưỡng dịch vụ đã được xác định Tất cả các chính sách QoS đều được thực hiện qua phần mềm, như được minh họa trong đoạn mã lập trình dưới đây; khi tốc độ kết nối giảm xuống dưới 5Mb/s, tiến trình OnePK sẽ được kích hoạt để điều chỉnh.
Router hoặc Switch sẽ thông báo cho máy chủ onePK được cài đặt trên Controller Dựa trên các ngưỡng băng thông đã được xác định trước, Controller sẽ gửi một chính sách QoS mới với băng thông cập nhật cho lưu lượng thoại.
Hình 27: Đoạn mã chương trình thực hiện QoS động
T ậ p trung qu ả n tr ị chính sách truy nh ập (Access Control Lists-ACL) 80
ACL là một kỹ thuật cho phép lọc dữ liệu khi nó đi vào và ra khỏi cổng mạng trên Router hoặc Switch Dữ liệu có thể được cho phép hoặc từ chối tùy thuộc vào cấu hình của ACL, và nó được coi là một giải pháp an ninh mạng hiệu quả.
ACL (Access Control List) có khả năng ngăn chặn hoặc hủy bỏ lưu lượng từ một máy tính hoặc dải mạng nhất định Chúng thường được cài đặt tại các rìa mạng, như giữa mạng WAN và LAN, cũng như giữa mạng nội bộ và internet Việc cài đặt ACL thường được thực hiện thủ công, yêu cầu quản trị mạng phải di chuyển giữa các thiết bị để cấu hình chính xác các ACL cần thiết.
Số thiết bị có thể lên đến hàng trăm thiết bị và kích thước của ACL có thể lên đến 100,000 dòng lệnh.
Hình 28: Các cấu hình ACL truyền thống
Giải pháp quản lý phần ACL cần cho phép cấu hình tại một điểm cho tất cả thiết bị mạng mà không cần di chuyển đến từng thiết bị Khả năng lập trình của onePK (hay SDN) hỗ trợ việc cài đặt ACL đồng thời trên nhiều thiết bị, mang lại hiệu quả và tiết kiệm thời gian cho quản trị mạng.
Hình 29: Mô hình quản trị tập trung ACL
Giải pháp này giúp tối ưu hóa quy trình vận hành, giảm thiểu sai sót trong cấu hình và di chuyển giữa các thiết bị Quản trị chính sách ACL tập trung cho phép thêm các tính năng mới như thiết lập thời gian sống của ACL và xác định thời gian hoạt động của ACL trong ngày Khi phát hiện mối đe dọa mới, việc triển khai chính sách ACL mới trên tất cả các thiết bị để ngăn chặn mối nguy này trở nên đơn giản và nhanh chóng.
Một đoạn mã chương trình để cấu hình một ACL định trước cho một tập các Router như sau:
Sự phát triển của internet và dịch vụ điện toán đám mây đã thúc đẩy nhu cầu thay đổi mô hình mạng để đáp ứng nhanh chóng các chiến lược kinh doanh Việc sử dụng công nghệ IP truyền thống gặp nhiều khó khăn như chi phí cao, thời gian thay đổi lâu và quản trị phức tạp Các công nghệ này thường tập trung hóa thành phần điều khiển và chuyển tiếp dữ liệu, dẫn đến sự phức tạp không cần thiết trong giao thức IP, hạn chế khả năng mở rộng và làm cho mạng trở nên không ổn định Chính vì vậy, công nghệ SDN (Software-Defined Networking) đã được phát triển để khắc phục những vấn đề này.
Trong kiến trúc SDN, Data Plane và Control Plane được phân tách rõ ràng, cho phép mạng được tập trung hóa và trừu tượng hóa, từ đó nâng cao khả năng lập trình cho các ứng dụng lớp trên Điều này giúp người quản trị kiểm soát hoàn toàn việc cấp phát tài nguyên mạng.
Mạng cung cấp 84 tài nguyên cho từng người dùng, ứng dụng và thiết bị đầu cuối, cho phép mở rộng nhanh chóng, triển khai ngắn gọn và quản trị đơn giản Nhờ đó, doanh nghiệp có thể tiết kiệm chi phí đầu tư và vận hành mà vẫn đạt hiệu quả cao Để bảo toàn đầu tư trước đây, doanh nghiệp có thể chuyển đổi dần từ mạng non-SDN sang mạng lai và cuối cùng là mạng SDN hoàn toàn.
Open-Flow là giao thức đầu tiên được ONF chuẩn hóa trong mô hình SDN, quy định cách thức trao đổi và xử lý thông tin giữa Control Plane và Data Plane Control Plane cung cấp các Flow Entry cho Data Plane, giúp Data Plane xác định cách xử lý gói tin dựa trên thông tin trong Header Các Action trong Flow Entry sẽ quyết định việc chuyển tiếp gói tin (OUT_port) hoặc hủy gói tin (drop).
SDN có thể được triển khai trong doanh nghiệp và nhà cung cấp dịch vụ, giúp tối ưu hóa định tuyến, phân tách lớp thiết bị, điều khiển truy cập và đảm bảo chất lượng dịch vụ (QoS) cho hội nghị thoại và video Để hỗ trợ doanh nghiệp trong việc triển khai SDN, có nhiều công cụ khác nhau, trong đó Cisco onePK nổi bật với nhiều tính năng ưu việt, đặc biệt hữu ích cho việc chuyển đổi từ mạng IP truyền thống sang SDN.
Tóm lại, việc áp dụng công nghệ SDN trong mạng IP là xu hướng tất yếu bởi những lợi ích mà nó đem lại cho doanh nghiệp.