Đề tài : NGHIÊN CỨU MỘT SỐ PHƯƠNG PHÁP BẮT GIỮ, PHÂN TÍCH VÀ NHẬN DẠNG LUỒNG LƯU LƯỢNG IP TRÊN INTERNET Luận văn gồm có 3 chương chính với các nội dung như sau: Chương 1: Tổng quan về Internet và lưu lượng IP. Đề cập một cách tổng quan về lịch sử phát triển, cấu trúc mạng Internet, các loại lưu lượng IP và sự cần thiết phải phân loại lưu lượng IP. Chương 2: Các phương pháp bắt giữ và phân tích luồng lưu lượng IP. Đề cập đến các phương pháp đo lường trên mạng Internet, phương pháp nén dữ liệu đo, các thuật toán và phương pháp phân tích luồng lưu lượng IP. Chương 3: Mô hình tự động nhận dạng, phân loại lưu lượng IP trên Internet và đề xuất ứng dụng.
Trang 1MỤC LỤC
Trang LỜI MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ INTERNET VÀ LƯU LƯỢNG IP 3
1.1 Mạng Internet 3
1.1.1 Lịch sử phát triển của Internet 3
1.1.2 Tổ chức của mạng Internet 4
1.2 Tổng quan về lưu lượng IP 6
1.2.1 Các loại lưu lượng trên Internet 6
1.2.1.1 Lưu lượng thoại 6
1.2.1.2 Lưu lượng dữ liệu 7
1.2.2 Các gói tin, luồng lưu lượng IP 9
1.2.2.1 Khái niệm luồng lưu lượng IP 9
1.2.2.2 Cơ chế kết thúc luồng 11
1.2.3 Các thuộc tính của luồng lưu lượng IP 12
1.2.4 Sự cần thiết phải phân loại lưu lượng IP 16
1.3 Mô hình lưu lượng IP 17
1.4 Kết luận chương 18
CHƯƠNG 2: CÁC PHƯƠNG PHÁP BẮT GIỮ VÀ PHÂN TÍCH LUỒNG LƯU LƯỢNG IP 19
2.1 Các phương pháp bắt giữ lưu lượng IP trên Internet 19
2.1.1 Đo lường thụ động 22
2.1.1.1 Tiến trình bắt giữ gói lưu lượng 23
2.1.1.2 Tiến trình phân tích thô dữ liệu gói bắt được 25
2.1.1.3 Đo lường mạng đường trục 27
2.1.1.4 Đo lường mạng nội bộ 29
2.1.1.5 Đo lường mạng quay số (Dial- up và ADSL) 29
2.1.2 Phương pháp nén dữ liệu đo và kỹ thuật lấy mẫu lưu lượng IP 30
2.1.2.1 Thuật toán lấy mẫu 33
Trang 22.1.2.2 Tần số lấy mẫu và khoảng lấy mẫu 35
2.2 Phân tích luồng lưu lượng IP trên Internet 38
2.2.1 Lý thuyết lưu lượng và Internet 40
2.2.2 Sắp xếp mức thông trong tiến trình Semi-Markov và chuổi Markov 43
2.2.2.1 Sơ bộ 44
2.2.2.2 Chuỗi Markov rời rạc thời gian 45
2.2.2.3 Các tiến trình Semi-Markov 46
2.2.2.4 Chuỗi thời gian liên tục Markov 48
2.2.3 Phương pháp dự đoán phân bố phù hợp với dữ liệu đo thực nghiệm 50
2.2.3 Phương pháp dự đoán phân bố phù hợp với dữ liệu đo thực nghiệm 51
2.5 Kết luận chương 56
CHƯƠNG 3 : MÔ HÌNH TỰ ĐỘNG NHẬN DẠNG, PHÂN LOẠI LƯU LƯỢNG IP TRÊN INTERNET VÀ ĐỀ XUẤT ỨNG DỤNG 57
3.1 Cơ sở lý thuyết 57
3.1.1 Tổng quan về học tự động 57
3.1.2 Lựa chọn thuộc tính 58
3.1.3 Thuật toán phân loại 58
3.2 Xây dựng mô hình tự động nhận dạng và phân loại lưu lượng IP 63
3.2.1 Mô hình đề xuất 63
3.2.2 Chú thích mô hình 64
3.3 Đề xuất ứng dụng: 65
3.4 Kết luận chương 68
KẾT LUẬN 69
Trang 3THUẬT NGỮ, CHỮ VIẾT TẮT
{ }x i the set whose elements are x i Tập gồm các phần tử là x i
the set of all natural integers Tập các số tự nhiên nguyên
the set of all integer numbers Tập các số nguyên
the set of all real numbers Tập các số thực
( )
f t The value of (.)f at t Giá trị của (.)f tại thời điểm t
ADU/PDU Application/Protocol Data Unit Đơn vị dữ liệu ứng dụng/ giao thứcCDF/CCDF Complement/Cummulative
Density Function
Hàm mật độ xác suất lũy tích/ lũy tích bù
điểm đến
tính)IPFIX IP Flow Import Export Kiến trúc đo lường luồng lưu lượng
IPHTTPS Hyper Text Transfer Protocol
Secured
Giao thức Web bảo mật
NBD Naive Bayes Discretization Tên thuật toán học tự động
POP3 Post Office Protocol V3 Giao thức nhận thư điện tử
Trang 4QoS Quality of Services Chất lượng dịch vụ
SSE Sum of Square due to Error Chỉ số kiểm tra mức độ phù hợpSMTP Simple Mail Transfer Protocol Giao thức gửi thư điện tử
RTT Round Trip Time Trễ từ phía phát -> phía thu-> phát
mạng
Trang 5DANH MỤC CÁC HÌNH VẼ
Hình 1-1 Ví dụ về một mạng ISP 5Hình 1-2: Cấu trúc gói tin UDP (UDP packet) 9Hình 1-3: Cấu trúc gói tin TCP 10Hình 2-2: Thuật toán mô phỏng 2 LCO DTMCS thoả mãn điều kiện (2.10)
và (2.11) 46Hình 2-3: Thuật toán mô phỏng LCO SMPS với vector xác suất sinh p thoả
mãn điều kiện (2.12) và (2.13) 47Hình 3-1: Sơ đồ mô hình đề xuất 63Hình 3-2: Đầu dữ liệu vàolà các thiết bị như switch, router, network card, 64Hình 3-3: Các gói tin được bắt giữ và lấy mẫu dựa theo IP Header trước khi
đưa vào phần phân loại và phân tích luồng theo cơ chế học tự động 64 Hình 3-4: Các ứng dụng có thể lấy dữ liệu trực tiếp từ các gói được bắt giữ, hoặc lấy dữ liệu từ các luồng thu thập, hoặc lấy kết quả từ khâu phân loại luồng và học
tự động 65
Trang 6DANH MỤC CÁC BẢNG
Bảng 1-1: Các thuộc tính chung của các luồng 12
Bảng 1-2: Các thuộc tính trên mỗi hướng của luồng 14
Bảng 2-1: Một số phép đo điển hình trên mạng Internet 19
Bảng 2-2: Một số công cụ thu thập và đo lường lưu lượng IP hiện có
36
Trang 7LỜI MỞ ĐẦU
Quá trình hội tụ công nghệ trong lĩnh vực viễn thông đã làm cho mạngInternet trở thành hạ tầng truyền thông chủ yếu của tất cả các ứng dụng thông tinliên lạc như: duyệt Web, thư điện tử, truyền file thậm chí cả các ứng dụng thờigian thực như: VoIP, truyền hình trực tuyến Một thách thức lớn được đặt ra đối vớimạng Internet hiện nay là vấn đề cung cấp chất lượng dịch vụ (QoS) và giám sátmức chất lượng dịch vụ do mạng cung cấp Để xây dựng kiến trúc cung cấp QoS và
mô hình giám sát mức chất lượng dịch vụ do mạng cung cấp thì việc xác định đượccác biểu hiện hoạt động và biến thiên của lưu lượng của các ứng dụng trên Internet
là rất quan trọng Tuy nhiên, lưu lượng Internet luôn luôn thay đổi và không đồngnhất, và do đó, rất khó để dự đoán Hơn nữa, cũng rất khó để giám sát lưu lượngtrên một mạng diện rộng, lưu lượng rất lớn, có cơ chế quản lý phân tán và phươngtiện không đồng nhất Việc hiểu được khuôn mẫu lưu lượng và các phương pháp đođạc chỉ là bước đầu, xa hơn nữa việc nghiên cứu để giám sát lưu lượng IP trở nênrất quan trọng và cấp thiết khi mà lưu lượng mạng phát triển theo hàm số mũ
Các vấn đề có thể giải quyết khi nhận dạng và phân tích được các luồng lưulượng của các nhóm ứng dụng khác nhau từ lưu lượng tổng hợp trên mạng là:
Cung cấp chất lượng dịch vụ (QoS): khi phân biệt được các luồng lưu
lượng IP của từng nhóm dịch vụ sẽ giúp mạng cấp mức ưu tiên xử lýtương ứng cho các gói thuộc nhóm đó
Phát hiện tấn công trên mạng: khi phân biệt được các luồng lưu lượng
IP sẽ giúp phát hiện các luồng lưu lượng lạ vốn có thể là do các cuộc tấncông mạng gây ra
Phân tích xu hướng phát triển lưu lượng và tỉ lệ chiếm dụng tài nguyên mạng.
Điều khiển truy nhập: giúp giải quyết tình trạng tắt nghẽn mạng cũng
như đảm bảo việc phân bố tài nguyên mạng dễ dàng, hợp lý
Đề tài tập trung nghiên cứu, tìm hiểu các phương pháp xây dựng mô hình bắtgiữ, phân tích và nhận dạng các luồng lưu lượng trên Internet để từ đó làm cơ sở
Trang 8cho việc xây dựng mô hình tự động nhận dạng và phân chia lưu lượng theo cácnhóm ứng dụng khác nhau.
Về bố cục, luận văn gồm có 3 chương chính với các nội dung như sau:Chương 1: Tổng quan về Internet và lưu lượng IP
Chương 2: Các phương pháp bắt giữ và phân tích luồng lưu lượng IP
Chương 3: Mô hình tự động nhận dạng, phân loại lưu lượng IP trên Internet
và đề xuất ứng dụng
Để hoàn thành bản luận văn này, tôi đã nhận được sự hướng dẫn tận tâm và
sự giúp đỡ tận tình của TS Nguyễn Gia Thái Tôi cũng đã nhận được sự giúp đỡ quýbáu của Khoa Quốc tế và Đào tạo sau Đại học Học viện Công nghệ Bưu chính-Viễnthông, của các đồng nghiệp của tôi ở Viễn thông Thừa Thiên-Huế
Tôi xin bày tỏ lời cảm ơn sâu sắc tới TS Nguyễn Gia Thái, người thầy trực tiếphướng dẫn tôi viết bản luận văn này, đã dành cho tôi nhiều thời gian và những chỉdẫn vô cùng quý báu bằng cả một tấm lòng của một người thầy Tôi xin gửi lời cảm
ơn sâu sắc đến thầy giáo chủ nhiệm khoa, các thầy cô giáo trong khoa Khoa Quốc tế
và Đào tạo sau Đại học, Học viện Công nghệ Bưu chính-Viễn thông đã quan tâmtruyền đạt giảng dạy kiến thức và các kỹ năng cơ bản, đến đồng chí Giám đốc vàcác đồng nghiệp trong Viễn thông Thừa Thiên-Huế đã tạo điều kiện cho tôi đượchọc tập và hoàn thành luận văn
Tôi cũng xin trân trọng gửi tới gia đình tôi, bạn bè thân thiết đã dành cho tôinhiều tình thương, sự ưu ái và nâng đỡ tôi trong những khó khăn để tôi hoàn thànhluận văn
Với mục đích tìm hiểu và triển khai trong thực tế những kết quả nghiên cứuđược, tuy nhiên do hạn chế về thời gian cũng như khả năng của bản thân nên nhữngkiến thức trình bày trong luận văn không tránh khỏi thiếu sót, tôi mong nhận được
sự đóng góp ý kiến của các thầy cô và các bạn học viên Tôi xin chân thành cảm ơn!
Hà nội, ngày 01 tháng 09 năm 2008
Nguyễn Xuân Nam
Trang 9CHƯƠNG 1: TỔNG QUAN VỀ INTERNET VÀ LƯU LƯỢNG IP
1.1 Mạng Internet
Năm 1995, Hội đồng mạng liên bang (FNC - Federal Network Council) nhấttrí thông qua một nghị quyết định nghĩa thuật ngữ Internet Định nghĩa này ra đờivới sự tham gia tư vấn của ban lãnh đạo Internet và hiệp hội hiệp hội quyền sở hữutrí tuệ (IPR) FNC nhất trí rằng những định nghĩa sau được coi là chuẩn của thuậtngữ "Internet" [7] Internet là hệ thống thông tin toàn cầu mà:
Được nối với nhau hợp lý bằng một không gian địa chỉ độc đáo dựatrên giao thức mạng (IP)
Có thể tạo điều kiện cho các máy tính giao tiếp với nhau thông qua bộgiao thức TCP/IP
Công khai hay bí mật cung cấp, cho phép sử dụng, truy cập các dịch
vụ cao cấp được xếp trên các mục giao tiếp và cơ sở liên quan
Nói cách khác, mạng Internet là mạng của các mạng máy tính, hoạt độngtruyền thông tuân theo bộ các giao thức TCP/IP
Không thể có được sơ đồ cụ thể của mạng Internet vì các máy tính và cácmạng máy tính liên tục đăng ký thêm vào mạng Internet cũng như các thông tin trênmạng liên tục thay đổi, cập nhật
1.1.1 Lịch sử phát triển của Internet
Internet được phát minh từ cục “Nghiên cứu các dự án quốc phòng hiện đại(ARPA)”[3], một cơ quan của Bộ quốc phòng Mỹ DOD (Department of Defence).Năm 1969, ARPA triển khai một mạng chuyển mạch gói gồm 4 nút gọi làARPANET (Advanced Research Project Agency Network) Trong quân sự, trườnghợp có chiến tranh hạt nhân, DOD muốn bảo đảm truyền số liệu tin cậy ngay cả khicác phần của mạng đã bị phá huỷ
Năm 1986, Internet mới bắt đầu phát triển đột biến Vào thời gian đó NSF(National Science Foundation) đã tạo ra mạng NSFNET, kết nối 5 trung tâm siêumáy tính khu vực với nhau để cung cấp một mạng xương sống tốc độ cao toàn quốctrên khắp Hoa Kỳ Các máy tính nhanh và mạnh nhất thế giới được đưa vào sử dụng
Trang 10cho cộng đồng các giáo sư đại học và các nhà khoa học Mạng NSFNET đã dựa trênkiến trúc TCP/IP của ARPANET Lúc này, một người dùng ngồi tại đầu cuối ởtrường đại học Standford ở California có thể nối máy tới các máy tính chủ kết nốivào Internet và truy cập tới bộ sưu tập đa dạng của các kho lưu trữ tại MIT(Massachusets Institute of Technology) Các máy chủ trên NSFNET còn cung cấpcác Gateway tới các mạng khu vực và nội hạt khác
Tập hợp các mạng được kết nối với nhau này được gọi một cách đơn giản là
“Internet” Các máy tính chủ của mạng đã dùng (và cho tới nay vẫn dùng) bộ giaothức TCP/IP Trong khoảng thời gian đó, công việc nghiên cứu về Internet đã thaythế vai trò của mạng ARPANET và vào năm 1990, ARPANET chính thức ngừnghoạt động
Nói một cách tổng quát [7], Internet là mạng diện rộng (WAN), bao gồmhàng nghìn các mạng máy tính trải rộng khắp thế giới, giúp cho hàng triệu người sửdụng trên trái đất có thể thông tin, trao đổi với nhau Các học viện đào tạo, các thưviện, các cơ quan chính phủ, các trung tâm nghiên cứu, các dịch vụ trực tuyến vàcác doanh nghiệp đại diện cho các loại mạng khác nhau đã được kết nối với nhautrên khắp hành tinh để hình thành nên Internet Sự phát triển nhanh như vũ bão củaInternet mà hiện tại cứ tháng này lại tăng gấp đôi so với tháng trước, đã dẫn đến cáigọi là “Xa lộ thông tin” (Information Super Highway) Ngoài ra, nó còn là nhữngnguồn tài nguyên vô giá cho các nhà nghiên cứu, các nhà giáo dục, các quan chứcchính phủ, các thủ thư, Internet đã trở thành một công cụ thiết yếu cho mọi cá thểđang sử dụng thư điện tử, đang nghiên cứu và thực tế là mọi hoạt động liên quanđến việc thu thập thông tin
Trang 11Internet (ISPs) quốc gia và quốc tế như AT&T WorldNet, Global Crossing, Sprint,UUNET (Mỹ), SingTel (Singapore), Dustch Telecom (Đức), VDC (Việt nam) Cácmạng này thường chống lấn nhau về mặt địa lý Các mạng ISPs được liên kết vớinhau qua các điểm chuyển mạch công cộng gọi là NAPs (Network Access Points).
Để tránh tắc nghẽn xảy ra ở các NAPs, các mạng ISP cũng thường được kết nốibằng các kết nối thuê riêng khác Một mạng ISP bao gồm nhiều điểm cung cấp dịch
vụ POPs (Point of Presence) và các kết nối liên kết các POP với nhau Hình 1-1trình bày ví dụ về một mạng ISP điển hình Nói một cách đơn giản, một POP baogồm sự kết hợp của một hay nhiều bộ định tuyến truy nhập ARs (Access Router)kết nối tới các khách hàng ở xa, các bộ định tuyến biên BRs (Border Router) kết nốitới mạng của các ISP khác, các bộ định tuyến chủ HRs (Hosting Router) kết nối tớicác máy chủ phục vụ Web của các ICP (Internet Content Provider) như Yahoo,Vnn, Fpt, và các bộ định tuyến chính CRs (Core Router) kết nối tới các POP khác.Lưu lượng từ các ARs, BRs và HRs trước hết phải được gửi tới CR CR sau đó sẽchuyển tiếp lưu lượng tới các CR khác, cho đến khi tới POP cuối cùng (điểm đích)
Kiến trúc của các POP thường là đối xứng (như trong hình 1-1) Các POPkhác nhau thường được kết nối theo cấu hình vòng để tăng độ tin cậy Một mạngISP lớn có thể có trên 50 POPs
Hình 1-1 Ví dụ về một mạng ISP
Trang 121.2 Tổng quan về lưu lượng IP
1.2.1 Các loại lưu lượng trên Internet
1.2.1.1 Lưu lượng thoại
Mô hình lưu lượng đối với dịch vụ thoại dựa trên lý thuyết Erlang gồm haitham số chính là tốc độ xuất hiện cuộc gọi (số cuộc gọi / một đơn vị thời gian) vàthời gian chiếm giữ trung bình (thời gian / một cuộc gọi) Tải lưu lượng đưa ra trongErlang tương ứng với thời gian sử dụng tài nguyên trên một khoảng thời gian Phân
bố thống kê đối với các xuất hiện cuộc gọi được coi là phân bố Poisson với thờigian giữa các lần xuất hiện tuân theo phân bố mũ Giả sử hệ thống có số lượng kênhhạn chế, do lưu lượng được hỗ trợ lớn nhất có thể nhỏ hơn lưu lượng dự kiến nên cóthể hệ thống sẽ không gán kênh khi một khách hàng muốn thực hiện cuộc gọi Xácxuất của nó gọi là xác xuất khóa cuộc gọi hoặc mức dịch vụ Đối với lưu lượng dựkiến là A erlang, số các kênh đồng thời cần thiết cho hệ thống là N phụ thuộc vàomức dịch vụ đưa ra Có hai cách để tính xác xuất khóa cuộc gọi phụ thuộc vào đápứng hệ thống khi nhận được yêu cầu thực hiện cuộc gọi khi tất cả các kênh đều bận.Trường hợp thứ nhất là từ chối ngay yêu cầu và người sử dụng nhận được chỉ thịkhông thành công và có thể thử lại nếu muốn Nó được mô hình hóa bởi công thứcErlang B thu được từ hệ thống hàng đợi M/M/c/c như là xác suất tất cả các serverđều bận trường hợp thứ hai là hệ thống yêu cầu đưa vào hàng đợi và cho phếp đợimột thời gian (trễ) Nếu thời gian đợi vượt quá một ngưỡng, yêu cầu sẽ bị loại bỏ vàngười sử dụng nhận được chỉ thị không thành công và có thể thử lại nếu muốn Cơchế này được gọi là trễ cuộc gọi khóa và mức dịch vụ đo kiểm được định nghĩa như
là xác suất thời gian đợi vượt quá độ trễ cho phép Nó được mô hình hóa bởi côngthức Erlang C thu được từ hệ thống hàng đợi M/M/c Các công thức này cho phéptính toán trực tiếp tham số GoS và lưu lượng dự kiến A là những biến độc lập vàphải tính toán số các kênh yêu cầu N để phục vụ hệ thống Đây là vấn đề của địnhcỡ
Trang 13Mô hình Erlang B: Xác suất không có server (hệ thống bận)[2]:
A N GOS
A k
(1.1)
Mô hình Erlang C: Xác suất độ trễ >T:
( ) N
1 N
0
AS=
!
N A T k
N k
T = Độ trễ lớn nhất cho phép trước khi cuộc gọi mới bị khóa
τ = Thời gian giữ cuộc gọi trung bình
A = Tổng lưu lượng mà hệ thống có thể hỗ trợ
N = Tổng số kênh
GOS = Xác xuất cuộc gọi mới bị khóa
1.2.1.2 Lưu lượng dữ liệu
Đối với liên kết lưu lượng, một số các tham số điển hình được sử dụng đểđặc tính hóa nguồn lưu lượng như tốc độ dữ liệu đỉnh, tốc độ dữ liệu trung bình, lưulượng bùng nổ [1] Các biến được định nghĩa như sau:
- Tốc độ dữ liệu đỉnh: tốc độ dữ liệu lớn nhất được tạo ra bởi một nguồnlưu lượng trong khoảng thời gian điển hình
- Tốc độ dữ liệu trung bình: số dữ liệu tạo ra từ nguồn trong một khoảngthời gian nhất định, thường là bps hoặc packet per second Việc tính toánthường được diễn ra trong khoảng thời gian dài
- Burstiness: Mô tả nguồn gửi lưu lượng không thường xuyên Công thứcđơn giản tính toán như sau:
PeakDataRateBurstiness=
AverageDataRace (1.3)
Trang 14Nếu một nguồn gửi lưu lượng với tốc độ không đổi thì nguồn đó không độtbiến (burstiness = 1), trong khi nó được coi là biến đổi rất lớn nếu nó cho phép cáckhoảng thời gian lớn không gửi lưu lượng xen kẽ với những khoảng thời gian gửivới tốc độ gần bằng tốc độ đỉnh (burstiness >> 1).
Tính đa dạng của các dịch vụ băng rộng dẫn tới sự phân tán lớn củaburstiness, thời gian chiếm giữ và tốc độ đỉnh
Trong dịch vụ đa phương tiện, các ứng dụng cung cấp có thể nhóm thànhbốn loại chính của các lớp dịch vụ như sau:
- Lớp thoại (Conversitional Class): Bao gồm các dịch vụ thoại, hội nghịvideo, video-game… Yêu cầu quan trọng nhất đối với lớp dịch vụ nàyliên quan đến thời gian, bao gồm độ trễ thấp, biến đổi trễ thấp và duy trìtốc độ dữ liệu nguồn Tỷ lệ tổn thất không phải là quá quan trọng
- Lớp luồng lưu lượng (Streaming Class): Bao gồm các luồng lưu lượngaudio, video Nó yêu cầu duy trì tương quan với thời gian để yêu cầubiến đổi trễ thấp nhưng không yêu cầu quan trọng như đối với lớp thoạivới yêu cầu độ trễ thấp Tỷ lệ tổn thất là không quan trọng
- Lớp tương tác (Interactive Class): Bao gồm Web-browser, truy nhập cơ
sở dữ liệu, truy nhập LAN từ xa Một tham số quan trọng đó là độ trễtoàn trình (round-trip delay), nó mô tả thời gian yêu cầu và đáp ứng Tỷ
lệ tổn thất là rất quan trọng đối với các loại ứng dụng này
- Lớp nền (Background Class): Các ứng dụng phi thời gian thực nhưemail, truyền file… không có hạn chế nào về thời gian hay độ trễ nhưng
Trang 151.2.2 Các gói tin, luồng lưu lượng IP
1.2.2.1 Khái niệm luồng lưu lượng IP
Một trong những định nghĩa sơ khởi nhất về luồng lưu lượng Internet đó là:
"chuỗi các gói liên tục truyền bởi một ứng dụng hoặc dịch vụ nào đó trên Internet" Cụm từ "liên tục" ở đây phản ánh mong muốn xử lý các luồng lưu lượng một cách đồng nhất về thời gian nhằm đáp ứng hai mục đích quan trọng: thứ nhất (i) người
ta muốn làm cho khái niệm luồng lưu lượng có càng nhiều ý nghĩa vật lý càng tốt theo đó chúng có thể đại diện cho việc truyền tải một tài liệu hay một đối tượng
(ii) là các luồng lưu lượng được định nghĩa phải cung cấp đủ thông số đầu vào cho các môhình hiệu suất
Source Port(Cổng nguồn) Destination Port(Cổng đích)
User Data(dữ liệu người dùng)User Data(dữ liệu người dùng)
Trang 160 16 31
Sequence numberAcknowledgment numberOffse
t
Reserved
Nói cách khác hiện không tồn tại một định nghĩa thống nhất và/ hoặc đã đượcchuẩn hoá nào đối với khái niệm luồng lưu lượng Internet, mà tuỳ vào mục đíchnghiên cứu, các tác giả có thể định nghĩa luồng lưu lượng theo nhiều cách khácnhau Mục tiêu của chúng ta là nhằm xây dựng được một mô hình nhận dạng lưulượng của các ứng dụng trên mạng Internet trên cơ sở các kết quả phân tích đặc tính
và biểu hiện hoạt động của luồng lưu lượng, do đó ta sẽ tìm kiếm một định nghĩa
sao cho đảm bảo được hai yếu tố: thứ nhất (i) cung cấp được càng nhiều thông số
thống kê luồng lưu lượng càng tốt và thứ hai (ii) đồng nhất theo thời gian
Với hai tiêu chí này, chúng ta sử dụng phương pháp định nghĩa luồng lưu
lượng gần giống với phương pháp của RTFM, trong đó thuật ngữ "khoá" được sử
dụng để chỉ tập các thuộc tính địa chỉ trên các lớp khác nhau của mô hình TCP/IP
Trang 17Việc đưa ra khái niệm khoá này giúp cho việc định nghĩa luồng lưu lượng rất mềmdẻo, theo đó có thể xác định luồng lưu lượng là tập hợp các gói trao đổi trên cácmức khác nhau Ngoài ra nó cũng giúp giải quyết các vấn đề gặp phải khi địnhnghĩa luồng lưu lượng theo giao thức truyền dẫn (TCP) hay theo phiên làm việc củaứng dụng, như vấn đề các gói thuộc một luồng nhưng lại đi theo các tuyến đườngkhác nhau hay vấn đề mất gói vv…
Luồng lưu lượng IP đề cập trong luận văn này có khoá bao gồm các thông số:
địa chỉ IP nguồn, địa chỉ IP đích, cổng ứng dụng nguồn, cổng ứng dụng đích và chỉ
số nhận dạng giao thức TCP Ngoài ra hai gói liên tiếp được xem là thuộc cùng một
luồng nếu chúng không cách nhau quá một khoảng thời gian cho trước gọi là thờigian time-out Nếu không một luồng mới sẽ được tạo ra
1.2.2.2 Cơ chế kết thúc luồng
Trong quá trình phân tích luồng, ngoài việc định nghĩa khoá, cũng cần phải xácđịnh các cơ chế bắt đầu và kết thúc của một luồng lưu lượng Thực tế hiện nay cácnhà nghiên cứu hay sử dụng ba phương pháp cơ bản để xác định sự kết thúc của
một luồng lưu lượng, bao gồm: phương pháp dựa trên cơ chế hoạt động của giao
thức, phương pháp thời gian Time-out cố định và phương pháp thời gian Time-out thích ứng.[5] Với phương pháp dựa trên hoạt động của giao thức, người ta xác định
trạng thái của một luồng lưu lượng bằng cách quan sát một số bản tin đặc biệt củagiao thức (ví dụ các cờ SYN, FIN hoặc RST trong giao thức TCP) Còn trongphương pháp thời gian Time-out cố định, luồng lưu lượng được xem là kết thúc khithời gian từ lúc nhận được gói cuối cùng vượt quá một giá trị ngưỡng cho trước làthời gian time-out Trong phương pháp thời gian time-out thích ứng thì việc xácđịnh giá trị time-out của luồng là một cơ chế phức tạp hơn nhiều, theo đó thời giantime-out thay đổi theo từng luồng và được tính dựa trên tốc độ gói quan sát đượccủa luồng tương ứng
1.2.3 Các thuộc tính của luồng lưu lượng IP
Trang 18Để mô tả nguồn lưu lượng, chúng ta sử dụng các thuộc tính đặc trưng của nó.Ngoài mục đích đặc tính hoá các luồng lưu lượng, việc định nghĩa tập thuộc tínhcủa nó còn cho phép đưa ra phương pháp đo lường phù hợp.
Một cách tổng quát nhất, thuộc tính luồng có thể là các trường trong phần tiêu
đề của gói như địa chỉ IP nguồn/ đích, cổng ứng dụng nguồn/ đích, v.v… hoặc làcác bộ đếm số lượng byte, số lượng gói chứa trong luồng hoặc là các giá trị thống
kê của các thông số trên như trị trung bình, trị trung tâm, hay độ lệch tiêu chuẩn Đểphản ánh đúng bản chất biến thiên và các biểu hiện hoạt động của luồng lưu lượngInternet, thì ngoài các thuộc tính trên, chúng ta sẽ khảo sát và tính toán thêm nhiều
thuộc tính quan trọng là các thông số của các phân bố rời rạc liên quan, như: phân
bố thời điểm đến của các luồng, phân bố kích thước luồng, phân bố thời điểm đến của các gói thuộc luồng, phân bố kích thước các gói thuộc luồng, v.v… vào tập các thuộc tính mô tả luồng.
Trên thực tế, số lượng thuộc tính có thể có của luồng lưu lượng IP là rất lớn.Tuy nhiên để có thể sử dụng cho việc nhận dạng và phân loại luồng lưu lượng ta cóthể chỉ ra một số các đặc tính của luồng lưu lượng [5] như sau:
Bảng 1-1: Các thuộc tính chung của các luồng
2 Bắt đầu Thời điểm đến của gói đầu tiên của luồng Xâu
3 Kết thúc Thời điểm đến của gói cuối cùng của luồng Xâu
4 Thời lượng Độ dài luồng lưu lượng đo bằng μss Liên tục
5 Kích thước
gói đầu
Độ dài phần tải tin của gói đầy đủ đầu tiên
Trang 197 Tỷ lệ dữ
liệu
Tỷ lệ giữa tổng số byte dữ liệu (chỉ tính phầntải tin) truyền bởi phía khởi tạo luồng và bởiphía đáp ứng luồng
chuỗi 9 giátrị liên tục
I.A.T luồng
Độ dài phần đuôi của biểu đồ phân bố thờiđiểm đến (I.A.T) của các luồng lưu lượngquan sát trong một cửa sổ thời gian cho trước
Các thuộc tính thể hiện phiên làm việc kiểu đối thoại
αdt Tỷ lệ giữa số lượng gói đầy đủ thuộc đoạn đối
thoại trên tổng số gói đầy đủ của luồng Liên tục
βdtdt
Tỷ lệ giữa số lượng gói đầy đủ thuộc đoạn đốithoại trung bình trên tổng số gói đầy đủ củaluồng
Liên tục
γdtdt Tỷ lệ các gói đối thoại truyền bởi phía khởi
Chuỗi 9 giá trịliên tục
Trang 20nằm trong khoảng 0 và 1 thể hiện tỉ lệ tươngđối các gói nằm trong bin đó
2 Phân bố tải
tin
Phân bố rời rạc chiều dài phần tải tin của cácgói, thể hiện bởi một chuỗi 23 giá trị liêntục Các giá trị liên tục này thực ra là các bingiá trị của chiều dài phần tải tin của mỗi gói
Giá trị trong mỗi bin nằm trong khoảng 0 và
1
Chuỗi 23 giá trịliên tục
Tổng số byte truyền (bao gồm cả các bytephần tiêu đề lớp mạng và lớp vận chuyển)trên hướng xét
Liên tục
liệu Tổng số byte dữ liệu truyền trên hướng xét Liên tục
6 Số gói dữ
liệu
Tổng số gói đầy đủ (có phần tải tin #0)
Liên tục
βdtp Dấu hiệu tương tác dựa trên tỷ lệ các gói nhỏ Liên tục
γdtp Dấu hiệu về sự xuất hiện liên tục của các gói
Liên tục
βdtdl Dấu hiệu tương tác dựa trên tỷ lệ các gói nhỏ Liên tục
γdtdl Dấu hiệu về sự xuất hiện liên tục của các gói
nhỏ
Liên tục
Trang 21δpdl Dấu hiệu về kiểu truyền kết hợp Liên tục
εpdl
Dấu hiệu về sự không bình thường (đồng bộ)của thời lượng giữa các gói của các gói nhỏliên tiếp
độ gói)
Liên tục
14 Trị trung
tâm tải tin
Vị trí trung tâm của phân bố chiều dài phần
15 αptb
Dấu hiệu thể hiện mức độ gần với trị trungtâm của độ dài phần tải tin của các gói (thểhiện tính không đổi của độ dài phần tải tin)
Liên tục
1.2.4 Sự cần thiết phải phân loại lưu lượng IP
Trang 22Lưu lượng Internet tăng không ngừng do sự phát triển của các ứng dụng vàcác thuê bao mới Những nguyên nhân dẫn đến yêu cầu phải hiểu và đo được cácmẫu và đặc tính lưu lượng:
- Để hiểu được tầm vĩ mô cấu trúc của toàn bộ mạng, phục vụ cho việc quyhoạch mạng và tối ưu mạng:
+ Thiết kế, vận hành và quản lý lưu lượng mạng, nghĩa là cân bằng tảilưu lượng và hiệu suất sử dụng tài nguyên mạng để tương thích tốt nhất với cấuhình mạng hiện có, loại bỏ các vấn đề như sự xung đột và các vấn đề tương tự + Phát hiện và loại bỏ các giao thức không cần thiết, làm tăng hiệuquả mạng IP
+ Phát hiện các định tuyến không tối ưu
+ Định giá và tính cước
- Để cung cấp QoS phù hợp cho các ứng dụng (từ tầm vĩ mô tới các luồnglưu lượng, các phiên truyền và các kết nối):
Cấu hình mạng có thể rất linh động và tự thích ứng tốt; các tài nguyên mạng
có thể phân chia lại để cung cấp QoS phù hợp cho các ứng dụng trong các trườnghợp như: tốc độ truyền dẫn, độ trễ, jitter, mất gói và các nguyên nhân tương tự Việc
đo đạc và điều khiển thời gian thực rất cần thiết để đáp ứng QoS theo yêu cầu
- Phát hiện những yếu tố bất thường ảnh hưởng đến an ninh mạng:
Nhiệm vụ này bao gồm việc phát hiện những nguy hiểm tiềm năng ảnhhưởng đến lưu lượng mạng, chỉ ra vị trí, nguyên nhân của sự cố, thực hiện các thaotác để khắc phục những bất thường này, do đó hạn chế mở rộng sự cố ra toàn mạng Tuỳ thuộc các mục đích khác nhau, việc đo đạc có thể thực hiện theo thờigian dài hoặc theo thời gian thực, với các tỷ lệ thời gian khác nhau như tháng, tuần,tới giây và miligiây
Tuy nhiên, lưu lượng Internet luôn luôn thay đổi và không đồng nhất và do
đó, rất khó để dự đoán Hơn nữa, cũng rất khó để giám sát lưu lượng trên một mạngdiện rộng, lưu lượng rất lớn, có cơ chế quản lý phân tán và phương tiện không đồngnhất Việc hiểu được khuôn mẫu lưu lượng và các phương pháp đo đạc chỉ là bước
Trang 23đầu, xa hơn nữa việc nghiên cứu để giám sát lưu lượng IP trở nên rất quan trọng vàcấp thiết khi mà lưu lượng mạng phát triển theo hàm số mũ.
1.3 Mô hình lưu lượng IP
Trong hệ thống đảm bảo chất lượng dịch vụ các lớp ứng dụng thời gian thực
và phi thời gian thực được triển khai với một số cơ chế đăng nhập để cho các mạngquyết định liệu một yêu cầu gửi lưu lượng mới được chấp nhận hay loại bỏ sau khitính toán ảnh hưởng tới hoạt động đối với các luồng lưu lượng đang hoạt động
Có nhiều phương pháp để mô hình hóa các quá trình xuất hiện luồng lưulượng và kích thước luồng lưu lượng trong các ứng dụng đa phương tiện băng rộng,trong đó có hai nhóm tiếp cận mô hình chính Nhóm đầu tiên [9 ] tiếp cận mô tả lưulượng dữ liệu sử dụng mô hình Markov trong đó liên quan chính đến tiến trìnhPoisson, là phần quan trọng trong lý thuyết hàng đợi hiện tại Các mô hình kháctrong nhóm này để mô hình hóa xác suất xuất hiện gói như là Poisson –batch hoặcMarkov Modulate Poisson Process Nhóm thứ hai dựa trên bản chất tương tự nhaucủa các nguồn dữ liệu đa phương tiện Nhóm này tập hợp các mô hình dựa trên việcquan sát các mẫu lưu lượng đột biến được tạo ra bởi các nguồn dữ liệu và các ứngdụng bit thay đổi, với xu hướng mô tả mức độ tương quan giữa các luồng lưu lượngđến và chỉ ra những phụ thuộc theo thời gian (lưu lượng tự đồng dạng)
1.4 Kết luận chương
Với sự phát triển của kỹ thuật lưu lượng, việc giám sát lưu lượng mạng IP cóthể có tác động rất lớn đến hiệu năng của mạng Cấu trúc và phương pháp đo kiểmhiện tại không thể đáp ứng được những yêu cầu và đòi hỏi cho việc giám sát chínhxác QoS của các ứng dụng IP Do đó, luận văn nêu bật yêu cầu cần phải phát triểnnhững phương thức và mô hình giám sát lưu lượng mạng IP mới
Trang 24CHƯƠNG 2: CÁC PHƯƠNG PHÁP BẮT GIỮ VÀ PHÂN TÍCH LUỒNG
LƯU LƯỢNG IP 2.1 Các phương pháp bắt giữ lưu lượng IP trên Internet
Có rất nhiều lý do phải thực hiện thu thập lưu lượng Internet và đo lường cácthông số liên quan của nó Tuy nhiên, có thể tóm tắt theo 3 mục tiêu chính là:
- Phục vụ việc nghiên cứu đặc tính và sự biến thiên của lưu lượng
- Giám sát hiệu suất hoạt động và chất lượng dịch vụ của mạng
- Điều khiển truy nhập tài nguyên và cung cấp chất lượng dịch vụ (QoS)mạng
Hai mục tiêu sau liên quan chặt chẽ với nhau và chỉ khi khác nhau trênphương diện thang thời gian của phép đo Bảng 2-1 dưới đây trình bày các phép đođiển hình trong mạng Internet và ứng dụng tương ứng của chúng
Bảng 2-1: Một số phép đo điển hình trên mạng Internet
Số lượng gói /giây
RTT(round trip time)
Quy hoạch dung lượng
Tối ưu hoá mạng
Khai thác mạng
Cung cấp chất lượngdịch vụ
Cung cấp các dịch vụgiá trị gia tăng
Dự đoán xu hướng pháttriển của lưu lượng
Điều khiển truy nhậpmạng
Trang 25 Thiết lập mức chấtlượng
Tối ưu hoá việc phânphát nội dung
Lập kế hoạch sử dụng
Nhà sản
xuất thiết
bị mạng
Lấy mẫu lưu lượng
Phân tích log file
Phân bố kích thước gói,cụm, luồng, lưu lượng vàphiên làm việc
Phân ATI gói, luồng vàphiên làm việc
Cải thiện thiết kế vàcấu hình thiết bị
Cho phép giải quyết sự
cố thiết bị thời gianthực
Một cách tóm tắt, có thể phân loại các thông số cần đo của mạng Internet thành
Để thực hiện đo các thông số này người ta đã đưa ra nhiều phương pháp và
kĩ thuật đo khác nhau, nhưng nhìn chung có thể chia thành hai phương pháp chínhlà: Đo lường chủ động và đo lường thụ động
Đo lường chủ động thực hiện gửi dữ liệu, có thể là dữ liệu ứng dụng hoặc dữliệu thăm dò, từ một điểm đến hoặc nhiều đích khác nhau sau đó bắt lại các gói
Trang 26thăm dò tại đầu kia hoặc các gói phản hồi trở lại để xác định phản ứng của mạng lênlưu lượng thăm dò và từ đó tính được trễ truyền đến nút đích tương ứng, RTT hoặc
tỉ lệ mất gói Phương pháp này có ưu điểm là dễ thực hiện tuy nhiên lại có nhượcđiểm là tạo ra lượng tải không cần thiết (lưu lượng thăm dò) trên mạng và các phần
tử mạng và đôi khi cho kết quả không chính xác hoặc thậm chí là không thể tiếnhành được do các phần tử mạng có thể không hỗ trợ lưu lượng thăm dò hoặc có thểhuỷ bỏ lưu lượng thăm dò khi tình trạng tải của có cao,vv
Đo lường thụ động không gửi lưu lượng thăm dò vào mạng mà tiến hành bắtlưu lượng thực của mạng tại các nút hay liên kết trên mạng để phân tích tìm ra cácthông số cần đo như tốc độ phát gói của các ứng dụng hoặc nút mạng, đặc tính phân
bố lưu lượng trên mạng theo thời gian hay không gian,vv Ưu điểm của phươngpháp đo này là không tạo ra lưu lượng vô ích trên mạng, tuy nhiên nhược điểm làyêu cầu hệ thống đo lường phải có khả năng lưu trữ và xử lý một lượng lớn dữ liệuvới tốc độ cao Hơn nữa nhiều khi do chính sách bảo mật mà các nhà khai thácmạng không cho phép thực hiện các phép đo thụ động này
Qua đó có thể thấy đo lường chủ động thường được sử dụng cho các mụcđích cần xác định các thông số hiệu suất của mạng như trễ truyền gói, RTT (trễtruyền hai chiều), tỉ lệ mất gói, v.v còn đo lường thụ động lại phù hợp hơn chocác mục đích giám sát mạng, trong đó người ta quan tâm đến việc quan sát các biểuhiện và trạng thái biến thiên của tải lưu lượng trên mạng cũng như đảm bảo rằngmạng đang cung cấp các mức chất lượng và hiệu suất định trước
Mục tiêu đặt ra của bài toán này là tìm hiểu các biểu hiện biến thiên của lưulượng ứng dụng trên mạng Internet ở mức luồng và từ đó xây dựng các mô hìnhphân tích và phân loại lưu lượng thành các nhóm ứng dụng có đặc tính lưu lượng
tương tự nhau, do đó phương pháp sử dụng ở đây là đo lường thụ động nhằm thu
thập các gói lưu lượng vận chuyển qua điểm quan sát và các thông số liên quan củachúng
Các nội dung tiếp theo của chương này sẽ trình bày các chi tiết kĩ thuật đolường thụ động cũng như những vấn đề liên quan của nó
Trang 272.1.1 Đo lường thụ động
Như đã nói ở trên, kỹ thuật đo lường thụ động thực hiện bắt các gói lưu lượngứng dụng truyền trên mạng Internet qua điểm đo và lưu trữ lại dưới một định dạngnào đó (thường dưới dạng nhị phân) Đặc điểm của đo lường thụ động là không làmảnh hưởng đến hoạt động của mạng do không yêu cầu phát lưu lượng thăm dò, tuynhiên khó khăn là lượng dữ liệu đo là rất lớn Ví dụ, một kết nối 155Mbps với hệ số
sử dụng trung bình ≈ 80Mbps và giả thiết kích thước gói trung bình là 750 byte, khi
đó sẽ có khoảng 13000 gói/s hay nói cách khác thời gian đo kéo dài 1s sẽ tạo lượng
dữ liệu là ≈10MB Với dung lượng của các đĩa cứng hiệu suất cao hiện nay, ví dụ
40 GB, chỉ có thể lưu được dữ liệu đó trong 1 giờ Giải pháp khắc phục đơn giảnnhất là chỉ lưu phần tiêu đề IP và tiêu đề giao thức vận chuyển (khoảng 40 byte/gói), lượng dữ liệu đo khi đó chỉ còn ≈0,5 MB/s và vì thế cũng với đĩa cứng ở trên
sẽ có thể lưu trữ dữ liệu đo trong 18 giờ
Ngoài ra, dữ liệu đo thường có rất nhiều thông tin trùng lặp và không phải tất
cả thông tin bắt được đều cần thiết Do đó, khi chuẩn bị cho phép đo cần xác địnhtrước những thông tin nào cần thu thập và thực hiện các biện pháp lọc và nén dữliệu để loại bỏ các thông tin không cần thiết Nếu so sánh với việc đo lường trongcác mạng chuyển mạch kênh truyền thống sẽ thấy có sự khác nhau rõ ràng ở đây: đểlưu trữ các thông tin quan trọng của 1 cuộc điện thoại chỉ cần không gian lưu trữ
200 byte là đủ, tương ứng với độ dài cuộc thoại 25ms với tốc độ 64kbps Nếu cuộcgọi có độ dài 3 phút (cuộc gọi điển hình) thì bản tin lưu trữ chỉ bằng 0,01% luồnglưu lượng dữ liệu Trong các mạng dữ liệu thì phần thông tin tiêu đề của gói dữ liệuchỉ bằng 5% kích thước gói (40/750), do đó việc chỉ ghi lại phần tiêu đề của gói làmột trong các phương pháp nén dữ liệu đo hiệu quả
Thực tế hiện nay có khá nhiều công cụ cho phép thu thập gói lưu lượng Internetđược phát triển với các mục đích khác nhau như phân tích và hiệu chỉnh các giaothức mạng, phục vụ quá trình tính cước/ thống kê, hay phức tạp hơn là nhằm pháthiện và ngăn chặn các vụ tấn công mạng Các công cụ này hoặc được thực hiệnbằng phần mềm, phần cứng hoặc kết hợp cả hai Ví dụ, có thể sử dụng các thiết bị
Trang 28kiểm tra đường truyền hay thiết bị phân tích giao thức để đo lường lỗi đường truyềncũng như lỗi gói trong thời gian thực, hoặc sử dụng các công cụ phần mềm nhưTCPDUMP để quan sát các gói IP trên mạng LAN.
Theo khảo sát cũng như đánh giá của các dự án nghiên cứu khác nhau, điểmchung của các công cụ sẵn có là phần lớn trong số chúng là các phần mềm mãnguồn mở với độ ổn định rất kém, không có nhiều lựa chọn đối với thuật toán bắtgói, không có hoặc chỉ có thuật toán lấy mẫu đơn giản, không có khả năng bắt mộtlượng gói lớn và trên liên các mạng tốc độ cao, không có khả năng phân tích thống
kê lưu lượng bắt được, v.v Những công cụ tốt và hiệu suất cao thì lại đa phần làcác sản phẩm thương mại hoá như NetFlow của hãng Cisco, thiết bị Endance củacông ty Endance, v.v
Các công cụ mã nguồn mở hiện không đáp ứng được các yêu cầu đặt ratrong việc thu thập lưu lượng gói mạng Internet , xét trên các mặt về độ ổn định, sốlượng gói bắt được, khả năng giải mã nhiều giao thức mạng, khả năng tổ chức lưulượng đo dưới dạng cơ sở dữ liệu quan hệ hay khả năng phân tích thống kê
2.1.1.1 Tiến trình bắt giữ gói lưu lượng
Trong kỹ thuật đo lường thụ động thì tiến trình quan trọng nhất là bắt giữ cácgói lưu lượng truyền trong mạng và phương pháp bắt giữ gói nhìn chung phụ thuộcvào công nghệ mạng sử dụng Trong các mạng sử dùng chung như Ethernet (IEEE802.3) có thể thực hiện việc này tương đối dễ dàng bằng cách thiết lập cấu hình cardgiao tiếp mạng (NIC) để nó hoạt động ở chế độ “promiscuos” cho phép chuyển tất
cả các gói nhìn thấy trong mạng cho hệ điều hành xử lý (ở chế độ bình thường NICchỉ chuyển những gói nào có địa chỉ MAC đích trùng với địa chỉ MAC của nó hoặccác gói phát quảng bá cho hệ điều hành) Trong trường hợp công nghệ mạng sử
dụng là các giao thức điểm- đến- điểm như ATM, Ethernet tốc độ cao hay các
đường nối trực tiếp, thì phương pháp bắt dữ liệu phong phú hơn Một trong các cách
đó là thiết lập cấu hình thiết bị mạng (các bộ chuyển mạch cấp 2) để chúng chuyểntiếp các gói nhìn thấy ở một cổng đến cổng nối với thiết bị đo để ghi lại, tuy nhiênphương pháp này sẽ tạo ra một lượng Jitter nhất định cho các gói đo Cách khác là
Trang 29“quan sát” thụ động, ví dụ dữ liệu truyền trên các liên kết cáp quang có thể đượcnhân đôi bằng các bộ chia tách quang mà thực chất là chuyển hướng một phần côngsuất tín hiệu ánh sáng sang một sợi quang khác dẫn đến thiết bị đo Vì thế thiết bịchia tách quang này hoàn toàn hoạt động ở chế độ thụ động nên phép đo sẽ khônglàm ảnh hưởng gì đến hoạt động bình thường của mạng nếu như năng lượng quangsau khi chia tách còn đủ lớn Phương pháp này cũng có thể được áp dụng cho cácliên kết truyền dữ liệu dưới dạng tín hiệu điện, tuy nhiên với những liên kết tốc độcao thì nó có thể gây ảnh hưởng đến hoạt động của mạng mày vì thế thiết bị đo cóthể làm thay đổi đặc tính điện của liên kết do không phối hợp trở kháng.
Một phương pháp bắt dữ liệu khác là sử dụng các thiết bị đo kiểu “xuyênqua” trong đó liên kết sẽ được kết nối với thiết bị đo, thiết bị trong khi bắt gói cũngđồng thời nhân đôi gói ra liên kết đầu ra một cách nguyên vẹn Tuy nhiên trongtrường hợp nếu thiết bị đo không hoạt động có thể là toàn bộ lưu lượng truyền quahoặc theo hình thức lấy mẫu, biện pháp lấy mẫu thường hay được sử dụng trong cácphép đo vì nhiều lý do, như: nó kinh tế hơn, đáp ứng về thời gian tốt hơn, giảm kíchthước tập dữ liệu đo, hay chỉ đơn thuần là do không có khả năng truy nhập xuất đếntoàn bộ lưu lượng mạng,vv Tuy nhiên lấy mẫu ngẫu nhiên cũng gây ra vấn đề về
độ chính xác của dữ liệu đo Một kĩ thuật lấy mẫu lý tưởng phải có đặc điểm sau:
- Việc lựa chọn các khung lưu lượng đến bắt giữ phải đảm bảo tínhngẫu nhiên, không thiên vị hay qua bất kỳ loại lưu lượng nào
- Việc chọn các khung lưu lượng phải trên cơ sở càng nhiều càng tốt
mà không làm ảnh hưởng đến các nhiệm vụ quan trọng khác
- Tạo ra một lượng tải xử lý tối thiểu đối với thiết bị đo
Thực tế cho thấy lấy mẫu là một trong những bước quan trọng của quá trình
đo lường thụ động nên luận văn sẽ dành phần 3 để trình bày thêm về các kỹ thuậtlấy mẫu lưu lượng Internet
2.1.1.2 Tiến trình phân tích thô dữ liệu gói bắt được
Các phép phân tích ban đầu đối với dữ liệu đo thường được thực hiện nhằmxác định các thuộc tính thống kê cơ bản của lưu lượng, như: phân bố số lượng gói/
Trang 30luồng trong khoảng thời gian cho trước hay phân bố kích thước gói/ luồng,vv vàcác thông số liên quan của phân bố như giá trị trung bình, Giá trị trung tâm, độ lệchtiêu chuẩn,vv Mặc dù hình dạng của phân bố giả định của các tham số mạng cần
quan tâm trong phép đo chưa biết, nhứng bằng Định lý giới hạn trung tâm (Central
Limit Theorem), hoàn toàn có thể nhận dạng được một số dịch chuyển đáng kể của
phân bổ Và cho dù hình dạng phân bố của các tham số nào thì giá trị kỳ vọng củacác mẫu lưu lượng đo thực cũng sẽ tiếp cận kỳ vọng của phân bố và độ lệch tiêuchuẩn của chúng sẽ tiếp cận độ lệch tiêu chuẩn của phân bố giả định chia cho cănbậc hai của kích thước mẫu Các thông số thống kê đó có thể dễ dàng tính được dựa
trên 3 giá trị của phép đo là số lượng mẫu, tổng giá trị và tổng bình phương của các
mẫu.
Tuy nhiên do lưu lượng mạng thường thay đổi theo định kỳ, nên trị số “tiêuchuẩn” của các thông số lưu lượng cũng sẽ thay đổi theo, có thể khắc phục hiệntượng này bằng cách sử dụng các cửa sổ quan sát
Các mức lưu lượng trong mạng chuyển mạch gói như Internet thường được
đo trên các thang thời gian tương đối dài (15- 30 phút) so với kích thước cụm lưulượng, nếu thang thời gian ngắn hơn thì lượng dữ liệu đo sẽ rất lớn và đôi khi phầnhoặc thiết bị đo không đáp ứng được Một số nghiên cứu [5] đã trình bày một số mô
tả thống kê lưu lượng đo, như: PMR (tỉ lệ giá trị đỉnh/trị trung bình),CSQ (binh
phương hệ số biến thiên), Dc (lượng tương quan), IDC (chỉ số phân tán của các bộ
đếm các thông số liên quan đến lưu lượng đo), P (mức độ đỉnh) và tham số H(Hurst) Ba thông số đầu tiên ( PMR, CSQ, Dc) được xem là các tham số đo lườngthực tế và người ta cũng đã nghiên cứu thêm về chúng với các dữ liệu đo được từmạng Internet (6 tệp dữ liệu, với 100000 gói/tệp) và mạng báo hiệu ISDN (với 5dòng dữ liệu), kết quả cho thấy rằng nếu chọn được thang thời gian thích hợp thìthông số PMR có thể cung cấp thông tin về sự thiếu hụt băng thông
Kết quả nghiên cứu đặc tính tự tương quan của trễ xếp hàng trên các dữ liệu
đo của mạng Ethernet và mạng ISDN, cho thấy mô hình GI/G/1 là phù hợp nhất choviệc mô tả dữ liệu đo Việc so sánh trễ trung bình trong các trường hợp hệ số sử
Trang 31dụng khác nhau, khi hệ số sử dụng >0,5 thì hai đường cong GI/G/1 và dữ liệu đobiến đổi khác nhau Khi xáo trộn một cách ngẫu nhiên tập dữ liệu đo nhằm triệt tiêu
sự tương quan nhưng vẫn duy trì phân bố biên (marginal) thì kết quả cho thấyđường cong phân bố dữ liệu đo phù hợp với đường cong GI/G/1 Tiếp theo, chia dữliệu đo thành các khối có kích thước cố định từ 10 – 100 gói/ khối nhằm duy trìđược các cụm lưu lượng cục bộ, với kích thước khối là 15 gói, tiến hành xáo trộncác khối nhưng giữ nguyên thứ tự các gói trong từng khối, kết quả cho thấy trễ xếphàng thay đổi so với dữ liệu đo gốc Tuy nhiên nếu xáo trộn cục bộ các khối (nghĩa
là giữ nguyên thứ tự các khối nhưng thay đổi thứ tự các gói trong từng khối) thì dữliệu đo cho thấy sự tương quan thời gian dài và phù hợp với dữ liệu đo gốc trên khíacạnh trễ xếp hàng, do đó mô hình FBM (Fractional Brownian Motion) là phù hợpvới dữ liệu đo trừ trường hợp thang thời gian ~ 10ms thì hiện tượng phụ thuộc thờigian ngắn là phổ biến Đồng thời do sự giới hạn về độ dài của dữ liệu đo nên phân
bố chiều dài hàng đợi của dữ liệu đo đối với các giá trị lớn suy giảm nhanh hơn sovới mô hình
Tóm lại các kết quả nghiên cứu trên cho thấy nếu mục đích nghiên cứu làphân tích và đánh giá các biểu hiện hoạt động và hiệu suất của mạng thì việc đolường và phân tích dữ liệu đo tại các thang thời gian thấp là không cần thiết Cácthang thời gian thấp (xấp xỉ giá trị RTT) chỉ phù hợp cho việc phân tích và dự đoántham số H là tham số phản ánh mức độ co cụm của lưu lượng hoặc hiện tượng phân
bố vệt dài của các thông số lưu lượng tương ứng
Một phương pháp khác là phân tích lưu lượng đo trong miền tần số, theo đó
có thể chia lưu lượng thành 3 loại khác nhau, bao gồm :
Trang 32lượng tần số cao, do đó việc lựa chọn đúng các tần số ω L và ω H sẽ giúp ích nhiều cho công việc đo lường và phân tích lưu lượng mạng thực tế.
2.1.1.3 Đo lường mạng đường trục
Việc tiến hành đo lưu lượng của kết nối giữa các mạng LAN với nhau sử
dụng công nghệ mạng WAN DQDB [6] (Ditributed Queuing Dual Bus) trong thời
gian 4 giờ (từ 11:00 – 15:00) của ngày làm việc Kết quả đo một lần nữa xác nhậncác kết luận của nghiên cứu trước đây về tính tự đồng dạng và có sự tương quantrong thời gian dài của lưu lượng Ngoài ra, với việc tiến hành tính chỉ số phân tánIDC của dữ liệu đo (phần lớn là TCP/IP), kết quả cho thấy tiến trình 2s – MMPP
(two – stage Markov Modulated Poisson Process) là thích hợp cho việc phân tích
dữ liệu đo ở thang thời gian ngắn còn mô hình FGN (Fractional Gaussian Noise) là
phù hợp cho quá trình phân tích ở các thang thời gian dài hơn
Một dự án nghiên cứu [6] đã tiến hành thu thập lưu lượng mạng đường trụcNSFNET của Mỹ và đánh giá tổng lưu lượng đo được, xu hướng biến đổi của nócũng như phân bố lưu lượng theo từng giao thức Kết quả cho thấy sự biến thiênhàng ngày của kích thước gói sẽ tương ứng với hệ số sử dụng khi các ứng dụngtruyền lưu lượng theo dạng từng khối một (như FTP) và hoạt động vào các giờkhông bận Tuy nhiên họ cũng không thấy có sự xuất hiện của một quy luật biếnthiên nhất định đối với thông số kích gói lưu lượng trên các thang thời gian dài.Ngoài ra kết quả phân tích cũng cho thấy chỉ một số ít hệ thống trong mạng (31 trêntổng số 4250 mạng, hay 0,7%) đóng góp ½ tổng lưu lượng và 118 hệ thống (2,8%)nhận khoảng 50% lưu lượng, và 46,9% lưu lượng được trao đổi giữa 1500 cặp hệthống (0,28% trên tổng số 560048 cặp có thể )
Theo truyền thống người ta hay định nghĩa luồng lưu lượng TCP là tập hợpcác gói lưu lượng truyền giữa hai gói SYN (thiết lập kết nối TCP) và gói FIN ( kếtthúc kết nối TCP), tuy nhiên định nghĩa này không khả thi trong trường hợp đolường các mạng lõi, vì những lý do sau:
- Thiết bị đo có thể huỷ đi một số gói nhất định
Trang 33- Một trong các trạm đầu cuối (của kết nối TCP) có thể gặp sự cố (hệ thống bịkhởi tạo lại hoặc kết nối mạng của nó bị đứt) nên nó sẽ không bao giờ gửi đigói FIN.
- Đường đi của kết nối (TCP) có thể bị thay đổi do đó phần còn lại của luồng
sẽ không còn nhìn thấy tại điểm đo nữa
- Hơn nữa cơ chế SYN/FIN chỉ có thể áp dụng với luồng lưu lượng TCP, cònđối với lưu lượng UDP thì không thể biết được điểm bắt đầu và kết thúc củamột luồng lưu lượng
Ngoài ra một định nghĩa luồng lưu lượng Internet cũng được sử dụng khá phổbiến đó là một dòng các gói truyền theo cả hai chiều [9] với một tham số chung xácđịnh trước, ví dụ vùng chung địa chỉ với IP nguồn/đích và số hiệu cổng ứng dụngchẳng hạn Tuy nhiên, trong nghiên cứu trên dữ liệu đo có thời lượng 1 giờ củamạng đường trục NSFNET và một số mạng đô thị khác, ngoài các tham số chung
trên còn thông số khác là thời gian time-out, là khoảng thời gian lớn giữa hai gói
liên tiếp được xem là trong cùng một luồng Trong nghiên cứu này đã thử giá trị
time – out từ 2s – 2048s Kết quả cho thấy một số giao thức ứng dụng như DNS và
FTP không bị ảnh hưởng bởi việc lựa chọn giá trị time –out, trong khi những ứng
dụng khác như Telnet lại bị ảnh hưởng rất lớn
Một nghiên cứu khác về lưu lượng mạng đường trục [10] đã đo lường lưu
lượng mạng vBNS/Mỹ với thiết bị đo OC3MON và tiến hành phân tích phân bố
kích thước gói, đặc tính luồng lưu lượng cũng như phân bố lưu lượng theo từng giaothức Tuy nhiên, do hạn chế của thiết bị đo OC3MON nên các luồng lưu lượngtrong phép đo này thường bị kết thúc một cách cưỡng ép sau các khoảng thời gian 1giờ, do đó làm ảnh hưởng đến các số liệu thống kê của các luồng lưu lượng dài nhưtrong các ứng dụng multicast
2.1.1.4 Đo lường mạng nội bộ
Cũng đã có rất nhiều nghiên cứu thực hiện việc đo lường lưu lượng và cácthuộc tính của chúng trong các mạng nội bộ (LAN) Một số nghiên cứu điển hìnhngười ta đã thực hiện đo lường tải lưu lượng tổng hợp của các phiên làm việc trong
Trang 341 mạng nội bộ bao gồm các phiên đăng nhập mạng (nội bộ và từ xa) hay các phiêntruy nhập ổ cứng mạng (nội bộ và từ xa) Từ kết quả đo lường đưa ra thời gian đápứng, khả thông và hệ số sử dụng các tài nguyên dùng chung, theo đó đã phát hiện racác điểm thắt cổ chai và đề xuất các biện pháp cải thiện hiệu suất hoạt động củamạng Một nghiên cứu khác đã tiến hành thu thập lưu lượng mạng LAN trong vòng
5h bằng công cụ Tcpdump và tiến hành phân tích dữ liệu đo để đặc tính hoá các
ứng dụng khác nhau, kết quả phân tích bao gồm tốc độ (lưu lượng) trung bình trongtừng phút, tỉ lệ phần trăm lưu lượng của từng giao thức ứng dụng và phân bố kíchthước gói trên mạng
Cuối cùng, có một nghiên cứu [11] đã tiến hành đo lường mạng Ethernetđường trục tại ĐH Florida/Mỹ, kết quả đo lường cho thấy tải lưu lượng mạng (hay
hệ số sử dụng mạng) là khoảng 3,7%; 4,3%; và 6,9% trên các khoảng thời giantương ứng: giờ bận, 30 phút và 10 phút Ngoài ra nghiên cứu cũng đã phân loại lưulượng trong từng giờ thành 5 loại khác nhau tuỳ theo độ lớn của lưu lượng và cuốicùng phân bố kích thước gói được phát hiện là không đổi trong những khoảng thờigian 24h với kích thước trung bình là 138,6 byte
2.1.1.5 Đo lường mạng quay số (Dial- up và ADSL)
Người ta đã nghiên cứu [11] đo lường các cuộc gọi số liệu theo kiểu quay sốtrong vòng 30 ngày với tổng số cuộc gọi là 500.000 Trong phép đo này người tatiến hành ghi lại những tham số sau của từng cuộc gọi
- Thời điểm bắt đầu cuộc gọi
- Thời gian duy trì cuộc gọi
- Tổng số byte và gói thông tin truyền từ 1 người dùng đến mạng
- Và tổng số byte và gói thông tin truyền từ mạng đến một người dùng.Tuỳ theo kích thước trung bình của các gói truyền từ mạng đến người dùng, cáccuộc gọi được phân loại thành 2 loại A và B Quan sát cho thấy thời gian duy trìcuộc gọi của các cuộc gọi thuộc loại A là khoảng 300s còn của loại B khoảng1700s, ngoài ra kết quả cũng cho thấy tốc độ bit từ người dùng đến mạng của cáccuộc gọi tới mạng loại A cao hơn Điều này dẫn đến suy luận là các cuộc gọi loại A
Trang 35là của các ứng dụng gửi và nhận thư điện tử còn các cuộc gọi loại B là của ứngdụng duyệt Web hay những công việc tương tự Nghiên cứu quá trình đến của cáccuộc gọi cho thấy khoảng thời gian giữa thời điểm đến (i.a.t) của các cuộc gọi cóthể được mô hình hoá bằng phân bố hàm siêu mũ (Hyper – Exponential) hay là tổngcủa một khoảng các phân bố hàm mũ.
2.1.2 Phương pháp nén dữ liệu đo và kỹ thuật lấy mẫu lưu lượng IP
Dữ liệu trong các phép đo lưu lượng thụ động thường rất lớn do đó cần thiếtphải thực hiện một số biện pháp nhằm giảm kích thước hay nói cách khác là nén dữliệu này lại để có thể lưu trữ, vận chuyển và phân tích được dễ dàng hơn Một sốphương pháp quan trọng đang được sử dụng hiện nay bao gồm: sử dụng các bảntóm tắt gói, sử dụng khái niệm luồng lưu lượng, và cuối cùng là biện pháp lấy mẫu
- Sử dụng dấu hiệu gói lưu lượng
Một trong những cách có thể sử dụng để giảm được dữ liệu đo là sử dụng
“dấu hiệu” gói và luồng, phương pháp này có thể áp dụng cho các phép đo trong đómục đích không phải là nội dung của các goi mà là xác định biểu hiện của các góilưu lượng khi di chuyển qua các thành phần mạng khác nhau, ví dụ như các phép đotrễ hay tỉ lệ mất gói, sơ đồ định tuyến hay xác định các tấn công từ chối dịch vụ(DdoS)
Ý tưởng của phương pháp này là sử dụng một số thuật toán để tính toán 1
mô tả tóm tắt (gọi là digest) nội dung của một gói lưu lượng, thuật toán đơn giản
nhất đó là cộng tất cả các byte của gói dữ liệu lại với nhau, tuy nhiên kết quả là tỉ lệxung đột tương đối cao Bằng cách sử dụng các thuật toán tạo bảng tóm tắt tinh vihơn, ví dụ sử dụng các cơ chế tạo mật mã như MD5 và SHA có thể giảm tỉ lệ va
chạm cho dù chỉ sử dụng một phần các giá trị Hash Cần lưu ý là khi tính các “mô
tả tóm tắt” của các gói cần phải bỏ qua những trường trong phần tiêu đề của gói IP
như DS, TTL và Checksum vì chúng có thể thay đổi trên đường đi của gói
Phương pháp này cũng có thể áp dụng cho trường hợp các trang tài liệu web
vì nếu một trang web được truyền nhiều lần trên cùng một liên kết người ta thường
sử dụng cơ chế nhớ tạm thời (caching) để giảm lượng thông tin tải trên mạng.
Trang 36- Sử dụng khái niệm luồng lưu lượng
Thực tế mỗi kết nối trên mạng Internet chứa nhiều gói IP và các gói liên tiếpnhau thường có phần tiêu đề tương tự nhau, ví dụ trong một phiên làm việc UDPhoặc TCP bình thường, các gói chỉ có một số ít trường khác nhau là:
+ Chỉ số nhận dạng khối dữ liệu IP, được sử dụng trong trường hợp cầnphải phân đoạn khối dữ liệu TCP, tuy nhiên trong các phiên bản TCP mớinhất người ta tránh tối đa việc phân đoạn dữ liệu TCP bằng các bản tinkhám phá PMTU
+ Trường checksum của gói IP
+ Số thứ tự khung dữ liệu TCP
+ Số thứ tự khung phúc đáp (ACK) của TCP
+ UDP hoặc TCP Checksum
Trường chỉ số nhận dạng khối dữ liệu IP cần thiết trong một số trường hợp,
ví dụ để xác định các khối dữ liệu IP trùng lặp, tuy nhiên đối với bài toán mô hìnhhoá nguồn hoặc luồng dữ liệu thì nó là không cần thiết Về chỉ số này cộng đồngnghiên cứu mạng Internet cũng đã thảo luận rất nhiều về sự cần thiết của nó và đa
số thống nhất với nhau là có thể bỏ trường này vì các phiên bản TCP Các trườngChecksum được tính từ dữ liệu, đối với trường Checksum của gói IP thì hoàn toàn
có thể kiểm tra được do nó chỉ tính trong phần tiêu đề của gói, nhưng phầnchecksum của TCP hoặc UDP thì cần phải bắt cả khối dữ liệu Đối với trường TTL,
nó sẽ thay đổi nếu như đường đi của các khối dữ liệu thay đổi, nên nếu mục đíchphép đo là theo dõi các thay đổi trong bảng định tuyến của mạng thì cần phải ghi lạigiá trị TTL
Cuối cùng các trường số thứ tự gói TCP truyền và ACK của các gói liên tiếpnhau của cùng một luồng dữ liệu thực tế gần bằng nhau, nếu không có sự thay đổithứ tự hay mất các khối dữ liệu truyền thì chúng khác nhau 1 lượng đúng bằng kíchthước phần tải tin của mỗi gói
Tóm lại bằng cách kết hợp tất cả các phương pháp loại bỏ các trường khôngcần thiết hoàn toàn có thể nén phần tiêu đề của các gói dữ liệu lưu lượng với tỉ lệ
Trang 37Cuối cùng phương pháp hay được áp dụng nhất hiện nay để nén dữ liệu đo làphương pháp lấy mẫu lưu lượng
Việc lấy mẫu lưu lượng Internet là nhằm giảm lượng dữ liệu đo để có thểthu được các liên kết tốc độ cao mà tốc độ của thiết bị đo không đáp ứng được Lấymẫu có thể được thực hiện trong quá trình bắt giữu gói hoặc sau khi đã có dữ liệu
đo tuỳ vào bản chất của bài toán và hạ tầng mạng
Hiện nay có một số phương pháp và kỹ thuật lấy mẫu lưu lượng khác nhau
có thể áp dụng tuỳ theo yêu cầu xử lý và độ chính xác của phép phân tích và nhìnchung có thể chia chúng thành hai loại chính bao gồm lấy mẫu theo thời gian và lấymẫu theo sự kiện
• Lấy mẫu theo thời gian là một trong những kỹ thuật xử lý tín hiệu truyền thống
và theo lĩnh vực đo lường lưu lượng khái niệm này đựoc hiểu như sau: giả thiết dữliệu lưu lượng đo được là D bao gồm 3 thông số quan trọng là:thời điểm đến củaPDU ( đơn vị dữ liệu giao thức), TA,i; chiều dài của PDU là Li; và bản thân PDU là
pi Các thông số này sau đó được đặt lên trục thời gian với bộ đánh dấu Ts là số đơn
vị thời gian giữa chúng, trong những klhoảng thời gian đó một hoặc nhiều tham sốđược tổng hợp để sử dụng trong các quá trình phân tích lưu lượng tiếp theo Kỹthuật lấy mẫu lưu lượng theo thời gian đơn giản nhất là chúng ta sẽ lấy mẫu lưulượng trong mỗi khoảng thời gian Ts
• Lấy mẫu theo sự kiện hay còn gọi là lấy mẫu thích ứng, không xem thời gian làtiêu chí để lấy mẫu gói mà việc lấy mẫu được thực hiện khi có sự kiện nào đó xảy ra
ví dụ như sự kiện có n gói đến hay sự kiện kết thúc khoảng thời gian T không có góinào đến kể từ gói cuối cùng Tuy nhiên quá trình tổng hợp lưu lượng sau từng thaotác lấy mẫu cũng giống như trường hợp lấy mẫu theo thời gian
Theo truyền thống thì quá trình đặc tính hoá lưu lượng mạng Internet thườngđược thực hiện một cách đơn giản bằng cách đo và lưu trữ các chuỗi phân bố củamột số tham số nhất định như: kích thước gói, khoảng thời gian giữa các thời điểmđến, loại gói hay thông tin về phân bố luồng lưu lượng theo vị trí địa lý Tuy nhiên
do gần đây, tốc độ đường truyền mạng internet tăng lên rất lớn cho nên việc tiếp tục