Công nghệ Openflow

Một phần của tài liệu NGHIÊN CỨU SỬ DỤNG CÔNG NGHỆ OPENFLOW TRONG TỐI ƯU HÓA NĂNG LƯỢNG TẠI TRUNG TÂM DỮ LIỆU (Trang 32)

Chương 2 CÔNG NGHỆ OPENFLOW VÀ CÁC CÔNG CỤ THỰC HIỆN

2.1 Công nghệ Openflow

Hiện nay hầu như không có phương pháp nào có tính thực tế để thử nghiệm, kiểm chứng các giao thức mạng mới trong môi trường thực tế với quy mô lưu lượng thật.Kết quả là hầu hết các ý tưởng mới từ cộng đồng nghiên cứu không được thử nghiệm và kiểm chứng.Openflow [11, 12] là phương tiện cho phép các nhà nghiên cứu chạy các giao thức thử nghiệm trên hệ thống mạng mà ta sử dụng hàng ngày. OpenFlow dựa trên nguyên tắc Ethernet switch, với một flow-table bên trong, và giao diện chuẩn hóa để thêm, xóa các flow entries trong flow-table. Mục đích của việc đưa ra Openflow nhằm khuyến khích các nhà sản xuất thiết bị mạng thêm chức năng Openflow vào các switch của họ để mang triển khai trong thực tế. Openflow đang được sử dụng rộng rãi bởi nhiều nhà nghiên cứu, các viện nghiên cứu trên thế giới do nó có tính thực tế dựa trên các ưu điểm: cho phép các nhà nghiên cứu chạy các thử nghiệm trên các switch khác nhau theo cùng một cách như nhau, không cần cấu hình triển khai theo cấu hình từng loại switch, hoạt động ở line-rate cùng với mật độ port lớn, hơn nữa các nhà sản xuất vẫn có thể giữ bí mật về thiết kế các switch của họ. Ngoài việc cho phép các nhà nghiên cứu đánh giá các ý tưởng của họ trong môi trường lưu lượng thế giới thực, Openflow còn là một công cụ hữu hiệu cho triển khai các testbed qui mô rộng như GENI (Global Environment for Network

Innovation, network/testbed gồm các tài nguyên chung cho các nhà nghiên cứu, chia sẻ tài nguyên bằng phương pháp ảo hóa- virtulization ). GENI là kiến trúc

switch/router có khả năng lập trình để xử lý các packet cho nhiều thử nghiệm trên mạng đồng thời không ảnh hưởng lẫn nhau.OpenFlow cho phép ta có thể lập trình được switch/router.

Hình 2.1 Hình 2.2 cho thấy sự khác nhau trong cấu trúc của switch truyền thống và switch hỗ trợ công nghệ Openflow

Hình 2.7 Cấu trúc của switch thông thường

Hình 2.9 Openflow switch lý tưởng

OpenFlow cung cấp một giao thức mở để lập trình flow-table trong các switch/router khác nhau.Người quản trị mạng có thể chia traffic thanh các luồng (flow) cho mạng thông thường và luồng cho việc nghiên cứu.Bằng cách này, các nhà nghiên cứu có thể thử các giao thức định tuyến, các mô hình bảo mật, các cách đánh địa chỉ mới, thậm chí thay thế cho IP.Hình 2.3 trên mô tả một OpenFlow switch giao tiếp với một controller thông qua kênh kết nối bảo mật SSL sử dụng giao thức OpenFlow. Kênh bảo mật kết nối switch với controller sử dụng giao thức OpenFlow cho phép các lệnh và các packet được truyền qua lại giữa controller và switch.Giao thức OpenFlow là một giao thức mở và chuẩn hóa cho phép controller giao tiếp với switch. Mỗi OpenFlow switch chứa một flow-table gồm các flow- entry, mỗi flow-entry có một hoặc nhiều action tương ứng, khi switch nhận được flow có đặc điểm giống như mô tả trong flow-entry, switch sẽ xử lý các packet của flow đó theo các action tương ứng. Các action trong chuẩn OpenFlow 1.0 được mô tả trong Hình 2.4 gồm có: chuyển tiếp gói tin đến bộ điều khiển (controller), hủy gói tin, thay đổi các trường trong gói tin, chuyển gói tin đến một hoặc nhiều cổng xác định của switch.

Hình 2.10 Flow Table Actions

Bảng 2.1 thể hiện các thành phần của một flow table entry, bao gồm trường tiêu đề (header field), counter chứa các thông số thống kê sẽ nói chi tiết ở chương 4 và trường action.

Bảng 2.5 Flow Table entry

Header Fields Counters Actions

Trường tiêu đề trong OpenFlow switch loại “Type 0” bao gồm 10 tham số như trong Bảng 2.2. Một luồng TCP có thể được xác định bằng toàn bộ 10 tham số, mặt khác một luồng IP có thể định nghĩa mà không bao gồm địa chỉ transport ports. Mỗi trường tiêu đề có thể là một ký tự “wildcard” (hay ký tự *) để cho phép định nghĩa tổng hợp các nhiều flow, ví dụ như các flow chỉ được định nghĩa bởi trường VLAN ID sẽ áp dụng cho tất cả lưu lượng của một VLAN cụ thể.

Bảng 2.6 Trường tiêu đề trong openflow switch

In Port

VLAN ID

Ethernet IP TCP/UDP

SMA DMA Type SA DA Prot Src Dst

- VLAN ID

- Địa chỉ MAC nguồn (SMA) - Địa chỉ MAC đích (DMA) - Ethernet type

- Địa chỉ IP đích (SA) - Địa chỉ IP nguồn (DA) - Giao thức IP (Prot)

- Cổng nguồn TCP/UDP (Src) - Cổng đích TCP/UDP (Dst)

Kênh bảo mật (secure channel):

Là giao diện kết nối các OpenFlow Switch đến controller.Thông qua giao diện này, Controller cấu hình và quản lý các switch, nhận các sự kiện từ switch, gửi lệnh và gói tin tới các switch. Các giao diện được thực hiện riêng biệt, tuy nhiên tất cả các bản tin gửi qua kênh bảo mật phải được định dạng theo giao thức OpenFlow. Giao thức OpenFlow hỗ trợ 3 loại bản tin sau đây:

Controller to Switch Message : được tạo bởi Controller và sử dụng để trực tiếp quản lý và kiểm tra trạng thái của OpenFlow Switch, có thể không đòi hỏi sự phản hồi từ Switch, bao gồm các tin nhắn:

- Features Message: Khi Transport Layer Security (TLS) được thành lập, Controller sẽ gửi tin nhắn này đến Switch. Switch phải gửi phản hồi xác định khả năng hỗ trợ của nó tới Controller.

- Configuaration Message: Controller có khả năng thiếp lập và cấu hình các tham số của Switch. Swicth sẽ phản hồi 1 truy vấn từ Controller.

- Modify-State Message: thông điệp này nhằm quản lý trạng thái của Switch, thêm hoặc xóa các flow-entry trong flow-table.

- Send Packet Message: Đưa các gói ra một cổng xác định của Switch.

- Barrier Message: Để đảm bảo các tin nhắn phụ thuộc đã được đáp ứng hoặc để nhận thông báo cho các hoạt động đã hoàn thành.

Asynchronous Message: được bắt đầu bởi Switch, dùng để cập nhật các sự kiện trong mạng và trạng thái của Switch cho Controller:

- Packet - in Message:Với các gói mà không có entry nào phù hợp, Switch sẽ gửi tin nhắn này tới Controller

- Flow - Removed Message:Khi 1 flow-entry đuọc xóa khỏi Flow-table

- Port - Status Message: thay đổi trạng thái cấu hình của các port

- Error Message: Switch thông báo cho Controller các vấn lỗi có thể xảy ra trong quá trình hoạt động.

Symmetic Message: được gửi đi hoặc do Switch, hoặc do Controller mà không cần có yêu cầu:

- Hell : được trao đổi giữa Controller và Switch khi 1 kết nối được khởi động

- Echo Request/Reply: có thể sử dụng để chỉ ra độ trễ, băng thông hoặc khả năng của một kết nối Controller – Switch.

- Vendor: cung cấp các tiêu chuẩn cho Switch để đáp ứng các chức năng bổ sung trong các thông điệp OpenFLow.

Giao thức OpenFlow Protocol cung cấp chuẩn mở cho bộ điều khiển giao tiếp với switch. Bằng cách chỉ ra giao diện chuẩn (Openflow Protocol) qua đó, các entry trong Flow-table có thể được định nghĩa từ ngoài (qua controller), các nhà nghiên cứu không cần lập trình từng switch.

Một phần của tài liệu NGHIÊN CỨU SỬ DỤNG CÔNG NGHỆ OPENFLOW TRONG TỐI ƯU HÓA NĂNG LƯỢNG TẠI TRUNG TÂM DỮ LIỆU (Trang 32)

Tải bản đầy đủ (DOCX)

(91 trang)
w