1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Phân tích, đánh giá hiệu năng một số giao thức mạng phân tán trên môi trường network simulator

86 6 0

Đ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 86
Dung lượng 2,78 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

o đó việc quản lý các thông tin đòi hỏi tính chính xác, liên tục, và đồng bộ giữa các bộ phận, các cơ sở khác nhau, việc quản lý thông tin, dữ liệu của tổ chức không chỉ tập trung tại mộ

Trang 1

Chuyên n n K o ọ m t n

M số 8 48 01 01

N n n TS N U ỄN T N T

Trang 2

L CAM OAN

Tôi xin cam đoan các số liệu và kết quả nghiên cứu trong đề tài là trung thực, các kết quả nghiên cứu được thực hiện tại Trường ại học Quy Nhơn dưới sự hướng dẫn của TS Nguyễn Thành ạt, các tài liệu tham khảo đã được trích dẫn đầy đủ, rõ ràng

Học viên

N u ễn Văn Quố

Trang 3

L CẢM N

Trong quá trình học tập và hoàn thành luận văn, tôi đã nhận được sự

ủng hộ, giúp đỡ quý báu từ các thầy cô giáo, các đồng nghiệp, bạn bè và người thân

Lời đầu tiên, tôi xin bày tỏ sự kính trọng và biết ơn sâu sắc nhất tới TS Nguyễn Thành ạt - người đã hướng dẫn trực tiếp, tận tình giúp đỡ, động viên và tạo điều kiện thuận lợi nhất cho tôi trong suốt thời gian thực hiện đề tài luận văn

Tôi xin được cảm ơn sự quan tâm, giúp đỡ, ân cần chỉ bảo và nhiệt tình giảng dạy của các thầy cô Khoa ông nghệ thông tin, Khoa Khoa học tự nhiên, Trường ại học Quy Nhơn Những kiến thức mà các thầy cô đã hết lòng truyền đạt là nền tảng tri thức vững chắc cho chúng tôi trong quá trình học tập cũng như sau khi ra trường

uối cùng, tôi xin cảm ơn những người thân của mình đã luôn bên cạnh, giúp đỡ, động viên và tạo mọi điều kiện để tôi hoàn thành luận văn tốt nghiệp

Học viên

N u ễn Văn Quố

Trang 4

MỤC LỤC

ANH M HỮ VIẾT TẮT iv

ANH M TỪ TIẾNG ANH HUYÊN NG NH v

ANH M ẢNG vi

ANH M HÌNH VẼ vii

PHẦN MỞ ẦU 1

1 Lý do chọn đề tài 1

2 Mục đích nghiên cứu 2

3 ối tượng và phạm vi nghiên cứu 2

4 Phương pháp nghiên cứu 2

5 Ý nghĩa khoa học và nghĩa thực tiễn 3

6 Kết cấu của luận văn 3

HƯƠNG I: TỔNG QUAN LÝ THUYẾT 4

1.1 TỔNG QUAN VỀ M NG M Y TÍNH 4

1.1.1 Mạng máy tính 4

1.1.2 Mạng ngang hàng peer – to – peer 4

1.1.2.1 Phân loại P2P 5

1.1.2.2 Mạng P2P không có cấu trúc và có cấu trúc 7

1.1.2.3 ơ chế tìm kiếm trong hệ thống mạng P2P 8

1.1.2.4 ác ứng dụng của P2P 9

1.1.3 Giao thức 9

1.2 M NG PHÂN T N 10

1.2.1 Tổng quan 10

1.2.2 Các thành phần của hệ phân tán 11

1.2.3 Kiến trúc của hệ thống phân tán 11

1.2.4 Ưu, khuyết điểm 13

1.3 DHT – ảng băm phân tán 14

1.3.1 Tổng quan HT 14

1.3.2 ặc tính của HT: 15

1.3.3 ấu trúc của HT 16

1.3.3.1 Phân hoạch không gian khóa 17

Trang 5

1.3.3.2 Mạng Overlay 18

1.3.4 ơ sở bảng HT 19

1.3.4.1 Quản lý dữ liệu phân tán 19

1.3.4.2 ịnh địa chỉ trong HT 19

1.3.4.3 ịnh tuyến 21

1.3.4.4 Lưu trữ dữ liệu 22

1.3.4.5 ơ chế quản lý 23

KẾT LUẬN HƯƠNG 1 25

HƯƠNG 2: MÔ TẢ, PHÂN TÍ H GIAO THỨ 26

2.1 GIAO THỨ M NG PHÂN T N 26

2.1.1 Giao thức Chord 26

2.1.1.1 Overlay 26

2.1.1.2 nh xạ dữ liệu 27

2.1.1.3 Quá trình tìm kiếm 27

2.1.1.4 Quá trình ổn định mạng 28

2.1.2 Giao thức Kademlia 30

2.1.2.1 Overlay 30

2.1.2.2 nh xạ dữ liệu 31

2.1.2.3 Quá trình tìm kiếm 31

2.1.2.4 Quá trình ổn định mạng 32

2.1.3 Giao thức Kelips 32

2.1.3.1 Overlay 32

2.1.3.2 nh xạ dữ liệu 34

2.1.3.3 Quá trình tìm kiếm 34

2.1.3.4 Quá trình ổn định mạng 34

2.1.4 Giao thức Tapestry 35

2.1.4.1 Overlay 35

2.1.4.2 nh xạ dữ liệu 36

2.1.4.3 Quá trình tìm kiếm 37

2.1.4.4 Quá trình ổn định mạng 39

KẾT LUẬN HƯƠNG 2 40

Trang 6

HƯƠNG 3: MÔ PHỎNG, NH GI GIAO THỨ PHÂN T N 41

3.1 PHƯƠNG PH P NGHIÊN ỨU M NG NGANG H NG 41

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

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

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

3.2 ÔNG MÔ PHỎNG M NG NGANG H NG 42

3.2.1 NS-2 43

3.2.2 P2PSim 44

3.2.3 OMNet++ 44

3.2.4 OverSim 45

3.3 NH GI HIỆU NĂNG M T SỐ HT 46

3.3.1 ài toán thực tế 46

3.3.2 Mục tiêu, phương pháp đánh giá 47

3.3.2.1 Mục tiêu đánh giá 47

3.3.2.2 ơ sở 48

3.3.3 hi tiết thực hiện mô phỏng 50

3.3.3.1 Môi trường cài đặt phần mềm và bộ mô phỏng sử dụng 50

3.3.3.2 ác tham số sử dụng để mô phỏng 50

3.3.4 Kết quả và phân tích từ các tham số đã có 52

3.3.4.1 Xác định ngưỡng churn rate 52

3.3.4.2 So sánh hiệu năng của các HT 57

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

3.3.4.4 ánh giá tính khả mở (Scalable) 67

KẾT LUẬN HƯƠNG 3 70

KẾT LUẬN V KIẾN NGHỊ 72

T I LIỆU THAM KHẢO 73

Trang 7

DANH MỤC CÁC CHỮ VIẾT TẮT

CLI Command Line Interface Giao diện dòng lệnh

DHT Distributed Hash Table ảng băm phân tán

FTP File Transfer Protocol Giao thức truyền file GUI Graphical User Interface Giao diện đồ họa

IP Internet Protocol Giao thức mạng Internet IPv6 Internet Protocol version 6 Giao thức IP phiên bản 6 MAC Media-Access Control iều khiển Truy nhập - Vật lý OSPF Open Shortest Path First ường đi ngắn nhất mở đầu tiên

PPP Point-to-Point Protocol Giao thức điểm nối điểm PVC 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 RTT Round Trip Time Thời gian đi hết một vòng SHA Secure Hash Algorithm Thuật toán băm an toàn TCL Tool Command Language ộ công cụ lập trình dòng lệnh TCP Transmission Control Protocol Giao thức điều khiển truyền dẫn UDP User Datagram Protocol Giao thức gói dữ liệu người dùng VoD Video on Demand Video theo yêu cầu

Trang 8

DANH MỤC CÁC TỪ TIẾNG ANH CHUYÊN NGÀNH

T ến An T ến V ệt (tạm ị )

Consistent Hashing Hàm băm nhất quán

Stabilize_timer hoặc stabtimer Thời gian ổn định

Trang 9

DANH MỤC CÁC BẢNG

ảng 3 1 ảng giá trị tham số hord 51

ảng 3 2 ảng giá trị tham số Kademlia 51

ảng 3 3 ảng giá trị tham số Kelips 52

ảng 3 4 ảng giá trị tham số Tapestry 52

ảng 3 5 ảng các tham số tốt nhất của hord tại các churn rate trên 54

ảng 3 6 ảng các tham số tốt nhất của Kademlia tại các churn rate trên 55

ảng 3 7 ảng khoảng giá trị tham số tốt nhất của Kelips tại các churn rate trên 56

ảng 3 8 ảng các tham số tốt nhất của Tapestry tại các churn rate trên 57

ảng 3 9 ảng tổng kết tóm tắt các kết quả mô phỏng: 70

Trang 10

DANH MỤC CÁC HÌNH VẼ

Hình 1 1: Mô hình khách chủ và ngang hàng P2P 5

Hình 1 3: Mạng lai với chỉ số hóa tập trung 7

Hình 1 7: ác chức năng chính của bảng băm phân tán – DHT 18 Hình 1 8: Một không gian địa chỉ tuyến tính với các giá trị số nguyên từ 0 đến 65.535 ác không gian địa chỉ là phân vùng trong số 8 peer 20 Hình 1 9: Hai phương pháp lưu dữ liệu trong HT 22

Hình 2 1: Không gian I của mạng hord (N=64) 26

Hình 2 2: ác item lưu trên mạng hord 27

Hình 2 3: Quá trình node tham gia vào mạng hord 28

Hình 2 4: Quá trình node rời khỏi mạng hord 29

Hình 2 5: Không gian I của mạng Kademlia (N=16) 30

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

Hình 2 7: ảng định tuyến của node 110 33

Hình 2 8: Quá trình node tham gia vào mạng Kelips 34

Hình 2 9: ảng định tuyến của một node trong mạng Tapestry 36

Hình 2 10: ác mức liên kết của node 4227 37

Hình 2 11: ường đi của một message từ node 5230 tới node 42A 38

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

Hình 2 13: ác node truy vấn đến node lưu item gần nhất 39

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

Hình 3 2: Minh họa P2Psim 44

Hình 3 3: Minh họa OMNet++ 45

Hình 3 4: Minh họa OverSim 46

Hình 3 5: Hoạt động của P2Psim 48

Trang 11

Hình 3 6 Giao diện chương trình mô phỏng của P2Psim với giao thức

Kademlia 50

Hình 3 7: Lưu đồ xác định ngưỡng churn rate 53

Hình 3 8: Ngưỡng churn rate hord hoạt động tốt 54

Hình 3 9: Ngưỡng churn rate Kademlia hoạt động tốt 55

Hình 3 10: Ngưỡng churn rate Kelips hoạt động tốt 56

Hình 3 11: Ngưỡng churn rate Tapestry hoạt động tốt 57

Hình 3 12: Hiệu năng hord với churn rate rất cao 58

Hình 3 13: Hiệu năng Kademlia với churn rate rất cao 58

Hình 3 14: Hiệu năng Kelips với churn rate rất cao 59

Hình 3 15: Hiệu năng Tapestry với churn rate rất cao 60

Hình 3 16: So sánh các HT với churn rate 60s 61

Hình 3 17: So sánh các HT với churn rate 300s 62

Hình 3 18: Ảnh hưởng của base đối với hord 63

Hình 3 19: Ảnh hưởng của pnstimer đối với hord 64

Hình 3 20: Ảnh hưởng của alpha đối với Kademlia 64

Hình 3 21: Ảnh hưởng của stabilize_timer đối với Kademlia 65

Hình 3 22: Ảnh hưởng của round_interval đối với Kelips 65

Hình 3 23: Ảnh hưởng của n_contacts đối với Kelips 66

Hình 3 24: Ảnh hưởng của stabtimer đối với Tapestry 66

Hình 3 25: Ảnh hưởng của base đối với Tapestry 67

Hình 3 26: Tính khả mở của hord 68

Hình 3 27: Tính khả mở của Kademlia 68

Hình 3 28: Tính khả mở của Kelips 69

Hình 3 29: Tính khả mở của Tapestry 70

Trang 12

PHẦN MỞ ẦU

1 Lý o ọn đề t

Hiện nay, máy tính và mạng toàn cầu đã mang đến những sự phát triển mạnh mẽ trong tất cả các hoạt động của con người, hỗ trợ con người phát triển xã hội một cách vượt bậc so với thời kỳ chưa có máy tính và mạng Internet Với sự phát triển đó, thông tin là một nguồn tri thức rất quan trọng,

vì thế mà việc lưu trữ, chia sẻ thông tin rất được quan tâm ể đáp ứng nhu cầu tiếp thu thông tin mọi lúc mọi nơi, mà thông tin được lưu trữ, quản lý ở khắp mọi nơi trên thế giới hính vì thể rất nhiều tổ chức phân bố các chi nhánh trên nhiều vị trí ở các thành phố, các quốc gia khác nhau, để đáp ứng nhu cầu cung cấp thông tin cho địa phương và quốc gia ngay tức thì o đó việc quản lý các thông tin đòi hỏi tính chính xác, liên tục, và đồng bộ giữa các

bộ phận, các cơ sở khác nhau, việc quản lý thông tin, dữ liệu của tổ chức không chỉ tập trung tại một chi nhánh duy nhất mà cần được quản lý tại tất cả các chi nhánh, và đặc biệt các thông tin, dữ liệu này phải có mối liên hệ logic với nhau thông qua mạng máy tính Việc quản lý thông tin, dữ liệu theo kiểu truyền thống, hay tập trung như trước đây sẽ không giải quyết được vấn đề nêu trên, để đảm bảo tính liên tục, nhanh chóng, chính xác cho mọi hoạt động lưu trữ, chia sẻ thông tin cần phải có một giải pháp toàn diện cho các vấn đề

về tổ chức và kinh tế, sự liên kết các cơ sở dữ liệu đang tồn tại, sự phát triển

mở rộng, giảm tổng chi phí tìm kiếm, tin cậy và tính sẵn sàng ó chính là mạng phân tán, khác với mạng truyền thống, mạng phân tán có khả năng làm được những việc mà mạng khác không làm được, đáp ứng được yêu cầu là thông tin được liên tục, liền mạch, chính xác nhưng không làm quá tải nơi lưu trữ thông tin [5]

Ngày nay mô phỏng là phương pháp chính để đánh giá và phân tích hiệu suất của các hệ thống trước khi áp dụng vào thực tế là một điều cần thiết,

Trang 13

việc tìm hiểu về mạng phân tán và mô phỏng các giao thức phổ biến trên mạng phân tán như hord, Tapestry, Kelips, Kademlia trên môi trường mạng giả lập như Network Simulator 2 (NS2), Oversim, P2PSim để nghiên cứu cách các giao thức hoạt động, đánh giá hiệu năng, phân tích dữ liệu từ đó đưa

ra được ưu khuyết điểm của từng giao thức, và chọn ra được giao thức phù hợp nhất cho từng trường hợp cụ thể để áp dụng vào thực tế [1]

Qua đó, chúng ta thấy được tầm quan trọng cũng như sự những nhu cầu cho nghiên cứu, phân tích đánh giá mạng phân tán và các giao thức trên môi trường mạng phân tán

Từ những lý do ở trên, chúng tôi chọn đề tài “P ÂN TÍC , ÁN

Á ỆU NĂN MỘT SỐ AO T ỨC M N P ÂN TÁN TRÊN

MÔ TR N NETWORK S MULATOR”

2 Mụ đ n ên ứu

Tìm hiểu và nghiên cứu, đánh giá cách phân bổ và tìm kiếm thông tin, hiệu năng của các giao thức mạng phân tán từ đó đưa ra cái nhìn chi tiết nhất về ưu khuyết điểm của các giao thức trên mạng phân tán

3 ố t ợn v p ạm v n ên ứu

- ối tượng nghiên cứu: Một số giao thức trên mạng phân tán

- Phạm vi nghiên cứu: Mạng phân tán trên môi trường mạng giả lập

4 P ơn p p n ên ứu

Phương pháp nghiên cứu tài liệu: Qua nguồn tài liệu đã được xuất bản, ban hành, các bài báo đã đăng trên các tạp chí khoa học, các tài liệu liên quan đến vấn đề đang nghiên cứu trên Internet

Phương pháp thực nghiệm: Tiến hành phân tích thiết kế giao thức, mô phỏng giao thức phân tán, và thiết lập các giao thức trên môi trường mạng giả lập để đánh giá, so sánh các giao thức tìm kiếm và phân bổ thông tin trên mạng phân tán

Trang 14

5 Ý n ĩ k o ọ v n ĩ t ự t ễn

Mang lại các tổng hợp, đánh giá, phân tích mạng phân tán, giao thức phân tán được mô phỏng trên môi trường mạng giả lập Mang tới cái nhìn chi tiết nhất về mạng phân tán, giao thức mạng phân tán, hiệu năng, phân bổ và lưu trữ thông tin, tìm kiếm và đề xuất, từ đó nhận ra ưu khuyết điểm để nâng cao, hoàn thiện hơn mạng phân tán và những thành phần liên quan

Hiện nay nhu cầu về mạng phân tán đang rất lớn, với các phân tích đánh giá này thì việc nhìn nhận tốt hơn về mạng phân tán cũng như các giao thức chạy trên môi trường mạng phân tán sẽ giúp tạo ra các giao thức mới tối

ưu, cải thiện mạng phân tán để đáp ứng được các nhu cầu mới trong sự phát triển ngày càng tiến bộ của khoa học kỹ thuật

6 Kết ấu ủ luận văn

ể thực hiện đề tài một cách hệ thống, ngoài phần mở đầu, kết luận, tài liệu

tham khảo, luận văn có cấu trúc 3 chương như sau:

Chương 1: Một số kiến thức lý thuyết cơ sở về mạng phân tán

hương này sẽ tìm hiểu về tổng quan về lý thuyết mạng máy tính, mạng phân tán, các giao thức trên mạng phân tán

Chương 2: Mô tả, phân tích giao thức phân tán

Trong chương này, tìm hiểu các giao thức cụ thể về khái niệm, mô tả, chi tiết từng thành phần của các giao thức

Chương 3: Mô phỏng, đánh giá giao thức phân tán

Trong chương này sẽ nêu rõ các phương pháp phân tích, giới thiệu các công cụ mô phỏng mạng và tiến hành mô phỏng các giao thức lên môi trường mạng ảo, để tiến hành phân tích, đánh giá về hiệu năng, tìm kiếm của các giao thức

Trang 15

C N TỔNG QUAN LÝ THUYẾT 1.1 TỔN QUAN VỀ M NG MÁY TÍNH

1.1.1 Mạn m t n

Ngày nay, khoa học và kỹ thuật đã đạt được những thành tựu to lớn Nhờ sự phát triển của kỹ thuật số, kỹ thuật phần cứng và công nghệ phần mềm đã và đang đem lại cho người sử dụng các dịch vụ mới đa dạng và phong phú hơn, nhất là trong lĩnh vực truyền thông mà tiêu biểu là mạng máy tính

Mạng máy tính là mạng viễn thông kỹ thuật số cho phép các node mạng chia sẻ tài nguyên Trong các mạng máy tính, các thiết bị máy tính trao đổi dữ liệu với nhau bằng các kết nối (liên kết dữ liệu giữa các node) Các liên kết dữ liệu này được thiết lập qua cáp mạng như dây hoặc cáp quang hoặc phương tiện không dây như Wi-Fi Các node mạng có khả năng khởi động, định tuyến và chấm dứt dữ liệu, được xác định bởi các địa chỉ mạng và bao gồm tất cả các thiết bị (máy tính cá nhân, điện thoại, máy chủ, bộ định tuyến, chuyển mạch,…) có thể kết nối với nhau trực tiếp hoặc gián tiếp được hỗ trợ bởi các giao thức truyền thông mạng (network protocol) Mạng máy tính có thể giúp con người truy cập vào số lượng lớn các ứng dụng và dịch vụ có thể

có do những người khác chia sẻ [5]

Hệ thống mạng máy tính với những ưu điểm như tăng tốc độ tìm kiếm

và download dữ liệu, dễ dàng trong việc giao lưu trao đổi thông tin giữa người và người, nối liền khoảng cách…đã và đang có nhiều ứng dụng trong tất cả các lĩnh vực, nhất là trong thông tin liên lạc

1.1.2 Mạng ngang hàng peer – to – peer

Mô hình mạng ngang hàng (Peer-to-Peer Network) hay mạng ngang hàng là một cấu trúc được tạo nên bởi các máy tính liên kết với nhau, vai trò của mỗi máy tính là như nhau, mỗi máy tính là một phần (peer) và duy trì sự

Trang 16

tồn tại của mạng ngang hàng mà không cần đến máy chủ hay các phần mềm máy chủ

Hình 1 1: Mô ìn k ủ v n n n P2P

1.1.2.1 Phân loại P2P

Tùy vào sự phân quyền, cách thức trao đổi, thu nhận tài nguyên của các máy tính trong mạng, để chia P2P làm hai loại kiến trúc chính

Mạn P2P t uần tú là mô hình thể hiện chính xác bản chất của mạng

P2P nhất, vì nó hoàn toàn không có máy chủ trung tâm quản lý mạng mà mọi máy tính đều có vai trò vừa là khách, vừa là chủ và không hề có các máy định tuyến hoặc trung tâm định tuyến mà các máy tự định tuyến với nhau Mọi máy tính đều cân bằng về chức năng, các máy là các node (hay gọi là servant) ác mạng P2P thuần túy có thể kể đến nhƣ: Gnutella, Freenet, Kademlia…

Trang 17

Hình 1 2 Mạn P2P t uần tú

Kiến trúc này có khả năng mở rộng mạng nhanh, chịu lỗi hệ thống cao,

và mọi máy tính đều có tính tự chủ độc lập Nếu có vấn đề xảy ra như một vài node bị lỗi thì không gây ra lỗi toàn mạng và có thể dễ dàng bù đắp bằng các node mới tham gia vào ũng chính vì P2P thuần túy không có máy chủ trung tâm để định tuyến nên tốc độ phát hiện thông tin chậm, dịch vụ không được đảm bảo, và hành vi của hệ thống khó có thể ghi nhận được [2]

Mạn P2P l ép Sẽ có một máy chủ trung tâm dùng để lưu trữ

thông tin của các máy khác, làm nhiệm vụ trả lời các truy vấn thông tin trong mạng ác máy khách có vai trò lưu trữ thông tin, tài nguyên được chia sẻ, cung cấp các thông tin chia sẻ tài nguyên của nó cho máy chủ iểm khác biệt nữa so với P2P thuần là có sử dụng các trạm định tuyến để xác định địa chỉ

IP của các máy khách ó hai kiểu mạng lai ghép: mạng lai ghép với chỉ số hóa tập trung, tức là có một máy chủ trung tâm bảo trì các chỉ số của dữ liệu hoặc tài liệu hiện tại đang được chia sẻ bởi các máy khách, 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, kiến trúc này thường được sử dụng trong mạng Napster Hệ thống này tuy đơn giản nhưng hoạt động hiệu quả, tìm kiếm thông tin nhanh, toàn diện và đảm bảo kết quả tìm kiếm Tuy vậy nó rất dễ bị lỗi và sụp đổ khi máy chủ trung tâm bị lỗi hoặc

Trang 18

bị tấn công, kích thước cơ sở dữ liệu và khả năng đáp ứng yêu cầu là có giới hạn trong phạm vi các máy tham gia mô hình mạng này

Hình 1 3 Mạn l v ỉ số ó tập trun

Kiểu thứ hai là mạng lai ghép với chỉ số hóa phân tán, có một máy chủ trung tâm đăng kí được sử dụng cho cả hệ thống và tạo điều kiện để dễ dàng khám phá các node có trong mạng ó một vài node được xem là quan trọng hơn với các node còn lại (super node), làm nhiệm vụ bảo trì các chỉ số cho thông tin chia sẻ bởi tất cả các node mà được kết nối với nó và được ủy quyền

từ máy chủ trung tâm để thực hiện tìm kiếm trong phạm vi các node đã có kết nối với super node [2]

Hình 1 4 Mạn l v ỉ số p ân t n

1.1.2.2 Mạng P2P không có cấu trúc và có cấu trúc

ựa vào cấu trúc liên kết giữa các nút mạng trong mạng P2P ta có thể phân loại thành 2 loại [2]

Mạng P2P không có cấu trúc là mạng trong đó các liên kết giữa các nút mạng được thiết lập một cách ngẫu nhiên, không theo một quy luật nào Mỗi

Discovery server

data exchange

Super node

Super node

data exchange

Trang 19

máy tính mới tham gia vào mạng rất dễ dàng, nhưng khi tìm kiếm thông tin thì hệ thống này không thể đảm bảo thành công cao vì không có mối tương quan nào giữa một node và dữ liệu của nó đang lưu trữ Mỗi lần một node cần thông tin, vì không có định hướng, nên yêu cầu sẽ được gửi ngẫu nhiên tới một số node trong mạng, số lượng node càng lớn, khả năng tìm thấy càng cao nhưng sẽ làm tốn rất nhiều băng thông mạng Napster, nutella, Fasttrack và

e onkey2000 là những mạng đại diện cho kiểu P2P không có cấu trúc này

Mạng P2P có cấu trúc khắc phục được nhược điểm của mạng P2P không có cấu trúc bằng cách sử dụng hệ thống HT ( istributed Hash Table – ảng băm phân tán) Hệ thống định nghĩa liên kết giữa các nút mạng theo thuật toán cụ thể, xác định chặt chẽ mỗi node sẽ chịu trách nhiệm đối với phần dữ liệu chia sẻ trong mạng Khi tìm kiếm và lấy thông tin, dữ liệu sẽ được nhanh chóng hiệu quả hơn khi đã có một định tuyến rõ ràng hord, CAN, Kademlia, Pastry và Tapestry là các đại diện cho kiểu mạng P2P có cấu trúc này

1.1.2.3 Cơ chế tìm kiếm trong hệ thống mạng P2P

ách tìm kiếm ở các thế hệ mạng P2P rất khác nhau, với cấu trúc tập trung ở thế hệ thứ nhất đến thế hệ thứ hai với cơ chế ngập lụt và cuối cùng là thế hệ thứ ba mới nhất dựa vào bảng băm phân tán

Tìm kiếm với chỉ số hóa tập trung và kho chứa được sử dụng trong mạng lai ghép, máy khách kết nối với máy chủ trung tâm để được định tuyến tới nơi mà máy khách yêu cầu có dữ liệu là tốt nhất và khi đó hai máy khách trực tiếp trao đổi với nhau mà không cần máy chủ [3]

Làm ngập lụt các câu hỏi (Flooding broadcast of queries) được sử dụng trong mạng P2P thuần, để tìm kiếm thông tin cần, một node gửi thông tin tới tất cả các node mà nó kết nối, cứ như thế yêu cầu này được gửi đi cho đến khi nhận được trả lời từ node có chứa thông tin mà node yêu cầu cần

Trang 20

Mô hình định tuyến dựa trên bảng băm phân tán (Routing model) là cách tìm kiếm tiên tiến nhất được sử dụng trong mạng P2P thuần Mỗi tài nguyên sẽ băm tên và nội dung để tạo ra một I , sau đó sẽ được lưu trữ ở một node mà có I gần với I của tài nguyên đó Khi một node khác có yêu cầu, thì chỉ việc băm tên của tài nguyên đó và gửi thông tin đến tất cả các node hàng xóm trong bảng định tuyến của mình đến khi nhận được trả lời từ node đang lưu giữ tài nguyên

1.1.2.4 Các ứng dụng của P2P

ó rất nhiều các ứng dụng dựa trên nền tảng P2P, trong số đó tiêu biểu như: Giao tiếp (communication), chia sẻ file (file sharing), băng thông (bandwidth), không gian lưu trữ (storage), các chu trình xử lý (processor cycles) Hiện tại mạng chúng ta sử dụng đều dựa trên nền tảng P2P này, đó thực sự là một phát minh vĩ đại nhất của loài người

1.1.3 Giao thức

Giao thức giao tiếp hay còn gọi là giao thức truyền thông, giao thức liên mạng, giao thức tương tác, giao thức trao đổi thông tin (tiếng Anh là communication protocol) - trong công nghệ thông tin gọi tắt là giao thức (protocol), tuy nhiên, tránh nhầm với giao thức trong các ngành khác - là một tập hợp các quy tắc chuẩn dành cho việc biểu diễn dữ liệu, phát tín hiệu, chứng thực và phát hiện lỗi dữ liệu - những việc cần thiết để gửi thông tin qua các kênh truyền thông, nhờ đó mà các máy tính (và các thiết bị) có thể kết nối

và trao đổi thông tin với nhau ác giao thức truyền thông dành cho truyền thông tín hiệu số trong mạng máy tính có nhiều tính năng để đảm bảo việc trao đổi dữ liệu một cách đáng tin cậy qua một kênh truyền thông không hoàn hảo ác giao thức có thể được thực hiện bằng phần cứng, phần mềm hoặc kết hợp cả hai.[3]

Trang 21

1.2 M N P ÂN TÁN

1.2.1 Tổng quan

Mạng phân tán ( istributed Network) là mạng tập hợp các máy tính độc lập không phụ thuộc lẫn nhau được kết nối với nhau có chức năng và dữ liệu trải rộng trên các trạm (máy tính) giao tiếp với nhau bằng các giao thức phân tán, có khả năng phối hợp với nhau, chia sẻ tài nguyên hoặc thực hiện một nhiệm vụ chung Mỗi máy tính hoạt động độc lập và giao tiếp với người dùng như một hệ thống toàn vẹn [4]

Vì các lý do khác nhau, chủ yếu do người dùng phân tán (địa lý) và dữ liệu phân tán (địa lý) nên việc thúc đẩy phát triển một mạng có tính mở, khả chuyển, co dãn, thay đổi phạm vi linh hoạt (quy mô), tính sẵn dùng cao, ngay

cả khi một phần hệ thống bị lỗi ặc biệt do sự phát triển không ngừng của các thiết bị di dộng và siêu di động đã tạo ra các mạng kết nối vô cùng lớn với khả năng xử lý gấp nhiều lần, vì vậy các phần mềm phân tán và mạng phân tán được phát triển do các nhu cầu ứng dụng, tích hợp các ứng dụng riêng rẽ đang có để phát triển thêm, sử dụng các nguồn tài nguyên đang có như lưới tính toán, quản lý dữ liệu có sẵn, đều có khả năng tích hợp vào mạng phân tán

mà không cần phải xây dựng lại từ đầu nhờ vào nền tảng chi phí và hiệu năng của máy tính và truyền thông hiện tại [4]

Nhưng đi kèm với những thuận lợi đã có thì vẫn có những khó khăn nhất định khi phát triển mạng phân tán Vì có vô số phần cứng, phần mềm hoàn toàn không giống nhau tham gia, nên việc giao tiếp khó khăn, một phần chịu ảnh hường từ đường truyền mạng (băng thông, tỉ lệ lỗi truyền, tính sẵn dùng trong giờ cao điểm) nên việc truyền dữ liệu chưa chắc thành công, các ràng buộc về thứ tự sự kiện (các kiểu đồng bộ khác nhau) và ràng buộc về topology truyền thông (trao đổi thông điệp) của ứng dụng nên việc phát triển khó khăn hơn các hệ thống mạng thông thường

Trang 22

ụ thể hơn, trong quy trình phát triển mạng phân tán, có các câu hỏi thường không có một câu trả lời toàn vẹn và đầy đủ từ đó dẫn tới với dự tính sai chi phí, nguồn lực, thời gian Từ đó dẫn tới việc phát triển mạng phân tán thất bại, gia tăng chi phí và thời gian phát triển Ví dụ như các thành phần có khả năng tương tác với nhau hay không, nếu có thì ở mức độ nào, và ảnh hưởng thế nào tới kiến trúc chung của hệ thống? [6] Việc che dấu người dùng

về sự phân tán thực hiện ở mức nào, một phần hay toàn bộ? Từ đó ảnh hưởng như thế nào tới kiến trúc và các kĩ thuật có liên quan? Nếu một hệ thống hỏng

có làm cả hệ thống hỏng hay không? Nếu muốn hệ thống có độ chịu lỗi cao thì phải thực hiện những gì? Và còn rất nhiều các câu hỏi có liên quan tới hiệu năng hoạt động, đồng bộ giữa các thành phần, đảm bảo tính sẵn dùng và dễ dàng thêm hoặc loại bỏ một thành phần mà không làm ảnh hưởng tới tính bảo mật của hệ thống [4]

1.2.2 C t n p ần ủ ệ phân tán

Hệ phân tán gồm hai thành phần chính, có thể nêu cụ thể như sau:

Phần cứng hệ phân tán: ao gồm các máy chủ và các hệ thống máy con được đặt ở những vị trí khác nhau và kết nối với nhau qua mạng máy tính

Phần mềm hệ phân tán: sẽ gồm 3 hệ thống sau:

 DOS (Distributed Operating Systems) - Hệ điều hành phân tán: Hệ điều hành gắn chặt với hệ thống phần cứng (máy đa vi xử lý hoặc máy tính đồng bộ)

 NOS (Network Operating Systems) - Hệ điều hành mạng: cài đặt trên máy tính cục bộ ung cấp dịch vụ cục bộ cho các máy tính khác

 Middleware: ài đặt các dịch vụ cơ bản để thực hiện, phát triển các ứng dụng

1.2.3 K ến trú ủ ệ t ốn p ân t n

Kiến trúc của hệ thống phân tán bao gồm các thành phần:

 Multicomputer ( a máy tính): ác node tính toán riêng biệt kết nối với nhau qua một mạng máy tính Mỗi node có tài nguyên riêng (bộ vi xử

Trang 23

lý, bộ nhớ lưu trữ,…) liên lạc với nhau qua mạng, và các node này có thể đồng nhất hoặc không đồng nhất với nhau về kiến trúc vật lý

 istributed Opera System (Hệ điều hành phân tán): kiến trúc chứa các dịch vụ quan trọng: bộ nhớ phân tán dùng chung, phân công tác vụ giữa các bộ vi xử lý, đồng bộ giữa các node, có tính trong suốt cao Một số

hệ điều hành phân tán như: Amoeba, Plan 9, horus, Mungi

Hình 1 5 K ến trú ệ t ốn p ân t n

 Middleware: ó giao diện lập trình phân tán độc lập với hệ điều hành,

có khả năng tăng tính trong suốt (che dấu tính không đồng nhất), cung cấp các dịch vụ cơ bản để đồng nhất hoạt động giữa các node

Hình 1 6 K ến trú M lew re

Trang 24

i kèm với các ưu điểm đã có, mạng phân tán cũng có một số khuyết điểm cố hữu vẫn cần phải giải quyết trong tương lai như việc bảo mật mạng phân tán dễ bị xâm phạm hơn do bao gồm nhiều thành phần, mà mỗi thành phần đều có đặc tính khác nhau, từ đó dễ bị tổn thương hơn mạng tập trung ồng thời, do việc giao tiếp thực hiện qua mạng, khi đó có một số điều ảnh hưởng tới hệ thống như băng thông, độ ổn định của đường truyền mạng, thêm vào đó là các thành phần mới của mạng không hề có phần cứng đồng bộ giống nhau một trăm phần trăm nên việc sai khác sẽ diễn ra, ảnh hưởng tới hệ thống, tệ hơn có thể gây thất bại cho hệ thống ồng nghĩa với việc độ phức tạp của phần mềm chạy trên hệ thống là rất cao, khó hơn so với phần mềm truyền thống, dẫn tới chi phí phát triển cao, khả năng bị lỗi cao hơn

Trang 25

1.3 DHT – Bản băm p ân t n

1.3.1 Tổng quan DHT

DHT (Distributed Hash Table – ảng băm phân tán) được sử dụng ở thế hệ thứ ba của mạng P2P, tức là mạng P2P có cấu trúc HT là lớp các hệ thống phân tán phi trung tâm mà cung cấp một dịch vụ tra cứu tương tự như một bảng băm: các cặp (key, value) được lưu trữ trong HT, và một node mạng có tham gia bất kỳ có thể lấy được giá trị có quan hệ với một khóa cho trước một cách hiệu quả, với độ tin cậy cao, khả mở (Scalable) và có khả năng chịu lỗi Trách nhiệm bảo quản ánh xạ từ khóa tới giá trị được phân tán giữa các node, sao cho một thay đổi tại một tập hợp các node tham gia chỉ gây

ra rắc rối tối thiểu iều này cho phép dùng HT cho số lượng rất lớn các node mạng và liên tục xử lý được các sự kiện các node vào và ra khỏi mạng

và các thất bại Ngoài ra HT còn hỗ trợ ba thao tác: chèn, tìm kiếm và xóa các cặp (key, value) [5]

Trong HT, key được tính ra từ value, tất cả các key đều nằm trên cùng không gian địa chỉ, để xác định node nào lưu cặp (key, value) đó thì mỗi node phải có một I trong không gian địa chỉ giống như không gian địa chỉ của key Khi đó, một node gửi thông điệp yêu cầu lưu dữ liệu tới các node khác thông quan routing table (bảng định tuyến) Quá trình chuyển tiếp thông điệp qua mạng cho đến khi gặp được node có I gần với I của value nhất thì lúc này cặp (key, value) sẽ được lưu tại đây Tương tự như vậy, để tìm một value thì node cần tìm dữ liệu sẽ gửi đi thông điệp tìm kiếm qua mạng, đến khi có node chứa value đó hồi đáp và trả dữ liệu cho node tìm kiếm

HT tạo nên cơ sở hạ tầng cho việc xây dựng các dịch vụ phức tạp hơn, chẳng hạn như các hệ thống file phân tán, chia sẻ file trong mạng đồng đẳng, hệ thống phân phối nội dung (content distribution), web cache có tính hợp tác, multicast, anycast, dịch vụ tên miền và instant messaging ác mạng

Trang 26

phân tán nổi tiếng sử dụng HT bao gồm itTorrent distributed tracker, eDonkey network, Storm botnet, YaCy, và Coral Content Distribution Network HT được sử dụng trong rất nhiều mạng để phân tán nội dung, chia

sẻ tài nguyên, nền tảng cho truyền thông an toàn HT hỗ trợ các giao thức như: hord, AN, Kademlia, Pastry, Tapestry, Kelips Nó được sử dụng trong rất nhiều mạng để phân tán nội dung, chia sẻ tài nguyên, nền tảng cho truyền thông an toàn [5]

1.3.2 ặc tính của DHT:

Ngược lại với hệ thống P2P không cấu trúc, mỗi HT của node sẽ quản

lý một số lượng nhỏ các tham khảo tới các node khác HT cho phép hoạt động phân tán, không nhất thiết duy trì một server trung tâm để điều khiển hoạt động của mạng P2P ũng vì vậy, các ứng dụng P2P sử dụng HT là các ứng dụng P2P thuần nhất

Tức là có O(log N) các tham khảo, ở đây N mô tả số node có trong hệ thống ằng việc ánh xạ các node và các mục dữ liệu vào trong một không gian địa chỉ chung, việc định tuyến tới một node để dẫn đến các mục dữ liệu trong node có trách nhiệm với dữ liệu này

ác câu truy vấn được định tuyến qua một số lượng nhỏ các node để tới node đích ởi vì một tập nhỏ tham khảo sẽ được mỗi node quản lý, một mục

dữ liệu có thể được xác định vị trí bởi việc định tuyến thông qua O(log N) các bước Node khởi tạo yêu cầu tìm kiếm có thể là bất kỳ trong HT

ằng việc phân tán các chỉ số nhận dạng của node và mục dữ liệu gần như khắp hệ thống, tải để cho việc thu nhận các mục sẽ được cân bằng đều nhau giữa tất cả các node Hệ thống vẫn hoạt động tốt với ngay cả những lượng node (hằng trăm, hàng nghìn node) và lưu lượng trên mạng cực kì lớn

ởi vì không một node nào đóng vai trò khác nhau trong hệ thống, nên

sự hình thành các điểm nóng hay tắc nghẽn có thể tránh được Ngoài ra, sự

Trang 27

dời đi hay rút khỏi (còn gọi là churn) của một node được xem như là không

có ảnh hưởng tới chức năng của HT o đó, HT được xem như là có khả năng đứng vững, chống lại lỗi ngẫu nhiên và tấn công trên diện rộng

Một chỉ mục phân tán cung cấp một câu trả lời dứt khoát về kết quả Nếu một mục dữ liệu được lưu trữ trong hệ thống, HT đảm bảo rằng dữ liệu

đó được tìm thấy Và việc định tuyến, lấy dữ liệu nhanh và có thể hoàn thành trong thời gian ngắn (tỉ lệ logarit)

Một công nghệ chủ chốt được sử dụng để đạt được những kết quả như bất kỳ node nào chỉ cần liên hệ với một vài node trong hệ thống, vì thế chỉ cần một số lượng hạn chế các công việc cần làm mỗi khi có sự thay đổi thành viên trong mạng Một vài thiết kế HT có khả năng loại bỏ những node có thể gây nguy hiểm cho mạng và cho phép có thể dấu tên uối cùng HT phải giải quyết những vấn đề của hệ thống phân tán truyền thống như cân bằng tải, tính toàn vẹn của dữ liệu…

Trang 28

một khóa k kích thước 160-bit, và thông điệp put(k,data) được gửi tới một node bất kì tham gia HT Thông điệp này được gửi chuyển tiếp từ node này tới node khác qua mạng overlay cho đến khi nó đến được node duy nhất chịu trách nhiệm cho khóa k theo như quy hoạch không gian khóa đã quy định, cặp (k,data) sau đó được lưu trữ tại node này Từ đó, một node bất kì có thể lấy nội dung của file bằng cách lại thực hiện hàm băm cho filename để lấy khóa k

và yêu cầu một node HT bất kì tìm dữ liệu được liên hệ với khóa k bằng một thông điệp get(k) Thông điệp này sẽ lại được định tuyến theo mạng overlay để tới được node chịu trách nhiệm cho khóa k, node này sẽ trả lời bằng data được lưu trữ tại đó [21]

1.3.3.1 Phân hoạch không gian khóa

a số các HT dùng một dạng hàm băm ổn định (consistent hashing)

để ánh xạ từ khóa tới các node Kĩ thuât này sử dụng một hàm δ(k1,k2) định nghĩa một khái niệm trừu tượng là khoảng cách từ khóa k1 tới khóa k2, khái niệm này không liên quan đến khoảng cách địa lý hay độ trễ mạng Mỗi node được gán một khóa đơn, gọi là định danh của node (I ) Một node với I i sở hữu tất cả các khóa mà i là I gần nhất theo hàm khoảng cách δ

Ví dụ Chord coi các khóa như là các điểm trên một đường tròn, còn δ(k1,k2) là độ dài cung tròn nối từ k1 tới k2 theo chiều kim đồng hồ Không gian khóa tròn này được phân thành các cung liền nhau, trong đó các điểm mút là định danh của các node Nếu i1 và i2 là hai I liên tiếp, thì node với I

i2 sở hữu tất cả các khóa nằm giữa i1 và i2

onsistent hashing có tính chất quan trọng rằng việc xóa hay thêm một node chỉ làm thay đổi tập khóa thuộc sở hữu các node có I liền đó, và không ảnh hưởng đến tất cả các node khác o mỗi thay đổi về sở hữu thường tương ứng với một loạt các di chuyển tốn kém về băng thông khi các đối tượng được lưu tại node này chuyển sang node khác, việc tối thiểu hóa các

Trang 29

hoạt động tái tổ chức như vậy là cần thiết cho việc hỗ trợ có hiệu quả tần xuất cao của hiện tượng node đến và đi [21]

1.3.3.2 Mạng Overlay

Mỗi node lưu trữ một tập các liên kết tới các node khác (danh sách hàng xóm hoặc bảng định tuyến) ác liên kết này tạo nên mạng overlay Một node lựa chọn danh sách hàng xóm của mình theo một cấu trúc nhất định, được gọi là topo mạng

Tất cả các topo HT đều có một biến thể nào đó của tính chất quan trọng nhất: với khóa k bất kì, một node hoặc có I sở hữu k hoặc có liên kết tới một node ở gần k hơn, theo khái niệm khoảng cách không gian khóa được định nghĩa ở trên Khi đó, có thể dễ dàng định tuyến một thông điệp tới chủ

sở hữu của một khóa k bất kì bằng thuật toán tham lam (thuật toán không nhất thiết tối ưu toàn cục) sau đây: tại mỗi bước, gửi chuyển tiếp thông điệp tới hàng xóm có I gần k nhất Khi không có hàng xóm nào như vậy là khi ta đã đến được node gần nhất - chủ sở hữu của khóa k theo định nghĩa ở trên Kiểu định tuyến này đôi khi được gọi là định tuyến theo khóa (key based routing)

HT cung cấp các dịch vụ lưu trữ, tìm kiếm dữ liệu chỉ đơn giản thông qua hai hàm chèn (insert) và tìm kiếm (lookup)

Hình 1 7 : C ứ năn n ủ bản băm p ân t n – DHT

Trang 30

1.3.4 Cơ sở bảng DHT

1.3.4.1 Quản lý dữ liệu phân tán

Một HT quản lý dữ liệu bằng việc phân tán nó qua một số node và thực hiện một mô hình định tuyến mà cho phép node tìm kiếm đạt hiệu quả dựa trên một mục dữ liệu xác định được chỉ ra vị trí Ngược với tìm kiếm

“ngập lụt” trong hệ thống không cấu trúc, mỗi một node trong HT sẽ có trách nhiệm với một khoảng các thành viên của các mục dữ liệu Ngoài ra, mỗi node lưu trữ một cái nhìn từng phần trong toàn bộ hệ thống phân tán mà

ở đó thực sự phân tán các thông tin định tuyến ựa trên thông tin này, thủ tục tìm định tuyến tiêu biểu sẽ trải qua nhiều node, lấy đích ở gần mỗi một node, cho đến khi node đích được tìm thấy [21]

o đó, HT cho phép một chiến lược thực hiện tiên phong để thu nhận

dữ liệu bằng cấu trúc tìm kiếm không gian và cung cấp một mô hình định tuyến trước Trong việc so sánh, thông tin định tuyến trong hệ thống không cấu trúc chẳng có liên quan gì đến vị trí của các mục dữ liệu xác định mà chỉ phản ánh sự kết nối giữa các node ác kết quả của chiến lược tác động trở lại trong các câu truy vấn bằng việc làm “ngập lụt” các yêu cầu thông qua mạng bởi vì việc định tuyến không thể trực tiếp tìm kiếm tới node đích Với một hệ thống trung tâm, chiến lược tìm kiếm bị ẩn, việc định tuyến một truy vấn là không cần thiết khi thủ tục tìm kiếm tự nó được hạn chế với một hệ thống đơn

1.3.4.2 Định địa chỉ trong DHT

HT giới thiệu không gian địa chỉ mới vào trong dữ liệu bằng việc ánh

xạ Không gian địa chỉ tiêu biểu bao gồm một số lớn các giá trị nguyên,…

HT thu được chỉ số phân tán bằng việc chuyển một phần liền kề của không gian địa chỉ tới mỗi node thành viên để đưa ra một giá trị từ không gian địa

Trang 31

chỉ, phép toán chính đã được cung cấp bởi một hệ thống HT là một hàm tìm kiếm, thí dụ để xác định node có vai trò đối với giá trị này [20]

Hình 1 8 Một k ôn n đị ỉ tu ến t n v trị số n u ên từ 0 đến 65 535 C k ôn n đị ỉ l p ân vùn tron số 8 peer

Hướng tiếp cận HT khác nhiều trong việc làm thế nào để quản lý và phân vùng không gian địa chỉ Trong hầu hết các trường hợp, các mô hình này

tự thêm vào các giải thích về địa lý của không gian địa chỉ Một ví dụ đơn giản, tất cả các phép toán trong không gian địa chỉ có thể được hiện modul với số các thành viên trong vòng tròn

Trong một hệ thống HT, mỗi mục dữ liệu được thiết kế là một I , một giá trị duy nhất trong không gian địa chỉ Giá trị này có thể được lựa chọn một cách tự do bởi ứng dụng, nhưng nó thông thường nhận được từ chính dữ liệu của nó thông qua một hàm băm chống và trạm, chẳng hạn như SHA-1, thí dụ, chỉ số I của một file có thể là kết quả của việc băm tên file hay file nhị phân o đó, HT có thể lưu trữ file đó tại node tương ứng với phần chia của không gian địa chỉ mà chứa chỉ số đó

ác giao diện ứng dụng HT được rút từ sự kiện của chúng và đưa ra đơn giản nhưng có hoạt động chung ựa trên chức năng tìm kiếm, hầu hết

HT thực hiện một không gian lưu trữ như là một bảng băm o đó, hàm put

chấp nhận một I và dữ liệu tùy ý (giá trị băm của file name và file content) được lưu trữ dữ liệu đó (trên node tương ứng với I đó) hỉ số I này và dữ

liệu thông thường được tham khảo từ cặp (key, value) Tương ứng, hàm get

Trang 32

thu nhận dữ liệu liên quan với một I cụ thể Với giao diện chung này và mô hình định địa chỉ đơn giản, HT có thể được sử dụng cho các ứng dụng rộng lớn và đa dạng ác ứng dụng tự kết hợp tùy ý ngữ nghĩa với các định dạng

ID ví dụ việc băm các từ khóa tìm kiếm, chỉ số cơ sở dữ liệu, vị trí địa lý, thư mục phân cấp tên nhị phân o đó, các ứng dụng khác nhau như các hệ thống file phân tán, cơ sở dữ liệu phân tán, và các hệ thống định tuyến đã được phát triển trên HT [20]

Hầu hết các hệ thống HT cố gắng trải rộng tải của các thông điệp định tuyến và dữ liệu lưu trữ trên các node thành viên một cách bằng nhau Tuy nhiên, có ít nhất ba nguyên nhân mà tại sao một số node trong hệ thống có thể thực hiện tải cao hơn các node còn lại: một node quản lý một phần chia lớn của không gian địa chỉ, một node tương ứng với một phần chia không gian địa chỉ với một số lượng lớn các mục dữ liệu, hay một một node quản lý các mục

dữ liệu của các node thành viên thông dụng Trong hoàn cảnh này, thì thêm vào các mô hình cân bằng tải có thể giúp cho việc tải được đồng đều trên tất

cả các node

Ví dụ, một node có thể truyền tương ứng một phần không gian địa chỉ của nó tới các node còn lại, hay nhiều node có thể quản lý cùng một không gian địa chỉ

1.3.4.3 Định tuyến

Việc định tuyến là chức năng chính của HT ựa trên thủ tục định tuyến, các thông điệp với I đích của nó được truyền tới node HT mà quản

lý I đích o đó, thuật toán tìm kiếm của HT sẽ xử lý các vấn đề tìm kiếm

ác hệ thống HT đang tồn tại thực hiện một hướng tiếp cận đa dạng cho định tuyến Tuy nhiên, về nguyên lý cơ bản là mỗi node được cung cấp với một số tầm nhìn hữu hạn trong toàn bộ hệ thống bằng việc lưu trữ trên nó một số giới hạn các đường link đến các node khác Khi một node nhận được

Trang 33

một thông điệp cho một địa chỉ I đích trong trường hợp nó không có địa chỉ

đó, thì nó sẽ chuyển thông điệp đó tới một trong những node mà nó biết Quá trình xử lý này được lặp lại tuần hoàn đến khi node đích được tìm thấy

Việc lựa chọn node nhảy kế tiếp được xác định bởi thuật toán định tuyến và mô hình định tuyến Một hệ mét tiêu biểu là node gần: các thông điệp luôn được chuyển tới node quản lý số lượng các I gần nhất với đích của

I của thông điệp Ý tưởng là, chẳng hạn như một mô hình định tuyến tin cậy một thông điệp tới đích của nó với số bước nhảy nhỏ Thì rõ ràng, nó là một thử thách để thiết kế các thuật toán định tuyến và các ma trận o đó, thông tin các node lỗi và định tuyến lỗi được giới hạn hay ít xung đột trong quá trình định tuyến chính xác và co dãn hệ thống

1.3.4.4 Lưu trữ dữ liệu

ó hai phương pháp lưu trữ dữ liệu trong HT, trong HT có sử dụng lưu trữ trực tiếp, dữ liệu sẽ được sao chép nên trên node tương ứng của nó

(a) Lưu trữ trực tiếp (b) Lưu trữ gián tiếp

Hình 1 9 p ơn p p l u ữ l ệu tron D T

Ưu điểm của mô hình này là dữ liệu được lưu trữ trực tiếp vào hệ thống P2P và node đó thêm vào nó rồi sau đó rời khỏi HT mà node đó không có

dữ liệu trở thành không tồn tại Nhược điểm là quá tải trong việc lưu trữ và băng thông của mạng Khi một node có thể bị lỗi, dữ lệu cần phải được chuyển tới các node khác để tăng khả năng tồn tại Thêm vào đó, với các dữ liệu lớn thì một số lượng lớn không gian lưu trữ cho các node

Trang 34

Một khả năng khác là lưu trữ các tham chiếu tới dữ liệu Việc chèn thêm node chỉ là nơi một con trỏ trỏ đến dữ liệu trong HT ữ liệu của nó vẫn được nằm trong node đó, điều này dẫn đến giảm được tải trong HT Tuy nhiên, dữ liệu chỉ tồn tại trong khoảng thời gian node đó tồn tại Trong cả hai trường hợp, node đó sử dụng HT để cho mục đích tìm kiếm [21]

1.3.4.5 Cơ chế quản lý

ể lưu trữ hay xử lý số liệu trong HT, một node đầu tiền cần phải tham gia vào mạng, việc đến của những node mới sẽ dẫn tới làm thay đổi thành phần của HT, thông tin định tuyến và dữ liệu phân tán cần được tương thích Tại kịch bản này, node mới đó có thể chèn các mục dữ liệu vào trong

HT và nhận dữ liệu từ đó Trong trường hợp một node bị lỗi hay rời khỏi mạng, thì HT cần xóa và tương thích với điều kiện này

 Node t m v o mạn

ể một node tham gia vào HT cần thực hiện bốn bước sau:

Thứ nhất, node mới phải lấy liên lạc với HT Sau đó, với một vài phương

pháp cố gắng nó biết được một vài node nào đó của HT Node này sử dụng một điểm vào tới HT đến tận khi node mới đó như là một thành viên của DHT

Thứ hai, node mới này cần được đăng ký một vùng trong không gian địa chỉ

ựa vào sự thực hiện HT, một node có thể được chọn bất kỳ hoặc chỉ ra vùng của riêng nó hay nó xác định nó dựa trên trạng thái hiện tại của hệ thống

Thứ ba, thông tin định tuyến trong hệ thống được cập nhật để thể hiện sự tồn

tại của node mới

Thứ tư, node mới này nhận tất cả (key, value) dưới tương ứng của nó từ node

mà trước đây lưu giữ chúng

 Node lỗ

Trang 35

Các node lỗi được giả sử xảy ra thường xuyên trong hệ thống phân tán chứa nhiều tính không chắc chắn và thường ít kết nối đến máy cục bộ o đó, tất cả các hệ thống không cục bộ trong một HT cần chống lại các lỗi của các node khác iều này được thể hiện tính tổ chức thiết kế của thuật toán HT húng được thiết kế để luôn luôn thực hiện mục đích này của chúng và đối phó những sự kiện như vậy chống lại những gì có thể xảy ra [21]

Thí dụ, thủ tục định tuyến và tìm kiếm được thiết kế tiêu biểu để sử dụng thay đổi định tuyến tới đích khi mà có một node lỗi bất ngờ xảy ra trên một định tuyến mặc định ây là một thí dụ của việc phục hồi hoạt động trở lại, một lỗi sẽ được gán đều đặn trong hoạt động của HT Nhiều HT cũng

đề cao mô hình tự phục hồi để duy trì thông tin định tuyến của chúng ởi vậy, chúng sẽ thăm dò định kỳ các node còn lại để kiểm tra mặc dù những node này vẫn đang hoạt động Nếu chúng không hoạt động thì tương ứng về đầu vào định tuyến sẽ bị thay thế bằng một node đang làm việc

Hơn nữa, các node lỗi dẫn đến việc phân vùng lại trong không gian địa chỉ của HT iều này có thể đòi lại yêu cầu các (key, value) để dịch chuyển giữa các node và thêm các hoạt động duy trì chẳng hạn như sự yêu cầu tương thích cân bằng tải mới Khi một node lỗi, dữ liệu ứng dụng đó mà nó đã lưu

sẽ bị mất trừ khi HT sử dụng sự tái tạo để giữ nhiều bản sao trên các node khác Một vài HT đi theo hướng tiếp cận trạng thái mềm hơn đó là nó không đảm bảo dữ liệu liên tục tồn tại ác mục dữ liệu được xén bớt từ HT trừ khi ứng dụng đó làm tươi chúng định kỳ o đó, một node lỗi dẫn đến một mất mát tạm thời của dữ liệu ứng dụng đến tận khi dữ liệu đó được làm tươi

 Node r k ỏ mạn

Về cơ bản, các node tự do rời khỏi một HT có thể xem như là một node lỗi Tuy nhiên, các thực hiện của HT thường yêu cầu các node rời khỏi mạng thông báo với hệ thống trước khi ra khỏi mạng iều này sẽ cho phép

Trang 36

sao chép các dữ liệu ứng dụng từ node rời khỏi mạng và ngay lập tức được cập nhật thông tin định tuyến để cải thiện hiệu quả định tuyến Khi một quá trình thực hiện chính xác, thì sự thay thế và các mô hình cân bằng tải có thể cũng làm việc hiệu quả và chính xác hơn Một node rời khỏi HT cần thực hiện hai bước:

 huyển các cặp (Key, Value) của nó về node trước nó

 ập nhật lại thông tin phục vụ cho việc tìm kiếm [21]

KẾT LUẬN C N 1

hương 1 nêu cho ta cái nhìn tổng quan về mạng máy tính, hiểu rõ hơn

về mạng ngang hàng và khái niệm cơ bản nhất về HT một trong những cốt lõi của các giao thức phân tán sẽ được trình bày tiếp ở chương 2 của bài này

Trang 37

C N 2 MÔ TẢ, PHÂN TÍCH CÁC GIAO THỨC

ên cạnh đó, một node hord lưu M=log2(N) con trỏ gọi là các finger Tập các finger của node I u được xác định như sau F(x)={Succ(x+2i-1)}, 1 ≤ i ≤

M Với cách lựa chọn finger thế này, trong mạng hord, các node quan sát không gian I của vòng tròn bắt đầu từ I của chúng ồng thời với cách lựa chọn finger của hord, không gian I 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 …[22]

Trang 38

khởi đầu của không gian I , rồi chọn finger là successor của các I n + 20

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

2.1.1.2 Ánh xạ dữ liệu

Hình 2 2: ác item lưu trên mạng hord Như chúng ta thấy trên Hình 2.2, một item được lưu trên node có I bằng nó (K38, N38) hoặc là node đầu tiên có I 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ại thì không đúng

Trang 39

tầng ứng dụng trên node 56 để truyền và nhận dữ liệu Trong điều kiện thông thường, độ phức tạp của thuật toán là O(log2(N))

2.1.1.4 Quá trình ổn định mạng

Khi node n muốn join vào mạng, nó phải tìm I 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 s nhờ sử dụng một thuật toán stabilization chạy định kỳ ảng định tuyến của n được khở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 node này đều chạy thuật toán stabilization định kỳ Nhiệm vụ cuối cùng là chuyển một phần các item đang lưu trên node s có I 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 [4]

(a)

(b)

Hình 2 3: Quá trình node tham gia vào mạng hord

Trang 40

Hình 2.3 (a, b) cho thấy ví dụ về quá trình join vào mạng của một node 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ủa mình, nó trỏ con trỏ successor của mình vào node 32 và báo cho node 32 biết Node 32 sau khi được thông báo thì trỏ con trỏ predecessor vào node 26 Node 26 sao chép các key 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 predecessor củ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

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ỏi mạng chuyển các key nó đang lưu sang successor của nó rồi báo cho các node predecessor và successor ảng định tuyến của các node liên quan sẽ được cập nhật khi các node này chạy thuật toán stabilization

Hình 2 4: Quá trình node rời khỏi mạng hord

Ngày đăng: 11/08/2021, 16:03

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Gia Nguyen, “Giáo trình thực hành NS2”, H uy Tân, à Nẵng. ịa chỉ: https://www.academia.edu/3812400/Giao_trinh_Thuc_hanh_ns2[truy cập vào ngày 10/09/2020] Sách, tạp chí
Tiêu đề: Giáo trình thực hành NS2
[2] Nguyễn ình Nghĩa, “Nghiên cứu nâng cao hiệu năng hoạt động của mạng ngang hàng có cấu trúc”. ại học ông nghệ, ại học Quốc Gia Hà nội, 2019 Sách, tạp chí
Tiêu đề: Nghiên cứu nâng cao hiệu năng hoạt động của mạng ngang hàng có cấu trúc
[3] Ths.Phạm Thành Nam, “Nghiên cứu nâng cao hiệu năng tìm kiếm dữ liệu trong mạng P2P”, ại học công nghệ thông tin và truyền thông Thái Nguyên. ịa chỉ: https://123doc.net/document/2999647-nghien-cuu-nang-cao-hieu-nang-tim-kiem-du-lieu-trong-mang-p2p.htm [truy cập 10/09/2020] Sách, tạp chí
Tiêu đề: Nghiên cứu nâng cao hiệu năng tìm kiếm dữ liệu trong mạng P2P
[6] Ngô Hoàng Giang, “ ánh giá hiệu năng của một số thuật toán bảng băm phân tán HT và đƣa ra giải pháp cải tiến hiệu năng của thuật toán hord”, ại học ách khoa Hà Nội, 2008[T ến An ] Sách, tạp chí
Tiêu đề: ánh giá hiệu năng của một số thuật toán bảng băm phân tán HT và đƣa ra giải pháp cải tiến hiệu năng của thuật toán hord
[8] Indranil Gupta, Ken Birman, Prakash Linga, Al Demers, Robbert van Renesse: “Peer-to-Peer Networks: Kelips”, Summer 2008 Sách, tạp chí
Tiêu đề: Peer-to-Peer Networks: Kelips
[12] Ben Y. Zhao, Ling Huang, Jeremy Stribling, Sean C. Rhea, Anthony D. Joseph, John . Kubiatowicz: “Tapestry: A Resilient Global-scale Overlay for Service eployment”, January 2004 Sách, tạp chí
Tiêu đề: Tapestry: A Resilient Global-scale Overlay for Service eployment
[13] . Pourebrahimi, K. ertels, S. Vassiliadis: “A survey of Peer-to-Peer Networks”, 2005 Sách, tạp chí
Tiêu đề: A survey of Peer-to-Peer Networks
[14] Indranil Gupta, Ken Birman, Prakash Linga, Al Demers, Robbert van Renesse: “Kelips: uilding an Efficient and Stable P2P DHT Through Increased Memory and ackground Overhead”, 2003 Sách, tạp chí
Tiêu đề: Kelips: uilding an Efficient and Stable P2P DHT Through Increased Memory and ackground Overhead
[16] Gil, Thomer, et al. "p2psim, a simulator for peer-to-peer protocols." (2003) Sách, tạp chí
Tiêu đề: p2psim, a simulator for peer-to-peer protocols
[17] Feldotto, Matthias, and Kalman Graffi. "Comparative evaluation of peer- to-peer systems using PeerfactSim. KOM." 2013 International Conference on High Performance Computing & Simulation (HPCS).IEEE, 2013 Sách, tạp chí
Tiêu đề: Comparative evaluation of peer-to-peer systems using PeerfactSim. KOM
[18] Furness, Jamie, Mario Kolberg, and Marwan Fayed. "An evaluation of Chord and Pastry models in OverSim." 2013 European Modelling Symposium. IEEE, 2013 Sách, tạp chí
Tiêu đề: An evaluation of Chord and Pastry models in OverSim
[20] Dominguez, José Luis Agúndez, and Jesús Renero Quintero. "Consistent and fault tolerant distributed hash table (DHT) overlay network." U.S.Patent No. 8,255,736. 28 Aug. 2012 Sách, tạp chí
Tiêu đề: Consistent and fault tolerant distributed hash table (DHT) overlay network
[21] Paganelli, Federica, and David Parlanti. "A DHT-based discovery service for the Internet of Things." Journal of Computer Networks and Communications 2012 (2012) Sách, tạp chí
Tiêu đề: A DHT-based discovery service for the Internet of Things
[22] Stoica, Ion, et al. "Chord: a scalable peer-to-peer lookup protocol for internet applications." IEEE/ACM Transactions on networking 11.1 (2003): 17-32 Sách, tạp chí
Tiêu đề: Chord: a scalable peer-to-peer lookup protocol for internet applications
Tác giả: Stoica, Ion, et al. "Chord: a scalable peer-to-peer lookup protocol for internet applications." IEEE/ACM Transactions on networking 11.1
Năm: 2003
[23] Maymounkov, Petar, and David Mazieres. "Kademlia: A peer-to-peer information system based on the xor metric." International Workshop on Peer-to-Peer Systems. Springer, Berlin, Heidelberg, 2002 Sách, tạp chí
Tiêu đề: Kademlia: A peer-to-peer information system based on the xor metric
[4] Khoa CNTT, Mạng thế hệ mới, HSP KT Hƣng Yên. ịa chỉ: https://voer.edu.vn/c/mang-the-he-moi/0b8f6b01 [truy cập 10/09/2020] Link
[5] Mạng máy tính, giao thức truyền thông, HT. ịa chỉ: vi.wikipedia.org/wiki/ [truy cập 10/09/2020] Khác
[7] El-Ansary, Sameh. Designs and analyses in structured peer-to-peer systems. Diss. Royal Institute of Technology, Stockholm, Sweden, 2005 Khác
[9] Norman h. Nie, Lutz erbring (2002), internet and society: a preliminary report Khác
[10] Dr. Naderr F Mir – Department of Electrical Engineering, San Jose State University, San Jose California, 95192, Simulation of Peer to Peer network using chord protocol in NS2 Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w