TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KỸ THUẬT MÁY TÍNH
PEER TO PEER SYSTEM
MÔN:
XỬ LÝ SONG SONG VÀ HỆ THỐNG PHÂN TÁN
SVTH:
HỒNG QUỐC MINH - 08520230
TRẦN HOÀNG LUÂN – 08520221
GVGD:
THIỀU XUÂN KHÁNH
Nội dung
1.
Giới thiệu
2.
Napster
3.
Peer-to-peer middleware
4.
Routing overlays
5.
Overlay case studies: Pastry, Tapestry
6.
Application case studies: Squirel, OceanStore, Ivy
1. Giới thiệu
Peer to peer system (p2p) là gì?
- Dùng để chỉ những hệ thống phân tán
mà không có máy tính điều khiển trung
tâm.
- Tất
cả các máy tính tham gia (node,
peer) đều có chức năng giống nhau.
- Một
node có chức năng vừa là client
vừa là server của các node khác.
Peer to peer system là gì?
Các ứng dụng
Phân loại
Unstructure P2P
- Nơi
lưu giữ file không liên quan đến overlay
topology (cấu trúc hình học của mạng).
- Kỹ
thuật tìm kiếm:
- Đơn giản (chủ yếu):
- flooding với các giải thuật ưu tiên theo chiều rộng (breadth-first)
hoặc chiều sâu (depth-first).
- Phức tạp:
- bước nhảy ngẫu nhiên (random walk),
- chỉ số routing (routing indices)
- Phù
hợp với hệ thống có các node vào ra
thường xuyên tùy ý.
Unstructure P2P
Thế hệ thứ nhất
Unstructure P2P
Thế hệ thứ hai
Mạng ứng dụng: Gnutela 0.6, Kazaa, Skype…
Structure P2P
- Cung
cấp ánh xạ giữa nội dung (id của
file) với vị trí của node (địa chỉ của
node).
- Khắc
phục nhược điểm tìm kiếm của
mạng không cấu trúc bằng cách sử dụng
hệ thống bảng băm phân tán (DHTDistributed Hash Table)
Structure P2P
- 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ể
- 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.
- Mạng
ứng dụng:
- Pastry, Tapestry, CAN, Chord, Kademlia.
Cơ chế của DHT
Các đặc trưng của P2P system
Đảm bảo mỗi user đều có thể đóng góp tài nguyên cho
hệ thống.
Tất cả các node trong hệ thống có chức năng và trách
nhiệm như nhau.
Hoạt động không phụ thuộc vào hệ thống quản lý trung
tâm.
Có thể giới hạn mức độ ẩn danh đối với nhà cung cấp và
người sử dụng
Cho phép lựa chọn thuật toán về vị trí của dữ liệu trên
nhiều máy chủ và sau đó truy cập vào nó được cân bằng
và sẵn có mà không phải thêm chi phí nào.
Các đặc trưng của P2P system
Ưu điểm:
- Không cần server riêng, các client chia sẻ tài nguyên, khi
mạng càng mở rộng thì khả năng hoạt động càng tốt.
- Rẻ.
- Dễ cài đặt và bảo trì
- Thuận lợi cho việc chia sẻ file, máy in, CDROM…
Nhược điểm:
- Chậm
- Không tốt cho các ứng dụng CSDL.
- Kém tin cậy.
NAPSTER
Là mạng P2P có quy mô lớn dầu tiên
trên thế giới
Thành lập năm 1999
Chia sẻ nhạc qua mạng internet
Các file nhạc được tạo và chia sẻ bởi cá
nhân, thường là copy từ CD.
Napster: chia sẻ file ngang hàng
với chỉ mục trung tâm, bản sao
P2p middleware
- Cung
cấp cơ chế giúp client truy cập tài
nguyên nhanh và độc lập vị trí của
chúng .
- Các
nodes cần xác định vị trí và truy
xuất bất kỳ tài nguyên sẵn có nào mặc
dù tài nguyên đó được phân bố rộng
khắp và liên tục được thêm mới hoặc
xóa bỏ.
P2P MIDLEWARE
Các yêu cầu chức năng:
- Đơn
giản hóa việc xây dựng dịch vụ là thực
hiện trên nhiều host được phân bố rộng khắp.
- Khả
năng thêm mới và xóa bỏ tài nguyên cũng
như thêm host đến dịch vụ và xóa chúng.
- Tương
tự middleware, p2p middleware cung
cấp giao diện người lập trình độc lập với loại
tài nguyên phân bố mà chương trình thao tác.
P2P midleware
Các yêu cầu phi chức năng:
- Global
Scalability
- Load
Balancing
- Local
Optimization
- Accommodating
- Security
to high dynamic host availability
of data
- Anonymity,
censorship
deniability, and resistance to
Routing overlay
Là thuật toán phân bố của p2p midleware
chịu trách nhiệm định vị node và đối tượng.
Một node có thể truy cập tài nguyên bằng
cách định hướng yêu cầu qua một chuỗi
các node.
Một yêu cầu được định hướng đến node
gần nhất có chứa bản sao của tài nguyên
yêu cầu.
Routing overlay
Global User IDs (GUID) định danh node
và object.
GUID thường được lưu dưới dạng số
128 bits, hiển thị bằng số hexa 32
◦ Ví dụ: 21EC2020-3AEA-1069-A2DD08002B30309D
Được tính toán bằng mã băm secure
hash: SHA-1…
Figure 10.1: Distinctions between IP and
overlay routing for peer-to-peer applications
S c ale
Lo ad balanc
ing
Ne two rk dy nam ic s
(additio n/de le tio n o f
o bje c ts/no
de s)
Fault to le ranc e
Targe t ide ntific atio
n
S e c urity andanony m ity
IP
A pplic atio -nle v e l ro uting o vlay
er
IPv4 is limite d to 232 a ddre ssa ble
no de s.The
IPv6 na me spa c e is muc h mo
gere
ne rous
(2128), but a ddre sse sin bo th ve rsions a re
hie ra rc hic a lly struc ture dnda muc ho f the spac e
is pre-a llo c a te d a c c o ng
rdito a dministra tive
re quire me nts.
Lo a ds o n ro ute rs a re de te rmin
ed by ne twork
to po lo gyand a ssoc ia te dtra fficpa tte rns.
Pe e -rto-pe e r syste ms c a n a ddremo
ssre o bje c ts.
The G UID na me spa c e is ve ry laarge
nd fla t
(>2128), a llo wing it to be muc h mofully
re
o c c upied.
O bje c t lo c a tio ns c a n be
ndo
ramiz e dand henc e
tra ffic pa tte rns a re divo rc e d fro m the ne two rk
to po lo gy.
IP ro utingta ble s a re upda te d ancsyhrono uslyon Ro uting ta ble s c a n bepda
u te dsync hronously o r
a be st-e ffo rts ba sis with time c o nsta ntsthe
o n a sync hro nously with fra c tio nso f a se c o nd
o rde r o f 1 ho ur.
de la ys.
Re dunda nc yis de signe d into the IP ne two rkby Ro ute s a nd o bje c t reenc
fe r e sc a n be re plic a te d
its ma na ge rs, e nsuring to lece
raonf a single
n-fo ld, e nsuring to le ra
ceno f n fa ilure s ono
f de s
ro ute r o r ne two rk nne
c o c tivityfa ilure .n-fo ld o r c o nn
ec tio ns.
re plic a tio n is c o stly.
Ea c h IP a ddre ss ma ps to e xa c tly o ne ta rgeMe
t ssa ge s c a n be roedutto the ne a re stre plic ao f
no de .
a ta rge t o bje c t.
Addre ssing is o nly sere
c uwhe n a ll no de sa re Se c urity c a n be a c hie
edve ven in e nviro nments
truste d. Ano nymity fo r the o wne rsa ddr
o fesse s with limite d trust. A limite d de gre eo f
is no t a c hie va ble .
a nonymity c a nbe provide d.
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 10.3: Distribution of information in a routing overlay
AÕs routing knowledge DÕs routing knowledge
C
A
D
B
Object:
Node:
BÕs routing knowledge
CÕs routing knowledge
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Basic programming interface for a distributed hash table (DHT) as
implemented by the PAST API over Pastry:
Put(GUID, data)
◦ Publish an object with GUID. The data is stored in all the nodes
responsible for a replica.
Remove(GUID)
◦ Deletes all references to GUID and the associated data.
Value = get(GUID)
◦ The data associated with GUID is retrieved from one of the nodes
responsible it.
The DHT layer take responsibility for choosing a location
for data item, storing it (with replicas to ensure availability)
and providing access to it via get() operation.