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

Mạng ngang hàng và định tuyến trong mạng ngang hàng (p2p)

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

Mạng ngang hàng và định tuyến trong mạng ngang hàng (P2P)

MỤC LỤC

MỤC LỤC...................................................................................................................................................1
]Chương 1: Tổng quan về mạng ngang hàng P2P........................................................................................2
1.1.

Giới thiệu.....................................................................................................................................2

1.2.

Định nghĩa P2P............................................................................................................................2

1.3.

So sánh mơ hình P2P với mơ hình Client/Server:........................................................................3

1.4.

Ưu, nhược điểm của mạng P2P, Client/Server:...........................................................................3

1.5.

Phân loại mạng ngang hàng.........................................................................................................4

1.5.1.

Hệ thống ngang hàng lai (Hybrid Peer to Peer System).......................................................5

1.5.2.



Mạng ngang hàng thuần túy (Pure Peer-to-peer System).....................................................7

1.5.3 Kiến trúc siêu ngang hàng (Super-peer Architecture)................................................................8
1.5.4 Mạng ngang hàng có cấu trúc (Structured)................................................................................9
1.6.

Tìm thong tin quảng bá qua mạng P2P......................................................................................10

Chương 2 : Định tuyến trong các hệ thống P2P thế hệ mới.......................................................................12
2.1 Tổng quan định tuyến......................................................................................................................12
2.1.1. Khái niệm...............................................................................................................................12
2.1.2. Nguyên tắc...............................................................................................................................12
2.1.3. Định tuyến tĩnh và định tuyến động.........................................................................................13
2.2 Định tuyến trong mạng ngang hang P2P..........................................................................................13
2.2.1 Tổng quan.................................................................................................................................13
2.2.2. Định tuyến dựa vào tiền tố (Prefix routing).............................................................................13
2.2.3. Thuật toán Plaxon et al...........................................................................................................14
2.2.4. Thuật toán Tapetry..................................................................................................................14
2.2.5. Thuật toán Pastry....................................................................................................................17
2.2.6. Thuật toán Chord....................................................................................................................17
2.2.6.1. Giao thức Chord....................................................................................................................17
2.2.6.2. Ánh xạ khóa vào một nút trong Chord..................................................................................18
2.2.6.3. Đặc Điểm Hệ Thống Chord..................................................................................................19
2.3. Một số nhận xét về định tuyến trong mạng ngang hàng có cấu trúc...............................................20

Trang 1


Mạng ngang hàng và định tuyến trong mạng ngang hàng (P2P)


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

Giới thiệu

Mạng ngang hàng (Peer-to-Peer – P2P) bắt đầu xuất hiện từ 1999 và đã thu hút sự
quan tâm của giới CNTT trong những năm gần đây. Đặc biệt việc áp dụng các mơ hình
P2P trong việc xây dựng những ứng dụng chia sẻ file (file sharing), điện thoại trên nền
Internet (Internet-based telephony) đã đạt được nhiều thành công.
Hiện nay các ứng dụng P2P chiếm khoảng 50% (thậm chí 75%) băng thơng trên
Internet.
Các ứng dụng của kiểu mạng này như là: Napster, Skype, BitTorrent, FlashGet,
Sopcast, ICQ...vv..
1.2.

Định nghĩa P2P

“Mạng ngang hàng là một kiểu mạng được thiết kế cho các thiết bị trong đó có chức
năng và khả năng của các thiết bị đó là như nhau”
Mạng P2P khơng có khái niệm máy trạm (client) hay máy chủ (server), mà chỉ có
khái niệm các nốt (peers) đóng vai trị như cả client và server.

Hình 1. Kiến trúc mạng ngang hang Peer-to-Peer
Mạng ngang hàng là một hệ thống phân tán đặc biệt trong tầng ứng dụng, ở đó
mỗi cặp điểm nút có thể giao tiếp với nhau thông qua giao thức định tuyến trọng các tầng
mạng ngang hàng. Mỗi điểm nút giữ 1 đối tượng dữ liệu nào đó có thể là nhạc, ảnh, tài
Trang 2



Mạng ngang hàng và định tuyến trong mạng ngang hàng (P2P)

liệu,..vv... Mỗi điểm nút có thể truy vấn tới đối tượng nó cần từ các điểm nút khác thơng
qua kết nối logic trong tầng mạng ngang hàng.
Overlay network:Là mạng máy tính được xây dựng trên nền của một mạng
khác. Các nodes trong mạng overlay được xem là nối với nhau bằng liên kết ảo (logical
links), mỗi liên kết ảo có thể bao gồm rất nhiều các liên kết vật lí của mạng nền.
Rất nhiều các mạng P2P được gọi là overlay networks vì nó được xây dựng và hoạt
động trên nền của Internet. VD: Gnutella, Freenet, DHTs ….
Dial-up Internet cũng là một overlay network trên nền telephone network.
1.3.

So sánh mô hình P2P với mơ hình Client/Server:

P2P
- Một mạng ngang hàng cho phép các
node (PCs) đóng góp, chia sẻ nguồn tài
nguyên với nhau. Tài nguyên riêng rẽ
của các node (ổ cứng, CD-ROM,
máy in …. Các nguồn tài nguyên này
có thể được truy cập từ bất cứ node nào
trong mạng.

1.4.

Client/Server
- Dữ liệu được lưu trữ ở một Server
trung tâm, tốc độ cao (Tốc độ truy cập
thường lớn hơn so với mạng P2P).


- Khi một máy client yêu cầu lấy thông
tin về thời gian nó sẽ phải gửi một yêu
cầu theo một tiêu chuẩn do server định
ra, nếu yêu cầu được chấp nhận thì máy

Ưu, nhược điểm của mạng P2P, Client/Server:

P2P

+ Ưu điểm:

-

-

Client/Server

+ Ưu điểm:

Không cần server riêng, các client
chia sẻ tài nguyên. Khi mạng càng
được mở rộng thì khả năng hoạt
động của hệ thống càng tốt.

- Tốc độ truy cập nhanh.

Rẻ.

- Hoạt động với bất kì loại ứng dụng
nào.


- Khả năng mở rộng cao.

Trang 3


Mạng ngang hàng và định tuyến trong mạng ngang hàng (P2P)

+
Nhược
điểm:

-

Chậm.

+
Nhược
điểm:

- Cần server riêng (nghẽn cổ chai).

Hình 1.2. Tổng quan đặc tính mạng P2P và mạng Client-Server
1.5.

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

Hai tiêu chí cơ bản để phân loại mạng ngang hàng:
Trang 4



Mạng ngang hàng và định tuyến trong mạng ngang hàng (P2P)

Theo mục đích sử dụng:


Chia sẻ file (file sharing)



Điện thoại VoIP (telephony)



Đa phương tiện media streaming (audio, video)



Diễn đàn thảo luận (Discussion forums)

Tiêu chí này thường được các nhà phát triển ứng dụng quan tâm. Theo đó các
ứng dụng với đặc điểm riêng sẽ được phân loại và áp dụng theo những mơ hình sẵn
có, chun biệt.


Theo topo của mạng ở tầng vật lý và mạng phủ.

Đây là tiêu chí được phát triển qua từng thời kỳ và được xem xét nghiên cứu
để tìm ra những giải pháp tốt nhất, xây dựng nền tảng vững chắc cho các ứng dụng
sau này.

1.5.1.

Hệ thống ngang hàng lai (Hybrid Peer to Peer System)

Đây là mạng ngang hàng thế hệ thứ nhất, đặc điểm là vẫn cịn dựa trên một
máy chủ tìm kiếm trung tâm - đặc điểm của mơ hình khách chủ, chính vì vậy nó cịn
được gọi là mạng ngang hàng lai hay mạng tập trung (centralized Peer-to-Peer
networks). Cấu trúc Overlay của mạng ngang hàng lai có thể được mơ tả như một
mạng hình sao.
Nguyên tắc hoạt động:


Mỗi client lưu trữ files định chia sẻ với các nút khác trong mạng.



Một bảng lưu trữ thông tin kết nối của người dùng đăng kí (IP address,
connection bandwidth…).



Một bảng liệt kê danh sách các files mà mỗi người dùng định chia
sẻ (tên file, dung lượng, thời gian tạo file…).



Mọi máy tính tham gia mạng được kết nối với máy chủ tìm kiếm trung
tâm, các yêu cầu tìm kiếm được gửi tới máy chủ trung tâm phân tích, nếu
yêu cầu được giải quyết máy chủ sẽ gửi trả lại địa chỉ IP của máy chứa
tài nguyên trong mạng và quá trình truyền file được thực hiện theo đúng

cơ chế của mạng ngang hàng, giữa các host với nhau mà không cần quan
máy chủ trung tâm.

Trang 5


Mạng ngang hàng và định tuyến trong mạng ngang hàng (P2P)

Hình 1.3. Mơ hình mạng lai ngang hang(Hibrid P2P)

\
Hình 1.3 Mơ hình mạng Hibrid P2P cụ thể
Ưu điểm:


Dễ xây dựng.



Tìm kiếm file nhanh và hiệu quả.

Nhược điểm:
Trang 6


Mạng ngang hàng và định tuyến trong mạng ngang hàng (P2P)



Vấn đề luật pháp, bản quyền.




Dễ bị tấn công.



Cần quản trị (central server).

Napster là mạng ngang hàng đặc trưng cho hệ thống mạng ngang hàng của thế hệ
thứ nhất, chúng được dùng cho việc chia sẻ các file giữa các người dùng Internet, được
sử dụng rộng rãi, tuy nhiên nhanh chóng bị mất thị trường bởi yếu tố về luật pháp. Khái
niệm và kiến trúc của Napster vẫn còn được sử dụng trong các ứng dụng khác như:
Audiogalaxy, WinMX.
Với Napster, việc tìm kiếm file bị thất bại khi bảng tìm kiếm trên máy chủ vì lý do
nào đó khơng thực hiện được. Chỉ có các file truy vấn và việc lưu trữ được phân tán, vì
vậy máy chủ đóng vai trị là một nút cổ chai. Khả năng tính tốn và lưu trữ của máy chủ
tìm kiếm phải tương xứng với số nút mạng trong hệ thống, do đó khả năng mở rộng mạng
bị hạn chế rất nhiều.
1.5.2. Mạng ngang hàng thuần túy (Pure Peer-to-peer System)
Mạng ngang hàng thuần túy là một dạng khác của thế hệ thứ nhất trong hệ
thống các mạng ngang hàng. Khơng cịn máy chủ tìm kiếm tập trung như trong
mạng Napster, nó khắc phục được vấn đề nút cổ chai trong mơ hình tập trung. Tuy
nhiên vấn đề tìm kiếm trong mạng ngang hàng thuần túy lại sử dụng cơ chế
Flooding, yêu cầu tìm kiếm được gửi cho tất cả các nút mạng là láng giềng với nó,
điều này làm tăng đáng kể lưu lượng trong mạng. Đây là một yếu điểm của các
mạng ngang hàng thuần túy. Các phần mềm tiêu biểu cho mạng ngang hàng dạng
này là Gnutella 0.4, FreeNet.

Hình1. 4. Mạng ngang hàng thuần túy (Gnutella 0.4, FreeNet)

Ưu điểm:
Trang 7


Mạng ngang hàng và định tuyến trong mạng ngang hàng (P2P)



Dễ xây dựng.



Đảm bảo tính phân tán hồn tồn cho các nút tham gia mạng, các nút
tham gia và rời khỏi mạng một cách tùy ý mà không ảnh hưởng đến cấu
trúc của mạng.

Nhược điểm:


Tốn băng thơng.



Phức tạp trong tìm kiếm.



Các nút có khả năng khác nhau (CPU power, bandwidth, storage) đều có
thể phải chịu tải (load) như nhau.


1.5.3 Kiến trúc siêu ngang hàng (Super-peer Architecture)
Để khắc phục nhược điểm của mạng ngang hàng thuần túy, một mơ hình mang
ngang hàng mới được phát triển với tên gọi là mạng siêu ngang hàng. Đây được gọi
là mạng ngang hàng thế hệ 2. Phần mềm tiêu biểu cho mạng ngang hàng kiểu này
là Gnutella 0.6 và JXTA (Juxtapose). JXTA được bắt đầu phát triển bởi SUN từ
2001 (Đây là giao thức P2P mã nguồn mở). JXTA được sử dụng cho PCs,
mainframes, cell phones, PDAs - để giao tiếp theo cách không tập trung. Skype
cũng được xây dựng dựa trên cấu trúc này.

Hình 1.5. Kiến trúc siêu ngang hàng(Gnutella 0.6, JXTA)
Nguyên tắc hoạt động:


Trong mơ hình mạng siêu ngang hàng tồn tại một trật tự phân cấp bằng
việc định nghĩa các Super-peers.
Trang 8


Mạng ngang hàng và định tuyến trong mạng ngang hàng (P2P)



Các Super-peer tạo thành một mạng khơng cấu trúc, có sự khác nhau
giữa Super-peers và Client-peers trong mạng, mỗi Super-peer có nhiều
kết nối đến các Client-peers.



Mỗi Supper-peer chứa một danh sách các file được cung cấp bởi các
Client-peer và địa chỉ IP của chúng vì vậy nó có thể trả lời ngay lập tức

các yêu cầu truy vấn từ các Client-peer gửi tới.

Ưu điểm:


Hạn chế việc Flooding các query, làm giảm lưu lượng trong mạng,
nhưng vẫn tránh được hiện tượng nút cổ chai (do có nhiều Super-peers).



Khắc phục được nhược điểm về sự khác nhau về CPU power,
bandwidth… ở mạng ngang hàng thuần túy, các Super-peer sẽ chịu tải
chính, các nút khác chịu tải nhẹ.

Nhược điểm:


Mỗi điểm Super-peer trở thành điểm gây lỗi cho nhóm siêu ngang hàng
tương ứng trong trường hợp số lượng Client trong nhóm là rất lớn (tuy
nhiên, nhược điểm này đã được giải quyết bằng việc cải tiến mạng siêu
ngang hàng thông thường, đưa ra khái niệm siêu ngang hàng dư cấp k).

1.5.4 Mạng ngang hàng có cấu trúc (Structured)
Hệ thống mạng ngang hàng khơng cấu trúc thể hiện nhược điểm: khơng có gì
đảm bảo tìm kiếm sẽ thành cơng. Đối với tìm kiếm các dữ liệu phổ biến được chia
sẻ trên nhiều máy, tỉ lệ thành công là khá cao, ngược lại, nếu dữ liệu chỉ được chia
sẻ trên một vài máy thì xác suất tìm thấy là khá nhỏ. Tính chất này là hiển nhiên vì
trong mạng ngang 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 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ó đị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ạ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úc
bằng cách sử dụng hệ thống DHT (Distributed Hash Table - Bảng Băm Phân Tán).
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 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ệm cho dữ liệu đó và sau đó liên lạc trực tiếp đến nút mạng đó để lấy kết quả.
Trang 9


Mạng ngang hàng và định tuyến trong mạng ngang hàng (P2P)

Nguyên tắc hoạt động:


Topo mạng được kiểm soát chặt chẽ.



Files (hoặc con trỏ trỏ tới files) được đặt ở một vị trí xác định.



Điều quan trọng đối với những hệ thống có cấu trúc là cung cấp sự liên
kết (mapping) giữa nội dung (ví dụ: id của file) và vị trí nút (ví dụ: địa
chỉ nút). Việc này thường dựa trên một cấu trúc dữ liệu bảng băm phân

tán (Distributed Hash Table).

Hình 1. 6. Cơ chế của bảng băm phân tán (DHT)
Dựa trên cấu trúc bảng băm phân tán đã có nhiều nghiên cứu và đề xuất ra các
mơ hình mạng ngang hàng có cấu trúc, điển hình là cấu trúc dạng vịng (như
trong hình vẽ mơ tả): Chord, Pastry…, và cấu trúc không gian đa chiều: CAN,
Viceroy.
Ưu điểm:


Khả năng mở rộng được nâng cao rõ rệt do khơng có điểm tập trung
gây ra hiện tượng thắt nút cổ chai tại những điểm này.



Các truy vấn tìm kiếm được phát đi theo một thuật toán cụ thể, hạn chế
tối đa lượng truy vấn hay kỹ thuật flooding, tiết kiệm băng thơng mạng.

Nhược điểm:


Việc quản lí cấu trúc của topo mạng gặp khó khăn, đặc biệt trong trong
trường hợp tỷ lệ vào/ra mạng của các nút cao.



Vấn đề cân bằng tải trong mạng.

Sự khác biệt về topology trên mạng overlay và mạng liên kết vật lý dẫn đến thời gian trễ
truy vấn trung bình cao.

1.6.

Tìm thong tin quảng bá qua mạng P2P
Trang 10


Mạng ngang hàng và định tuyến trong mạng ngang hàng (P2P)

1 Peer có thể có được 1 bản tin quảng bá bằng 1 trong 3 cách
Khơng có tin discovery
Discovery trực tiếp
Discovery gián tiếp

Hình 1.7.Peer discovery thong qua catched quảng bá

Hình 1.8.Discover trực tiếp

Trang 11


Mạng ngang hàng và định tuyến trong mạng ngang hàng (P2P)

Hình 1.9 Discovery gián tiếp

Chương 2 : Định tuyến trong các hệ thống P2P thế hệ mới

2.1 Tổng quan định tuyến
2.1.1. Khái niệm
- Định tuyến là 1 quá trình chọn lựa các đường đi trên một mạng máy tính để gửi dữ liệu
qua đó.

- Định tuyến chỉ ra hướng và đường đi tốt nhất từ nguồn đến đích của các gói tin
(packer) thơng qua các node trung gian là router.
2.1.2. Nguyên tắc
- Trong hoạt động định tuyến , người ta chia làm hai loại là định tuyến trực tiếp và định
tuyến gián tiếp. Định tuyến trực tiếp là định tuyến giữa hai máy tính nối với nhau vào
một mạng vật lý. Định tuyến gián tiếp là định tuyến giữa hai máy tính ở xa các mạng vật
lý khác nhau nên chúng phải thực hiện thông qua cac Gateway.
- Để kiểm tra xem máy đích có năm trên cùng một mạng vật lý với máy nguồn hay
khơng thì người gửi phải tách lấy địa chỉ mạng của máy đích trong phần tiêu đề của gói
dữ liệu và so sánh với phần địa chỉ mạng trong phần địa chỉ IP của nó. Nêu trùng thì gói
tin sẽ được truyền trực tiếp nếu khơng cần phải xác định Gateway để truyền các gói này
thơng qua nó để ra mạng ngồi thích hợp.
Trang 12


Mạng ngang hàng và định tuyến trong mạng ngang hàng (P2P)

2.1.3. Định tuyến tĩnh và định tuyến động
- Định tuyến là q trình mà router thực hiện để chuyển gói dữ liệu tới mạng đích. Tất cả
các router dọc theo đường đi đều dựa vào địa chỉ IP đích của gói dữ liệu để chuyển gói
theo đúng hướng đến đích cuối cùng .Để thực hiện được điều này, router phải học thông
tin về đường đi tới các mạng khác .Nếu router chạy định tuyến động thì router tự động
học những thơng tin này từ các router khác .Cịn nếu router chạy định tuyến tĩnh thì
người quản trị mạng phải cấu hình các thơng tin đến các mạng khác cho router .
- Đối với định tuyến tĩnh ,các thông tin về đường đi phải do người quản trị mạng nhập
cho router . Khi cấu trúc mạng có bất kỳ thay đổi nào thì chính người quản trị mạng phải
xố hoặc thêm các thông tin về đường đi cho router . Những loại đường đi như vậy gọi là
đường đi cố địn. Đối với hệ thống mạng lớn thì cơng việc bảo trì mạng định tuyến cho
router như trên tốn rất nhiều thời gian .Cịn đối với hệ thống mạng nhỏ ,ít có thay đổi thì
cơng việc này đỡ mất cơng hơn . Chính vì định tuyến tĩnh địi hỏi người quản trị mạng

phải cấu hình mọi thơng tin về đường đi cho router nên nó khơng có được tính linh hoạt
như định tuyến động .Trong những hệ thống mạng lớn , định tuyến tĩnh thường được sử
dụng kết hợp với giao thức định tuyến động cho một mục đích đặc biệt.
2.2 Định tuyến trong mạng ngang hang P2P
2.2.1 Tổng quan
Các hệ thống chia sẻ dữ liệu peer-to-peer (P2P) hiện là một trong những ứng
dụng Internet phổ biến nhất và đang trở thành nguồn lưu lượng Internet chính. Do vậy,
việc mở rộng quy mô cho các hệ thống này là cực kỳ quan trọng. Tuy nhiên, các thiết kế
ban đầu cho các hệ thống P2P khơng phù hợp với các mạng có quy mơ lớn, ví dụ như
Napster và Gnutella. Nhằm đáp ứng các vấn đề mở rộng quy mô, thế hệ mới các hệ
thống P2P hỗ trợ tính năng bảng hàm băm phân tán (DHT), trong số đó là Tapestry,
Pastry, Chord và CAN (Content-Addressable Networks). Trong các hệ thống này (còn
gọi là các hệ thống DHT), các file được ràng buộc với các khoá (key).

Hầu như các thuật toán hiện tại ứng dụng trong mạng ngang hàng thế hệ mới
(mạng có cấu trúc) đều định tuyến dựa trên key. Nó nhận một key, và để hồi đáp, chúng
định tuyến một bản tin tới node có trách nhiệm với key ấy. Các key là các chuỗi số có
một độ dài nào đấy. Cácnode là các bộ nhận dạng, lấy từ cùng không gian với các key (có
nghĩa là cùng số lượngdigits). Mỗi node lưu giữ một bảng định tuyến bao gồm một tập
nhỏ các node trong hệ thống.Các thuật toán định tuyến đều cố gắng định tuyến tới node
có key phù hợp và qua ít số hop nhất. Dưới đây là một số thuật toán định tuyến hiện tại:
2.2.2. Định tuyến dựa vào tiền tố (Prefix routing)
Định tuyến dựa vào tiền tố (Prefix routing) - PRR: đây là thuật toán đầu tiên cho
Trang 13


Mạng ngang hàng và định tuyến trong mạng ngang hàng (P2P)

việc tìm kiếm và định tuyến của mạng ngang hàng. Bằng cách ánh xạ nhận dạng
đối tượng thành không gian địa chỉ của các peers, PRR định tuyến dựa trên key và có

thể trợ giúp các thao tác: đọc, chèn và xóa đối tượng lưu trữ trong mạng chồng phủ.
Nguyên lý của thuật toán này là nền tảng cho các thiết kế DHT sau này. PRR là định
tuyến dựa trên hậu tố, là trường hợp đối xứng của định tuyến tiền tố. Định tuyến hậu
tố và tiền tố đều dựa trên sự giống nhau để tăng vị trí của địa chỉ đích tại mỗi hop dọc
theo đường cho đến khi đích đạt tới. Thiết kế PPR dựa trên tập các node tĩnh; không
quan tâm tới thành viên là các node động, khơng có kỹ thuật cập nhật bảng định tuyến
khi node ra nhập hoặc rời mạng. Phiên bản đơn giản của PRR được gọi là SPRR được
đưa ra bởi Li and Paxton. Một số các thuật toán Tapestry, Pastry, P-Grid, Cycloid,
and Z-Grid. Plaxton, Rajaraman đều dựa trên PRR.

2.2.3. Thuật toán Plaxon et al
Plaxon et al: Plaxon et al là một phiên bản của PRR, đây là thuật toán đầu tiên
được sử dụng trên quy mô lớn bởi các DHT, nhưng khơng cung cấp việc định tuyến tìm
kiếm hiệu quả. Thuật toán của Plaxton ban đầu được tạo ra để định tuyến các truy vấn
Web tới các cache lân cận, và nó ảnh hưởng đến thiết kế của Pastry, Tapestry và
Chord. Phương pháp Plaxton có độ phức tạp tham gia/rời bỏ theo hàm loga. Plaxton
đảm bảo các truy vấn không bao giờ đi xa hơn trong khoảng cách mạng so với peer
mà lưu giữ key. Tuy nhiên, Plaxton cũng có một số nhược điểm: yêu cầu hiểu biết
toàn bộ để xây dựng mạng chồng; peer gốc của đối tượng là điểm lỗi đơn; khơng có
sự chèn thêm hoặc xố bỏ peer; khơng có sự tránh các điểm tắc nghẽn nóng. Đối với
một hệ thống n node, mỗi node có O(log n) lân cận, độ dài đường định tuyến O(log
n) bước nhảy

2.2.4. Thuật tốn Tapetry
Tapestry sử dụng mơ ̣t biến thể của thuâ ̣t toán Palaxon et al và thêm vào tính năng
đô ̣ng cho các pees trong mạng chồng. Sử dụng định tuyến dựa vào tiền tố, Tapestry sử
dụng thuâ ̣t toán SHA-1 để băm các địa chỉ node thành các ID biểu diễn theo hê ̣ số 2 b .
Để hiểu rõ hơn về vấn đề ta sẽ tìm hiểu về thuâ ̣t toán SHA-1 :
Khởi gán các biến:
H0:=0x67452301

H1:=0xEFCDAB89
H2:=0x98BADCFE
H3:=0x10325476
Trang 14


Mạng ngang hàng và định tuyến trong mạng ngang hàng (P2P)

H4:=0xC3D2E1F0
Tiền xử lý:
Thêm 1 bít vào thông điê ̣p.
Thêm vào k bit 0 sao cho đô ̣ dài thông diê ̣p đồng du 448 (mod 512).
Thêm 64 bít biểu diễn đô ̣ dài của thông điê ̣p gốc ( giá trị lưu dạng big –endian)

M

1 0…0

m
1 bit
Hình 2.1. Độ dài thơng điệp gốc của khối 512 bít
Từ hình vẽ 2.1 ta chia thông điê ̣p ( pha đinh) thành các khối 512 bít.
Mỗi khối 512 bít:


Chia thành 16 word (32 bít, big-endian) w[0..15]



w[i]=(w[i-3]Å w[i-8] Å w[i-14] Å w[i-16]) <<< 1 với 16 £ i < 80




A= h0, B= h1, C= h2, D= h3, E= h4



80 chu kỳ xử lý



h0+=A, h1+=B, h2+=C, h3+=D, h4+=E



Kết quả:= h0 | h1 | h2 | h3 | h4

Å:phép Xor
Chu kỳ xử lý:


t là số thứ tự của chu kỳ



A, B, C, D, E là 5 word (32 bit) của trạng thái



F là hàm phi tuyến (thay đổi tùy theo chu kỳ)




<<< n là phép quay trái n vị trí
Trang 15


Mạng ngang hàng và định tuyến trong mạng ngang hàng (P2P)



⊞ phép cộng modulo 232.



Kt là hằng số .



X  Y phép toán AND trên bít giữa X và Y



X  Y phép toán OR trên bít giữa X và Y



X  Y phép toán XOR trên bít giữa X và Y




X phép toán NOT trên bít X

F



K

t

t





X

, Y

,

Z





X

 Y

 X
 Y


X
 Y

 X
 Y



  X


Z ,


 X


Z ,

0x5a827999
,0

t



0x6ed9eba1
, 20



0x8f1bbcdc
, 40



0xca62c1d6
,60







Z



Z


 19
t


39
t

59
t

79

Hình 2.2 . Bảng Định Tuyến Chứa các Node có ID
Mỗi node lưu giữ mô ̣t bảng định tuyến gồm log 2 b (N) hàng và 2 b cô ̣t. Hàng thứ
nhất trong bảng định tuyến chứa các node có ID khác với ID của node đó ở chỉ số thứ
nhất. Hàng thứ hai trong bảng định tuyến chứa các node có ID giống với ID của node đó
ở chữ số thứ nhất nhưng khác ở chữ số thứ hai. Các hàng còn lại của bảng định tuyến
cũng được tổ chức tương tự. Quá trình tìm kiếm được thực hiê ̣n bằng cách so sánh lần
lượt các chữ số tiền tố của ID. Ví dụ 4***  42**  422*  4227, quá trình này gọi là
“ánh xạ lân câ ̣n”. Bảng định tuyến của mô ̣t node X được chia thành nhiều mức (log2 b
(N)), mỗi mức i bao gồm các liên kết (2 b -1) đến các node có tiền tố giống đến chữ số
thứ i-1 với ID của X. khi mô ̣t node định tuyến đến node đích nó sẽ đi theo đường đến
node có ID gần giống với ID đích nhất (dựa theo bảng định tuyến). Sau mỗi chă ̣ng node
tiếp theo sẽ có mức cao hơn ít nhất là 1, vì vâ ̣y sau nhiều nhất là log 2 b (N) chă ̣ng quá
trình tìm kiếm kết thúc.
Trang 16




,
Y





Mạng ngang hàng và định tuyến trong mạng ngang hàng (P2P)

2.2.5. Thuật toán Pastry
Trong Pastry việc định tuyến bao gồm việc chuyển truy vấn tới node lân cận có
tiền tố được chia sẻ dài nhất với key (và, trong trường hợp chặt chẽ, thì tới node có bộ
nhận dạng gần nhất về số đối với key). Pastry có O(log n) lân cận và định tuyến trong
vòng O (log n) bước nhảy .
2.2.6. Thuật toán Chord
Hệ thống và các ứng dụng peer-to-peer là các hệ thông phân tán không cần bộ xử lý trung
tâm, các phần mềm được chạy trên các node và thực hiện các chức năng của nó. Các đặc
điểm của ứng dụng peer-2-peer như : lưu trữ bản dự phịng, lâu dài, lựa chọn điểm gần, tìm
kiếm, xác thực, phân cấp tên.Thực tế với nhiều đặc điểm tốt, lõi (core)của hầu hết các hệ
thống peer-2-peer đều dựa trên xác định vị trí dữ liệu.
2.2.6.1. Giao thức Chord
Giao thức Chord được thiết kế giống như giao thức định tuyến DHT nhằm mục đích phát
triển một cách phân tán dữ liệu tốt nhất, các node được phân phối IDs và Keys với nhiều đặc
trưng như Scalability(đánh giá), Complete Decentralization(phân quyền), Efficient Load
Blancing(cân bằng tải), và Simplicity( đơn giản). Chord coi các khóa Key là các điểm trên
một đường trịn. Khơng gian khóa đường trịn được chia thành các cung liên tiếp mà điểm
cuối của cung này là các định danh ID của các node. Mỗi node lưu trữ thông tin định tuyến
tới các node khác trong một bảng định tuyến được gọi là Finger Table.

Hình 2.3. Bảng Finger table và cấp key cho từng node 0,1,3 và keys 1,2,6
Giao thức Chord hỗ trợ duy nhất một hoạt động : đưa ra 1 key, nó sẽ ánh xạ key đó vào
1 node.Tùy thuộc vào ứng dụng sử dụng Chord ( văn bản, hình ảnh, media..), node đó sẽ lưu
trữ một giá trị kết hợp với key. Chord sử dụng kí thuật consistent hashing để cấp key cho các
node.Consistent hashing dùng để cần bằng tải, mỗi node sẽ nhận được số lượng key gần
Trang 17



Mạng ngang hàng và định tuyến trong mạng ngang hàng (P2P)

ngang nhau, vào làm cả việc chuyển số lượng key khi có node tham gia hay rời khỏi hệ
thống. Kĩ thuật consistent hashing đầu tiên sẽ nhận biết các node trong hệ thống, tạo ra sự
cân chỉnh về số lượng các node. Mỗi node trong Chord cần được "routing" để biết thơng tin
về một vài node khác. Vì bảng định tuyến là phân tán, 1 node sẽ sử dụng hàm băm để giao
tiếp với các node khác. Khi mạng được thiết lập, 1 hệ thống gồm N-node, trong đó mỗi node
chứa thống tin về O(log N) node xung quanh nó, và tìm kiếm các node khác thơng qua O(log
N) thơng điệp tới các node đó. Chord duy trì thơng tin định tuyến khi các node tham gia/rời
khỏi hệ thống. Với một hệ thống có tần suất cao, một node cũng chỉ cần gửi không quá
O(log2 N) thông điệp để định tuyến.
2.2.6.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 sẽ là một cặp key và value. Một value có thể là 1
address, 1 văn bản, hoặc 1 mục dữ liệu. Chord có thể thực hiện chức 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).

Hình 2.4. Lưu giữ key trong mạng Chord

2.2.6.3. Đặc Điểm Hệ Thống Chord
Chord được thiết kế dựa trên các vấn đề sau :
- Load Balance ( phân tải) : Chord sử dụng bảng băm phân tán, phân tải trên các node, một
node sẽ không chứa quá nhiều kay.
- Decẻntralization (phân quyền): Chord là phân tán hồn tồn, khơng node nào quan trọng
hơn node nào, việc này cải thiện được sự vững chắc của hệ thống.
- Scalability ( đánh giá) : giá của việc tìm kiếm tăng lên theo Log của số node : Log(n)
- Availability (tiện dụng) : Chord tự điều chỉnh các bảng định tuyến khi có node tham gia và

rời khỏi mạng Flexible naming ( định nghĩa tên linh hoạt) : Chord không ràng buộc về cấu
Trang 18


Mạng ngang hàng và định tuyến trong mạng ngang hàng (P2P)

trúc của key mà nó tìm kiếm, khơng gian key là phẳng bằng việc gán cho key một cái tên và
tìm kiếm. ( ví dụ phẳng tức là đưa tất cả các loại key về thành 1 kiểu như id , khi tìm thì chỉ
cần tìm id của key) Phần mềm Chord tạo ra một liên kết giữa client và server của ứng dụng.
Ứng dụng tương tác với Chord qua 2 đường :
- Chord cung cấp các thuật tốn lookup(key)

Hình 2.5.Tương tác với chord qua 2 đường
Chord nhận biết sự thay đổi của key khi node phản ứng ( ví dụ khi có 1 node tham gia
vào mạng, nó sẽ được node bên cạnh chuyển cho một số lượng key lưu giữ)
2.3. Một số nhận xét về định tuyến trong mạng ngang hàng có cấu trúc
Mạng có cấu trúc, thường gọi là các mạng P2P thế hệ mới, thường sử dụng mơ
hình định tuyến dựa trên bảng băm phân tán DHT để làm giảm chi phí định tuyến và
cung cấp một giớihạn cho số bước nhảy được yêu cầu trong việc tìm kiếm một mục dữ
liệu. Các hệ thống như vậy có các ưu điểm như: tính phân tán, khả năng mở rộng, tính
sẵn sàng, khoảng cách định tuyến ngắn, sức chịu đựng lỗi. Định tuyến DHT dựa trên khái
niệm định tuyến trên cơ sở tiền tố, ban đầu được giới thiệu bởi Plaxton để hỗ trợ sự tham
gia/ rời bỏ động của các peer và để cung cấp các cơ chế khơi phục khi gặp lỗi. Nói cách
khác, các mạng P2P có cấu trúc có nghĩa là tơ pơ mạng P2P được điều khiển chặt chẽ và
các các đối tượng dữ liệu được đặt tại các vị trí cụ thể sao cho đạt được hiệu năng truy
vấn tốt hơn. Ví dụ cho các mạng như vậy là Plaxton,Pastry, Tapestry, Chord và CAN,
đang triển khai các thuật toán định tuyến DHT khác nhau.Các đặc tính lý thuyết đồ thị
được sử dụng để xác định và để cải thiện hiệu năng của cáchệ thống như vậy. Thông
thường, các đồ thị như thế thường có đường kính Θ(log n ) vàΘ(log n ) mức tại mỗi node,
n là số peers trong hệ thống.Một vấn đề quan trọng của các hệ thống có cấu trúc liên quan

đến tính ổn định (churn) nó ảnh hưởng nghiêm trọng đến hiệu năng mạng. Các nhược
Trang 19


Mạng ngang hàng và định tuyến trong mạng ngang hàng (P2P)

điểm khác là mào đầu cao, thiếu hỗ trợ cho truy tìm keyword và các truy vấn phức tạp.
Tuy nhiên, các nỗ lực gần đây hướng đến việc phát triển của một nền tảng thống nhất cho
các hệ thống DHT khác nhau, đó là làm cho các mạng có cấu trúc ngày càng hấp dẫn
hơn. Một nền tảng như vậy được mong đợi là sẽ cung cấp một API trên cơ sở KBR (Định
tuyến trên cơ sở Key), kết hợp với một mơ hình dịch vụDHT cơ bản để triển khai các ứng
dụng DHT một cách dễ dàng.
Một vấn đề quan trọng khác là các kỹ thuật định tuyến tìm kiếm sử dụng trong các hệ
thống P2P và các cách tối ưu chúng. Một kỹ thuật định tuyến đảm bảo tính hiệu quả và
QOS từ đầu vào người dùng. Thách thức đặt ra là việc phát triển các mơ hình định tuy ến
tối ưu mới chocác mạng lớn từ vài nghìn đến vài chục nghìn server và hàng triệu khách
hàng.
Tiêu chuẩn cơ bản cho việc phát triển các thuật toán định tuyến DHT hiệu quả là cung
cấptradeoff tốt nhất với một tập các tham số như: hiệu quả định tuyến, độ đàn hồi với
node lỗi,định tuyến các điểm nóng và hiệu năng trên cơ sở đồ thị. Các tham số khác như
tiêu tốn tài nguyên ít nhất cũng quan trọng không kém, đặc biệt là trong trường hợp các
mạng Ad-hoc di động.

 Hoạt động :


Join : Khi bắt đầu gia nhập mạng, liên hệ với một nút “bootstrap” và
tham gia vào cấu trúc dữ liệu phân tán; có một địa chỉ node id




Publish : quảng bá một địa chỉ file id hướng đến một nút gần id gần nhất
dọc theo cấu trúc dữ liệu

 Search : định tuyến một yêu cầu truy vấn cho một file id đi đến địa chỉ
node id gần nó. Dữ liệu có cấu trúc sẽ đảm bảo rằng truy vấn sẽ gặp
quảng bá

Trang 20



×