Tải bản đầy đủ (.pdf) (144 trang)

Nghiên cứu cải thiện hiệu năng định tuyến mạng ngang hàng P2P

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.25 MB, 144 trang )

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 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


iv


2.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


v

4.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


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 chỉ 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 và 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 sao lưu và 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 bản

HSy

Hybrid Systems

Hệ thống lai ghép

HTTP

Hyper-Text Transfer Protocol

Giao thức truyền siêu văn bả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ở của

FTP

G
GUI
H

I

J
JXTA

Sun Microsystems
K
Key Based Routing

Định tuyến dựa trên khóa

MD5

Message-Digest algorithm 5

Thuật toán mã hóa MD5

MDC

Multi Description Code

Mã hóa đa mô tả

Network Address Translation

Chuyển đổi địa chỉ mạng


ONs

Ordinary nodes

Các nút thông thường

OSPF

Open Shortest Path First

Đường đi ngắn nhất

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 trên tiền tố

Quality of Service

Chất lượng dịch vụ

RELOAD

Resource Location And Discovery

Khai phá và 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 đi tới đích và quay

Q
QoS
R

trở về 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 của gói tin

UA

User Agent

Đại lý người dùng

UDP


User Datagram Protocol

Giao thức lược đồ dữ 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 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
𝑛𝑞 : Định danh của nút q
n: Đị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ồ


x

Pred(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)
F( S ) :

Tập hợp các liên kết của một nút S khi ra nhập vòng Chord của lớp
liên miền trong mô hình phân cấp.

F( p ) :

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ố
f i (xi): Hàm chi phí tương ứng với các biến x1 , x2 ,...., xn .

𝑡𝑜𝑛(𝑝) : 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
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) trong lớp liên miền

Tns :

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

Tss : Trễ mạng trung bình giữa hai nút lớp liên miền

Tbeat: Chu kỳ gửi bản tin heartbeat


xi

Cbeat : Chi phí để gửi bản tin heartbeat


Tstab Chu kỳ chạy thuật toán ổn định stabilization
Cstab: Chi phí chạy thuật toán ổn định (stabilization)
l: Thời gian sống của nút


xii

DANH 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


xiii

DANH 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


xiv

Hì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


1

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


2

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 Tstretch 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,


3


cổ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



4

Mismatch ”. 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


5

và 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].


6

Luậ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.


7

Phâ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:


8

Chươ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


9

liê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].


10

1. 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ì?.


11

Mộ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].
Mạng chồng phủ

Mạng nền tảng


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.


12

Lớ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,

Application Layer

luồng video, phân tán, tính toán…

( Lớp ứng dụng)

Quản lý nút mạng phủ, quản lý và


Overlay Network Layer

tìm kiếm tài nguyên…

( Lớp mạng chồng phủ)

TCP, UDP/IP

Underlying Network Layer
( 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).
P2P

Tập trung

Có cấu trúc

Phân tán

Lai ghép

Không cấu trúc

Hình 1-3. Phân loại kiến trúc mạng chồng phủ P2P



13

1.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.


×