Thông tin tài liệu
1
BỘ GIÁO DỤC VÀ ĐÀO TẠO TẬP ĐOÀN BƯU CHÍNH VIỄN THÔNG VIỆT NAM
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
VŨ ĐỖ DIN
NGHIÊN CỨU XÂY DỰNG CÔNG CỤ ĐO
VÀ PHÂN NHÓM LƯU LƯỢNG MẠNG
CHUYÊN NGÀNH: TRUYỀN DỮ LIỆU VÀ MẠNG MÁY TÍNH
MÃ SỐ: 60.48.15
Người hướng dẫn khoa học: PGS. TS NGUYỄN VĂN TAM
TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT
Hà Nội - 2010
2
MỞ ĐẦU
Xu hướng hội tụ công nghệ trong lĩnh vực viễn thông đã làm cho mạng Internet
trở thành hạ tầng truyền thông chủ yếu nhất của tất cả các ứng dụng thông tin liên lạc,
từ các ứng dụng truyền thống như duyệt web, gửi thư điện tử, truyền file đến các
ứng dụng thời gian thực như VOIP, truyền hình trực tuyến, trò chơi trực tuyến và các
dịch vụ chia sẻ dữ liệu. Việc triển khai các ứng dụng thời gian thực này tạo ra thách
thức rất lớn đối với Internet trên hai khía cạnh: (1) Cung cấp chất lượng dịch vụ (QoS)
và (2) Giám sát mức chất lượng dịch vụ do mạng cung cấp.
Để có thể xây dựng được mô hình giám sát chất lượng dịch vụ mạng thì việc
xác định được độ biến thiên lưu lượng theo thời gian của mạng là vô cùng cần thiết.
Trên mạng thì độ biến thiên lưu lượng thường rất lớn và qua việc phân tích độ biến
thiên lưu lượng thì ta có thể rút ra được các kết luận quan trọng như:
Có xảy ra tắc nghẽn không?
Có hiện tượng tấn công từ chối dịch vụ hay không?
Trong luận văn này, tác giả thực hiện nghiên cứu đề xuất cách sử dụng hệ thống
thư viện .NET 3.5 để phát triển công cụ đo lưu lượng mạng, tác giả cũng nghiên cứu
việc áp dụng phương pháp phân nhóm đối tượng K-Means để thực hiện đánh giá kết
quả đo.
1. Mục đích và đối tượng phạm vi nghiên cứu
Mục tiêu nghiên cứu của luận án là bao gồm 3 phần chính: Tìm hiểu về các phương
pháp và công cụ đo hiện tại, xây dựng công cụ đo dựa trên nền tảng công nghệ .NET
3.5, phân nhóm lưu lượng bằng phương pháp K-Mean.
2. Phương pháp nghiên cứu
a) Nghiên cứu lý thuyết:
Tìm hiểu các phương pháp đo lưu lượng và các công cụ đo lưu lượng hiện tại
Tìm hiểu phương pháp K-Means để phân nhóm dữ liệu.
b) Nghiên cứu thực nghiệm:
Tìm hiểu các thư viện lập trình được hỗ trợ trong nền tảng .NET 3.5 để xây
dựng công cụ đo và phân nhóm kết quả đo lưu lượng mạng.
3
Chương 1
TỔNG QUAN VỀ CÁC PHƯƠNG PHÁP ĐO VÀ CÔNG
CỤ ĐO
Chương 1 giới thiệu tổng quan về các phương pháp đo và công cụ đo hiện đang
được áp dụng rộng rãi.
1. 1 ĐO CHẤT LƯỢNG MẠNG IP
Các dịch vụ mạng IP có các yêu cầu về đặc tính lưu lượng và chất lượng dịch
vụ (QoS) khác nhau. Các dịch vụ thời gian thực có những yêu cầu chặt chẽ về mất và
trễ gói trong khi các dịch vụ phi thời gian thực có các yêu cầu khác như là thông lượng
cao. Một mạng dịch vụ IP đầy đủ phải cung cấp các dịch vụ cùng với yêu cầu chất
lượng phù hợp.
Việc xác định các thông số quy định hiệu năng mạng phụ thuộc vào tầng của
mạng trong mô hình mạng sau:
Hình 1. 1 Mô hình các lớp mạng và đại lượng hiệu năng tương ứng
4
1.1. 1 Các phép đo lớp mạng
Các thông số cơ bản về hiệu năng lớp mạng là trễ (delay), thông lượng
(throughput), mất gói (loss), kết nối (connectivity) và mức độ sử dụng tài nguyên
(resource utilization). [1]
1.1. 2 Các phép đo lớp truyền tải
Các phép đo lớp truyền tải thể hiện khả năng của giao thức truyền tải mà hiện
nay thường được sử dụng trong mạng IP là TCP và UDP. Ví dụ các tham số lớp truyền
tải cho giao thức TCP là số lần truyền lại (number of retransmissions), thời gian thiết
lập và kết thúc kết nối TCP, kích thước phân đoạn trung bình (average segment size)
và thông lượng.
1.1. 3 Các phép đo lớp ứng dụng
Các thông số hiệu năng lớp ứng dụng cho truyền file là thời gian thiết lập một
kết nối, kích thước file trung bình, thời gian tải (download) trung bình.
Các thông số hiệu năng cho lớp truyền tải và ứng dụng được xác định bởi các
điểm đặc trưng của giao thức và dịch vụ thực tế, ví dụ như VOIP các thông số hiệu
năng bao gồm: Thời gian thiết lập cuộc gọi và xác suất nghẽn cuộc gọi.[2]
1.1. 4 Đo tại cấp độ người sử dụng
Sự cảm nhận của con người về các dịch vụ hay hệ thống được cung cấp là rất
quan trọng. Sự tiếp nhận của con người về các dịch vụ được cung cấp quyết định sự
thành công và sự chấp thuận của dịch vụ đó. Sự tiếp nhận này liên quan chặt chẽ với
sự mong đợi và giá thành.
1.1. 5 Một số vấn đề cần chú ý khi đo kiểm:
Điểm đo
Phương pháp đo
Chu kỳ đo
Sự tương thích của phép đo với đặc tính lỗi của các phương tiện truyền dẫn cơ bản
5
1. 2 PHƯƠNG PHÁP VÀ CÔNG CỤ ĐO CHẤT LƯỢNG MẠNG IP
Có 2 phương pháp đo chủ yếu là đo chủ động và bị động. Cả hai phương pháp
này đều có thể thực hiện được ở các lớp giao thức mạng khác nhau.
1.2. 1 Phương pháp chủ động (tích cực)
Đo bằng cách chèn lưu lượng vào hệ thống cần đo, trong trường hợp này là một
mạng hoặc một phần của mạng.
Hình 1. 2 Ví dụ về việc sử dụng IPERF
(Nguồn: http://marajanett.fastpage.name/netperf/)
6
Hình 1. 3 Ví dụ về việc sử dụng NETPERF
(Nguồn: http://marajanett.fastpage.name/netperf/)
1.2. 2 Phương pháp đo thụ động
Không thực hiện chèn lưu lượng mà thực hiện giám sát các gói tin thực tại các
điểm đo đã chọn. Trái với phương pháp đo chủ động, quá trình đo của phương pháp
này hoàn toàn không ảnh hưởng hay xâm nhập đến hoạt động của mạng.
1. 3 PHÂN LOẠI CÁC CÔNG CỤ ĐO LƯỜNG
1.3. 1 Theo mục đích đo lường
7
Hình 1. 4 Phân loại các công cụ đo lường theo mục đích
1.3. 2 Theo mức nhiệm vụ
Thu thập
Phân tích
1.3. 3 Theo thành phần chế tạo
Công cụ phần cứng
Công cụ phần mềm
1. 4 CÁC CÔNG CỤ ĐO LƯỜNG
1.4. 1 TCP Dump
TCPDump là công cụ phân tích gói tin thông thường mà chạy theo dòng lệnh,
cho phép người sử dụng dùng để đánh chặn và hiển thị các gói tin đang được truyền đi
hoặc được nhận trên một mạng máy tính. TCPDump được viết vào năm 1987 do Văn
Jacobson, Craig Leres và Steven McCanne - ba kỹ sư làm việc tại Phòng thí nghiệm
Lawrence Berkeley Mạng Nghiên cứu Group.
1.4. 2 TCP Stat
Báo cáo TCP liên quan đến thống kê định kỳ:
Băng thông được sử dụng
Số gói tin được trao đổi
Kích thước trung bình của gói tin.
1.4. 3 NETPIPE
8
Netpipe có thể nhận được dữ liệu truyền đi giữa hai nút, và có thể được gửi đi
giữa các nút trong các gói tin có kích thước bất kỳ, đo thời gian cần thiết. Vì vậy,
người dùng có thể tính toán chậm trễ (trong một gói dữ liệu truyền qua đường rất nhỏ
giữa các nút thời gian), băng thông, mỗi dòng số tiền tối đa truyền dữ liệu.
1. 5 KẾT LUẬN CHƯƠNG
Chương 1 của luận văn này đã giới thiệu tổng quan về các phương pháp đo và
công cụ đo hiệu năng của mạng. Có 2 phương pháp đo là phương pháp đo chủ động và
phương pháp đo thụ động, trong đó với mỗi lớp mạng khác nhau thì lại có phương
pháp đo khác nhau. Trong chương 2, tác giả sẽ trình bày hướng tiếp cận để xây dựng
một công cụ đo dựa trên hệ thống thư viện lập trình .NET 3.5.
9
Chương 2
XÂY DỰNG CÔNG CỤ ĐO LƯU LƯỢNG
Chương 2 giới thiệu về các thư viện lập trình của .NET 3.5 hỗ trợ cho người lập
trình trong việc xây dựng hệ thống đo lưu lượng mạng. Từ việc nghiên cứu các thư
viện lập trình, tác giả trình bày công cụ đo lưu lượng do chính tác giả phát triển.
2. 1 LÝ DO CẤP THIẾT CỦA VIỆC XÂY DỰNG CÔNG CỤ ĐO LƯU LƯỢNG
Như đã trình bày ở Chương 1, trên thế giới có nhiều công cụ đo lưu lượng mạng
tồn tại. Tuy nhiên thì việc vận hành các công cụ đo lưu lượng này còn gặp nhiều khó
khăn, chẳng hạn:
Chi phí mua cao
Có các phần mềm miễn phí hoặc mã nguồn mở nhưng không có độ tin cậy cao
và việc sửa đổi, kiểm thử độ tin cậy của mã nguồn mở cũng tốn nhiều chi phí.
Để có thể áp dụng kỹ thuật phân nhóm lưu lượng (sẽ trình bày ở Chương 3) thì
phần mềm cần phải xuất ra thông tin theo định dạng mong muốn. Các công cụ
đo lưu lượng hiện tại không đưa ra được định dạng thông tin cần thiết.
2. 2 THƯ VIỆN LẬP TRÌNH HỖ TRỢ VIẾT CHƯƠNG TRÌNH ĐO LƯU
LƯỢNG
Để đo lưu lượng mạng, ta sử dụng gói thư viện System.Diagnotics của .NET
frameworks (Hình 2.1). System.Diagnotics cung cấp các lớp thư viện cho phép ta
tương tác với các tiến trình hệ thống, hệ thống log của hệ điều hành windows và các bộ
đếm hiệu năng. Các lớp thư viện bao gồm:
2.2. 1 Lớp EventLog
Lớp EventLog cung cấp các chức năng giúp người lập trình có thể ghi được các
thông tin về sự kiện vào hệ thống quản lý thông tin sự kiện của hệ điều hành, thậm chí
là thêm và xóa các thông tin về sự kiện ở hệ thống quản lý sự kiện trên mạng máy tính.
EntryWrittenEventHandler cung cấp một phương pháp để có thể tương tác với
các thông tin sự kiện một cách không đồng bộ.
2.2. 2 Lớp Process
10
Lớp Process cung cấp chức năng theo dõi kiểm soát các tiến trình trên toàn
mạng và để khởi động hay chấm dứt các tiến trình cục bộ.
2.2. 3 Lớp PerformanceCounter và PerformaceCounterCategory
Lớp PerformanceCounter và PerformaceCounterCategory: PerformanceCounter
là một lớp thư việc cho phép người lập trình theo dõi được hiệu năng của hệ thống,
trong khi PerformaceCounterCategory cho phép người lập trình có thể chỉ định kiểu
đối tượng cần theo dõi.
Hình 2. 1 Các lớp thư viện trong gói thư viện System.Diagnotics
2. 3 CHƯƠNG TRÌNH ĐO LƯU LƯỢNG MẠNG
2.3. 1 Mô hình đo
System.Diagnostics
EventLog
EntryWrittenEventHandler
EventLogPermission
EventLogEntryType
EventLogEntryCollection
Process
EventLogEntryType
ProcessThread
Pro
cessModule
ProcessStartInfo
PerformanceCounter
PerformanceCounterCategory
[...]... chương trình đo lưu lượng Traffic Logger để đưa về kết quả đo lưu lượng theo định dạng mong muốn Thứ ba, dựa trên kết quả mà chương trình đo lưu lượng có được, tác giả nghiên cứu phương pháp K-Mean để phân nhóm kết quả đo lường Tác giả cũng viết chương trình phân nhóm lưu lượng Traffic Cluster để quan sát được kết quả phân nhóm 33 KIẾN NGHỊ CÁC HƯỚNG NGHIÊN CỨU TIẾP THEO Các kết quả nghiên cứu của luận... trong việc nghiên cứu phát triển công cụ đo lưu lượng mạng và phân tích dữ liệu sau khi đo Một số nghiên cứu tiếp theo có thể xuất phát từ luận văn này bao gồm: 1 Nghiên cứu phương pháp phát triển các công cụ đo lường lưu lượng mạng dựa trên các bộ thư viện ngoài NET 3.5 như JAVA, PHP, DELPHI, 2 Nghiên cứu các hướng tiếp cận Data Mining (Khai phá dữ liệu) cho dữ liệu thu thập được sau khi đo lường 34... tác giả tiếp tục trình bày việc phân nhóm lưu lượng dựa trên kết quả đo của chương trình đo lưu lượng đã trình bày ở Chương 2 14 Chương 3 PHÂN NHÓM LƯU LƯỢNG BẰNG PHƯƠNG PHÁP KMEANS Chương này trình bày lý thuyết về phương pháp phân nhóm dữ liệu K-Means, qua đó tác giả áp dụng lý giải thuật K-Means vào việc phân nhóm dữ liệu lưu lượng thu được từ chương trình đo lưu lượng ở chương 2 Chương này cũng... vào việc phân nhóm dữ liệu lưu lượng thu được từ chương trình đo lưu lượng ở chương 2 Chương này cũng trình bày thiết kế của chương trình phân nhóm lưu lượng do tác giả thiết kế 32 KẾT LUẬN Luận văn đã tập trung giải quyết ba vấn đề chính: Thứ nhất, luận văn đã tìm hiểu các công cụ và phương pháp đo lưu lượng mạng hiện nay Có 2 phương pháp đo là phương pháp đo chủ động và phương pháp đo thụ động, trong... pháp đo thụ động, trong đó với mỗi lớp mạng khác nhau thì lại có phương pháp đo khác nhau Có nhiều công cụ đo hiệu năng của mạng với các ưu nhược điểm khác nhau, tuy nhiên việc triển khai các công cụ này còn gặp nhiều khó khăn Thứ hai, trước những khó khăn trong việc áp dụng các công cụ đo lường, tác giả đã nghiên cứu cách tự xây dựng công cụ đo lường dựa trên công nghệ NET 3.5 Với bộ thư viện System.Diagnostics... quả phân vùng nhóm khác nhau 5 Không xác định được mức độ ảnh hưởng của thuộc tính đến quá trình tạo nhóm 3 2 CHƯƠNG TRÌNH PHÂN NHÓM LƯU LƯỢNG BẰNG PHƯƠNG PHÁP K-MEANS Như đã mô tả ở Chương 2, thông tin lưu lượng được lưu dưới dạng file text, trong đó mỗi dòng thể hiện lưu lượng trung bình trong một giờ, trong một dòng có 6 con số, mỗi con số là số đo lưu lượng trung bình trong 10 phút Số đo lưu lượng. .. hiện đo lưu lượng thông qua số gói tin nhận được từ switch Hình 2 2 Mô hình đo lưu lượng mạng Giả sử ta muốn đo lưu lượng download: Ta sẽ sử dụng browser từ máy tính 1 để tiến hành download data từ internet, lúc này data download về sẽ được tự động chuyển tiếp đến máy tính 2 (switch sẽ thực hiện thao tác sao chép data và chuyển tiếp) và chương trình đo lưu lượng ở máy tính 2 sẽ ghi lại tốc độ lưu lượng. .. 1 2 3 4 5 6 Hình 2 6 Kết quả đo lưu lượng thể hiện dưới dạng đồ thị Về chi tiết mã nguồn của chương trình đo, xin mời tham khảo phần A ở Phụ lục 2 4 KẾT LUẬN CHƯƠNG Chương 2 giới thiệu về các thư viện lập trình của NET 3.5 hỗ trợ cho người lập trình trong việc xây dựng hệ thống đo lưu lượng mạng Từ việc nghiên cứu các thư viện lập trình, tác giả trình bày công cụ đo lưu lượng do chính tác giả phát triển... lường 34 TÀI LIỆU THAM KHẢO [1] Đỗ Ngọc Điệp (2007), Nghiên cứu một số giải pháp đánh giá hiệu suất hoạt động của mạng TCP/ IP dựa trên các phần mềm công cụ đo lường mạng, Đại học Thái Nguyên, Khoa Công nghệ thông tin [2] Nguyễn Tài Hưng (2007), Một số phát hiện mới trong đo lường và phân tích lưu lượng internet, mô hình các thuộc tính phân loại lưu lượng theo ứng dụng, Đại học Bách Khoa Hà Nội [3] Andrew... trình đưa ra thông tin lưu lượng 1s một lần và một dòng thông tin tương ứng với lưu lượng của 6s (dòng thông tin này sẽ được mô hình hóa thành một đối tượng lưu lượng để thực hiện phân nhóm lưu lượng ở Chương 3)(Hình 2.4) 12 Hình 2 4 Giao diện chương trình đo lưu lượng Traffic Logger khi chạy File được log lại có dạng ddMMYYYY_hhmmss.txt, trong đó ddMMYYYY là ngày chạy chương trình và hhmmss là giờ bắt .
pháp và công cụ đo hiện tại, xây dựng công cụ đo dựa trên nền tảng công nghệ .NET
3.5, phân nhóm lưu lượng bằng phương pháp K-Mean.
2. Phương pháp nghiên. nghiên cứu
a) Nghiên cứu lý thuyết:
Tìm hiểu các phương pháp đo lưu lượng và các công cụ đo lưu lượng hiện tại
Tìm hiểu phương pháp K-Means để phân nhóm
Ngày đăng: 17/02/2014, 09:01
Xem thêm: Nghiên cứu xây dựng công cụ đo và phân nhóm lưu lượng mạng, Nghiên cứu xây dựng công cụ đo và phân nhóm lưu lượng mạng