Tải bản đầy đủ (.doc) (65 trang)

rsed môi trường giả lập mạng giống thực tế phục vụ cho nghiên cứu tấn công từ chối dịch vụ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.47 MB, 65 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ───────
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
NGÀNH CÔNG NGHỆ THÔNG TIN
RSED: MÔI TRƯỜNG GIẢ LẬP MẠNG
GIỐNG THỰC TẾ PHỤC VỤ CHO NGHIÊN
CỨU TẤN CÔNG TỪ CHỐI DỊCH VỤ
Sinh viên thực hiện : Trương Thảo Nguyên
Lớp CNPM – K51
Giáo viên hướng dẫn: TS Nguyễn Khanh Văn
HÀ NỘI 5-2011
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 1
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1. Thông tin về sinh viên
Họ và tên sinh viên: Trương Thảo Nguyên
Điện thoại liên lạc: 0984.196.715 Email:
Lớp: Công nghệ phần mềm K51 Hệ đào tạo: Đại học chính quy
Đồ án tốt nghiệp được thực hiện tại: Bộ môn Công nghệ phần mềm
Thời gian làm ĐATN: Từ ngày 21/02/2011 đến 27/05/2011
2. Mục đích nội dung của ĐATN
Xây dựng một môi trường giả lập mạng Internet phục vụ cho việc nghiên cứu tấn công
từ chối dịch vụ dựa trên nền của OMNET++ và INET Framework. Môi trường giả lập cần
phải đảm bảo được tính chất giống với thực tế và có khả năng mở rộng.
3. Các nhiệm vụ cụ thể của ĐATN
 Tìm hiểu về các phương pháp tấn công và phòng chống, giảm thiểu tác hại tấn công từ
chối dịch vụ phân tán DDoS.
 Tìm hiểu các thành phần của môi trường giả lập nói chung.
 Tìm hiểu môi trường giả lập OMNET++ và INET Framework và các kĩ thuật xây dựng
môi trường giả lập với C++ và NED language


 Tìm hiểu các bộ lập phục vụ nghiên cứu DDoS đó cú trong thực tế
 Tìm hiểu các giải thuật mô phỏng cấu hình mạng (network topology), hay giao thông
mạng (network traffic) giống thực.
 Đưa ra giải pháp tổng thể cho bài toán một môi trường giả lập giống thực, có khả năng
mở rộng phục vụ nghiên cứu DDoS trên cơ sở OMNET++ và INET Framework.
 Phát triển môi trường giả lập với hai thành phần:
o Thành phần hỗ trợ sinh cấu hình mạng
o Thành phần hỗ trợ giả lập mạng
4. Lời cam đoan của sinh viờn
Tôi – Trương Thảo Nguyên - cam kết ĐATN là công trình nghiên cứu của bản thân tôi
dưới sự hướng dẫn của TS.Nguyễn Khanh Văn.
Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ
công trình nào khác.
Hà Nội, ngày 27 tháng 05 năm 2011
Tác giả ĐATN
Trương Thảo Nguyên
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 2
5. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép
bảo vệ:
……………………………………………………………………………………….…….…
……………………………………………………………………………………….…….…
……………………………………………………………………………………….…….…
……………………………………………………………………………………….…….…
……………………………………………………………………………………….…….…
Hà Nội, ngày 27 tháng 05 năm 2011
Giáo viên hướng dẫn
TS Nguyễn Khanh Văn
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 3
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Ngày nay, trong lĩnh vực nghiên cứu tấn công từ chối dịch vụ, hầu hết các nhà nghiên

cứu đều sử dụng các môi trường mô phỏng để thực nghiệm những nghiên cứu của mình.
Kết quả của quá trình giả lập được sử dụng làm cơ sở đánh giá ý nghĩa của vấn đề được đăt
ra, tính hiệu quả của những đề xuất, giải pháp cụ thể trong quá trình nghiên cứu. Môi
trường mô phỏng càng giống với thực tế càng đảm báo kết quả của quá trình nghiên cứu là
chính xác và có tính thực tiễn. Do đó, vấn đề xây dựng một bộ giả lập mạng phù hợp với
tính chất đặc thù của nghiên cứu tấn công từ chối dịch vụ và đảm bảo tính chất gần với
thực tế là rất cần thiết. Đây cũng là nội dung trọng tâm của đồ án tốt nghiệp mà người viết
thực hiện. Trong đồ án, người viết đã đề xuất và xây dựng RSED (Realistic network
Simulation Environment for DDoS attacks), một môi trường giả lập được xây dựng trên
nền bộ giả lập OMNET++ [1], các thư viện có sẵn của INET framework [2] và được tham
khảo nhất định từ ReaSE framework [3]. RSED có khả năng giả lập các mạng có cấu trúc
lên tới hàng trăm nút và hỗ trợ giả lập đường truyền mạng giống với thực tế. Ngoài ra,
RSED cũng hỗ trợ giả lập các mạng bootnet, hay tiến hành các thực nghiệm các bộ phòng
chống DDoS một cách nhanh chóng. Người thực hiện đã cài đặt thử nghiệm phương pháp
phòng chống DDoS sử dụng BloomFilter như một chứng minh cho khả năng của môi
trường giả lập đã được xây dựng.
Các kết quả trong quá trình thực hiện đồ án tốt nghiệp đã được người viết gửi tới hội
nghị sinh viên nghiên cứu khoa học Viện Công Nghệ Thông Tin và Truyền Thông năm
2011. Người viết đã được trao giải khuyến khích dành cho những kết quả đạt được này.
Từ khóa— DDoS attack, Network simulation environment, Network topology generator,
OMNET++
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 4
ABSTRACT OF THESIS
Nowadays, in researching the properties of Denial of Service attacks and developing
methods to prevent and mitigate the harmful effects of this network attack, most
researchers use simulations environments for experiment their researches. The results of
this simulation process are used as the basics for evaluating the significance of the issue,
the effectiveness of the proposition, and results of the detail solution. The more realistic
simulation, the more reliable, accurate, and practical result is. Therefore, developing a
network simulation that matches the specific characteristics of DDoS attacks and give the

results closed to the actual needs is necessary. This document presents RSED (Realistic
network Simulation Environment for DDoS attack) which is a framework that was
designed based on OMNET++ simulation [1] and the existing libraries of INET framework
[2]. RSED is also built on the references given from ReaSE framework [3]. It provides
users a simulation environment that is capable of generating hundred-node-network-
topologies, and supports realistic traffic generator. In addition, it also supports to imitate
BotNet and experiment in DDoS preventing and mitigating methods quickly. We installed
DDoS mitigating methods based on BloomFilter using this simulation environment
Keywords— DDoS attack, Network simulation environment, Network topology
generator, OMNET++
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 5
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 6
LỜI CẢM ƠN
Trước tiên người viết xin gửi lời cảm ơn chân thành sâu sắc đến các thầy
cô giáo trong trường đại học Bách Khoa Hà nội nói chung và các thầy cô giáo
trong viện công nghệ thông tin và truyền thông, bộ môn công nghệ phần mềm
nói riêng đã tận tình giảng dạy, truyền đạt cho em những kiến thức, kinh
nghiệm quý báu trong suốt thời gian qua.
Đặc biệt người viết xin gửi lời cảm ơn đến thầy TS Nguyễn Khanh
Văn, thầy đã tận tình giúp đỡ, trực tiếp chỉ bảo, hướng dẫn trong suốt gần 1
năm chuẩn bị và làm đồ án tốt nghiệp. Trong thời gian làm việc với thầy,
người viết không những tiếp thu thêm nhiều kiến thức bổ ích mà còn học hỏi
được nhiều kinh nghiệm thực tiễn trong nghiên cứu khoa học, đây là những
điều rất cần thiết cho người viết trong quá trình học tập và công tác sau này.
Người viết cũng xin gửi lời cảm ơn tới cô ThS Nguyễn Phi Lê và các
bạn trong nhóm nghiên cứu về DDoS đã giúp đỡ rất nhiều trong suốt thời gian
vừa qua.
Và cuối cùng xin gửi lời cảm ơn tới gia đình, bạn bè đã động viên, giúp
đỡ trong suốt năm năm học đại học.
Hà Nội, ngày 27 tháng 05 năm 2011

Sinh viên : Trương Thảo Nguyên
Lớp : Công nghệ phần mềm – K51
Khoa : Viện Công nghệ Thông tin và
truyền thông
Đại học Bách Khoa Hà Nội
LỜI CẢM ƠN
Trước tiên người viết xin gửi lời cảm ơn chân thành sâu sắc đến các thầy
cô giáo trong trường đại học Bách Khoa Hà nội nói chung và các thầy cô giáo
trong viện công nghệ thông tin và truyền thông, bộ môn công nghệ phần mềm
nói riêng đã tận tình giảng dạy, truyền đạt cho em những kiến thức, kinh
nghiệm quý báu trong suốt thời gian qua.
Đặc biệt người viết xin gửi lời cảm ơn đến thầy TS Nguyễn Khanh
Văn, thầy đã tận tình giúp đỡ, trực tiếp chỉ bảo, hướng dẫn trong suốt gần 1
năm chuẩn bị và làm đồ án tốt nghiệp. Trong thời gian làm việc với thầy,
người viết không những tiếp thu thêm nhiều kiến thức bổ ích mà còn học hỏi
được nhiều kinh nghiệm thực tiễn trong nghiên cứu khoa học, đây là những
điều rất cần thiết cho người viết trong quá trình học tập và công tác sau này.
Người viết cũng xin gửi lời cảm ơn tới cô ThS Nguyễn Phi Lê và các
bạn trong nhóm nghiên cứu về DDoS đã giúp đỡ rất nhiều trong suốt thời gian
vừa qua.
Và cuối cùng xin gửi lời cảm ơn tới gia đình, bạn bè đã động viên, giúp
đỡ trong suốt năm năm học đại học.
Hà Nội, ngày 27 tháng 05 năm 2011
Sinh viên : Trương Thảo Nguyên
Lớp : Công nghệ phần mềm – K51
Khoa : Viện Công nghệ Thông tin và
truyền thông
Đại học Bách Khoa Hà Nội
MỤC LỤC
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 2

TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 4
ABSTRACT OF THESIS 5
MỤC LỤC 7
DANH MỤC CÁC BẢNG 8
DANH MỤC CÁC HèNH 9
DANH MỤC CÁC TỪ VIẾT TẮT 10
DANH MỤC CÁC THUẬT NGỮ 11
MỞ ĐẦU 12
PHẦN I: TỔNG QUAN VỀ ĐỀ TÀI 13
ĐẶT VẤN ĐỀ VÀ PHƯƠNG PHÁP THỰC HIỆN 13
CƠ SỞ LÝ THUYẾT VÀ CÔNG CỤ SỬ DỤNG 18
PHẦN II: CÁC KẾT QUẢ ĐẠT ĐƯỢC 27
PHÂN TÍCH THIẾT KẾ RSED 28
KẾT QUẢ CÀI ĐẶT VÀ THỬ NGHIỆM 48
KẾT LUẬN 61
TÀI LIỆU THAM KHẢO 63
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 7
DANH MỤC CÁC BẢNG
Bảng 1: Đặt tả usecase Topology Generation 30
Bảng 2: Đặc tả usecase Topolgy Import 30
Bảng 3: Danh sách các module trong RSED Framework 31
Bảng 4: Bảng các yêu cầu của module BotMaster 31
Bảng 5: Bảng các yêu cầu của module CncServer 32
Bảng 6: Bảng các yêu cầu của module Zombie 32
Bảng 7: Bảng các yêu cầu của module Webserver 32
Bảng 8: Bảng các yêu cầu của module NetUser 33
Bảng 9: Bảng các yêu cầu của module BloomFilter 33
Bảng 10: Bảng các yêu cầu của module TraceRouter 33
Bảng 11: Bảng các yêu cầu phi chức năng của RSED 33
Bảng 12: Danh sách các thành phần con của module BotMaster 43

Bảng 13: Danh sách các thành phần con của module CncServer 44
Bảng 14: Danh sách các thành phần con của module Zombie 44
Bảng 15: Danh sách các thành phần con của module WebServer 45
Bảng 16: Danh sách các thành phần con của module NetUser 45
Bảng 17: Danh sách các thành phần con của module BloomFilter 47
Bảng 18: Danh sách các thành phần con của module TraceRouter 47
Bảng 19: Các tham số của mạng thử nghiệm có 11122 nút mạng 53
Bảng 20: Các tham số của mạng thử nghiệm có 84 và 9204 nút mạng 53
Bảng 21: Định dạng traffic description file 56
Bảng 22: í nghĩa các trường trong traffice description file 57
Bảng 23: Kết quả thử nghiệm BloomFilter theo số lượng gói SYN tấn công 58
Bảng 24: Kết quả thử nghiệm BloomFilter theo số lượng Zombie 59
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 8
DANH MỤC CÁC HèNH
Hình 1: Các thành phần của bộ giả lập mạng 15
Hình 2: RSED trong kiến trúc tổng thể của OMNET++ 17
Hình 3: Phân loại tấn công từ chối dịch vụ theo kiểu tấn công 18
Hình 4: Phân loại tấn công từ chối dịch vụ theo mục đích tấn công 19
Hình 5: Mô tả quá trình tấn công TCP/SYN flood 20
Hình 6: Các thành phần cơ bản trong OMNET++ 23
Hình 7: Minh họa quá trình mô phỏng bằng OMNET++ 24
Hình 8: Thành phần của INET framework 24
Hình 9: Nhắc lại Hình 2: RSED trong kiến trúc tổng thể của OMNET++ 28
Hình 10: Usecase RSED wizards 29
Hình 11: Kiến trúc của RSED Wizards theo mô hình phân tầng 34
Hình 12: Mô hình các thành phần của RSED Wizards và cơ chế giao tiếp 35
Hình 13: Quy trình sinh cấu hình mạng bằng phương pháp đồ thị ngẫu nhiên 36
Hình 14: Quy trình sinh cấu hình mạng bằng phương pháp PFP 37
Hình 15: Giao diện chọn module cho từng loại nút mạng 38
Hình 16: Tổng quan cấu trúc các module trong RSED Framework 39

Hình 17: Bô sinh giao thông mạng 40
Hình 18: Cơ chế hoạt động của quá trình sinh giao thông mạng 40
Hình 19: Quy trình tấn công của mạng botnet 41
Hình 20: Sơ đồ các thành phần con của module BotMaster 42
Hình 21: Sơ đũ các thành phần con của module CncServer 43
Hình 22: Sơ đồ các thành phần con của module Zombie 44
Hình 23: Sơ đồ các thành phần con của module WebServer 45
Hình 24: Sơ đồ các thành phần con của module NetUser 46
Hình 25: Sơ đồ các thành phần con của module BloomFilter 46
Hình 26: Sơ đồ các thành phần con của module TraceRouter 47
Hình 27: Giao diện lựa chọn phương pháp sinh cấu hình mạng 48
Hình 28: Chức năng Topology Import 49
Hình 29: Chức năng Topology Generation 50
Hình 30: Cơ chế interactive growth của phương pháp PFP 52
Hình 31: Định dạng file txt 54
Hình 32: Mở rộng của chức năng topology import 54
Hình 33: Mô tả giải thuật self-similar traffic 56
Hình 34: Mạng giả lập minh họa 58
Hình 35: Minh họa giao diện của tài liệu đặc tả module 60
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 9
DANH MỤC CÁC TỪ VIẾT TẮT
STT Từ viết tắt Giải nghĩa
1 BotMaster Máy tính do kẻ tấn công điều khiển. Lệnh tấn
công được bắt đầu gửi đi từ đây.
2 CncServer Các server bị kẻ tấn công chiếm quyền điều
khiển. Các server đóng vai trò trung gian truyền
lệnh đến các máy tính tham gia trực tiếp vào tấn
công
3 DDoS Distributed denial of Service Attack
4 DoS Denial of Service Attack

5 DRDoS Distributed refflected denial of Service Attack
6 NetUser Người dùng mạng thông thường
7 OMNET++ Objective Modular Network Testbed in C++
8 SFD SYN Flood Detection
9 SFD-BF SYN Flood Detection – Bloom Filter
10 Trace-Router Router được cài đặt phương pháp dò vết IP.
11 Webserver Một webserver thông thường và có khả năng bị
tấn công từ chối dịch vụ
12 Zombie
Các máy tính bị kẻ tấn công chiếm quyền điều
khiển. Tham gia trực tiếp gửi các gói tin tấn công
đến mục tiêu
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 10
DANH MỤC CÁC THUẬT NGỮ
STT Thuật ngữ Giải nghĩa
1 BloomFilter Cấu trúc dữ liệu và giải thuật có tên là bloom
filter mô tả về một tập hợp. Đây là cấu trúc dữ
liệu có khả năng lưu trữ và truy xuất các thành
phàn với thời gian nhỏ (hằng số)
2 Burstiness Tính chất của giao thông mạng. Trong đó các
gói tin được truyền đi không đồng đều theo
thời gian. Một lượng lớn gói tin được truyền
đi trong một thời điểm ngắn
3 Gate Khái niệm trong OMNET++. Có tên khác là
port trong các bộ giả lập mạng. Gate đặc trưng
cho cổng giao tiếp của các module trong quá
trình giả lập
4 Item Đặc trưng cho một gói tin được truyền đi trên
mạng. Trong đó một item bao gồm 4 thành
phần SourceIp, DestinationIp, SourcePort,

DestinationPort
5 Link Khái niệm trong OMNET++. Thành phần đặc
trưng cho tính chất của một kết nối trên đường
truyền
6 Topology generation Phương pháp sinh cấu hình mạng bằng sử
dung các giải thuật sinh ngẫu nhiên
7 Topology import Phương pháp sinh cấu hình mạng bằng cách
sử dụng lại các cấu hình mạng có sẵn được
ghi trong file
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 11
MỞ ĐẦU
Cuối thế kỉ XX, đầu thế kỉ XXI, mạng Internet đã có những bước phát triển mạnh
mẽ. Internet được sử dụng trong hầu hết các lĩnh vực khác nhau như văn hóa, xã
hội, thể thao, giáo dục, thương mại, kinh tế và dần trở thành một phần không thể
thiếu trong các hoạt động của đời sống. Sự phát triển và mở rộng không ngừng của
mạng Internet này đòi hỏi sự nâng cao, phát triển về mặt cơ sở hạ tầng, kĩ thuật
nhằm đáp ứng kịp với nhu cầu của thực tế và đặt ra yêu cầu về nghiên cứu để có
được những tri thức mang tính phổ quát, những đề xuất, cải tiến mang tính thực tế.
Quá trình nghiên cứu và phát triển các vấn đề liên quan đến mạng internet hầu
hết được thực hiện trong các phòng thí nghiệm. Ở đó, người nghiên cứu sử dụng các
môi trường mạng giả lập để tiến hành các thực nghiệm của mình. Môi trường giả
lập giống với thực tế sẽ là tiền đề để đánh giá các kết quả nghiên cứu một cách
chính xác, là cơ sở để khẳng định những kết quả này là có khả năng ứng dụng và
phát triển trong môi trường thực. Vì vậy, yêu cầu xây dựng một bộ giả lập mạng
càng giống với thực tế càng tốt để phục vụ cho việc nghiên cứu đã trở thành một
vấn đề vô cùng bức thiết.
Với vai trò là một lĩnh vực hẹp trong nghiên cứu mạng internet, cỏc nghiờn về
tấn công từ chối dịch vụ phân tán (DDoS) cũng đòi hỏi một môi trường giả lập đặc
thù. Hiện tại không có nhiều môi trường giả lập được xây dựng và phát triển phục
vụ riêng cho lớp bài toán nghiên cứu về DDoS. Các môi trường giả lập hiện có

được xây dựng trên một vài giả thiết cơ sở nên tính chất phổ quát, thực tiễn chưa
được đáp ứng cao.
Do đó, trong đồ án tốt nghiệp, người thực hiện đề xuất và xây dựng một bộ giả
lập mạng phục vụ riêng biệt cho nghiên cứu DDoS đáp ứng được tính chất gần với
thực tế. Bộ giả lập cũng được thiết kế và xây dựng để có khả năng mở rộng, phát
triển nhằm đáp ứng được nhiều lớp bài toán hẹp khác nhau trong lĩnh vực nghiên
cứu về DDoS. Đồ án được thực hiện dưới sự hướng dẫn của TS. Nguyễn Khanh
Văn và giúp đỡ của ThS Nguyễn Phi Lê tại bộ môn công nghệ phần mềm – viện
công nghệ thông tin và truyền thông - trường đại học Bách Khoa Hà Nội.
Nội dung đồ án được chia làm hai phần chính. Phần I phát biểu chi tiết bài toán
thực hiện trong quá trình làm đồ án. Từ đó, người viết trình bày các phương pháp
tiếp cận, phương hướng giải quyết vấn đề gặp phải, và tóm tắt những lý thuyết cơ
sở, công cụ sử dụng để giải quyết vấn đề đặt ra. Nửa đầu phần II đi sâu vào làm rõ
quá trình thực hiện đề tài thông qua các bước phân tích yêu cầu và thiết kế bộ giả
lập RSED. Thông qua đó, người viết đề cập đến các kết quả thực nghiệm đã đạt
được, nêu lên những đánh giá, nhận xét về bộ giả lập, và đặt ra hướng phát triển cho
tương lai ở nửa còn lại.
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 12
PHẦN I: TỔNG QUAN VỀ ĐỀ TÀI
ĐẶT VẤN ĐỀ VÀ PHƯƠNG PHÁP THỰC HIỆN
Nội dung của chương này sẽ trình bày các vấn đề sau:
o Đặt vấn đề về yêu cầu cần có một bộ giả lập mạng phục vụ nghiên cứu
DDoS có tính chất gần với thực tế
o Phương pháp tiếp cận và hướng thực hiện đề tài của người viết
1.1. Đặt vấn đề
Cuối thế kỉ XX-đầu thế kỉ XXI, mạng Internet đã có những bước phát triển mạnh
mẽ. Internet được sử dụng trong hầu hết các lĩnh vực khác nhau như văn hóa, xã
hội, thể thao, giáo dục, thương mại, kinh tế và dần trở thành một phần không thể
thiếu trong các hoạt động của đời sống. Internet phát triển mạnh mẽ đến mức số
người sử dụng các ứng dụng của mạng này tăng với tốc độ rất nhanh.Theo thống kê

của Tổng Công ty Bưu Chớnh Viễn Thông Việt Nam (VNPT), trong 3 năm từ
1997-2000, tốc độ tăng số thuê bao Internet tại Việt Nam đạt bình quân 260%/năm.
Trung bình mỗi tháng Việt Nam cú thờm khoảng 1500 thuê bao internet mới [27].
Tổng số người sử dụng Internet tính từ khi hòa mạng toàn cầu (1-12-1997) đến cuối
tháng 11-2010 là 27,3 triệu người chiếm khoảng 31,7% dân số cả nước. Tổng số
thuê bao tại thời điểm này cũng lên tới 3,7 triệu người [22].
Sự phát triển và mở rộng không ngừng của mạng internet đòi hỏi sự nâng cao,
phát triển về mặt cơ sở hạ tầng, kĩ thuật nhằm đáp ứng kịp với nhu cầu của thực tế.
Bên cạnh đó, yêu cầu nghiên cứu để có được những tri thức mang tính phổ quát,
những đề xuất, cải tiến mang tớnh thực tế trong các lĩnh vực khác nhau của mạng
Internet cũng trở nên vô cùng cần thiết.
Quá trình nghiên cứu và phát triển các vấn đề liên quan đến mạng Internet hầu
hết được thực hiện trong các phòng thí nghiệm. Ở đó, người nghiên cứu sử dụng các
môi trường mạng giả lập để tiến hành các thực nghiệm của mình chứ không thử
nghiệm trực tiếp trên các thiết bị thật. Bởi lẽ, trong thực tế, hầu hết những người
nghiên cứu không có đủ cơ sở, tiềm lực để sở hữu hay tiếp cận đối với các thiết bị
mạng đắt tiền. Đặc biệt với những nghiên cứu về mạng Internet cỡ lớn (có thể lên
tới hàng trăm các thiết bị mạng khác nhau), nghiên cứu trực tiếp là không thể thực
hiện được. Hơn nữa, quá trình nghiên cứu về mạng Internet nhiều khi chỉ tập trung
ở mức logic mà chưa cần quan tâm đến mức vật lý hoạt động ra sao. Do đó, sử dụng
môi trường giả lập mạng trở thành một phương pháp tiếp cận được nhiều người sử
dụng.
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 13
Trong quá trình thực nghiệm, kết quả thu được từ các môi trường giả lập sẽ được
thu thập, thống kê để tiếp tục trở thành đầu vào cho việc đánh giá kết quả nghiên
cứu, đánh giá những đề xuất, giải pháp mà người nghiên cứu thực hiện. Môi trường
giả lập giống với thực tế sẽ là tiền đề để đánh giá các kết quả nghiên cứu một cách
chính xác, là cơ sở để khẳng định những kết quả này là có khả năng ứng dụng và
phát triển trong môi trường thực. Lấy ví dụ với thực nghiệm được tiến hành trên
một môi trường giả lập có cấu hình mạng (network topology) quá nhỏ và không

mang đủ các đặc trưng của cấu hình mạng ngoài đời thường, thỡ cỏc kết quả nghiên
cứu hay những cải tiến thu được có thể không mang lại kết quả mong đợi khi triển
khai. Vì vậy, yêu cầu xây dựng một bộ giả lập mạng càng giống với thực tế càng tốt
để phục vụ cho việc nghiên cứu đã trở thành một vấn đề vô cùng bức thiết.
Với vai trò là một lĩnh vực hẹp trong nghiên cứu mạng internet, cỏc nghiờn về
tấn công từ chối dịch vụ phân tán (DDoS) cũng đòi hỏi một môi trường giả lập đặc
thù. Một môi trường mô phỏng như vậy phải giả lập các thành phần riêng biệt của
DDoS như các thành phần tham gia tấn công, các thiết bị định tuyến, các bộ phòng
chống, giảm thiểu tác hại, các thành phần chịu tấn công, vv. Ngoài ra, bộ giả lập
cũng phải có khả năng giả lập được cấu hình mạng đủ lớn, mang tính chất, đặc tính
của cấu hình mạng trong thực tế, và giả lập giao thông mạng (network traffic) giống
thực bao gồm cả giao thông mạng bình thường lẫn giao thông mạng của một cuộc
tấn công.
Trong phạm vi tìm hiểu của người viết, hiện tại chỉ có một vài bộ giả lập mạng
phục vụ cho việc nghiên cứu DDoS như DDoSSim [4], và ReaSE [3][14]. Tuy
nhiên các bộ giả lập mạng này đều chưa đáp ứng được hết các yêu cầu nêu trên.
DDoSSim cung cấp một mô hình giả lập dựa trên tác tử (agent-based simulation)
[4] cho phép người dùng có thể thêm mới, thay đổi cơ chế tấn công cũng như cơ chế
phòng chống phục vụ cho các thử nghiệm khác nhau. Tuy nhiên bộ giả lập này chỉ
hướng tới giao thông mạng, đặc biệt là giao thông mạng của một cuộc tấn công mà
chưa chú ý đến khía cạnh cấu hình mạng. Được phát triển từ năm 2008, ReaSE [3]
là một bộ giả lập xây dựng trên nền OMNET++ [1]. Bộ giả lập này có khả năng hỗ
trợ cả sinh cấu hình mạng và giao thông mạng giống với thực tế. Tuy nhiên, các
tính năng này ReaSE được xây dựng tách biệt trong hai gói cài đặt khác nhau và
được sử dụng độc lập. Điều này khiến cho quá trình xây dựng các thực nghiệm trở
nên kém nhanh chóng và tự động hơn. Mặt khác, ReaSE cũng chưa cung cấp được
mô phỏng hầu hết các thành phần của cuộc tấn công DDoS. Bộ giả lập này mới chỉ
dừng lại ở mô hình tấn công trực tiếp (từ cỏc mỏy tấn công tới server bị tấn công)
mà chưa có khả năng mô phỏng các cuộc tấn công phân tán có nhiều cấp độ của kẻ
tấn công [3]. Do đó, theo người viết, ReaSE chỉ mới áp dụng cho việc nghiên cứu

DoS ở phạm vi mạng nhỏ, chưa thể áp dụng trong nghiên cứu các vấn đề khác nhau
của tấn công DDoS như phòng chống tấn công phân tán, dò vết IP (IP traceback),
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 14
vv.
Trong đồ án của mình, người thực hiện đề xuất ra một mô hình giả lập dựa trên
nền OMNET++ [1], INET framework [2] và có tham khảo nhất định từ ReaSE
framework [3]. Mô hình giả lập này được đặt tên là RSED (Realistic network
Simulation Environment for DDoS attacks). Đây là mụt bộ giả lập đặc thù cho việc
nghiên cứu các cuộc tấn công và phòng chống, giảm thiểu DDoS, đáp ứng được các
yêu cầu về cấu hình mạng và giao thông mạng giống thật. Mô hình cho phép mở
rộng, thêm mới các thành phần mạng, giải thuật sinh cấu hình mạng, giao thông
mạng phù hợp với xu thế phát triển, nghiên cứu trong các lĩnh vực hẹp này. Trong
đồ án, người thực hiện cũng tiến cài đặt thực nghiệm phương pháp phòng chống và
giảm thiểu tác hại sử dụng BloomFilter[19] như là một mình chứng cho khả năng
của môi trường giả lập.
1.2. Phương pháp tiếp cận và hướng thực hiện đề tài
Với nhiệm vụ phải xây dựng một môi trường giả lập mạng gần với thực tế phục
vụ cho việc nghiên cứu tấn công từ chối dịch vụ DDoS, đồ án đã được sử dụng
phương pháp tiếp cận từ trên xuống. Trong phương pháp này, trước tiên người thực
hiện phải phân tích đánh giá tổng thể vấn đề để nắm được một cách tổng quan về
cỏc khớa cạnh khác nhau của đề tài. Sau đó, người thực hiện sẽ phải lựa chọn, giới
hạn bài toán thành các bài toán nhỏ hơn và tập trung vào phần đã được lựa chọn.
Hình 1: Các thành phần của bộ giả lập mạng
Xét ở mức độ tổng thể, một môi trường giả lập mạng bao gồm ba quá trình cơ
bản là network generation, network simulation và data collection (Hình 1). Network
generation là quá trình tạo ra mạng lưới các thiết bị, sinh ra cấu hình mạng. Quá
trình này giải quyết một số các câu hỏi như “trong quá trình giả lập, có bao nhiờu
nỳt mạng?”, “một nút mạng có thể là thiết bị nào?”, “cỏc nỳt mạng được kết nối với
nhau như thế nào?”, vv. Tiếp đó, mạng lưới các thiết bị này sẽ được giả lập trao đổi
thông tin, trao đổi cỏc gúi tin với nhau trong network simulation. Quá trình này

quan tâm đến sinh giao thông mạng bao gồm các vấn đề nhỏ như “cỏc nút mạng
trao đổi thông tin với nhau theo giao thức nào?”, “khi nào thì hai hay nhiều nút
mạng tiến hành trao đổi thông tin?”, “một nút mạng khi nhận được gói tin sẽ phản
ứng ra sao?”, vv. Tất cả các sự kiện xảy ra trong quá trình giả lập đó sẽ được ghi lại
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 15
và làm đầu vào của data collection. Bước này sẽ phân tích và đánh giá kết quả giả
lập dựa trên thông tin về các sự kiện xảy ra được lưu lại trước đó.
Từ mô hình nêu trên, một môi trường giả lập phục vụ nghiên cứu tấn công từ
chối dịch vụ DDoS giống với thực tế ít nhất phải đảm bảo được ba yếu tố là:
- Giả lập được các thành phần trong mạng có sự tấn công DDoS (trong network
generation)
- Bộ sinh cấu hình mạng đảm bảo được các đặc trưng của cấu hình mạng thông
thường (trong network generation)
- Bộ sinh giao thông mạng giống với giao thông mạng trong thực tế (trong network
simulation)
Để đáp ứng yêu cầu trên, trong quá trình xây dựng RSED, người thực hiện phải
tìm hiểu tổng quan về các hình thức tấn công cũng như phương pháp giảm thiểu tác
hại của tấn công từ chối dịch vụ DDoS. Trong đó, với phạm vi của đồ án tốt nghiệp,
người thực hiện lựa chọn tập trung làm rõ về loại hình tấn công TCP/SYN flood
attack và phương pháp phòng chống giảm thiểu tác hại sử dụng bloom filter. Đây sẽ
là những lý thuyết cơ sở để xây dựng cấu trúc, đặc tính, hành vi của các thành phần
trong một mạng có sự tấn công DDoS. Bên cạnh đó, người làm đồ án cũng phải
nắm vững cấu trúc, thành phần, cách sử dụng của bộ giả lập OMNET++ và INET
framework (những nền tảng cơ sở được lựa chọn để phát triển môi trường giả lập
RSED) song song với việc phân tích các phương pháp sinh cấu hình mạng, các giải
thuật sinh giao thông mạng gần với thực tế đã được phát triển trước đó. Ví dụ như
các phương pháp sinh cấu hình mạng điển hình BRITE [14], INET [12], ReaSE [13]
hay một số các giải thuật sinh giao thông mạng giống thực “self-similar traffic
modeling” [5][7], D-ITG[6], và OMNeT++ Traffic Generator[8]. Qua đó, người
thực hiện đánh giá các phương pháp, giải thuõt và lựa chọn xây dựng môi trường

giả lập của mình dựa trên các giải thuật “self-similar traffic modeling” [7] và
“Positive Feeback Preference Model” [13].
Dựa trên những kiến thức tìm hiểu được, trong đồ án của mình, người viết đã
thực hiện xõy dựng RSED bao gồm hai thành phần hỗ trợ lẫn nhau là RSED
Wizards và RSED Framework (Hình 2). RSED Wizards cung cấp một giao diện đồ
họa, cho phép người sử dụng có thể lựa chọn một số tham số đầu vào như tổng số
nút trong mạng, các loại nút trong mạng, bộ sinh giả lập mạng, vv. Từ đó sinh ra
cấu hình mạng giống thực tế một cách nhanh chóng dựa trên phương pháp “Positive
Feeback Preference Model” [13]. Ngoài ra, nhờ cài đặt trờn OMNET++,cỏc cấu
hình mạng được sinh ra cũng đáp ứng được khả năng giả lập cấu hình mạng lên tới
hàng trăm, thậm chí hàng nghìn nút. RSED Framework là một thư viện bao gồm các
mô hình, các module liên quan đến giả lập các thành phần của cuộc tấn công từ chối
dịch vụ DDoS cũng như các thành phần tham gia vào quá trình phòng chống và
giảm thiểu loại hình tấn công này. Bên cạnh đó, framework này cũng cung cấp các
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 16
thành phần giả lập giao thông mạng bao gồm giao thông mạng thông thường và
giao thông mạng có sự tấn công.
Hình 2: RSED trong kiến trúc tổng thể của OMNET++.
RSED Wizards: thành phần sinh cấu hình mạng. RSED framework: các module
liên quan đến nghiên cứu DDoS và sinh giao thông mạng
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 17
CƠ SỞ LÝ THUYẾT VÀ CÔNG CỤ SỬ DỤNG
Nội dung của chương này sẽ trình bày các vấn đề sau:
o Các lý thuyết cơ bản về phương pháp tấn công và phương pháp phòng
chống, giảm thiểu tác hại tấn công từ chối dịch vụ
o Giới thiệu về bộ giả lập OMNET++ và INET Framework
o Trình bày các vấn đề cơ bản của xây dựng một môi trường giả lập
mạng giống với môi trường thực tế
1.3. Cơ sở lý thuyết
1.3.1. Tổng quan về tấn công từ chối dịch vụ

Tấn công từ chối dịch vụ còn được biết đến với cái tên là DoS (Denial of Service
Attack). Đây là một loại tấn công tiêu tốn tài nguyên của mạng (network) host
(server) khiến cho mạng này từ chối dịch vụ đối với người dùng hợp pháp. Tài
nguyên ở đây có thể hiểu là băng thông của mạng, bộ nhớ, thời gian xử lý trên CPU.
Bản chất của loại tấn công này nằm ở việc kẻ tấn công sẽ tìm cách chiếm dụng một
lượng lớn tài nguyên trên server làm cho server có thể nhanh chóng bị ngừng hoạt
động, đổ vỡ hoặc khởi động lại. Từ đó, server không thể nào đáp ứng các yêu cầu
khác của những người dùng hợp lệ.
Hình 3: Phân loại tấn công từ chối dịch vụ theo kiểu tấn công
Trên thực tế tồn tại nhiều cách thức tấn công từ chối dịch vụ khác nhau với nhiều
mức độ ảnh hưởng khác nhau. Trong quá trình tìm hiểu, người thực hiện đã tiếp cận
vấn đề dựa trên hai cách phân loại khác nhau: phân loại theo kiểu tấn công và phân
loại theo mục đích tấn công. Hình 3 ở trên thể hiện cách phân loại theo kiểu tấn
công. Ở đó, ngoài DoS, DDoS (Distributed denial of serivce attack) và DRDoS
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 18
(Distributed Reflected Denial of Service Attack) là hai kiểu tấn công cần được tìm
hiểu
DDoS là kiểu tấn công từ chối dịch vụ phân tán. Ở đó, kẻ tấn công điều khiển
hơn một hệ thống tấn công vào server cùng một lúc. Qua đó, hiệu quả của cuộc tấn
công được nâng cao lên rất nhiều.
DRDoS là kiểu tấn công phân tán sử dụng phương pháp ánh xạ. Trong kiểu tấn
công này, những máy tính bị chiếm quyền điều khiển không trực tiếp gửi yêu cầu,
gửi cỏc gúi tớn đến server một cách trực tiếp. Các máy tính đó sẽ lợi dụng cơ chế
request- response của một số giao thức trên mạng để thực hiện cuộc tấn công. Ở đó,
các máy tính bị chiếm quyền điều khiển sẽ gửi cỏc gúi tin đến các reflectors (dns
servers, một server bất kỡ khỏc) với địa chỉ IP nguồn trong cỏc gúi tin là địa chỉ IP
của đối tượng bị tấn công. Các reflectors sẽ xử lý, trả lời cỏc gúi tin đó và gửi cho
đối tượng bị tấn công. Như vậy reflectors vô tình đã đóng vai trò tấn công.
Phân loại theo mục đích tấn công bao gồm flood attack và software attack được
thể hiện trong Hình 4.

Hình 4: Phân loại tấn công từ chối dịch vụ theo mục đích tấn công
Flood attack là loại tấn công theo kiểu thác lũ. Trong đó, kẻ tấn công dựa trên các
giao thức mạng để gửi một lượng lớn cỏc gúi tin không hợp lệ đến đối tượng bị tấn
công. Số lượng gói tin này nhiều đến mức khiến cho đối tượng tấn công không còn
tài nguyên dư thừa để cung cấp dịch vụ cho người dùng hợp lệ.
Software attack lại tấn công và chính hệ thống của đối tượng bị tấn công. Qua đó,
kẻ tấn công tìm cách gửi cỏc gúi tin không tuân theo giao thức mạng khiến cho hệ
thống bị đổ vỡ, tê liệt do gặp phải lỗi khi xử lý cỏc gúi tin này. Khi đó, đối tượng
tấn công không thể phục vụ bất cứ một người dùng nào cho đến khi được khởi động
lại.
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 19
1.3.2. TCP/SYN flood attack
TCP/SYN flood attack là loại tấn công từ chối dịch vụ nhằm vào các host sử
dụng giao thức TCP. Kẻ tấn công lợi dụng cơ chế bắt tay bước khi bắt đầu thiết lập
kết nối trong giao thức TCP để thực hiện tấn công. Hình 5a miêu tả quá trình bắt tay
ba bước bao gồm:
- Client A gửi một SYN tới server B yêu cầu kết nối (với sequence number là một
giá trị ngẫu nhiên x).
- Server trả lời lại client bằng cách gửi một SYN-ACK với acknowledgment là
x+1 và sequence number là một số ngẫu nhiên y khác
- Cuối cùng, client send ACK lại cho server với sequence number là x+1 và
acknowledgement là y+1. Bắt đầu truyền dữ liệu.
Hình 5: Mô tả quá trình tấn công TCP/SYN flood
Cụ thể hơn, chúng ta có thể tóm tắt cơ chế hoạt động của TCP thông qua một vài
dòng sau:
- TCP quản lý hoạt động thông qua một tập các trạng thái kết nôi. Tại một trạng
thái nhất định, dựa trên thông điệp nhận được từ mạng hoặc dựa trên yêu cầu
nhận được từ người sử dụng, TCP sẽ quyết định việc chuyển trạng thái đưa ra các
hành động tương ứng.
- Các trạng thái và thông tin của một kết nối được lưu trữ trong TCBs, là một tập

các cấu trúc dữ liệu TCB (tranmission control block). Mọi kết nối đều được lưu
giữ thông tin trong một TCB.
- Các hoạt động của TCP sẽ được xác định nhờ các cờ trạng thái nằm trong TCB.
Một vài điểm cần chú ý trong cơ chế quản lý này đó là:
- Mỗi khi nhận được một SYN hay gửi 1 SYN thì TCP sẽ tạo ra một TCB tương
ứng cho kết nối đó.
- TCB chỉ được xóa đi khi kết nối được đóng lại
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 20
- Trong thực tế, để tránh hiện tượng thắt cổ chai trong việc gửi nhận cỏc gúi tin,
TCP sẽ có cơ chế điều phối hoạt động thông qua việc hạn chế tài nguyên cung
cấp cho bộ đệm cỏc gúi tin gửi nhận. Nghĩa là TCP sẽ hạn chế kích thước của bộ
đệm chứa cỏc gúi tin gửi nhận thông qua backlog (việc tồn đọng). Khi backlog
đầy, TCP sẽ không thao tác với cỏc gúi tin gửi đến và gửi đi nữa cho đến khi bộ
đệm được giải phóng (tự reset hay một thao tác được thực hiện).
Dựa vào cơ chế bắt tay ba bước và quá trình xử lý nêu trên, kẻ xấu (attacker) có
thể tiến hành tấn công theo cơ chế mô tả trong Hình 5b:
- Attacker gửi thật nhiều cỏc gúi tin SYN yêu cầu kết nối đến server.
- Với mối một gói tin SYN, server sẽ tạo ra một TCB để chứa thông tin về kết nối
và gửi lại một SYN/ACK để thực hiện quá trình bắt tay ba bước, chờ đợi ACK từ
phía yêu cầu kết nối để hoàn thành quá trình thiết lập kết nối
- Attacker do muốn ở server bị đầy backlog, không thể sản sinh ra tiếp các TCB,
nên sẽ không gửi lại ACK mà sẽ tiếp tục gửi cỏc gúi tin SYN. Một cách khác là
attacker khi gửi các goi stin SYN sẽ giả mạo địa chỉ IP để cỏc gúi tin SYN/ACK
mà server gửi đi sẽ đến một địa chỉ các không phải là attacker. Nghiễm nhiên,
cỏc gúi tin SYN/ACK này sẽ không được trả lời.
- Khi server bị tấn công và backlog đầy, các yêu cầu kết nối hợp lệ sẽ bị từ chối,
không được đáp ứng.
1.3.3. Phương pháp giảm thiểu tác hại sử dụng BloomFilter
Bloom filter[30] là một cấu trúc dữ liệu sử dụng để biễu diễn một tập hợp với chi
phí về không gian nhớ là hằng số. Bloom filter cũng cho phép xác định một phần tử

có thuộc về tập hợp đó hay không với thời gian tính toán không phụ thuộc vào số
lượng phần tử trong tập hợp. Counter bloom filter là cấu trúc dữ liệu mở rộng từ
bloom filter. Trong đó, counter bloom filter không chỉ cho phép xác định một phần
tử có nằm trong tập hợp đang xét hay không mà còn cho phép xác định số lượng
phần tử cú cựng giá trị với phần tử đang xét trong tập hợp. Cấu trúc dữ liệu bloom
filter được ứng dụng trong nhiều lĩnh vực, đặc biệt trong các lĩnh vực nghiên cứu về
mạng internet. Một trong số những ứng dụng đú chớnh là phương pháp phòng
chống và giảm thiểu tác hại của tấn công TCP/SYN flood.
Phương pháp này là một cải tiến từ phương pháp SFD (SYN Flooding Detection)
[24] nhờ sử dụng cấu trúc dữ liệu bloom filter. Trong báo cáo này, tạm gọi phương
pháp là SFD-BF. SFD-BF được công bố [17] và thực nghiệm [18] vào năm 2007
bởi nhóm tác giả Changhua Sun, Jindou Fan, Bin Liu. Ý tưởng chính của SFD-BF
đó là dựa vào cơ chế nếu một gói tin SYN không được phản hồi sau một khoảng
thời gian định trước, người dùng hợp lệ sẽ gửi lại gói SYN đú cũn kẻ tấn công thỡ
không. Do đó, các tác giả của SFD-BF đề xuất ra một mô hình sử dụng ba cấu trúc
dữ liệu counter bloom filter để lưu trữ thông tin.
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 21
- BF1: ghi lại thông tin (IP nguồn, IP đích, port nguồn, port đích) của cỏc gúi
SYN lần đầu kết nối tới server. Bộ 4 thông tin này gọi là một item
- BF2: ghi lại thông tin của cỏc gúi SYN từ địa chỉ đã được thiết lập kết nối, hoàn
thành quá trình bắt tay ba bước
- BF3: ghi lại thông tin của cỏc gúi SYN khác.
Cơ chế giảm thiểu tác hại của cuộc tấn công được thực hiện khi phát hiện có tấn
công. Khi nhận được một gói SYN, các thông tin của gói SYN này sẽ được trích
xuất và được tìm kiếm trong cả ba bộ bloom filter xem có thuộc về tập hợp nào hay
không:
- Nếu như item này chưa có trong bất kì BF nào thì có nghĩa rằng đây là kết nối
mới. Gói SYN sẽ bị xóa bỏ và thêm vào BF-1.
- Nếu như item này đó cú trong BF-1, thì đây là gói SYN thứ hai. Gói SYN sẽ
được chuyển qua bộ giảm thiểu. Item tương ứng với gói SYN sẽ được chuyển từ

BF-1 sang BF-3.
- Nếu như item trong BF-2 nghĩa là các kết nối đã được thiết lập. Gói SYN được
truyền qua
- Nếu như item có trong BF-3, thỡ gúi SYN có khả năng được truyền qua với xác
suất p = 1/n. Trong đó n là số lần item này được thêm vào BF-3. Điều này đảm
bảo xác suất vượt qua càng nhỏ nếu như số lần gói SYN được gửi tới càng lớn.
1.3.4. OMNET++ và INET framework
OMNET++ (Objective Modular Network Testbed in C++) là một bộ mô phỏng
các sự kiện rời rạc được ứng dụng rộng rãi trong giả lập mạng lưới truyền thông,
mạng internet[1]. OMNET++ cung cấp một kiến trúc các module cho các mô hình
giả lập khác nhau. Các module được lập trình bằng C++, sau đó được kết hợp lắp
ráp với nhau thành các module lớn hơn bằng cách sử dụng ngôn ngữ bậc cao NED
(Network description language). Các module được lập trình bằng C++ gọi là simple
module bao gồm một hoặc nhiều các lớp diễn tả các chức năng của thành phần đú.
Cỏc module được kết hợp từ hai hay nhiều simple module được gọi là compound
module. Chức năng của các compound module này là sự kết hợp các chức năng của
simple module bên trong nó. Do đó compound module không được cài đặt bằng bất
kì lớp C++ nào.
Trong OMNET++, mỗi module được mô tả bằng ngôn ngữ NED đặc trưng bởi
các tham số (module parameters) và các cổng (gates). Parameters đặc tả các tính
chất của module đó được sử dụng để xây dựng cấu hình mạng (ví dụ như số lượng
nút mạng). Parameters cũng được sử dụng để chứa các giá trị đầu vào cho mã nguồn
C++ cài đặt module. Giá trị của các paramters không chỉ được gán trong file .NED
miêu tả module mà còn có thể được xác định trong quá trình cấu hình hệ thống
(thông qua file omnetpp.ini).
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 22
Hình 6: Các thành phần cơ bản trong OMNET++
Khác với paramters, gates chỉ được khai báo trong file .NED. Gates hay port
(thuật ngữ sử dụng trong một số môi trường giả lập khác) có thể hiểu là những điểm
kết nối của các module. Thông qua gates, các module được kết nối với nhau. Số

lượng kết nối tối đa chính bằng số gates có trong module đó. Gates có nhiều loại
khác nhau như input, output, và inout tương ứng với kết nối dùng để truyền dữ liệu
vào, ra hay kết nối hai chiều. Nhờ có gates, sự giao tiếp giữa các module được trừu
tượng hóa. Bản thân một module sẽ không quan tâm đến mình giao tiếp với module
nào mà chỉ cần quan tâm mình truyền và nhận dữ liệu thông qua cổng nào. Tính
chất này nâng cao khả năng kết hợp và khả năng mở rộng của các module.
Một gate dù là input hay output chỉ có thể kết nối tới một gate khác. Kết nối này
gọi là link. Các links đặc trưng cho sự kết nối giữa các compound modules, giữa các
submodules(các module con trong một compound module) trong cấu trúc phân cấp,
và giữa gate của một submodule với gate của compound module chứa nó thông qua
các thông số khác nhau như tốc độ truyền tin, xác suất truyền bit lỗi, xác suất truyền
gói tin lỗi, thời gian truyền vv.
Quá trình giả lập mạng bằng OMNET++ cần ít nhất 2 file để có thể thực hiện
một mô phỏng: Omnetpp.ini là file chứa cấu hình của mạng được mô phỏng và
*.NED là các file chứa thông tin về cấu trúc các modules, định nghĩa các kết nối
giữa các modules. Các file này sau đó được kết hợp với các file C++ diễn tả chức
năng của các modules, được biên dịch và chuyển sang cho thành phần môi trường
giả lập (Cmdenv) nằm trong nhân của OMNET++. Trong khi Cmdenv tiến hành giả
lập theo kịch bản được lập trình sẵn, thành phần đồ họa Tkenv sẽ hiển thị quá trình
giả lập này cho người sử dụng một cách trức quan. Hình 7 mô tả quá trình mô
phỏng bằng OMNET++ từ các file tương ứng.
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 23
Hình 7: Minh họa quá trình mô phỏng bằng OMNET++
Bên cạnh phần nhân giả lập, và các thành phần cơ bản sử dụng trong giả lập
mạng, OMNET++ còn cung cấp nhiều framework. Đây là bộ các thư viện bao gồm
những module phục vụ cho việc giả lập, nghiên cứu mạng trong các lĩnh vực hẹp
khác nhau. Trong đó, INET là một framework phục vụ giả lập mạng Internet trong
thực tế và được sử dụng nhiều trong các nghiên cứu khoa học. INET hỗ trợ giả lập
các mô hình, cỏc giỏo thức cho cả mạng không dây lẫn mạng có dây như UDP,
TCP, SCTP, IP, Ipv6, Ethernet, PPP [2] và nhiều giao thức khác thông qua bốn

thành phần bao gồm: device models, application models, protocols models, và link
models (Hình 8).
Hình 8: Thành phần của INET framework.
Device models bao gồm các compound module nhằm mô phỏng các thiết bị
mạng trong thực tế như host, router, server Application models mô phỏng các
chức năng của tầng ứng dụng (theo mô hình TCP/IP) trong đó hỗ trợ hầu hết các
giao thức cơ bản của tầng này. Cũng như vậy, protocol models mô phỏng các chức
năng của tầng vận chuyển và tầng mạng như quá trình định tuyến IP. Còn link
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 24
models bao gồm các module đặc trưng cho các tính chất của tầng liên kết, hỗ trợ
giao thức Ethernet và PPP [23].
1.3.5. Phương pháp sinh cấu hình mạng
Theo Thomas Gamer và Michael Scharf trình bày trong [14], có hai phương pháp
tiếp cận vấn đề sinh cấu hình mạng giống với thực tế. Chúng ta có thể dựa trên
những quan sát thực tế ví dụ như quan sát dữ liệu của bảng định tuyến tại các router
biên BGP [12] hoặc sử dụng một bộ sinh ngẫu nhiên như trong BRITE [14], INET
[12], ReaSE [13] [14]. Phương pháp tiếp cận thứ nhất có thể sinh ra một cấu hình
mạng rất giống với thực tế bằng cách trích xuất ra một phần nhỏ của mạng thực
quan sát được tại một khoảng thời gian. Tuy nhiên trong phương pháp này yêu cầu
phải thu thập một lượng lớn các dữ liệu, tiến hành các phân tích phức tạp để thu
được một cấu hình mạng duy nhất phục vụ việc nghiên cứu (đôi khi chỉ là một bài
giả lập đơn giản).Điều này là rất tốn kém tài nguyên cũng như công sức. Bên cạnh
đó, do kết quả của quá trình thu thập dữ liệu thực tế chỉ là một cấu hình mạng rất
lớn (3027 nút mạng ở mức độ Autonomous system từ năm 1997 đến 2000[12]).Với
mỗi lần giả lập, lại trớch rỳt từ đó ra một cấu hình mạng con để phục vụ yêu cầu giả
lập. Do đó, quá trình sinh cấu hình mạng khó có thể được tiến hành tự động và linh
động cho từng trường hợp giả lập cụ thể. Phương pháp tiếp cận thứ hai đã ra đời và
khắc phục được vấn đề này. Trong phương pháp này, cấu hình mạng được sinh ra
một cách ngẫu nhiên có định hướng. Chi tiết hơn, cấu hình mạng được sinh ra dựa
trên một số các luật, các tính chất của mạng Internet thực tế được nhiều nhà nghiên

cứu bỏ công sức tìm hiểu[14]. Với cách thức như vậy, quá trình sinh cấu hình mạng
hoàn toàn có thể tự động hóa (người cần cấu hình mạng chỉ cần nhập các tham số
cho bộ sinh giả lập) và linh động đối với từng yêu cầu cấu hình khác nhau. Tuy
nhiên, tính chất giống thực của phương pháp này còn phụ thuộc rất lớn vào độ chính
xác của các quy luật, tính chất nêu trên.
Hiện nay, có nhiều mô hình áp dụng khác nhau dựa trên những quy luật nói trên.
Tuy nhiên trong đồ án của mình, người thực hiện chỉ tham khảo và áp dụng mô hình
PFP (Positive Feeback Preference Model) do các tác giả S. Zhoua, G. Zhang, G.
Zhang, và Z. Zhuge trình bày trong bài báo “Towards a Precise and Complete
Internet Topology Generator” [13]. Trong mô hình này, cấu hình mạng được xây
dựng bắt đầu từ một tập m
0
(m
0
là nhỏ) cỏc nỳt sinh ra dưới dạng đồ thị ngẫu nhiên,
cấu hình mạng sẽ được sinh ra dựa trên hai quy tắc: “Interactive growth” và
“positive-feedback preference”. Interactive growth là quy tắc dựa trên xác suất cho
phép lựa chọn cách thức thờm cỏc liên kết mới khi thêm một nút mới vào cấu hình
mạng có sẵn bao gồm cả liên kết trong (liễn kết giữa cỏc nỳt trong cấu hình mạng)
và liên kết ngoài (liên kết giữa một nút trong cấu hình mạng với nút mới được thêm
vào). Còn positive-feedback preference là cũng quy tắc dựa trên xác suất nhưng cho
Sinh viên thực hiện: Trương Thảo Nguyên – 20062306. Khóa K51 Lớp công nghệ phần mềm 25

×