You are on page 1of 19

TRƯỜ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

Sinh viên thực hiện : LÊ TUẤN ANH

NGUYỄN VĂN ĐỨC

Giảng viên hướng dẫn : LÊ MẠNH HÙNG


Ngành : CÔNG NGHỆ THÔNG TIN
Chuyên ngành : QUẢN TRỊ AN NINH MẠNG
Lớp : D15LTQTANM
Khóa : 2020-2022

Hà Nội, tháng 3 năm 2022


Phiế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 Tìm kiếm tài liệu, ứng dụng.

Mã SV: 20710320004

Nguyễn Văn Đức Tìm kiếm tài liệu, ứng dụng.

Mã SV: 20710320003

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:


MỤC LỤC
LỜI NÓI ĐẦU...............................................................................................................................................

CHƯƠNG 1. GIỚI THIỆU VỀ AI VÀ THUẬT TOÁN QUAY LUI.........................................................

1.1. GIỚI THIỆU VỀ TRÍ TUỆ NHÂN TẠO...........................................................................................

1.1.1. Trí tuệ nhân tạo là gì ?...............................................................................................................

1.1.2. Lịch sử.......................................................................................................................................

1.1.3. Lĩnh vực của AI.........................................................................................................................

1.2. GIỚI THIỆU VỀ KỸ THUẬT QUAY LUI.....................................................................................

1.2.1. Tư tưởng quay lui....................................................................................................................

1.2.2. Heuristic..................................................................................................................................

1.2.3. Cài đặt......................................................................................................................................

1.2.4. Phương pháp............................................................................................................................

1.2.5. Mô tả .......................................................................................................................................

1.3. KẾT LUẬN ......................................................................................................................................

CHƯƠNG 2. PHÁT BIỂU BÀI TOÁN VÀ THIẾT KẾ THUẬT TOÁN TỐI ƯU...................................

2.1 Phát biểu bài toán...............................................................................................................................

2.2 Thiết kế tối ưu thuật toán ..................................................................................................................

2.2.1. Biểu diễn bàn cờ vua................................................................................................................

2.2.2. Các khả năng lựa chọn cho xi..................................................................................................

2.2.3. Lựa chọn xi sao cho hiệu quả...................................................................................................

2.2.4. Cách ghi nhận trạng thái mới ? trả về trạng thái cũ ?...............................................................

2.2.5. Ghi nhận nhiệm vụ...................................................................................................................

2.2.6. Mô tả........................................................................................................................................

2.2.7. Đánh giá thuật toán..................................................................................................................

2.2.8. Kết quả thực tế cài đặt.............................................................................................................

CHƯƠNG 3: THIẾT KẾ GIAO DIỆN........................................................................................................

3.1. Màn hình đầu tiên khi chạy chương trình........................................................................................

3.2. Màn hình chính................................................................................................................................


3.3. Màn hình chính................................................................................................................................

3.3.1. Ở nước đi đầu tiên ...................................................................................................................

3.3.2. Bắt đầu đi tuần ........................................................................................................................

3.3.3. Kết quả ....................................................................................................................................

KẾT LUẬN..................................................................................................................................................

TÀI LIỆU THAM KHẢO...........................................................................................................................


LỜI NÓI ĐẦU
Chươ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


- 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.
1.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.
o 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
Chươ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.
 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):
tar 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.
o 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:
export 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)
2.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


- 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
$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


$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


- 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

You might also like