ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Lê Đình Danh THUẬT TOÁN QUẢN LÝ HÀNG ĐỢI A-RIO Ngành: Công nghệ thông tin Chuyên ngành: Mạng và truyền thông Mã số: 1.01.10 LUẬN VĂ
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Lê Đình Danh
THUẬT TOÁN QUẢN LÝ HÀNG ĐỢI A-RIO
Ngành: Công nghệ thông tin
Chuyên ngành: Mạng và truyền thông
Mã số: 1.01.10
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC:
GVC, TS Nguyễn Đình Việt
Hà nội – 2007
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong Luận văn là sản phẩm của riêng cá nhân tôi, không sao chép lại của người khác Những điều được trình bày trong nội dung Luận văn, hoặc là của cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn đúng quy cách Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình
Thanh Hoá, 11/2007
Lê Đình Danh
Trang 3MỤC LỤC
LỜI CAM ĐOAN - 1 -
MỤC LỤC - 2 -
BẢNG CHỮ CÁI VIẾT TẮT - 4 -
DANH MỤC CÁC BẢNG BIỂU - 6 -
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ - 7 -
MỞ ĐẦU - 9 -
CHƯƠNG 1 GIỚI THIỆU Error! Bookmark not defined 1.1 Lịch sử phát triển của mạng Internet và bộ giao thức TCP/IP Error!
Bookmark not defined
1.2 Các khái niệm về Multimedia và QoS Error! Bookmark not defined
1.2.1 Khái niệm truyền thông đa phương tiện (multimedia) Error! Bookmark
not defined
1.2.2 Khái niệm QoS Error! Bookmark not defined
1.3 Rào cản đối với truyền thông multimedia trên Internet Error! Bookmark not
defined
1.4 Hạn chế của dịch vụ cố gắng tối đa và các phương pháp khắc phục Error!
Bookmark not defined
1.4.1 Hạn chế của dịch vụ cố gắng tối đa Error! Bookmark not defined
1.4.2 Các phương pháp đảm bảo QoS cho truyền thông multimedia trên nền
các dịch vụ Best Effort Error! Bookmark not defined
1.5 Hiệu suất và đánh giá hiệu suất mạng Error! Bookmark not defined
1.5.1 Khái niệm hiệu suất và các độ đo hiệu suất mạng Error! Bookmark not
defined
1.5.2 Các phương pháp đánh giá hiệu suất mạng Error! Bookmark not
defined
CHƯƠNG 2 MỘT SỐ CHIẾN LƯỢC PHỤC VỤ PHỔ BIẾN Error! Bookmark
not defined
2.1 Cơ chế FCFS (FIFO) Error! Bookmark not defined 2.2 Hàng đợi ưu tiên (PQ) Error! Bookmark not defined 2.3 Chiến lược Packet-Based Round Robin (PBRR) Error! Bookmark not
defined
2.4 Chiến lược Packet Fair Queuing và một số biến thể Error! Bookmark not
defined
2.5 Chiến lược Flow-Based Weighted Fair Queuing (WFQ) Error! Bookmark
not defined
2.6 Chiến lược Class-Based Weighted Fair Queuing (CBQ) Error! Bookmark
not defined
Trang 4CHƯƠNG 3 CÁC CHIẾN LƯỢC QUẢN LÝ HÀNG ĐỢI ĐỘNG Error!
Bookmark not defined
3.1 Cách tiếp cận truyền thống và hệ quả Error! Bookmark not defined
3.1.1 Hiện tượng Lock-Out và Global Synchronization Error! Bookmark not
defined
3.1.2 Hiện tượng Full Queues Error! Bookmark not defined
3.2 Chiến lược AQM Error! Bookmark not defined
3.2.1 Giảm số gói tin bị loại bỏ tại router Error! Bookmark not defined 3.2.2 Giảm độ trễ Error! Bookmark not defined 3.2.3 Tránh hiện tượng Lock-Out Error! Bookmark not defined
3.3 Thuật toán RED Error! Bookmark not defined
3.3.1 Giới thiệu Error! Bookmark not defined 3.3.2 Mục tiêu và nguyên tắc thíết kế Error! Bookmark not defined 3.3.3 Giải thuật Error! Bookmark not defined 3.3.4 Thiết lập các tham số Error! Bookmark not defined 3.3.5 Một số đánh giá về RED Error! Bookmark not defined 3.3.6 Nghiên cứu RED bằng mô phỏng Error! Bookmark not defined
3.4 Thuật toán Adaptive-RED Error! Bookmark not defined
3.4.1 Ý tưởng của A-RED Error! Bookmark not defined 3.4.2 Thuật toán A-RED Error! Bookmark not defined 3.4.3 Thiết lập các tham số cho A-RED Error! Bookmark not defined 3.4.4 Nghiên cứu A-RED bằng mô phỏng Error! Bookmark not defined
CHƯƠNG 4 THUẬT TOÁN QUẢN LÝ HÀNG ĐỢI A-RIO Error! Bookmark
not defined
4.1 Giới thiệu Error! Bookmark not defined 4.2 Thuật toán RIO Error! Bookmark not defined
4.2.1 Ý tưởng của RIO Error! Bookmark not defined 4.2.2 Thuật toán RIO Error! Bookmark not defined 4.2.3 Nghiên cứu RIO bằng mô phỏng Error! Bookmark not defined
4.3 Kiến trúc các dịch vụ phân loại DiffServ Error! Bookmark not defined
4.3.1 Cấu trúc DiffServ Error! Bookmark not defined 4.3.2 Quản trị hàng đợi động trong kiến trúc DiffServ Error! Bookmark not
defined
4.4 Thuật toán A-RIO Error! Bookmark not defined 4.5 Nghiên cứu A-RIO bằng mô phỏng Error! Bookmark not defined
4.5.1 Cấu hình mạng mô phỏng Error! Bookmark not defined 4.5.2 Các nguồn lưu lượng Error! Bookmark not defined 4.5.3 Kỹ thuật đánh dấu trTCM Error! Bookmark not defined 4.5.4 Các tham số AQM Error! Bookmark not defined
Trang 54.5.5 Kết quả mô phỏng Error! Bookmark not defined
KẾT LUẬN VÀ PHƯƠNG HƯỚNG NGHIÊN CỨU TIẾP THEO Error!
Bookmark not defined
A KẾT LUẬN Error! Bookmark not defined
B PHƯƠNG HƯỚNG NGHIÊN CỨU TIẾP THEO Error! Bookmark not
defined
DANH MỤC TÀI LIỆU THAM KHẢO - 11 -
A TÀI LIỆU TIẾNG VIỆT - 11 -
B TÀI LIỆU TIẾNG ANH - 11 -
Trang 6BẢNG CHỮ CÁI VIẾT TẮT
A-RED Adaptive - Random Early
Drop; Adaptive-RED
FFQ Frame-based Fair Queuing
A-RIO Adaptive – RED with In
and Out bit; Adaptive-RIO
FIFO First In First Out
Robin
AIMD Additive-Increase
Multiplicative-Decrease
G-RIO Gentle-RIO
Management
GPS Generalized Processor
Sharing ARPANET Advanced Research
Projects Agency Network
HTTP HyperText Transfer
Protocol
Fair Queuing
IETF Internet Engineering Task
Force
Rate
ISP Internet Service Provider
DDRR Dynamic Deficit Round
Robin
NFSNET National Science
Foundation Network DiffServ Differentiated Service NS Network Simulator
Robin ECN Explicit Congestion
Notification
PFQ Packet Fair Queuing
FCFS First Come First Serve PWFQ Packet-based Weighted
Fair Queuing FEC Forward Error Correction QoS Quality of Service
Trang 7RED Random Early Detection;
Random Early Drop
SPFQ Starting Potential-Based
Fair Queuing
Protocol RSVP Resource Revervation
Protocol
TDM Time Division
Multiplexing
Marking
Fair Queuing SCFQ Self-Clocked Fair Queuing WFQ Flow-Based Weighted Fair
Queuing
Trang 8DANH MỤC CÁC BẢNG BIỂU
Bảng 2.1: So sánh một số chiến lược phục vụ 39
Bảng 3.1: Kết quả thống kê của mô phỏng 1 so sánh DropTail/RED 63
Bảng 3.2: Kết quả thống kê của mô phỏng 2 so sánh DropTail/RED 65
Bảng 3.3: Kết quả thống kê của mô phỏng 1 RED/A-RED 73
Bảng 3.4: Kết quả thống kê của mô phỏng 2 RED/A-RED 74
Bảng 4.1: So sánh RED và RIO-TSW với 10 luồng TCP 81
Bảng 4.2: Các kịch bản mô phỏng 96
Bảng 4.3: Các tham số lưu lượng 97
Bảng 4.4: Mô hình chồng ngưỡng cho RIO 99
Bảng 4.5: Các tham số cho các chiến lược AQM 100
Bảng 4.6: Hệ số sử dụng đường truyền và mức độ bảo vệ gói tin ưu tiên cao 103
Bảng 4.7: Độ đo mức độ công bằng 105
Bảng 4.8: Các thông số hiệu năng trường hợp 3 - 100% 107
Bảng 4.9: Các thông số hiệu năng, trường hợp 6 - 50% 110
Bảng 4.10: Các thông số hiệu năng trường hợp 4 - 75% 111
Trang 9DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1.1: Các tham số QoS chính 16
Hình 1.2: Hai chiến lược tạm dừng khác nhau và kết quả của chúng 22
Hình 1.3: Cơ chế thứ hai của FEC 26
Hình 1.4: Cơ chế đan xen 27
Hình 2.1: Bộ lập lịch 32
Hình 2.2: Cơ chế phục vụ FCFS 33
Hình 2.3: Ví dụ về cơ chế phục vụ FCFS 33
Hình 2.4: Cơ chế lập lịch hàng ưu tiên 34
Hình 2.5: Ví dụ về cơ chế lập lịch hàng ưu tiên 34
Hình 2.6: Cơ chế lập lịch Round Robin 36
Hình 2.7: Cơ chế PFQ 37
Hình 2.8: Cơ chế Weighted Fair Queuing (WFQ) 41
Hình 2.9: IP Precedence bits 41
Hình 2.10: Ví dụ về cấu trúc phân cấp chia sẻ băng thông trong CBQ 44
Hình 3.1: Giải thuật tổng quát cho RED gateways 52
Hình 3.2: Giải thuật chi tiết cho RED gateway 53
Hình 3.3: Cấu hình mạng mô phỏng 1 59
Hình 3.4: Các kết quả mô phỏng với DropTail 62
Hình 3.5: Các kết quả mô phỏng với RED 62
Hình 3.6: Cấu hình mạng mô phỏng 2 63
Hình 3.7: Kết quả mô phỏng 2 so sánh DropTail và RED 64
Hình 3.8: Thuật toán hiệu chỉnh max p trong Adaptive RED 68
Trang 10Hình 3.9: Cấu hình mạng mô phỏng RED/A-RED 71
Hình 3.10: RED với sự tăng cường độ tắc nghẽn 72
Hình 3.11: A-RED với sự tăng cường độ tắc nghẽn 72
Hình 3.12: RED với sự giảm cường độ tắc nghẽn 74
Hình 3.13: A-RED với sự giảm cường độ tắc nghẽn 74
Hình 4.1: Thuật toán RIO 78
Hình 4.2: Các thuật toán RED và RIO 78
Hình 4.3: Cấu hình mạng mô phỏng RIO 79
Hình 4.4: Kích thước hàng đợi trung bình tương ứng với RED và RIO 83
Hình 4.5: So sánh kích thước cửa sổ các cặp kết nối 83
Hình 4.6: Một kiến trúc DiffServ đơn giản 85
Hình 4.7: Phân loại và đánh dấu gói tin 86
Hình 4.8: Thuật toán RIO với ba mức ưu tiên 90
Hình 4.9: Thuật toán A-RIO 93
Hình 4.10: Thuật toán A-RIO với ba mức ưu tiên 94
Hình 4.11: Cấu hình mạng mô phỏng A-RIO 95
Hình 4.12: Kích thước hàng đợi trung bình ứng với ba thuật toán 101
Hình 4.13: Trường hợp 3 - 100% 108
Hình 4.14: Trường hợp 6 - 50% 109
Hình 4.15: Trường hợp 4 - 75% 112
Trang 11MỞ ĐẦU
Cùng với sự phát triển về hạ tầng mạng, các ứng dụng trên mạng Internet ngày càng phong phú, đa dạng Dữ liệu được truyền đi không chỉ đơn thuần là text đơn giản, mà là dữ liệu đa phương tiện (multimedia) bao gồm cả hình ảnh, âm thanh, audio, video, Các ứng dụng đa phương tiện phổ biến có thể kể đến như điện thoại qua mạng (Internet telephony), hội thảo trực tuyến (video conferencing), xem video theo yêu cầu (video on demand), đang ngày càng được sử dụng rộng rãi Đối với truyền thông đa phương tiện, điều quan trọng nhất là phải đảm bảo chất lượng dịch
vụ (QoS), tức là đảm bảo độ trễ và jitter nhỏ, thông lượng đủ lớn, hệ số sử dụng đường truyền cao và tỷ lệ mất gói tin có thể chấp nhận ở một mức độ nhất định Để làm được điều này cần phải có những cơ chế đặc biệt thực hiện ở các router
Sự phát triển nhanh chóng của các ứng dụng trên mạng làm cho kích thước mạng trở nên khổng lồ, nhu cầu vận chuyển dữ liệu trên Internet lớn dẫn tới thường xuyên xảy ra tình trạng tắc nghẽn dữ liệu trên đường truyền, vì vậy cần phải có các biện pháp xử lý nhằm hạn chế tối đa tắc nghẽn để mạng luôn duy trì được sự ổn định cao nhất Kỹ thuật truyền thống để quản lý kích thước hàng đợi là thiết lập độ dài tối đa cho mỗi hàng đợi, nhận các gói tin đến cho đến khi kích thước hàng đợi đạt đến ngưỡng trên, sau đó loại bỏ các gói tin đi đến cho đến khi kích thước hàng đợi giảm xuống do các gói tin trong hàng đợi đã được chuyển đi theo chính sách FIFO (hay FCFS) Trong bộ mô phỏng mạng NS, kỹ thuật này được biết đến với tên gọi “DropTail” Tuy nhiên, nếu thi hành chính sách phục vụ tại hàng đợi kiểu FIFO thì hàng đợi sẽ thường xuyên ở trạng thái đầy, làm tăng đáng kể thời gian trễ trung bình của các gói tin trong mạng Do vậy cần phải có các kỹ thuật khác hiệu quả hơn, đảm bảo cho mạng đạt được thông lượng cao và độ trễ trung bình nhỏ AQM (Active Queue Management) là một chiến lược quản lý hàng đợi động, trong đó các thực thể đầu cuối có thể phản ứng lại tắc nghẽn khi hiện tượng này mới chớm có dấu hiệu xuất hiện Theo đó, gateway sẽ quyết định cách thức loại bỏ sớm gói tin trong hàng đợi của nó trong khi tình trạng của mạng còn có thể kiểm soát được
Trang 12RED (Random Early Detection of Congestion; Random Early Drop) là một chiến lược AQM đặc biệt, áp dụng cho mạng TCP/IP RED gateway thực hiện loại
bỏ gói tin trong hàng đợi theo chiến lược AQM như mô tả ở trên Một tuỳ chọn của RED là đánh dấu vào trường ECN trong header của các gói tin TCP, để báo cho bên gửi biết về hiện tượng tắc nghẽn có dấu hiệu sắp xảy ra, yêu cầu nguồn có phản ứng tích cực (giảm tỷ lệ phát gói tin) Ưu điểm chính của RED là tính đơn giản, không yêu cầu tất cả các gateway trên Internet cùng phải sử dụng kỹ thuật này, mà
có thể triển khai dần
A-RIO (Adaptive – RED with In and Out) là một sự kết hợp trực tiếp của thuật toán A-RED và thuật toán RIO A-RIO là thuật toán AQM áp dụng cho kiến trúc mạng DiffServ, dùng để chuyển tiếp có phân loại các gói tin A-RIO có khả năng ổn định được kích thước hàng đợi (và vì vậy độ trễ) quanh một giá trị mong muốn, trong khi vẫn duy trì được thông lượng cao và bảo vệ các gói tin có mức ưu tiên cao
Mục tiêu chính của Luận văn là tập trung nghiên cứu và đánh giá hiệu suất
của thuật toán quản lý hàng đợi A-RIO Bởi vì A-RIO là sự kết hợp của nhiều thuật
toán AQM, nên để phục vụ cho mục tiêu chính, chúng tôi đã dành nhiều thời gian nghiên cứu các thuật toán AQM cơ sở của nó, đó là RED, A-RED, RIO Ngoài ra,
vì mục đích cuối cùng là phải hướng tới người sử dụng, nên chúng tôi cũng đã dành một chương để trình bày tổng quan về truyền thông đa phương tiện trên mạng, đây
là các dịch vụ ở mức ứng dụng, hiệu quả của nó phụ thuộc chặt chẽ vào các dịch vụ mức dưới Xuất phát từ quan điểm trên, ngoài phần Mở đầu và Kết luận, Luận văn được chia làm 4 chương được tóm tắt như sau:
Chương 1 giới thiệu về truyền thông đa phương tiện trên mạng, khái niệm QoS và các phương pháp đảm bảo chất lượng dịch vụ trong truyền thông multimedia trên mạng
Trang 13DANH MỤC TÀI LIỆU THAM KHẢO
A TÀI LIỆU TIẾNG VIỆT
[1] Vũ Duy Lợi, Nguyễn Đình Việt, Ngô Thị Duyên, Lê Thị Hợi (2004), “Đánh giá hiệu suất chiến lƣợc quản lý hàng đợi RED bằng bộ mô phỏng NS”, Kỷ yếu Hội thảo Khoa học Quốc gia lần thứ hai về Nghiên cứu, Phát triển và Ứng dụng Công nghệ Thông tin và Truyền thông (ICT.rda'04), (Hà nội, 24-25/9/2004) NXB Khoa học và Kỹ thuật, Hà Nội, 5/2005, trang 394-403
[2] Tống Trần Nhật Linh – K46CA (2005), Nghiên cứu các đặc điểm của truyền
thông multimedia và các đòi hỏi chất lượng dịch vụ (QoS), Khoá luận tốt
nghiệp, Khoa Công nghệ, Đại học Quốc gia Hà nội
[3] Nguyễn Đình Việt (2003), Nghiên cứu phương pháp đánh giá và cải thiện hiệu
năng giao thức TCP cho mạng máy tính, Luận án tiến sĩ, Khoa Công nghệ, Đại
học Quốc gia Hà nội
B TÀI LIỆU TIẾNG ANH
[4] A.K Parekh, R.G Gallager (1992), “A generalized processor sharing approach
to flow control in integrated services networks-the single node case”, IEEE
INFOCOM ’92, pp 521-530.
[5] A Demers, S Keshav and S Shenkar (1989), “Analysis and Simulation of a
Fair Queuing Algorithms”, Proceedings of SIGCOMM ’89, pp 3-12
[6] Andrew S.Tanenbaum (2003), Computer Network, Fourth Edition, Prentice
Hall, March
[7] Bing Sheng, Mohammed Atiquzzaman (2001), “Low Pass Filter/Over Drop Avoidance (LPF/ODA): An algorithm to improve the performance of RED
gateways”, CS-TR-01-001
[8] Braden (1998), “Recommendations on Queue Management and Congestion
Avoidance in the Internet”, Informational RFC 2309, IETF