Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN Nguyễn Tuấn Anh NGHIÊN CỨU MỘT SỐ CƠ CHẾ BẢNG BĂM PHÂN T
Trang 1Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN
Nguyễn Tuấn Anh
NGHIÊN CỨU MỘT SỐ CƠ CHẾ BẢNG BĂM PHÂN TÁN TRONG MẠNG NGANG HÀNG
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên - 2010
Trang 2Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN
Nguyễn Tuấn Anh
NGHIÊN CỨU MỘT SỐ CƠ CHẾ BẢNG BĂM PHÂN TÁN TRONG MẠNG NGANG HÀNG
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Phạm Việt Bình
Thái Nguyên - 2010
Trang 3
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
ĐẠI HỌC THÁI NGUYÊN
KHOA CÔNG NGHỆ THÔNG TIN
Cộng hoà xã hội chủ nghĩa Việt Nam Độc lập – Tự do – Hạnh phúc
***
LỜI CAM ĐOAN Luận văn thạc sỹ này do tôi nghiên cứu và thực hiện dưới sự hướng dẫn của
Thầy giáo TS Phạm Việt Bình Để hoàn thành bản luận văn này, ngoài các tài liệu
tham khảo đã liệt kê, tôi cam đoan không sao chép các công trình nghiên cứu của
người khác
Thái Nguyên, ngày 13 tháng 10 năm 2010
Người cam đoan
Nguyễn Tuấn Anh
Trang 4Tôi xin chân thành cảm ơn Ban lãnh đạo Khoa Công nghệ thông tin, tập thể các
thầy, cô giáo trong Khoa cùng toàn thể bạn bè đã đóng góp ý kiến cho bản luận văn của tôi
Thái Nguyên, ngày 13 tháng 10 năm 2010
Trang 5
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Trang 6Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
1
Mục lục
Danh mục thuật ngữ, từ viết tắt 3
Danh mục thuật ngữ, t ừ viết tắt 3
Danh mục hình vẽ 3
Danh mục bảng 6
Danh mục thuật toán 6
Lời mở đầu 7
Chương 1 Khái quát về mạng ngang hàng và bảng băm 8
1.1 Khái quát về mạng ngang hàng 8
1.1.1 Khái niệm mạng ngang hàng 8
1.1.2 Quá trình phát triển của các hệ thống mạng ngang hàng 10
1.1.3 Phân loại các mô hình mạng ngang hàng 14
a) Hệ thống mạng ngang hàng tập trung (Centralized) 15
b) Các mạng ngang hàng thuần túy (Pure) 17
c) Các mạng ngang hàng lai (Hybrid) 17
d) Mạng ngang hàng có cấu trúc 18
1.1.4 Các lĩnh vực ứng dụng của mạng ngang hàng 20
a) Giao tiếp (communication) 20
b) Chia sẻ Files (File sharing) 20
c) Băng thông (Bandwidth 22
d) Không gian lưu trữ (Storage Space) 22
e) Các chu trình xử lý (Processor Cycles) 25
1.1.5 Các phương pháp đánh giá mạng ngang hàng 25
a) Phương pháp phân tích 25
b) Phương pháp thử nghiệm 26
c) Phương pháp mô phỏng 26
1.1.6 Các vấn đề đối với mạng mạng ngang hàng hiện nay 27
Trang 7Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
2
1.2 Bảng băm 28
1.2.1 Bảng băm (Hash table) 28
1.2.2 Bảng băm phân tán - Distributed Hash Table (DHTs) 28
Chương 2 Một số dạng bảng băm trong mạng ngang hàng 31
2.1 Kademlia 32
2.2 Tapestry 34
2.3 Kelips 39
2.4 Chord 41
Chương 3 Chương trình thử nghiệm 51
3.1 Bài toán thực tế 51
3.2 Khảo sát các simulator mô phỏng mạng overlay 52
3.3 Phần mềm mô phỏng P2PSim 54
3.3.1 Các bước mô phỏng với phần mềm P2PSim 56
3.3.2 Kịch bản mô phỏng 58
3.3.3 Đánh giá hiệu năng giao thức Chord trong mạng ngang hàng thông qua các kết quả mô phỏng 58
a) Kết quả mô phỏng ảnh hưởng của Churn rate đến tỷ lệ tìm kiếm lỗi 58 b) Kết quả mô phỏng ảnh hưởng của số lượng Node đến tỷ lệ tìm kiếm lỗi 62
c) Kết quả mô phỏng ảnh hưởng của RTT đến tỷ lệ tìm kiếm lỗi 65
d) Kết quả mô phỏng các tham số của Chord đối với tỷ lệ tìm kiếm lỗi 68 Kết luận 71
Tài liệu tham khảo 73
Trang 8Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
3
Danh mục thuật ngữ, từ viết tắt
Tiếng Anh Tiếng Việt Từ viết tắt
Distributed Hash Table Bảng băm phân tán DHTs
Distributed_File_Systems Hệ thống file phân tán
Peer-to-Peer file sharing Hệ thống chia sẻ file ngang hàng
Content Distribution Systems Hệ thống nội dung phân tán
Node Một thiết bị nối mạng (một peer)
Overlay Mạng được xây dựng trên các mạng khác
Churn rate Số lượng peer rời khỏi/gia nhập mạng
trong một khoảng thời gian
Danh mục hình vẽ
Hình 1.1 (a) Mô hình Client/Server 9 Hình 1.1 (b) Mô hình P2P 9
Trang 9Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
4
Hình 1.2 Overlay Network Diagram 10
Hình 1.3 Mô hình centralized directory 11
Hình 1.4 Mô hình flooding request 12
Hình 1.5 Mạng ngang hàng tập trung thế hệ thứ nhất (Napster 15
Hình 1.6 Mô hình mạng ngang hàng lai (Hybrid) 18
Hình 1.7 Chord Protocol 19
Hình 1.8 Ba cấu hình cho các giải pháp Direct Attached Storage 23
Hình 1.9 Sơ đồ một hệ thống NAS 24
Hình 1.10 Sơ đồ một Storage Area Network 25
Hình 1.11 Distributed Hash Table 30
Hình 2.1 Con trỏ của node 3 (0011) trong Kademlia 32
Hình 2.2 Minh họa cách chọn bảng định tuyến của một node Tapestry 35
Hình 2.3 Đường đi của thông điệp từ node 5230 tới node 42AD 37
Hình 2.4 Ví dụ về Tapestry node publish item 38
Hình 2.5 Ví dụ về Tapestry node tìm kiếm item 39
Hình 2.6 Mạng Kelips trong đó các node phân tán trong 10 nhóm affinity và trạng thái tại một node cụ thể 40
Hình 2.7 (a) Một mạng Chord với 6 node, 5 item và N=16 43
Hình 2.7 (b) Nguyên tắc chung của bảng routing table 43
Hình 2.7 (c) Bảng routing table của node 3 và node 11 43
Hình 2.8 Quá trình một node join vào mạng 48
Hình 2.9 (a) Bảng finger và vị trí của key sau khi node 6 join 49
Hình 2.9 (b)Bảng finger và vị trí trí của key sau kho node leave 49
Hình 3.1 (a) Kết quả mô phỏng 100Node khoảng thời gian vào/ra mạng là 10s 59
Hình 3.1 (b) Kết quả mô phỏng 1000 node, khoảng thời gian vào/ra mạng là 10s 59
Hình 3.2 (a) Kết quả mô phỏng 100Node khoảng thời gian vào/ra mạng là 60s 60
Hình 3.2 (b) Kết quả mô phỏng 1000 node, khoảng thời gian vào/ra mạng là 60s 60
Trang 10Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
5
Hình 3.3 (a) Kết quả mô phỏng 100Node khoảng thời gian vào/ra mạng là 120s 60
Hình 3.3 (b) Kết quả mô phỏng 1000 node, khoảng thời gian vào/ra mạng là 120s 60
Hình 3.4 (a) Kết quả mô phỏng 100Node khoảng thời gian vào/ra mạng là 300s 61
Hình 3.4 (b) Kết quả mô phỏng 1000 node, khoảng thời gian vào/ra mạng là 300s 61
Hình 3.5 (a) Kết quả mô phỏng 100Node khoảng thời gian vào/ra mạng là 600s 61
Hình 3.5 (b) Kết quả mô phỏng 1000 node, khoảng thời gian vào/ra mạng là 600s 61
Hình 3.6 (a) Kết quả mô phỏng tổng hợp với 100 node 62
Hình 3.6 (b) Kết quả mô phỏng tổng hợp với 1000 node 62
Hình 3.7 (a) Kết quả mô phỏng 100 node, khoảng thời gian vào/ra mạng là 300s 63
Hình 3.7 (b) Kết quả mô phỏng 100 node, khoảng thời gian vào/ra mạng là 600s 63
Hình 3.8 (a) Kết quả mô phỏng 250 node, khoảng thời gian vào/ra mạng là 300s 64
Hình 3.8 (b) Kết quả mô phỏng 250 node, khoảng thời gian vào/ra mạng là 600s 64
Hình 3.9 (a) Kết quả mô phỏng 500 node, khoảng thời gian vào/ra mạng là 300s 64
Hình 3.9 (b) Kết quả mô phỏng 500 node, khoảng thời gian vào/ra mạng là 600s 64
Hình 3.10 (a) Kết quả mô phỏng 1000 node, khoảng thời gian vào/ra mạng là 300s 64
Hình 3.10 (b) Kết quả mô phỏng 1000 node, khoảng thời gian vào/ra mạng là 600s 64
Hình 3.11 (a) Kết quả mô phỏng tổng hợp khoảng thời gian vào/ra mạng là 300s 65
Hình 3.11 (b) Kết quả mô phỏng tổng hợp khoảng thời gian vào/ra mạng là 600s 65
Hình 3.12 (a) Kết quả mô phỏng RTT = 0,5s khoảng thời gian vào/ra mạng là 300s 66
Hình 3.12 (b) Kết quả mô phỏng RTT = 0,5s khoảng thời gian vào/ra mạng là 600s 66
Hình 3.13 (a) Kết quả mô phỏng RTT = 1s khoảng thời gian vào/ra mạng là 300s 66
Hình 3.13 (b) Kết quả mô phỏng RTT = 1s khoảng thời gian vào/ra mạng là 600s 66
Hình 3.14 (a) Kết quả mô phỏng RTT = 2s khoảng thời gian vào/ra mạng là 300s 67
Hình 3.14 (b) Kết quả mô phỏng RTT = 2s khoảng thời gian vào/ra mạng là 600s 67
Hình 3.15 (a) Kết quả mô phỏng RTT = 3s khoảng thời gian vào/ra mạng là 300s 67
Hình 3.15 (b) Kết quả mô phỏng RTT = 3s khoảng thời gian vào/ra mạng là 600s 67
Trang 11data error !!! can't not
read
Trang 12data error !!! can't not
read
Trang 13data error !!! can't not
read
Trang 14data error !!! can't not
read
Trang 15data error !!! can't not
read
Trang 17data error !!! can't not
read
Trang 18data error !!! can't not
read
Trang 19data error !!! can't not
read
Trang 20data error !!! can't not
read
Trang 21data error !!! can't not
read
Trang 22data error !!! can't not
read
data error !!! can't not
read
Trang 23data error !!! can't not
read
data error !!! can't not
read
Trang 24data error !!! can't not
read
data error !!! can't not
read
Trang 26data error !!! can't not
read
Trang 27data error !!! can't not
read