1. Trang chủ
  2. » Luận Văn - Báo Cáo

đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG

79 1,1K 5

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 79
Dung lượng 4,49 MB

Nội dung

đồ án :ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG

Trang 1

KHOA VIỄN THÔNG 1

-*** -ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

Trang 2

HỌC VIỆN CÔNG NGHỆ

BƯU CHÍNH VIỄN THÔNG CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAMĐộc Lập - Tự Do - Hạnh Phúc

KHOA VIỄN THÔNG 1

Trang 3

KHOA VIỄN THÔNG 1

 Lý thuyết chung về mạng ngang hàng

 Lý thuyết về Bảng băm phân tán DHT

 Phương pháp nghiên cứu mạng ngang hàng

 Đánh giá hiệu năng một số DHT

Ngày giao đồ án:……/ /2008

Ngày nộp đồ án: ……/11/2008

Ngày … tháng 11 năm 2008Giáo viên hướng dẫn

TS Lê Nhật Thăng

Trang 4

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

Điểm: (bằng chữ ……… )

Ngày … tháng 11 năm 2008 Giáo viên hướng dẫn

Trang 5

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

Điểm: (bằng chữ ……… )

Ngày … tháng 11 năm 2008 Giáo viên phản biện

Trang 6

Mục lục

Mục lục 1

Danh mục hình vẽ 4

Thuật ngữ viết tắt 6

Lời nói đầu 7

Chương 1: Lý thuyết chung về mạng ngang hàng 8

1.1 Phân loại các hệ thống mạng máy tính 8

1.2 Khái niệm về mạng ngang hàng 10

1.3 Phân loại mạng ngang hàng 13

1.3.1 Phân loại theo mức độ phân quyền 13

a, Mạng P2P thuần nhất 13

b, Mạng P2P lai ghép 14

1.3.2 Phân loại theo cơ chế tìm kiếm 16

a, Cơ chế danh mục tập trung 16

b, Cơ chế yêu cầu liên tục 17

c, Cơ chế bảng băm phân tán 17

1.3.3 Phân loại theo cấu trúc 18

1.4 Ứng dụng của mạng ngang hàng 19

1.4.1 Chia sẻ tài liệu 19

1.4.2 Phân tán tính toán 19

1.4.3 Hợp tác 20

1.4.4 Lớp nền 20

1.5 Các vấn đề đối với mạng ngang hàng 20

1.5.1 Tính bảo mật 20

1.5.2 Độ tin cậy 20

1.5.3 Độ linh động 21

1.5.4 Cân bằng tải 21

1.6 Một số ví dụ về mạng ngang hàng 21

1.6.1 Mạng Edonkey 21

1.6.2 Mạng Gnutella 23

1.6.3 Mạng Napster 24

1.7 Kết luận chương 1 25

Chương 2: Lý thuyết về Bảng băm phân tán DHT 26

2.1 Khái niệm DHT 26

Trang 7

2.2.1 Mạng phủ 28

2.2.2 Ánh xạ dữ liệu 29

2.2.3 Quá trình tìm kiếm 30

2.2.4 Quá trình bảo trì mạng 30

2.3 Giao thức Kademlia 37

2.3.1 Mạng phủ 37

2.3.2 Ánh xạ dữ liệu 38

2.3.3 Quá trình tìm kiếm 38

2.3.4 Quá trình bảo trì mạng 38

2.4 Giao thức Kelips 39

2.4.1 Mạng phủ 39

2.4.2 Ánh xạ dữ liệu 40

2.4.3 Quá trình tìm kiếm 40

2.4.4 Quá trình bảo trì mạng 41

2.5 Giao thức Tapestry 41

2.5.1 Mạng phủ 41

2.5.2 Ánh xạ dữ liệu 42

2.5.3 Quá trình tìm kiếm 43

2.5.4 Quá trình bảo trì mạng 45

2.6 Kết luận chương 2 45

Chương 3: Phương pháp nghiên cứu mạng ngang hàng 46

3.1 Các phương pháp nghiên cứu mạng ngang hàng 46

3.1.1 Phương pháp phân tích 46

3.1.2 Phương pháp thử nghiệm 46

3.1.3 Phương pháp mô phỏng 46

3.2 Công cụ mô phỏng mạng ngang hàng 47

3.2.1 NS-2 47

3.2.2 PeerSim 49

3.2.3 PlanetSim 50

3.2.4 OMNet++ 52

3.2.5 OverSim 53

3.2.6 GPS 54

3.2.7 P2PSim 55

3.3 Kết luận chương 3 57

Chương 4: Đánh giá hiệu năng một số DHT 58

Trang 8

4.1 Bài toán thực tế 58

4.2 Phương pháp luận 59

4.2.1 Mục tiêu 59

4.2.2 Cơ sở 60

4.3 Kết quả và phân tích 63

4.3.1 Xác định ngưỡng churn rate 63

a, Phương pháp 63

b, Chord 64

c, Kademlia 65

d, Kelips 65

e, Tapestry 66

4.3.2 So sánh hiệu năng của các DHT 67

a, Môi trường churn rate rất cao (5-10s) 67

b, Môi trường churn rate cao (60-300s) 68

4.3.3 Phân tích ảnh hưởng của các tham số thiết kế 69

a, Chord 70

b, Kademlia 71

c, Kelips 72

d, Tapestry 73

4.3.4 Đánh giá tính khả mở 73

a, Chord 74

b, Kademlia 74

c, Kelips 75

d, Tapestry 75

4.4 Kết luận chương 4 76

Kết luận 77

Tài liệu tham khảo 78

Trang 9

Danh mục hình vẽ

Hình 1-1: Hệ thống mạng 8

Hình 1-2: Hệ thống mạng chủ - khách 9

Hình 1-3: Mạng ngang hàng 10

Hình 1-4: Mạng ngang hàng hoàn toàn 13

Hình 1-5: Mạng lai ghép 14

Hình 1-6: Mạng lai ghép với chỉ số hoá tập trung 15

Hình 1-7: Mạng lai ghép với chỉ số hoá phân tán 15

Hình 1-8: Cơ chế danh mục tập trung 16

Hình 1-9: Cơ chế yêu cầu liên tục 17

Hình 1-10: Cơ chế bảng băm phân tán 17

Hình 1-11: Mạng Edonkey 22

Hình 1-12: Mạng Gnutella 23

Hình 1-13: Mạng Napster 24

Hình 1-14: Tìm kiếm trên mạng Napster 25

Hình 2-1: Chức năng chính của DHT 27

Hình 2-2: Không gian ID của mạng Chord (N=64) 29

Hình 2-3: Các item lưu trên mạng Chord 29

Hình 2-4: Quá trình node tham gia vào mạng Chord 35

Hình 2-5: Quá trình node rời khỏi mạng Chord 36

Hình 2-6: Không gian ID của mạng Kademlia (N=16) 37

Hình 2-7: Các k-bucket của một node 37

Hình 2-8: Bảng định tuyến của node 110 39

Hình 2-9: Quá trình node tham gia vào mạng Kelips 41

Hình 2-10: Bảng định tuyến của một node trong mạng Tapestry 42

Hình 2-11: Các mức liên kết của node 4227 43

Hình 2-12: Đường đi của một message từ node 5230 tới node 42AD 43

Hình 2-13: Các bản sao được định tuyến tới root (node 4377) 44

Hình 2-14: Các node truy vấn đến node lưu item gần nhất 44

Hình 3-1: Minh họa NS-2 49

Hình 3-2: Minh họa PeerSim 50

Hình 3-3: Minh họa PlanetSim 51

Hình 3-4: Minh họa OMNet++ 53

Hình 3-5: Minh họa OverSim 54

Hình 3-6: Minh họa GPS 55

Trang 10

Hình 3-7: Minh họa P2PSim 57

Hình 4-1: Minh họa mô hình thực tế 58

Hình 4-2: Hoạt động của P2PSim 60

Hình 4-3: Lưu đồ xác định ngưỡng churn rate 64

Hình 4-4: Ngưỡng churn rate Chord hoạt động tốt 64

Hình 4-5: Ngưỡng churn rate Kademlia hoạt động tốt 65

Hình 4-6: Ngưỡng churn rate Kelips hoạt động tốt 65

Hình 4-7: Ngưỡng churn rate Tapestry hoạt động tốt 66

Hình 4-8: Hiệu năng Chord với churn rate rất cao 67

Hình 4-9: Hiệu năng Kademlia với churn rate rất cao 67

Hình 4-10: Hiệu năng Kelips với churn rate rất cao 68

Hình 4-11: Hiệu năng Tapestry với churn rate rất cao 68

Hình 4-12: So sánh các DHT với churn rate 60s 69

Hình 4-13: So sánh các DHT với churn rate 300s 69

Hình 4-14: Ảnh hưởng của base đối với Chord 70

Hình 4-15: Ảnh hưởng của pnstimer đối với Chord 70

Hình 4-16: Ảnh hưởng của alpha đối với Kademlia 71

Hình 4-17: Ảnh hưởng của stabilize_timer đối với Kademlia 71

Hình 4-18: Ảnh hưởng của round_interval đối với Kelips 72

Hình 4-19: Ảnh hưởng của n_contacts đối với Kelips 72

Hình 4-20: Ảnh hưởng của stabtimer đối với Tapestry 73

Hình 4-21: Ảnh hưởng của base đối với Tapestry 73

Hình 4-22: Tính khả mở của Chord 74

Hình 4-23: Tính khả mở của Kademlia 74

Hình 4-24: Tính khả mở của Kelips 75

Hình 4-25: Tính khả mở của Tapestry 75

Trang 11

Thuật ngữ viết tắt

FAQ Frequently Asked Questions Các câu hỏi thường gặp

thời trên Internet

IPv6 Internet Protocol version 6 Giao thức IP phiên bản 6

nguồn mở của Sun MicrosystemsMAC Media-Access Control Điều khiển Truy nhập - Vật lýMIT Massachusetts Institute of

Technology

Học viện kĩ thuật Masachuset Mĩ

OSPF Open Shortest Path First Đường đi ngắn nhất mở đầu tiên

PDA Personal Digital Assistant Máy trợ lý cá nhân kỹ thuật sốPPP Point-to-Point Protocol Giao thức điểm nối điểmPVC Performance versus Cost Hiệu năng đối với chi phíRIP Routing Information Protocol Giao thức định tuyến thông tin

SETI Search for Extraterrestrial

Intelligence

Dự án tìm kiếm nền văn minh

ngoài trái đấtTCL Tool Command Language Bộ công cụ lập trình dòng lệnhTCP Transmission Control Protocol Giao thức điều khiển truyền dẫnUDP User Datagram Protocol Giao thức gói dữ liệu người dùng

Trang 12

Lời nói đầu

Khoảng mười năm trở lại đây, thế giới đã chứng kiến sự bùng nổ của Internet băng thông rộng, cùng với nó là sự phát triển mạnh mẽ của các ứng dụng peer-to- peer Với nhiều ưu điểm hứa hẹn như tính hiệu quả, linh hoạt và khả năng mở rộng cao, các mạng peer-to-peer đã và đang thu hút được nhiều sự quan tâm từ cộng đồng nghiên cứu Mạng peer-to-peer đã phát triển qua nhiều thế hệ, thế hệ hiện nay là mạng có cấu trúc dựa trên khả năng lưu trữ và tìm kiếm dữ liệu hiệu quả theo cơ chế Bảng băm phân tán (DHT)

Các DHT được thiết kế để hoạt động trong môi trường tương đối ổn định với các peer là máy tính Tuy nhiên vài năm gần đây, các thiết bị nối mạng ngày càng phong phú và đa dạng, từ điện thoại, PDA, … cho đến tivi Các thiết bị này kết nối và rời khỏi mạng trong thời gian ngắn khiến cho độ ổn định của mạng rất thấp dẫn đến hiệu năng của các DHT giảm sút rõ rệt Phân tích, đánh giá hiệu năng của các DHT trong môi trường mới là vấn đề đang rất được quan tâm hiện nay

Nội dung của đồ án bao gồm bốn phần chính như sau:

Chương 1: Lý thuyết chung về mạng ngang hàng

Chương 2: Lý thuyết về Bảng băm phân tán DHT

Chương 3: Phương pháp nghiên cứu mạng ngang hàng

Chương 4: Đánh giá hiệu năng một số DHT

Em xin gửi lời cám ơn đến các thầy giáo cô giáo đã dạy dỗ em tận tình trong suốt quá trình học tập tại Học Viện Xin chân thành cám ơn TS Nguyễn Chấn Hùng

và ThS Ngô Hoàng Giang đã cung cấp những thông tin tài liệu qúy báu giúp đỡ em trong thời gian vừa qua Đặc biệt em vô cùng biết ơn thầy giáo TS Lê Nhật Thăng đã dành nhiều thời gian tận tình hướng dẫn, tạo điều kiện thuận lợi để em hoàn thành đồ

án này.

Hà Nội, tháng 11 năm 2008

Sinh viên

Nguyễn Thế Tùng

Trang 13

Chương 1: Lý thuyết chung về mạng ngang hàng

1.1 Phân loại các hệ thống mạng máy tính

Ban đầu khi mạng máy tính mới ra đời, tốc độ máy còn thấp, số lượng máytham gia trong mạng chưa cao, nhu cầu trao đổi thông tin mới chỉ dừng lại ở những tậptin có kích thước bé nên việc quản lý mạng còn rất đơn giản, cấu trúc của mạng chỉgồm một vài máy Các máy trong mạng được nối trực tiếp với nhau thông qua cổngcom hay cổng máy in LPT… Đó là mô hình mạng ngang hàng sơ khai nhưng lại là cơ

sở để phát triển mạng ngang hàng sau này trên một hệ thống máy tính rộng lớn

Sự phát triển vượt bậc của công nghệ làm cho các máy tính ngày càng nhanhhơn, lượng tài nguyên lưu trữ là rất lớn và nhu cầu trao đổi của con người ngày càngtăng lên Lúc này các máy tính được kết nối khắp toàn cầu đòi hỏi phải có sự ra đờicủa phương thức quản lý mới với những giao thức, giao diện mới Các mô hình hệthống mạng ra đời, Hình 1-1 thể hiện sự phát triển của hệ thống mạng máy tính

Hệ thống

tập trung

Hệ thống phân tán

Hệ thống mạng

Hình 1-1: Hệ thống mạng

Sự tính toán xử lí dữ liệu đầu vào hoặc tài nguyên tại các node trên mạng có thểchia thành hệ thống xử lí tập trung và xử lí phân tán Giải pháp tập trung dựa vào mộtnode được chỉ định là computer node sẽ xử lí tất cả các ứng dụng cục bộ Hệ thống tậptrung thường được triển khai tại một cơ quan, tổ chức khi các máy tính được liên kếtvới nhau trong một không gian kín, không có sự liên kết với mạng bên ngoài Với hệ

Trang 14

thống phân tán, các bước xử lí một ứng dụng được chia đều giữa các node tham giavới mục đích giảm thiểu chi phí tính toán và truyền thông Mọi thông tin, tài nguyêntrong mạng được phân tán khắp nơi.

Hệ thống phân tán có thể được chia nhỏ hơn thành mô hình mạng chủ-khách và

mô hình ngang hàng Trong hệ thống mạng chủ-khách có sự phân biệt giữa các máytính trong mạng, một số ít các máy gọi là máy chủ (server), đây là những máy có khảnăng tính toán rất mạnh, tốc độ xử lý nhanh Tại những máy này có lưu trữ tài nguyênmạng và các dịch vụ, nó đóng vai trò là người phục vụ cho các yêu cầu của máy tínhkhác trong mạng về tài nguyên và dịch vụ Phần lớn các máy còn lại gọi là máy khách(client), nó chỉ đưa ra các yêu cầu và sử dụng tài nguyên trên mạng mà không thể chia

sẻ các tài nguyên hay dịch vụ của chính nó Trong hệ thống chủ-khách các máy kháchkhi vào hệ thống được nối với máy chủ, nhận quyền truy nhập và tài nguyên mạng từmáy chủ Các máy khách được sắp xếp tổ chức theo một quy luật nhất định và đặtdưới sự quản lý của máy chủ Mô hình hệ thống chủ-khách được minh họa như Hình1-2

Trang 15

Ưu điểm chính của hệ thống này là sự đơn giản của nó Vì tất cả dữ liệu đềuđược tập trung tại một vị trí nên việc quản lý hệ thống là khá dễ dàng và cũng tươngđối dễ bảo mật Tuy nhiên, trở ngại của hệ thống này cũng chính bởi mọi thông tin đềutập trung tại máy chủ Do đó, nó là một điểm có thể gây lỗi trầm trọng cho hệ thống vìnếu gặp trục trặc, toàn bộ các ứng dụng client nối với server cũng sẽ gặp trục trặc theo.Server cũng là nơi làm đình trệ hiệu năng của hệ thống Mặc dù kiến trúc Client/Serverđược chấp nhận rộng rãi tại các Web-server hay các database-server nhưng nhượcđiểm về tính mở rộng và tỉ lệ gặp lỗi làm cho hệ thống này không thích hợp với việctriển khai các ứng dụng phân tán đa năng.

1.2 Khái niệm về mạng ngang hàng

Peer-to-Peer (hay P2P - mạng ngang hàng), là mạng mà trong đó hai hay nhiềumáy tính chia sẻ các tập tin và truy nhập các thiết bị như máy in mà không cần đếnmáy chủ hay các phần mềm máy chủ Ở dạng đơn giản nhất mạng ngang hàng đượctạo ra bởi hai hay nhiều máy tính kết nối với nhau và chia sẻ tài nguyên mà không phảithông qua một máy chủ dành riêng Mạng ngang hàng dựa vào khả năng và băng tầncủa các máy tính tham gia vào mạng hơn là tập trung vào một số các máy tính gọi làserver Nó được sử dụng cho kết nối các node thông qua các kết nối đặc biệt và đượcdùng cho nhiều mục đích như chia sẻ tài liệu, chia sẻ âm nhạc, hình ảnh, dữ liệu, lưulượng điện thoại… Mô hình của mạng ngang hàng được thể hiện trên Hình 1-3

Trang 16

Khái niệm P2P như người ta hiểu bao gồm bốn hoạt động khác nhau: sự hợp tácgiữa những người sử dụng, sự tương tác giữa những ứng dụng phần mềm, việc sửdụng hiệu quả các tài nguyên mạng và các siêu tính toán

Nổi bật nhất là các hệ thống hợp tác đang được phát triển bởi các công ty mớinhư Groove Networks, Endeavors Technology Các hệ thống này kết hợp khả nǎngchia sẻ tài nguyên với khả nǎng truyền tin tức thời của ICQ, tất cả trong một môitrường an toàn Sự hấp dẫn chính là ở sự khuyến khích chia sẻ file và truyền thônggiữa các nhóm làm việc

Với Groove, ví dụ, người sử dụng có thể kết nối với các đồng sự trong các môitrường ảo để cùng hợp tác trong công việc, giải quyết các vấn đề phức tạp và thậm chílập kế hoạch chia sẻ tài liệu và cùng lướt Web trên Internet Cũng như các hệ thốngkhác, hệ thống của Groove cung cấp tin cho mỗi người sử dụng khi có đồng sự đang ởtrên mạng, nhận ra họ và cho phép một người sử dụng kết nối tới họ từ bất cứ nơi đâu.Quan trọng hơn cả đối với giới doanh nghiệp là dịch vụ tạo ra một không gian an toàncho người dùng cho dù họ ở trên Internet hay trong Intranet sau tường lửa Không cầnphải có các kỹ sư của công ty; không cần phải thiết lập hình thức tổ chức trung tâm; vàkhông phải lo đến những vị khách lạ truy nhập vào mạng công ty

Mặc dù mọi sự chú ý đều tập trung vào vấn đề cộng tác, các hệ thống P2P chophép các ứng dụng phần mềm tương tác với nhau đem lại nhiều hứa hẹn nhất cho cácứng dụng kết hợp các dữ liệu phân tán cho thương mại điện tử, thiêt kế sản phẩm hoặcquản lý tri thức Các chương trình đó dùng P2P như một phương thức gửi dữ liệu vào

và ra từ trình ứng dụng này tới trình ứng dụng khác hoặc liên kết một số lượng vô hạncác máy tính thành một cơ sở dữ liệu khổng lồ Công nghệ tương tác phần mềm chophép các công ty chia nhỏ các vấn đề phức tạp cho dễ quản lý hơn Các hệ thống chophép đối chiếu dữ liệu và đảm bảo rằng chúng đang được điều khiển bởi chính nhữngngười tạo ra chúng, đảm bảo rằng hoạt động chính xác và kịp thời rất lý tưởng cho cácứng dụng trực tuyến và kinh doanh chứng khoán

Một loạt các hãng mới thành lập đang tạo ra những chương trình tận dụng tàinguyên triển khai khả nǎng của P2P để lưu trữ các file, phân phối nội dung và chia sẻsức mạnh xử lý của các máy khác Mục đích ở đây một phần là cắt giảm giá thànhphần cứng chẳng hạn như thiết bị lưu trữ, server và các thiết bị khác, nhưng cũng giúpcho việc quản lý giao thông trên mạng Mặc dù có tiềm nǎng dịch vụ lớn, nhưng đây làmột vấn đề khó khǎn nhất của P2P Có quá nhiều vấn đề liên quan đến an toàn bảo mật

Trang 17

và sự phức tạp - không đề cập đến giá của các thiết bị lưu trữ và các server giảmxuống - khiến cho các dịch vụ P2P trở nên không thiết thực.

Cuối cùng, công nghệ P2P có thể áp dụng cho các dịch vụ tính toán phân tán cókhả nǎng đạt được siêu xử lý cho các công ty cần khả nǎng xử lý lớn nhưng khôngmuốn bỏ hàng triệu đôla cho nó Công nghệ này đã chia việc xử lý lớn ra thành những

xử lý nhỏ có thể phân tán giữa các máy tính trong một mạng Mỗi một PC đồng thời

xử lý các dữ liệu và trả về kết quả cho máy tính trung tâm ráp nối các phần này lại Ví

dụ, tiến trình này có thể được sử dụng để chia ra từng ảnh nhỏ riêng biệt để tạo hìnhảnh động cho những máy PC khác nhau thực hiện đồng thời và sau đó kết hợp nhữnghình đã được xử lý đó thành một chuỗi các hình liên tục Khi có hàng ngàn, hay hàngtriệu máy tính được nối lại với nhau thì có thể liên kết tính toán siêu xử lý song songvới tốc độ nhiều triệu phép tính / giây, với giá thành nhỏ hơn nhiều so với các siêumáy tính như máy đánh cờ Deep Blue hay Blue Gene của IBM Các ứng dụng siêu xử

lý này có thể bán các dịch vụ kiểu này cho các công ty thiết kế công nghệ, nghiên cứu

y dược và tính toán mô hình tài chính kinh tế

Thập kỷ trước đã chứng kiến những thay đổi lớn về cung cách làm việc Biêngiới của các công ty đã trở lên rộng lớn hơn và mối quan hệ giữa khách hàng và nhàcung cấp đã trở lên gần gũi hơn đồng thời sự tin tưởng của công ty vào những ngườilao động tạm thời và các chuyên gia tǎng lên, trong khi đó các tổ chức lại dựa nhiềuhơn vào các nhóm làm việc đặc biệt Những nơi làm việc như vậy sẽ không có một cấutrúc làm việc cố định và một vai trò nghề nghiệp được xác định rõ ràng P2P rất phùhợp với cách thức hợp tác này

Việc sử dụng các hệ thống mạng đã làm thay đổi một cách đáng kể lực lượnglao động trong những nǎm gần đây Những nhóm làm việc tự phát qua mạng là sự pháttriển có ý nghĩa quan trọng về cách thức làm việc của các công ty Lần lượt các hệthống nhắn tin như ICQ và các công cụ P2P khác dùng để giao tiếp sẽ trở thành trungtâm của các mạng như thế và cho phép người sử dụng liên kết với nhau một cách tự do

Trang 18

thực hiện nhanh hơn nhiều những chu kì thiết kế tuần hoàn của mình, vì vậy đã tiếtkiệm khoảng 15 triệu USD cho mỗi chương trình thiết kế bánh xe.

Liệu tất cả những điều này đang đánh dấu ngày tàn của server công ty? Các nhàtin học cho rằng trong thương mại, P2P chỉ thích hợp cho những ứng dụng có trao đổithông tin trực tiếp Như vậy, server sẽ tiếp tục duy trì vị trí của mình trong việc quản

lý nhân sự và chi tiêu, kế hoạch kinh doanh và nhiều ứng dụng khác Tuy nhiên, trongtương lai, server sẽ cung cấp các dịch vụ cao cấp hơn thay vì những việc lặt vặt đơngiản như lưu trữ và phân phát các tệp P2P là một kiểu kiến trúc máy tính mới có nhiềuhứa hẹn Tuy vậy để có thể có các ứng dụng tin cậy như thực tế đòi hỏi, không ít côngsức và thời gian sẽ phải bỏ ra

1.3 Phân loại mạng ngang hàng

1.3.1 Phân loại theo mức độ phân quyền

Phân quyền là một trong những khái niệm chính của hệ thống mạng nganghàng Điều này bao gồm phân phối tài nguyên lưu trữ, sự xử lý, thông tin chia sẻ cũngnhư thông tin điều khiển Dựa trên cơ sở mức độ phân quyền và cách thức trao đổi, thunhận tài nguyên của các máy tính trong mạng ngang hàng người ta chia mạng nganghàng ra làm hai loại kiến trúc chính:

a, Mạng P2P thuần nhất

Hình 1-4: Mạng ngang hàng hoàn toàn

Trong hệ thống này, tất cả các máy đều được nối với nhau, đây là mô hình thểhiện chính xác nhất bản chất của mạng ngang hàng Trong mạng ngang hàng hoàn

Trang 19

toàn không có máy chủ trung tâm quản lý mạng, mọi máy tính trong mạng có vai tròvừa là máy chủ vừa là máy khách Trong mạng không có các máy định tuyến haytrung tâm định tuyến, các máy trong mạng tự định tuyến cho chính nó Trong hệ thốngnhư vậy tất cả các máy là cân bằng về chức năng, các máy là các node và được gọi là

“serv-ent”

Ưu điểm của loại mạng này là khả năng mở rộng nhanh, khả năng chịu lỗi của

hệ thống lớn, các máy trong mạng có tính tự chủ cao Khi trong mạng có một vài nodelỗi thì không gây ra lỗi toàn mạng và dễ dàng khắc phục Các node có vai trò lớn hơnđối với dữ liệu và tài nguyên của nó Nhược điểm chính của mạng là tốc độ phát hiệnthông tin chậm, không đảm bảo chất lượng dịch vụ, khó đoán biết hành vi của hệthống

Các mạng ngang hàng thuần tuý có thể kể như: Gnutella, Freenet

b, Mạng P2P lai ghép

Hình 1-5: Mạng lai ghép

Mạng P2P lai ghép có một máy chủ trung tâm dùng để lưu trữ thông tin của cácmáy khách và trả lời các truy vấn thông tin của chúng Máy chủ này điều khiển hoạtđộng của mạng như một phần tử có thể kiểm soát toàn bộ các máy khác, đảm bảo tínhchặt chẽ của thông tin trên mạng Các máy khách có vai trò lưu trữ thông tin, tàinguyên được chia sẻ và cung cấp các thông tin của nó cho máy chủ Tất cả các luồng

dữ liệu thông thường đều được truyền trực tiếp giữa các peer, chỉ các luồng thông tinđiều khiển mới được truyền qua Server trung tâm Có hai kiểu mạng lai ghép: mạng laighép với chỉ số hoá tập trung và mạng lai ghép chỉ số hoá phân tán

Trang 20

Hình 1-6: Mạng lai ghép với chỉ số hoá tập trung

Trong mạng lai ghép chỉ số hoá tập trung có một máy chủ trung tâm bảo trì cácchỉ số của dữ liệu hoặc tài nguyên hiện tại đang được chia sẻ bởi các máy khách tíchcực, mỗi máy khách giữ gìn một kết nối tới máy chủ trung tâm để gửi các yêu cầu Hệthống này với một server trung tâm đơn giản nhưng xử lí nhanh, có thể tìm kiếm pháthiện thông tin hiệu quả đảm bảo trên toàn bộ hệ thống Tuy vậy khả năng mở rộngkhông cao mô hình này rất dễ bị lỗi và sụp đổ khi máy chủ trung tâm bị lỗi hoặc bị tấncông, kích thước cơ sở dữ liệu và khả năng đáp ứng yêu cầu của nó là có giới hạn.Kiến trúc này được sử dụng trong mạng Napster

Hình 1-7: Mạng lai ghép với chỉ số hoá phân tán

Trong hệ thống này tồn tại một số siêu node lưu chỉ mục thông tin về các peercục bộ Truy vấn thông tin được gửi tới siêu node, nó là proxy cho các peer cục bộ Do

đó truy vấn thông tin nhanh hơn và lưu lượng trao đổi thông tin giữa các node ít hơn

so với hệ thống P2P thuần nhất So với hệ thống chỉ số tập trung nó có ưu điểm là

Trang 21

giảm tải đáng kể cho server tránh lỗi cho toàn hệ thống nhưng phát hiện thông tinchậm hơn Ví dụ: mạng Kazaa, Morpheus.

1.3.2 Phân loại theo cơ chế tìm kiếm

Cơ chế định vị thông tin trong hệ thống là đặc điểm căn bản trong hệ thống P2P

Cơ chế tìm kiếm trong mạng ngang hàng được phát triển từ thế hệ thứ nhất với cấutrúc danh mục tập trung tới thế hệ thứ hai với cơ chế yêu cầu liên tục và thế hệ thứ badựa vào bảng băm phân tán

a, Cơ chế danh mục tập trung

Hình 1-8: Cơ chế danh mục tập trung

Cơ chế này được sử dụng trong mạng lai ghép, các máy khách kết nối tới máychủ chứa trung tâm thư mục, là nơi lưu trữ tất cả các thông tin về vị trí và cách sửdụng tài nguyên Dựa trên yêu cầu từ máy khách trung tâm chỉ số sẽ đưa yêu cầu tớimáy khách tốt nhất mà có thư mục phù hợp với yêu cầu Máy khách tốt nhất có thể là

rẻ nhất, nhanh nhất, gần nhất, hoặc sẵn sàng nhất, phụ thuộc vào người sử dụng cần.Sau đó dữ liệu sẽ được trực tiếp trao đổi giữa hai máy khách Mạng Napster sử dụngphương pháp này, một máy chủ trung tâm sẽ giữ gìn chỉ số của dữ liệu với các trườngtiêu đề của tất cả các file trên mạng, một bảng các thông tin đăng kí kết nối của ngườidùng như địa chỉ IP, tốc độ kết nối…, một bảng danh sách các file mà người sử dụnggiữ và chia sẻ trong mạng Khi bắt đầu, máy khách sẽ tiếp xúc với máy chủ trung tâm

và đưa ra một danh sách với các file mà nó giữ Khi máy chủ thu được một yêu cầu từngười dùng Nó sẽ tìm kiếm cho chỉ số phù hợp file cần tìm, trả lại danh sách nhữngngười dùng đang giữ file phù hợp Người dùng sẽ thiết lập một kết nối trực tiếp tớimáy đang giữ file và lấy nó về

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

Trang 22

b, Cơ chế yêu cầu liên tục

Hình 1-9: Cơ chế yêu cầu liên tục

Đây là mô hình mạng ngang hàng hoàn toàn trong đó mỗi điểm (peer) khônglưu giữ bất kỳ trung tâm thư mục nào và mỗi điểm sẽ công bố thông tin về nội dungchia sẻ trong mạng ngang hàng Vì vậy không một điểm đơn nào biết về tất cả các tàinguyên, một điểm khi cần tìm kiếm tài nguyên nó sẽ gửi yêu cầu tới tất cả các điểmđang kết nối với nó, cứ như thế yêu cầu được gửi đi cho tới khi được trả lời hoặc khi

số bước gửi yêu cầu là cực đại Khi số điểm trên mạng lớn thì lưu lượng trên mạng sẽrất lớn, đây là nhược điểm của mô hình tìm kiếm này Hệ thống này chỉ làm việc hiệuquả với mạng nhỏ như Gnutella Mô hình cải tiến đưa vào khái niệm super peer giảmtiêu thụ băng thông và cho khả năng mở rộng cao hơn ví dụ Kazaa

c, Cơ chế bảng băm phân tán

Hình 1-10: Cơ chế bảng băm phân tán

Đây là là mô hình tiên tiến nhất và được sử dụng trong mạng ngang hàng hoàntoàn Mô hình định tuyến thêm vào cấu trúc thông tin về những tài nguyên được lưu

Trang 23

trữ sử dụng bảng băm phân tán Giao thức này cung cấp một ánh xạ giữa số nhận dạngcủa tài nguyên (ID) và vị trí lưu trữ Trong cấu trúc của bảng định tuyến một truy vấn

có thể được định tuyến hiệu quả tới node có tài nguyên mong muốn Giao thức nàylàm giảm bớt số bước mà node trong mạng cần thiết để định vị tài nguyên tìm kiếm.Mỗi node được gắn một giá trị ID và nó biết một vài các node khác Khi một nodemuốn chia sẻ tài liệu, tên và nội dung của tài liệu đó được băm tạo ra một ID gắn vớitài liệu đó Tài liệu được định tuyến tới node có ID gần với ID của tài liệu nhất Khimột node muốn lấy một tài liệu nào đó nó gửi yêu cầu chứa ID của tài liệu Yêu cầuđược chuyển tới node có ID gần với ID của tài liệu nhất, sau đó tài liệu được chuyểntới node yêu cầu Các mạng ngang hàng thế hệ mới đều sử dụng phương pháp tìmkiếm này như: Freenet, Chord, Kademlia… Mô hình này được chứng minh là có hiệuquả với mạng có số peer lớn Tuy vậy nó vẫn tồn tại các nhược điểm đó là khó cài đặttính năng tìm kiếm do phải biết trước ID của file trước khi gửi yêu cầu Băm tên filehoặc nội dung khác nhau tạo ra ID khác dẫn đến không tìm thấy file Các node khichia vào các nhóm khác nhau không có sự liên hệ dẫn đến vấn đề ‘’islanding’’(cô lập)

1.3.3 Phân loại theo cấu trúc

Cấu trúc mạng ngang hàng bao gồm tất cả các nút mạng đại diện cho các máytham gia và các liên kết giữa các nút mạng này Một liên kết tồn tại giữa hai nút mạngkhi một nút mạng biết vị trí của nút mạng kia Dựa vào cấu trúc liên kết giữa các nútmạng ta có thể phân loại mạng ngang hàng thành 2 loại: có cấu trúc hay không cấutrúc

Một mạng ngang hàng không cấu trúc khi các liên kết giữa các nút mạng trongmạng phủ được thiết lập ngẫu nhiên (tức là không theo qui 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ấycác liên kết có sẵn của một máy khác đang ở trong mạng và sau đó dần dần tự bảnthân nó sẽ thêm vào các liên kết mới của riêng mình Khi một máy muốn tìm một 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 Hệ thống này thể hiện rõ nhược điểm:

tỉ lệ tìm kiếm thành công thấp Đối với tìm kiếm các dữ liệu phổ biến được chia sẻ trênnhiều máy, tỉ lệ thành công là khá cao, ngược lại, nếu dữ liệu chỉ được chia sẻ trên mộtvài máy thì xác suất tìm thấy là khá nhỏ Tính chất này là hiển nhiên vì trong mạngngang hàng không cấu trúc, không có bất kì mối tương quan nào giữa một máy và dữliệu nó quản lý trong mạng, do đó yêu cầu tìm kiếm được chuyển một cách ngẫu nhiênđến một số máy trong mạng Số lượng máy trong mạng càng lớn thì khả năng tìm thấy

Trang 24

thông tin càng nhỏ Một nhược điểm khác của hệ thống này là do không có địnhhướ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 trongmạ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ếmchung của mạng thấp.

Hầu hết các mạng ngang hàng không cấu trúc phổ biến như Napster, Gnutella,Fasttrack và eDonkey2000

Mạng ngang hàng có cấu trúc khắc phục nhược điểm của mạng không cấu trúcbằng cách sử dụng hệ thống DHT (Bảng Băm Phân Tán: Distributed Hash Table) Hệthống này định nghĩa liên kết giữa các nút mạng trong mạng phủ theo một thuật toán

cụ thể, đồng thời xác định chặt chẽ mỗi nút mạng sẽ chịu trách nhiệm đối với mộtphần dữ liệu chia sẻ trong mạng Với cấu trúc này, khi một máy cần tìm một dữ liệu,

nó chỉ cần áp dụng một giao thức chung để xác định nút mạng nào chịu trách nhiệmcho dữ liệu đó và sau đó liên lạc trực tiếp đến nút mạng đó để lấy kết quả Mô hìnhnày đem lại hiệu quả tìm kiếm cao nhưng lại tăng chi phí duy trì khi các peer tham giahay rời khỏi mạng

Một số mạng ngang hàng có cấu trúc nổi tiếng bao gồm Chord, CAN,Kademlia, Pastry và Tapestry

1.4 Ứng dụng của mạng ngang hàng

Có thể chia các ứng dụng của P2P thành bốn loại:

1.4.1 Chia sẻ tài liệu

Lưu trữ và trao đổi tài nguyên là một trong những mặt thành công nhất của côngnghệ mạng ngang hàng Ứng dụng chia sẻ tài liệu tập trung vào sự lưu trữ thông tin vàkhôi phục thông tin từ nhiều máy khác trên mạng Một trong những ví dụ tốt nhất củamạng ngang hàng là Napster, nó trở thành hệ thống chia sẻ ca nhạc nổi tiếng

1.4.2 Phân tán tính toán

Ứng dụng này sử dụng tài nguyên từ một số các máy tính trên mạng (năng lực

xử lí của các máy tính rỗi trên mạng) Ý tưởng đằng sau ứng dụng này là bất kỳ máytính nào kết nối vào mạng có thể được sử dụng để giải quyết vấn đề của những máykhác đang yêu cầu tính toán thêm Ví dụ dự án SETI (Search for ExtraterrestrialIntelligence: Tìm kiếm nền văn minh ngoài trái đất)

Trang 25

1.4.3 Hợp tác

Mục đích của ứng dụng hợp tác trong mạng ngang hàng là cho phép cộng tác ởmức ứng dụng giữa các người dùng ví dụ như chat, instant messaging, online gameđến các ứng dụng chia sẻ có thể sử dụng trong kinh doanh, giáo dục …

1.4.4 Lớp nền

P2P platform 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àinguyên…Ví dụ JXTA là một P2P platform cung cấp một nền cơ bản cho việc lập trình

và xử lí trên mạng

1.5 Các vấn đề đối với mạng ngang hàng

Hệ thống P2P có một số ưu điểm hơn so với hệ thống client-server truyền thốngnhư khả năng mở rộng, khả năng chịu lỗi, hiệu năng cao Tuy nhiên còn nhiều vấn đề

mà các hệ thống P2P hiện nay đang phải giải quyết:

1.5.1 Tính bảo mật

Bảo mật cho hệ thống P2P khó khăn hơn các hệ thống khác, các node trong hệthống là động, phân tán khắp nơi, các node không chứng thực lẫn nhau Các cơ chếbảo mật truyền thống như tường lửa, xác thực… không thể bảo vệ hệ thống P2P ngượclại có thể ngăn cản quá trình truyền thông trong hệ thống Bởi vậy những khái niệmbảo mật mới được đặt ra đối với hệ thống P2P

1.5.2 Độ 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ữngnhâ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ệnnode lỗi, phục hồi… đảm bảo cho thông tin định vị tránh lỗi đơn và khả năng sẵn sàngnhiề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à định vị Có hai chiến lược cho nhân bản: nhân bản nguyên gốc và nhân bảnđường dẫn Trong nhân bản nguyên gốc, khi tìm kiếm thành công dữ liệu được lưu trữchỉ tại node yêu cầu Trong nhân bản đường dẫn khi tìm kiếm thành công dữ liệu đượclưu trữ tại tất cả các node dọc theo đường dẫn từ node yêu cầu tới node cung cấp

Trang 26

1.5.3 Độ linh động

Chính là khả năng tự chủ của các node trong việc gia nhập hoặc rời bỏ hệ thống

Để giải quyết vấn đề quy mô lớn, phân tán và linh động của các hệ thống P2P, khi xâydựng các hệ thống P2P cần chú ý đến khả năng điều chỉnh và tự tổ chức

1.5.4 Cân bằng tải

Phân phối dữ liệu để lưu trữ hoặc tính toán trên các node là vấn đề rất quantrọng trong các hệ thống mạng ngang hàng, một giải pháp đặc biệt cho sự phân phốinày là Bảng băm phân tán (DHT) Trong cách tiếp cận này, cân bằng tải được xem xéttrên hai khía cạnh: cân bằng không gian địa chỉ tức là cân bằng phân phối của khônggian key address trên các node và cân bằng item trong trường hợp phân phối của cácitem trong không gian địa chỉ không thể là ngẫu nhiên Cân bằng tải giữa các node tínhtoán trong hệ thống P2P cũng có thể được cài đặt sử dụng mô hình tự tổ chức dựa trênagent

1.6 Một số ví dụ về mạng ngang hàng

1.6.1 Mạng Edonkey

Hay còn gọi là mạng Edonkey2000 là một chương trình chia sẻ tệp trên mạngngang hàng, được phát triển bởi MetaMachine, sử dụng giao thức truyền tệp đa nguồn(tiếng Anh: Multisource File Transfer Protocol) Chương trình eDonkey hỗ trợ cả haimạng eDonkey và mạng Overnet

Người dùng eDonkey2000 chủ yếu chia sẻ những tệp rất lớn, hàng trămmêgabyte, như đĩa CD, phim, trò chơi, và phần mềm Không như các phần mềm chia

sẻ tệp ngang hàng khác, tệp chia sẻ trong mạng eDonkey được cung cấp dưới dạngmột liên kết ed2k, chương trình eDonkey2000 sẽ tự khởi động và tải tệp khi liên kếted2k được kích hoạt

Trang 27

Hình 1-11: Mạng Edonkey

Edonkey là mạng ngang hàng phân quyền, tài nguyên không được lưu trữ ở mộtmáy chủ trung tâm mà được chia sẻ trực tiếp giữa những người sử dụng Phần mềmcủa mạng Edonkey cài đặt trên máy khách kết nối vào mạng để chia sẻ tài nguyên Cácmáy chủ đóng vai trò như những hub truyền thông cho các khách hàng, cho phépngười sử dụng định vị tài liệu trong mạng Bằng việc chạy phần mềm máy chủEdonkey trên một máy tính kết nối vào Internet, bất kỳ người sử dụng nào cũng có thểkết nối tới máy chủ để vào mạng Số máy chủ và địa chỉ của nó thường xuyên thayđổi, chương trình chạy trên các máy khách sẽ thường xuyên cập nhật danh sách cácserver

Đặc tính của mạng Edonkey là các tài liệu được nhận dạng duy nhất bằng cách

sử dụng thuật toán băm MD4, nó là hàm duy nhất của nội dung tài liệu Điều này cónghĩa là khi tên file giống nhau nhưng nội dung khác nhau thì số nhận dạng sẽ khácnhau Hơn nữa những tài liệu mà có kích thước lớn hơn 9.28MB sẽ được chia ra thànhcác khối và việc kiểm tra của thuật toán MD4 sẽ tính toán cho các khối đó Bằng việctính giá trị theo MD4 cho các khối, khối bị lỗi của một file lớn sẽ được nhận dạng vàđược tải về lại sau đó chứ không yêu cầu phải tải lại toàn bộ file Hơn nữa những khốikhông bị lỗi sau khi được tải xuống có thể lập tức được chia sẻ thậm chí trước khiphần còn lại của tài liệu được tải xuống, tăng tốc độ phân phối của những tài liệu lớnkhắp mạng Để tính giá trị tổng của một tài liệu, MD4 cộng tất cả các giá trị của cácphần ra được kết quả băm của file, đây là giá trị ID gắn với file

Trong mạng Edonkey các máy chủ phục vụ xuất hiện để kiểm duyệt những nộidung chia sẻ và thông tin về các file bằng cách kiểm tra kiểu của file Các máy này là

Trang 28

cầu nối để các máy khác kết nối vào mạng Việc tìm kiếm, đưa lên và tải về tài liệu,

mã hoá dữ liệu là phần việc của các máy khách

1.6.2 Mạng Gnutella

Đây là mô hình mạng ngang hàng hoàn toàn trong chia sẻ tài nguyên và cả tronggiao thức, ở đó các máy kết nối vào mạng bằng cách kết nối với những máy đã tồn tạitrong mạng Hình thức này hình thành ứng dụng trên mạng vật lý Tất cả các nodetrong mạng có thể quản lý tài nguyên và khôi phục tài nguyên từ node khác Để tạođiều kiện cho việc chia sẻ tài liệu một thông báo được gửi giữa các node, truy vấn vềtài liệu cần tìm được phát quảng bá toàn mạng và được lặp lại định tuyến ngược trở lạinode đầu tiên đã đưa ra yêu cầu trong mạng Thông báo tìm kiếm sẽ được sử dụng đểtìm kiếm các node Hình 1-12 là mô hình mạng Gnutella

Hình 1-12: Mạng Gnutella

Gnutella sử dụng giao thức phân tán, một người bắt đầu bằng dùng một phầnmềm Gnutella và sử dụng out-of-band để định vị những node khác và kết nối với nó.Đây là cách mở rộng mạng và làm cho các tài liệu của node mới được nhận dạng bởicác node trong mạng Khi một kết nối được thiết lập, node sẽ sử dụng giao thứcGnutella để thông tin Trong Gnutella mỗi máy trong mạng trở thành máy khách vàmáy chủ ở cùng một thời điểm Một node là máy khách khi nó tìm kiếm dữ liệu và trởthành máy chủ nếu nó phục vụ cho các yêu cầu của các node khác

Việc thông tin giữa các node được thực hiện bằng giao thức TCP/IP Để kết nốimột node phải biết địa chỉ IP của một node nào đó đang tồn tại trên mạng, khi kết nốiđược thiết lập node đó sẽ tạo ra một thông báo rằng nó đang tồn tại Những node khác

sẽ trả lời tới thông báo những thông tin như số các tài liệu mà nó tiếp xúc và những chitiết khác

Trang 29

1.6.3 Mạng Napster

Đây là mạng chia sẻ tài nguyên phân tán với máy chủ cơ sở, máy chủ khônggiống như truyền thống, trong nó chỉ chứa danh sách các thư mục Các máy khách sẽtải về và quản lý tài nguyên, trong khi đó máy chủ sẽ giữ chỉ số của tài liệu điều khiểnyêu cầu tìm kiếm của máy khách Một máy khách gửi yêu cầu tìm kiếm của nó tớimáy chủ, máy chủ sẽ tìm kiếm trong các chỉ mục nó lưu trữ và gửi danh sách phù hợptrở lại cho máy khách Máy khách sẽ sử dụng danh sách đó để kết nối tới máy khách

có chứa tài nguyên và tải về tài nguyên từ những máy khách đó Khi máy khách kếtnối với máy chủ lần đầu tiên, chúng sẽ gửi danh sách các tài nguyên mà nó đang muốnchia sẻ lên cho máy chủ, những tài nguyên này sẽ được thêm vào danh sách chỉ mụccủa máy chủ Napster là hệ thống chia sẻ tài nguyên ngang hàng tập trung, có nghĩa làNapster cung cấp một máy chủ cho các máy khách để tổ chức và cho phép truy nhậptới bất kỳ hoặc tất cả các file tồn tại trên các máy khách Hình 1-13 là mô hình mạngNapster

Hình 1-13: Mạng Napster

Giao thức từ máy chủ tới máy khách: Các máy trong mạng Napster sử dụnggiao thức TCP/IP để truyền tin Máy chủ sẽ tạo ra một “danh sách chính” của tất cảcác máy kết nối tới nó, bao gồm địa chỉ IP và file chia sẻ Các máy khách sẽ gửi yêucầu tới máy chủ cho file chi tiết, máy chủ sẽ truy vấn trong cơ sở dữ liệu cho yêu cầu

đó, nếu tìm thấy máy chủ sẽ trả lại danh sách của các máy khách nơi mà file được định

vị và đưa ra số, tên sử dụng, kích cỡ file, tốc độ bit, và những thông tin liên quan từnhững khách hàng giữ file yêu cầu Người sử dụng sẽ gửi một thông báo tới máy

Trang 30

khách có file người sử dụng chọn để tải về Máy chủ sẽ ngắt kết nối nếu quá trìnhtruyền dẫn thành công.

Giao thức từ máy khách tới máy khách: File trao đổi được truyền trực tiếp giữacác máy khách mà không thông qua máy chủ Có bốn loại truyền dẫn: tải lên, tải về,tải lên qua tường lửa và tải về qua tường lửa Phương pháp truyền dẫn bình thường làmáy khách tạo một kết nối TCP tới máy khách khác đang giữ file trên cổng dữ liệu củachúng Nếu máy khách chia sẻ file không có tường lửa nó sẽ cần tạo ra một “lực đẩy”file cần truyền bằng cách tạo một kết nối tới cổng dữ liệu yêu cầu Nói chung mộtthông báo được gửi giống như “chúng ta hãy kết nối, đây là địa chỉ của tôi và đây làcái tôi muốn” Nhưng nếu máy khách chia sẻ file ở sau một tường lửa, một thông báogiống như “chúng ta gặp nhau, đây là địa chỉ của tôi và đây là cái tôi muốn, nhưng vịtrí của bạn không được tốt, tại sao bạn không gặp tôi tại đây” Hình 1-14 là sơ đồ tìmkiếm của Napster

Hình 1-14: Tìm kiếm trên mạng Napster

1.7 Kết luận chương 1

Chương 1 trình bày một số khái niệm tổng quan về mạng ngang hàng Ta phânloại các hệ thống mạng ngang hàng dựa trên cơ sở về mức độ phân quyền, về cơ chếtìm kiếm dữ liệu và về cấu trúc mạng Ta cũng trình bày một vài ứng dụng và một sốvấn đề chủ yếu đối với mạng ngang hàng hiện nay Từ đó phân tích các ưu điểm,nhược điểm so với mạng Client-Server truyền thống Phần cuối chương giới thiệu vềhoạt động của một số mạng ngang hàng phổ biến trên Internet

Trang 31

Nguyễn Thế Tùng – Đ04VT1

Trang 32

Ánh xạ dữ liệu (Mapping items onto nodes): đối với mỗi overlay graph, chúng

ta quan tâm đến mối quan hệ giữa ID của node và ID của các item lưu trên node đó,tức là một item cụ thể sẽ được lưu trên node nào

Quá trình tìm kiếm (Lookup process): Việc tìm kiếm trên một mạng diễn ra nhưthế nào và hiệu năng của quá trình tìm kiếm liên quan chặt chẽ đến loại overlay graphcủa mạng đó

Quá trình bảo trì mạng (Join, leave and maintenance): chúng ta sẽ xem mộtnode mới được thêm vào graph như thế nào và một node rời graph như thế nào Docác node trong mạng thường xuyên join, leave nên cần có một số tiến trìnhmaintenance để xử lý các thay đổi trong mạng, chúng ta quan tâm đến các tiến trìnhnày diễn ra như thế nào và chi phí thực hiện các tiến trình này

2.2 Giao thức Chord

2.2.1 Mạng phủ

Chord sử dụng một không gian ID vòng tròn kích thước N Một node Chord với

ID là u có một con trỏ tới node đầu tiên đứng sau nó trong không gian ID theo chiềukim đồng hồ, ký hiệu là Succ(u) và một con trỏ tới node đứng trước nó trong khônggian ID, ký hiệu là Pred(u) Các node tạo thành một danh sách liên kết hai chiều

Bên cạnh đó, một node Chord lưu M=log2(N) con trỏ gọi là các finger Tập cácfinger của node ID u được xác định như sau F(u)={Succ(u+2i-1)}, 1 ≤ i ≤ M Với cáchlựa chọn finger thế này, trong mạng Chord, các node quan sát không gian ID của vòngtròn bắt đầu từ ID của chúng Đồng thời với cách lựa chọn finger của Chord, khônggian ID sẽ được chia đôi, nửa thứ nhất cũng được chia đôi, rồi phần tư thứ nhất lạiđược chia đôi …

Trang 33

Hình 2-2: Không gian ID của mạng Chord (N=64)

Hình 2-2 cho thấy một mạng với không gian ID N=64, mỗi node cóM=log2(N)=6 finger Mạng có các node với ID lần lượt là 1, 8, 14, 21, 32, 38, 42, 48,

51, 56 Node n chọn các finger của nó bằng cách xem nó như là điểm khởi đầu củakhông gian ID, rồi chọn finger là successor của các ID n + 20, n + 21, n + 22, n + 23, n +

24, n + 25 Tuy nhiên, có thể không có node có ID phù hợp tại điểm chia, khi đósuccessor của ID tại điểm chia được chọn làm finger Bảng finger table cho node 8được thể hiện như hình vẽ trên

2.2.2 Ánh xạ dữ liệu

Hình 2-3: Các item lưu trên mạng Chord

Như chúng ta thấy trên Hình 2-3, một item được lưu trên node có ID bằng nó(K38, N38) hoặc là node đầu tiên có ID theo sau chiều kim đồng hồ như (K10, N14);(K24, N32); (K30, N32); (K54, N56) Một node có thể lưu nhiều item nhưng ngược lạithì không đúng

Trang 34

2.2.4 Quá trình bảo trì mạng

Khi node n muốn join vào mạng, nó phải tìm ID của mình thông qua một sốcontact trong mạng và chèn chính nó vào giữa successor s của nó và predecessor của snhờ sử dụng một thuật toán stabilization chạy định kỳ Bảng định tuyến của n đượckhởi tạo bằng cách sao chép bảng định tuyến của s hoặc yêu cầu s tìm các finger của n.Tập các node cần điều chỉnh bảng định tuyến sau khi n join vào mạng nhờ các nodenày đều chạy thuật toán stabilization định kỳ Nhiệm vụ cuối cùng là chuyển một phầncác item đang lưu trên node s có ID nhỏ hơn hoặc bằng n sang node n Việc di chuyển

dữ liệu này được thực hiện bởi tầng ứng dụng của n và s

Giả mã của các quá trình tìm kiếm successor của node n, khởi tạo bảng địnhtuyến của n, cập nhật bảng finger của các node liên quan và quá trình stabilization nhưsau:

//yêu cầu node n tìm successor của id

Trang 35

Algorithm 1 Giả mã tìm node successor của ID n

#define successor finger[1].node

// node n join vào mạng;

}// chuyển key trong khoảng (predecessor,n] từ successor

else // n là node duy nhất trên mạng

{

Trang 37

//tìm node p cuối cùng có finger thứ i là n

Trang 38

Algorithm 3 Giả mã cho quá trình stabilizaion

Hình 2-4 (a, b) cho chúng ta thấy một ví dụ về quá trình join vào mạng của mộtnode Giả sử node 21 có successor là node 32, trên node 32 đang lưu các key 24 và 30.Node 26 join vào mạng, sau quá trình tìm kiếm, node 26 biết node 32 là successor củamình, nó trỏ con trỏ successor của mình vào node 32 và báo cho node 32 biết Node 32

Trang 39

sau khi được thông báo thì trỏ con trỏ predecessor vào node 26 Node 26 sao chép cáckey tương ứng với nó (key 24) từ node 32

Đến định kỳ, node 21 chạy quá trình stabilize, lúc này con trỏ successor vẫn trỏvào node 32 Node 21 hỏi node 32 về predecessor của node 32, lúc này predecessorcủa 32 là 26 Sau khi nhận được câu trả lời, node 21 trỏ con trỏ successor vào node 26

và báo cho node 26 biết nó là predecessor của node 26 Node 26 trỏ con trỏpredecessor vào node 21

(a)

(b)

Hình 2-4: Quá trình node tham gia vào mạng Chord

Quá trình rời khỏi mạng có báo trước được thực hiện như sau: node sắp rời khỏimạng chuyển các key nó đang lưu sang successor của nó rồi báo cho các node

Ngày đăng: 30/04/2014, 20:54

HÌNH ẢNH LIÊN QUAN

Hình 1-4: Mạng ngang hàng hoàn toàn - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 1 4: Mạng ngang hàng hoàn toàn (Trang 16)
Hình 1-5: Mạng lai ghép - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 1 5: Mạng lai ghép (Trang 17)
Hình 1-9: Cơ chế yêu cầu liên tục - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 1 9: Cơ chế yêu cầu liên tục (Trang 20)
Hình 1-10: Cơ chế bảng băm phân tán - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 1 10: Cơ chế bảng băm phân tán (Trang 20)
Hình 1-11: Mạng Edonkey - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 1 11: Mạng Edonkey (Trang 25)
Hình 1-12: Mạng Gnutella - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 1 12: Mạng Gnutella (Trang 26)
Hình 1-13: Mạng Napster - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 1 13: Mạng Napster (Trang 27)
Hình 1-14: Tìm kiếm trên mạng Napster - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 1 14: Tìm kiếm trên mạng Napster (Trang 28)
Hình 2-2: Không gian ID của mạng Chord (N=64) - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 2 2: Không gian ID của mạng Chord (N=64) (Trang 32)
Hình 2-4: Quá trình node tham gia vào mạng Chord - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 2 4: Quá trình node tham gia vào mạng Chord (Trang 38)
Hình 2-6: Không gian ID của mạng Kademlia (N=16) - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 2 6: Không gian ID của mạng Kademlia (N=16) (Trang 40)
Hình 2-8 minh họa bảng định tuyến của node 110 trong hệ thống có 10 nhóm. - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 2 8 minh họa bảng định tuyến của node 110 trong hệ thống có 10 nhóm (Trang 42)
Hình 2-10: Bảng định tuyến của một node trong mạng Tapestry - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 2 10: Bảng định tuyến của một node trong mạng Tapestry (Trang 45)
Hình 3-2: Minh họa PeerSim - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 3 2: Minh họa PeerSim (Trang 53)
Hình 3-4: Minh họa OMNet++ - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 3 4: Minh họa OMNet++ (Trang 56)
Hình 3-5 là một ví dụ minh họa mô phỏng giao thức Chord. - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 3 5 là một ví dụ minh họa mô phỏng giao thức Chord (Trang 57)
Hình 3-6: Minh họa GPS - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 3 6: Minh họa GPS (Trang 58)
Hình 4-2: Hoạt động của P2PSim - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 4 2: Hoạt động của P2PSim (Trang 63)
Hình 4-3: Lưu đồ xác định ngưỡng churn rate - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 4 3: Lưu đồ xác định ngưỡng churn rate (Trang 67)
Hình 4-11: Hiệu năng Tapestry với churn rate rất cao - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 4 11: Hiệu năng Tapestry với churn rate rất cao (Trang 71)
Hình 4-12: So sánh các DHT với churn rate 60s - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 4 12: So sánh các DHT với churn rate 60s (Trang 72)
Hình 4-15: Ảnh hưởng của pnstimer đối với Chord - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 4 15: Ảnh hưởng của pnstimer đối với Chord (Trang 73)
Hình 4-16: Ảnh hưởng của alpha đối với Kademlia - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 4 16: Ảnh hưởng của alpha đối với Kademlia (Trang 74)
Hình 4-18: Ảnh hưởng của round_interval đối với Kelips - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 4 18: Ảnh hưởng của round_interval đối với Kelips (Trang 75)
Hình 4-19: Ảnh hưởng của n_contacts đối với Kelips - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 4 19: Ảnh hưởng của n_contacts đối với Kelips (Trang 75)
Hình 4-20: Ảnh hưởng của stabtimer đối với Tapestry - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 4 20: Ảnh hưởng của stabtimer đối với Tapestry (Trang 76)
Hình 4-21: Ảnh hưởng của base đối với Tapestry - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 4 21: Ảnh hưởng của base đối với Tapestry (Trang 76)
Hình 4-23: Tính khả mở của Kademlia - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 4 23: Tính khả mở của Kademlia (Trang 77)
Hình 4-25: Tính khả mở của Tapestry - đồ án : ĐÁNH GIÁ HIỆU NĂNG MỘT SỐ GIAO THỨC DHT TRONG MẠNG NGANG HÀNG
Hình 4 25: Tính khả mở của Tapestry (Trang 78)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w