CHƯƠNG 5: XÂY DỰNG MÔI TRƯỜNG THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ

Một phần của tài liệu NGHIÊN CỨU MÔ HÌNH HOÁ LƯU LƯỢNG TẠI TRUNG TÂM DỮ LIỆU TỪ TRUNG TÂM NGUỒN DỮ LIỆU CỦA VIETTEL (Trang 78 - 83)

KẾT QUẢ

Sau khi đã có bộ phát lưu lượng hoàn chỉnh, việc tiếp theo chúng ta cần làm là tiến đến xây dựng một mô hình lưu lượng. Trong chương này, đồ án sẽ trình bày phương thức xây dựng mô phỏng một mô hình lưu lượng với topology fattree như đã đề cập trong phần 1.3, sau đó sẽ thực hiện đánh giá kết quả mô phỏng theo 2 bước:

- đánh giá khi phát 1 flow - đánh giá khi phát toàn mạng

5.1 Xây dựng môi trường thử nghiệm5.1.1 Công cụ thực hiện 5.1.1 Công cụ thực hiện

Ngoài bộ phát lưu lượng D-ITG, việc mô phỏng còn cần được thực hiện trên nền tảng Openflow và môi trường Mininet

5.1.1.1 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 các switch thương mại và 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 [5] ra đời là phương tiện cho phép các nhà nghiên cứu về mạng 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 của Ethernet switch, với một flow-table bên trong, và giao diện chuẩn cho phép 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 mở thêm chuẩn Openflow vào các switch của họ để có thể 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 việc 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- virtualization ). 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ử switch/router 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 một cách đồng thời mà không ảnh hưởng lẫn nhau. OpenFlow cho phép ta có thể lập trình được switch/router.

Ý tưởng cơ bản của OpenFlow khá đơn giản: lợi dụng việc hầu hết các Ethernet switch/router chứa flow-table (TCAM) chạy ở line-rate để thực hiện các ứng dụng như firewall, NAT, QoS, và để thu thập dữ liệu thống kê, tuy flow-table của mỗi nhà sản xuất là khác nhau, nhưng chúng có một tập chung các chức năng như nhau, Openflow khai thác tập các chức năng chung này để thực hiện các switch/router OpenFlow.

OpenFlow cung cấp một giao thức mở (open protocol) để lập trình flow- table trong các switch/router khác nhau. Người quản trị mạng có thể chia lưu lượng thành 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ử nghiệm 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. Trong cùng một mạng, lưu lượng sử dụng được cách ly khỏi lưu lượng nghiên cứu và được xử lý một cách bình thường.

Hình 5.40 dưới đây 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:

Hình 5.40: Mô hình hoạt động của OpenFlow switch

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.

Flow Table:

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 5.41 gồm có: chuyển packet đến một hoặc nhiều cổng, gửi toàn bộ hoặc một phần packet cho controller khi packet không có entry phù hợp trong flow-table, và hủy packet (có thể sử dụng cho bảo mật,…), xử lý packet theo cách thông thường.

Hình 5.41: Flow Table Actions

Bảng 4.1 thể hiện các thành phần của flow table entry, bao gồm trường tiêu đề (header fields), bộ đếm (counters) và các action.

Bảng 5.19: Flow Table entry

Header Fields Counters Actions Trong đó:

o Header fields: dùng để so sánh và xác nhận các packet đi đến switch

o Counters: thống kê thông tin (tổng số gói nhận, gửi, …)

o Actions: xác định hành động thực hiện với các gói tin phù hợp với header tương ứng.

Trường tiêu đề trong OpenFlow switch loại “Type 0” bao gồm 10 tham số như trong Bảng 5.20. 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 5.20: Trường tiêu đề

In

Port VLANID Ethernet IP TCP/UDP

SMA DMA Type SA DA Prot Src Dst

Trường tiêu đề bao gồm một bộ 10 tham số sau đây:

o Cổng vào switch

o VLAN ID

o Địa chỉ MAC nguồn (SMA)

o Địa chỉ MAC đích (DMA)

o Ethernet type

o Địa chỉ IP đích (SA)

o Địa chỉ IP nguồn (DA)

o Giao thức IP (Prot)

o Cổng nguồn TCP/UDP (Src)

o Cổng đích TCP/UDP (Dst)

Bảng 5.21 dưới đây thể hiện các trường của bộ đếm (counter) trong mỗi OpenFlow switch:

Bảng 5.21: Các trường thống kê trong OpenFlow switch

Counter Bits Per Table Actice entries 32 Packet lookups 64 Packet matches 64 Per Flow Received packets 64 Duration (seconds) 32 Transmitted Packets 64 Duration (seconds) 32 Per port Received packets 64 Transmitted packets 64 Received bytes 64 Transmitted bytes 64 Receive Drops 64 Transmit Drops 64 Receive Errors 64 Transmit Errors 64

Receive Frame Alignment

Errors 64

Receive Overrun Errors 64 Receive CRC Errors 64

Collisions 64

Per Queue

Transmit Packets 64

Transmit Bytes 64

Transmit Overrun Errors 64

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:

Một phần của tài liệu NGHIÊN CỨU MÔ HÌNH HOÁ LƯU LƯỢNG TẠI TRUNG TÂM DỮ LIỆU TỪ TRUNG TÂM NGUỒN DỮ LIỆU CỦA VIETTEL (Trang 78 - 83)

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

(98 trang)
w