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

Bảng băm phân tán và định tuyến trên mạng ngang hàng

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 (154.28 KB, 13 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

Ngô Văn Chí

BẢNG BĂM PHÂN TÁN
VÀ ĐỊNH TUYẾN TRÊN MẠNG NGANG HÀNG

LUẬN VĂN THẠC SĨ KHOA HỌC

Chuyên ngành: Cơ sở toán học cho tin học
Mã số ngành: 60 46 01 10

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. Lê Trọng Vĩnh

Hà Nội – 2015


Mục lục

Danh sách hình vẽ

iii

Danh sách bảng

v

Lời mở đầu

1



1 Tổng quan về mạng ngang hàng

4

1.1

Giới thiệu về mạng ngang hàng . . . . . . . . . . . . . . . . . . . .

4

1.2

Sự tiến hóa của cấu trúc mạng . . . . . . . . . . . . . . . . . . . .

5

1.2.1

Kiến trúc khách–chủ . . . . . . . . . . . . . . . . . . . . . .

5

1.2.2

Kiến trúc lưới . . . . . . . . . . . . . . . . . . . . . . . . . .

6

1.2.3


Kiến trúc ngang hàng . . . . . . . . . . . . . . . . . . . . .

6

1.3

Phân loại . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

1.4

Tìm kiếm trên mạng ngang hàng . . . . . . . . . . . . . . . . . . .

9

1.5

Ưu và nhược điểm của mạng ngang hàng . . . . . . . . . . . . . . 11
1.5.1

Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.5.2

Nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.6


Một số vấn đề trong mạng ngang hàng . . . . . . . . . . . . . . . . 13

1.7

Một số phương pháp định tuyến trên P2P . . . . . . . . . . . . . . 16
1.7.1

Mạng tập trung hoặc được cấu hình tĩnh . . . . . . . . . . 17

1.7.2

Mạng ngang hàng trên mạng chồng lấn . . . . . . . . . . . 18

i


2 Bảng băm phân tán
2.1

2.2

2.3

21

Bảng băm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.1.1

Bảng địa chỉ trực tiếp . . . . . . . . . . . . . . . . . . . . . 21


2.1.2

Bảng băm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Băm ổn định . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.1

Ví dụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.2.2

Định nghĩa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.2.3

Xây dựng . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.2.4

Các tính chất . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Bảng băm phân tán . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3.1

Định nghĩa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.3.2

Ví dụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37


2.3.3

Tính chất của DHT . . . . . . . . . . . . . . . . . . . . . . . 38

2.3.4

Cấu trúc của DHT . . . . . . . . . . . . . . . . . . . . . . . 40

2.3.5

Các cơ chế của DHT . . . . . . . . . . . . . . . . . . . . . . 40

2.3.6

Các giao diện DHT . . . . . . . . . . . . . . . . . . . . . . . 42

2.3.7

Nhận xét . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3 Định tuyến trên mạng ngang hàng

45

3.1

Định tuyến trên P2P có sử dụng DHT . . . . . . . . . . . . . . . . 45

3.2


Thuật toán CAN và Chord . . . . . . . . . . . . . . . . . . . . . . 46
3.2.1

Thuật toán CAN . . . . . . . . . . . . . . . . . . . . . . . . 46

3.2.2

Thuật toán Chord

3.2.3

So sánh khả năng định tuyến giữa thuật toán CAN và

. . . . . . . . . . . . . . . . . . . . . . . 52

Chord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Kết luận

60

Tài liệu tham khảo

65

ii


Danh sách hình vẽ
1.1


Kiến trúc khách – chủ . . . . . . . . . . . . . . . . . . . . . . . . .

5

1.2

Mô hình máy chủ trung tâm . . . . . . . . . . . . . . . . . . . . . . 17

1.3

Phương pháp làm ngập trên mạng chồng lấn . . . . . . . . . . . . 19

1.4

Mô hình mạng siêu ngang hàng . . . . . . . . . . . . . . . . . . . . 19

2.1

Bảng địa chỉ trực tiếp . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.2

Bảng băm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.3

Một ví dụ về phương pháp bảng băm mở . . . . . . . . . . . . . . 25

2.4


Một ví dụ về phương pháp thử tuyến tính . . . . . . . . . . . . . . 26

2.5

Một ví dụ về hệ thống phân phối thông qua các máy chủ cache . 29

2.6

Hệ thống phân phối thông qua các máy chủ cache với một nút lỗi

2.7

Khoảng đơn vị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.8

Một DHT đơn giản . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2.9

Tra cứu khóa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.1

Mạng CAN 2–chiều với 6 nút. Mỗi nút được gán cho một zone

30

và các nút được phân biệt bởi biên của mỗi zone tương ứng . . . 47
3.2


Định tuyến đến nút có khoá k(x, y) trong không gian 2–chiều. . . 48

3.3

Nút mới N7 đến zone của N1. N1 tự chia thành hai phần một
phần gán cho N7. Cập nhật tập hàng xóm của N1:{N7, N2, N6,
N5} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.4

Không gian khóa của Chord . . . . . . . . . . . . . . . . . . . . . . 53

iii


3.5

Bảng finger trong các nút mạng . . . . . . . . . . . . . . . . . . . . 54

3.6

Kết quả thực nghiệm mô phỏng . . . . . . . . . . . . . . . . . . . . 61

iv


Danh sách bảng
3.1


Quan hệ giữa số lượng nút mạng và thời gian định tuyến trung
bình . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

v


Lời mở đầu
Mạng máy tính từ lâu đã trở thành một phần không thể thiếu trong nhiều
lĩnh vực của đời sống xã hội từ các hệ thống mạng cục bộ dùng để chia sẻ tài
nguyên trong các công ty, cơ quan, đơn vị,... cho đến hệ thống mạng toàn cầu
như mạng Internet.
Kiến trúc của các hệ thống mạng ngày càng được cải tiến và phát triển.
Trong đó, kiến trúc của mạng ngang hàng với nhiều đặc tính tốt như khả năng
mở rộng cao, khả năng chịu lỗi tốt, hiệu năng cao,... thu hút được sự chú ý của
người sử dụng, các nhà nghiên cứu cũng như các đơn vị phát triển ứng dụng.
Tất cả những ưu điểm trên đã tạo lên một cuộc cách mạng trong lĩnh vực mạng
truyền thông. Rất nhiều ứng dụng lớn đã và đang được xây dựng trên mạng
ngang hàng như FreeNet, Napster, BitTorent,... Bên cạnh những ưu điểm trên,
mạng ngang hàng cũng gặp phải một vài hạn chế như vấn đề định tuyến, vấn đề
về bảo mật, về khả năng cân bằng tải,... Trong đó, việc định tuyến trên mạng
ngang hàng là một bài toán quan trọng và phức tạp. Nó vẫn đang được các nhà
khoa học trong và ngoài nước đi sâu vào nghiên cứu.
Có rất nhiều phương pháp được thiết kế để phục vụ cho việc định tuyến trên
mạng ngang hàng, trong số đó phải kể đến các phương pháp như: sử dụng máy
chủ trung tâm, cơ chế làm ngập (flooding), cấu trúc mạng siêu ngang hàng, định
tuyến theo ngữ nghĩa,... các phương pháp này đều tồn tại những hạn chế nhất
định. Phương pháp định tuyến trong mạng ngang hàng áp dụng ý tưởng của
bảng băm phân tán [19] mang lại những kết quả tốt hơn và đồng thời khắc phục

1



được các nhược điểm mà phương pháp định tuyến đã nêu trên gặp phải. Vì vậy,
luận văn này tập trung nghiên cứu về bảng băm phân tán và ứng dụng nó trong
việc định tuyến trên các mạng ngang hàng.
Cấu trúc luận văn gồm có 03 chương. Nội dung của các chương được tóm tắt
như sau:
Chương 1: Tổng quan về mạng ngang hàng
Trong chương này, luận văn trình bày những kiến thức tổng quan về kiến
trúc mạng, mạng ngang hàng, phân loại mạng ngang hàng và những thách thức
đặt ra với mạng ngang hàng. Cuối chương là phân tích về những hạn chế của
các phương pháp định tuyến đã được xây dựng và chỉ ra phương pháp thay thế
tốt hơn.
Chương 2: Bảng băm phân tán
Trong chương này, luận văn sẽ trình bày phương pháp phân bố tài nguyên
sao cho các thao các như thêm, xóa, sửa và tra cứu chỉ thực hiện trong thời gian
O(1). Phương pháp được nhắc đến ở đây chính là bảng băm, bảng băm gồm ba

phần là tập dữ liệu S , hàm băm h và bảng băm T . Các phần tử ei ∈ S sử dụng
hàm băm h để xác định vị trí của nó trong T . Trong một số môi trường, như
môi trường mạng, bảng băm T không phải lúc nào cũng ổn định vì vậy trong
[16] các tác giả đã xây dựng một phương pháp mới được gọi là băm ổn định.
Phương pháp này khắc phục được tình trạng không ổn định của bảng băm T .
Với các đặc tính tốt của băm ổn định, người ta đã áp dụng nó vào việc tra cứu
dữ liệu trong các hệ thống phân tán và gọi nó là bảng băm phân tán. Phương
pháp này không những tỏ ra hiệu quả mà còn mang lại nhiều tính năng tốt.
Trong nội dung này, luận văn đi phân tích các cấu trúc, tính chất của bảng băm
phân tán và áp dụng nó vào trong thủ tục định tuyến trên mạng ngang hàng
được gọi thiệu ở Chương 3.
Chương 3: Định tuyến trên mạng ngang hàng

Trong chương cuối này, luận văn trình bày bài toán định tuyến trên mạng

2


ngang hàng có áp dụng ý tưởng của bảng băm phân tán. Sau đó, luận văn đi
phân tích chi tiết hai thuật toán định tuyến tiêu biểu là thuật toán CAN và
thuật toán Chord. Cuối cùng là các phân tích và so sánh những kết quả thực
nghiệm đạt được, qua đó rút ra những kết luận và định hướng cho những nghiên
cứu tiếp theo.

3


Chương 1
Tổng quan về mạng ngang hàng
1.1

Giới thiệu về mạng ngang hàng

Mạng ngang hàng (Peer–to–Peer network, P2P network ) là một loại hệ thống
phân tán phi tập trung trong đó các nút mạng (được gọi là các peer ) đóng vai
trò vừa máy chủ vừa là máy khách trong mô hình khách–chủ. Nghĩa là, các peer
có thể yêu cầu tài nguyên từ các peer khác và cũng có thể trả lời các yêu cầu tại
cùng một thời điểm. Điều này trái ngược với mô hình khách–chủ truyền thống,
mà ở đó chỉ có máy khách gửi yêu cầu đến một (hoặc một vài) máy chủ và (các)
máy chủ sẽ trả lời các yêu cầu đó.
Với cách tiếp cận theo mô hình khách–chủ, hiệu năng của toàn bộ hệ thống
sẽ giảm xuống khi số lượng các máy khách (có yêu cầu các dịch vụ) tăng lên.
Trong khi đó, đối với mạng ngang hàng, hiệu năng trong toàn mạng càng tăng

lên khi số lượng các máy (peer ) được thêm vào mạng càng nhiều. Các peer có
thể tự tổ chức thành các nhóm, trong các nhóm đó chúng giao tiếp, cộng tác và
chia sẻ băng thông với nhau giúp nhau hoàn thành các công việc mong muốn.
Ví dụ, trong hệ thống chia sẻ tệp tin ngang hàng, mỗi peer có thể tải lên và tải
xuống các tệp tin cùng một lúc và trong các tiến trình như vậy, các peer mới có
thể tham gia vào nhóm và các peer cũ có thể rời đi bất cứ lúc nào. Việc tổ chức
nhóm các peer này được thực hiện một cách tự động và trong suốt với người
4


Tài liệu tham khảo
[1] Nguyễn Đình Hóa, Cấu trúc dữ liệu và giải thuật, NXB ĐH Quốc gia Hà
Nội.
[2] Aberer, K., Datta, A., Hauswirth, M.: Efficient, self-contained handling of
identity in peer–to–peer systems. IEEE Transactions on Knowledge and Data
Engineering 16(7), 858–869 (2004).DOI 10.1109/TKDE.2004.1318567
[3] Bryan, D., Jennings, C.: A p2p approach to sip registration and resource
location. 2005
[4] Chavan G. T., Mahajan M. A. Load Balancing in P2P networks using DHT
based systems and Ant based systems: A Comparison. Sinhgad College of
Engineering, Pune.
[5] Cormen Thomas H., Leiserson Charles E., Rivest Ronald L., Stein Clifford.
Introduction to Algorithms. MIT Press and McGraw–Hill, 2001. pp. 221–252.
[6] Emmanuel S., Tim C., Colm R., Rob M. Peer to Peer Routing,
/>[7] G. Greg Plaxton, Rajmohan Rajaraman, Andréa W. Richa. A. Accessing
nearby copies of replicated objects in a distributed environment. s.l. :Proceeding ACM SPAA (Newport, Rhode Island, 06/1997).
[8] Groove networks. (2004)

65



[9] Hari Balakrishnan, M. Frans Kaashoek, David Karger, Robert Morris, Ion
Stoica. Looking up data in P2P systems. s.l. : MIT Laboratory for Computer
Science.
[10] Horozov, T., Grama, A., Vasudevan, V., Landis, S.: Moby-a mobile peer–
to–peer service and data network. In: International Conference on Parallel
Processing, Proceedings, pp. 437–444 (2002).
[11] Hu, Y., Das, S., Pucha, H.: Peer–to–peer overlay abstractions in manets. In:
J. Wu (ed.) Theoretical and Algorithmic Aspects of Sensor, Ad Hoc Wireless
and Peer–to–Peer Networks, pp. 845–864. Auerbach Publications (2005)
[12] Ion Stoica, Robert Morris, David Liben–Nowell, David R. Karger, M. Frans
Kaashoek, Frank Dabek, Hari Balakrishnan. Chord: A Scalable Peer–to–
peer Lookup Protocol for Internet Applications. s.l. : ACM SIGCOMM (San
Diego, Aug. 2001).
[13] Iterbeke, Frédéric, Melis, Stijn and Bart De Vleeschauwe, Tim Wauters,
Filip De Turck, Bart Dhoedt, Piet Demeester. An open peer-to-peer based
platform for scalable multimedia communication. s.l. : Ghent University –
IBBT – IMEC, Department of Information Technology Gaston Crommenlaan
8 bus 201, 9050 Gent, Belgium.
[14] Jelasity, M., Kermarrec, A.M.: Ordered slicing of very large-scale overlay
networks. In: Proc. Sixth IEEE International Conference on Peer-to-Peer
Computing P2P 2006, pp. 117–124 (2006). DOI 10.1109/P2P.2006.25 23.
Kawulok, L., Zielinski, K., Jaeschke,
[15] Knuth, Donald. The Art of Computer Programming. Addison–Wesley, 1998.
pp. 513–558.
[16] Karger D., Lehman E., Leighton T., Panigrahy R., Levine M., Lewin D.
Consistent hashing and random trees. Proceedings of the twenty-ninth an66


nual ACM symposium on Theory of computing (ACM Press New York, NY,

USA): 654–663. doi:10.1145/258533.258660.
[17] Karger, D., Web caching with consistent hashing.
[18] Kirsten Hildrum, John D. Kubiatowicz, Satish Rao, Ben Y. Zhao. Distributed Object Location in a Dynamic Network. s.l. : Proceeding 14th annual ACM symposium on Parallel algorithms and architectures (08/2012).
[19] Klaus Wehrle, Stefan G¨otz, Simon Rieche, Peer–to–peer systems and applications. s.l. : University of T¨
ubingen.
[20] Litwin, Witold. Linear hashing: A new tool for file and table addressing.
Proc. 6th Conference on Very Large Databases: 212–223, 1980.
[21] Mehlhorn, Kurt; Sanders, Pete. “Hash Tables and Associative Arrays”, Algorithms and Data Structures. The Basic Toolbox, Springer, pp. 81–98.
[22] Pourebrahimi B., Bertels K., Vassiliadis S. A Survey of Peer-to-Peer Networks. Computer Engineering Laboratory, ITS, TU Delft, The Netherlands
[23] Sarmady, Siamak. A survey on Peer–to–Peer and DHT. s.l. : Grid Lab,
School of Computer Science, Universiti Sains Malaysia, Penang, 11800,
Malaysia.
[24] Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott
Shenker. A Scalable Content–Addressable Network. s.l. : ACM SIGCOMM
(San Diego, CA, August 2001), pp. 161–172.
[25] Thomas H. Cormen; Charles E. Leiserson; Ronald L. Rivest; Clifford Stein
Rivest. “Hash Table”, Introduction to algorithms. 3 edition, pp. 253–285.
[26] Xuemin S., Heather Y., John B., Mursalin A. Handbook of Peer–to–Peer
Networking, Springer.

67



×