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].
iii MỤC LỤC Cont Lời cam đoan………………………………………………………………… … i Lời cảm ơn ii Mục lục iii Danh mục ký hiệu chữ viết tắt vi Danh mục bảng xv Danh mục hình xvi MỞ ĐẦU NỘI DUNG 10 Chương Tổng quan mạng P2P 10 1.1 Tổng quan 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ố ứng dụng điển hình mạng ngang hàng .14 1.1.3 Thách thức nghiên cứu mạng ngang hàng P2P 16 1.2 Tham số hiệu 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 mạng ngang hàng 20 1.4 Kết luận chương .22 Chương Phân tích đánh giá hiệu 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 iv 2.4 Phân tích, đánh giá hiệu 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 39 2.4.2 Lựa chọn công cụ mô mạng chồng phủ ngang hàng 40 2.4.3 Mô đánh giá hiệu thuật toán định tuyến DHTs 44 2.5 Kết luận chương .53 Chương Cải thiện hiệu 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 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 thuật toán Chord 61 3.3.1 Phân tích điểm yếu thuật tốn Chord .61 3.3.2 Phân tích nghiên cứu cải thiện hiệu giải thuật Chord 63 3.3.3 Cải thiện hiệu thuật toán Chord 64 3.3.4 Thuật toán Chord cải thiện 65 3.3.5 Mô đánh giá hiệu thuật toán Chord cải thiện 72 3.4 Kết luận chương 74 Chương IV Xây dựng mạng Chord_SL phân cấp cải thiện hiệu 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 v 4.2.2 Gán định danh SN ON .80 4.2.3 Lựa chọn SN (supernode) mạng Chord_SL 82 4.2.4 Chiến lược tìm kiếm mạng Chord_SL 86 4.3 Phân tích, đánh giá hiệu 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 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 .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 vi DANH MỤC CÁC CHỮ VIẾT TẮT Từ viết tắt Tiếng Anh Nghĩa Tiếng Việt A ALM Apllication Layer Multicast Đa hướng lớp ứng dụng AS Autonomous System Hệ thống tự trị API Application Programming Interface Giao diện lập trình ứng dụng AVC Advanced Video Coding Mã hóa video tiên tiến CAN Content Addressable Networks Mạng địa nội dung CDF Cumulative Distribution Function Hàm phân bố tích lũy CS Client – Server Mơ hình Khách – chủ Csy Centralized Systems Hệ thống tập trung CTMC Continuous Time Markov Chain Chuỗi Markov liên tục theo thời gian Chord_SL An improved chord protocol with Mạng Chord phân cấp hai lớp cải double-layer and C design optimal thiện giải thuật lựa chọn siêu nút supernode selection algorithm tối ưu DHT Distributed Hash Table Bảng băm phân tán DKS Distributed K-ary System Hệ thống phân tán nhiều chiều DNS Domain Name System Hệ thống tên miền DUSy Decentralized Unstructured Systems Hệ thống phân tán không cấu trúc DSSy Decentralized structured Systems Hệ thống phân tán có cấu trúc DoS Denial of Service Từ chối dịch vụ DTLS Distributed Storage and Replication Lớp bảo mật lưu lưu trữ phân Layer Security tán Discrete Time Markov Chain Chuỗi Markov thời gian rời rạc D DTMC F vii File Transfer Protocol Giao thức truyền file Graphical User Interface Giao diện đồ họa HTML HyperText Markup Language Ngôn ngữ đánh dấu siêu văn HSy Hybrid Systems Hệ thống lai ghép HTTP Hyper-Text Transfer Protocol Giao thức truyền siêu văn ID Identifier Định danh ICMP Internet Control Message Protocol Giao thức điều khiển Internet IETF Internet Engineering Task Force Nhóm chuyên trách kỹ thuật Internet IM Instant Messaging Tin nhắn tức thời IP Internet Protocol Giao thức Internet Juxtapose Mạng ngang hàng mã nguồn mở FTP G GUI H I J JXTA Sun Microsystems K Key Based Routing Định tuyến dựa khóa MD5 Message-Digest algorithm Thuật tốn mã hóa MD5 MDC Multi Description Code Mã hóa đa mơ tả Network Address Translation Chủn đổi địa mạng ONs Ordinary nodes Các nút thông thường OSPF Open Shortest Path First Đường ngắn P2P Peer-to-Peer Ngang hàng PDA Personal Digital Assistant Thiết bị số hỗ trợ cá nhân KBR M N NAT O P viii PPP Point-to-Point Protocol Giao thức điểm điểm PRR Prefix routing Định tuyến dựa tiền tố Quality of Service Chất lượng dịch vụ RELOAD Resource Location And Discovery Khai phá tìm kiếm tài nguyên RIP Routing Information Protocol Giao thức thông tin định tuyến RTT Round Trip Time Thời gian gói tin tới đích quay Q QoS R trở nguồn S SNs Supernodes Các siêu nút SHA1 Secure Hash Algorithm Thuật toán băm bảo mật SHA1 SIP Session Initiation Protocol Giao thức khởi tạo phiên TCP Transmission Control Protocol Giao thức điều khiển truyền tải TLS Transport Layer Security Bảo mật lớp truyền tải TTL Time To Live Thời gian sống gói tin UA User Agent Đại lý người dùng UDP User Datagram Protocol Giao thức lược đồ liệu người dùng URI Uniform Resource Identifier Định danh tài nguyên VOD Video-on-Demand Video theo yêu cầu VoIP Voice over Internet Protocol Truyền thoại qua giao thức Internet Wide Area Network Mạng diện rộng T U V W WAN ix DANH SÁCH CÁC KÍ HIỆU Tstretch: Tỷ lệ trễ dãn cách trung bình 𝑝(𝑛𝑞, 𝑘): Độ dài đường tìm kiếm từ nút có định danh 𝑛𝑞 đến nút có chứa khóa k k: Định danh khóa tìm kiếm ҡ: Số nút lưu trữ ҡ-buckets Kademlia 𝑟𝑜𝑜𝑡𝑘 : Nút gốc chứa khóa k K: Số nhóm nội miền mơ hình phân cấp 𝛾: Xác xuất nút nguồn nút đích lớp nội miền 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 lần tìm kiếm riêng rẽ i 𝑡ℎ : Giới hạn tởng số bước nhảy lần tìm kiếm 𝑒𝐼𝐷: Định danh ngồi E: Khơng gian định danh ngồi I: Khơng gian định danh nút Ɲ: Số nút nhóm nội miền 𝑛𝑞 : Định danh nút q n: Định danh nút M: Độ dài bít định danh nút 𝑇𝑟 : Bảng định tuyến 𝑇𝑟 nút n bao gồm t liên kết đến nút số khoảng cách không gian định danh 𝑇𝑠 : Bảng định tuyến 𝑇𝑠 nút bao gồm liên kết tới s hàng xóm trực tiếp cấu trúc DHT Succ(n): Con trỏ tới nút đứng kề sau nút có định danh n không gian định danh theo chiều kim đồng hồ x Pred(n): Con trỏ tới nút đứng kề trước nút có định danh n khơng gian định danh theo chiều kim đồng hồ N: Kích thước mạng chồng phủ 𝐹𝑁 (𝑝): Tập nút hàng xóm p sn: Định danh nút nguồn Delay[i]: Trễ nút có định danh n n.finger[i] nhận bởi lệnh ping U: Số siêu – siêu nút (Ultra Super-peer) F( S ) : Tập hợp liên kết nút S nhập vòng Chord lớp liên miền mơ hình phân cấp F( p ) : Tập hợp liên kết nút p nhập vòng Chord lớp nội miền mơ hình phân cấp D: Độ dài định danh nút 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ố f i (xi): Hàm chi phí tương ứng với biến x1 , x2 , , xn 𝑡𝑜𝑛(𝑝) : Thời gian hoạt động trung bình nút 𝑃(𝑝) : Khả xử lý CPU (MIPS Million Instruction Per Second) 𝐵(𝑝) : Băng thơng nút h flat : Độ dài đường tìm kiếm qua mơ hình Chord_flat h: Độ dài đường tìm kiếm trung bình hns : Độ dài đường tìm kiếm từ nút nội miền đến siêu nút hss : Độ dài đường tìm kiếm siêu nút (SN) lớp liên miền Tns : Trễ mạng trung bình nút lớp nội miền nút lớp liên miền Tss : Trễ mạng trung bình hai nút lớp liên miền Tbeat: Chu kỳ gửi tin heartbeat xi Cbeat : Chi phí để gửi tin heartbeat Tstab Chu kỳ chạy thuật tốn ởn định stabilization Cstab: Chi phí chạy thuật tốn ởn định (stabilization) l: Thời gian sống nút xii DANH MỤC CÁC BẢNG Bảng 2-1 Các tham số dùng cho mô Kademlia 47 Bảng 2-2 Các tham số dùng cho mô Tapestry 47 Bảng 2-3 Các tham số dùng cho mô 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 69 Bảng 3-3 Bảng Finger nghiên cứu [86], [11] 70 Bảng 3-4 So sánh hiệu Chord cải thiện 71 Bảng 4-1 Bảng finger Chord_SL 80 118 (5.5) dy y dxd (k d xd ) Phương trình (5.5) phương trình vi phân bậc theo biến trễ Từ , ta có: dxd d ( xd k d ) dy dy y ( k d xd ) y ( k d xd ) ln( y ) ln( xd k d ) ln( c) y c xd k d Suy hàm giá liên kết dựa trễ với số tích phân: y c .k d xd k d (5.6) Xây dựng hàm giá đa biến Ký hiệu hàm giá theo trễ băng thông u(xw, xd) xem xét hai tham số băng thông yêu cầu (xw) trễ yêu cầu (xd) dịch vụ lúc Vì biến băng thơng trễ biến độc lập tuyến tính Từ phương trình vi phân (5.6) (5.3) ta có phương trình đạo hàm riêng giả tuyến tính bậc 1(quasi linear first order partial differential equation): x w (k w x w ) u x w ( k d x d ) u xd u kw Trong vi phân riêng phần hàm u theo xw : u xw Vi phân riêng phần u hàm theo xd : u xd (5.7) u x w u x d Để giải phương trình (5.7) đặt xw = xw (t) , xd = xd (t) , u = u(xw (t) , xd (t) ), ta có: x w x u u x w d u xd t t t Từ 5.7 5.8 ta có hệ phương trình vi phân riêng phần: (5.8) 119 x w x w ( k w x w ) t kw x d (k d xd ) t u u t (5.9) Để giải phương trình (5.7) tìm số tích phân bao gồm biến xd , x w u Các bước giải phương trình : Bước 1: Tìm số tích phân đầu tiên: Từ (5.9) ta có: x w x w (k w x w ) kw k w dx w du t u u u x w (k w x w ) t (5.10) có dạng giống với vi phân băng thông nên suy ra: u (5.10) x w (k w x w ) Từ số : ( k w x w )u xw (5.11) Bước 2: Tìm số tích phân thứ Từ (5.9) tương tự chúng ta có thể xác định số : ( x d k d )u kd (5.12) Bước 3: Tìm số tổng quát = (xw; xd, u) = số, mô tả mối quan hệ biến xw; xd, u Ta có thể thiết lập hai số nhau, đó: ( ) ( ) Và biểu diễn f ( ) Từ (5.11), (5.12), (5.13), ta có: (5.13) 120 ( x k d )u ( k w x w )u f d xw kd (5.14) ( u biểu diễn hàm theo biến xw xd xw xd biến độc lập ) ( xd k d )u f ( xd , u) Ta kd Lấy đạo hàm (5.14) theo xw giải tìm u x Ký hiệu f w có: (k w xw ) k ( x kd ) u xw w2 u d u xw f ( xd , u ) xw xw kd u xw (5.15) k w k d u x w ( k w x w )k d x w ( xd k d ) f ( xd , u ) Tương tự vậy, lấy đạo hàm (5.14) theo xd giải tìm u x ta có: d u ( xd k d ) (k w xw ) u xd f ( xd , u) u xd xw kd u xd f ( xd , u ).u x w ( k w x w )k d f ( xd , u ).( xd k d ) x w (5.16) Thay u x u x vào phương trình (5.7) w d xw (k w x w ) k w k d u kw x w ( k w x w )k d x w ( xd k d ) f ( xd , u ) f ( xd , u ).u x w (k d xd ) ( k w x w )k d f ( xd , u ).( xd k d ) x w (k x w ).k d ( xd k d ) f ( xd , u ) x w w uu ( k w x w ).k d x w ( xd k d ) f ( xd , u ) Bước 4: Thêm điều kiện biên để tìm f Từ đặc điểm tự nhiên hai tham số độc lập: băng thông yêu cầu (xw) độ trễ yêu cầu (xd), hàm giá băng thông trễ , có điều kiện biên: 121 k w xw t3 k w kd t xd k d ut (5.17) Thay (5.17) vào (5.14) ta có: t2 t2 f ( ) f (t ) t t t (5.18) Từ (5.18) (5.14) ta có : ( x k d )u kd (k x w )u f d w kd xw ( xd k d )u (5.14) Từ suy hàm giá băng thông trễ là: u( x w , xd ) xw kd k w x w xd k d (5.15) Một cách đệ quy, ta có thể chứng minh hàm giá đa biến với giá chi phí riêng thành phần f i (xi) u( x1 , x2 , , xn ) n (5.16) n i 1 f i ( xi ) 122 Phụ lục 2: Kịch mô và kết mesurementTime = 3600s One-way Hop Count Number of Node 16 32 64 128 256 512 1024 2048 4096 Simple Underlay 2,086 2,655 3,226 3,736 4,222 Network 4,72 5,242 5,737 6,236 Inet Underlay 2,303 Network 2,56 3,047 3,578 4,044 4,526 5,042 5,547 6,021 One-way Latency Number of Node 16 32 64 128 256 512 1024 2048 4096 Simple Underlay 0,376 0,445 Network 0,45 0,558 0,678 0,736 0,86 0,923 0,971 Inet Underlay 0,209 0,248 0,208 0,246 0,289 Network 0,34 0,385 0,632 0,467 Sent Total Byte/s Number of Node 16 32 64 128 256 512 1024 2048 4096 Simple Underlay 44,72 50,42 56,81 64,32 71,64 Network 79,6 86,52 88,6 108,8 Inet Underlay Network 48,87 62,16 69,23 72,93 79,24 85,85 94,52 103,6 112,6 targetOverlayTerminalNum=500 Hop Count Sec 1800 2400 3000 3600 4200 Chord lap 4,977 4,984 4,971 4,949 4,984 Chord de quy 3,953 3,97 3,966 3,955 3,97 Kademlia 2,003 1,996 1,997 1,995 2,005 123 2,348 Pastry 2,358 2,346 2,339 2,346 Bandwidth consumption (Bytes/s) Sec 1800 2400 3000 3600 4200 Chord lap 254,2 253,9 252,7 253,8 253,3 Chord de quy 205,3 207,9 208,2 206,6 209,6 116 110,6 110,6 109,4 110,2 606,2 624,4 495 503,3 433,7 Kademlia Pastry Latency Sec 1800 2400 3000 3600 4200 Chord lap 0,761 0,772 0,765 0,738 0,81 Chord de quy 0,336 0,349 0,347 0,338 0,345 Kademlia 0,18 0,176 0,178 0,17 0,176 Pastry 0,205 0,208 0,206 0,208 0,189 Delivery ratio Sec 1800 2400 3000 3600 4200 Chord lap 0,918 0,916 0,897 0,909 0,911 Chord de quy 0,918 0,911 0,916 0,9 0,922 Kademlia 0,958 0,946 0,949 0,96 0,96 1 1 Pastry targetOverlayTerminalNum=1000 Hop Count Sec 1800 2400 3000 3600 4200 Chord lap 5,476 5,499 5,479 5,475 5,468 Chord de quy 4,48 4,495 4,48 4,482 4,479 Kademlia 2,205 2,221 2,225 2,223 2,22 Pastry 2,655 2,66 2,656 2,661 2,657 Bandwidth consumption (Bytes/s) 124 Sec 1800 2400 3000 3600 4200 Chord lap 286,6 289 282,4 286,7 282,6 Chord de quy 230,7 234,2 234,5 231 232,4 Kademlia 134,2 131 131,8 135,1 132,4 Pastry 674,4 591,8 666,3 577,4 606,3 Latency Sec 1800 2400 3000 3600 4200 Chord lap 0,863 0,836 0,888 0,874 0,829 Chord de quy 0,375 0,37 0,384 0,385 0,387 Kademlia 0,192 0,188 0,192 0,19 0,197 Pastry 0,235 0,228 0,239 0,229 0,233 Delivery ratio Sec 1800 2400 3000 3600 4200 Chord lap 0,899 0,91 0,886 0,904 0,888 Chord de quy 0,898 0,909 0,881 0,904 0,902 Kademlia 0,936 0,942 0,939 0,945 0,939 1 1 Pastry targetOverlayTerminalNum=1500 Hop Count Sec 1800 2400 3000 3600 4200 Chord lap 5,77 5,795 5,781 5,783 5,772 Chord de quy 4,78 4,791 4,788 4,784 4,794 Kademlia 2,339 2,335 2,348 2,338 2,338 Pastry 2,804 2,807 2,797 2,794 2,805 Bandwidth consumption (Bytes/s) Sec 1800 2400 3000 3600 4200 Chord lap 302,9 309,1 306,2 309 310,3 125 Chord de quy 250,3 250,8 251,5 249,6 248,9 Kademlia 143,4 143,9 143,2 143 143,2 Pastry 736,1 642,9 653,7 658,5 628,8 Latency Sec 1800 2400 3000 3600 4200 Chord lap 0,893 0,899 0,895 0,899 0,918 Chord de quy 0,395 0,402 0,415 0,39 0,408 Kademlia 0,201 0,208 0,204 0,19 0,196 Pastry 0,248 0,254 0,24 0,244 0,251 Delivery ratio Sec 1800 2400 3000 3600 4200 Chord lap 0,887 0,903 0,896 0,898 0,889 Chord de quy 0,891 0,907 0,904 0,9 0,897 Kademlia 0,929 0,933 0,94 0,926 0,923 1 1 Pastry targetOverlayTerminalNum=2000 Hop Count Sec 1800 2400 3000 3600 4200 Chord lap 5,991 5,995 5,994 5,993 5,991 Chord de quy 4,978 5,001 5,005 4,994 4,995 Kademlia 2,425 2,424 2,439 2,433 2,423 Pastry 2,885 2,865 2,877 2,877 2,88 Bandwidth consumption (Bytes/s) Sec 1800 2400 3000 3600 4200 Chord lap 318,4 318,7 318,2 319,3 318,2 Chord de quy 259,7 261,1 261,6 260,8 261 Kademlia 153,4 151,7 154 150,6 151,2 126 Pastry 712,3 692,8 711,2 670,3 699,5 Latency Sec 1800 2400 3000 3600 4200 Chord lap 0,954 0,937 0,957 0,945 0,937 Chord de quy 0,43 0,447 0,432 0,413 0,415 Kademlia 0,205 0,211 0,212 0,209 0,212 Pastry 0,253 0,238 0,236 0,246 0,243 Delivery ratio Sec 1800 2400 3000 3600 4200 Chord lap 0,885 0,895 0,882 0,896 0,887 Chord de quy 0,887 0,902 0,894 0,895 0,882 Kademlia 0,924 0,93 0,937 0,925 0,933 1 1 Pastry 127 128 129 [Config ChordInet] description = Chord (iterative, InetUnderlayNetwork) network = oversim.underlay.inetunderlay.InetUnderlayNetwork **.targetOverlayTerminalNum = ${8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096} **.measurementTime = 7200s **.transitionTime = 120s *.underlayConfigurator.churnGeneratorTypes = "oversim.common.LifetimeChurn" **.overlayType = "oversim.overlay.chord.ChordModules" **.tier1Type = "oversim.applications.kbrtestapp.KBRTestAppModules" InetUnderlayNetwork.backboneRouterNum = InetUnderlayNetwork.overlayAccessRouterNum = 130 InetUnderlayNetwork.accessRouterNum = [Config ChordSimple] description = Chord (semi-recursive, SimpleUnderlayNetwork, churn, large-scale test -> run without GUI) **.targetOverlayTerminalNum = ${8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096} **.measurementTime = 7200s **.transitionTime = 120s **.overlayType = "oversim.overlay.chord.ChordModules" **.tier1Type = "oversim.applications.kbrtestapp.KBRTestAppModules" **.churnGeneratorTypes = "oversim.common.LifetimeChurn" **.initPhaseCreationInterval = 0.1s **.debugOutput = false **.overlay.chord.stabilizeDelay = 20s **.overlay.chord.fixfingersDelay = 120s **.overlay.chord.checkPredecessorDelay = 5s **.overlay.chord.routingType = "iterative" [Config Chord-dequy] *.underlayConfigurator.churnGeneratorTypes = "oversim.common.LifetimeChurn" **.targetOverlayTerminalNum = ${1000, 1500} **.measurementTime = 3600s **.churnGenerator.lifetimeMean = ${1800, 2400, 3000, 3600,4200} **.overlayType = "oversim.overlay.chord.ChordModules" **.tier1Type = "oversim.applications.kbrtestapp.KBRTestAppModules" **.overlay.chord.fixfingersDelay = 144s **.overlay.chord.stabilizeDelay = 144s **.overlay.chord.successorListSize = 16 **.overlay*.chord.numFingerCandidates = **.overlay*.chord.routingType = "semi-recursive" [Config Chord-lap] 131 description = Chord (semi-recursive, SimpleUnderlayNetwork, churn, large-scale test -> run without GUI) **.targetOverlayTerminalNum = ${500, 2000} **.measurementTime = 3600s **.transitionTime = 120s **.overlayType = "oversim.overlay.chord.ChordModules" **.tier1Type = "oversim.applications.kbrtestapp.KBRTestAppModules" **.churnGeneratorTypes = "oversim.common.LifetimeChurn" **.debugOutput = false **.overlay.chord.stabilizeDelay = 144s **.overlay.chord.fixfingersDelay = 144s **.overlay.chord.checkPredecessorDelay = 5s **.overlay*.chord.routingType = "iterative" **.overlay.chord.successorListSize = 16 **.overlay.chord.numFingerCandidates = **.churnGenerator.lifetimeMean = ${1800, 2400, 3000, 3600,4200} **.overlay.chord.aggressiveJoinMode = true **.overlay.chord.extendedFingerTable = false **.overlay.chord.proximityRouting = false **.overlay.chord.memorizeFailedSuccessor = false **.overlay.chord.mergeOptimizationL1 = false **.overlay.chord.mergeOptimizationL2 = false **.overlay.chord.mergeOptimizationL3 = false **.overlay.chord.mergeOptimizationL4 = false [Config Kademlia-dequy] description = Kademlia (SimpleUnderlayNetwork) *.underlayConfigurator.churnGeneratorTypes = "oversim.common.LifetimeChurn" **.overlayType = "oversim.overlay.kademlia.KademliaModules" **.tier1Type = "oversim.applications.kbrtestapp.KBRTestAppModules" 132 **.targetOverlayTerminalNum = ${500, 1000, 1500, 2000} **.churnGenerator.lifetimeMean = ${1800, 2400, 3000, 3600,4200} **.overlay*.kademlia.k = 16 **.overlay*.kademlia.lookupParallelRpcs = 16 **.overlay*.kademdia.stabilizeDelay = 144s **.overlay*.kademlia.routingType = "semi-recursive" **.measurementTime = 3600s [Config Pastry-dequy] description = Pastry (SimpleUnderlayNetwork) *.underlayConfigurator.churnGeneratorTypes = "oversim.common.LifetimeChurn" **.overlayType = "oversim.overlay.pastry.PastryModules" **.enableNewLeafs = false **.tier1Type = "oversim.applications.kbrtestapp.KBRTestAppModules" **.measureNetwInitPhase = false **.useCommonAPIforward = true **.neighborCache.enableNeighborCache = true **.overlay*.pastry.bitsPerDigit = **.overlay*.kademdia.stabilizeDelay = 144s **.overlay*.pastry.numberOfLeaves = 16 **.overlay*.pastry.numberOfNeighbors = 10 **.measurementTime = 3600s **.targetOverlayTerminalNum = ${500, 1000, 1500, 2000} **.churnGenerator.lifetimeMean = ${1800, 2400, 3000, 3600,4200} ... tảng mạng P2P, thách thức nghiên cứu hiệu mạng ngang hàng, vấn đề thuật toán định tuyến DHT tham số hiệu định tuyến Trong đó, đáng chú ý nội dung khảo sát hướng cải thiện hiệu mạng ngang hàng. .. tượng nghiên cứu nêu ở trên, nhiệm vụ nghiên cứu luận án tập trung vào vấn đề sau: Khảo sát hướng nghiên cứu cải thiện hiệu mạng ngang hàng, phân tích thách thức ảnh hưởng tới hiệu mạng ngang hàng. .. học Cải thiện hiệu thuật toán định tuyến Chord DHT 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 lớp mạng phân cấp sử dụng thuật toán định tuyến