Mạng được xác định bằng phần mềm (SDN) - Kiến trúc và vai trò của OpenFlow

theanh

Administrator
Nhân viên
Trongbài viết trước, chúng ta đã có cái nhìn tổng quan về SDN như một công nghệ, lý do tại sao công nghệ này cần thiết và ngành CNTT đang áp dụng công nghệ này như thế nào. Bây giờ, chúng ta hãy đi sâu hơn một lớp và tìm hiểu kiến trúc SDN cũng như vai trò của giao thức Openflow trong việc triển khai công nghệ này.

SDN bao gồm ba lớp:
  1. Lớp ứng dụng
  2. Lớp điều khiển
  3. Lớp cơ sở hạ tầng


Chúng ta hãy thử tìm hiểu các lớp này theo cách tiếp cận từ dưới lên trên.

Lớp cơ sở hạ tầngbao gồm nhiều thiết bị mạng khác nhau formsmạng cơ bản để chuyển tiếp lưu lượng mạng. Nó có thể là một tập hợp các bộ chuyển mạch mạng và bộ định tuyến trong trung tâm dữ liệu. Lớp này sẽ là lớp vật lý mà ảo hóa mạng sẽ được thiết lập thông qua lớp điều khiển (nơi các bộ điều khiển SDN sẽ nằm và quản lý mạng vật lý cơ bản).

Lớp điều khiểnlà vùng đất của mặt phẳng điều khiển, nơi logic thông minh trong các bộ điều khiển SDN sẽ nằm để điều khiển cơ sở hạ tầng mạng. Đây là khu vực mà mọi nhà cung cấp mạng đang nỗ lực đưa ra các sản phẩm riêng cho bộ điều khiển và khuôn khổ SDN. Ở lớp này, rất nhiều logic nghiệp vụ được viết trong bộ điều khiển để lấy và duy trì các loại thông tin mạng, chi tiết trạng thái, chi tiết cấu trúc, chi tiết thống kê, v.v. khác nhau.

Vì bộ điều khiển SDN dùng để quản lý mạng nên nó phải có logic điều khiển cho các trường hợp sử dụng mạng thực tế như chuyển mạch, định tuyến, VPN L2, VPN L3, quy tắc bảo mật tường lửa, DNS, DHCP và cụm. Một số nhà cung cấp mạng và thậm chí cả cộng đồng nguồn mở đang làm việc để triển khai các trường hợp sử dụng này trong bộ điều khiển SDN của họ. Sau khi được triển khai, các dịch vụ này sẽ đưa API của chúng (thường dựa trên REST) lên lớp trên (lớp Ứng dụng), giúp các quản trị viên mạng dễ dàng sử dụng các ứng dụng trên bộ điều khiển SDN để định cấu hình, quản lý và giám sát mạng cơ bản. Lớp điều khiển nằm ở giữa và nó đưa ra hai loại giao diện – Northbound và Southbound.
  • Giao diện Northbound: dùng để giao tiếp với lớp Ứng dụng trên và nói chung sẽ được thực hiện thông qua API REST của bộ điều khiển SDN. Giao diện Sgiao diện outbound: dùng để giao tiếp với lớp Cơ sở hạ tầng của các thành phần mạng thấp hơn và nói chung sẽ được thực hiện thông qua các giao thức southbound – Openflow, Netconf,Ovsdb, v.v.
Lớp ứng dụnglà một khu vực mở để phát triển càng nhiều ứng dụng sáng tạo càng tốt bằng cách tận dụng tất cả các thông tin về mạngvề cấu trúc mạng, trạng thái mạng, số liệu thống kê mạng, v.v. Có thể có một số loại ứng dụng có thể được phát triển như các ứng dụng liên quan đến tự động hóa mạng, cấu hình và quản lý mạng, giám sát mạng, khắc phục sự cố mạng, chính sách mạng và bảo mật. Các ứng dụng SDN như vậy có thể cung cấp nhiều giải pháp đầu cuối khác nhau cho các mạng doanh nghiệp và trung tâm dữ liệu trong thế giới thực. Các nhà cung cấp mạng đang đưa ra bộ ứng dụng SDN của họ. Ví dụ, Brocade có các ứng dụng rất hữu ích sau:
  • Brocade Flow Optimizer
  • Bộ định tuyến Brocade Virtual
  • Cố vấn mạng Brocade
HPE cũng là một nhà cung cấp có Kho ứng dụng SDNchứa nhiều ứng dụng SDN từ nhiều công ty khác nhau. Ví dụ:
  • HPE Network Optimizer
  • HPE Network Protector
  • HPE Networkvisualizer
  • NEC UNC cho HP SDN VAN Controller
  • AricentSDN Load balancer
  • Điều khiển luồng thông minh TechM
  • Bộ cân bằng tải máy chủ TechM
Như chúng tôi đã đề cập ngắn gọnOpenflowtrongbài viết trước, giờ chúng tôi sẽ đề cập chi tiết về giao tiếp hướng nam từ lớp điều khiển đến lớp cơ sở hạ tầng (bộ chuyển mạch mạng) thông quagiao thức Openflow.

Openflowđã đóng vai trò quan trọng trong cuộc cách mạng SDNtheo nghĩa là nólà chìa khóa đểtrình bàycách táchmặt phẳng điều khiểnkhỏi dữ liệu plane.Openflowlà thông số kỹ thuật chuẩn do Open Networking Foundation (ONF) cung cấp và đang phát triển theo thời gian với sự hỗ trợ cho các yêu cầu khác nhau của mạng lưới thế giới hiện tại. Phiên bản hiện tại của giao thứcOpenflowlà 1.5.1.

Openflowlà một giao thức cung cấp thông số kỹ thuậtchuẩncho giao tiếp giữa bộ điều khiển SDN và thiết bị mạng (thường là các bộ chuyển mạch). Nó cho phép các bộ điều khiển SDN đưa ra quyết định định tuyến và cho phép các quy tắc chuyển tiếp, quy tắc bảo mật được đẩy trên các bộ chuyển mạch trongmạng cơ sở.

Bộ điều khiển SDN và các bộ chuyển mạch cần triển khai thông số kỹ thuậtOpenflowđể chúng có thể hiểu ngôn ngữ chung của các thông báoOpenflow. Để kiểm soát các bộ chuyển mạch mạng, bộ điều khiển SDN sẽ đẩy các quy tắc vào các bộ chuyển mạch để chúng có thể đưa raquyết địnhkhi lưu lượng mạng chạm đến chúng. Các bộ chuyển mạch cần duy trì các quy tắc như vậy trong bảngOpenflow. Theo Openflow, các quy tắc như vậy được gọi là 'luồng' và chúng được lưu trữ trong 'bảng luồng'.

Nhìn chung, luồng mang ba loại thông tin:
  1. Trường khớp: chúng sẽ xác định tiêu chí để khớp các gói dựa trên các trường tiêu đề của chúng – L2 (địa chỉ ethernetnguồn, ID VLAN, mức độ ưu tiên của VLAN, v.v.), L3 (địa chỉ nguồn, địa chỉ IPv4/IPv6, loại giao thức, DSCP, v.v.), trường L4 (cổng đích nguồn TCP/UDP/SCTP), trường ARP, trường ICMP, trường MPLS, v.v.
  2. Hành động: chúng sẽ xác định việc cần làm với một gói nếu nó khớp với tiêu chí. Các hành động sẽ giống như thả, chuyển tiếp trên một số cổng củaswitch, sửa đổi gói tin (đẩy/bật ID VLAN, đẩy/bật nhãn MPLS, tăng/giảm IP TTL), chuyển tiếp đếnhàng đợicụ thể của cổng, v.v.
  3. Bộ đếm: để theo dõi số lượng gói tin khớp với luồng
Cụ thể hơn,các luồng chứa thêm một số thông tin có thể được kiểm tra thêm trong các thông số kỹ thuậtOpenflow.

KênhOpenflow hoặc kết nối là thiết lập giữa bộ chuyển mạch và bộ điều khiển để bộ điều khiển có thể giao tiếp vớibộ chuyển mạchđể cấu hình, quản lý và giám sát nó. Theo thông số kỹ thuật Openflow,Openflowchạy trên kết nối TCP hoặc TLS và bộ điều khiển lắng nghe kết nốitrên cổng 6653.Switchdự kiến sẽ khởi tạo kết nối và sẽ gửi yêu cầu kết nốiđến bộ điều khiển.

Tùy chọn, kết nốicũng có thể được khởi tạo từ phía bộ điều khiển và trong trường hợp này,switchsẽ ở chế độthụ độngđể lắng nghe kết nối. Cho dù từ bất kỳ phía nào, đó sẽ là thiết lập kết nối TCP hoặc TLS bình thường, sau khi thiết lập,các thông báoOpenflowsẽ được trao đổi qua kết nối TCP hoặc TLS. Ví dụ, bên dưới là lệnhcủa công tắc ảoOpenflownguồn mở (OpenVswitch) để khởi tạo kết nối TCP với bộ điều khiển:
Mã:
[I]ovs-vsctlset-controller tcp:192.168.56.101:6653[/I]
Tại đây, 192.168.56.101 là IP của bộ điều khiển và 6653 là cổng bộ điều khiển mà nó sẽ lắng nghe để kết nối.

Openflowđịnh nghĩa nhiều thông báo khác nhau để cho phép giao tiếp giữa bộ chuyển mạch và bộ điều khiển, bao gồm thông báo thiết lập kết nối, thông báo cấu hình, thông báo lấy số liệu thống kê về bộ chuyển mạch, thông báo duy trì kết nối, thông báo sự kiện không đồng bộ, thông báo lỗi, thông báo của người thử nghiệm, v.v.

Chúng ta hãy cùng tìm hiểu sơ qua về các thông báoOpenflow:
  • Sau khi kết nối TCP được thực hiện, thông báoOpenflowHELLO được trao đổi giữa cả hai thực thể để thương lượng phiên bảnOpenflowmà giao tiếp tiếp theo sẽ diễn ra. Điều này là cần thiết vì có thể bộ chuyển mạch và bộ điều khiển đang chạy trên phiên bảnOpenflowkhác nhau. Cả hai sẽ đồng ý về phiên bản cao nhất được hỗ trợ.
  • Sau khi đàm phán phiên bản hoàn tất,bộ điều khiểntrước tiên sẽ gửitin nhắn yêu cầu tính năng Openflowchủ yếu đểlấyID đường dẫn dữ liệu củaswitchtrongtin nhắn phản hồivà để xác định những tính năng nào mà switch hỗ trợ.
  • Để cấu hìnhswitchđể xử lý lưu lượng mạng,bộ điều khiểnOpenflownhư mục nhập luồng có thể được gửi từbộ điều khiển. Những mục này được duy trì trong các bảng luồng bên trong các công tắc.
  • Để nhóm các mục luồng, các nhóm có thể được cấu hình bởibộ điều khiểnthông qua các thông báo nhóm có thể được lưu trữ vào các bảng nhóm bên trong các công tắc.
  • Để lấy thông tin chi tiết về số liệu thống kê từcông tắc,các thông báoOpenflownhư số liệu thống kê luồng, số liệu thống kê cổng, số liệu thống kê hàng đợi, số liệu thống kê nhóm, số liệu thống kê bảng, v.v. có thể được gửi từbộ điều khiển.
  • Để kiểm tra tình trạng kết nối, có thể gửi yêu cầu phản hồi và trả lờiOpenflowtừ bộ điều khiển hoặc công tắc.
  • Các thông báoOpenflowkhông đồng bộ như xóa quy tắc luồng khỏi bộ chuyển mạch, lỗi cấu hình áp dụng từ bộ chuyển mạch, trạng thái cổng lên/xuống từ bộ chuyển mạch, v.v. có thể được gửi từ bộ chuyển mạchđể cập nhật bộ điều khiển.
Cho đến nay, chúng ta đã tìm hiểu về kiến trúc SDN, các lớp và vai trò củaOpenflowđể hiện thực hóa nguyên tắc cốt lõi của SDN nhằm tách mặt phẳng điều khiển khỏi mặt phẳngdữ liệu. Bây giờ chúng ta cần xem cách bộ điều khiểncó thể sử dụngOpenflowđể cấu hình và quản lýmạngbên dưới.

Về cơ bản,bộ điều khiểnsẽ cần triển khai một số mã plugin củaOpenflowmà nó có thể gửi, nhận và hiểucác thông điệpOpenflowđến và đi từcác công tắcOpenflowtrong mạngbên dưới.

Để cấu hìnhcác công tắcOpenflow,bộ điều khiểncần đẩy các quy tắc luồng vàocác bảng công tắcOpenflowdựa trên cái sau có thể xử lý lưu lượng mạng tấn công chúng.Thông báo Openflowcho các mục nhập luồng có một tập hợp lớn các trường tuple để khớp tiêu chí (các trường L2, L3, L4, v.v.) của các gói đến từ mạng, tất cả sẽ giúp định cấu hình các quy tắc ACL, quy tắc chính sách bảo mật, quy tắc băng thông giới hạn tốc độ QoS, quy tắc định tuyến, quy tắc phản chiếu cổng và quy tắc sửa đổi gói.

Để giám sát các công tắcOpenflow, Openflow cung cấp nhiều thông báo yêu cầu và phản hồi khác nhau để lấy thông tin thống kê về công tắc và mạng và các thông báo sự kiện để cập nhật bộ điều khiển về các thay đổi thủ công hoặc lỗi xảy ra ở phía công tắc, bao gồm sự kiện xóa luồng, thay đổi trạng thái cổng LÊN/XUỐNG, v.v.

Để thực hiện một sốnhiệm vụ cụ thể của nhà cung cấp trên các công tắcOpenflow, Openflow cung cấp các thông báo thử nghiệm trong đó các nhà cung cấp cóquyền tự doxác định nội dung tin nhắn và trao đổi thông tin tùy chỉnh giữa bộ điều khiển và bộ chuyển mạch. Đó là cáchOpenflowđang được nhiều ứng dụng SDN sử dụng để cung cấp các giải pháp giúp kiểm soát và quản lý mạng dễ dàng.
Mã:
Bài viết này được đồng tác giả bởi[URL=https://www.linkedin.com/in/tarun-thakur-36b67a19/?utm_source=diendancongnghe.com]Tarun Thakur[/URL].
Tài liệu tham khảo:
 
Back
Bên trên