MỞ ĐẦU 1. Tính cấp thiết của luận án Mạng ngang hàng P2P là một mạng hỗn hợp, được tạo lập trên diện rộng bao gồm cả những người dùng mạng Internet và các mạng máy tính chuyên nghiệp. Các mạng chồng phủ, dưới dạng các mạng P2P, đang trở nên rất phổ biến trong những năm gần đây, do các tính năng làm cho chúng phù hợp với việc phát triển hay triển khai các dịch vụ mới như truyền thông đa hướng, chia sẻ dữ liệu phạm vi rộng và phân phối nội dung như Kazaa, Napster, Bittorrent, Skype, Sopcast [4],... Kiến trúc của mạng viễn thông ngày nay đang chuyển thành hướng dịch vụ thay vì xu hướng mạng trước đây, nhằm cho phép mở hạ tầng viễn thông cho các nhà phát triển ứng dụng để tạo ra các dịch vụ mới theo mô hình của mạng Internet. Ian Clarke sáng lập viên mạng FreeNet [67] khẳng định “P2P là bước tiến hoá hoàn toàn tự nhiên và hoàn hảo của mạng Internet. Thực tế, P2P đã mang Internet trở lại nguyên bản theo đúng ý tưởng của những người đầu tiên sáng lập ra Internet”. Qua nghiên cứu khảo sát hầu hết các dự án đều đề xuất P2P là xu hướng mạng và dịch vụ của Internet trong tương lai. Điển hình là dự án Planet Lab [65], GENI [7], [70], G-Lab [69]. Vì vậy nghiên cứu về mạng ngang hàng là một trong những hướng nghiên cứu có tính thời sự và có ý nghĩa khoa học, công nghệ sâu sắc trong bối cảnh bùng nổ các ứng dụng đa phương tiện. Mạng ngang hàng với các ưu điểm như: Khả năng mở rộng, khả năng chịu đựng lỗi, dễ dàng triển khai,...Tuy nhiên chính cơ chế truyền thông ngang hàng và các yêu cầu cung cấp chất lượng dịch vụ đã cho thấy một số thách thức mà mạng P2P cần phải giải quyết. Cụ thể các thiết bị đầu cuối hoạt động trong môi trường mạng không dây như điện thoại thông minh, máy tính bảng ,... đã và đang phát triển rất mạnh mẽ và đa dạng. Các thiết bị này có đặc điểm là thời gian tham gia kết nối vào mạng ngắn, thời gian kết nối thậm chí có thể chỉ trong vài giây bởi chính sách tiết kiệm năng lượng và do thói quen di động của người sử dụng. Điều này dẫn tới cấu trúc của mạng thay đổi liên tục trong khoảng thời gian rất ngắn hay còn gọi là mạng có độ ổn định thấp (hay còn gọi mạng có “Churn rate” cao) [29], [47], [73]. Hơn nữa đối với mạng ngang hàng, các nút tức các phần tử ngang hàng tự tổ chức ra mạng chồng phủ, xếp chồng lên trên mạng nền Internet. Cấu trúc mạng chồng phủ được xây dựng tại lớp ứng dụng dựa vào định danh nút, hoàn toàn độc lập với cấu trúc mạng nền, điều đó dẫn tới sự không đồng nhất hiệu năng của hai mạng (hay còn gọi là “Topology Mismatch ”) [32], [43]. Các tính chất đặc thù của mạng ngang hàng chính là nguyên nhân làm ảnh hưởng tới hiệu năng của mạng như: Tiêu tốn băng thông cho quá trình duy trì cấu hình mạng, tỷ số trễ dãn cách trung bình T stretch tăng (tỷ số giữa đường định tuyến lớp mạng chồng phủ và đường định tuyến lớp nền), tỷ lệ tổn thất gói tin cao. Các thiết kế P2P thế hệ thứ nhất chỉ phù hợp với các mạng có quy mô nhỏ như Napster [4]. Các nút trong hệ thống có vai trò như nhau, một số nút có năng lực lớn hơn được gọi là máy chủ danh bạ. Mô hình P2P thế hệ thứ nhất sử dụng tìm kiếm tập trung, cho phép tìm kiếm thông tin nhanh chóng, tuy nhiên điểm yếu của mô hình là không có khả năng mở rộng vì tải trên máy chủ sẽ tăng tuyến tính với các nút tham gia vào mạng. Thế hệ thứ hai đã khắc phục nhược điểm của thế hệ thứ nhất. Mạng P2P thế hệ thứ hai không có bất kỳ máy chủ nào mà tất cả các nút đều có vai trò như nhau. Điểm yếu của thế hệ này là triển khai cơ chế định tuyến trên cơ sở phát tràn lụt yêu cầu truy vấn, kỹ thuật tràn lụt đã sinh ra quá nhiều lưu lượng mạng dẫn tới tính năng mở rộng của thế hệ này thậm chí còn kém hơn thế hệ thứ nhất. Mạng điển hình cho thế hệ thứ hai là Gnutella [4].
Trang 1MỤC LỤC Cont
Lời cam đoan……… … i
Lời cảm ơn ii
Mục lục iii
Danh mục các ký hiệu các chữ viết tắt vi
Danh mục các bảng xv
Danh mục các hình xvi
MỞ ĐẦU 1
NỘI DUNG 10
Chương 1 Tổng quan về mạng P2P 10
1.1 Tổng quan về mạng ngang hàng 10
1.1.1 Kiến trúc mạng ngang hàng P2P 11
1.1.2 Một số các ứng dụng điển hình của mạng ngang hàng 14
1.1.3 Thách thức khi nghiên cứu mạng ngang hàng P2P 16
1.2 Tham số hiệu năng mạng ngang hàng 19
1.3 Các hướng tiếp cận nghiên cứu cải thiện hiệu năng mạng ngang hàng 20
1.4 Kết luận chương 1 22
Chương 2 Phân tích đánh giá hiệu năng thuật toán định tuyến DHTs 23
2.1 Giới thiệu chung 23
2.2 Bảng băm phân tán - DHT 24
2.3 Một số thuật toán định tuyến DHTs 27
2.3.1 Thuật toán định tuyến Chord 29
2.3.2 Thuật toán định tuyến Tapestry 33
2.3.3 Thuật toán định tuyến Kademlia 37
Trang 22.4 Phân tích, đánh giá hiệu năng một số thuật toán định tuyến DHTs 39
2.4.1 Các phương pháp phân tích hiệu năng 39
2.4.2 Lựa chọn công cụ mô phỏng mạng chồng phủ ngang hàng 40
2.4.3 Mô phỏng đánh giá hiệu năng các thuật toán định tuyến DHTs 44
2.5 Kết luận chương 2 53
Chương 3 Cải thiện hiệu năng thuật toán định tuyến Chord 55
3.1 Giới thiệu chung 55
3.2 Thuật toán định tuyến Chord 56
3.2.1 Hàm băm nhất quán (Consistent Hasing) 56
3.2.2 Định tuyến Chord 57
3.2.3 Tìm kiếm khóa mở rộng Chord 59
3.3 Cải thiện hiệu năng thuật toán Chord 61
3.3.1 Phân tích các điểm yếu của thuật toán Chord 61
3.3.2 Phân tích các nghiên cứu cải thiện hiệu năng giải thuật Chord 63
3.3.3 Cải thiện hiệu năng thuật toán Chord 64
3.3.4 Thuật toán Chord cải thiện 65
3.3.5 Mô phỏng đánh giá hiệu năng thuật toán Chord cải thiện 72
3.4 Kết luận chương 3 74
Chương IV Xây dựng mạng Chord_SL phân cấp cải thiện hiệu năng 76
4.1 Giới thiệu chung 76
4.2 Mô hình mạng Chord_SL phân cấp 77
4.2.1 Định nghĩa cấu trúc mạng Chord_SL phân cấp 77
Trang 34.2.2 Gán định danh SN và ON 80
4.2.3 Lựa chọn SN (supernode) trong mạng Chord_SL 82
4.2.4 Chiến lược tìm kiếm trong mạng Chord_SL 86
4.3 Phân tích, đánh giá hiệu năng mạng Chord_SL 88
4.3.1 Độ dài đường tìm kiếm 88
4.3.2 Phân tích dựa trên chi phí 94
4.3.3 Chi phí lựa chọn siêu nút SN 98
4.4 Kết luận chương 4 99
KẾT LUẬN VÀ KIẾN NGHỊ 99
DANH MỤC CÁC CÔNG TRÌNH CÓ LIÊN QUAN ĐẾN LUẬN ÁN 103
TÀI LIỆU THAM KHẢO 106
PHỤ LỤC 116
Trang 4DANH MỤC CÁC CHỮ VIẾT TẮT
A
C
CS
Csy
Client – Server Centralized Systems
Mô hình Khách – chủ
Hệ thống tập trung
double-layer design and optimal supernode selection algorithm
Mạng Chord phân cấp hai lớp cải thiện và giải thuật lựa chọn siêu nút tối ưu
D
Hệ thống tên miền
Hệ thống phân tán không cấu trúc
Hệ thống phân tán có cấu trúc
Trang 5FTP File Transfer Protocol Giao thức truyền file
Định danh Giao thức điều khiển Internet
N
O
P
Trang 6PPP Point-to-Point Protocol Giao thức điểm điểm
Q
R
trở về nguồn
S
T
U
V
W
Trang 7Định danh của khóa tìm kiếm
Số nút được lưu trữ trong ҡ-buckets của Kademlia
𝑟𝑜𝑜𝑡𝑘: Nút gốc chứa khóa k
K: Số nhóm nội miền trong mô hình phân cấp
𝛾: Xác xuất cả nút nguồn và nút đích đều trong cùng một lớp nội miền
trong mô hình phân cấp
Ҟ: Không gian định danh khóa
𝜌: Tỷ lệ tìm kiếm thành công
c(i): Số bước nhảy của mỗi lần tìm kiếm riêng rẽ i
𝑡ℎ: Giới hạn tổng số bước nhảy của mỗi lần tìm kiếm
𝑒𝐼𝐷: Định danh ngoài
E: Không gian định danh ngoài
I: Không gian định danh nút
Ɲ: Số nút trong nhóm nội miền
𝑛𝑞:
n:
Định danh của nút q
Định danh của nút
M: Độ dài bít của định danh nút
𝑇𝑟: Bảng định tuyến 𝑇𝑟 tại mỗi nút n bao gồm t liên kết đến nút tại một
số khoảng cách trong không gian định danh
𝑇𝑠: Bảng định tuyến 𝑇𝑠 tại mỗi nút bao gồm liên kết tới s hàng xóm trực
tiếp trong cấu trúc DHT
Succ(n): Con trỏ tới nút đầu tiên đứng kề sau nút có định danh n trong không
gian định danh theo chiều kim đồng hồ
Trang 8Pred(n): Con trỏ tới nút đầu tiên đứng kề trước nút có định danh n trong
không gian định danh theo chiều kim đồng hồ
N: Kích thước của mạng chồng phủ
𝐹𝑁(𝑝): Tập các nút hàng xóm của p
sn: Định danh của nút nguồn
Delay[i]: Trễ giữa nút có định danh n và n.finger[i] nhận được bởi lệnh ping
U: Số siêu – siêu nút (Ultra Super-peer)
:
)
( S
liên miền trong mô hình phân cấp
:
)
( p
F Tập hợp các liên kết của nút p khi ra nhập vòng Chord của lớp nội
miền trong mô hình phân cấp
D: Độ dài định danh của nút trong mô hình Chord_SL phân cấp
D: Thiết kế phân cấp
D-d: Độ dài bít định danh tiền tố
d: Độ dài bít định danh hậu tố
i
f (x i ): Hàm chi phí tương ứng với các biến x1,x2, ,x n
𝑡𝑜𝑛(𝑝): Thời gian hoạt động trung bình của nút
𝑃(𝑝): Khả năng xử lý CPU (MIPS Million Instruction Per Second)
𝐵(𝑝): Băng thông của nút
:
flat
h Độ dài đường tìm kiếm qua mô hình Chord_flat
h: Độ dài đường tìm kiếm trung bình
T Trễ mạng trung bình giữa một nút trong lớp nội miền và một nút
trong lớp liên miền
:
ss
T Trễ mạng trung bình giữa hai nút lớp liên miền
T beat: Chu kỳ gửi bản tin heartbeat
Trang 9beat
C Chi phí để gửi bản tin heartbeat
T stab Chu kỳ chạy thuật toán ổn định stabilization
C stab: Chi phí chạy thuật toán ổn định (stabilization)
l: Thời gian sống của nút
Trang 10DANH MỤC CÁC BẢNG
Bảng 2-1 Các tham số dùng cho mô phỏng Kademlia 47
Bảng 2-2 Các tham số dùng cho mô phỏng Tapestry 47
Bảng 2-3 Các tham số dùng cho mô phỏng Chord 47
Bảng 3-1 Định nghĩa trường trễ Delay[i] 69
Bảng 3-2 Cấu trúc bảng định tuyến của nút 8 69
Bảng 3-3 Bảng Finger nghiên cứu [86], [11] 70
Bảng 3-4 So sánh hiệu năng Chord cải thiện 71
Bảng 4-1 Bảng finger Chord_SL 80
Trang 11DANH MỤC CÁC HÌNH
Hình 1-1 Mô hình mạng chồng phủ ngang hàng P2P 11
Hình 1-2 Kiến trúc phân lớp điển hình mạng ngang hàng P2P 12
Hình 1-3 Phân loại kiến trúc mạng chồng phủ P2P 12
Hình 2-1 Tìm kiếm và lưu trữ dữ liệu trong DHT 24
Hình 2-2 Cấu trúc mạng chồng phủ Chord 31
Hình 2-3 Quá trình ra nhập, rời mạng 32
Hình 2-4 Bảng định tuyến của nút 5712 34
Hình 2-5 Quá trình tìm kiếm từ nút nguồn 5230 tới nút đích 42AD 35
Hình 2-6 Quá trình quảng bá chỉ mục dữ liệu 35
Hình 2-7 Quá trình truy vấn chỉ mục dữ liệu 36
Hình 2-8 Không gian ID của mạng Kademlia (N=16) 37
Hình 2-9 Các k-bucket của một nút 37
Hình 2-10 Quá trình tìm kiếm 38
Hình 2-11 Kiến trúc OverSim [6] 44
Hình 2-12 Kiến trúc các khối chức năng của OverSim 45
Hình 2-13 Mô hình mô phỏng 46
Hình 2-14 Độ dài đường tìm kiếm trung bình Chord_iterative và Chord_recursive 48 Hình 2-15 Trễ trung bình Chord_iterative và Chord_recursive 48
Hình 2-16 Tỷ lệ thành công của Chord_iterative và Chord_recursive 49
Hình 2-17 Băng thông tiêu tốn ( số bytes /s) Chord_iterative, Chord_recursive 49 Hình 2-18 Bytes/s gửi từ SimpleUnderlayNetwork và InetUnderlayNetwork 49
Hình 2-19 Độ dài đường định tuyến qua mạng 50
Hình 2-20 Trễ tìm kiếm của SimpleUnderlayNetwork và InetUnderlayNetwork50 Hình 2-21 Tỷ lệ tìm kiếm thành công và số nút 50
Hình 2-22 Tỷ lệ trễ dãn cách trung bình- Tstretch và số nút 51
Hình 2-23 Băng thông tiêu tốn và số nút 51
Trang 12Hình 2-24 Tỷ lệ tìm kiếm thành công và thời gian hoạt động 52
Hình 2-25 Băng thông tiêu tốn và thời gian hoạt động 52
Hình 2-26 Tỷ lệ trễ dãn cách trung bình- Tstretch và thời gian 52
Hình 3-1 Biểu diễn vòng Chord (M= 6) gồm 10 nút 57
Hình 3-2 (a)Định tuyến lặp (b)Định tuyến đệ quy(c )Định tuyến bán đệ quy 59 Hình 3-3.Quá trình ra nhập mạng của nút n trong Chord 61
Hình 3-4 Đường định tuyến lớp mạng chồng phủ và mạng nền Chord 62
Hình 3-5 Cấu trúc mạng Chord cải thiện 69
Hình 3-6 So sánh thời gian trễ tìm kiếm trung bình và kích thước mạng 73
Hình 3-7 So sánh độ dài trung bình đường tìm kiếm 73
Hình 3-8 Tỷ lệ trễ dãn cách trung bình Tstretch và số nút 74
Hình 3-9 Băng thông tiêu tốn và thời gian hoạt động trung bình của nút 74
Hình 4-1 Mô hình mạng phân cấp Chord_SL 79
Hình 4-2.Gán định danh cho nút SN và nút ON [25] 81
Hình 4-3.Hiệu năng của các nút tham gia lớp nội miền Chord_SL 83
Hình 4-4 Ma trận bầu chọn SN 84
Hình 4-5 Kích thước nhóm nội miền và độ dài đường tìm kiếm 90
Hình 4-6 Không gian lưu trữ của siêu nút và kích thước mạng 91
Hình 4-7 Độ dài đường tìm kiếm và kích thước nhóm nội miền 93
Hình 4-8 Độ dài đường tìm kiếm và xác suất tìm kiếm nội miền 94
Trang 13MỞ ĐẦU
1 Tính cấp thiết của luận án
Mạng ngang hàng P2P là một mạng hỗn hợp, được tạo lập trên diện rộng bao gồm cả những người dùng mạng Internet và các mạng máy tính chuyên nghiệp Các mạng chồng phủ, dưới dạng các mạng P2P, đang trở nên rất phổ biến trong những năm gần đây, do các tính năng làm cho chúng phù hợp với việc phát triển hay triển khai các dịch vụ mới như truyền thông đa hướng, chia sẻ dữ liệu phạm vi rộng và phân phối nội dung như Kazaa, Napster, Bittorrent, Skype, Sopcast [4], Kiến trúc của mạng viễn thông ngày nay đang chuyển thành hướng dịch vụ thay vì xu hướng mạng trước đây, nhằm cho phép mở hạ tầng viễn thông cho các nhà phát triển ứng dụng để tạo ra các dịch vụ mới theo mô hình của mạng Internet
Ian Clarke sáng lập viên mạng FreeNet [67] khẳng định “P2P là bước tiến hoá hoàn toàn tự nhiên và hoàn hảo của mạng Internet Thực tế, P2P đã mang Internet trở lại nguyên bản theo đúng ý tưởng của những người đầu tiên sáng lập ra Internet”
Qua nghiên cứu khảo sát hầu hết các dự án đều đề xuất P2P là xu hướng mạng
và dịch vụ của Internet trong tương lai Điển hình là dự án Planet Lab [65], GENI [7], [70], G-Lab [69] Vì vậy nghiên cứu về mạng ngang hàng là một trong những hướng nghiên cứu có tính thời sự và có ý nghĩa khoa học, công nghệ sâu sắc trong bối cảnh bùng nổ các ứng dụng đa phương tiện
Mạng ngang hàng với các ưu điểm như: Khả năng mở rộng, khả năng chịu đựng lỗi, dễ dàng triển khai, Tuy nhiên chính cơ chế truyền thông ngang hàng và các yêu cầu cung cấp chất lượng dịch vụ đã cho thấy một số thách thức mà mạng P2P cần phải giải quyết Cụ thể các thiết bị đầu cuối hoạt động trong môi trường mạng không dây như điện thoại thông minh, máy tính bảng , đã và đang phát triển rất mạnh mẽ và đa dạng Các thiết bị này có đặc điểm là thời gian tham gia kết nối vào mạng ngắn, thời gian kết nối thậm chí có thể chỉ trong vài giây bởi chính sách tiết kiệm năng lượng và do thói quen di động của người sử dụng Điều này dẫn tới
Trang 14cấu trúc của mạng thay đổi liên tục trong khoảng thời gian rất ngắn hay còn gọi là mạng có độ ổn định thấp (hay còn gọi mạng có “Churn rate” cao) [29], [47], [73] Hơn nữa đối với mạng ngang hàng, các nút tức các phần tử ngang hàng tự tổ chức ra mạng chồng phủ, xếp chồng lên trên mạng nền Internet Cấu trúc mạng chồng phủ được xây dựng tại lớp ứng dụng dựa vào định danh nút, hoàn toàn độc lập với cấu trúc mạng nền, điều đó dẫn tới sự không đồng nhất hiệu năng của hai mạng (hay còn gọi là “Topology Mismatch ”) [32], [43]
Các tính chất đặc thù của mạng ngang hàng chính là nguyên nhân làm ảnh hưởng tới hiệu năng của mạng như: Tiêu tốn băng thông cho quá trình duy trì cấu
hình mạng, tỷ số trễ dãn cách trung bình T stretch tăng (tỷ số giữa đường định tuyến lớp mạng chồng phủ và đường định tuyến lớp nền), tỷ lệ tổn thất gói tin cao
Các thiết kế P2P thế hệ thứ nhất chỉ phù hợp với các mạng có quy mô nhỏ như Napster [4] Các nút trong hệ thống có vai trò như nhau, một số nút có năng lực lớn hơn được gọi là máy chủ danh bạ Mô hình P2P thế hệ thứ nhất sử dụng tìm kiếm tập trung, cho phép tìm kiếm thông tin nhanh chóng, tuy nhiên điểm yếu của
mô hình là không có khả năng mở rộng vì tải trên máy chủ sẽ tăng tuyến tính với các nút tham gia vào mạng
Thế hệ thứ hai đã khắc phục nhược điểm của thế hệ thứ nhất Mạng P2P thế hệ thứ hai không có bất kỳ máy chủ nào mà tất cả các nút đều có vai trò như nhau Điểm yếu của thế hệ này là triển khai cơ chế định tuyến trên cơ sở phát tràn lụt yêu cầu truy vấn, kỹ thuật tràn lụt đã sinh ra quá nhiều lưu lượng mạng dẫn tới tính năng mở rộng của thế hệ này thậm chí còn kém hơn thế hệ thứ nhất Mạng điển hình cho thế hệ thứ hai là Gnutella [4]
Nhằm đáp ứng các vấn đề mở rộng quy mô và khắc phục các nhược điểm của mạng thế hệ thứ nhất và thứ hai, một số nhóm nghiên cứu đã đưa ra mạng P2P thế
hệ thứ ba Các hệ thống P2P thế hệ thứ ba sử dụng thuật toán tìm kiếm dựa trên cơ chế bảng băm phân tán DHT DHTs điển hình như: Kademlia [48], [50], Chord [60], Pastry [57], Tapestry [82], CAN [62], Mỗi nút trong hệ thống có một định danh thu được từ việc băm các thuộc tính đặc trưng của nút đó như: Địa chỉ IP,
Trang 15cổng TCP/IP, dữ liệu Bảng băm lưu trữ dữ liệu dưới dạng cặp khóa - giá trị
(key/value) Nút tham gia trong DHTs được liên kết với nhau dựa trên mạng nền
tảng (ví dụ mạng Internet), thông qua cơ chế định tuyến riêng của mình các nút thực hiện kết nối và truyền thông với nhau Vì vậy một mạng được xây dựng bởi cơ chế DHT được gọi là mạng chồng phủ (Overlay Network) và mạng cho phép mạng chồng phủ hoạt động trên đó được gọi là mạng nền tảng (Underlay Network)
Thuật toán định tuyến là chức năng cốt lõi của DHTs, nó có nhiệm vụ xác định vị trí trên mạng chồng phủ chứa dữ liệu cần tìm kiếm hoặc vị trí lưu dữ liệu một cách tối ưu nhất Mục tiêu thuật toán định tuyến của DHTs đưa ra nhằm cải thiện hiệu năng: Giảm độ dài đường tìm kiếm và giảm số lượng trạng thái phải duy trì tại mỗi nút, cải thiện hiệu quả tìm kiếm, phù hợp với việc triển khai dịch vụ trên quy
mô lớn [48], [75] Tuy nhiên, khi triển khai DHTs trên mạng P2P có độ ổn định thấp gặp một số vấn đề về hiệu năng: Chi phí để duy trì cấu trúc của mạng tăng do phải liên tục cập nhật bảng định tuyến, tỷ lệ trễ dãn cách trung bình tăng cao do hiệu năng không đồng nhất giữa mạng IP và mạng chồng phủ
Để có thể triển khai các dịch vụ trên quy mô lớn hầu hết nghiên cứu đều tập trung vào mạng ngang hàng thế hệ thứ ba Các nghiên cứu đề xuất giải pháp cải thiện hiệu năng mạng P2P dựa trên cơ chế bảng băm phân tán DHT Qua khảo sát hướng nghiên cứu cải thiện hiệu năng của tác giả trước chủ yếu tập trung vào hai hướng chính:
(i) Hướng nghiên cứu thứ nhất: Tối ưu cấu trúc mạng chồng phủ: Các tác
giả trước đều tập trung giải quyết hai vấn đề: Mạng có có độ ổn định thấp và hiệu năng không đồng nhất giữa mạng nền và mạng chồng phủ Mô hình phân cấp có hiệu năng định tuyến tốt hơn so với mô hình không phân cấp [2], [14], [25], [35], [37], [61] Việc tính toán kích thước của nhóm trong mạng phân cấp cũng ảnh hưởng tới độ dài đường tìm kiếm [37] Các tác giả [2], [25] đã thiết kế mô hình hai lớp dựa trên thuật toán DHT: Kademlia và Chord Thời gian tìm kiếm qua mô hình hai lớp đã giảm đáng kể, do việc xây dựng cấu trúc của các lớp chưa xét tới các yếu
tố trễ của mạng nền, nên mô hình này vẫn chưa giải quyết được vấn đề “Topology
Trang 16Mismatch ” Việc xây dựng cấu trúc mạng phân cấp dựa vào vị trí của các nút tham gia mạng chồng phủ đã khắc phục được nhược điểm “Topology Mismatch” [35], [85] Tuy nhiên do các lớp trong mạng phân cấp vẫn cài đặt DHTs truyền thống nên chưa giải quyết được vấn đề “Churn rate” cao
(ii) Hướng nghiên cứu thứ hai: Cải thiện định tuyến DHTs: Định tuyến
bao gồm xây dựng cấu trúc bảng định tuyến (Routing Structure) và kỹ thuật định tuyến (Routing Scheme), đây là vấn đề then chốt ảnh hưởng tới hiệu năng tổng thể mạng P2P [75] Hiện nay với các cách tiếp cận khác nhau nên DHTs có nhiều kỹ thuật định tuyến được đề xuất như Kademlia, Chord, Pastry, Tapestry, CAN, Tuy nhiên DHTs mới chỉ giải quyết được vấn đề mở rộng quy mô và hiệu quả tìm kiếm Nhưng khi triển khai DHTs trong mạng không đồng nhất và độ ổn định thấp thì DHTs có nhiều hạn chế [27], [36], [43], [53], [54], [63], [77], [80]
Để cải thiện tỷ lệ tìm kiếm thành công và độ dài trung bình đường tìm kiếm các nghiên cứu [11], [14], [15], [86] đã sửa đổi cấu trúc bảng bảng định tuyến và dùng bộ nhớ để lưu trữ các phiên truyền thông gần nhất Nhóm tác giả của nghiên cứu [86] xây dựng bảng định tuyến hai chiều Bảng định tuyến chứa con trỏ chỉ tới các nút cùng chiều và ngược chiều kim đồng hồ, giúp mở rộng không gian tìm kiếm trong mạng chồng phủ Nghiên cứu [84] sử dụng bộ nhớ Cache, để cải thiện tỷ lệ tìm kiếm thành công trong mạng P2PSIP Các nghiên cứu này nhằm giải quyết vấn
đề “Churn rate” cao trong mạng ngang hàng
Thông tin trễ RTT tại các nút qua lớp nền được đo theo chu kỳ và cập nhật vào bảng định tuyến [26], [79], [80] Đường định tuyến tốt có thể là đường định tuyến
có khoảng cách định danh ID là nhỏ nhất và có khoảng cách vật lý ngắn nhất Các nghiên cứu này nhằm giải quyết vấn đề “Topology Mismatch”
Từ những khảo sát và phân tích các nghiên cứu về cải thiện hiệu năng mạng ngang hàng đã được đề xuất trước đây, cho thấy các nghiên cứu mới chỉ giải quyết được một vấn đề Tuy nhiên để cải thiện hiệu năng của P2P cần phải cân bằng được hai yếu tố giảm chi phí để duy trì mạng và giảm trễ qua mạng chổng phủ Xuất phát
từ các khảo sát và phân tích ở trên luận án đề xuất cải thiện cấu trúc của mạng P2P
Trang 17và cải thiện thuật toán định tuyến để cân bằng hai yếu tố phân tích ở trên Luận án tập trung vào hai mục tiêu chính sau đây:
Mục tiêu thứ nhất:
Xây dựng mạng Chord_SL phân cấp cải thiện hiệu năng Với mục tiêu tìm kiếm nhanh và giảm trễ qua mạng ngang hàng, mô hình được chia làm hai lớp (lớp liên miền và lớp nội miền) Lớp liên miền quản lý các nút với năng lực toàn diện ở mức cao (băng thông rộng, tốc độ xử lý cao, thời gian online dài) như một siêu nút (SN), trong khi các nút khác không có những khả năng như thế được coi như là nút thông thường (ON) do lớp nội miền quản lý Để cải thiện tỷ lệ trễ dãn cách trung bình và độ dài trung bình đường tìm kiếm, mô hình phân cấp đã kết hợp với việc phân cấp dựa trên vị trí của các nghiên cứu [61], [85]
Mục tiêu thứ hai:
Cải thiện hiệu năng thuật toán định tuyến Chord tại các lớp trong mạng phân cấp Việc cải thiện tập trung cải thiện cấu trúc bảng định tuyến, tăng khả năng kết nối với các nút hàng xóm trong vòng tròn Chord Việc cải thiện hiệu năng tìm kiếm
có tính tới yếu tố “Topology Mismatch”
2 Mục tiêu và phạm vi của luận án
Với mục tiêu xây dựng mạng phân cấp cải thiện hiệu năng hệ thống P2P Luận
án đã chọn mô hình mạng phân cấp triển khai trên thuật toán định tuyến Chord Tuy nhiên qua phân tích hướng nghiên về mạng phân cấp và cải thiện hiệu năng định tuyến dựa trên cơ chế bảng băm phân tán, các nghiên cứu trước chỉ tập trung cải thiện một trong hai tiêu chí: Tỷ lệ tìm kiếm dữ liệu thành công hoặc trễ tìm kiếm
Chất lượng dịch vụ không những yêu cầu tìm kiếm chính xác mà còn yêu cầu tìm kiếm nhanh Do đó để đạt được mục tiêu nghiên cứu, luận án tập trung cải thiện hiệu năng mạng phân cấp và thuật toán định tuyến Chord Qua phân tích và kết quả
mô phỏng cho thấy mạng phân cấp Chord_SL xây dựng trong luận án đã cải thiện được một số các tham số hiệu năng so với các công trình nghiên cứu trước [2], [11], [15], [35], [85], [86]
Trang 18Luận án xây dựng mạng Chord hai lớp, định danh của các nút có tính tới cả vị trí của các nút tham gia vào mạng Thuật toán định tuyến Chord được cải thiện nhằm đạt được hiệu năng cao khi triển khai trên mạng P2P Các tham số được dùng để cải thiện: Chi phí định tuyến, độ trễ và tỷ lệ tổn thất gói tin, độ dài đường tìm kiếm, kích thước bảng định tuyến, tỷ lệ tìm kiếm thành công, chi phí bầu chọn siêu nút,
Để đạt được mục tiêu và đối tượng nghiên cứu đã nêu ở trên, nhiệm vụ nghiên cứu trong luận án tập trung vào các vấn đề sau:
Khảo sát các hướng nghiên cứu cải thiện hiệu năng mạng ngang hàng, phân tích các thách thức ảnh hưởng tới hiệu năng của mạng ngang hàng Từ đó sáng
tỏ cách thức tiếp cận, giải quyết vấn đề nhìn từ khía cạnh phương pháp luận và xác định công cụ phân tích và mô phỏng sử dụng trong nghiên cứu của luận
án
Phân tích và xây dựng kịch bản so sánh hiệu năng các thuật toán định tuyến DHTs Kademlia, Tapestry và Chord theo các yếu tố: Khả năng mở rộng của DHTs (mô phỏng đã chạy với 20.000 nút), tính hiệu quả của các thuật toán trong môi trường mạng có kích cỡ khác nhau và mạng không ổn định (có nghĩa là các nút gia nhập và rời mạng vào thời gian bất kỳ không thể dự đoán được) Ngoài ra, qua việc đánh giá và so sánh hoạt động của các thuật toán định tuyến DHTs ta có thể phân tích được các ưu nhược điểm của từng thuật toán qua đó lựa chọn thuật toán Chord phù hợp với mục tiêu của luận án và đề xuất hướng cải thiện hiệu năng
Phân tích các mạng phân cấp dựa trên thuật toán Chord của các nghiên cứu trước, từ đó đề xuất mạng phân cấp cải thiện hiệu năng Sử dụng các công cụ toán học và mô phỏng so sánh hiệu năng với các mô hình mạng phân cấp đã nghiên cứu [2], [25], [35], [61], [85]
3 Phương pháp nghiên cứu
Nghiên cứu các phương pháp cải thiện hiệu năng được công bố từ trước đến nay, để từ đó cải thiện và áp dụng vào bài toán của luận án
Trang 19Phân tích, mô phỏng và đánh giá, so sánh các phương pháp được đề xuất trong luận án với các phương pháp đã có
4 Những đóng góp chính của luận án
Dựa trên cơ sở nghiên cứu về: Cải thiện hiệu năng thuật toán định tuyến DHT trên mạng ngang hàng, luận án đề xuất một số đóng góp khoa học chính như sau:
Đề xuất cải thiện hiệu năng thuật toán định tuyến Chord có ưu điểm hơn các công trình nghiên cứu trước [11], [15], [64], [79], [86] về một số các tham số hiệu năng như: Kích thước bảng định tuyến giảm một nửa so với nghiên cứu [11], [86], độ dài đường tìm kiếm giảm một nửa so với nghiên cứu [79] Các kết quả chính là nội dung của bài báo khoa học “Cải thiện hiệu năng thuật toán định tuyến Chord DHT trên mạng ngang hàng” [V3]
Xây dựng mạng phân cấp cải thiện hiệu năng, thuật toán định tuyến tại các lớp trong mạng phân cấp được sử dụng thuật toán định tuyến Chord cải thiện Qua phân tích đánh giá một số các tham số hiệu năng như: Độ dài đường tìm kiếm, thời gian tìm kiếm, chi phí duy trì ổn định qua mô hình mạng đề xuất và mô hình ở các nghiên cứu trước đây [2], [25], [35], [85], cho thấy các tham số hiệu năng qua mô hình mạng phân cấp trong luận án được cải thiện hơn so với các nghiên cứu trước Các kết quả chính được công bố trong bài báo khoa học
“Xây dựng mô hình Chord phân cấp tối ưu hỗ trợ dịch vụ trên nền P2P” [V4]
Đề xuất hàm giá bầu chọn siêu nút cải thiện hiệu năng trong mô hình mạng phân cấp, qua phân tích đánh giá hàm giá bầu chọn khi triển khai trên mạng Chord_SL có độ phức tạp giảm so với triển khai trên mô hình của các nghiên cứu [2], [25]
5 Bố cục của luận án
Luận án được tổ chức như sau:
Phần mở đầu: Trình bày tính cấp thiết của luận án, mục tiêu và phạm vi của luận
án, phương pháp nghiên cứu, những đóng góp chính của luận án Các kết quả nghiên cứu và đóng góp mới được trình bày trong các chương, mục theo cấu trúc sau:
Trang 20Chương 1 Tổng quan về mạng P2P
Chương một trình bày tổng quan về những vấn đề liên quan đến luận án, bao gồm: Kiến thức nền tảng về mạng P2P, các thách thức khi nghiên cứu hiệu năng mạng ngang hàng, các vấn đề về thuật toán định tuyến DHT và các tham số hiệu năng định tuyến Trong đó, đáng chú ý là nội dung khảo sát về các hướng cải thiện hiệu năng mạng ngang hàng để làm sáng tỏ phạm vi nghiên cứu và cách tiếp cận của luận án Nội dung của chương này là các kết quả nghiên cứu công bố trong các công trình [V1]
Chương 2 Đánh giá hiệu năng thuật toán định tuyến DHTs
Chương hai tập trung phân tích lý thuyết và đánh giá hoạt động ba thuật toán định tuyến DHTs: Kademlia, Tapestry và Chord Cả ba thuật toán đều được thiết kế nhằm giảm độ trễ trong quá trình tìm kiếm dữ liệu Tuy nhiên, mỗi thuật toán lại tiếp cận DHT theo các cách khác nhau để xây dựng thuật toán định tuyến Phần cuối của chương luận án sử dụng phần mềm mô phỏng OverSim [6] để đánh giá hiệu năng của ba thuật toán định tuyến DHTs, từ đó xác định thuật toán Chord được chọn để tiếp tục nghiên cứu ở chương 3 và chương 4 Thuật toán Chord được đánh giá là thuật toán đơn giản, dễ triển khai, tìm kiếm hiệu quả và có khả năng mở rộng [18] Nội dung của chương là kết quả của công trình nghiên cứu [V2]
Chương 3 Cải thiện hiệu năng thuật toán định tuyến Chord
Nội dung chương đi sâu phân tích thuật toán định tuyến Chord gốc [18], [60]
từ đó thấy được ưu nhược điểm của thuật toán và đưa ra hướng cải thiện Thuật toán được cải thiện trong luận án có hiệu năng tốt hơn các nghiên cứu trước đây [11], [15], [64], [79], [86] Nội dung của chương là kết quả của công trình nghiên cứu [V3]
Chương 4 Xây dựng mạng ngang hàng Chord_SL phân cấp cải thiện hiệu năng
Chương bốn phân tích các nghiên cứu xây dựng mô hình mạng phân cấp ứng dụng triển khai dịch vụ thời gian thực, từ đó xây dựng mô hình mạng Chord_SL phân cấp cải thiện hiệu năng Chord_SL được chia làm hai lớp: Lớp nội miền và lớp
Trang 21liên miền Cả hai lớp đều được cấu trúc dạng vòng tròn Chord và sử dụng thuật toán định tuyến Chord cải thiện ở chương ba Nội dung chương còn đề cập đến việc gán định danh cho các nút và các thuật toán bầu chọn các nút cho lớp liên miền và các thuật toán gia nhập/rời mạng và tìm kiếm trong mạng Chord_SL phân cấp Việc tìm kiếm địa chỉ và chi phí định tuyến qua mạng phân cấp cải thiện đáng kể so với các nghiên cứu trước đây Nội dung của chương là kết quả của công trình nghiên cứu [V4], [V5]
Trang 221 CHƯƠNG 1 TỔNG QUAN VỀ MẠNG P2P
Chương một tập trung nghiên cứu các đặc tính kỹ thuật của mạng ngang hàng cùng với các ứng dụng điển hình, các vấn đề ảnh hưởng tới hiệu năng mạng ngang hàng; tiếp cận giải quyết vấn đề cải thiện hiệu năng mạng ngang hàng và các điểm mấu chốt của thuật toán định tuyến dựa trên bảng băm phân tán và tìm kiếm tối ưu Đặc biệt, các giải pháp cải thiện hiệu năng thuật toán định tuyến DHTs của các nghiên cứu gần đây được phân tích nhằm sáng tỏ cách thức tiếp cận mục tiêu của luận án
1.1 Tổng quan về mạng ngang hàng
Hầu như mọi dịch vụ mà Internet cung cấp ngày nay đều dựa trên mô hình khách/chủ (client/server) Mô hình client/server có rất nhiều ưu điểm như: Mọi xử
lý nằm trên máy chủ do đó sẽ tránh cho máy khách những tính toán nặng nề, dễ dàng trong quản lý hệ thống cũng như vấn đề bảo mật, do tất cả dữ liệu đều tập trung tại máy chủ Tuy nhiên, khi mà Internet phát triển với tốc độ chóng mặt như ngày nay thì mô hình client/server có rất nhiều vấn đề cần được xem xét Khi số lượng máy khách tăng đến một mức độ nào đó thì nhu cầu về tải, băng thông tăng
và máy chủ không có khả năng cung cấp dịch vụ cho các máy khách thêm vào Mô hình P2P được xem như một giải pháp khắc phục nhược điểm của mô hình client/server khi triển khai dịch vụ trên diện rộng và quy mô lớn [1], [7], [21], [65], [67], [70], [73]
Mạng P2P đã được phát triển trong suốt những năm 1990, nhưng chỉ đến khi Internet bùng nổ, cùng với sự ra đời của các dịch vụ chia sẻ file, âm thanh, hình ảnh trong thời gian gần đây thì mạng ngang hàng mới được chú ý đến như là một công nghệ quan trọng của Internet hiện tại và tương lai Theo Dự báo chỉ số tăng trưởng mạng (VNI) hàng năm của Cisco lần thứ 10 (the 10th annual Cisco® Visual Networking Index™ [VNI] Forecast), lưu lượng IP hàng năm sẽ tăng gấp ba lần trong giai đoạn từ 2014 - 2019, và sẽ đạt mức kỷ lục là 2 zettabytes, đặc biệt là các ứng dụng P2P chiếm khoảng 50% (thậm chí 75%) băng thông trên Internet [1], [21] Vậy mạng ngang hàng là gì?
Trang 23Một mạng ngang hàng đúng nghĩa không có khái niệm máy chủ và máy khách, tất cả các máy tham gia đều bình đẳng và được gọi là nút, nó đóng vai trò của cả máy chủ và máy khách đối với các máy khác trong mạng
Qua khảo sát các định nghĩa về mạng P2P của một số nghiên cứu [9], [58],
[65], [69] các nghiên cứu đều thống nhất một số điểm đặc trưng của P2P: Các nút trong mạng P2P có vai trò như nhau, chia sẻ tài nguyên và có khả năng tự trị, dễ dàng triển khai, khả năng định tuyến trên diện rộng, tìm kiếm dữ liệu hiệu quả, tin cậy và bảo mật, khả năng mở rộng và chịu đựng lỗi Mạng chồng phủ ngang hàng
được định nghĩa như sau:
Mạng chồng phủ ngang hàng là mạng máy tính được xây dựng trên nền của một mạng khác Các nút trong mạng ngang hàng được kết nối với nhau bằng liên kết logic, mỗi liên kết logic có thể bao gồm rất nhiều các liên kết vật lý của mạng nền (Internet) [69]
Hình 1-1 Mô hình mạng chồng phủ P2P 1.1.1 Kiến trúc mạng ngang hàng P2P
Một hệ thống mạng P2P được cấu trúc gồm ba lớp: Lớp mạng nền tảng (Underlying Network), lớp mạng chồng phủ (Overlay Network) và lớp ứng dụng (Application) Hình 1.2 mô tả kiến trúc phân lớp điển hình của mạng ngang hàng P2P
Lớp mạng nền tảng: Là mạng truyền tải giữa các điểm liên kết nhằm phục vụ
việc định tuyến gói tin
Mạng chồng phủ
Mạng nền tảng
Trang 24Lớp mạng chồng phủ: Là lớp mạng được thiết lập giữa các thiết bị ngang
hàng tại mức ứng dụng của mô hình OSI Lớp này có trách nhiệm cung cấp dịch vụ ngang hàng như lưu trữ, phân phối dữ liệu cho lớp ứng dụng Để hoàn thành nhiệm
vụ, bao gồm rất nhiều công đoạn, như quản lý nút mạng chồng phủ, xây dựng và duy trì mô hình, quản lý và tìm kiếm tài nguyên,…
Lớp ứng dụng: Sử dụng dịch vụ được cung cấp bởi mạng chồng phủ để cung
cấp nội dung, dịch vụ cho người sử dụng Một số ứng dụng được đặt trong lớp này như chia sẻ file, tin nhắn hay ứng dụng luồng video P2P,
Chia sẻ file, tin nhắn tức thời,
luồng video, phân tán, tính toán…
Application Layer ( Lớp ứng dụng)
Quản lý nút mạng phủ, quản lý và
tìm kiếm tài nguyên…
Overlay Network Layer ( Lớp mạng chồng phủ)
( Lớp mạng nền )
Hình 1-2 Kiến trúc phân lớp điển hình mạngP2P
Dựa trên cấu trúc và thuật toán định tuyến trong lớp mạng chồng phủ, kiến trúc mạng chồng phủ P2P được chia thành mô hình tập trung, phân tán và lai ghép [48], [63] Mô hình phân tán được chia làm hai loại không cấu trúc, có cấu trúc, phân cấp và không phân cấp (Hình 1-3)
Hình 1-3 Phân loại kiến trúc mạng chồng phủ P2P
Trang 251.1.1.1 Kiến trúc tập trung
Các nút trong mô hình tập trung (Csy) kết nối tới máy chủ trung tâm và quảng
bá thông tin về nội dung yêu cầu chia sẻ Dựa trên yêu cầu từ máy khách, máy chủ sẽ đưa yêu cầu tới máy khách tốt nhất mà có thư mục phù hợp với yêu cầu Nút tốt nhất có thể là giá liên kết thấp nhất, nhanh nhất hoặc tính sẵn sàng cao nhất, tùy thuộc vào yêu cầu của người sử dụng Sau đó dữ liệu sẽ được trực tiếp trao đổi giữa hai máy khách Ví dụ điển hình đối với mô hình danh bạ tập trung là Napster [4]
Mô hình này có nhược điểm là khả năng mở rộng không cao, dễ bị lỗi toàn hệ thống
và vấn đề về bản quyền Mô hình này thường ứng dụng cho các mạng quy mô nhỏ
1.1.1.2 Kiến trúc phân tán không cấu trúc
Mô hình phân tán không cấu trúc (DUSy) được gọi là kiến trúc ngang hàng thuần túy Các nút trong mô hình này chỉ liên kết với các nút lân cận khi gửi bản tin với các nút khác trong mạng ngang hàng Tức là liên kết giữa các nút mạng được thiết lập ngẫu nhiên, không theo quy luật nào Những mạng như thế này dễ dàng được xây dựng vì một máy mới khi muốn tham gia mạng có thể lấy các liên kết có sẵn của một máy khác đang ở trong mạng và tự xác định các liên kết mới của riêng mình Khi một máy muốn tìm dữ liệu trong mạng ngang hàng không cấu trúc, yêu cầu tìm kiếm sẽ được truyền trên cả mạng để tìm ra càng nhiều máy chia sẻ càng tốt Kỹ thuật tìm kiếm chủ yếu là sử dụng tràn lụt các bản tin tìm kiếm Hệ thống này thể hiện rõ nhược điểm, không có gì đảm bảo tìm kiếm sẽ thành công Đối với tìm kiếm các dữ liệu phổ biến được chia sẻ trên nhiều máy, tỉ lệ thành công là khá cao, nhưng ngược lại, nếu dữ liệu chỉ được chia sẻ trên một vài máy thì xác suất tìm thấy là khá nhỏ Một nhược điểm khác của hệ thống này là do không có định hướng, một yêu cầu tìm kiếm thường được chuyển cho một số lượng lớn máy trong mạng làm tiêu tốn một lượng lớn băng thông của mạng, dẫn đến hiệu quả tìm kiếm chung của mạng thấp Nhược điểm khác nữa đó là khả năng mở rộng mạng thường bị hạn chế bởi các kỹ thuật trong việc xây dựng mạng, chẳng hạn như kỹ thuật tràn lụt dẫn tới việc tăng lưu lượng mạng khi mở rộng mạng Tuy nhiên các hệ thống không cấu trúc lại thích ứng với sự thay đổi thường xuyên của mạng
Trang 261.1.1.3 Kiến trúc phân tán có cấu trúc
Các nút trong mô hình phân tán có cấu trúc (DSSy) duy trì bảng thông tin định tuyến để phục vụ quá trình tìm kiếm trong mạng So sánh với mạng không có cấu trúc, mạng ngang hàng có cấu trúc có giới hạn số lượng bản tin cần thiết để tìm bất
cứ đối tượng nào trong mạng Điều quan trọng đối với những hệ thống có cấu trúc
là cung cấp ánh xạ giữa nội dung (ví dụ: ID của file) và vị trí nút (ví dụ: địa chỉ nút), việc này thường dựa trên cơ chế DHTs Trong mạng có cấu trúc, cấu trúc mạng được kiểm soát chặt chẽ, khả năng mở rộng mạng được cải thiện rõ rệt Tuy nhiên việc quản lý cấu trúc mạng gặp khó khăn khi tỷ lệ gia nhập/rời mạng của các nút cao, dẫn tới chi phí tiêu tốn cho các bản tin để duy trì ổn định cấu trúc mạng
1.1.1.4 Kiến trúc lai ghép
Để khắc phục nhược điểm của mạng ngang hàng thuần túy, một mô hình mạng ngang hàng mới được phát triển với tên gọi là mạng ngang hàng lai ghép (HSy) Mạng HSy phức tạp hơn, vì nó kết hợp cả hai mô hình tập trung và phân tán Mạng lai ghép dựa trên một nhóm máy chủ quản lý các nhóm người dùng theo mô hình quản lý tập trung Mỗi máy chủ kết nối với các máy chủ khác theo mô hình quản lý phân tán Mỗi một người dùng muốn kết nối tới người dùng khác mà không do máy chủ của mình quản lý, yêu cầu tìm kiếm sẽ được chuyển tiếp đến máy chủ khác Ưu điểm của mạng lai ghép đó là hạn chế tràn lụt các truy vấn, làm giảm lưu lượng trong mạng, nhưng vẫn tránh được hiện tượng nút cổ chai và khắc phục được nhược điểm về sự không đồng nhất trong mạng P2P như: Khác nhau về khả năng xử lý của nút, băng thông…
1.1.2 Một số các ứng dụng điển hình của mạng ngang hàng
1.1.2.1 Chia sẻ tập tin và lưu trữ nội dung
Dịch vụ chia sẻ file là dịch vụ rất thông dụng của mạng ngang hàng Vấn đề then chốt ảnh hưởng tới hiệu năng của dịch vụ chia sẻ file là kỹ thuật tìm kiếm Kỹ thuật tìm kiếm hiện đang được triển khai trên mạng ngang hàng bao gồm: Tìm kiếm tràn lụt, tìm kiếm dựa vào mô hình thư mục trung tâm và tìm kiếm dựa trên cơ chế bảng băm phân tán DHTs Tìm kiếm tràn lụt điển hình là hệ thống Gnutella, không
Trang 27có sự tập trung, các file được lưu trữ trên các nút của hệ thống, khi có yêu cầu tìm kiếm một file, máy tính sẽ gửi yêu cầu này tới tất cả các nút láng giềng của nó cho tới khi tìm thấy nút chứa file cần tìm Tiếp theo là quá trình trao đổi file trực tiếp giữa hai nút trong mạng Hệ thống Naspter, sử dụng tìm kiếm dựa trên mô hình thư mục trung tâm Khi một máy tham gia vào mạng, danh mục các file sẽ được đăng
ký và lưu trữ trên máy chủ trung tâm, khi có yêu cầu tìm kiếm, máy tính sẽ hỏi máy chủ trung tâm về vị trí của file Sau đó việc trao đổi file được thực hiện giữa hai nút với nhau
Trong hệ thống Freenet, file không được lưu trữ tại các nút cung cấp chúng mà được lưu trữ ở các vị trí khác trong mạng Mục đích của việc phát triển mạng Freenet là làm cho thông tin được lưu trữ và truy cập mà không cần biết định danh Với các tổ chức như vậy, chủ sở hữu của một nút mạng cũng không biết được tài liệu gì được lưu trữ trên ổ cứng của máy anh ta Vì lý do này mà các nút và các file được cung cấp các số định danh khác nhau Khi một file được tạo, nó được truyền qua các nút láng giềng tới các nút có số định danh gần với số định danh của file nhất
và được lưu trữ ở đó
1.1.2.2 Tính toán phân tán
Đại diện chính của loại này là SETI@home, một dự án nhằm phân tích các tín hiệu vô tuyến bên ngoài không gian phục vụ cho việc tìm kiếm sự sống ngoài trái đất Đây là một hệ thống P2P lai ghép trong đó các thành phần tham gia hệ thống kết nối tới máy chủ trung tâm định kỳ để có được các kết quả tính toán Các nút mạng chia sẻ công suất xử lý cho nhau nhưng chúng không kết nối tới nhau
Loại hệ thống P2P này có mục đích để giải quyết các bài toán tính toán phức tạp bằng cách chia nhỏ chúng ra thành các tác vụ nhỏ hơn và thực thi chúng song song trên một số lượng các nút mạng Các bài toán này bao gồm như là phân tích thị trường, phá mã, tìm kiếm sự sống ngoài Trái đất hoặc công nghệ sinh học
1.1.2.3 Khả năng cộng tác
Khả năng cộng tác là hoạt động bao hàm các hoạt động hỗ trợ người sử dụng bởi mạng P2P Vùng làm việc ảo hóa cho phép người dùng giữ lại trạm làm việc
Trang 28của họ, nhưng cộng tác và tương tác tại cùng thời điểm trong thời gian thực mà không cần phải gặp nhau Sự cộng tác này đặc biệt hữu ích cho những người sử dụng phương pháp truyền thông từ xa cho nhau Mạng P2P cho phép chia sẻ không gian làm việc mà không cần máy chủ hay cơ sở dữ liệu tập trung hoặc bất kỳ cơ sở
hạ tầng cụ thể nào
Một ví dụ điển hình về ứng dụng mạng ngang hàng trong giao tiếp là hệ thống chuyển tin nhắn trực tiếp Thông thường, máy chủ trung tâm lưu trữ thông tin và danh sách người dùng đăng kí Khi có sự giao tiếp giữa các nút, việc tìm kiếm người dùng được thực hiện trên máy chủ Trong trường hợp người dùng không online, hệ thống sẽ phải lưu trữ các tin nhắn cho đến khi người dùng này online Dạng đơn giản nhất của cộng tác P2P là gửi tin nhắn nhanh
1.1.2.4 Lớp nền (Platforms)
Một môi trường phát triển P2P phải cung cấp cơ sở hạ tầng để cho các nút mạng có khả năng kết nối, gửi thông điệp, tổ chức…Lớp nền P2P cung cấp hạ tầng cho các ứng dụng phân tán sử dụng cơ chế P2P Các phần tử P2P sử dụng ngữ cảnh để phát hiện, kết nối, bảo mật, tập hợp tài nguyên…Ví dụ JXTA cung cấp một nền tảng cơ bản cho việc lập trình và xử lí trên mạng P2P Mục tiêu của JXTA là cung cấp một nền tảng mà qua đó các nhà phát triển ứng dụng có thể dễ dàng phát triển các ứng dụng P2P một cách nhanh chóng, tiện lợi Thật ra, JXTA là dự án xây dựng một tập hợp các giao thức cơ bản cần thiết trong một mạng P2P Đến thời điểm hiện tại, số lượng các môi trường phát triển cho các ứng dụng P2P vẫn còn rất hạn chế ví
dụ OMNeT++, JXTA [71]
1.1.3 Thách thức khi nghiên cứu mạng ngang hàng P2P
Bên cạnh các ưu điểm về khả năng mở rộng, khả năng chịu đựng lỗi, dễ dàng triển khai, chính cơ chế truyền thông ngang hàng và các yêu cầu cung cấp chất lượng dịch vụ, đã cho thấy một số thách thức mà mạng P2P cần phải vượt qua về mặt hiệu năng
Thách thức lớn nhất là tính động vì dịch vụ được triển khai trên mạng không ổn định và cấu trúc được xây dựng hoàn toàn độc lập với mạng nền Đây là
Trang 29nguyênnhân chính gây ảnh hưởng tới một số các tham số hiệu năng như: chi phí mào đầu điều khiển, thông lượng, thời gian trễ và tỷ lệ tổn thất gói tin Ngoài ra một
số các vấn đề khác như: bảo mật, độ tin cậy, cân bằng tải cũng cần quan tâm khi nghiên cứu P2P
1.1.3.2 Topo mạng không đồng nhất
Cấu trúc mạng chồng phủ được xây dựng tại lớp ứng dụng dựa vào định danh nút, hoàn toàn độc lập với cấu trúc mạng nền, điều đó dẫn tới sự không đồng nhất hiệu năng của hai mạng [32], [43] Đây chính là nguyên nhân làm cho đường định tuyến qua lớp chồng phủ quá xa so với đường định tuyến lớp nền tảng dẫn tới tăng thời gian trễ tìm kiếm qua mạng
1.1.3.3 Tính bảo mật
Bảo mật cho hệ thống P2P gặp rất nhiều khó khăn, các nút trong hệ thống hoàn toàn động, phân tán khắp nơi, các nút không chứng thực lẫn nhau Các cơ chế bảo mật truyền thống không thể bảo vệ hệ thống P2P, ngược lại có thể ngăn cản quá trình truyền thông trong hệ thống Trong hệ thống P2P thì phá hoại hệ thống định tuyến là mối đe dọa lớn nhất Kẻ tấn công sẽ khai thác lỗ hổng của các thuật toán định tuyến DHTs, từ đó các nút mạng sẽ dựa trên một bảng định tuyến khác để hoạt
Trang 30động, điều này làm ảnh hưởng tới hiệu năng tìm kiếm [38], [73] Khi bảng định tuyến trong lớp mạng chồng phủ P2P bị tấn công thì các chức năng của bất kỳ ứng dụng P2P nào được xây dựng đều có thể bị xâm hại thậm chí bị phá hủy Bởi vậy, để cải thiện hiệu năng P2P những khái niệm bảo mật mới được đặt ra đối với hệ thống P2P [19], [33]
1.1.3.4 Độ tin cậy
Một hệ thống đáng tin cậy là hệ thống có thể phục hồi khi lỗi xảy ra Những nhân tố cần phải quan tâm khi tính toán cho sự tin cậy là: Nhân bản dữ liệu, phát hiện nút lỗi, phục hồi,… đảm bảo cho thông tin tìm kiếm tránh lỗi đơn và khả năng sẵn sàng nhiều đường dẫn tới dữ liệu Nhân bản dữ liệu tăng sự tin cậy bằng việc tăng sự dư thừa về vị trí Có hai chiến lược cho nhân bản: Nhân bản gốc và nhân bản đường dẫn Trong nhân bản gốc, khi tìm kiếm thành công dữ liệu được lưu trữ chỉ tại nút yêu cầu Trong nhân bản đường dẫn, khi tìm kiếm thành công dữ liệu được lưu trữ tại tất cả các nút dọc theo đường dẫn từ nút yêu cầu tới nút cung cấp Mỗi thuật toán DHT đều có chiến lược sao lưu dự phòng riêng để cải thiện hiệu năng của hệ thống khi các nút rời mạng mà không báo trước Ví dụ Chord dữ liệu không những được lưu ở nút có định danh gần với định danh dữ liệu mà nó còn được lưu ở các nút hàng xóm [84]
1.1.3.5 Cân bằng tải
Bên cạnh ưu điểm trong việc tổ chức và truy vấn dữ liệu một cách có cấu trúc, các giải thuật sử dụng DHT có một nhược điểm tồn tại và đã được đề cập trong nhiều nghiên cứu, đó là: Sự phân tán dữ liệu giữa các nút trong hệ thống Dựa trên tính chất phân bố ngẫu nhiên là kết quả của hàm băm, khi tính toán đến độ phức tạp của truy vấn hay phép gán dữ liệu trên DHT, người ta thường mặc định là dữ liệu phân bố gần như đồng đều giữa các nút Bên cạnh đó, các nút tham gia hệ thống cũng được coi là có khả năng như nhau về băng thông, khả năng lưu trữ, xử lý của CPU Trong thực tế lại có một sự khác biệt lớn về tải giữa các nút hay còn gọi là
sự mất cân bằng tải Có thể có nhiều nguyên nhân dẫn tới việc mất cân bằng tải trên mạng ngang hàng như: Định danh các nút không cân bằng; Định danh dữ liệu
Trang 31không cân bằng; Khả năng các nút không cân bằng Vì vậy việc nghiên cứu đưa ra các giải pháp cân bằng tải giúp cải thiện hiệu năng của DHT là rất cần thiết [23], [39], [72], [81]
1.2 Tham số hiệu năng mạng ngang hàng
Để so sánh đánh giá hiệu năng của mạng P2P, một số các tham số hiệu năng phải được định nghĩa Các tham số đó phải phản ánh được các đặc tính đặc trưng của mạng P2P như: Khả năng mở rộng, khả năng phục hồi và hiệu quả truy vấn Với mục tiêu xem xét ảnh hưởng của hai nguyên nhân chính ảnh hưởng tới hiệu năng của mạng P2P: “Churn rate” và “Topology Mismatch” Nên các tham số ảnh hưởng tới hiệu năng của mạng P2P được đánh giá trong nghiên cứu của luận án được chọn: Độ dài đường tìm kiếm; Tỷ lệ tìm kiếm thành công; Độ dài đường tìm kiếm trung bình;Trễ; Tỷ lệ trễ dãn cách trung bình; Băng thông tiêu tốn
Định nghĩa 1.1: Độ dài đường tìm kiếm 𝑝(𝑛𝑞,𝑘) từ nút truy vấn 𝑛𝑞 đến
khóa k ∈ Ҟ bất kỳ là tập hợp tất cả các nút định tuyến từ 𝑛𝑞 đến k sẽ phải đi qua kể
cả nút chứa chỉ mục dữ liệu cần truy vấn có khóa k đó là nút 𝑟𝑜𝑜𝑡𝑘 Hai đường được gọi là thay thế (alternate) nếu hai đường có ít nhất một nút khác ngoại trừ hai nút 𝑛𝑞,
và 𝑟𝑜𝑜𝑡𝑘 Hai đường được gọi là độc lập (independent) nếu hai đường không có nút nào chung trừ hai nút 𝑛𝑞 và 𝑟𝑜𝑜𝑡𝑘
Định nghĩa 1.2: Tỷ lệ tìm kiếm thành công 𝜌 của dịch vụ tìm kiếm DHT là xác suất
một nút truy vấn khóa k bất kỳ, kết quả sẽ trả về là dữ liệu chính xác tương ứng với khóa k
𝜌 = 𝑃(∃𝑝(𝑛𝑞,𝑘)|𝑛𝑖 ∈ 𝑝(𝑛𝑞,𝑘) 𝑛𝑖 𝑙𝑎̀ 𝑡ố𝑡 𝑛ℎấ𝑡 (1.1)
𝑛𝑞 là nút truy vấn ngẫu nhiên, k là một khóa ngẫu nhiên
Định nghĩa 1.3: Độ dài đường tìm kiếm trung bình h là trung bình cộng của số
bước nhảy mỗi lần tìm kiếm cần thiết để tìm kiếm thành công trong chuỗi tìm kiếm
l
i h h
l i
Trang 32(l là số tìm kiếm, h(i) số bước nhảy tìm kiếm của mỗi lần tìm kiếm riêng rẽ i=1… l
Nếu tìm kiếm không thành công, bước nhảy của tìm kiếm này vẫn được xác định và
nó sẽ thử tất cả các đường có thể giữa nút truy vấn và nút gốc hoặc tìm kiếm sẽ bị
hủy dựa vào giới hạn tổng số chặng cho mỗi đường tìm kiếm h t
Định nghĩa 1.4: Trễ là khoảng thời gian duy trì ổn định do mạng thay đổi cấu trúc,
cũng như khoảng thời gian cần thiết để giải quyết các yêu cầu tìm kiếm từ khi nó
bắt đầu khởi tạo cho đến khi nhận được trả lời; đơn vị miligiây
Định nghĩa 1.5: Tỷ lệ trễ dãn cách trung bình T stretch là tỷ số giữa trễ trung bình tìm
kiếm qua mạng chồng phủ P2P và trễ trung bình tìm kiếm qua mạng nền
IP delay
overlay delay T
T
stretch
Định nghĩa 1.6: Băng thông tiêu tốn tại mỗi nút được tính bằng lưu lượng được tạo
ra bởi quá trình duy trì bảng định tuyến và tìm kiếm dữ liệu, nó được đo bằng số các bản tin được tạo ra tại một nút trong chu kỳ thời gian cố định
1.3 Các hướng tiếp cận nghiên cứu cải thiện hiệu năng mạng ngang hàng 1.3.1 Tối ưu cấu trúc mạng chồng phủ
Các nghiên cứu theo hướng này, đều chỉ ra rằng mô hình phân cấp có hiệu năng tốt hơn so với mô hình không phân cấp khi triển khai các dịch vụ thời gian thực, điều này được khẳng định bởi các tác giả trong [14], [35], [37], [75] Nghiên cứu [2], [37] kết hợp tối ưu thuật toán định tuyến Chord và SIP, đồng thời kết hợp với kỹ thuật đa hướng lớp ứng dụng trong việc chuyển tiếp dữ liệu Nghiên cứu [25] đưa ra mô hình phân cấp nhưng các nút tham gia vào mạng là đồng nhất Việc xây dựng mô hình phân cấp dựa trên năng lực của các nút và địa chỉ IP của nút tham gia mạng [35] Ngoài ra một số nghiên cứu xây dựng mô hình phân cấp dựa trên vị trí để giảm trễ liên kết qua mô hình mạng phân cấp P2P [61]
1.3.2 Cải thiện thuật toán định tuyến DHTs
Các hướng nghiên cứu cải thiện hiệu năng định tuyến đều giải quyết hai vấn
đề “Churn rate”cao và “Topology Mismatch” của mạng ngang hàng
Trang 33Hướng thứ nhất: Giải quyết vấn đề “Churn rate” cao: Nhóm tác giả của các
nghiên cứu[11], [31], [86] đã sửa đổi cấu trúc bảng định tuyến để tăng hiệu quả tìm kiếm [36] sử dụng kỹ thuật sao lưu nội dung, các kỹ thuật này đã đảm bảo rằng xác suất tìm kiếm nội dung được cải thiện đáng kể Đối với các mạng phân cấp, Tran và các cộng sự [66] đề xuất kỹ thuật tìm kiếm nhiều chiều (EZSearch), nó dựa trên cấu trúc lớp phủ phân cấp Zigzag [72], tìm kiếm các nút hàng xóm gần nhất và truy vấn phạm vi giúp giảm chi phí điều khiển
Hướng thứ hai: Giải quyết vấn đề “Topology Mismatch”: nghiên cứu định
tuyến dựa trên láng giềng gần cho các mạng P2P có cấu trúc, khai thác các thông tin
về khoảng cách giữa các nút để đưa ra các quyết định tối ưu định tuyến qua đó giảm được trễ giữa mạng phủ và mạng vật lý nền tảng P3ON (Proximity Peer-to-Peer Overlay Network) [53] đưa ra mô hình vòng ring hai lớp, lớp một kết nối các nút ở các miền khác nhau, lớp hai kết nối các nút trong cùng một hệ thống tự trị (AS) Độ trễ tra cứu giảm đáng kể nếu tra cứu thành công trong lớp thứ hai Nhóm tác giả của các công trình nghiên cứu [85], [61] kết hợp hiểu biết về mạng IP vào bảng định tuyến của mạng chồng phủ để xác định các nút hàng xóm có khoảng cách vật lý gần nhau Với các giải thuật này, chúng ta có thể làm mới cấu trúc của mạng chồng phủ sao cho phù hợp với mạng vật lý nhất
1.3.3 Multicast lớp ứng dụng
Khi triển khai truyền multicast trên lớp ứng dụng cũng gặp không ít vấn đề Thay vì nhân bản các gói tin tại các bộ định tuyến như IP multicast thì cơ chế multicast trên lớp ứng dụng lại nhân bản các gói tin trên các máy đầu cuối Do đó việc tối ưu cây multicast nhằm tạo sự cân bằng tải trên toàn mạng cũng là một vấn
đề Một vấn đề nữa là phải tính đến độ trễ Các gói tin liên tục phải luân chuyển qua nhiều vị trí đầu cuối nên độ trễ sẽ tăng cao Việc xây dựng một cây multicast phù hợp để giảm thiểu độ trễ cũng là một hướng nghiên cứu
Các ứng dụng đa phương tiện có các yêu cầu khác nhau về băng thông, độ trễ
và biến động trễ cho từng loại dịch vụ Vì vậy để cải thiện chất lượng QoS (Quality
of Service) các tác giả đã đưa ra các thuật toán tối ưu cây định tuyến, tuy nhiên các
Trang 34nghiên cứu đều mới dừng ở tối ưu một tiêu chí, chẳng hạn như chi phí băng thông máy chủ [52], khả năng mở rộng của hệ thống [63], trễ liên kết và chi phí cây multicast [44], [45] Từ quan điểm của người dùng, tối ưu hóa một tiêu chí, chẳng hạn như chi phí cây định tuyến, có thể không đảm bảo chất lượng trải nghiệm tốt của người dùng
1.4 Kết luận chương 1
Nội dung của chương một đã thể hiện khái quát cấu trúc, ứng dụng của P2P nhằm nổi bật các đặc tính riêng biệt của đối tượng cần quan tâm nghiên cứu Sự khác biệt giữa mô hình khách/chủ truyền thống và mô hình P2P, cho thấy hướng tiếp cận mạng chồng phủ ngang hàng là hướng đi tất yếu giải quyết vấn đề cung cấp dịch vụ quy mô lớn trên mạng Internet [76]
Mô hình P2P dựa trên bảng băm phân tán DHT có khả năng mở rộng, khả năng chịu lỗi, dễ dàng triển khai, được coi là giải pháp then chốt của mạng ngang hàng thế hệ thứ 3 Tuy nhiên DHTs mới chỉ giải quyết được vấn đề quy mô và hiệu quả tìm kiếm Các khó khăn khi triển khai các thuật toán DHTs trên mạng P2P cũng được phân tích trong chương một Mục cuối của chương đề cập đến các tham số hiệu năng của các DHTs và phân tích hướng nghiên cứu cải thiện hiệu năng của P2P Kết quả nội dung của chương một được thể hiện trong bài báo khoa học [V1]
Trang 352 CHƯƠNG 2 PHÂN TÍCH ĐÁNH GIÁ HIỆU NĂNG THUẬT
TOÁN ĐỊNH TUYẾN DHTs
Các thuật toán định tuyến dựa trên DHTs đã được các nghiên cứu chứng minh
là có hiệu năng tốt như: Cân bằng tải, tìm kiếm vị trí dữ liệu dễ dàng, khả năng chịu đựng lỗi, khả năng mở rộng Chương hai phân tích hoạt động của ba thuật toán định tuyến DHTs: Kademlia, Tapestry và Chord Việc mô phỏng được thực hiện bằng phần mềm mô phỏng OverSim Kết quả của việc nghiên cứu đã chỉ ra những điểm mạnh và điểm yếu của các thuật toán DHTs, là tiền đề cho việc cải thiện các thuật toán định tuyến DHTs trong nghiên cứu tiếp theo
2.1 Giới thiệu chung
Hệ thống phân tán sử dụng bảng băm phân tán DHTs [48], [74], [34], [53] gần đây đã có ảnh hưởng rất lớn tới cộng đồng mạng Các mô hình mạng mang tính hỗn loạn, tùy biến của kiến trúc mạng P2P thế hệ đầu tiên đã được thay thế bởi một tập hợp các mạng liên kết phân cấp và các mạng này đã được chứng minh mang lại hiệu năng tốt Các thuật toán định tuyến dựa trên cơ chế bảng băm phân tán đã và đang trở thành một thành phần quan trọng trong hướng phát triển tương lai của các mạng P2P [54]
Nghiên cứu về các thuật toán định tuyến DHTs đã được phát triển bởi các trường đại học, được lấy ra từ cộng đồng mã nguồn mở và được triển khai ứng dụng thực tiễn Tính năng cơ chế DHTs được chứng minh là một cơ sở hữu ích cho các
hệ thống phân phối lớn; một số dự án đang được đề xuất để xây dựng dịch vụ ứng dụng DHT như: hệ thống file phân tán, truyền thông đa hướng lớp ứng dụng, dịch
vụ khai báo sự kiện và dịch vụ trò chuyện
DHT có nhiều ưu điểm khác biệt so với mô hình khách chủ truyền thống: DHT cho phép hoạt động phân tán, không cần duy trì một máy chủ trung tâm để điều khiển hoạt động của mạng P2P Hệ thống DHT có tính khả mở, nghĩa là hệ thống vẫn hoạt động tốt ngay cả với số lượng nút và lưu lượng trên mạng lớn Tải
Trang 36được cân bằng giữa các nút trong mạng Hệ thống có thể đứng vững ngay cả khi bị tấn công trên diện rộng
2.2 Bảng băm phân tán - DHT
DHT sử dụng hàm băm SHA1 để cung cấp ánh xạ từ khóa/giá trị (key/value)
Nhưng không giống như bảng băm thông thường, các giá trị trong một DHT được lưu trên các nút khác nhau trong mạng chứ không phải lưu trong một cấu trúc dữ liệu cục bộ
DHT cung cấp hai chức năng cơ bản: put(key/value) để lưu trữ khoản mục dữ liệu (data item) cho một key nhất định vào một nút phù hợp, lookup(key) để lấy một
khoản mục dữ liệu cho một khóa nhất định Trong trường hợp không có các nút độc hại hoặc một số lượng lớn nút lỗi, DHTs có thể đảm bảo phục hồi dữ liệu hiệu quả với một số lượng nút tham gia lớn
Hình 2-1 Tìm kiếm và lưu trữ dữ liệu trong DHT 2.2.1 Cơ chế định danh địa chỉ
Không gian định danh ngoài của nút (Node Identier Space): Để phân biệt
các nút, một không gian định danh ngoài được sử dụng 𝑒𝐼𝐷 ∈ 𝐸, E là không gian
định danh ngoài miền DHT Ví dụ, nếu địa chỉ IP được sử dụng như một không gian
định danh ngoài, E sẽ chứa tất cả các địa chỉ IP có thể, tức là E = [0… 255] [0… 255].[0… 255].[0… 255] Để xác định, định danh duy nhất của một nút tham gia hệ
thống, các nút được gán một định danh duy nhất trong không gian định danh nút
𝑛 ∈ 𝐼, dựa trên định danh ngoài 𝑒𝐼𝐷 ∈ 𝐸
Trang 37Không gian định danh nút (Node-ID): DHT định nghĩa ánh xạ
𝑓𝑛𝑜𝑑𝑒−𝑚𝑎𝑝𝑝𝑖𝑛𝑔 ∶ 𝐸 → 𝐼 để ánh xạ định danh ngoài 𝑒𝐼𝐷 ∈ 𝐸 vào định danh nút 𝑛 ∈
𝐼, ký hiệu 𝑓𝑛𝑜𝑑𝑒−𝑚𝑎𝑝𝑝𝑖𝑛𝑔: (𝑒𝐼𝐷) → 𝑛 ∈ 𝐼 Thông thường quy tắc 𝑓𝑛𝑜𝑑𝑒−𝑚𝑎𝑝𝑝𝑖𝑛𝑔 sử dụng là hàm băm ℎ𝑛𝑜𝑑𝑒() (ví dụ như SHA-1) Do đó, một định danh ngoài được
băm thì thu được ID là n có độ dài tương ứng M bít 𝑛 ∈ 𝐼 Tập hợp các giá trị đầu
vào cho hàm băm này có thể là tên miền của nó (ℎ𝑛𝑜𝑑𝑒(𝑑𝑜𝑚𝑎𝑖𝑛)), nếu định nghĩa
không gian định danh ngoài E là tên miền Ví dụ Chord tính định danh n p của nút p bằng cách băm địa chỉ IP của nút ℎ𝑛𝑜𝑑𝑒() : 𝑛𝑝 = ℎ𝑛𝑜𝑑𝑒(𝐼𝑃 − 𝑎𝑑𝑑𝑟𝑒𝑠𝑠(𝑝)) Trong
trường hợp này không gian định danh I xác định khoảng không gian của hàm băm
ℎ𝑛𝑜𝑑𝑒()
Không gian định danh khóa (Key Identier Space): Nội dung thông tin được
gắn với một khóa 𝑘 ∈ Ҟ là giá trị băm của một đặc tả đặc trưng nào đó của nội dung
thông tin (value) Mỗi nút trong mạng sẽ chịu trách nhiệm quản lý một tập các khóa
trong không gian khóa Ҟ và lưu giữ thông tin về một số các nút khác trong mạng
Một bảng băm là một cấu trúc dữ liệu ánh xạ giữa key và value Tức là tương ứng với một key, bảng băm sẽ trả về một value
2.2.2 Cơ chế định tuyến
Cơ chế định tuyến (Routing Structure and Routing Scheme): Bất kỳ một
nút nào tham gia vào DHT đều được hỗ trợ hoạt động lưu trữ put (key,value) và tìm kiếm lookup(key) = value, các tính năng này được cung cấp ở lớp trên Cơ chế định
tuyến được thực hiện thông qua hai chức năng cơ bản là cấu trúc định tuyến và kỹ thuật định tuyến
Cấu trúc định tuyến DHT tổ chức các nút mạng theo một cấu trúc không gian khóa nhất định như vòng tròn Chord hay không gian nhiều chiều CAN
Kỹ thuật định tuyến là tập hợp các quy tắc quy định việc thực hiện định tuyến bản tin dựa trên cấu trúc đã xây dựng Cấu trúc định tuyến định nghĩa khoảng cách định danh giữa các nút trong DHT Ngoài ra nó còn xác định liên kết giữa các nút trong DHT, mỗi nút lưu trữ thông tin liên kết với các nút khác trong bảng định tuyến Bảng định tuyến 𝑇𝑟 tại mỗi nút có định danh n bao gồm t liên kết đến nút tại
Trang 38một số khoảng cách trong không gian định danh Hơn nữa bảng định tuyến thứ hai
𝑇𝑠 tại mỗi nút bao gồm liên kết tới s hàng xóm trực tiếp trong cấu trúc DHT Chức
năng bảng định tuyến 𝑓𝑟𝑜𝑢𝑡𝑖𝑛𝑔𝑡𝑎𝑏𝑙𝑒: 𝐼 → 𝐼𝑡 xác định t nút trong bảng định tuyến
𝑇𝑟(𝑛) của bất kỳ nút p trong hệ thống 𝑓 𝑛𝑒𝑖𝑔ℎ𝑏𝑜𝑟𝑡𝑎𝑏𝑙𝑒: 𝐼 → 𝐼𝑠 xác định s nút hàng xóm của mỗi nút p trong bảng định tuyến 𝑇𝑠(𝑛) Đối với một số DHT kích thước 𝑇𝑟
và 𝑇𝑠 là không đổi với t và s, nó phụ thuộc vào kích thước của không gian định danh
I Để xác định các liên kết trong bảng định tuyến hai ánh xạ 𝑓𝑟𝑜𝑢𝑡𝑖𝑛𝑔𝑡𝑎𝑏𝑙𝑒 và
𝑓𝑛𝑒𝑖𝑔ℎ𝑏𝑜𝑟𝑡𝑎𝑏𝑙𝑒 phụ thuộc vào hàm khoảng cách định danh được cung cấp bởi cấu trúc định tuyến
Kỹ thuật định tuyến xác định đường đi của truy vấn tới nút nhận tương ứng với một khóa nhất định Chức năng định tuyến 𝑓𝑟𝑜𝑢𝑡𝑒: 𝐼 → 𝐼 xác định thực thể nào trong bảng định tuyến tiếp tục tuyến đường khi nhận được truy vấn (tìm kiếm hoặc
lưu trữ) đối với một khóa k Thường DHT sử dụng chiến lược Greedy:
𝑓𝑟𝑜𝑢𝑡𝑒(𝑓𝑑𝑎𝑡𝑎𝑝𝑙𝑎𝑐𝑒𝑚𝑒𝑛𝑡(𝑘)) = (𝑛𝑖 ∈ 𝑇𝑟|𝑑(𝑛𝑖, 𝑓𝑑𝑎𝑡𝑎𝑝𝑙𝑎𝑐𝑒𝑚𝑒𝑛𝑡(𝑘))
≤ 𝑑(𝑛𝑗, 𝑓𝑑𝑎𝑡𝑎𝑝𝑙𝑎𝑐𝑒𝑚𝑒𝑛𝑡(𝑘))∀𝑛𝑗 ∈ 𝑇𝑟𝑗 ≠ 𝑖)
(2.1)
Nói cách khác, nó được chuyển đến chính xác các nút trong bảng định tuyến
có khoảng cách định danh nhỏ nhất với nút lưu trữ dữ liệu trong không gian định danh
2.2.3 Cơ chế quản lý dữ liệu
Cơ chế quản lý dữ liệu (Data Responsibility): Để cho phép lưu trữ và phục
hồi dữ liệu tin cậy từ khóa, một thuật toán sắp xếp dữ liệu là cần thiết để xác định
nút có trách nhiệm với khóa k DHT định nghĩa ánh xạ 𝑓𝑑𝑎𝑡𝑎𝑝𝑙𝑎𝑐𝑒𝑚𝑒𝑛𝑡: 𝐼 → 𝐼 để ánh
xạ định danh khóa 𝑘 ∈ 𝐼 vào không gian định danh nút I (không gian định danh nút
và khóa là như nhau) Ánh xạ 𝑓𝑟𝑒𝑠𝑝: 𝐼 → 𝐼 chỉ ra vị trí nút 𝑛 ∈ 𝐼 sẽ có trách nhiệm lưu trữ 𝑓𝑑𝑎𝑡𝑎𝑝𝑙𝑎𝑐𝑒𝑚𝑒𝑛𝑡(𝑘) với 𝑘 ∈ 𝐼 Vì vậy dữ liệu tương ứng với khóa k sẽ được
lưu trữ tại nút 𝑛 = 𝑓𝑟𝑒𝑠𝑝(𝑓𝑑𝑎𝑡𝑎𝑝𝑙𝑎𝑐𝑒𝑚𝑒𝑛𝑡(𝑘)) Nút có trách nhiệm với khóa k được gọi là nút gốc (root k )
Trang 39Định nghĩa 2.1 Nút có trách nhiệm với khóa k được gọi là nút gốc 𝑟𝑜𝑜𝑡𝑘
Tuy nhiên để sao lưu dữ liệu tin cậy, chỉ mục dữ liệu được sao lưu dự phòng Ánh
xạ sao lưu 𝑓𝑟𝑒𝑝𝑙𝑖𝑐𝑎𝑡𝑒: 𝐼 → 𝐼𝑟−1 ánh xạ khóa k vào r-1 nút khác để lưu trữ dữ liệu
thay vì chỉ dùng một nút gốc 𝑟𝑜𝑜𝑡𝑘
2.2.4 Cơ chế gia nhập, rời mạng và duy trì của nút
Gia nhập, rời mạng và duy trì cấu trúc DHT (Functions Join, Leave, DHT Maintenance): Mỗi DHT định nghĩa một tập quy tắc cho các nút gia nhập/rời mạng
và duy trì bảng định tuyến Những quy tắc này cho phép DHT thích ứng với tính động của hệ thống P2P
Ví dụ: Nếu hệ thống P2P được dùng để thay thế hệ thống tên miền DNS
(Domain Name System ) với kỹ thuật DHT, URL (Uniform Resource Locator) của website sẽ được băm thành khóa phục vụ cho quá trình tìm kiếm Bất kỳ một nút nào ra nhập hệ thống đều có thể yêu cầu địa chỉ IP hiện tại bằng cách tìm kiếm
(lookup) trong DHT:
Mỗi một DHT cung cấp kỹ thuật định tuyến của riêng nó có thể đảm bảo biên trên và biên dưới về số chặng cần thiết để yêu cầu tìm kiếm thành công
2.3 Một số thuật toán định tuyến DHTs
Ba thuật toán định tuyến DHTs được lựa chọn nghiên cứu: Kademlia, Tapestry
và Chord Cả ba thuật toán định tuyến này được thiết kế nhằm cải thiện hiệu năng tìm kiếm dữ liệu [34], [47], [74] Tuy nhiên, những thuật toán định tuyến này lại sử dụng các cách tiếp cận khác nhau Sở dĩ các thuật toán định tuyến DHTs này được luận án chọn để nghiên cứu bởi chúng có những đặc tính tiêu biểu để so sánh với các thuật toán DHTs khác Kademlia [48], [54] là thuật toán DHT đặc biệt bởi nó có khả năng chống lại sự tấn công từ chối dịch vụ DoS (Denial of Service) Kademlia
sử dụng chiến lược tìm kiếm song song Tapestry [82] sử dụng cơ chế con trỏ vị trí
dữ liệu để định tuyến các bản tin truy vấn và sử dụng chiến lược tìm kiếm đệ quy Trong khi đó, Chord [60], [75] định tuyến sử dụng bảng định tuyến mở rộng cho
Trang 40tìm kiếm đệ quy đây là một thuật toán đơn giản, dễ triển khai, tìm kiếm hiệu quả và phù hợp với các mạng có kích thước lớn Những đặc tính như vậy không thể tìm thấy ở các thuật toán định tuyến DHTs khác
Trên thực tế, việc so sánh các thuật toán định tuyến DHTs đã được nghiên cứu bởi một số các tác giả [34], [47], [51], [54], [74] Tuy nhiên mỗi tác giả đều so sánh
từ các khía cạnh khác nhau Việc so sánh hiệu năng giữa hai thuật toán định tuyến Kademlia và Tapestry [74]; Kademlia và Chord [51], [54] trong môi trường có độ ổn định thấp Qua đó phân tích ảnh hưởng các tham số hiệu năng của từng cách tiếp cận DHTs Tuy nhiên vẫn chưa có nghiên cứu nào phân tích một cách toàn diện các yếu tố ảnh hưởng tới hiệu năng của thuật toán DHTs Các yếu tố đó bao gồm: Tỷ lệ trễ dãn cách trung bình, khả năng mở rộng, sự không ổn định của mạng
Cách tiếp cận phân tích hiệu năng của luận án được thực hiện dựa trên việc phân tích lý thuyết và mô phỏng với các kịch bản khác nhau Khả năng mở rộng mạng được thể hiện qua kết quả mô phỏng các tham số hiệu năng với các kích thước mạng lên tới 20.000 nút Sự ổn định của mạng được thể hiện bởi quá trình ra nhập và rời mạng với các phân bố khác nhau Chi phí định tuyến được thể hiện qua băng thông tiêu tốn để duy trì độ ổn định và chi phí tìm kiếm dữ liệu của các thuật toán Chất lượng dịch vụ được thể hiện qua độ dài đường tìm kiếm, thời gian trễ tìm kiếm và tỷ lệ tìm kiếm thành công Để đánh giá hiệu năng của hai mạng chồng phủ
và mạng nền tảng, nghiên cứu còn so sánh trễ tìm kiếm giữa hai mạng chồng phủ và mạng nền tảng (TCP/IP) Mô hình các mạng được đưa vào so sánh đều tiếp cận dựa trên một số các khía cạnh lý thuyết nền tảng
Cấu trúc mạng chồng phủ: đây là tiêu chuẩn để phân biệt các hệ thống với nhau Đối với mỗi cấu trúc, luận án phân tích cấu trúc và bảng định tuyến tại mỗi nút trong cấu trúc
Ánh xạ khoản mục dữ liệu và nút: trong phần này sẽ phân tích mối quan hệ giữa định danh nút và định danh của các khoản mục dữ liệu lưu trên nút
Tiến trình tìm kiếm: tiến trình tìm kiếm trên một mạng diễn ra như thế nào và cấu trúc mạng chồng phủ ảnh hưởng tới hiệu năng của quá trình tìm kiếm