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
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
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
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
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,
đượ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ê
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
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
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.
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ử
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ố
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