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

đánh giá hiệu năng cơ chế lặp lịch

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 (1.56 MB, 78 trang )

i

MỤC LỤC
MỤC LỤC.................................................................................................................i
DANH MỤC CÁC KÝ HIỆU VÀCHỮVIẾT TẮT.......................................................ii
DANH MỤC CÁC HÌNH VẼVÀĐỒTHỊ...................................................................v
MỞĐẦU.....................................................................................................................1
Chương 1.................................................................................................................2
TỔNG QUAN VỀMẠNG NGANG HÀNG...............................................................2
Hình 1.1: Hệ thống mạng........................................................................................3
Hình 1.2: Mô hình Client/Server............................................................................4
Hình 1.3: Mô hình P2P...........................................................................................5
Hình 1.4: Mô hình mạng chồng phủ......................................................................7
Hình 1.5: Phân loại mạng P2P...............................................................................8
Hình 1.7: Mạng ngang hàng thuần túy (Gnutella 4.0, FreeNet)...........................11
Hình 1.8: Node mạng tham gia vào mạng Gnutella và tìm kiếm file..................11
Peer A tham gia vào mạng.....................................................................................11
Hình 1.9: Mạng ngang hàng lai ghép...................................................................14
Hình 1.10: Cấu trúc dạng vòng.............................................................................15
Chương 2...............................................................................................................21
CÁC CƠCHẾLẬP LỊCH TRONG..........................................................................21
MẠNG NGANG HÀNG..........................................................................................21
Hình 2.1: Mạng kết nối hoàn thiện với việc cấp phát băng thông không đối xứng
................................................................................................................................. 23
Hình 2.2: Ma trận sở hữu vàđồ thị mạng luồng của nó.......................................34
Hình 2.3: Luồng cực đại và lịch trình truyền dẫn...............................................36
Hình 2.4: Dồ thị luồng cực đại có trọng số và lịch trình truyền dẫn của nó.......37
Hình 2.5: Trao đổi các block giữa hai peer trong các hệthống P2P chia sẻfile...40
Hình 2.6: Trao đổi block giữa 2 peer trong hê thống P2P live streaming.............40
Hình 2.7: Trao đổi block giữa 2 peer trong hệthống P2P VoD............................41
Hình 2.8: Lập lịch Pull-based................................................................................42


Hình 2.9: Lập lịch RUc..........................................................................................45
Hình 2.10: Lập lịch LUc........................................................................................45
Hình 2.11: Lập lịch RUp........................................................................................46
Hình 2.12: Lập lịch MDp......................................................................................47


ii

Hình 2.13: Lập lịch ELp........................................................................................47
Hình 2.14: Lập lịch LUc/MDp và LUc/Rup .........................................................49
Hình 2.15: Lập lịch RUc/RUp và RUc/MDp........................................................49
Hình 2.16: Lập lịch ELp/RUc...............................................................................50
Hình 2.18: Sự khác nhau giữa các cơ chế lập lịch peer trước...............................52
Chương 3...............................................................................................................54
ĐÁNH GIÁHIỆU NĂNG CỦA CÁC CƠCHẾLẬP LỊCH..........................................54
Hình. 3.2 so sánh hiệu năng của các thuật toán lập lịch với kích cỡfile thay đổi
(peer size = 10, pi = 2, qi = 3, xác suất của 1 và 0 bằng nhau)................................56
Hình. 3.3 So sánh hiệu năng của các thuật toán lập lịch với kích cỡpeer thay đổi
(kích thước file = 100, pi = 2, qi = 3, xác suất của số 1: số 0 = 1:2)........................57
................................................................................................................................. 58
Hình. 3.4 Hiệu suất so sánh các thuật toán lập lịch đại diện với thay đổi kích
thước file (peer size = 10, pi = 2, qi = 3, xác suất của số 1: số 0 = 1:2) 10...............58
Hình 3.5 Mô hình uniform với lập lịch chunk trước...........................................63
Hình 3.6 Mô hình uniform với lập lịch peer trước..............................................64
Hình 3.7 Mô hình 3-class với lập lịch chunk trước.............................................65
Hình 3.8 Mô hình 3-class với lập lịch peer trước................................................66
Hình 3.9 Mô hình free-rider với lập lịch chunk trước.......................................67
KIẾN NGHỊ VÀHƯỚNG NGHIÊN CỨU TIẾP THEO............................................70
TÀI LIỆU THAM KHẢO........................................................................................71


DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Từ viết tắt
AODV

Nghĩa tiếng Anh
Ad hoc On-Demand Distance Vector

Nghĩa tiếng Việt
Định tuyến vector khoảng cách
theo yêu cầu tùy biến


iii

BAwp

Bandwidth Aware Scheduler

Lập lịch nhận thức băng thông

BAwp/DLc

Bandwidth Aware Scheduler
/Deadline-based scheduler

BAwp/LUc

Bandwidth Aware Scheduler /Latest
Useful chunk


Lập lịch nhận thức băng
thông/lập lịch dựa trên thời hạn
lập lịch
Lập lịch nhận thức băng
thông/chunk hữu dụng gần nhất

BAwp/RUc
CDN

Bandwidth Aware Scheduler /Random Lập lịch nhận thức băng
thông/chunk hữu dụng ngẫu
Useful chunk
nhiên
Content Delivery Network
Mạng phân bổ nội dung

CPU

Central Processing Unit

Đơn vị xử lý trung tâm

DHT

Distributed hash table

Bảng băm phân tán

DLc


Deadline-based scheduler

Lập lịch dựa trên thời hạn

DLc/BAwp Deadline-based scheduler/ Bandwidth Lập lịch dựa trên thời hạn/lập lịch
Aware Scheduler
nhận thức băng thông
DLc/ELp

Deadline-based scheduler/ Earliest
Latest scheduler

Lập lịch dựa trên thời hạn/ peer
sở hữu chunk cũ nhất nhỏ nhất

DLc/MDp

Deadline-based scheduler/ Most
Deprived peer

Lập lịch dựa trên thời hạn/peer
thiếu nhất

DLc/RUp

Deadline-based scheduler/ Random
Useful peer

Lập lịch dựa trên thời hạn/peer
khả dụng ngẫu nhiên


DNS

Domain Name Server

Hệ thống tên miền

DOLR

Decentralized Object Location and
Routing

Định tuyến và ấn định đối tượng
tập trung

DSR

Dynamic Source Routing

Định tuyến nguồn động

ELp

Earliest Latest scheduler

Lập lịch peer sở hữu chunk cũ
nhất nhỏ nhất

ELp/LUc


Earliest Latest scheduler/ Latest
Useful chunk

Peer sở hữu chunk cũ nhất nhỏ

Earliest Latest scheduler /Random
Useful chunk

Peer sở hữu chunk cũ nhất nhỏ

IETF

Internet Engineering Task Force

LUc

Latest Useful chunk

Tổ chức đảm nhận kỹ thuật
Internet
Chunk khả dụng gần nhất

ELp/RUc

nhất/chunk khả dụng gần nhất
nhất/chunk khả dụng ngẫu nhiên

LUc/ BAwp Latest Useful chunk/ Bandwidth
Aware Scheduler


Chunk khả dụng gần nhất/lập lịch
nhận thức băng thông

LUc/ELp

Chunk khả dụng gần nhất/ peer
sở hữu chunk cũ nhất nhỏ nhất

Latest Useful chunk/ Earliest Latest
scheduler


iv

LUc/MDp

Latest Useful chunk/ Most Deprived
peer

Chunk khả dụng gần nhất/peer
thiếu nhất

LUc/RUp

Latest Useful chunk/ Random Useful
peer

Chunk khả dụng gần nhất/peer
hữu dụng ngẫu nhiên


MANET

Mobile Ad-hoc network

Mạng tùy biến di động

MDp

Most Deprived peer

Peer thiếu nhiều nhất

MDp/DLc

Most Deprived peer / Deadline-based
scheduler

Peer thiếu nhiều nhất/lập lịch dựa
trên thời hạn

MDp/RUc

Most Deprived peer / Random Useful Peer thiếu nhiều nhất/chunk hữu
ích ngẫu nhiên
chunk

MHT

Mobile Hash Table


Bảng băm di động

MPEG

Moving picture Expert Group

Nhóm chuyên gia hình động

MPP

Mobile Peer-to-Peer Procol

Giao thức ngang hàng di động

NEMO

Networked Environment for Media

Môi trường liên kết cho dàn nhạc

Orchestration

truyền thông

OLSR

Optimized Link State Routing
protocol

Giao thức định tuyến trạng thái

lien kết tối ưu

ORION

Optimized Routing Independent
Overlay Network

Mạng chồng phủ độc lập định
tuyến tối ưu

P2P

Peer to Peer

Mạng ngang hàng

RUc

Random Useful chunk

Chunk hữu ích ngẫu nhiên

RUc/ BAwp Random Useful chunk/ Bandwidth
Aware Scheduler

Chunk hữu ích ngẫu nhiên/nhận
thức băng thông

RUc/ELp


Random Useful chunk/ Earliest Latest Chunk hữu ích ngẫu nhiên/peer
sở hữu chunk cũ nhất nhỏ nhất
scheduler

RUc/MDp

Random Useful chunk/ Most
Deprived
peer
Random Useful chunk/ Random

RUc/RUp

Chunk hữu ích ngẫu nhiên/Peer
thiếu nhất

Useful peer

Chunk hữu ích ngẫu nhiên/peer
hữu ích ngẫu nhiên

RUp

Random Useful peer

Peer hữu ích ngẫu nhiên

RUp/LUc

Random Useful peer/ Latest Useful

chunk

Peer hữu ích ngẫu nhiên/Chunk
hữu ích gần nhất

RUp/RUc

Random Useful peer/ Random Useful Peer hữu ích ngẫu nhiên/Chunk
hữu ích ngẫu nhiên
chunk

SBON

Stream-Based Overlay Network

Mạng chồng phủ dựa trên luồng


v

SMB

Server Message Block

Giao thức cho phép sử dụng tài
nguyên chia sẻ

SMTP

Simple Mail Transport Protocol


Giao thức truyền tải thư tín đơn
giản

SPRR

Simplified Version of PRR

Phiên bản đặc biệt của PRR

UUCP

Unix to Unix Copy Protocol

Giao thức copy từ Unix tới Unix

VoD

Video on Demand

Video theo yêu cầu

VoIP

Voice over IP

Thoại qua Internet

DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ
Hình 1.1: Hệ thống mạng........................................................................................3



vi

Hình 1.2: Mô hình Client/Server............................................................................4
Hình 1.3: Mô hình P2P...........................................................................................5
Hình 1.4: Mô hình mạng chồng phủ......................................................................7
Hình 1.5: Phân loại mạng P2P...............................................................................8
Hình 1.7: Mạng ngang hàng thuần túy (Gnutella 4.0, FreeNet)...........................11
Hình 1.8: Node mạng tham gia vào mạng Gnutella và tìm kiếm file..................11
Peer A tham gia vào mạng.....................................................................................11
Hình 1.9: Mạng ngang hàng lai ghép...................................................................14
Hình 1.10: Cấu trúc dạng vòng.............................................................................15
Hình 2.1: Mạng kết nối hoàn thiện với việc cấp phát băng thông không đối xứng
................................................................................................................................. 23
Hình 2.2: Ma trận sở hữu vàđồ thị mạng luồng của nó.......................................34
Hình 2.3: Luồng cực đại và lịch trình truyền dẫn...............................................36
Hình 2.4: Dồ thị luồng cực đại có trọng số và lịch trình truyền dẫn của nó.......37
Hình 2.5: Trao đổi các block giữa hai peer trong các hệthống P2P chia sẻfile...40
Hình 2.6: Trao đổi block giữa 2 peer trong hê thống P2P live streaming.............40
Hình 2.7: Trao đổi block giữa 2 peer trong hệthống P2P VoD............................41
Hình 2.8: Lập lịch Pull-based................................................................................42
Hình 2.9: Lập lịch RUc..........................................................................................45
Hình 2.10: Lập lịch LUc........................................................................................45
Hình 2.11: Lập lịch RUp........................................................................................46
Hình 2.12: Lập lịch MDp......................................................................................47
Hình 2.13: Lập lịch ELp........................................................................................47
Hình 2.14: Lập lịch LUc/MDp và LUc/Rup .........................................................49
Hình 2.15: Lập lịch RUc/RUp và RUc/MDp........................................................49
Hình 2.16: Lập lịch ELp/RUc...............................................................................50

Hình 2.18: Sự khác nhau giữa các cơ chế lập lịch peer trước...............................52
Hình. 3.2 so sánh hiệu năng của các thuật toán lập lịch với kích cỡfile thay đổi
(peer size = 10, pi = 2, qi = 3, xác suất của 1 và 0 bằng nhau)................................56
Hình. 3.3 So sánh hiệu năng của các thuật toán lập lịch với kích cỡpeer thay đổi
(kích thước file = 100, pi = 2, qi = 3, xác suất của số 1: số 0 = 1:2)........................57
................................................................................................................................. 58
Hình. 3.4 Hiệu suất so sánh các thuật toán lập lịch đại diện với thay đổi kích
thước file (peer size = 10, pi = 2, qi = 3, xác suất của số 1: số 0 = 1:2) 10...............58
Hình 3.5 Mô hình uniform với lập lịch chunk trước...........................................63
Hình 3.6 Mô hình uniform với lập lịch peer trước..............................................64
Hình 3.7 Mô hình 3-class với lập lịch chunk trước.............................................65


vii

Hình 3.8 Mô hình 3-class với lập lịch peer trước................................................66
Hình 3.9 Mô hình free-rider với lập lịch chunk trước.......................................67

DANH MỤC BẢNG BIỂU


1

MỞ ĐẦU
Như chúng ta đều biết, hầu như mọi dịch vụ mà Internet cung cấp ngày nay
đều dựa trên mô hình client/server. Nói chung, mô hình client/server có rất nhiều
điểm ưu việt như là mọi xử lý sẽ nằm trên server do đó sẽ tránh cho clients những
tính toán nặng nề.
Tuy nhiên, khi mà Internet phát triển với tốc độ chóng mặt như ngày nay thì
mô hình client/server có một nhược điểm lớn đó là khi số lượng client tăng đến một

mức độ nào đó thì nhu cầu về tải và băng thông tăng lên dẫn đến việc máy chủ
không có khả năng cung cấp dịch vụ cho các máy khách thêm vào.
Để giải quyết vấn đề trên và còn nhiều vấn đề khác của mô hình
client/server, công nghệ mạng ngang hàng P2P (peer to peer) được tin tưởng sẽ là
lời giải cho các vấn đề trê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 P2P. 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ó nhiều ứng dụng như chia sẻ tệp tin, tất cả các dạng như âm thanh,
hình ảnh, dữ liệu,... hoặc truyền dữ liệu thời gian thực như điện thoại VoiP, P2P
streaming do đó các mạng P2P đã và đang thu hút được nhiều sự quan tâm từ cộng
đồng nghiên cứu đặc biệt là nghiên cứu về mặt hiệu năng sử dụng của mạng P2P.
Những ưu thế của mạng ngang hàng P2P đã thu hút rất nhiều người sử dụng
dẫn đến việc nghẽn mạng, giới hạn băng thông…đứng trước tình hình này việc
nghiên cứu về cơ chế lập lịch của mạng ngang hàng P2P là một trong những thách
thức cũng như một trong những thành công mang lại hiệu quả cao cho việc sử dụng
mạng ngang hàng P2P này.
Trong khuôn khổ của luận văn sẽ đi nghiên cứu lần lượt các chương sau:
Chương 1: Tổng quan về mạng ngang hàng P2P
Chương 2: Các cơ chế lập lịch trong mạng ngang hàng
Chương 3: Đánh giá hiệu năng của các cơ chế lập lịch


2

1.1 KHÁI NIỆM MẠNG NGANG HÀNG

Chương 1

TỔNG QUAN VỀ MẠNG NGANG HÀNG
Chương 1 giới thiệu tổng quan về mạng ngang hàng Peer to Peer.

Trong chương này sẽ giới thiệu về khái niệm, định nghĩa, phân loại, và chỉ
ra những ưu nhược điểm cũng như những ứng dụng của mạng ngang
hàng hiện nay và xu hướng phát triển trong tương lai. Nội dung chương 1
là những cơ sở khoa học cần thiết cho các chương tiếp theo của luận văn.
1.1.1 Giới thiệu
Ban đầu khi mạng máy tính mới ra đời, tốc độ máy còn thấp, số lượng máy
tham gia trong mạng chưa cao, nhu cầu trao đổi thông tin mới chỉ dừng lại ở những
tập tin có kích thước bé nên việc quản lý mạng còn rất đơn giản, cấu trúc của mạng
chỉ gồm một vài máy. Các máy trong mạng được nối trực tiếp với nhau thông qua
cổng COM hay cổng máy in LPT… Đó là mô hình mạng ngang hàng sơ khai nhưng
là cơ sở để phát triển mạng ngang hàng sau này trên một hệ thống máy tính rộng
lớn.
Sự phát triển vượt bậc của công nghệ làm cho các máy tính ngày càng nhanh
hơn, lượng tài nguyên lưu trữ là rất lớn và nhu cầu trao đổi của con người ngày
càng tăng lên. Lúc này các máy tính được kết nối khắp toàn cầu đòi hỏi phải có sự
ra đời của phương thức quản lý mới với những giao thức, giao diện mới. Các mô
hình hệ thống mạng ra đời, Hình 1-1 thể hiện sự phát triển của hệ thống mạng máy
tính.


3

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

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


4

thống chủ-khách các máy khách khi vào hệ thống được nối với máy chủ, nhận
quyền truy nhập và tài nguyên mạng từ máy chủ. Các máy khách được sắp xếp tổ
chức theo một quy luật nhất định và đặt dưới sự quản lý của máy chủ
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), hệ
thống P2P streaming và P2P VoD đã đạt được nhiều thành công.
1.1.2Định nghĩa P2P
Peer-to-Peer (hay P2P - mạng ngang hàng), là mạng mà trong đó hai hay
nhiều máy tính chia sẻ các tập tin và truy nhập các thiết bị như máy in mà không
cần đến máy chủ hay các phần mềm máy chủ. Ở dạng đơn giản nhất mạng ngang
hàng được tạo ra bởi hai hay nhiều máy tính kết nối với nhau và chia sẻ tài nguyên
mà không phải thông qua một máy chủ dành riêng. Mạng ngang hàng dựa vào khả
năng và băng tần của các máy tính tham gia vào mạng hơn là tập trung vào một số
các máy tính gọi là server. Nó được sử dụng cho kết nối các node thông qua các kết
nối đặc biệt và được dùng cho nhiều mục đích như chia sẻ tài liệu, chia sẻ âm nhạc,
hình ảnh, dữ liệu, lưu lượng điện thoại…

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 peer đóng vai trò như cả client và server.

Hình 1.2: Mô hình Client/Server


5

Hình 1.3: Mô hình P2P
1.1.3 Khái niệm node mạng (Peer)
Một peer là một thành phần trong mạng ngang hàng. Nếu đánh giá về mặt trực
quan thì có thể thấy peer thường được hiểu là một máy tính, thiết bị di động, máy in,
hay thiết bị hỗ trợ cá nhân...Tuy nhiên, không thể định nghĩa peer là một thiết bị như
thế vì sẽ không thể hiện được đúng khái niệm về peer. Nếu nhìn nhận peer như là một
ứng dụng đang chạy trên một máy tính đơn và máy tính này được kết nối vào một
mạng như mạng Internet, định nghĩa như thế này cũng không thể hiện được chức năng
và tất cả những thể hiện có thể của peer được. Như vậy, nếu nhìn nhận phiến diện về
peer thì đã làm giảm khả năng của một peer và chỉ thấy nó giống như một thiết bị có
thể đáp ứng các peer khác đang chạy trong mạng. Peer được định nghĩa như sau : “Một
thực thể nào đó có khả năng thực hiện chức năng có ích nào đó và truyền đạt các kết
quả của chức năng đó tới các thực thể khác trên một mạng, một cách trực tiếp hoặc
gian tiếp, được gọi là một peer ”. Như vậy, từ định nghĩa ta có thể thấy một peer nó là
một thành phần thiết bị nào đó trong mạng, có thể là máy tính cá nhân, có thể là thiết bị
hỗ trợ cá nhân, hay thiết bị di động, router, modem, máy in... Khi các thành phần này
tham gia vào mạng thì mỗi thành phần sẽ chạy các ứng dụng nào đó để thực hiện chức
năng của mình như: hoặc chia sẻ tài nguyên file, chia sẻ tài nguyên không gian lưu trữ,
chia sẻ tài nguyên phần cứng, chia sẻ tiến trình nhàn rỗi, cung cấp nội dung ….hoặc hỗ
trợ định tuyến hoặc nhận chia sẻ từ các thiết bị khác trong mạng hoặc tìm kiếm tài
nguyên…



6

1.1.4 Cách phân loại peer trong mạng ngang hàng
Theo định nghĩa ở trên “chức năng có ích” là phụ thuộc vào từng loại peer, công
việc mà peer đó đảm nhiệm. Do đó có thể phân làm 3 loại peer khác nhau:
- Peer thông thường: là một peer bình thường trong mạng ngang hàng, nó được thiết kế
cho người dùng cuối. Một peer thông thường sẽ cung cấp dịch vụ cho các peer khác và
cũng nhận sự cung cấp từ các peer khác trong mạng. Tuy nhiên, trong thực tế một peer
thông thường sẽ nằm trong một mạng riêng biệt, hoặc là đằng sau một tường lửa nên
các peer khác nằm phía bên ngoài sẽ khó có thể giao tiếp trực tiếp với peer thông
thường nằm đằng sau tường lửa.
- Peer gặp gỡ: là loại peer nằm phía ngoài các mạng riêng biệt, nhiệm vụ của nó là cung
cấp các thông tin để tìm kiếm các peer khác và các tài nguyên của peer khác cho peer
thông thường gửi yêu cầu tìm kiếm.
- Peer định tuyến: là peer cung cấp các cơ chế để chuyển thông tin giao tiếp giữa các
peer khác với nhau, cho phép các thông tin này vượt qua các tưởng lửa hoặc các thiết bị
chuyển đổi địa chỉ mạng.
- Nhóm peer: là một nhóm các peer có cùng một mục đích hay dịch vụ. Các peer trong
một nhóm sẽ chia sẻ thông tin cho các peer khác trong nhóm và các peer ở ngoài nhóm
không thể tiếp cận được. Ngoài cách phân loại như trên còn có thể phân loại peer thành
peer thông thường và siêu peer.
- Peer thông thường: là một peer bình thường, một thành phần trong mạng, tham gia
vào mạng, khi tham gia vào mạng thì các peer loại này chia sẻ tài nguyen hoặc nhận
chia sẻ từ các peer khác trong mạng.
- Siêu peer: là một peer trong mạng, chúng có vai trò quản lý peer trong vùng (quản lý
về các peer, thông tin tài nguyên mà các peer chia sẻ, thông tin định tuyến…..), định
tuyến cho các peer trong mạng sang peer ở vùng khác. Nói chung siêu peer có đầy đủ
tính năng của ba loại peer đã mô tả ở trên, tức là nó không lưu trữ tài nguyên mà chỉ
cung cấp, quản lý thông tin về tài nguyên, quản lý các peer trong vùng của nó, định

tuyến cho các peer sang vùng khác nếu cần thiết và giúp các peer trong vùng trao đổi
với các peer ở vùng khác.


7

1.2 PHÂN LOẠI MẠNG NGANG HÀNG
1.1.5 Mạng chồng phủ
Mạng chồng phủ 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 node trong mạng chồng phủ đượ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à mạng chồng phủ 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 mạng chồng phủ trên nền mạng máy điện thoại

Hình 1.4: Mô hình mạng chồng phủ
• Mạng ngang hàng có thể được phân loại 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)
• 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 mạng chồng phủ P2P)
Hình vẽ 1.5 dưới đây mô tổng quan việc phân loại mạng ngang hàng.


8

Hình 1.5: Phân loại mạng P2P
1.2.1 Mạng ngang hàng không có cấu trúc

Trong mạng ngang hàng không có cấu trúc, nơi lưu trữ nội dung (files) hoàn
toàn không liên quan gì đến cấu trúc hình học của mạng. 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). 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 ý.
1.2.1.1 Mạng ngang hàng tập trung
Mạng ngang hàng tập trung là một trong những thế hệ mạng ngang hàng đầu
tiên, đặc trưng của mạng này vẫn dựa vào một máy chủ tìm kiếm trung tâm. Trong mô
hình mạng này, mỗi peer kết nối tới máy chủ tìm kiếm trung tâm để gửi truy vấn tìm
kiếm tài nguyên, sau khi gửi yêu cầu tới máy chủ tìm kiếm trung tâm, máy chủ tìm
kiếm trung tâm trả về thông tin phản hồi tương ứng với từ khóa được quy định trong
truy vấn. Tức là tại máy chủ tìm kiếm trung tâm, từ khóa trong thông báo truy vấn sẽ
được ánh xạ với bảng danh sách tài nguyên mà máy chủ có. Nếu máy chủ tìm kiếm
trung tâm có thông tin mà peer đó yêu cầu thì nó sẽ trả về thông tin vị trí truy cập tới
các peer chia sẻ (đa phần là trả về các địa chỉ IP và các cổng). Sau khi peer đã nhận


9

được thông tin từ máy chủ tìm kiếm trung tâm thì lúc này quá trình trao đổi thông tin
cần tìm được thực hiện theo đúng cơ chế của mạng ngang hàng, tức là trao đổi trực tiếp
giữa các node mạng với nhau mà không cần qua máy chủ tìm kiếm trung tâm. Như vậy,
trong mô hình này bao gồm: Một máy chủ tìm kiếm trung tâm, máy chủ này chứa danh
sách thông tin về các peer trong mạng do nó quản lý (bao gồm : địa chỉ IP, cổng, băng
thông kết nối...) và danh sách thông tin về các tài nguyên (tên tài nguyên, dung lượng
tài nguyên, kiểu tài nguyên….) mà mỗi peer trong mạng chia sẻ. Các peer này lưu trữ
các tài nguyên cần chia sẻ với các peer khác trong mạng.
Cơ chế hoạt động của mô hình này bao gồm 2 hoạt động : hoạt động giữa các peer với

máy chủ tìm kiếm trung tâm, hoạt động giữa các peer với nhau.
Hoạt động giữa peer và máy chủ tìm kiếm trung tâm bao gồm:
- Tìm kiếm tài nguyên
- Đăng nhập vào mạng xếp chồng
- Đăng ký tài nguyên
- Cập nhật thông tin các bảng định tuyến
- Cập nhật thông tin tài nguyên được chia sẻ
Hoạt động giữa peer với peer bao gồm :
- Trao đổi dữ liệu.
Ứng dụng điển hình cho mô hình mạng kiểu này là Napster được mô tả trong hình 1.6.
Ứng dụng Napster hỗ trợ việc chia sẻ file và nhạc (miễn phí) giữa những người dùng
mạng Internet và được xem như là điểm bắt đầu của mạng ngang hàng. Do các vấn đề
luật pháp về bản quyền và sở hữu trí tuệ đối với các tác phẩm âm nhạc nên Napster đã
thay đổi dịch vụ của nó thành một dịch vụ chia sẻ file hợp pháp trên Internet.

• Ưu điểm : Dễ xây dựng mô hình hệ thống mạng và tìm kiếm file nhanh, hiệu
quả
• Nhược điểm: Vấn đề về pháp luật, bản quyền là một nhược điểm đối với ban
quản trị mạng. Mô hình mạng này không có tính bảo mật cao, dễ bị tấn công
và đòi hỏi mạng này cần có trung tâm quản trị


10

Hình 1.6: Mạng ngang hàng tập trung thế hệ thứ nhất (Napster)
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
node 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ố node mạng trong hệ thống, do đó khả năng mở rộng mạng bị hạn chế rất
nhiều.
1.2.1.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 kiểu mạng của thế hệ mạng ngang hàng thứ
nhất được minh họa trong hình 1.7. Đặc trưng nổi bật của mô hình này là không có
máy chủ tìm kiếm tập trung như trong mô hình mạng ngang hàng tập trung, do đó nó
không gặp phải vấn đề node cổ chai. Các peer giao tiếp trực tiếp với peer khác trong
mạng mà không cần các máy chủ trung tâm riêng biệt nào, các peer thiết lập kết nối với
nhau ngẫu nhiên. Trong mô hình mạng ngang hàng này, việc tìm kiếm file sử dụng
phương pháp phát tràn. Khi muốn tìm kiếm một file nào đó thì yêu cầu tìm kiếm được
gửi từ peer nguồn tới tất cả các peer mạng là hàng xóm của nó. Đây vừa là đặc trưng
hấp dẫn của mạng ngang hàng thuần túy và cũng là một điểm yếu của các mạng ngang
hàng này bởi vì phương pháp tìm kiếm làm tăng đáng kể lưu lượng trong mạng và gây


11

ra dư thừa hay trùng lặp thông báo truy vấn. Nếu tài nguyên được tìm thấy là tồn tại thì
khi đó peer có tài nguyên chia sẻ sẽ trao đổi với peer yêu cầu dựa vào GUID của peer
yêu cầu.

Hình 1.7: Mạng ngang hàng thuần túy (Gnutella 4.0, FreeNet)
Dựa vào ứng dụng phần mềm điển hình cho mô hình mạng này là phần mềm Gnutella
0.4, Hình 1.8 dưới đây sẽ mô tả sơ lược cách thức một peer tham gia vào mạng và cách
thức thực hiện tìm kiếm.

Hình 1.8: Node mạng tham gia vào mạng Gnutella và tìm kiếm file

Peer A tham gia vào mạng


12

(1) Peer A kết nối tới GnuCache (GnuCache được sử dụng để cache các host Gnutella
và được tích hợp bên trong phần mềm Gnut cho unix) để lấy danh sách các peer có giá
trị và đã được kết nối trong mạng.
(2) GnuCache gửi trả danh sách mà mình có cho peer A.
(3) Peer A sau khi nhận danh sách, trong danh sách của nó có duy nhất peer B, nó gửi
thông báo GNUTELLA CONNECT (thông báo dùng để kết nối tới các peer đã tồn tại
trong mạng.) tới peer B.
(4) Nếu peer B chấp nhận thông báo của peer A thì nó sẽ gửi thông báo GNUTELLA
OK, và hỗ trợ peer A tham tham gia vào mạng. Bây giờ peer A đã là một phần của
mạng Gnutella và đã được kết nối tới một peer Gnutella khác là peer B.

• Peer A tìm kiếm tài nguyên
Để biểu diễn cách thức tìm kiếm được sử dụng trong mạng Gnutella, các ký hiệu (1),
(2),(3) ở bên phải peer B trên Hình 1.8, thể hiện chặng thứ i, còn mũi tên biểu thị các
hàng xóm có thể lan tỏa được của peer tại chặng đó.
- Peer A sau khi tham gia vào mạng, khi nó cần file nào đó nhưng nó lại không có file
đó, nó sẽ tiến hành tìm kiếm file đó trên mạng. Vì peer A lại không có thông tin gì
ngoài thông tin ai là hàng xóm của nó nên nó gửi thông báo truy vấn (peer A trong
trường hợp này chỉ gửi 1 thông báo vì nó chỉ có một hàng xóm) tới hàng xóm của nó là
peer B để hỏi B có tài nguyên nó cần hay không.
- Peer B sau khi nhận được thông báo yêu cầu của peer A, đầu tiên nó sẽ kiểm tra thông
báo có phải là một thông báo cũ hay không. Nếu là một thông báo mới thì nó sẽ kiểm
tra thông tin mà peer A yêu cầu bằng cách ánh xạ từ khóa yêu cầu trong thông báo truy
vấn tới cơ sở dữ liệu của nó. Nếu nó có dữ liệu mà peer A cần thì nó sẽ gửi lại thông
báo queryHit cho peer A. Quá trình truy vấn dừng lại, và thực hiện trao đổi dữ liệu giữa

peer A và peer B, việc trao đổi là trực tiếp giữa 2 peer. Nếu peer B không có tài liệu mà
peer A cần thì nó sẽ giảm giá trị TTL (Time to live) trong thông báo truy vấn đi 1 và
chuyển tiếp thông báo truy vấn tới các hàng xóm của nó là X, Y.
- Peer X và peer Y lúc này thực hiện quá trình tương tự như peer B. Tại peer E nhận
được nhiều thông báo truy vấn do từ peer X và peer Y gửi đến.


13

- Peer C và E lại chuyển tiếp tới peer D, và tại peer D có tài liệu mà điểm node A cần.
Giả sử peer C gửi thông báo đầu tiên tới peer D khi đó thông báo do peer E gửi thông
báo truy vấn tới peer D bị loại bỏ (đây là cách tối ưu cho tìm kiếm và hạn chế truy vấn
lặp tại các peer có tài nguyên). Peer D gửi cho peer A thông báo truy vấn theo đường
từ D-C-X-B-A. Nhận được truy vấn của D, bây giờ peer A đã có địa chỉ, số cổng mà D
cung cấp, khi đó việc trao đổi file diễn ra trực tiếp giữa D và A, không theo tuyến
đường đã tìm thấy D. Ngoài ra ứng dụng điển hình còn có các ứng dụng khác như là:
FreeNet, Gnu-Net….

• Ưu điểm: Mô hình mạng dễ xây dựng và Đả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: Tốn băng thong, phức tạp trong tìm kiếm, Các node có khả
năng khác nhau (CPU power, bandwidth, storage) đều có thể phải chịu tải
(load) như nhau.
1.2.1.3 Mạng ngang hàng lai
Để 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 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.


14

Hình 1.9: Mạng ngang hàng lai ghép
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 Super Peers. Các Supper Peer tạo thành một mạng không cấu trúc, có sự
khác nhau giữa Supper Peers và ClientPeers trong mạng, mỗi Supper 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 node cổ chai (do có nhiều SuperPeers).
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ẹ.
1.2.2 Mạng ngang hàng có cấu trúc
Mạng ngang hàng có cấu trúc là một mạng chồng phủ trong đó các node hợp
tác duy trì thông tin định tuyến để tìm ra tất cả các node trong mạng chồng phủ. So
sánh với mạng chồng phủ không có cấu trúc, mạng ngang hàng có cấu trúc có
giới hạn số lượng bản tin cần thiết để tìm bất cứ đối tượng nào trong mạng chồng
phủ. 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


15

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.

Hình 1.10: Cấu trúc dạng vòng
• Ưu điểm: 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 node 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: 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 node cao. Vấn đề cân bằng
tải trong mạng này cũng là một thách thức.


16

1.3 ĐẶC ĐIỂM CỦA MẠNG NGANG HÀNG
1.3.1 So sánh mô hình P2P với mô hình truyền thống Client/Server
Mạng ngang hàng là tập hợp liên kết của các máy tính đơn lẻ với nhau và
đóng góp tài nguyên (bao gồm dung lượng ổ cứng, băng thông và khả năng tính
toán). Do đó, sức mạnh của mạng ngang hàng tăng lên khi số node tham gia mạng
tăng lên(trái với mô hình client/server truyền thống, sức mạnh và hiệu năng của
mạng giảm khi số lượng client tham gia vào mạng tăng lên). Một ưu thế khác của
mạng ngang hàng so với mô hình client/server truyền thống đó chính là tính chất
phân tán. Điều này đảm bảo được tính bền vững của mạng khi có một(hoặc một vài
node) gặp phải sự cố. Mặt khác, do tính chất bền vững của mạng là lớn nên nếu có
cơ chế phân phối thông tin hợp lý thì sẽ luôn đảm bảo được tính sẵn sàng cao trong

mạng. Một ưu thế đáng được nói đến nữa của mô hình P2P đó chính là chi phí xây
dựng hệ thống thấp, do đó việc triển khai một hệ thống mạng cũng khá dễ dàng. Ta
có thể thấy rõ sự so sánh của mạng ngang hàng và màng Client/Server qua bảng
tóm tắt 1.1 dưới đây
Mạng P2P

Mạng Client/Server

- Một mạng ngang hàng cho phép các Dữ liệu được lưu trữ ở một Server
node (PCs) đóng góp, chia sẻ nguồn tài trung tâm, tốc độ cao (Tốc độ truy cập
nguyên với nhau. Tài nguyên riêng rẽ thường lớn hơn so với mạng P2P).
của các node (ổ cứng, CD-ROM, máy - Khi một máy client yêu cầu lấy thông
in …Các nguồn tài nguyên này có thể tin về thời gian nó sẽ phải gửi một yêu
được truy cập từ bất cứ node nào trong cầu theo một tiêu chuẩn do server định
mạng.

ra, nếu yêu cầu được chấp nhận thì

- Các node đóng vai trò như cả Client máy server sẽ trả về thông tin mà client
(truy vấn thông tin) và Server (cung yêu cầu.
cấp thông tin).
+ Ưu điểm:

+ Ưu điểm:

- Không cần server riêng, các client - Tốc độ truy cập nhanh.
chia sẻ tài nguyên. Khi mạng càng - Khả năng mở rộng cao.


17


được mở rộng thì khả năng hoạt động - Hoạt động với bất kì loại ứng dụng
của hệ thống càng tốt.

nào.

- Chi phí rẻ.

- Sử dụng được với các ứng dụng chia

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

sẻ cơ sở dữ liệu

- Thuận lợi cho việc chia sẽ file, máy - Đáng tin cậy hơn (có server riêng).
in, CD-ROM …
+ Nhược điểm

- Mức độ an toàn cao nhất.
+ Nhược điểm

- Chậm

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

- Kém an toàn

- Đắt.

- Không tốt cho các ứng dụng cơ sở dữ - Phức tạp trong việc bảo trì, duy trì

liệu

hoạt động của mạng.

Bảng 1.1: So sánh mạng ngang hàng với mạng server/client truyền thống
1.3.2 Các vấn đề cần xem xét trong mạng ngang hàng
Các hệ thống mạng ngang hàng đều được xây dựng nên dựa trên sự tự nguyện
tham gia của các node thành viên. Do đó khi thiết kế và nghiên cứu cần chú ý đến
các vấn đề sau:
- Tính ổn định và dễ mở rộng của mạng: Làm thế nào để cho các node có thể
tham gia vào mạng một cách dễ dàng nhất có thể, đồng thời cũng phải giữ được tính
ổn định của mạng, có nghĩa là mạng vẫn có thể hoạt động bình thường khi có một
số node rời mạng (tự nguyệt hay đột ngột bị lỗi).
- Tận dụng tối đa tài nguyên đóng góp của các node tham gia mạng: Sức mạnh
của một hệ thống mạng ngang hàng phụ thuộc vào việc hệ thống đó tận dụng được
các tài nguyên đóng góp của các node tham gia mạng. Đặc biệt chú ý đến vấn đề tận
dụng băng thông của các node tham gia mạng.
- Đảm bảo được tính công bằng trên mạng: Vai trò của các node trong một hệ
thống mạng ngang hàng là ngang nhau, do đó mức độ đóng góp và dịch vụ được
hưởng cũng phải ngang nhau.


18

1.4 ỨNG DỤNG CỦA MẠNG NGANG HÀNG
- Duy trì tính sẵn có(avaibility) của tài nguyên: Mục đích của việc lưu trữ và
chia sẻ file, ai cũng muốn file được lưu trữ lâu dài và có thể lấy về bất cứ lúc nào.
Tuy nhiên trong mạng ngang hàng thì không có ràng buộc gì để đảm bảo được điều
đó do trong mạng ngang hàng, sự đóng góp là hoàn toàn tự nguyện.
- Còn một vấn đề khác cần được lưu ý ngoài các vấn đề về mặt kĩ thuật trên.

Đó chính là vấn đề về bản quyền của các thông tin được chia sẻ trên mạng. Hiện tại,
P2P là nơi lý tưởng để trao đổi các file nhạc, film không có bản quyền .
1.3.3 Tiềm năng phát triển của mạng ngang hàng
Hiện nay, khái niệm mạng ngang hàng hoàn toàn không lạ lẫm. Số người biết
đến và sử dụng những ứng dụng trên nền tảng công nghệ mạng ngang hàng đang
tăng lên từng ngày. Mặc dù vẫn còn những vấn đề về bảo mật hay vấn đề về bản
quyền của những nội dung được trao đổi trong mạng ngang hàng, nhưng với những
ưu thế và lợi ích mà mạng ngang hàng đem lại, chúng ta vẫn có thể thấy được sự
phát triển mạnh mẽ của nó.
Trên thực tế, cũng đang có rất nhiều nghiên cứu phát triển các ứng dụng trên
nền công nghệ mạng ngang hàng, từ những lĩnh vực bình thường của đời sống như
giải trí hay truyền hình( các ứng dụng về truyền video thông qua mạng ngang hàng)
đến công việc kinh doanh hay nghiên cứu khoa học. Đặc biệt, quân đội Mỹ cũng đã
có những dự án nghiên cứu phát triển những ứng dụng quân sự trên nền công nghệ
mạng ngang hàng. Chúng ta hoàn toàn có thể tin tưởng rằng, trong tương lai gần,
mạng ngang hàng sẽ tiếp tục phát triển và cung cấp thêm nhiều lợi ích cho cuộc
sống.
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. 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 đó. Người dùng 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. Có hơn 60 triệu người trên thế giới đã sử dụng (1 triệu người


×