Kiến trúc mạng ECODANE

Một phần của tài liệu Nghiên cứu giải pháp tiết kiệm năng lượng trong thiết kế chuyển mạch sử dụng ở trung tâm dữ liệu (Trang 25)

4. Cấu trúc nội dung của luận án

1.4. Kiến trúc mạng ECODANE

Kiến mạng trúc ECODANE như Hình 1.5 [41] là một kiến trúc mới dựa trên công nghệ mạng điều khiển bằng phần mềm (SDN) cho phép tuỳ biến và bổ sung các chức năng mới vào mạng một cách nhanh chóng và mềm dẻo. ECODANE được thiết kế chuyên biệt để kết hợp các chức năng tiết kiệm năng lượng cho cấu trúc Fat-Tree của trung tâm dữ liệu.

Hình 1.5. Kiến trúc thử nghiệm ECODANE [41]

Kiến trúc này gồm các thành phần như sau:

Bộ điều khiển OFC (OpenFlow Controller): Bộ điều khiển OpenFlow chính là thành phần trung tâm trong kiến trúc mạng OpenFlow. OFC có thể đảm nhiệm nhiều vai trò cụ thể khác nhau trong hệ thống mạng như việc định tuyến hay định

12

nghĩa các bảng flow bên trong từng chuyển mạch OpenFlow. Với hệ thống thử nghiệm này, NOX / POX được sử dụng làm bộ OFC với các khối chức năng sau:

Khối giám sát (Monitoring): Khối này có nhiệm vụ giám sát tất cả các chuyển mạch và các kết nối bao gồm: trạng thái hoạt động, lưu lượng sử dụng trên các cổng và các chuyển mạch, năng lượng tiêu thụ trên các chuyển mạch. Tất cả các thông tin này được thu thập dựa trên các bản tin thống kê của OpenFlow, trong đó có những bản tin được mở rộng với các chức năng hỗ trợ mạng tiết kiệm năng lượng.

Khối tối ưu (Optimizer): Dựa trên thông tin đo đạc từ khối giám sát, khối tối ưu sẽ đưa ra đồ hình tối ưu với năng lượng tiêu thụ nhỏ nhất dựa trên việc tính toán năng lượng tiêu thụ của từng chuyển mạch và liên kết trong khi vẫn đảm bảo được yêu cầu về độ tin cậy. Khối này sử dụng thuật toán tối ưu đồ hình mạng RA-TAH [42]

Khối điều khiển công suất (Power Control): Mô hình năng lượng thu thập được từ phần cứng NetFPGA được sử dụng trong khối điều khiển công suất. Khối này có nhiệm vụ thay đổi trạng thái hoạt động của các cổng và của toàn bộ chuyển mạch sang trạng thái tiết kiệm năng lượng hơn, thông qua các bản tin mở rộng OpenFlow ở cả hai phía NOX /POX và chuyển mạch OpenFlow trên nền tảng NetFPGA.

Khối định tuyến (Routing): Khối này đưa ra đường đi dành cho hệ thống mạng dựa trên đồ hình mạng đã được tối ưu. Bên cạnh việc sử dụng một số cơ chế định tuyến đã được hỗ trợ bởi NOX / POX như tất cả các cặp đường đi ngắn nhất (Dynamic All Pairs Shortest Path), cây mở rộng (Spanning Tree), nhiệm vụ này đã phát triển thuật toán định tuyến tải cân bằng. Thuật toán này đưa ra được đường đi tốt nhất cho tất cả các gói tin thuộc cùng một luồng dữ liệu để phân tán tải trên toàn bộ mạng, cho phép tăng tính tin cậy của hệ thống.

Bộ phát lưu lượng (Traffic Generator): được xây dựng và phát triển dựa trên công cụ D-ITG (Distributed Internet Traffic Generator) [35] để có thể tạo ra lưu lượng cho trung tâm dữ liệu.

1.5. Thuật toán tối ƣu đồ hình mạng ECODANE

Thuật toán tối ưu đồ hình dựa vào các thông số đầu vào như đồ hình mạng, ma trận lưu lượng, mô hình công suất của chuyển mạch, khả năng chống lỗi muốn đạt được. Các yêu cầu của thuật toán là tính toán đơn giản, chính xác, tốc độ cao. Công

13

trình nghiên cứu của Heller và các cộng sự [19] đưa ra 3 thuật toán tối ưu chính, đó là Formal Model, Greedy Bin-Packing và Topology-Aware Heuristic (TAH).

Trong đó thuật toán TAH có ưu điểm cho phép tìm được đồ hình mạng tối ưu nhanh và yêu cầu các tính toán khá đơn giản. So với các phương pháp khác, phương pháp này đòi hỏi tính toán ít thông tin hơn do đo thời gian tính toán ngắn hơn. Hơn nữa phương pháp này hoàn toàn tách rời với bộ định tuyến nên có thể áp dụng phương pháp này với một thuật toán định tuyến bất kỳ, nếu có xảy ra lỗi ở bộ phận này, hệ thống tự động bật hết các chuyển mạch lên để bộ phận định tuyến thực hiện định tuyến bình thường và không gây ra mất mát. Nhưng thuật toán TAH chỉ tính toán và chỉ ra số chuyển mạch và liên kết cần bật tại mỗi lớp, TAH không chỉ ra một cách cụ thể chuyển mạch nào cũng như liên kết nào cần bật.

Bên cạnh các thuật toán dựa trên cơ chế bật hoặc tắt tự động như TAH, một phương pháp tiết kiệm năng lượng khác hay sử dụng trong thực tế là các thuật toán thích nghi năng lượng tiêu thụ. Nguyên tắc của phương pháp này là điều chỉnh khả năng hoạt động của thiết bị mạng cho phù hợp với lưu lượng thực tế, ví dụ như điều chỉnh dung lượng kênh truyền, điều chỉnh khả năng xử lý của chip vi xử lý trong chuyển mạch vv. Trái với phương pháp bật /tắt tự động, các thuật toán thích nghi không trực tiếp thay đổi đồ hình của mạng, do đó thông thường nó không thật hiệu quả trong trường hợp lưu lượng thấp nhưng có thể hoạt động tốt trong trường hợp lưu lượng cao.

Với sự kết hợp cả hai phương pháp trên, trong công trình [41] đưa ra thuật toán RA- TAH nhằm tối ưu đồ hình mạng nâng cao khả năng tiết kiệm năng lượng cho kiến trúc mạng ECODANE. Thuật toán RA-TAH được phát triển nằm trong khối tối ưu (Optimizer) của bộ điều khiển NOX / POX. Để áp dụng được thuật toán RA-TAH này

thì cần phải có giải pháp phần cứng hỗ trợ, như kết hợp với chuyển mạch OpenFlow có

khả năng tiết kiệm năng lượng trên nền tảng NetFPGA.

1.6. Các công nghệ phát triển kiến trúc mạng ECODANE

1.6.1. Công nghệ OpenFlow

Các hệ thống và thiết bị mạng đã được thương mại hóa hiện nay có nhược điểm là các hệ thống đóng, không cho phép người sử dụng tùy biến, điều chỉnh các chức năng theo các nhu cầu phát sinh khi triển khai các dịch vụ mạng chuyên biệt. Mặc khác với xu hướng bùng nổ các ứng dụng và dịch vụ mới như hiện nay như các dịch vụ điện toán đám mây,

14

dịch vụ truyền hình số hoặc dịch vụ di động, kiến trúc mạng Internet cần phải mềm dẻo hơn, mang tính tùy biến cao hơn.

Công nghệ OpenFlow [24] là một công nghệ mạng điều khiển bằng phần mềm SDN (Software Defined Networking) [53] cho phép khắc phục được các nhược điểm trên. Ngoài ra công nghệ OpenFlow [43] 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 đ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 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 chuyển mạch 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 chuyển mạch, hoạt động ở tốc độ cao cùng với mật độ cổng 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 chuyển mạch 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ực tế, công nghệ OpenFlow còn là một công cụ hữu hiệu cho phép các nhà khoa học triển khai các hệ thống thử nghiệm qui mô rộng như trong dự án GENI (Global Environment for Network Innovation) [55]. GENI là kiến trúc mạng có khả năng lập trình được. Mạng có khả năng lập trình cần có các phần tử chuyển mạch có khả năng lập trình để xử lý các gói tin cho nhiều thử nghiệm trên mạng đồng thời không ảnh hưởng lẫn nhau. Công nghệ OpenFlow cho phép ta có thể lập trình được chuyển mạch.

Bộ chuyển mạch OpenFlow dựa trên nguyên tắc của các chuyển mạch Ethernet, bao gồm ba thành phần chính: Bảng Flow (Flow-table), kênh an toàn (Secure Channel), giao thức OpenFlow (OpenFlow Protocol), như trên Hình 1.6.

Bảng Flow: Bảng này bao gồm các bảng ghi (flow-entry) và mỗi bảng ghi có một hành động (Action) đi kèm dùng để xử lý các flow.

Kênh an toàn: Là kênh giao tiếp giữa bộ chuyển mạch và bộ điều khiển. Nó cho phép lệnh và gói tin được truyền qua lại giữa bộ điều khiển và bộ chuyển mạch sử dụng giao thức OpenFlow. Kênh này được thiết lập bởi một phần mềm chạy trên nền tảng hệ điều hành Linux.

Giao thức OpenFlow: Giao thức giữa chuyển mạch OpenFlow và bộ điều khiển cho phép bộ điều khiển có thể chỉnh sửa bảng flow của chuyển mạch. Bằng cách này, các nhà nghiên cứu và những quản trị viên tránh được việc phải lập trình cho từng bộ chuyển mạch. Thay vào đó, họ chỉ cần làm việc trên bộ điều khiển của toàn bộ hệ thống.

15

Hình 1.6. Cấu trúc của chuyển mạch OpenFlow [27]

Hiện nay giao thức OpenFlow được chuẩn hóa bởi tổ chức Open Networking Foundation. Đây là một nhóm các nhà sản xuất bao gồm rất nhiều các thương hiệu nổi tiếng trên thế giới: Cisco, Google, Alcatel, Broadcom, Ericsson, Facebook, Google, vv. có trách nhiệm đề xuất, thử nghiệm và tiến hành thực thi trên các thiết bị để đảm bảo hoạt động giữa thiết bị mạng và phần mềm quản lý từ những nhà sản xuất khác nhau. Kiến trúc mạng OpenFlow hoàn toàn có thể tích hợp vào các thiết bị mạng hiện tại, tiết kiệm chi phí cho các nhà cung cấp dịch vụ.

Để hiểu sâu hơn nữa về OpenFlow, tác giả sẽ đi sâu vào các khái niệm như flow, bảng ghi (flow-entry). Một flow được định nghĩa là các gói tin trùng với một tiêu đề (header) cụ thể bên trong bảng flow. Việc so sánh giữa tiêu đề của gói tin và tiêu đề của một bảng ghi để quyết định gói tin thuộc flow nào và hành động đi kèm với nó, có thể xảy ra hai trường hợp: một là so sánh trùng một cách chính xác tất cả các trường (match exactly), hai là chỉ trùng một trường nào đó (wildcard match).

Bảng 1.1 miêu tả cấu tạo của một bảng ghi. Mỗi một bảng ghi sẽ có một hành động (Action) đi kèm với nó. Đối với chuyển mạch OpenFlow chuyên dụng, có ba loại hành động cơ bản sau:

 Chuyển tiếp những gói tin của luồng này tới một cổng cho trước. Hành động

này cho phép những gói tin được định tuyến trong mạng.

 Đóng gói và chuyển tiếp những gói tin của luồng này tới một bộ điều khiển.

Gói tin được chuyển tới kênh an toàn nơi mà nó được đóng gói và gửi tới bộ điều khiển. Hành động này được sử dụng đối với gói tin đầu tiên của một luồng mới và bộ điều khiển sẽ quyết định có đưa nó vào trong bảng flow hay không.

16

Hoặc hành động này được sử dụng trong các thí nghiệm nhằm mục đích chuyển tiếp tất cả các gói tin tới bộ điều khiển để xử lý.

 Hủy bỏ (Drop) các gói tin của luồng này. Hành động này được sử dụng cho

mục đích an ninh mạng nhằm chống lại tình trạng tấn công từ chối dịch vụ (Denial of Service) hoặc làm giảm các lưu lượng giả được phát tán trên mạng. Thành phần cuối cùng của một bảng ghi là bộ đếm (Counters). Bộ đếm dùng để theo dõi số lượng gói tin hoặc byte và thời gian kể từ khi gói cuối cùng trùng với một bảng ghi trong bảng flow (dùng để xóa đi những luồng không còn hoạt động).

Bảng 1.1. Cấu tạo một bảng ghi

Các bước để định tuyến một flow từ một máy tính nguồn sang một máy tính đích thông qua hai bộ chuyển mạch OpenFlow mô tả như Hình 1.7.

Hình 1.7. Các bước khi một flow mới tới bộ chuyển mạch OpenFlow

Trong sơ đồ bên trái của Hình 1.7, bảng flow của hai bộ chuyển mạch đều không chứa gì. Khi một gói tin đến trong bước 1, nó được chuyển tiếp tới bộ điều khiển trong bước 2. Bộ điều khiển kiểm tra gói tin đến và thêm một bảng ghi (flow A) vào trong bảng flow của các bộ chuyển mạch trong bước 3. Sau đó gói tin được gửi tới máy tính đích trong bước 4 và 5. Trong các bước 6, 7, 8 bất kì gói tin mới nào thuộc về cùng một flow (flow A của gói tin thứ nhất) sẽ được định tuyến trực tiếp tới máy tính đích.

17

1.6.2. Bộ điều khiển OpenFlow NOX / POX

Trong mạng OpenFlow, bộ điều khiển OpenFlow (OpenFlow Controller) có thể được coi là phần quan trọng nhất của hệ thống mạng, là nơi tập trung thực hiện các chức năng điều khiển giám sát các nút mạng. Hiện nay, đã có rất nhiều phiên bản bộ điều khiển được sử dụng trên những ngôn ngữ lập trình khác nhau (C/C++, Java, Ruby, Python, vv) được các nhà phát triển đưa ra với các mục đích khác nhau. Một số bộ điều khiển điển hình như: NOX, POX, Beacon, Floodlight, SNAC, vv.

Trong các bộ điều khiển trên thì bộ điều khiển thông dụng nhất là NOX, POX. Vì chức năng điều khiển của NOX và POX [23] giống nhau nên trong phần này sẽ giới thiệu tượng trưng bộ điều khiển NOX. NOX là một phần mềm mã nguồn mở dùng điều khiển các chuyển mạch OpenFlow. Mục đích của NOX nhằm cung cấp một platform cho viết các phần mềm quản lý mạng (như các ứng dụng định tuyến, tường lửa…) sử dụng C++ hoặc Python (do đại học Stanford phát triển).

Mục đích chính của NOX bao gồm:

 Cung cấp một platform cho phép người lập trình, phát triển mạng triển khai các ý tưởng mới trong lĩnh vực mạng, sử dụng phần cứng thật. Các nhà phát triển có thể điều khiển tất cả các kết nối trong mạng gồm có: chuyển tiếp, định tuyến, vv. Ngoài ra NOX còn điều khiển cả bảng flow trong chuyển mạch.

 Cung cấp phần mềm quản lý mạng hữu ích cho các nhà quản trị mạng, gồm có

việc quản lý tập trung cho tất cả các chuyển mạch trong mạng, điều khiển truy nhập của người dùng.

Phương thức hoạt động của NOX:

 NOX chạy riêng rẽ trên một máy và quản lý việc chuyển tiếp các bản tin giữa

các chuyển mạch khác nhau.

 NOX cung cấp các giao diện lập trình giúp cho nhà phát triển sử dụng dễ dàng lấy được thông tin về sự kiện trong mạng, can thiệp vào lưu lượng, điều khiển các quyết định định tuyến/chuyển mạch.

 Khi có luồng mới xuất hiện trọng mạng, các gói đầu tiên sẽ được gửi đến bộ điều khiển mạng NOX, tại đây có thể thực hiện quyết định xem lúc nào khi nào sẽ chuyển tiếp các gói đi trong mạng, thu thập các thông tin thống kê, chỉnh sửa được gói trong luồng đó hoặc có thể xem thêm được về các gói khác trong cùng luồng để thu thập được thêm nhiều thông tin.

18

Các thành phần của NOX:

 Core apps: cung cấp chức năng cho các ứng dụng mạng và các dịch vụ web.

 Network apps: các ứng dụng để quản lý mạng

 Discovery: theo dõi các liên kết giữa các thiết bị chuyển mạch điều khiển.  Topology: cung cấp một bản ghi trong bộ nhớ của tất cả các liên kết hiện lên

trong mạng.

 Authenticator: theo dõi vị trí của máy chủ và thiết bị chuyển mạch trên mạng.  Routing: là thành phần chịu trách nhiệm tính toán đường truyền.

1.6.3. Công nghệ NetFPGA

Nền tảng NetFPGA [38] cho phép các nhà nghiên cứu xây dựng nguyên mẫu của những hệ thống mạng tốc độ cao, được tăng tốc bằng phần cứng một cách nhanh chóng. Nền tảng này giúp cho các nhà nghiên cứu xây dựng những chuyển mạch Ethernet và các bộ định tuyến IP trên phần cứng thay vì trên phần mềm, có thể sử dụng NetFPGA để thử nghiệm các dịch vụ mạng tiên tiến phục vụ cho các mạng thế hệ tiếp theo.

Hình 1.8. Nền tảng NetFPGA

NetFPGA là một nền tảng mở đối với tất cả các nhà phát triển trên toàn thế giới. Các thiết kế tham khảo bao gồm: Bộ định tuyến IPv4, chuyển mạch Ethernet, NIC 4 cổng, vv và liên tục được cập nhật bởi các nhóm nghiên cứu trên toàn thế giới. Các nhà nghiên cứu có thể sử dụng các thiết kế sẵn có này để xây dựng nên những hệ thống xử lý lưu lượng mạng mới. Mỗi kit NetFPGA có thể xử lý lưu lượng thông qua bốn 4 cổng và nhiều kit có thể cắm trên cùng một máy tính. Trong Mục 1.5.4, bộ chuyển mạch OpenFlow được xây dựng trên nền tảng NetFPGA (Hình 1.8).

Nền tảng NetFPGA bao gồm ba thành phần chính: phần cứng, gateware, phần mềm.

19

 Xilinx VirtexTM-II pro 50

 4x1 Gbps Ethernet ports sử dụng lõi MAC mềm

 4.5 MB SRAM

 64 MB DDR2

Một chip FPGA Spartan II dùng để làm khối điều khiển (Control Logic) cho giao tiếp giữa Kit NetFPGA với máy tính thông qua bus PCI. Sơ đồ khối chi tiết các khối phần cứng

Một phần của tài liệu Nghiên cứu giải pháp tiết kiệm năng lượng trong thiết kế chuyển mạch sử dụng ở trung tâm dữ liệu (Trang 25)

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

(116 trang)