Tải bản đầy đủ (.doc) (23 trang)

Tiểu luận môn mạng máy tính nâng cao đề tài peer to peer networks

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 (913.54 KB, 23 trang )

Tiểu luận Mạng Máy tính Nâng cao

Peer-to-Peer Networks

BỘ GIÁO DỤC – ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DUY TÂN
------

TIỂU LUẬN
Môn: MẠNG

MÁY TÍNH NÂNG CAO
Đề tài:

Peer-to-peer networks
GV hướng dẫn

: TS Lê Trọng Vĩnh

Chuyên ngành

: Thạc sỹ Khoa Học Máy Tính

Khóa

:3

ĐÀ NẴNG, 07/2011

ĐH Duy Tân


Page 1


Tiểu luận Mạng Máy tính Nâng cao

Peer-to-Peer Networks

Lời nói đầ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 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ẻ tệp (file), video, đ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 mạng ngang hàng Peer-to-Peer (P2P) cung cấp một nền tảng tốt để chia sẻ dữ liệu,
phân phối nội dung cùng với các ứng dụng truyền thông đa hướng mức ứng dụng ở phạm vi
rộng. Các mạng P2P có khả năng cung cấp một kiến trúc định tuyến hiệu quả có tính chất tự tổ
chức trên diện rộng, kết hợp với khả năng chịu đựng lỗi, cân bằng tải và quan điểm về vị trí rõ
ràng.
Tiểu luận gồm 4 phần chính:
Phần 1: Tổng quan.
Phần 2: Các lĩnh vực ứng dụng P2P, phân loại P2P.
Phần 3: Các vấn đề về định tuyến trong P2P.
Phần 4: Kết luận.
Em xin chân thành cảm ơn thầy TS. Lê Trọng Vĩnh đã hướng dẫn em hoàn thành tiểu luận
này.

Học viên thực hiện

ĐH Duy Tân


Page 2


Tiểu luận Mạng Máy tính Nâng cao

Peer-to-Peer Networks

Phần 1: Tổng quan về Mạng ngang hàng
I. Định nghĩa mạng ngang hàng:
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.
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”.
Định nghĩa của Oram và đồng nghiệp: “[A Peer-to-Peer system is] a self-organizing system of
equal, autonomous entities (peers) [which] aims for the shared usage of distributed resources in a
networked environment avoiding central services”.
+ 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.

Mô hình Client/Server

Mô hình P2P

II. Mạng P2P (P2P Networks) và phần mềm ứng dụng P2P (P2P softwares).
1. Home P2P Networks:

Hầu hết các mạng máy tính gia đình hiện nay là mạng P2P.
+ Người dùng cấu hình các máy tính theo workgroup cho phép các máy có thể chia sẻ files,
máy in và các tài nguyên, thiết bị khác.
ĐH Duy Tân

Page 3


Tiểu luận Mạng Máy tính Nâng cao

Peer-to-Peer Networks

+ Cả mạng có dây và không dây trong gia đình đều có thể sử dụng để thiết lập mạng P2P.
2. Mạng chia sẻ file P2P:
Là mạng P2P phổ biến và nổi tiếng nhất trên Internet hiện nay.
+ Chức năng chủ yếu của mạng là cho phép tìm kiếm và truyền dữ liệu dựa trên giao thức
IP (Internet Protocol).
+ Để truy cập vào mạng P2P này, người dùng chỉ cần download và cài đặt phần mềm ứng
dụng phù hợp cho máy tính của mình.
+ Có nhiều mạng P2P và phần mềm ứng dụng P2P tồn tại hiện nay. Một số phần mềm chỉ
sử dụng được cho 1 mạng P2P nhất định, một số hoạt động được với nhiều mạng P2P khác nhau.
+ Một số mạng P2P nổi tiếng trên Internet gồm: eDonkey, BitTorent, Gnutella.
3. Phần mềm ứng dụng P2P.
Các phần mềm ứng dụng P2P cần đạt được 7 tiêu chí căn bản sau:
1. Giao diện người dùng không nằm trong trình duyệt (web browser).
2. Các máy tính trong hệ thống có thể đóng vai trò như cả máy trạm và máy chủ.
3. Phần mềm dễ sử dụng và được tích hợp nhiều tính năng tốt.
4. Ứng dụng hỗ trợ người dùng tạo nội dung và thêm chức năng.
5. Ứng dụng cho phép tạo kết nối đến người dùng khác.
6. Ứng dụng có nét “mới” và “thú vị”.

7. Phần mềm ứng dụng hỗ trợ đa giao thức trên mạng.
Một số phần mềm ứng dụng P2P nổi tiếng hiện nay bao gồm: Kazza, eMule, Bittorent,
Limewire ….
*. Giới thiệu Kazaa:
+ Download: www.kazaa.com
+ Sử dụng P2P technology (người dùng có thể kết nối trực tiếp với người dùng khác).
+ Kazaa cho phép: Tìm và download các files đã được chia sẻ bởi những nhà cung cấp
chuyên nghiệp và người dùng.
+ Kazza có sử dụng những kết nối nhanh với các SuperNodes: Mỗi SuperNode chứa danh
sách các files chia sẻ bởi người dùng và nơi lưu trữ file.
“Super Nodes”

ĐH Duy Tân

Page 4


Tiểu luận Mạng Máy tính Nâng cao

Peer-to-Peer Networks

*. Giới thiệu Emule:
+ Download: www.emule.co m
+ Một trong những phần mềm chia sẻ file P2P lớn nhất giữa các Clients trên Internet.
+ Verson mới nhất: eMule 0.49b.
+ Có thể sử dụng eMule để chia sẻ và download tất cả các loại files trên Internet.
*. Giới thiệu Skype:
+ Download: www.skype.com
+ Là phần mềm P2P VoIP phát triển bởi những người đã làm Kazaa.
+ Skype cho phép người dùng đàm thoại và gửi message tới người dùng Skype khác.

+ Đây là một overlay network, có 2 loại nodes: Original Host (OH) và Super nodes (SN).
+ OH là một phần mềm ứng dụng cho phép sử dụng để đàm thoại và gửi message.
+ Những node có địa chỉ IP tĩnh, CPU, memory, băng thông đủ mạnh thì có thể được xem
xét chọn làm super node.

Skype Login
Server

Super Nodes
Message exchange
during login

+ OH kết nối với một SN và phải đăng kí với Skype login server để login thành công.
ĐH Duy Tân

Page 5


Tiểu luận Mạng Máy tính Nâng cao

Peer-to-Peer Networks

-

Dùng công nghệ Global Index của nó để tìm user.

-

Firewall traversal: First UDP, second TCP, third TCP port 80 (HTTP), fourth TCP
port 443 (HTTPS).


-

Tín hiệu thường xuyên được mang đi trong TCP.

III. So sánh mô hình P2P với mô hình truyền thống Client/Server:
P2P

Client/Server

- 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.

- 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
- Các node đóng vai trò như cả Client (truy vấn tiêu chuẩn do server định ra, nếu yêu cầu được
chấp nhận thì máy server sẽ trả về thông tin mà
thông tin) và Server (cung cấp thông
client yêu cầu.
tin).

ĐH Duy Tân


Page 6


* Ư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.

-

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

-

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

-


Rẻ.

-

-

Dễ cài đặt và bảo trì.

Sử dụng được với các ứng dụng chia sẻ
CSDL.

-

Thuận lợi cho việc chia sẻ file, máy in,
CD-ROM v.v…

-

Đáng tin cậy hơn (có server riêng).

-

Mức độ an toàn cao nhất.

+ Nhược điểm:

+ Nhược điểm:

-


Chậm.

-

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

-

Không tốt cho các ứng dụng CSDL.

-

Đắt.

-

Kém tin cậy.

-

Phức tạp trong việc bảo trì, duy trì hoạt
động của mạng.

IV. Lịch sử phát triển của P2P:
- Lịch sử ra đời và phát triển của P2P gắn liền với phần mềm ứng dụng Napster.
+ Năm 1999, Shawn Fanning một sinh viên Đại học 18 tuổi đã rời bỏ trường Đại học để
bắt đầu xây dựng phần mềm mang tên Napster (do bức xúc với việc rất khó khăn trong việc
đưa và chia sẻ các file nhạc online trên Internet mặc dù mọi người đều có nguồn tài nguyên



trong đĩa cứng của mình).
+ Napster được xây dựng thành công và trở thành cách chia sẻ file chính (miễn phí), nó
đã làm thay đổi cách download file nhạc và dung lượng cũng lớn hơn nhiều so với các
chương trình chia sẻ file trước đó.
+ Download phần mềm, bạn có thể chia sẻ files từ máy tính của mình với tất cả mọi
người
trên thế giới.
+ 60 triệu người trên thế giới đã sử dụng (1 triệu người Nhật) vào thời điểm đó. Tuy
nhiên, do có quá đông người dùng và vấn đề bản quyền âm nhạc nên công ty Napster đã bị
cấm hoạt động, phần mềm không còn được sử dụng nữa (2003).
- Sau Napster, rất nhiều các chương trình khác như Gnutella, KaZaa and WinMP đã
xuất hiện. Và P2P đã chuyển sang việc chia sẻ file, chia sẻ processor power rỗi của các nodes
chứ không phải là chia sẻ các file âm nhạc MP3 nữa.
- Sau sự ra đời của Napster, công nghệ P2P phát triển một cách nhanh chóng. Hiện tại
các ứng dụng P2P chiếm khoảng 50% (thậm chí 75%) băng thông trên Internet.

Phần 2: Các lĩnh vực ứng dụng của P2P
Sự ra đời của mạng ngang hàng đã tạo ra cách thức quản lý mới cho hàng loạt các lĩnh vực
ứng dụng. Bài này đưa ra một cách nhìn tổng quát cho vấn đề các lĩnh vực ứng dụng của mạng
ngang hàng như: giao tiếp (communication), chia sẻ file (file sharing), băng thông
(bandwidth), vấn đề lưu trữ (storage), các chu trình xử lí (processor cycles).
3.1.
Giao
(communication):

tiếp


+ Đóng một vai trò quan trọng trong các ứng dụng mạng ngang

hàng.
+ Là nhân tố quyết định trong các mạng ngang hàng vì nó cung cấp thông tin về các Peers và
các nguồn tài nguyên nào là sẵn sàng trên mạng.
+ Tạo ra khả năng cho các Peer kết nối trực tiếp với các Peer khác và yêu cầu các nguồn tài
nguyên.
+ Một ví dụ điển hình về ứng dụng mạng ngang hàng trong giao tiếp là hệ thống chuyển tin
nhắn
trực
tiếp
(instant
messaging).
*. Instant messaging:
- Thông thường, server trung tâm lưu trữ thông tin và danh sách người dùng đăng
kí.
- Khi có sự giao tiếp giữa các node, việc tìm kiếm người dùng (node khác) được thực hiện
trên server.
- Trong trường hợp người dùng không online, hệ thống sẽ phải lưu trữ các tin nhắn
cho đến khi người dùng này online.
- Các dịch vụ điển hình: Napster, ICQ, Jabber.
3.2. Chia sẻ Files (File sharing)
- Có thể nói ứng dụng được sử dụng nhiều nhất của mạng ngang hàng đó là chia sẻ
file.
- Theo ước tính khoảng 70% lưu lượng mạng trên Internet được cho là để trao đổi các file
đặc
biệt là các file âm nhạc (hơn 1 tỷ các file âm nhạc được download mỗi
tuần).
- Đặc điểm của vấn đề chia sẻ file là các Peer có các file được download với vai trò là một
Client làm cho chúng luôn sẵn sàng với các Peer khác trong vai trò của một Server.
- Vấn đề chủ yếu cho mạng ngang hàng nói chung và cho vấn đề chia sẻ file nó riêng là vấn
đề tìm kiếm. Trong ngữ cảnh của hệ thống chia sẻ file, có ba mô hình khác nhau được phát triển:

mô hình flooded request , mô hình thư mục trung tâm và mô hình hướng tài liệu. Các mô hình
này được minh hoạ qua các ứng dụng thực của mạng ngang hàng sau: Gnutella, Naspter và
FreeNet.
- Trong hệ thống Gnutella, không có sự tập trung hoá, các file được lưu trữ trên các Peer của
hệ
thống, khi có yêu cầu tìm kiếm một file máy tính sẽ gửi yêu cầu này tới tất cả các peer là
láng
giềng của nó cho tới khi tìm thấy máy chứa file cần tìm. Tiếp theo là quá trình trao đổi file
trực


tiếp giữa hai máy tính trong
mạng.
- Trong hệ thống Naspter, có sự tập trung hoá. Khi một máy tham gia vào mạng, danh mục
các file sẽ được đăng ký và lưu trữ trên Server trung tâm, khi có yêu cầu tìm kiếm, máy tính
sẽ hỏi Server trung tâm về vị trí của file. Sau đó việc trao đổi file được thực hiện giữa hai máy
tính với nhau.
- Trong hệ thống Freenet, trong file không được lưu trữ trên đĩa cứng của các peer cung cấp
chúng mà được lưu trữ ở các vị trí khác trong mạng. Mục đích của việc phát triển mạng
Freenet là làm cho thông tin được lưu trữ và truy cập mà không cần biết định danh. Với các tổ
chức như vậy, chủ sở hữu của một node mạng cũng không biết được tài liệu gì được lưu trữ
trên đĩa cứng của máy anh ta. Vì lý do này mà các Peer và các file được cung cấp các số định
danh khác nhau. Khi một file được tạo, nó được truyền qua các peer láng riêng tới các peer có
số định danh gần với số định danh của file nhất và được lưu trữ ở đó.
3.3. Băng thông (Bandwidth)
Do yêu cầu về khả năng truyền dẫn của các mạng ngày càng đòi hỏi cao đặc biệt là khi một
số lượng lớn dữ liệu đa phương tiện tăng nhanh, hiệu quả của việc sử dụng băng thông ngày
càng trở nên quan trọng. Hiện nay, hướng tiếp cận tập trung trong đó các file được lưu trữ
trên một Server và được truyền từ đó tới máy khách yêu cầu đang được sử dụng chủ yếu.
Trong trường hợp này khi số lượng các yêu cầu tăng nhanh sẽ dẫn tới tình trạng nút cổ chai. Với

hướng tiếp cận theo mạng ngang hàng vấn đề cân bằng tải sẽ đạt được sự tối ưu nhất vì nó tận
dùng tối đa được các hướng truyền dẫn trong hệ thống mạng.
- Tăng cường khả năng cân bằng tải trong mạng: Khác với kiến trúc Client/Server các mạng
ngang hàng lai có thể nhận được sự cân bằng tải tốt hơn. Với mô hình Client/Server thì cả
yêu cầu truy vấn thông tin và việc truyền dữ liệu đều được thực hiện giữa máy chủ và máy
khách, sẽ làm mất sự cân bằng tải khi có nhiều yêu cầu kết nối tới máy chủ. Trong mô hình
mạng ngang hàng, chỉ có yêu cầu truy vấn được thực hiện giữa máy tính tham gia mạng với
máy chủ, còn vấn đề truyền file được thực hiện giữa hai máy tính tham gia mạng với nhau,
điều này dẫn đến việc phân bố tải đều trên hệ thống mạng.
- Chia sẻ việc sử dụng băng thông: Mạng ngang hàng có thể làm tăng khả năng download
và truyền các file do cơ chế tận dụng đường truyền tới các peer tham gia mạng. Một file dữ liệu
lớn được chia thành các khối dữ liệu nhỏ độc lập nhau, các khối dữ liệu này được chuyển đồng
thời đến các peer khác nhau và cuối cùng đến peer yêu cầu chúng. Tại peer yêu cầu các khối
dữ liệu được ghép lại thành file dữ liệu ban đầu. Các phần mềm điền hình của việc chia sẻ băng
thông đó là các phần mềm download file, chẳng hạn như: BitTorrent, FlashGet…
3.4. Không gian lưu trữ (Storage Space);
Hiện nay với các hệ thống cần có yêu cầu về mặt lưu trữ dữ liệu cao người ta thường lựa
chọn
các giải pháp lưu trữ như:


+ DAS (Direct Attached Storage): lưu trữ trực tiếp tham chiếu một cách trực tiếp đến một hệ
thống lưu trữ số gắn với một server hoặc một trạm, mà không cần đến một mạng lưới lưu trữ giữa
chúng. Ta gọi đó là retronym, thường được dùng giữa các không gian lưu trữ phi mạng lưới từ
SAN và NAS.

+ NAS (Network Attached Storage): lưu trữ gắn với mạng l à k h ôn g g i a n lư u t r ữ d ữ
l i ệu n ă m t ầ n g c ủ a m á y t í n h đư ợ c k ết n ố i t ớ i m ộ t m ạ n g m á y t í n h để d ữ l i ệu
t ru y cậ p t ớ i m ạ n g m á y k h á c h k h ô n g đồ n g n hấ t .


+ SAN (Storage Area Networks): vùng mạng lưu trữ là một cấu trúc kết nối các thiết bị lưu trữ
của các máy tính ở xa (như là disk arrays, tape libraries và optical jukeboxes) tớ i cá c s erv er
theo cá ch n ào đó , t ớ i h ệ đ i ề u h à n h , các thiết bị xuất hiện như được gắn kết cục bộ.
Mặc dù chi phí và độ phức tạp đã giảm, như năm 2007, SAN vẫn không được phổ biến ra ngoài
các doanh nghiệp lớn.
Bên cạnh những ưu điểm các giải pháp đó cũng tồn tại một số nhược điểm
như:
+ Kém hiệu quả trong việc sử dụng hệ thống lưu trữ sẵn có.
+ Phải tăng cường việc sao lưu dữ liệu.
+ Tăng tải trong mạng của công ty.
Tuy nhiên, băng thông mạng ngày càng được cải thiện cao, tính kết nối liên thông ngày một
dễ dàng đã cho phép thay đổi cách thức quản lý vấn đề lưu trữ dữ liệu, giải quyết một cách hiệu
quả vấn đề lưu trữ và không đỏi hỏi nhiều về vấn đề quản trị hệ thống. Với mạng lưu trữ ngang
hàng nói chung nó được giả thiết rằng chỉ có một phần không gian sẵn có trên máy tính PC
được sử dụng. Mạng lưu trữ ngang hàng là một cụm các máy tính được xây dựng trên một nền
mạng máy tính tồn tại, chia sẻ tất cả các lưu trữ sẵn có trên mạng


3.5 Các chu trình xử lý (Processor
Cycles):
Có thể nhận thấy rằng trong các ứng dụng đòi hỏi cần phải có sức mạnh tính toán người ta
thường tìm cách xây dựng các máy tính mạnh, đắt tiền chứ chưa chú trọng vào việc tận dụng
khả năng tính toán của các máy tính được nối mạng. Ngày nay do những yêu cầu đòi hỏi tính
toán hiệu năng cao như các thao tác tính toán trong tin sinh học, trong tài chính, trong đo
lường mà nhiều nghiên cứu ứng dụng mạng ngang hàng vào xử lý tính toán đã được đưa ra.
Bằng việc sử dụng các ứng dụng mạng ngang hàng để bó cụm các chu trình xử lý có thể nhận
được khả năng tính toán ngang bằng với một siêu máy tính đắt tiền. Trong một mạng mỗi máy
tính là trong suốt với các máy tính khác và tất cả các node được kết nối mạng sẽ tạo thành một
máy tính logic.
3.6. Phân loại mạng ngang hàng:

- Mạng ngang hàng có thể được phân loại theo mục đích sử dụng, ví dụ:


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)

- Mạng ngang hàng có thể được phân loại theo mức độ tập trung của mạng (đối với P2P overlay
networks).

P2P

Unstructured P2P

1st Generation

Centralized

Structured P2P


2nd Generation

Pure

Hybrid

DHT based


* Mạng ngang hàng không cấu trúc (unstructured):
o Nơi lưu trữ nội dung (files) hoàn toàn không liên quan gì đến overlay topology
(cấu trúc hình học của mạng).
o Kĩ thuật tìm kiếm chủ yếu là sử dụng flooding với các giải thuật tìm kiếm ưu
tiên theo chiều rộng (breadth – first), hoặc ưu tiên theo chiều sâu (depth-first)
cho đến khi nội dung được tìm thấy. Các kĩ thuật khác phức tạp hơn gồm bước
nhảy ngẫu
nhiên (random walk) và chỉ số routing (routing indices).
o Các hệ thống không cấu trúc thường phù hợp trong trường hợp các node ra vào
mạng thường xuyên, tùy y.
3.6.1. Đặc điểm hệ thống mạng ngang hàng tập trung
(Centralized):
Đâ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, chính vì vậy nó còn được gọi là mang ngang hàng tập trung (centralized Peerto-Peer networks). Cấu trúc Overlay của mạng ngang hàng tập trung có thể được mô tả như
một mạng hình sao (hình vẽ 2).
Nguyên tắc hoạt động:
o Mỗi client lưu trữ files định chia sẻ với các node khác trong mạng.
o Một bảng lưu trữ thông tin kết nối của người dùng đăng kí (địa chỉ IP, băng thông
kết nối ….).
o 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 …….)
o 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 tâm máy chủ trung tâm.
Ưu điểm:
o Dễ xây dựng.
o Tìm kiếm file nhanh và hiệu quả.
Nhược điểm:
o Vấn đề luật pháp, bản quyền.
o Dễ bị tấn công.
o 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.

File
download

query

Mạng ngang hàng tập trung thế hệ thứ nhất (Napster)
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 toá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.
3.6.2. Các mạng ngang hàng thuần túy

(Pure)
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 node
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 4.0, FreeNet.

Mạng ngang hàng thuần túy (Gnutella 4.0, FreeNet)
Ưu điểm:


Dễ xây dựng.
o
o
Đảm bảo tính phân tán hoàn toàn cho các node tham gia mạng, các node
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:
o Tốn băng thông.
o Phức tạp trong tìm kiếm.
o Các node có khả năng khác nhau (nguồn CPU, băng thông, lưu trữ) đều có thể
phải chịu tải (load) như nhau.
3.6.3. Các mạng ngang hàng lai
(Hybrid)
Để khắc phục nhược điểm của mạng ngang hàng thuần túy, một mô hình mạng ngang hàng
mới được phát triển với tên gọi là mạng ngang hàng lai. Đâ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.

- Trong mô hình mạng ngang hàng lai tồn tại một trật tự phân cấp bằng việc định nghĩa các
SuperPeers.
- Các SupperPeer tạo thành một mạng không cấu trúc, có sự khác nhau giữa SupperPeers và
ClientPeers trong mạng, mỗi SupperPeer có nhiều kết nối đến các ClientPeers.
- Mỗi SupperPeer chứa một danh sách các file được cung cấp bởi các ClientPeer 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 ClientPeer gửi tới.
Ưu điểm:
o 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 SuperPeers).
o 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 SuperPeer sẽ chịu tải chính, các node khác


chịu tải nhẹ.
3.6.4. Mạng
(Structured)

ngang

hàng



cấu

trúc


o Topo mạng được kiểm soát chặt chẽ.
o Files (hoặc con trỏ trỏ tới files) được đặt ở một vị trí xác định.
o Đ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í node (ví dụ: địa chỉ
node). 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).
- 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:
o Khả năng mở rộng hệ thống mạng trong mô hình không cấu trúc thường bị hạn
chế bởi các kỳ thuật trong việc xây dựng mạng chẳng hạn như: Mô hình tập
trung dẫn tới việc thắt nút cổ chai khi mở rộng, kỹ thuật Flooding dẫn tới việc
tăng lưu lượng mạng khi mở rộng mạng. Trong khi đó khả năng mở rộng với
mô hình mạng có cấu trúc được nâng cao rõ rệt.
Nhược điểm:
o 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 nodes cao.
• Vấn đề cân bằng tải


Phần 3: Các vấn đề về định tuyến trong mạng ngang hàng
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ác node 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ượng digits). 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:
- Định tuyến dựa vào tiền tố (Prefix routing) - PRR: đây là thuật toán đầu tiên cho 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.
- Plaxon et al [3]: 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 xoá 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
-Tapetry [1]: Sử dụng một biến thể của thuật toán Plaxon et al [3] 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 trên tiền tố, Tapestry sử
dụng thuật toán SHA-1 để băm địa chỉ các node thành các ID biểu diễn theo hệ cơ số 2b.
Mỗi node lưu giữ một bảng định tuyến gồm log2b(N) hàng và 2b-1 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 (log2b(N)), mỗi mức i bao
gồm các liên kết (2b-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à log2b(N) chặng quá trình tìm kiếm sẽ kết thúc. Trong
điều kiện bình thường độ phức tạp tìm kiếm của Tapestry là O(log2b (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.
-Chord: Chord sử dụng một không gian ID vòng tròn kích thước N. Một node Chord với
ID là u có một con trỏ tới node đầu tiên đứng sau nó trong không gian ID theo chiều kim
đồng hồ, ký hiệu là Succ(u) và một con trỏ tới node đứng trước nó trong không gian ID,
ký hiệu là Pred(u). Các node tạo thành một danh sách liên kết hai chiều. Bên cạnh đó, một
node Chord lưu M=log2(N) con trỏ gọi là các finger. Tập các finger của node ID u được xác
định như sau F(u)={Succ(u+2i-1)}, 1 ≤ i ≤ M. Với cách lựa chọn finger thế này, trong
mạng Chord, các node quan sát không gian ID của vòng tròn bắt đầu từ ID của chúng.
Đồng thời với cách lựa chọn finger của Chord, không gian ID sẽ được chia đôi, nửa thứ
nhất cũng được chia đôi, rồi phần tư thứ nhất lại được chia đôi …Quá trình tìm kiếm là
kết quả tự nhiên theo cách chia không gian ID dựa trên việc tìm ID successor. Trong điều
kiện thông thường, độ phức tạp của thuật toán là O(log2(N)).
-CAN: CAN có một hiệu năng định tuyến O(d .N d ) và trạng thái định tuyến ở trong biên
2.d. CAN chọn các key của nó từ một không gian d chiều. Mỗi node được gắn với một
miền lập phương của không gian key này, và các lân cận của nó là những node sở hữu các
khối lập phương kề cận. Định tuyến bao gồm chuyển tới lân cận gần key hơn. CAN có

tính chất về hiệu năng khác các thuật toán khác, các node có O(d) lân cận và chiều dài
đường dẫn là O ( dn d) hops. Tuy nhiên, khi d = log n, CAN có O(log n) lân cận và chiều dài
đường dẫn O(log n), giống với các thuật toán khác.
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ới hạ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 [5]. 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ác hệ 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 đ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 cho cá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ấp
tradeoff 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.
Một số hướng nghiên cứu về cải thiện hiệu năng định tuyến của hệ thống P2P có cấu
trúc
Đánh giá hiệu năng của các của các chiến lược định tuyến trong mạng ngang hàng P2P có
cấu trúc (P2P-DHT) nhằm tạo cơ sở cho việc đưa ra các giải pháp cải tiến hiệu năng của
chúng đồng thời giúp lựa chọn, sử dụng các thuật toán hiệu quả hơn. Một số hướng nghiên
cứu của cộng đồng P2P đang nỗ lực cải thiện hiệu năng tìm kiếm của hệ thống P2P- DHT:
- Điều chỉnh cấu trúc chồng phủ để cạnh tranh với cấu trúc Internet tầng dưới sao cho
các lân cận chồng phủ là gần về mặt vật lý do đó sẽ giảm thiểu hao phí mỗi chặng.
- Một phương pháp khác để tăng hiệu năng tìm kiếm của hệ thống DHT là giảm số bước
nhảy đến đích hơn là giảm hao phí cho mỗi bước nhảy. Điều này được thực hiện bằng
cách tăng mức độ kết nối của mỗi peers. Phương pháp này giảm đường kính mạng nhưng
lại yêu cầu kích thước các bảng định tuyến lớn hơn, đó sẽ là thách thức khi môi trường
không ổn định như là P2P.
- Các đề xuất khác kết hợp ưu điểm của cả hai phương pháp trên cũng được đưa ra, cho
phép các peers lựa chọn lân cận và nội dung một cách thông minh và linh động. Trong
trường hợp này, sự tối ưu chồng phủ dẫn đến một cấu trúc mạng không đều, có nghĩa là
các node khác nhau có thể quản lý các phần không bằng nhau của không gian băm, có thể
kết nối với một số lượng node khác nhau, và các kết nối có thể chỉ đến các node một cách
ngẫu nhiên, không theo một quy tắc nhất định nào cả. Ngay cả khi không có sự tối ưu
mạng, thì sự không đều cũng có thể xảy ra do các sắp xếp không đoán trước được của các
node tham gia và rời bỏ mạng.


Kết luận
Khoảng mười năm trở lại đây, thế giới đã chứng kiến sự bùng nổ của Internet băng thông

rộng, cùng với nó là sự phát triển mạnh mẽ của các ứng dụng peer-to-peer. Với nhiều ưu
điểm hứa hẹn như tính hiệu quả, linh hoạt và khả năng mở rộng cao, các mạng peer-to-peer
đã và đang thu hút được nhiều sự quan tâm từ cộng đồng nghiên cứu. Mạng peer-to-peer đã
phát triển qua nhiều thế hệ, thế hệ hiện nay là mạng có cấu trúc dựa trên khả năng lưu trữ
và tìm kiếm dữ liệu hiệu quả theo cơ chế Bảng băm phân tán (DHT). Vấn đề cốt lõi của P2P
là các thuật toán định tuyến, nó đóng vai trò quyết định hiệu quả hoạt động khi thiết lập các
dịch vụ hệ thống nền tảng của mạng ngang hàng nói riêng và mạng ảo trên Internet nói
chung.


Tài liệu tham khảo
[1] Phan Anh & Nguyễn Đình Nghĩa – ĐHCN - ĐHQGHN, Các vấn đề hiện đại trong Công
nghệ Thông tin: Peer-to-Peer Networks
[2] ThS. Vũ Thị Thúy Hà, TS. Lê Nhật Thăng, Định tuyến trong mạng ngang

hàng thế hệ mới, Công ty Viễn thông Quốc tế VTI tài trợ
[3] Z. H. TAN, W. CHENG, G. R. CHANG, X. X. GAO, and H. WANG, A Structured
P2P Overlay Routing Protocol Based on Distributed Selection Algorithm, Journal of
Computer Science, China. Vol. 35, No 4B, pp. 96-98, April 2008.
[4] WAN
FARIZA
BINTI,
WAN ABDUL RAHMAN, FARHAT ANWAR,
Performance Evaluation on Peer-to-peer (P2P) Distributed Hash Table (DHT) Protocols,
Proceedings of the International Conference on Electrical Engineering and Informatics,
Bandung, Indonesia, June 17-19, 2007.
[5]. K. LUA, J. C. MARCELO PIAS, R. SHARMA and S. LIM, A Survey and Comparison
of Peer-to-Peer Overlay Network Schemes, IEEE Communications Survey and Tutorial,
Vol. 7, No 2, 2005.
[6] J. LI, J. STRIBLING, T. M. GIL, R. MORRIS, and M. F. KAASHOEK, Comparing

the Performance of Distributed Hash Tables Under Churn, in 3rd International
Workshop on Peer-to-Peer Systems (IPTPS 04), (San Diego, CA, USA), February 2004.
[7]ALEXANDRU POPESCU, DAVID ERMAN, MARKUS FIEDLER and DEMETRES
KOUVATSOS, Routing in Content Addressable Networks Algorithms and Performance,
20th ITC Specialist Seminar, 18-20. May 2009, Hoi An, Vietnam.



×