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

Đánh giá các giải pháp tối ưu hóa Topology cho mạng ngang hàng có cấu trúc

45 939 1

Đ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 45
Dung lượng 1,19 MB

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

Nội dung

Trong bảng băm phân tán này, các định nghĩa liên kết giữa các nút mạng sẽ được xây dựng theo một cấu trúc cụ thể.. Chord là một giao thức của mạng ngang hàng có cấu trúc sử dụng không gi

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS HỒ SĨ ĐÀM

Hà Nội – 2012

Trang 3

MỤC LỤC

LỜI CAM ĐOAN 4

CÁC THUẬT NGỮ VIẾT TẮT 7

DANH MỤC HÌNH VẼ 8

MỞ ĐẦU 9

CHƯƠNG 1 - MẠNG NGANG HÀNG 11

1.1 Giới thiệu chung mạng ngang hàng 11

1.1.1 Khái niệm 11

1.1.2 Ưu điểm và nhược điểm của mạng ngang hàng 12

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

1.2 Mạng ngang hàng có cấu trúc Chord 15

1.2.1 Mô hình hệ thống mạng Chord 16

1.2.2 Ánh xạ khóa vào một nút trong Chord 18

1.2.3 Tìm kiếm trong mạng Chord 19

1.2.4 Tham gia và ổn định mạng 20

CHƯƠNG 2- MỘT SỐ PHƯƠNG PHÁP TỐI ƯU HÓA TOPOLOGY TRÊN MẠNG NGANG HÀNG CÓ CẤU TRÚC CHORD 21

2.1 Vấn đề sai khác topology 21

2.2 Lựa chọn láng giềng gần trong mạng ngang hàng có cấu trúc Chord 22

2.2.1 Giới thiệu 22

2.2.2 Xây dựng không gian tọa độ 2 chiều 23

2.2.3 Không gian định danh nút đa lớp 24

2.2.4 Tối ưu bảng định tuyến dựa vào lựa chọn láng giềng gần 24

2.2.5 Nhận xét 25

2.3 Tối ưu hóa topology mạng ngang hàng có cấu trúc Chord dựa trên giải thuật Vivaldi 26

2.3.1 Giới thiệu 26

2.3.2 Một số khái niệm 27

2.3.3 Thuật toán Vivaldi 28

2.3.4 Tối ưu Chord dựa trên giải thuật Vivaldi 32

2.3.5 Nhận xét 33

Trang 4

CHƯƠNG 3- MÔ PHỎNG VÀ ĐÁNH GIÁ CÁC GIẢI PHÁP 34

3.1 Bộ mô phỏng P2Psim 34

3.1.1 Mô phỏng bằng chương trình máy tính 34

3.1.2 Giới thiệu về bộ mô phỏng P2Psim 35

3.2 Thực nghiệm mô phỏng và kết quả 36

3.2.1 Thực nghiệm 1: Mô phỏng Chord, láng giềng gần và giải thuật Vivaldi 36

3.2.2 Thực nghiệm 2: Tăng khoảng cách giữa các nút trong mạng cùng kích thước 40

3.2.3 Thực nghiệm 3: Tăng khoảng cách trong các mạng có kích thước khác nhau 41

KẾT LUẬN 43

TÀI LIỆU THAM KHẢO 44

PHỤ LỤC 45

1 Cài đặt và thực hiện P2Psim 45

2 Thông tin về tệp vết 46

Trang 5

CÁC THUẬT NGỮ VIẾT TẮT

CAN Controller Area Network

DHT Distributed hash table

IP Internet Protocol

NS2 Network Simulation 2

PIS Proximity Identifier Selection

PNS Proximity Neighbor Selection

P2P Peer to Peer

RPC Remote Procedure Call

RTT Round-Trip Time

Trang 6

DANH MỤC HÌNH VẼ

Hình 1.1: Mạng ngang hàng Chord 11

Hình 1.2: Mạng ngang hàng không có cấu trúc Napster 15

Hình 1.3: Mô hình hoạt động của dịch vụ chia sẻ File 16

Hình 1.4: Mạng Chord với m=3 18

Bảng 1.1: Bảng định nghĩa các trường trong Finger Table 18

Hình 1.5: Lưu giữ khóa trong mạng Chord 19

Hình 1.6: Tìm kiếm trong mạng Chord 19

Hình 2.1: Phân hoạch không gian tọa độ 2 chiều 23

Hình 2.2: Véc tơ chiều cao trong không gian tọa độ 2 chiều 28

Hình 3.1: Sơ đồ mô tả mô phỏng 37

Hình 3.2: Đồ thị về băng thông sử dụng 38

Hình 3.3: Đồ thị về độ trễ tìm kiếm trung bình 38

Hình 3.4: Đồ thị về sai số tương đối của Vivaldi 39

Hình 3.5: Đồ thị so sánh tỉ lệ tìm kiếm không thành công 40

Hình 3.6: Độ trễ tìm kiếm trung bình của mạng 1024 nút 41

Hình 3.7: Độ trễ tìm kiếm trung bình khi tăng khoảng cách theo hệ số 42

Trang 7

MỞ ĐẦU

Trong nhiều năm qua, mạng ngang hàng P2P (Peer to Peer) đã nổi lên như

là một mô hình mới trong truyền thông mạng Xuất phát từ mô hình Client- Server truyền thống, P2P cho phép các nút tham gia có tính tự chủ và nâng cao vai trò của mỗi nút trong hoạt động cơ bản của mạng Công nghệ mạng ngang hàng tạo ra những ưu điểm vượt trội như khả năng mở rộng, không tồn tại điểm chết, khả năng của hệ thống tỉ lệ với số lượng máy tham gia Chính vì vậy, nhiều ứng dụng lớn đã và đang được xây dựng trên mạng ngang hàng như: FreeNet, Napster, Gnutella, BitTorrent, eMule

Mạng ngang hàng có cấu trúc sử dụng bảng băm phân tán để xây dựng một mạng phủ trên mạng vật lý Trong bảng băm phân tán này, các định nghĩa liên kết giữa các nút mạng sẽ được xây dựng theo một cấu trúc cụ thể Mỗi nút đều

có các liên kết với một tập các nút khác gọi là tập nút láng giềng Chord là một giao thức của mạng ngang hàng có cấu trúc sử dụng không gian địa chỉ một chiều, các nút được sắp xếp trên một vòng định danh Mạng ngang hàng cấu trúc Chord có nhiều ưu điểm như: Khả năng mở rộng với số lượng nút lớn, cân bằng tải trong việc phân phát khóa, tối ưu định tuyến,

Trong mạng ngang hàng có cấu trúc, mỗi nút được khai báo một định danh

từ không gian định danh bằng cách băm địa chỉ IP của nút đó Các tài liệu được phân phát đến các nút tương ứng có định danh bằng hoặc gần nhất với giá trị băm của nó Các tài liệu này được phân phát đến các nút trên mạng theo cùng một cách giống nhau, nhưng giải thuật DHT có thể làm cho topology của mạng không đồng nhất giữa mạng phủ bên trên và mạng IP bên dưới Do đó các thông báo có thể bị truyền đi xa hơn trên mạng Internet tại mỗi chặng định tuyến, dẫn tới làm tăng độ trễ tìm kiếm và độ trễ xác định các tài liệu trong mạng Để khắc phục những nhược điểm trên, vấn đề quan trọng là xác định vị trí của các nút để tối ưu bảng định tuyến

Hiện tại có một số giải pháp để tối ưu hoá topology mạng ngang hàng có cấu trúc:

- Gải pháp tối ưu Chord: Tối ưu định tuyến và vị trí bản sao dựa trên các thông tin vị trí vật lý [11]

- Tối ưu hóa Chord dựa trên độ trễ: Lựa chọn láng giềng gần, Vivaldi,…

- Tối ưu hóa Chord dựa trên tối ưu bảng băm phân tán

Trang 8

Trong luận văn này, chúng tôi lựa chọn các giải pháp tối ưu topology dựa vào độ trễ để nghiên cứu và đánh giá Luận văn sẽ đánh giá độ trễ tìm kiếm cũng như băng thông sử dụng của các nút trong hệ thống ứng với từng giải pháp tối

ưu hóa Từ đó thấy được tính hiệu quả của từng giải pháp cải tiến, lựa chọn các giải pháp phù hợp khi phát triển các ứng dụng trên mạng ngang hàng Chord Luận văn được chia thành 04 chương:

Chương 1: Giới thiệu tổng quan về ngạng ngang hàng

Chương 2: Các giải pháp tối ưu cấu trúc Chord dựa trên độ trễ, các nghiên cứu liên quan đến những vấn đề đó

Chương 3: Mô phỏng và đánh giá các giải pháp

Chương 4: Kết luận, những vấn đề nảy sinh và hướng nghiên cứu tiếp theo

Trang 9

CHƯƠNG 1 - MẠNG NGANG HÀNG

Mạng ngang hàng đã trở nên phổ biến trong công nghệ thông tin nói chung

và trong các ứng dụng của Internet nói riêng Các ứng dụng trên mạng ngang hàng xuất hiện ngày càng nhiều, thu hút đông đảo người dùng máy tính Trong điều kiện Internet ngày càng phát triển, lượng thông tin truyền tải và chia sẻ ngày càng lớn, mô hình mạng Client - Server bộc lộ nhiều hạn chế Mạng ngang hàng với nhiều ưu điểm nổi bật có thêm nhiều cơ hội mới để phát triển Trong chương này tôi sẽ trình bày tổng quan về mạng ngang hàng và một số nghiên cứu về mạng ngang hàng có cấu trúc Chord

1.1 Giới thiệu chung mạng ngang hàng

1.1.1 Khái niệm

Mạng ngang hàng là mạng máy tính hoạt động chủ yếu dựa vào khả năng tính toán và băng thông của các nút thành viên tham gia mà không có các máy chủ trung tâm như các mạng thông thường Mạng ngang hàng thường được sử dụng để kết nối các máy thông qua một lượng kết nối dạng ad-hoc [2] Sự xuất hiện của các dịch vụ chia sẻ files như Napster, Gnutella, Bittorent, … thì P2P (Peer-to-Peer) mới được nhận ra là một công nghệ quan trọng cho Internet

Hình 1.1: Mạng ngang hàng Chord

Mô hình mạng ngang hàng đúng nghĩa không có khái niệm máy chủ và máy khách Tất cả các máy tham gia đều bình đẳng và được gọi là Peer Với mô hình khách chủ, máy khách gửi yêu cầu, thực hiện việc nhận dữ liệu một chiều

từ phía máy chủ Đây chính là điểm khác biệt cơ bản nhất của mô hình mạng ngang hàng so với các mô hình mạng truyền thống

Trang 10

Với xu hướng phát triển như hiện nay, mạng ngang hàng sẽ phải đối mặt với nhiều thách thức hơn khi mà yêu cầu về khả năng mở rộng mạng lên tới hàng triệu nút tham gia và vẫn phải đảm bảo mạng hoạt động hiệu quả Đó là [4]:

 Đảm bảo khả năng chịu lỗi, tính sẵn sàng sử dụng và khả năng tự ổn định

 Duy trì việc phân phối dữ liệu, định tuyến, cân bằng tải trong các mạng phủ

 Bảo đảm về mặt an ninh khả năng chống được các cuộc tấn công

 Tính tin cậy trong việc tính toán và chia sẻ dữ liệu

 Những kỹ thuật nhằm đảm bảo sự công bằng trong khi sử dụng mạng 1.1.2 Ưu điểm và nhược điểm của mạng ngang hàng

Mô hình mạng ngang hàng rất phù hợp với tính phi tập trung của Internet, bởi bản chất của tài nguyên là phân tán, các thông tin lưu trữ không chỉ trên các Server mà ở cả các máy Client Chính điều này tạo ra cho mạng ngang hàng nhiều ưu điểm

1.1.2.1 Ưu điểm

Ưu điểm của mạng ngang hàng thể hiện ở việc áp dụng vào từng ứng dụng

cụ thể mà cấu trúc mạng Client- Server không có được Mạng ngang hàng có thể cải thiện đáng kể hiệu quả của các phương pháp phân tích, xử lý dữ liệu, giải các bài toán phức tạp Tất cả các máy khi tham gia mạng đều đóng góp tài nguyên như: Băng thông, lưu trữ và khả năng tính toán Có được điều đó, mạng ngang hàng tận dụng khả năng xử lý, khả năng lưu trữ còn thừa của các máy tính tham gia mạng với những thuật toán phân tán hợp lý Công nghệ này chia việc xử lý lớn 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 máy tính xử lý phần dữ liệu của mình và trả về kết quả cho máy tính trung tâm Máy tính trung tâm ghép nối các kết quả lại với nhau Bằng cách này,

ta có thể giải quyết những bài toán phức tạp mà không cần phải nâng cấp khả năng xử lý cũng như trang bị thêm máy móc cho hệ thống mạng hiện tại

Tính chất phân tán của mạng ngang hàng cũng giúp cho mạng hoạt động tốt khi một số máy gặp sự cố Đối với cấu trúc tập trung, chỉ cần máy chủ gặp sự

cố thì cả hệ thống sẽ ngưng trệ

Trang 11

Mạng ngang hàng dễ cài đặt, dễ tổ chức và quản trị, chi phí thiết bị thấp Còn đối với mạng Client- Server đòi hỏi một máy chủ đủ mạnh với giá thành cao Thông thường thì máy chủ ít sự cố, nhưng nếu có sẽ gây thiệt hại lớn về dữ liệu và chi phí để thiết lập lại hệ thống

Ngoài ra, mạng ngang hàng cũng tận dụng được băng thông trên toàn bộ mạng vì việc tăng số giao tiếp giữa các thiết bị mạng qua các đường truyền khác nhau sẽ làm giảm khả năng tắc nghẽn mạng Khi càng nhiều máy tính tham gia vào mạng thì khả năng xử lý, khả năng lưu trữ và băng thông cũng tăng theo điều đó cho thấy khả năng mở rộng của mạng ngang hàng

- Các tài nguyên có thể biến mất do các nút cung cấp tài nguyên có thể ngắt kết nối bất cứ lúc nào Hay các nút trong mạng đột ngột rời khỏi mạng sẽ làm sai bảng định tuyến trong một thời gian nhất định, làm cho việc truy vấn thiếu chính xác Dữ liệu mà nút đó phụ trách cũng có thể bị mất theo

- Sự bảo mật dữ liệu kém do dữ liệu phân tán

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

Ta có thể phân loại các mạng ngang hàng hiện nay theo 2 tiêu chí sau [2] [4]:

- Dựa vào mức độ tập trung: Mạng ngang hàng được chia làm 2 loại: Mạng

ngang hàng thuần túy và Mạng ngang hàng lai

Mạng ngang hàng thuần túy:

 Các máy trạm có vai trò vừa là máy chủ vừa là máy khách

 Không có máy chủ trung tâm quản lý mạng

 Không có máy định tuyến trung tâm, các máy trạm có khả năng tự định tuyến

Trang 12

 Sử dụng các trạm định tuyến để xác định địa chỉ IP của các máy trạm

- Dựa vào cấu trúc liên kết: Giữa các nút mạng trên mạng phủ, mạng ngang

hàng được chia 2 loại: Mạng ngang hàng có cấu trúc và Mạng ngang hàng không có cấu trúc

Mạng ngang hàng không cấu trúc: [2] là mạng mà các liên kết giữa các nút

mạng trong mạng phủ được thiết lập ngẫu nhiên 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 vào mạng có thể lấy các liên kết có sẵn của một máy khác đang ở trong mạng và sau đó dần dần tự bản thâ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: không có gì đảm bảo tìm kiếm sẽ thành công Đối với việc tìm kiếm các dữ liệu phổ biến được chia sẻ trên nhiều máy, tỉ lệ thành công là khá cao, ngược lại, nếu dữ liệu chỉ được chia sẻ trên một vài máy thì xác suất tìm thấy là khá thấp Số lượng máy trong mạng càng lớn thì khả năng tìm thấy thông tin càng thấp Một nhược điểm khác của hệ thống này là do không có định hướng, một yêu cầu tìm kiếm thường được chuyển cho một số lượng lớn máy trong mạng làm tiêu tốn một lượng lớn băng thông của mạng, dẫn đến hiệu quả tìm kiếm chung của mạng thấp

Một số mạng ngang hàng không có cấu trúc phổ biến như: Napster, Gnutella, Fasttrack và eDonkey2000

Trang 13

Hình 1.2: Mạng ngang hàng không có cấu trúc Napster

Mạng ngang hàng có cấu trúc: Mạng ngang hàng có cấu trúc khắc phục nhƣợc

điểm của mạng ngang hàng không cấu trúc bằng cách sử dụng hệ thống bảng băm phân tán DHT (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ột phầ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 tài liệu, nó chỉ cần áp dụng một giao thức chung để xác định nút mạng, sau đó liên lạc trực tiếp đến nút mạng đó để lấy kết quả

Mạng ngang hàng có cấu trúc sử dụng một giao thức đảm bảo rằng mọi nút tham gia mạng đều có thể định tuyến, truy vấn tới các nút khác chứa dữ liệu mà

nó cần, ngay cả khi dữ liệu đó không phổ biến Để có đƣợc điều này cần có một mạng phủ đƣợc liên kết theo một cấu trúc nhất định Hầu hết những mạng ngang hàng có cấu trúc hiện nay đƣợc xây dựng dựa trên bảng băm phân tán

Một số mạng ngang hàng sử dụng bảng băm phân tán phổ biến hiện nay có thể kể là: Chord, Pastry, CAN,…

1.2 Mạng ngang hàng có cấu trúc Chord

Dựa vào cấu trúc bảng băm phân tán, có rất nhiều mô hình mạng ngang hàng có cấu trúc: Chord, Pastry, CAN, …nhƣng xét về sự linh hoạt trong việc định tuyến và khả năng phục hồi trạng thái cũng nhƣ khả năng chịu lỗi thì kiến trúc Chord đƣợc đánh giá cao Giao thức Chord là một trong những giải pháp để kết nối các nút trên mạng phủ

Trang 14

1.2.1 Mô hình hệ thống mạng Chord

Chordlà một trong những mạng sử dụng DHT phổ biến Nó có nhiều ưu điểm hơn các mạng ngang hàng có cấu trúc khác Đặc điểm chính của Chord đó

là khả năng tìm kiếm dữ liệu nhanh và cân bằng tải giữa các nút [7]

Cân bằng tải định danh của Chord là sự phân phát khóa tương đối đồng đều vào các nút trong mạng nhờ vào việc sử dụng kỹ thuật băm nhất quán để cấp khóa cho các nút Kĩ thuật băm nhất quán dựa trên hàm băm SHA-1 Để có được khóa, Chord sẽ băm các giá trị của dữ liệu tạo thành khóa Giá trị của dữ liệu ở đây có thể là địa chỉ, tên tài liệu, văn bản, hình ảnh, tài liệu media… Mỗi loại giá trị dữ liệu có những đặc điểm khác nhau, vì vậy trong từng trường hợp cụ thể, các giá trị sẽ được chọn để sử dụng phù hợp với ứng dụng Khóa được coi như phương thức chỉ đường để có thể tìm thấy dữ liệu mong muốn một cách nhanh nhất Khi mạng được thiết lập, một hệ thống gồm n nút trong đó mỗi nút

sẽ chứa O(log n) nút xung quanh và thông qua O(log n) thông báo để tìm kiếm các nút khác trong hệ thống

Hình 1.3: Mô hình hoạt động của dịch vụ chia sẻ File

Mạng ngang hàng có cấu trúc Chord có những đặc điểm sau [4] [7]:

- Cân bằng tải (Load Balance): Quá trình hình thành và phân bổ khóa của Chord dựa trên thuật toán băm nhất quán Các khóa được phân tán đều trên tất

cả các nút, một nút sẽ không chứa quá nhiều khóa Điều này làm cho Chord có khả năng cân bằng tải một cách tự nhiên

Trang 15

- Sự phân quyền (Decentralization): Trong giao thức Chord, không nút nào quan trọng hơn nút nào, quyền hạn này được thực hiện rất hiệu quả trong giao thức Chord Điều này giúp hệ thống giữ được sự ổn định

- Khả năng mở rộng (Scalability): Trong quá trình hình thành mạng, Chord có khả năng mở rộng với số lượng rất lớn các nút từ đó cải thiện hiệu suất tìm kiếm một cách tối đa

- Tính sẵn sàng (Availability): Mỗi nút trong Chord tự động điều chỉnh bảng định tuyến (Finger Table) của chính nó khi có một nút tham gia hoặc rời khỏi mạng Do đó, Chord có thể duy trì sự tồn tại của mạng một cách hoàn toàn

tự động

- Định nghĩa khóa linh hoạt (Flexible naming): Chord không ràng buộc về cấu trúc của khóa mà nó tìm kiếm, không gian khóa được ánh xạ để gán cho khóa một cái tên và thực hiện tìm kiếm

Chord được mô tả dưới dạng một vòng tròn và không gian định danh phân bố đều trên một vòng tròn Nếu gọi m là số bit định danh của không gian khóa thì mạng Chord sẽ có thể chứa tối đa 2m

nút Mỗi nút trên mạng Chord có

một định danh id duy nhất và các id trong mạng Chord sắp xếp thành vòng tròn

tăng theo chiều kim đồng hồ Chúng có khả năng duy trì liên kết 2 chiều với nút đứng liền trước gọi là Successor(id) và liền sau nó Predecessor(id) Ngoài ra, mỗi nút sẽ lưu một bảng thông tin định tuyến gọi là Finger Table, cho phép nút

đó định tuyến tới các nút khác trong mạng Mỗi dòng trong bảng Finger Table sẽ lưu thông tin về 1 nút ở xa gọi là 1 liên kết (Entry) Không gian định danh có bao nhiêu bit thì Finger Table có bấy nhiêu liên kết

Để quá trình tìm kiếm diễn ra hiệu quả, Chord lưu trữ thông tin định tuyến giữa các nút trong một bảng được gọi là Finger Table Gọi i là liên kết thứ i trong bảng Finger Table của nút n, i được thể hiện bằng: n.Finger[i] Nút đầu tiên trong bảng Finger Table của n chính là Successor(n) hay còn được gọi là Immediate Successor

Trang 16

 Nút biết thông tin về các nút gần nó nhiều hơn là các nút ở xa

 Bằng cách định tuyến thông qua bảng Finger Table, một nút n có thể xác định được vị trí của bất kỳ khóa nào trên mạng

1.2.2 Ánh xạ khóa vào một nút trong Chord

Chord ánh xạ các khóa vào các nút thường theo cặp (key, value) Một value có thể là địa chỉ IP, văn bản, hoặc hình ảnh… Chord có thể thực hiện chức

Trang 17

năng này bằng cách lưu các cặp (key, value) ở các nút mà key được ánh xạ Một nút sẽ chịu trách nhiệm lưu giữ một khóa k nếu nút đó là nút có định danh id nhỏ nhất và lớn hơn k Một nút khi lưu giữ khóa k cũng sẽ được gọi là Successor(k) [7]

Hình 1.5: Lưu giữ khóa trong mạng Chord

Hình 1.5 cho thấy nút 0 lưu key 6, nút 1 lưu key 1 và nút 3 lưu key 2

1.2.3 Tìm kiếm trong mạng Chord

Khi một nút n cần tìm kiếm một khóa có định danh id, nút đó sẽ thực hiện tìm kiếm nút lưu giữ id đó Trong quá trình tìm kiếm, nếu nút n cách xa nút lưu giữ id, nút n có thể sử dụng thông tin trong bảng Finger Table để định tuyến đến các nút khác ở xa hơn, nhờ vào đó dần tìm ra nút lưu giữ id

Hình 1.6: Tìm kiếm trong mạng Chord

Ví dụ ở hình 1.6, giả sử nút 3 muốn tìm successor của id = 1 (tương ứng với khóa), id =1 thuộc khoảng [7, 3) Nút 3 kiểm tra entry thứ 3 trong bảng định tuyến của nó là 0 Bởi vì 0 nằm ngay trước 1 trên vòng tròn định danh, nút 3 sẽ

Trang 18

hỏi nút 0 để tìm successor của 1 Nút 0 sẽ tìm trong bảng định tuyến của nó và thấy successor của 1 chính là nút 1 Nút 0 trả lời nút 3, nút 1 chính là successor của khóa id = 1

1.2.4 Tham gia và ổn định mạng

Trong mạng ngang hàng động, sự tham gia và rời khỏi mạng luôn làm thay đổi cấu trúc mạng Nếu không có các biện pháp để xác định và quản lý khóa, mạng sẽ bị lỗi Để có thể xác định được vị trí của các khóa ở trong mạng, Chord cần thỏa mãn 2 điều kiện sau [4][7]:

 Mỗi successor của 1 nút phải được duy trì đúng

 Với mỗi khóa k, nút successor(k) có trách nhiệm quản lý k

Khi có một nút n muốn tham gia vào mạng Chord:

 Nút n cần chọn cho nó một định danh id

 Báo cho các nút bên cạnh biết sự tham gia của nó

 Các nút Successor và Predecessor sẽ cần phải cập nhật thông tin về nút

n mới tham gia vào mạng

 Nút n cũng cần khởi tạo bảng định tuyến Finger Table bằng cách tìm các nút Successor các id trong từng entry của Finger Table

 Các nút cần thường xuyên chạy thuật toán ổn định mạng stabilize() để cập nhật thông tin về nút bên cạnh (nút hàng xóm)

 Cuối cùng là nút Successor của n sẽ chuyển một phần khóa k mà bây giờ n là Successor(k), cho n lưu giữ

Khi một nút chuẩn bị rời khỏi mạng:

 Nút đó cần thông báo cho các nút bên cạnh (nút phụ trách của nó) biết

để ổn định lại mạng

 Chuyển các khóa nó lưu giữ cho nút Successor của nó

Trang 19

CHƯƠNG 2- MỘT SỐ PHƯƠNG PHÁP TỐI ƯU HÓA TOPOLOGY TRÊN MẠNG NGANG HÀNG CÓ CẤU TRÚC CHORD

Việc sử dụng DHT dễ dẫn đến sự khác biệt về topology giữa mạng phủ và mạng IP Để giải quyết vấn đề này, các nút gần nhau tại tầng vật lý cần trở thành hàng xóm của nhau trên mạng phủ Hơn nữa, việc có được thông tin tầng dưới như địa chỉ IP để xây dựng mạng phủ là điều không dễ Do đó, khoảng cách dựa vào thời gian trễ giữa các nút được xem là thước đo khả thi nhất để đánh giá sự gần gũi giữa chúng Việc dự đoán được độ trễ giữa các nút dựa vào tọa độ trong không gian 2 chiều mà không cần thăm dò sẽ có ý nghĩa lớn trong việc tối ưu topo trên mạng phủ Việc này sẽ được thực hiện nhờ giải thuật Vivaldi Ngoài

ra, lựa chọn láng giềng gần (Proximity Neighbor Selection - PNS) cũng là phương pháp được sử dụng rộng rãi vì phương pháp này làm giảm các chặng định tuyến trên mạng phủ Trong chương này, chúng ta sẽ tìm hiểu về vấn đề sai khác topology, tìm hiểu về giải thuật Vivaldi và lựa chọn láng giềng gần để tối

ưu hóa topology mạng ngang hàng có cấu trúc Chord

2.1 Vấn đề sai khác topology

Mạng ngang hàng có cấu trúc sử dụng hệ thống bảng băm phân tán DHT

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ột phần dữ liệu chia sẻ trong mạng Sự phân phát khóa tương đối đồng đều vào các nút trong mạng nhờ vào việc sử dụng kỹ thuật băm nhất quán để cấp khóa cho các nút Chính điều này tạo cho Chord có khả năng cân bằng tải lớn Tuy nhiên việc xây dựng mạng phủ thông qua DHT mà không quan tâm tới các mối quan hệ gần gũi của các nút ở tầng vật lý dẫn đến vấn đề sai khác topology giữa mạng phủ và mạng vật lý Đó là, hai nút gần nhau trên mạng phủ có thể rất

xa trên mạng vật lý và ngược lại Dẫn đến các thông báo có thể bị truyền đi xa hơn trên mạng Internet tại mỗi chặng định tuyến

Vấn đề sai khác topology giữa mạng phủ và mạng vật lý là nguyên nhân chính làm tăng độ trễ tìm kiếm Mặc dù mạng ngang hàng có cấu trúc có số chặng định tuyến ở mức trung bình nhưng hiệu năng tìm kiếm có thể bị giảm mạnh khi chiều dài chặng trên mạng phủ ngắn hơn chiều dài liên kết vật lý và ngược lại

Trang 20

Có 2 hướng nghiên cứu đặc trưng nhằm giải quyết vấn đề sai khác topology trong hệ thống mạng ngang hàng có cấu trúc Hướng nghiên cứu đầu tiên có sử dụng kỹ thuật được gọi là kỹ thuật “Landmark binning” Trong kỹ thuật này, tất cả các nút đo khoảng cách giữa chúng dựa trên độ trễ truyền thông Các nút có tính ổn định cao được gọi là các Landmark Mỗi nút được gán nhãn bằng một chuỗi các giá trị tương ứng với khoảng cách vật lý trung bình từ nút đó đến các landmark Các nút có cùng các giá trị tương ứng đến Landmark được nhóm vào cùng một Bin Nhược điểm của kỹ thuật này liên quan đến việc bổ sung vào hệ thống các landmark Lý do là tải đo lường trên Landmark sẽ tăng mạnh khi kích thước hệ thống tăng Như vậy, Landmark có thể dễ dàng bị quá tải Hướng nghiên cứu thứ 2 là xây dựng một bản đồ toàn cục để lựa chọn những tuyến đường định tuyến ngắn hơn thông qua tham số độ trễ Các trạng thái gần gũi được tạo ra trên các nút chung (nút cụm), các nút khác có thể tìm kiếm các nút láng giềng thông qua nút này Xây dựng các thuật toán trên lớp phủ bằng cách chọn các nút gần nhau trên mạng vật lý làm hàng xóm sẽ giải quyết được vấn đề sai khác topology Các thuật toán này cần phải giải quyết một số vấn đề

Trang 21

phục những bất lợi trên, vấn đề cốt yếu đó là xác định vị trí hàng xóm lân cận của các nút Trong các mạng phủ cấu trúc, hiện tại đã có ba phương pháp: Đầu tiên là lựa chọn hàng xóm gần gũi (PNS), là những nút hàng xóm trong bảng định tuyến được lựa chọn dựa trên sự gần gũi của chúng Thứ hai là lựa chọn nút

có chặng tiếp theo khi định tuyến đến nút đích gần với những nút hàng xóm Thứ ba là lựa chọn định danh gần (Proximity Identifier Selection - PIS), các nút

có thể chọn định danh dựa trên vị trí địa lý PNS là phương pháp được sử dụng rộng rãi, phương pháp này làm giảm các chặng định tuyến trên mạng ngang hàng có cấu trúc Chord

2.2.2 Xây dựng không gian tọa độ 2 chiều

Mỗi nút trong mạng sẽ có một tọa độ tương ứng trong không gian tọa độ 2 chiều C và không gian tọa độ 2 chiều này sẽ được chia đều thành các vùng bằng cách sử dụng các vòng tròn đồng tâm ký hiệu là O O được xây dựng như sau:

- Bán kính và tọa độ tâm vòng tròn đầu tiên (gọi là phần C1) là r và (0,0) Phần

C2 có bán kính 2r, bán kính của C3 là 3r, …Cứ như vậy, toàn bộ không gian tọa

độ 2 chiều sẽ được chia thành các vùng

- Sau đó, mỗi vùng lại được chia nhỏ thành các miền có diện tích bằng diện tích của C1 Để thuận tiện cho mô tả, chúng ta đánh số cụm vòng tròn đồng tâm bắt đầu từ C1 Id của khu vực được bao quanh bởi vòng tròn bên trong nhất là r1 và được đánh số là D1,1 Id của vòng tròn bên ngoài r1 là r2, và như vậy cho đến hết Các vùng trên ri được ký hiệu là Di,j, trong đó i là số hiệu đường tròn, j là thứ tự miền Thứ tự miền được đánh số từ góc 0 o theo hướngngược chiều kim đồng

Hình 2.1: Phân hoạch không gian tọa độ 2 chiều

Trang 22

2.2.3 Không gian định danh nút đa lớp

Mỗi miền trong không gian tọa độ 2 chiều được ánh xạ tới một vùng trong không gian định danh nút trong DHT [6] Tất cả các nút có thể tìm thấy id của miền trong không gian định danh bằng cách dựa vào nguyên tắc ánh xạ Hơn nữa, khi các nút được trong cùng miền, chúng sẽ ánh xạ vào trong cùng khu vực tương tự trong DHT Vì vậy, mối quan hệ gần gũi giữa các nút vẫn được giữ Thông qua việc gọi hàm Get (region.key) và Put(region.key), RPC chính trong Chord, các nút có thể xác định vị trí khu vực của nó được ánh xạ trong Log(n) chặng với xác suất cao Lớp L1 đầu tiên tương ứng với r1 trong tọa độ không gian 2 chiều Lớp thứ hai L2 tương ứng với r2, cứ như vậy cho đến hết Hơn nữa, một khái niệm logic được đưa ra là khoảng cách giữa các lớp, đó là khoảng cách tương ứng với khoảng cách giữa hai vòng tròn đồng tâm liền kề

2.2.4 Tối ưu bảng định tuyến dựa vào lựa chọn láng giềng gần

Các bước chính của thuật toán PNS như sau: Đầu tiên, thực hiện lập bản

đồ không gian để cho mỗi nút ánh xạ tới một vùng trong không gian định danh của Chord mà không làm mất mối quan hệ gần gũi, thứ hai là giai đoạn tìm kiếm láng giềng gần Cuối cùng, sử dụng láng giềng gần đã tìm được để thiết lập, tối

ưu hóa các bảng định tuyến của Chord

2.2.4.1 Tìm kiếm láng giềng gần

Khi một nút muốn tham gia vào mạng, Chord truyền thống sẽ thực hiện băm để nhận một giá trị băm duy nhất Sau đó thực hiện việc tham gia mạng cho nút tại vị trí đó Với giải pháp này, thay vì một giá trị băm, một tập các giá trị băm sẽ được tính toán và chuyển cho nút Đây là tập giá trị có được từ việc băm thông tin nút và chỉ số phụ Một nút a sẽ lấy key của nó bằng cách sử dụng hàm băm Hash(), key này là id duy nhất trong không gian định danh của DHT Ngoài

ra, nó giữ id của vùng sau khi ánh xạ không gian địa chỉ Như vậy, nút a sẽ sử dụng Hash(region.id) để có được key của vùng Nút có key gần nhất với key của vùng được gọi là nút cụm (CN - Cluster Node) [6] Nút a sẽ gửi các thông tin của mình như: tọa độ, định danh, địa chỉ IP, cổng, lên nút cụm để đăng ký Các nút thuộc cùng một cụm cũng phải gửi thông tin của nó lên nút cụm để đăng ký Khi nút a tìm được láng giềng gần, nó sẽ thêm các nút đó vào tập các hàng xóm

để tối ưu bàng định tuyến về sau

Nhưng nếu không có bất kỳ nút nào tham gia khu vực Ix,y trong lớp Lx khi a tham gia, thì nó bắt đầu mở rộng tìm kiếm như sau: tìm kiếm láng giềng gần trong 6 khu vực khác xung quanh Ix,y, chẳng hạn như Ix,y-1, Ix,y+1, Ix-1,y, Ix-1,j, Ix-

Ngày đăng: 25/03/2015, 11:19

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Mạng ngang hàng Chord - Đánh giá các giải pháp tối ưu hóa Topology cho mạng ngang hàng có cấu trúc
Hình 1.1 Mạng ngang hàng Chord (Trang 9)
Hình 1.2: Mạng ngang hàng không có cấu trúc Napster - Đánh giá các giải pháp tối ưu hóa Topology cho mạng ngang hàng có cấu trúc
Hình 1.2 Mạng ngang hàng không có cấu trúc Napster (Trang 13)
Hình 1.3: Mô hình hoạt động của dịch vụ chia sẻ File - Đánh giá các giải pháp tối ưu hóa Topology cho mạng ngang hàng có cấu trúc
Hình 1.3 Mô hình hoạt động của dịch vụ chia sẻ File (Trang 14)
Hình 1.4: Mạng Chord với m=3 - Đánh giá các giải pháp tối ưu hóa Topology cho mạng ngang hàng có cấu trúc
Hình 1.4 Mạng Chord với m=3 (Trang 16)
Hình 1.5 cho thấy nút 0 lưu key 6, nút 1 lưu key 1 và nút 3 lưu key 2. - Đánh giá các giải pháp tối ưu hóa Topology cho mạng ngang hàng có cấu trúc
Hình 1.5 cho thấy nút 0 lưu key 6, nút 1 lưu key 1 và nút 3 lưu key 2 (Trang 17)
Hình 1.5: Lưu giữ khóa trong mạng Chord. - Đánh giá các giải pháp tối ưu hóa Topology cho mạng ngang hàng có cấu trúc
Hình 1.5 Lưu giữ khóa trong mạng Chord (Trang 17)
Hình 2.1: Phân hoạch không gian tọa độ 2 chiều - Đánh giá các giải pháp tối ưu hóa Topology cho mạng ngang hàng có cấu trúc
Hình 2.1 Phân hoạch không gian tọa độ 2 chiều (Trang 21)
Hình 2.2: Véc tơ chiều cao trong không gian tọa độ 2 chiều. - Đánh giá các giải pháp tối ưu hóa Topology cho mạng ngang hàng có cấu trúc
Hình 2.2 Véc tơ chiều cao trong không gian tọa độ 2 chiều (Trang 26)
Hình 3.1: Sơ đồ mô tả mô phỏng - Đánh giá các giải pháp tối ưu hóa Topology cho mạng ngang hàng có cấu trúc
Hình 3.1 Sơ đồ mô tả mô phỏng (Trang 35)
Hình 3.2: Đồ thị về băng thông sử dụng - Đánh giá các giải pháp tối ưu hóa Topology cho mạng ngang hàng có cấu trúc
Hình 3.2 Đồ thị về băng thông sử dụng (Trang 36)
Hình 3.3: Đồ thị về độ trễ tìm kiếm trung bình - Đánh giá các giải pháp tối ưu hóa Topology cho mạng ngang hàng có cấu trúc
Hình 3.3 Đồ thị về độ trễ tìm kiếm trung bình (Trang 36)
Hình 3.4: Đồ thị về sai số tương đối của Vivaldi - Đánh giá các giải pháp tối ưu hóa Topology cho mạng ngang hàng có cấu trúc
Hình 3.4 Đồ thị về sai số tương đối của Vivaldi (Trang 37)
Hình 3.5: Đồ thị so sánh tỉ lệ tìm kiếm không thành công. - Đánh giá các giải pháp tối ưu hóa Topology cho mạng ngang hàng có cấu trúc
Hình 3.5 Đồ thị so sánh tỉ lệ tìm kiếm không thành công (Trang 38)
Hình 3.6: Độ trễ tìm kiếm trung bình của mạng 1024 nút - Đánh giá các giải pháp tối ưu hóa Topology cho mạng ngang hàng có cấu trúc
Hình 3.6 Độ trễ tìm kiếm trung bình của mạng 1024 nút (Trang 39)
Hình 3.7: Độ trễ tìm kiếm trung bình khi tăng khoảng cách theo hệ số. - Đánh giá các giải pháp tối ưu hóa Topology cho mạng ngang hàng có cấu trúc
Hình 3.7 Độ trễ tìm kiếm trung bình khi tăng khoảng cách theo hệ số (Trang 40)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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