VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
BÁO CÁO TỐT NGHIỆP
ĐỀ TÀI:
MỘT SỐ GIẢI PHÁP CÂN BẰNG TẢI ĐỘNG TRONG MẠNG SDN – NGHIÊN CỨU, MÔ PHỎNG VÀ ĐÁNH
GIÁ
CHUYÊN NGÀNH: KỸ THUẬT MÁY TÍNH
NGƯỜI HDKH: PGS.TS. NGÔ HỒNG SƠN
HỌC VIÊN: NGUYỄN HỒNG MINH
MÃ HV:
Hà Nội, 28/10/2017
CA150007
LÝ DO CHỌN ĐỀ TÀI
• Bài toán cân bằng tải động trong mạng SDN
• Bài toán phân phối tài nguyên trong môi trường mạng
• Công nghệ SDN
10/28/2017
Nguyễn Hồng Minh
2
LÝ DO CHỌN ĐỀ TÀI
Bài toán phân phối tài nguyên trong môi trường mạng
• Nhu cầu sử dụng dịch vụ của người dùng tăng cao
• Các yêu cầu về ứng dụng càng ngày càng đa dạng
• Sự phát triển IoT , yêu cầu về tính mở rộng , linh hoạt
• Yêu cầu về triển khai, vận hành, bảo trì hệ thống.
10/28/2017
Nguyễn Hồng Minh
3
LÝ DO CHỌN ĐỀ TÀI
•
Công nghệ SDN
Tổ chức phi lợi nhuận ONF (Open Networking Foundation)
[11], được thành lập bởi các công ty cung cấp dịch vụ internet, hệ thống
mạng hàng đầu trên thế giới đã định nghĩa công nghệ SDN như là giải
pháp để cung cấp một hệ thống mạng đáp ứng những yêu cầu mới trên.
SDN là một kiến trúc linh hoạt, dễ quản lý, hiệu suất cao và thính nghi
tốt, khiến công nghệ này lý tưởng cho các ứng dụng đòi hỏi băng thông
cao và cần sự linh hoạt .
10/28/2017
Nguyễn Hồng Minh
4
NỘI DUNG CHÍNH
•
•
•
•
•
CƠ SỞ LÝ THUYẾT
•
Tổng quan về công nghệ SDN, giao thức OpenFlow, bài toán cân bằng tải động
CÁC GIẢI PHÁP CÂN BẰNG TẢI ĐỘNG SỬ DỤNG CÔNG NGHỆ SDN
•
•
•
Các giải pháp truyền thống
Các giải pháp mới được đề xuất trong mạng SDN
Đánh giá các giải pháp
ĐỀ XUẤT GIẢI PHÁP CÂN BẰNG TẢI ĐỘNG DỰA TRÊN THUẬT TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT DIJKSTRA
•
•
Ý tưởng và cải tiến
Thuật toán
MÔ PHỎNG THỬ NGHIỆM VÀ KẾT QUẢ
KẾT LUẬN
10/28/2017
Nguyễn Hồng Minh
5
CÔNG NGHỆ SDN
• Tách biệt mặt phẳng điều khiển (Control Plane) và mặt phẳng dữ liệu (Data Plane)
• Kiến trúc của SDN gồm ba lớp riêng biệt:
• Lớp ứng dụng (Application Layer)
• Lớp điều khiển (Control Layer)
• Lớp cơ sở hạ tầng (Infrastructure Layer)
10/28/2017
Nguyễn Hồng Minh
6
CÔNG NGHỆ SDN
Kiến trúc SDN
10/28/2017
Nguyễn Hồng Minh
7
CÔNG NGHỆ SDN
• Khả năng cung cấp
•
•
•
•
Lớp điều khiển có thể được lập trình trực tiếp.
Mạng được điều chỉnh, thay đổi một cách nhanh chóng thông qua việc thay đổi trên lớp điều khiển.
Mạng được quản lý tập trung do phần điều khiển được tập trung trên lớp điều khiển.
Cấu hình lớp cơ sở hạ tầng có thể được lập trình trên lớp ứng dụng và truyền đạt xuống các lớp dưới.
• Ưu nhược điểm
•
•
•
•
•
10/28/2017
Giảm CapEx
Giảm OpEx
Truyền tải nhanh chóng và linh hoạt
Mở ra cơ hội cho các nhà cung cấp lắp đặt thiết bị trung gian
Khó tích hợp với hệ thống mạng hiện có
Nguyễn Hồng Minh
8
GIAO THỨC OPENFLOW
• OpenFlow là giao diện truyền thông tiêu chuẩn đầu tiên được xác định
giữa các lớp điều khiển và chuyển tiếp của một kiến trúc SDN [8,9].
OpenFlow cho phép truy cập trực tiếp và thao tác trên mặt phẳng chuyển
tiếp của các thiết bị mạng như switch và router.
• OpenFlow sử dụng khái niệm “flow” (luồng) để nhận dạng lưu lượng mạng
trên cơ sở định nghĩa trước các quy tắc phù hợp (được lập trình sẵn bởi
phần mềm điều khiển SDN).
10/28/2017
Nguyễn Hồng Minh
9
GIAO THỨC OPENFLOW
Các thành phần cơ bản của mạng SDN trên cơ sở giao thức OpenFlow
• Openflow Switch.
• Controller.
• OpenFlow Protocol.
10/28/2017
Nguyễn Hồng Minh
10
BÀI TOÁN CÂN BẰNG TẢI
•
MÔ TẢ BÀI TOÁN
Bài toán cân bằng tải (Load Balancing) là bài toán phân phối khối lượng tải trên nhiều tài nguyên, chẳng hạn như máy tính, một cụm máy
tính , liên kết mạng, các đơn vị xử lý trung tâm để có thể sử dụng tối ưu hóa việc sử dụng tài nguyên, tối đa hóa thông lượng, giảm thiểu thời gian
phản hồi và tránh tình trạng quá tải của bất kỳ nguồn tài nguyên đơn lẻ nào [2].
10/28/2017
Nguyễn Hồng Minh
11
BÀI TOÁN CÂN BẰNG TẢI
Mục tiêu
Tăng khả năng đáp ứng
Tăng độ tin cậy và khả năng dự phòng cho hệ thống
Tăng tính bảo mật cho hệ thống
Tính phức tạp
Các môi trường mạng và kiến trúc hệ thống đa dạng về hình trạng, kích cỡ và tính chất
Yêu cầu theo dõi và cập nhật hiện trạng các tài nguyên trong hệ thống theo thời gian thực
Các ràng buộc về tài nguyên
Các hướng tiếp cận
Chỉ xem xét một số loại topo mạng, hệ thống cụ thể.
Phân tách bài toán theo các dịch vụ riêng rẽ và cụ thể.
Giả thiết rằng tài nguyên trong hệ thống là đồng đều.
Thực hiện cân bằng tải cục bộ, chỉ tập trung vào bộ phận quan trọng.
10/28/2017
Nguyễn Hồng Minh
12
CÁC GIẢI PHÁP CÂN BẰNG TẢI SỬ DỤNG CÔNG NGHỆ SDN
• CÁC GIẢI PHÁP DỰA TRÊN CÁC THUẬT TOÁN TRUYỀN THỐNG
• GIẢI PHÁP DỰA TRÊN THUẬT TOÁN LOBUS
• GIẢI PHÁP DỰA TRÊN THUẬT TOÁN LABERIO
• NHẬN XÉT
10/28/2017
Nguyễn Hồng Minh
13
CÁC GIẢI PHÁP CÂN BẰNG TẢI SỬ DỤNG CÔNG NGHỆ SDN
CÁC GIẢI PHÁP DỰA TRÊN CÁC THUẬT TOÁN TRUYỀN THỐNG
• Thuật toán ngẫu nhiên
• Thuật toán Round Robin
• Thuật toán Weighted Round Robin
• Thuật toán Least Response Time
• Thuật toán Lest Connection
10/28/2017
Nguyễn Hồng Minh
14
CÁC GIẢI PHÁP CÂN BẰNG TẢI SỬ DỤNG CÔNG NGHỆ SDN
GIẢI PHÁP DỰA TRÊN THUẬT TOÁN LOBUS
Các tác giả xây dựng một hệ thống được gọi là
“Plug-n-Serve” với các chức năng chính sau:
•
Xác định tình trạng hiện tại của mạng và các máy chủ, bao gồm topo mạng, tắc nghẽn mạng, và tải trên các
máy chủ.
•
Chọn máy chủ phù hợp để yêu cầu và kiểm soát đường đi của các gói tin trong mạng, để giảm thiểu thời gian
đáp ứng
10/28/2017
Nguyễn Hồng Minh
15
CÁC GIẢI PHÁP CÂN BẰNG TẢI SỬ DỤNG CÔNG NGHỆ SDN
GIẢI PHÁP DỰA TRÊN THUẬT TOÁN LOBUS
• Hệ thống “Plug-n-Serve” sử dụng kiến trúc Openflow để đo trạng thái của mạng và trực tiếp kiểm soát các
đường dẫn được thực hiện bởi các yêu cầu HTTP mới.
• Gồm 3 thành phần chính
• Flow Manager
• NetManager
• Host Manager
10/28/2017
Nguyễn Hồng Minh
16
CÁC GIẢI PHÁP CÂN BẰNG TẢI SỬ DỤNG CÔNG NGHỆ SDN
GIẢI PHÁP DỰA TRÊN THUẬT TOÁN LABERIO
10/28/2017
Nguyễn Hồng Minh
17
CÁC GIẢI PHÁP CÂN BẰNG TẢI SỬ DỤNG CÔNG NGHỆ SDN
NHẬN XÉT
• Vấn đề theo dõi và cập nhật thường xuyên hình trạng mạng.
• Kiến trúc mạng truyền thống không giải quyết được các vấn đề của bài toán cân bằng tải.
• Hai thuật toán mới được đề xuất trong việc ứng dụng công nghệ SDN, cũng có những nhược điểm chính như
phải duy trì một đường đi giữa một cặp nguồn đích là rõ ràng và cụ thể, thuật toán có đề cập đến việc theo dõi
các tải liên kết, nhưng lại không sử dụng nó như một điều kiện để lựa chọn đường đi tối ưu. Thuật toán chỉ giúp
hệ thống giảm bớt tắc nghẽn chứ không giải quyết được vấn đề khi tắc nghẽn xảy ra.
10/28/2017
Nguyễn Hồng Minh
18
ĐỀ XUẤT GIẢI PHÁP CÂN BẰNG TẢI ĐỘNG DỰA TRÊN THUẬT TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT DIJKSTRA
• Ý tưởng : từ bài toán tìm các máy chủ gần nhất từ các máy khách bằng cách sử dụng thuật toán tìm đường đi ngắn
nhất Dijkstra trong đồ thị có trọng số . Xây dựng chương trình trên Controller và tạo ra các flow trước khi cập nhật
đến các switch trong toàn mạng. Quá trình tính toán được tạo vòng lặp để đảm bảo các thay đổi của hình trạng mạng
luôn được cập nhật và chính sách định tuyến được thay đổi đáp ứng.
•
Cải tiến : mở rộng thuật toán Dijkstra bằng việc có tính trọng số của cạnh như độ trễ truyền dẫn qua các cạnh và lấy
trọng số nút như độ trễ xử lý trên các nút , với con đường ngắn nhất là con đường có tổng trọng số nút và trọng số
cạnh là nhỏ nhất.
10/28/2017
Nguyễn Hồng Minh
19
ĐỀ XUẤT GIẢI PHÁP CÂN BẰNG TẢI ĐỘNG DỰA TRÊN THUẬT TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT DIJKSTRA
THUẬT TOÁN
Extended Dijkstra’s Algorithm
Input:G=(V, E), ew, nw, s
Output:d[|V|], p[|V|]
1: d[s]←0; d[u]←∞, for each u≠s, u € V
2: insert u with key d[u] into the priority queue Q, for each u € V
3: while(Q≠Ø)
4: u←Extract-Min(Q)
5: for each v adjacent to u
6: ifd[v]>d[u]+ew[u,v]+nw[u] then
7: d[v]←d[u]+ew[u,v]+nw[u]
8: p[v]←d[u]
10/28/2017
Nguyễn Hồng Minh
20
MÔ PHỎNG THỬ NGHIỆM VÀ KẾT QUẢ
• Mục tiêu : nhằm so sánh giữa việc áp dụng các thuật toán cân bằng tải đã trình bày với thuật toán đề xuất để từ
đó đánh giá hiệu quả của thuật toán mới.
• Các tiêu chí đánh giá
• Throughput
• End-to-End Latency
• Jitter
• Datagrams Lost:
10/28/2017
Nguyễn Hồng Minh
21
MÔ PHỎNG THỬ NGHIỆM VÀ KẾT QUẢ
ĐẦU VÀO MÔ PHỎNG
•
•
Cài đặt các tham số :
Các trường hợp mô phỏng:
1.
2.
3.
10/28/2017
Tham số
Giá trị
Bandwidth on edges
100Mbps – 200Mbps
Number of server
2
Number of switches
3,10,20
Number of hosts
4,8,16
Controller
Opendaylight Carbon SR1, Floodligh 1.2
Trường hợp 1: Không chạy thuật toán cân bằng tải
Openflow Switch
OpenVSwitch 1.3
Trường hợp 2: Chạy thuật toán Round Robin
Testing Tool
Iperf, Mininet
Testing time
60 second
Trường hợp 3: Chạy thuật toán cân bằng tải mới đề xuất
Nguyễn Hồng Minh
22
MÔ PHỎNG THỬ NGHIỆM VÀ KẾT QUẢ
• Topology Fat-tree với số lượng host thay đổi
10/28/2017
Nguyễn Hồng Minh
23
MÔ PHỎNG THỬ NGHIỆM VÀ KẾT QUẢ
• Topology Fat-tree với số lượng host thay đổi
10/28/2017
Nguyễn Hồng Minh
24
MÔ PHỎNG THỬ NGHIỆM VÀ KẾT QUẢ
KẾT QUẢ
T hrou ghpu t
RRLB
EDLB
Mbits/sec
NLB
10/28/2017
Nguyễn Hồng Minh
number of client
25