Tầm quan trọng của việc đánh giá hiệu năng mạng Hiệu năng mạng là một vấn đề phức tạp do các yếu tố có thể tổng hợp đưa ra nhằm đánh giá vấn đề hiệu năng chưa thực sự rõ ràng.. Đã có nhi
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN ĐÁNH GIÁ HIỆU NĂNG MẠNG
ĐỀ TÀI: Triển khai hệ thống giám sát và đánh giá hiệu năng mạng sử dụng công cụ Zabbix
Hà Nội, tháng 3 năm 2022
Trang 2Phiếu chấm điểm
Sinh viên thực hiện:
Họ và tên Chữ ký Nhiệm vụ
Lê Tuấn Anh
Mã SV: 20710320004
Tìm kiếm tài liệu, ứng dụng.
Nguyễn Văn Đức
Mã SV: 20710320003
Tìm kiếm tài liệu, ứng dụng.
Giảng viên chấm:
Họ và tên Chữ ký Ghi chú
Giảng viên chấm 1:
Giảng viên chấm 2:
Trang 3MỤC LỤC
LỜI NÓI ĐẦU 5
CHƯƠNG 1 GIỚI THIỆU VỀ AI VÀ THUẬT TOÁN QUAY LUI 6
1.1 GIỚI THIỆU VỀ TRÍ TUỆ NHÂN TẠO 6
1.1.1 Trí tuệ nhân tạo là gì ? 6
1.1.2 Lịch sử 8
1.1.3 Lĩnh vực của AI 9
1.2 GIỚI THIỆU VỀ KỸ THUẬT QUAY LUI 10
1.2.1 Tư tưởng quay lui 10
1.2.2 Heuristic 11
1.2.3 Cài đặt 11
1.2.4 Phương pháp 12
1.2.5 Mô tả 12
1.3 KẾT LUẬN 14
CHƯƠNG 2 PHÁT BIỂU BÀI TOÁN VÀ THIẾT KẾ THUẬT TOÁN TỐI ƯU 15
2.1 Phát biểu bài toán 15
2.2 Thiết kế tối ưu thuật toán 16
2.2.1 Biểu diễn bàn cờ vua 16
2.2.2 Các khả năng lựa chọn cho xi 17
2.2.3 Lựa chọn xi sao cho hiệu quả 18
2.2.4 Cách ghi nhận trạng thái mới ? trả về trạng thái cũ ? 19
2.2.5 Ghi nhận nhiệm vụ 19
2.2.6 Mô tả 19
2.2.7 Đánh giá thuật toán 21
2.2.8 Kết quả thực tế cài đặt 21
CHƯƠNG 3: THIẾT KẾ GIAO DIỆN 23
3.1 Màn hình đầu tiên khi chạy chương trình 23
3.2 Màn hình chính 24
Trang 43.3 Màn hình chính 24
3.3.1 Ở nước đi đầu tiên 24
3.3.2 Bắt đầu đi tuần 26
3.3.3 Kết quả 28
KẾT LUẬN 30
TÀI LIỆU THAM KHẢO 31
Trang 5LỜI NÓI ĐẦU
Trang 6Chương 1 Tổng quan về đánh giá hiệu năng mạng
1.1 Tầm quan trọng của việc đánh giá hiệu năng mạng
Hiệu năng mạng là một vấn đề phức tạp do các yếu tố có thể tổng hợp đưa ra nhằm đánh giá vấn đề hiệu năng chưa thực sự rõ ràng Đã có nhiều khái niệm, tham số được đưa ra nhằm minh chứng cho bản chất của vấn hiệu năng, lý giải cho việc truyền thông tin hiệu quả hay kém hiệu quả giữa các hệ thống trong mạng Tuy nhiên, trong thực tế rất cần có những khái niệm bản chất và sát thực tiễn với mục tiêu đánh giá được toàn bộ vấn đề hiệu năng bao gồm cả các yếu tố đo đạc, theo dõi, điều khiển đều được tính đến Có thể sơ lược khái niệm hiệu năng mạng như sau: Hiệu năng mạng là hiệu quả và năng lực hoạt động của hệ thống mạng Như vậy việc đánh giá hiệu năng mạng chính là tính toán và xác định hiệu quả, năng lực thực sự của hệ thống mạng trong các điều kiện khác nhau.Các điều kiện được sử dụng trong đánh giá hiệu năng là rất quan trọng, chúng ảnh hưởng trực tiếp tới các kết quả thu được Trong các điều kiện ảnh hưởng tới quá trình đánh giá hiệu năng thì kịch bản mô tả là yếu tố then chốt quyết định giá trị hiệu năng tại điểm cần đo Trong kịch bản cần xác định các tham số đầu vào rõ ràng như các nút tham gia hệ thống, thiết bị kết nối, tác nhân tham gia, giao thức hoạt động, ứng dụng triển khai, thời gian thực hiện,… và rất nhiều yếu tố khác kết hợp tạo ra một kịch bản hoàn thiện
1.2 Các độ đo hiệu năng mạng
Trang 7- Tỉ lệ mất gói tin (𝑝𝑎𝑐𝑘𝑒𝑡 𝑙𝑜𝑠𝑠 𝑟𝑎𝑡𝑒): được xác định là tỉ số của tổng số gói tin bị mất 𝑡𝑜𝑡𝑎𝑙 𝑙𝑜𝑠𝑠 𝑝𝑎𝑐𝑘𝑒𝑡 với tổng số gói tin đã gửi 𝑡𝑜𝑡𝑎𝑙 𝑠𝑒𝑛𝑡 𝑝𝑎𝑐𝑘𝑒𝑡 Đối với mạng ổn định thì tỉ lệ này thấp, ngược lại tỉ lệ này rất cao Tỉ lệ này mất gói tin được xác định theo công thức như sau:
- Mức độ sử dụng đường truyền: là khả năng tận dụng đường truyền của mạng Chỉ số này cho biết khả năng truyền của mạng qua đường truyền là mạnh hay yếu và tính theo công thức sau:
- Mức độ công bằng: là mức độ của các luồng thể hiện mạng có đảm bảo sự công bằng cho các kết nối khi trong mạng có nhiều loại hình thông lượng khác nhau Mức độ công bằng là 1 khi thông lượng của các luồng bằng nhau, và ngược lại
- Kích thước hàng đợi trung bình: là chỉ số biểu thị trực tiếp mức độ sử dụng tài nguyên tại bộ định tuyến Chỉ số này được xácđịnh bằng tỉ số của kích thước hàng đợi trung bình với kích thước thực của hàng đợi Cơ chế có chỉ
số này càng nhỏ sẽ có độ trễ tại hàng đợi nhỏ và ngược lại
Trang 81.3 Các dạng lưu lượng mạng
- Đó là một chuỗi các giao tiếp giữa hai điểm cuối; được giới hạn bởi việc mở
và kết thúc phiên Có rất nhiều dữ liệu được lưu trữ trong một luồng có sẵn
để phân tích Các điểm dữ liệu được thu thập là:
o Địa chỉ IP nguồn và đích
o Các cổng nguồn và đích, nếu có (ví dụ ICMP, không sử dụng cổng)
o Giao thức
1.4 Các phương pháp đánh giá hiệu năng mạng
- Mô hình phân tích:
o Đây là phương pháp sử dụng cơ sở lý thuyết, công thức toán học để đánh giá hiệu năng mạng
o Có thể thay đổi các tham số hệ thống và cấu hình mạng trong một miền rộng với chi phí thấp mà vẫn có thể đạt được các kết quả mong muốn
o Mô hình giải tích thuờng là không thể giải được nếu không được đơn giản hoá nhờ các giả thiết, hoặc được phân rã thành các mô hình nhiều cấp Các mô hình giải được thuờng rất đơn giản hoặc khác xa thực tế
o Thuờng chỉ được sử dụng ngay trong giai đoạn đầu của việc thiết kế mạng, giúp cho nguời thiết kế dự đoán được các giá trị giới hạn của hiệu năng
- Phương pháp mô phỏng:
o Phương pháp thực hiện cài đặt và thực nghiệm, đòi hỏi một chi phí rất cao Tuy nhiên, sau khi đã xây dựng xong bộ mô phỏng, có thể tiến hành chạy chương trình mô phỏng bao nhiêu lần tuỳ ý, với độ chính xác theo yêu cầu và chi phí cho mỗi lần chạy thuờng là rất thấp
Trang 9o Các kết quả mô phỏng nói chung vẫn cần được kiểm chứng, bằng phương pháp giải tích hoặc đo đạc
o Phương pháp mô hình Giải tích và mô hình Mô phỏng đóng vai trò rất quan trọng trong việc thiết kế và triển khai thực hiện hệ thống, đặc biệt là ở giai đoạn đầu
- Phương pháp độ đo
o Phương pháp chỉ có thể thực hiện được trên mạng thực, đang hoạt động, nó đòi hỏi chi phí cho các công cụ đo và việc tiến hành đo
o Việc đo cần được tiến hành tại nhiều điểm trên mạng thực, ở những thời điểm khác nhau và cần lặp đi lặp lại trong một khoảng thời gian
đủ dài
o Ngoài ra, nguời nghiên cứu phải có kiến thức về Lý thuyết thống kê thì mới có thể rút ra được các kết luận hữu ích từ các số liệu thu thập được
- Tổng hợp các phương pháp đánh giá hiệu năng mạng
Hình 1.4.1
Trang 10Chương 2: Sử dụng phần mềm mô phỏng NS2
2.1 NS2 (Network Simulator) là gì?
- NS2 là phần mềm mô phỏng mạng điều khiển sự kiện riêng rẽ hướng đối
tượng, được phát triển tại UC Berkely, viết bằng ngôn ngữ C++ và OTcl NS2 rất hữu ích cho việc mô phỏng mạng diện rộng (WAN) và mạng local (LAN)
o NS thực thi các giao thức mạng như: giao thức điều khiển truyền tải
(TCP) và giao thức gói người dùng (UDP)
o Các dịch vụ nguồn lưu lượng như: Giao thức truyền tập tin (FTP),
Telnet, Web, tốc độ bit cố định (CBR) và tốc độ bit thay đổi (VBR)
o Các kỹ thuật quản lý hàng đợi như: Vào trước ra trước (Drop Tail),
dò sớm ngẫu nhiễn (RED) và CBQ
- Kiến trúc NS2
o Dùng C++ để:
Mô phỏng giao thức chi tiết yêu cầu ngôn ngữ lập trình hệ thống
Thao tác trên byte, xử lý gói, thực thi thuật toán
Thực hiện bất kỳ việc gì mà cần phải xử lý tứng packet của một luồng
o Otcl để:
Mô phỏng những thông số hay cấu hình thay đổi
Trang 11 Cấu hình, thiết lập, thời gian tương tác.
Thực hiện những cái ta muốn bằng cách thao tác trên các đối tượng C++ đang tồn tại
2.2 Cài đặt NS2
- Bước 1: Chuẩn bị hệ điều hành Linux ( Ubuntu, Lubuntu Alternate )
/ Có thể cài trực tiếp lên laptop, desktop của mình hoặc có thể dùng máy
ảo VMWare Player
- Bước 2: Tải phần mềm NS2 ( http://media.thanhnt.com/public_file/ns-allinone-2.35.tar.gz )
- Bước 3: Sau khi tải xong file dạng tar.gz, ta di chuyển nó qua folder nào đó cho dễ truy cập nhất có thể, ta có thể đặt tại /home/[user]/
- Bước 4: Cài đặt các gói thư viện cần thiết (Cần có kết nối mạng)
o Mở terminal và gõ lệnh dưới đây:
sudo apt-get install build-essential autoconf
automake libxmu-dev xgraph
- Bước 5: Giải nén file tải về
o Ta mở Terminal lên, cd (change directory) đến thư mục chứa file tải
về ở Bước 2 Gõ lệnh sau để giải nén (hoặc có thể click double nếu bạn dùng Lubuntu, mở ra và giải nén ra thư mục ns-allinone-2.35):
Trang 12tar zxvf ns-allinone-2.35.tar.gz
o Sau khi giải nén ta thu được folder /ns-allinone-2.35/
- Bước 6: Hiệu chỉnh 1 số dòng văn bản để ứng dụng có thể được cài đặt
o Dùng 1 trình soạn thảo (Gedit, Vi, VIM, Nano…) tìm và mở file
ns-allinone-2.35/ns-2.35/linkstate/ls.h Tại dòng 137, thay thế dòng: void eraseAll() { erase(baseMap::begin(),
baseMap::end()); }
o Thành:
void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }
- Bước 7: Mở Terminal, di chuyển đến thư mục gốc của NS2 tại /ns-allinone-2.35/ và chạy lệnh /install để bắt đầu cài đặt - biên dịch NS2 Quá trình này
có thể diễn ra khoảng 5 phút Khi hiện ra màn hình với nội dung này là quá trình hoàn tất
Trang 13o Chú ý ghi chú lại mấy đường dẫn cần thiết.
- Bước 8: Thiết lập biến môi trường
o Như trong nội dung thông báo thì sau khi hoàn tất cài đặt NS2,
chương trình sẽ yêu cầu cái đặt biến môi trường
PATH
LD_LIBRARY_PATH
TCL_LIBRARY
o Mở file /home/[user]/.bashrc (Nếu không nhìn thấy thì bạn nhấn
Ctrl+H để hiện ra file này) Và chỉnh sửa dựa trên nội dung mà sau khi cài NS2 xong như hình dưới:
Trang 14export PATH=$PATH:
export LD_LIBRARY_PATH=
export TCL_LIBRARY=
o Đoạn thêm vào tương ứng với đường dẫn mà ta đã ghi chú lại khi
nãy (Đường dẫn này có thể khác nhau với mỗi người dùng khác nhau)
o Chú ý: Mỗi đường dẫn cách nhau dấu “:“ Riêng TCL_LIBRARY ta
copy 2 lần đường dẫn
o Chạy lệnh sau để hệ thống cập nhật biến môi trường:
source ~/.bashrc
- Bước 9: Hoàn tất cài đặt
o Ta mở Terminal và gõ lệnh: NS : kết quả trả về ký tự % (OK) nam :
hiện ra bảng GUI về chương trình (OK)
Trang 152.3 Thiết lập mô hình và cài đặt các thông số mạng
- Ta có một mô hình mạng đơn giản với 4 note mạng
Trang 16- Khi có được mô hình thì sẽ đến phần viết code khởi tạo các node mạng
set ns [new Simulator]; #Create a simulator object
$ns color 1 Blue; #Define different colors for data flows
$ns color 2 Red ; #Define different colors for data flows
set nf [open out.nam w]; #Open the NAM trace file
$ns namtrace-all $nf
set tf [open out.tr w]
$ns trace-all $tf
#Define a 'finish' procedure
proc finish {} {
global ns nf
$ns flush-trace
close $nf ; #Close the NAM trace file
exec nam out.nam & ; #Execute NAM on the trace file
exit 0
}
#Create four nodes
set n0 [$ns node] ; set n1 [$ns node] ;
set n2 [$ns node] ; set n3 [$ns node]
$ns duplex-link $n0 $n2 2Mb 10ms DropTail; #Create links between the nodes
$ns duplex-link $n1 $n2 2Mb 10ms DropTail; #Create links between the nodes
$ns duplex-link $n2 $n3 1.7Mb 20ms DropTail; # links between the nodes
$ns queue-limit $n2 $n3 10; #Set Queue Size of link (n2-n3) to 10
Trang 17$ns duplex-link-op $n0 $n2 orient right-down; #Give node position (for NAM)
$ns duplex-link-op $n1 $n2 orient right-up; #Give node position (for NAM)
$ns duplex-link-op $n2 $n3 orient right; #Give node position (for NAM)
$ns duplex-link-op $n2 $n3 queuePos 0.5; #Monitor the queue for link (n2-n3)
#Setup a TCP connection
set tcp [new Agent/TCP]
$tcp set class_ 2
$ns attach-agent $n0 $tcp
set sink [new Agent/TCPSink]
$ns attach-agent $n3 $sink
$ns connect $tcp $sink
$tcp set fid_ 1
#Setup a FTP over TCP connection
set ftp [new Application/FTP]
$ftp attach-agent $tcp
$ftp set type_ FTP
set udp [new Agent/UDP]; #Setup a UDP connection
$ns attach-agent $n1 $udp
set null [new Agent/Null]
$ns attach-agent $n3 $null
$ns connect $udp $null
$udp set fid_ 2
set cbr [new Application/Traffic/CBR]; #Setup a CBR/ UDP connection
Trang 18$cbr attach-agent $udp
$cbr set type_ CBR
$cbr set packet_size_ 1000
$cbr set rate_ 1mb
$cbr set random_ false
#Schedule events for the CBR and FTP agents
$ns at 0.1 "$cbr start"
$ns at 1.0 "$ftp start"
$ns at 4.0 "$ftp stop"
$ns at 4.5 "$cbr stop"
$ns at 4.5 "$ns detach-agent $n0 $tcp ; $ns detach-agent $n3 $sink"
$ns at 5.0 "finish"
#Print CBR packet size and interval
puts "CBR packet size = [$cbr set packet_size_]"
puts "CBR interval = [$cbr set interval_]"
#Run the simulation
$ns run
2.4 Chạy mô hình và đánh giá các độ đo hiệu năng
2.4.1 Chạy mô hình
Trang 19- Mô hình đã được khởi tạo và chạy thành công trên phần mềm NS2
2.4.2 Đánh giá các độ đô hiệu năng