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

Luận văn giải pháp sử dụng p2p như công cụ truyền thông cho các Ứng dụng client server

87 2 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giải pháp sử dụng p2p như công cụ truyền thông cho các ứng dụng client-server
Tác giả Lương Quy Thọ
Người hướng dẫn PGS.TS Hà Quốc Trung
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại Luận văn thạc sĩ
Năm xuất bản 2013
Thành phố Hà Nội
Định dạng
Số trang 87
Dung lượng 1,66 MB

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

Nội dung

Một client không, chia sẽ bắt cứ tải nguyên nảo với các client khảc ngoại trừ việc giửi truy vẫn tới các địch vụ của máy server Mé hinh client-server duge phát triển bởi Xerox PARC vào

Trang 1

BO GIAO DUC VA DAO TAO

TRUONG BAI HOC BACH KHOA HA NO!

LƯƠNG QUY THO

GIẢI PHÁP SỬ DỤNG P2P NIIƯ CÔNG CỤ TRUYEN THONG

CHO CÁC ỨNG DỰNG CLIENT-SERVER

Chuyên ngành : Công nghệ thông tin

TUẬN VĂN THẠC §Ĩ CÔNG NGHỆ THONG TIN

NGƯỜI HƯỚNG DẪN KIIOA HỌC:

PGS.TS IIA QUOC TRUNG

Hà Nội — 2013

Trang 2

LOTCAM DOAN

Tôi là Lương Quy Thọ, học viên cao học lớp 11BCNTT khóa 2011B do giảo viên hưởng din là PGS.TS 1a Quốc 'Irung hướng dẫn

'Tôi xin cam đoan toàn bộ nội dung duợc trình bày trong bản luận văn “Giới pháp

sử dụng P2P nh công cụ truyễn thông cha cde teng dung Client-Server" nay 1a két quả Lim hiểu và nghiên cứu của riêng lôi dưới sự hướng đẫn của PGS.TS Hà Quốc

Trung, Các kết quả và dữ liệu dược nêu trong luận văn là hoàn toàn trung thực và rõ rang Moi théng tin trích đẫn đều được tuân theo luật sở hữu trí tuệ, liệt kê rõ rằng các

tài liệu ưưn khảo Tôi xin chịu hoán toàn lrách nhiệm với những nội địng được viết

trong luận vẫn này,

Hà nội, ngày 18 tháng 12 năm 2013

Hoc viên

Tương Quy Thọ

Trang 4

MỤC LỤC

LỠI CAM BOAN

LOI CAM ON

MỤC LỤC

DANH MỤC HÌNH VẼ, ĐỒ THỊ

CHUONG |; TONG QUAN

CHƯƠNG II: CƠ SỞ LÝ THUYẾT

Trang 6

DANH MUC HiNH VE, DO THI Hinh 2.1: Mé hinh Client-Server enceetcsi

Hình 2.2: Trao đối dữ liệu giữa Client va Server trang chế độ bị phong tỏa

Hình 2.3: Năng lực xử lý của Nginx sơ với Apache web server

Hình 2.4: So sánh khả nẵng quán lý hộ nhớ giữa Nginx va Apache web server

Hình 2.5: Cơ chế hoạt động của blocking-server

Hình 3.6: cơ chế hoạt động của non-blocking server [ref|

Hình 2.7: Phân loại clieni

Hình 2.8: Phan loai Client-Server theo kiển trúc logic

Hinh 3.1: Caching model

Hình 3.2: Cơ chế hoạt đồng mô hình Caching model

Hình 3.3: Mô hình Local-Proxy

Hình 3.4: Shared-caching Model

Hình 3.5: Cơ chế hoạt động mô hình Shared-caching model

Hình 4.1: Mô hình hoạt động ứng dụng Quicknade

Hình 4.2: Cac module trong ứng dụng Quicknade

Hình 4.3: Tốc đô download P2P và Client-Server

Hình 4.4: Đồ thị thời gian và tốc độ download file (kích thước 48,11MB}

Trang 7

CHƯƠNG T: TONG QUAN

Mô hình chent-server là mô bình triển khai ứng dụng phân tán phổ biến hiện nay bởi khá năng piuát triển và triển khai ứng dụng, dễ đảng, Trong mô hình náy, thành phần cưng cấp các dịch vụ hay lài nguyên được gọi là server, thành phan gọi các service

được cung cấp bởi server gọi lả clent Thông thường các chent và server dược dặt trên

các máy vật lý khác nhau và giao tiếp với nhau thông qua hệ thông mạng Một máy server chạy một hoặc nhiều ứng đụng server, các tmạ dụng server chia sê tài nguyên với các chent Một client không, chia sẽ bắt cứ tải nguyên nảo với các client khảc ngoại

trừ việc giửi truy vẫn tới các địch vụ của máy server

Mé hinh client-server duge phát triển bởi Xerox PARC vào năm 1970, Các ứng

il, WWW là các ví dụ điển hình cửa mô hình chient-server Đặc điểm nói bật

dung Bir

của kiên trúc client-servor gồm:

œ Quản lý tập trung: đữ liệu dược lưu trữ tập trung trẻn server thay vi nằm rải

rác trên nhiêu máy, giúp đơn giân hóa việc truy xuất và cập nhật đữ liệu

© Dé bao tri: nho khả năng quản lý tập trung mà cảng việc bảo trì cũng trở nên

dễ dàng hơn vì phần lớn việc bão trì chỉ ämn thực hiện trên server Trong

trường hợp hệ thông có nhiều server với thiết bị dự phỏng, quá trình bảo trì (như sửa chữa, thay thê server) có thể điễn ra hoàn toàn trong suốt với client

ø _ lão mật: dữ liệu tập trung trên server đồng nghĩa với việc kiểm soát dễ dang

và an toàn hơn

Các ưu điểm trên khiến ứng, dụng phát triển theo mỏ hình Client-Server trở nên dé

dảng và linh hoạt

Trang 8

UDP, HTTP

«_ Việc triển khai ứng đụng cũng dễ dàng: cải dặt server trên máy chủ vật lý Các

img dung client được phản phối qua mạng và được người đúng cải đặt vào máy

của minh Cac céng nghé: web application, Java Webstart, NET Oneclick cho

phép ủng dụng tự động nâng cấp khi có thay đổi trên server

Tiên cạnh các ưn điểm của mỏ hình client-server, các đặc điểm của mô hình nảy

cũng lạo ra các yéu didi dé 1a server bottleneck Server bottleneck gó thế xử lý bằng các giải phảp scale-up ung dung như: nàng cấp server, sử dụng load balancing! dé phân tải ra nhiều máy chủ vật lý Tuy nhiên các giải pháp trên thường có chỉ phí rất

cao Với các ứng dụng chủa số giao tiếp thời gian thực (Audio, Video) hay các ứng

dụng chia sẻ ñle cũng cần server có băng thông rất lớn

Bén cạnh giải pháp seale-ap hệ thống, giải pháp sử dụng cache tại clenL là giải

pháp thường sử dụng nhất Lữ liệu dược chuyển qua client sẽ dược cache lại phục vụ cho lần sử đụng tiếp theo, một cơ chế cache hiệu quả có thê cải thiện đáng kế hiệu năng

truy cập service ti server Các thuật toán cache được gọi là: “page replacement

algorithm’), ‘ruy nhién néu cache miss xay ra, client van phai lién lac véi server dé

lây dữ liệu Như vậy tính co giãn của hệ thống vẫn không được đăm bảo Ngoài ra sử

Trang 9

dung cache cé thé không giất quyết được bài toán chia sẽ dữ liệu roaltine, khi có nhiều

client cing đăng ký nhận thẳng tỉn broadoast từ server

Giải pháp khác có thể giải quyét bottleneck ở server là triển khai ứng dụng theo

xnô hình Peor-to-peer (F2P) P2P là một mỏ hình triển khai ứng dụng phân tán, trong,

đó mỗi node trong mạng (được gợi là “peer”) vừa đóng cá vai trả là nođe cung cấp lan

nodc sử dụng địch vụ, khác với mô hình clent-server trang dé client chi sit dung dịch

vụ cung cấp bởi server Việc mỗi node trong mô hình P2P vừa dóng vai trỏ lả node sử

dung Hin cung cân dịch vụ dẫn đến các xử lý trên toàn bộ hệ thống được phan chia ra

các nodc trong mạng do dỏ giải quyết vân để bottlencck của mô hình client-scrvcr, đặc biệt khi ứng dụng chia sẻ đữ liệu lớn, băng thông hệ thống được chia ra trên các máy, đâm bão khã năng mö rộng hệ thống với chi phí tối tru

‘Tuy nhién mồ hình P2P cũng có yếu điểm đó lá: triển khai phức tạp hơn do các

thao tác: tìm kiểm đữ liệu, lưu trữ phân tán đữ liệu trên các nođe và cáo cơ chế dam

‘bao đữ liệu sắm sàng kú có số lượng mode nhất định rời khỏi hệ thống Mặt khác mô tính P2P cũng khó khăn hơn trong việc bảo trí và năng cấp hệ thống so với ứng, dụng, client-server xử lý tập trung trên server Ngoài ra 1 điểm khác làm cho P2P không phải

lựa chọn số 1 cho các ứng dụng phân tán là tính an toàn của đữ liệu được lưu trữ phân

tan tại nhiều node Mét sé ing dụng thậm chí không thể triển khai theo mô hình P2P

do yêu cầu an toàn và lưu trữ tập trung dữ liệu: các ứng dụng có dữ liệu nhạy cứm: ứng dung ngan hang core-banking, img dung chimg khoán, ứng dụng mail

Qua các tìm hiểu ta có thể trên rút ra:

« Ứng dụng dựa trên mô binh Client-Server dé phát triển nhưng gặp server

batileneck va giới hạn bắng thông

© Ứng đụng đựa trên mẻ hình P2P làm hệ thống có tính co dan cao nhìmg khó

trién khai do: lookup service, protocol pluie tap,co ché phan tan dit liéu trên các

nods và đăm báo tính dữ liệu sẵn sảng cao phức †ạp.

Trang 10

TÔ tải lôi chợn nghiên cứu trong luậu văn là “Giải pháp sử dụng P3P như công cụ truyền thông cho các ímg dụng Client-Server” Mô hình được tôi nghiên cứu trong luận

văn sử dụng mô hình P2P két hop vai Client-Server va Cache dé scale-out hé théng, giải quyết bottleneck của server cũng như sự phúc tạp trong triển khai ủng dung P2P đồng thời vẫn tân dụng được tính đơn giản của mô hình Client-Server và khả năng co giãn cao của hệ thống đựa trên P2P Ngoài ra hướng tiếp cận để xuất trong hiận văn của tôi hưởng tới việc nâng cấp ứng dung Client-Server co sin dé sit dung thêm kết nỗi

POP va Cache

Trong phan thé nghiém, tôi tiến hành áp dụng mô hình đẻ xuất vào ứng dụng chia

sẻ file để đưa ra các số liệu về hiệu năng của mỏ hình cũng như khả năng ửng dụng ruô hình vào các hệ thẳng sử dụng mô hình Client-Server đã có

Trang 11

CHƯƠNG II: CO SO LY THUYET

Trong phản nảy tôi trình bảy về cơ sở lý thuyết liên quan dén mé hinh Client-

Server, mô hình P2P, thuật toán thay thẻ trang (page replacement algorithm!*)) str dung trong quản lý cache và các công nghệ sử dụng trong triển khai ứng dụng P2P

Dựa trên cơ sở lý thuyết nảy, tôi sẽ đẻ xuất mô hình lý thuyết và ứng dụng thí

nghiệm được trình bảy trong các phân sau của luận văn

2.1 M6 hinh Client-Server

Trong khoa học máy tính, mô hình Client-Server là một mô hình ứng dụng phân tán

mã các địch vụ được xử lý và cung cấp bởi ứng dụng gọi là server; các ứng dụng gửi

yêu cau cung cap dich vu tdi server goi la client Thong thường client và server giao

tiếp với nhau thông qua hệ thông mạng máy tỉnh trên các máy vật lý khác nhau, tuy

nhién ca client va server van co kha ning chay trên củng một máy vật lý Một server

vật lý có thẻ chạy một hoặc nhiều ứng dụng server vả chia sẻ tải nguyên với các client

Một client không chia sẽ bắt cứ tài nguyên nào của nó ngoại trừ thông qua việc gửi dữ

liệu yêu câu cung cấp dịch vụ tới server Do đó, client là ứng dụng khởi tạo phiên kết

nổi tới server và server là ứng dụng luôn thực hiện chờ kết nồi từ client

©

Hình 2.1: Mõ hình Client-Server

Trang 12

M6 hinh Client-Server dude phat triểu bởi Xerox PARC vao những rửm 1970 Hiện

tại mô hình rất phố biển trang các ứng dung mang Email, WWW 1a cac img đụng điển

tình của mô hình này

Client-Server mé t4 mdi quan hệ cộng tác giữa nhiều ứng dụng trong một hệ thông

Thành phẩn server cùng cấp dịch vụ cho một hoặc nhiều client khi nhậm dược yêu cầu

'Trong mô hình nảy, mỗi máy tỉnh rong mạng, giữ một trong hai vai trỏ: chent hoặc

server Server là máy tính chia sẽ có chọn lọc tải nguyên mà nó quản lý; elient là một

may tinh he

chương trình khỏi tạo liên lạc với server dễ sử dụng các tải nguyên mà

server cưng cấp Dữ liệu, CPU, máy in, thiết bị luu trữ đữ liệu là một vài trong sỏ các

tai nguyén ma mt server thường cưng câp

Chia sé thi nguyén méy tinh trong mé hinh Client-Server cdn goi IA time-sharing bởi nó cho phép nhiều ứng dụng sử dụng cùng lãi nguyên được clna sẽ lại cửng một

thời điểm

Một máy tính cho dù là client hay server hay cả 2, nó dễu cỏ thẻ thục hiện nhiều

chức năng như: chạy ửng dụng máy chủ web, file server cùng lúc để cung cấp các loại

đữ liệu khác nhau cho từng yêu câu khác nhau từ client Ứng đựng client cũng có thế

giao liếp với ứng dựng server trên dùng một máy vật lý Giao tiếp giữa 2 ứng dụng máy chủ, chăng hạn như thục hiện đồng bộ hóa đứt liệu, gọi là giao tiếp server-tc-server

Client va Server trao dỗi thông diệp theo cơ chế requssi-response: client gửi yêu câu; server nhận và trả về kết quả Đề thực hiện giao tiếp giữa các máy tính, trước tiên chúng cần phải sở dụng cùng một ngôn ngữ, tuân theo một quy lắc giao tiếp đã định

sẵn Ngôn ngữ và quy tắc giao tiếp gọi chung lả giao thức giao tiếp Lắt cũ các giao

thức Client-Server được xử lý ở tâng ứng đụng (applieation layer)

11

Trang 13

Hình 2.2: Trao doi dit lidu gitta Client va Server trong ché dé bi phong téa

Qué trinh trac déi théng diép pitta client va server có thê diễn ra theo hai chế độ: bi

phong tóa (blocking) va khéng bj phong téa (non-blocking)

a Ché dé bị phong tồa

Trong chế độ bị phong tỏa, khi tiên trình client hoặc server phát ra lệnh gửi dữ

liệu, việc thực thí của liễn trình sẽ tạm ngừng cho tới khi tiên trình nhận phát ra

lệnh nhận đữ liệu Tương tự với tiền trình nhận đữ liệu, nêu tiên trình nảo đó (client hoặc server) phát ra lệnh nhận dữ liệu mà tại thời điểm đó chưa có đữ liệu gửi tới thì việc thực thị của tiến trình cũng sẽ bị tạm ngừng chơ tới khi cỏ

dữ liệu gửi tới

b Chế độ không bị phong téa

Trong chế độ này, khi tiền trinh client hay server phát ra lệnh gửi đử liệu, việc

thực tị của liền Irình vẫn được tiến hành mã không quan tâm đến việc có tiến

trình nào phát ra lệnh nhận và phán hỏi đữ liệu đỏ hay không, Tương tự cho

trường hợp nhận đữ liệu, khi tiền trinh phátra lệnh nhận dữ liệu, nó sẽ nhận đít liệu hiện có, việc thực thị của tiền trình vẫn được tiên hành mả không quan tim

đến việc có tiến trinh nào phát ra lệnh gửi đổ liệu tiếp hay không,

Rất nhiều nên tăng cho phép phát triển các ừng, dụng, client-server sử dựng request-

response theo chế độ: bị phong tỏa Các công nghệ có thể kế đến như Java Socket,

12

Trang 14

NET Socket, PHP Phat trién tmg dung 6 ché dé nay dé dang cho người phát triên do:

thue hién request tai mét noi và chờ nhận được kết quả (hoặc exception néu timeout) ngay tại đó Tuy nhiên yêu điểm của chế độ nảy là việc các thread bi block cho téi khi

có kết quả của thao tác (hoặc exception) do đó khi hoạt đông hệ thông có thể tồn tại rắt

nhiều thread chờ dẫn tới làm chậm ứửng dụng (đặc biệt là ứng dụng server) Đề khắc

phục yếu điểm của chế độ này, các nên tảng như: Java, /NET đưa ra các cài đặt hiệu

quả cho phép sử dụng đồng thời các cơ chẻ sau đề cải thiện hiệu năng hệ thông:

© Tap cac thread gọi là ThreadPool để kiểm tra dữ liệu (đã nhận, đã gửi hoặc đã

có kết quả chưa)

© Co che wait/ notify sé dong bang thread khi can phai ché dit ligu va kich hoạt

thưead trở lại khi dữ liệu đã săn sảng Việc kích hoạt được thực hiện bởi các

thread trong ThreadPool

Các cơ chế trên cải thiện rất nhiều hiệu năng hệ thông, tuy nhiên đề hiệu năng đạt

tới cấp độ cao hơn, Non-bloek thường được sử dụng

Các nên tảng cho phép phát triển ứng dụng Non-blocking như: NET asynchronous

IO, Java Vertx và Nodejsfl Bên cạnh đó 1 số server cũng được phát triển theo hướng,

tiếp cận nảy, điện hình lả Nginx Hình vẽ sau so sánh khả năng đáp ứng vả quản lý bộ

nhớ của web server Nginx và Apache (blocking-server):

Trang 15

Hình 2.4: So sánh khả năng quản lý bộ nhớ giữa Nginx và Apache web server

Khác biệt vẻ cơ chế hoạt động giữa server blocking va non-blocking cé thé thay qua

hình vẽ sau:

Thread}

Thread 2 Roquest

Threaded server Thread 3

Athraad Attead Thread 4 the request ‘Thread S

Hình 2.5: Cơ chế hoạt động của blocking-server

Blocking server thưởng sử dụng 1 thread đề xử lý 1 request, do đó đẻ phục vụ hàng, nghin request tai một thời điểm, cản có hang nghìn thread tương ứng Mặt khác tải

nguyên sử dụng để tạo vả duy trì 1 thread không nhỏ nên blocking server có hiệu năng,

sử dụng tải nguyên thấp hơn

Xử lý request trong non-blocking server không ánh xạ 1-1 với thread Thay vào đó

server non-blocking sử dụng vòng lặp IO (input-output) và cơ chế event-driven đề xử

ly request Khi cé request, event driven server phat ra sự kiện va dua vao IO Loop, IO

14

Trang 16

Toop sit dung 1 thread duy ubAt trên méi core CPU để lặp qua và xử lý tất cã các sự

kiện được đua đến cho tới khi xử lý xeng và loại bả sự kiện ra khỏi vòng lặp

Request

Event driven sever

handiss the wrt ont

Tha 10 loops evant

diven

Hình 2.6: co ché hoat doug ela non-blocking server [ref]

Đặc điểm của server triển khai theo cơ chế này:

« Server không phải tạo và quân lý nhiều thread Khong phai lo ti threadsafe hoặc deadleck như blocking server nên hiệu năng hệ thống cao hơn

® Ứng dụng khó phát triển hơn do tỉnh bat déng bộ: gửi yêu cầu tại 1 nơi, nhận kết

quả tại một nơi khác

2.1.1 Phân loại server

Server được chia làm 2 loại như sau:

a Interactive server server phục vụ cdc client mét cach tuần tự, sau khi phục vụ client nay xơng, sẽ phục vụ cho các yêu câu của cñent khác Quá tình phục vụ

Trang 17

b Coneunrcnl server: server có thế phục vụ cho niiéu chent, tai mét thon di¢m Qua

trình phục vụ theo vòng lặp như sau

Chờ đợi yêu câu từ chen => Khởi tạo một tiễn trình để xứ lý yêu cầu của cliert

> Quay Iai bude 1

Để sử đụng concurrent server 6 thé ding mét trang 2 cach sau:

Mỗi triển trình phục vụ riéng 1 client

Sử dụng 'TlveadPool: tạo ra một tập các triển trinh để cỏ thẻ xứ lý cac yêu cau

của client

2.2.2 Phan loaiclient

Dựa tiên các chức năng vả khỏi lượng công việc mà chent thực hién, client ¢4 thé

được phân thành hai loại:

a at client: là cào client có đủ sửe mạnh và hoạt động hạn chế sự phụ thuộc vảo

cac server

Fat chent (hay com goi 14 heavy, rich bode thick client) là một máy vật lý

trong mé hinh client-server hoặc trong hệ thống mạng, cưng cấp nhiều xử lý độc

lập với máy chủ trung tảm

So voi Thin client, Fal chent van yêu cầu một kết nổi thường xuyên lới máy

clrú trung tâm (hoặc kết nối vào 1 mạng), nhưng thưởng nó được đặc trưng bởi khả năng thực hiện nhiều tính toàn mà không cẩn kết nội tới server Tương phân với thin client luôn tránh các xử lý nhiều nhất có thẻ vả gửi yêu câu xử lý tới server mỗi lần đữ liệu được nhập và cân xử lý hoặc validate

Thin client: là các clienL rất hạn chế chức nồng và phụ thuộc nhiễu vào server

‘Yhin chent (hay còn gọi là lean client hoặc slim clienQ là một máy vật lý hoặc

một chương trình cỏ hoạt động phụ thuộc rất nhiều vào các máy tỉnh hoặc

chương trình khác (server) Khác với các TaL clenL được thiết kế đề thực hiện

công việc tương đối độc lập với server (các yêu câu xử lý ở server ít và thường,

16

Trang 18

khong phic tap) 6 thin chenL server cung cấp địch vu cho client tir luu trữ đữ

liệu tới xử lý đữ liệu client gũi lên

Thịn clienL lá một thành phần của mdi ha tang ứng dụng lớn, trong đó vất

nhiều elient chia sẽ thực hiện yêu câu tính toán tối củng mét server Do đó, nhìn theo kiến trúc hướng dich vu (Service Oriented Architecture-SOA) thin

clienl cũng có thể được xem nhủ là hệ thống cúng cấp các dịch vụ xử lý nghiệp

vụ thông qua cac giao diện người đủng má nó cung cấp

Tiện toán sử đụng thin-client cũng làm giảm đáng kế chỉ phí phần cứng và

bản quyền phản mềm cho toản bộ hệ thông, khi các máy clicnt cần chạy câu hình thấp với các phần mẻm rất cơ bán (hệ điều hành nguồn mớ, trình đuyệt, các

phần mềm hỗ trợ khác)

Hau hét các hệ thống sử dụng thin-client la cac may cé ning lực tỉnh toán

thấp và chỉ cung cắp giao điện đồ họa cho người sử đụng, ngoài ra các xử lý khác được cung cấp bởi server

rat (| thin thin { Fat

Le L

Functionality & Functionality &

brovessing had processing load

Hình 2.7: Phân loại chent

Kin tric client-server

V6 mặt logic, một ứng dung client-server thuéng được chia thành 3 tẳng:

œ- Tầng trình điển: chị trách nhiệm bién thi cac thang tin va Luong tác với người đúng, Tầng trình diễn năm ở Client,

Trang 19

* Tang nghiép vu: xtt ly cac yéu cu nghiép vu va phdi hop ung dung ‘Tang này

thường nằm ở server với các ứng dung sir dung thin-clicnt Voi các ứng dụng sử

dụng fat-client, ting nay có thể nằm ở cá client và server

© Tang co s6 dit ligu: quan ly dit ligu eda chuong wink Tang nay nin 6 server

Taln client Thin cleat Cllent Fat client Fat client

Pragantation Preenia ion Presentation Presentation Presentation

1Hình 2.8: Phân loại Client-Server theo kién tric logic Tuy nhiên tủy thuộc vào mức độ phức tạp và cách thiết kể, ứng đụng client server

có thể là ứng dụng: 2-tằng, 3 mg hoặc m-iẳng

a Client-server 2 tang

Tiến trúc client server don giãn nhất là kiến trúc Hai lẳng Một ứng dụng hai tầng, cung cấp nhiều trạm làm việc với một tầng trình diễn thống, nhất, tầng, nảy

truyền tin với tảng hưu trữ đữ liệu tập trung Tâng trình diễn thông thường là

client, và tầng lưu trữ dữ liệu là server

Trang 20

Hầu hết các ứng dung Internet nhu la email, telnet, ftp tham chi la ca Web la

các ứng dung hai tang

Trong ứng dụng hai tằng truyền thông, khối lượng công việc xử lý được

đảnh cho phía client trong khi server chỉ đơn giản đỏng vai trỏ như lả chương

trình kiểm soát luông vào ra giữa ứng dụng và dữ liệu Kết quả là không chỉ

hiệu năng của ứng dụng bị giảm đi do tài nguyên hạn chế của PC, mã khối

lượng dữ liệu truyền đi trên mạng cũng tăng theo, Khi toàn bộ ứng dụng được

xử lý trên một PC, ứng dụng bắt buộc phải yêu câu nhiêu dữ liệu trước khi đưa

ra bắt kỳ kết quả xử lý nảo cho người dùng Nhiều yêu cầu dữ liệu cũng làm

giảm hiệu năng của mạng Một van đề thường gặp khác đổi với ứng dụng hai tang la van dé bao tri Chi can mot thay doi nhé doi với ửng dụng cũng cân phải

thay đối lại toàn bộ ứng dung client va server

Ta có thẻ tránh được các vân để của kiên tric client server hai tang bang

cách mở rộng kiến trúc thành ba tầng Một kiến trúc ba tầng cỏ thêm một tầng,

mới tách biệt việc xử lý dữ liệu ở vị trí trung tâm.

Trang 21

Tier 1 Tier2 Tier 3

Hinh 2.10: Kién tric Client-Server 3 tang

Theo kién tnic ba tang, một ứng dung duoc chia thanh ba tang tach biét nhau

ve mat logic Tang dau tién la tang trinh dién thường bao gồm các giao diện đỏ họa Tâng thứ hai, còn được gọi lả tầng trung gian hay tầng tác nghiệp Tầng thứ

ba chứa đữ liệu cần cho ứng dụng Tầng thứ ba về cơ bản là chương trình thực

hiện các lời gọi bàm để tìm kiếm dữ liệu cân thiết Tầng trình diễn nhận đữ liêu

và định dạng nó đề hiển thị Sự tách biệt giữa chức năng xử lý với giao diện đã

tạo nên sự linh hoạt cho việc thiết kế ứng dụng Nhiễu giao diện người dùng,

được xây dựng và triển khai mà không lâm thay đổi logic ứng dụng

'Tảng thứ ba chửa dữ liệu cân thiết cho ứng dụng Dữ liệu này có thể bao

gồm bất kỳ nguồn théng tin nao, bao gồm cơ sở dữ liệu như Oracale, SQI,

Server hoặc tải ligu XML

c Client-server n tang

Kien trie n-tang duoc chia thanh cac tang nhu sau:

© Tang giao diện người dùng: quản lý tương tác của người dùng với ứng dung

© Tang logic trình diễn: xác định cách thức hiển thị giao diện người dùng vả các yêu cau của người dùng được quản lý như thẻ nảo

Trang 22

Tang logic téc nghiép: mé hinh héa các quy tắc tác nghiệp,

© Tang cac dich vụ hạ tầng: cung cấp một chức năng bỏ trợ cân thiết cho ứng, dụng như các thành phân (truyền thông điệp, hỗ trợ giao tác)

Tier 1 Tier 2 Tier 3 Tier 4

client / server client/ server client / server

interaction interaction interaction

Hình 2.11: Kién tric Client-Server n tang

Uu diém ctia m6 hinh 3 tang, n tang (nhieu tang) la:

«Tăng khả năng linh động, việc thay đồi các tầng logic là độc lập với

nhau

« Tăng tỉnh bảo mật

e Tăng hiệu năng khi các tác vụ được chia sẻ giữa các tầng

Nhược điểm của mô hình nhiều tầng là

e_ Tăng sự phức tạp trong triển khai và kiêm thử

«_ Tăng sự cản thiết của việc cân bằng tải vả chịu lỗi

2.2.4 Ưu điểm và nhược điểm của mô hình client-server

a Ưu điểm

Trang 23

« lập trung: tài nguyên tập trung lảm cho né dé dàng hơn để sao lưu các tập tim, bão về chống lại các muối đo dọa độc hại và clua sẻ lài nguyên Irong một mô hình client-server, may in va cac 4 dia lưu trữ

có thế được chia sẻ Thay vì cài đặt một máy in cho mỗi máy tính, các

công ty có thể cải đặt máy m ở cáp độ may chủ, cho phép các may in được chia sẽ như một tải nguyên Diều nảy giúp tiết kiệm không chỉ là tiên, mà còn là không gian có giá trị Một không gian lưu trữ tập trung

Tam cho né

§ dang hom để sao lưu và lây các lập tin trong trường hợp

mắt đữ liệu Ngoài ra, máy chủ có thể quản lý chính sách mạng, làm

cho một mang cHem-server an toàn hơn,

«Tỉnh linh hoạt: một lợi thể quan trọng khác sinh ra trong quán lý tập trung là nó rất dé đàng đẻ triển khai cập nhật hoặc nâng cấp Một mrưạng clienl-server có thể tự động Iriển khai toản hệ thống thay doi

khác nhau, từ một nâng cấp lớn cho hệ điêu hành mới để cập nhật

thường xuyên ular các tập tin dữ liệu ching virus hole các bản vá lỗi

của Miierosoft với sự can thiệp của người dùng tỏi thiểu Nâng cấp và cập nhật cũng có thé lam việc trong nên mà không có người sử dụng biết rằng các chương trình dang được cập nhật hoặc nâng cấp

«_ Khả nắng mở rộng: trong một mô hình client-server, một quản trị viên

có thể để đàng kết hợp các máy tỉnh vào mạng và cải đặt Ất cả các ứng dụng cần thiết Tất cả mọi thứ cân thiết có thể được day dé dang

tử server đến các client

+ Nócóthể Ban tăng khả năng của máy nhồ, giúp các mấy nhỏ thực

hiện được những công việc mà trước đây chỉ thực hiện được trên các

máy lớn, từ đỏ dẫn tới giảm chỉ phí thiết bị

h Nhược điểm

22

Trang 24

«+ Chỉ phí cho server lớn: thông thưởng, các máy chú trung tầm phái đủ

mạnh để duy tri và chúa sẽ tải nguyên với các máy linh khác trên

mang Điều nảy đòi hỏi một chỉ phi đảng kể

+ Sự phụ thuộc: mô hình mạng client-server dựa trêu chức nẵng và

server Néu server gap van dễ, toàn bỏ mạng không thẻ hoạt đông

+ _ Thắt cỗ chai: server phải xử lý phân lớn công việc điểu này có thể gây

Ta lắc nghữn mạng trên nung và làm chậm thời gián tả lời cho các

client + Bảo tr: mô hình Client Server thường đòi hỏi một đội ngũ nhân viên

với it nhất một quấn trị viên mạng lưới duy nhật để quản lý và duy trì

các thiết bị và mạng Trong mê bình khác, chẳng hạn như peer-to-

peer, không yêu cầu một quan oi dé duy trỉ mảy móc, công việc này được phân phối cho các peer

œ An toán: bởi vi tật cả các thông tin quan trong duoc lưu trữ trên server, điều nảy tạo ra một mỗi quan tâm an ninh Lập trung các thông tin và dữ liệu nảy phải được bão vệ từ tin tặc nguy hiểm, sự cổ, các mối de doa tiểm năng

2.2 M6 hinh peer-to-peer

Mạng ngang hàng là kiến trúc mang phi tập trung và phân tán trong đó các node

trong mạng (được gọi là peer) vừa đóng vai trỏ lả node cưng cập lẫn sử đụng tài

nguyễn, khác với mô hình tập trung của client-server trong do cde node client y@u cau

†ruy cập tải nguyên cưng cấp hỏi server trung tâm

Trong một hệ thống mạng ngang hàng, các tác vụ (như là: tìm kiếm file, streaming

video/ audio) được chia sẽ giữa các node được kết nối với nhau, mỗi peer đành một

phần tải nguyên của rninh (như năng lực xử lý, khả năng lưu trữ, băng thông mang) cho

các thành viền khác trong mạng mà không cần tới server trung tâm

23

Trang 25

221 Mang P2P

Mạng P2P được thiết kế để đảm bảo vai trò của một nođe vừa là chen, vừa là

server dỗi với 1 node khác trong mạng Sắp xép mang trong P2P khác với clent-server

ở chỗ: mô hình client-server một giao tiếp thông thường đến và đi từ một server trưng tâm Ví dụ điển hình của ứng đụng truyền le theo mà hình client-server là sử dựng,

aiao thức FIP (Hile 1ransfer Protoeoll, trong đó ứng dụng elient vả server phản biệt nhau: client khởi tạo việc truyền file, server đáp fmg các yêu câu liên quan của client

Một cách tổng quát, mạng P2P chính là một dạng mạng phủ trên nền các cầu trúc

liên kết mạng vật lý, trong đỏ các node trong mạng phú tạo thành tập con của các node trong mạng vật lý Dữ liệu vẫn được trao đối thông qua mạng TCP/TP nằm đưới nhưng,

ở tăng ứng dụng, các pecr có thể giao tiếp trực tiếp với peer khác thông qua các hiên kết

logic mà mạng phủ cung cấp (mỗi liên kết trơng ứng với một đường đi trong mạng vật )

Mạng phủ sử dụng để đánh chỉ muục và đỏ tìm cae peer, va cing Jam cho hệ thống, P2P dộc lập với câu trúc liên kết mạng, vật lý Dựa vào cách thức liên kết các node vá cách đánh chỉ mục cững như bổ tri tài nguyên, mạng P2P được chia ra: mạng có cầu

trúc và phi cấu trúc (hoặc phiên bản Ìai giữa 2 loại này)

2.2.3 Phân loại mạngP2P

a Mạng phi cấu trúc

Trang 26

@ =8

Hình 2.12: Mạng phi câu trúc Mạng P2P phi cấu trúc là mạng không bắt buộc các node trong mạng phủ

phải tuân theo một cầu trúc sắp xếp nảo mà chúng tạo bởi các node có kết nôi

ngau nhién v6i nhau (Gnutella, Gossip và Kazaa là những vi dụ của mạng P2P

phi cầu trúc)

Bởi vì không có cầu trúc mạng bắt buộc, mạng phi câu trúc để dàng khởi tạo

và cho phép tôi ưu hóa trong một tập các node nhất định (trong một tập các

node, hệ thông dựa vào thông số câu hình có thể đưa ra liên kết mạng có lợi nhất

trong trao đổi dữ liệu) Ngoài ra do các node trong mạng có vai trò ngang bang nhau nên hạn chế ảnh hưởng khi có lượng lớn các node vào và ra khỏi mạng

Tuy nhiên giới hạn chính của mạng phi câu trúc cũng xuất phát từ tính phi câu

trúc của nó Đặc biệt khi một peer muốn tìm kiếm một dữ liệu trong mạng, truy

vấn này sẽ làm lụt mạng vì phải gửi tới nhiêu nhát có thẻ các node Việc làm lụt

hệ thống sinh ra lượng lớn băng thông, CPU, memory (do yêu cau moi node

phải thực hiện tật cả các truy van tìm kiểm) Hơn thể nữa, với câu trúc mạng

như trên, việc làm lụt hệ thống cũng không đảm bảo dữ liệu tương ứng sẽ được

tim thấy Với các dữ liệu phố biến, được lưu trên nhiều peer việc tìm kiểm các

dữ liêu này bởi mọi nút trên mạng có tỉ lệ thành công cao và tương đương nhau

25

Trang 27

Với các dữ liệu không phỏ biến được lưu trữ trên lượng nhỏ các peer, việc tìm

kiếm nó từ các peer khác nhau cỏ thẻ tốn chỉ phí rất khác nhau hoặc không

Hình 2.13: Mô hinh mạng có câu trúc

Trong mạng P2P cỏ câu trúc, mạng phủ được tổ chức thảnh một cầu trúc liên

ket xác định với giao thức đảm bảo bất kỳ node nảo có thê tìm được dữ liệu nó cân một cách hiệu quả cho dủ dữ liệu có thẻ không phải dữ liệu phô thông (rất ít

Trang 28

Hầu hết các mạng P2P có câu trúc sử đụng cơ chế bảng bam phan tan

(DIT- đistributed hash table) để lưu trữ ánh xạ của định danh dữ liệu và định danh peer chứa đứ liệu đó Bảng băm lưu trữ các cặp (key, value) cho phép các

nodc tham gia có thẻ lấy dữ liệu (value) gắn với key chơ trước Có rất nhiều giải

thuật thực thi cơ chế mảng băm phân tán như: ChordÏ”l CAN, Tapestry

Tuy nhiên để việc tìm kiếm dữ liệu hiệu quả, các node trong mang 06 cầu

trúc phải lưu trữ được danh sách các node lân cận thỏa mãn các ràng buộc xác

định Diễu nảy đẫn tới các mạng có tần suất một node tham gia và ra khỏi hệ

thống lớn trở nẻn không hiệu quả do cân thời gian trễ dễ các nodc cập nhật lại

danh sách lân cận cúa xinh trước khi có thể thực hiện tìm kiểm dữ liệu Nhiều

đánh giả gần đây dựa trên các mạng thực tế chỉ ra rằng giải pháp sử dụng DHT

có một số vẫn đề như: (¡) chi phi cho quảng bá (thông bảo cho các peer biết về

tình trạng hiện tại của mình) vá tim kiếm tài nguyên trong mang, cao (ii) tai trên

ắc peer khong dân bằng,

Cae mang phân tàn sử dụng DHT có the ké dén nhu: BitTorrent, Kad

network, Storm botnet, YaCy, Coral Content Distribution Network Mét số đự

án nghiên cứu về DHT: Chord project, Kademlia, PAST storage ultility, P-Grid

và CoopNet content distribution system Trong lĩnh vực điện toán lưới DILT được sử dụng đề tim tải nguyên rất hiệu quả: giúp quản lý tài nguyên và lên kê

hoạch cho các ứng dụng

„Ö Mô hình lai

‘M6 hinh lai kết hợp giữa P2P va client-server Mé hinh lai phd bién sit dung một máy chủ trưng tâm giúp các peer tim kiếm các peer khác trong mạng Spotify la mét vi du vé mô hình này

Trang 29

224 Ứng dung cla P2P trong thực tế

2241 Spotify

Spotify là một địch vụ âm nhạc trực tuyển sử đựng công nghệ P2P Dịch vụ nảy

hiện cung cắp 8 triệu bân nhạc cho phép người dùng tủy chọn phát bản nhạc mình thích

và chuyển tới nghe 1 doạn bất kỳ trong bản nhạc Dữ liệu được truyền từ cả server lẫn

mang P2P LIiện tại địch vụ có khoảng 7 triệu người dùng

với do we

Mới trong những điểm khác biệt của ứng đụng Spotify client là cho phép choi nhac

áp Độ trế trung bình đề bắt đầu chơi 1 bản nhạc khoảng 265m

a Givi thigu vé Spatify

Giao thức sử đụng trong Spotify la giao thực được thiết kẻ đặc biệt cho streaming file nhac Spotify phat trién client cho trên OSX, Windows cũng như

trên một sé nén tang smartphone Tuy nhién trén nén tang smartphone, client

không tham gia vao mang P2P ma.nhan diy ligu streaming truc tiop Lr server Ve giao điện người dùng, ứng dụng cũng tương tự như các trinh nghe nhạc phê biến khác trên đesktop Người đùng có thế tổ chức các bản nhạc thành playlisL và chia sẻ với mọi người Tổ chức tìm kiểm nhac dựa trên 2 khải niệm: tìm kiếm và duyét Người dùng có thể tim kiểm bản nhạc, albumn, tác giả và cũng có thể

duyệt qua các bân nhạc: khi click vào một tác giả, người dùng được đưa lới

trang thông tin của tác giá với các bải hát được hệ thống đẻ xuất

Audio stream duge ma hoa stt dung Oge Vorbis với chất lượng, mặc định ở

mức q5 (cô tổo độ phát khoảng, 160kbps) Người dùng trả phí có thế chơi nhạc ở xuức chỗt lượng g9 khoảng 320kbps) Cả 2 loại trên (q5 và q9) đến có thể cùng

cấp từ nguồn server hoặc mạng P2P, Tại các peer, dử liệu không dược mã hóa lại đa đó một peer có bản nhạc ở mức q9 không thế cung cấp cho một peer khảo dang cần bản nhạc Lương ửng ở mức q5

Trang 30

Khi chơi nhạc, Spobfy clienL sẽ theơ đối bufTer của các Bm thanh Niều buiTer không được làm đây, client roi vào tỉnh trạng bị lặp (giật) khi phát nhạc đo dit

liệu không đủ đề lắp đây một khimg thời giam Tình Irạng lắp này xây ra có thể

do mạng hoặc do chent không đủ tải nguyên CPU/ memory dẻ xử lý hiệu quả dữ liệu cache

Khác với hau hết các ứng dựng streaming kháo, Spotify sử dụng TCP thay vì TTP giúp tăng cộ tin cậy của hệ thông va don giản hóa thiết kế Ngoài ra TỚP

có cơ chế gửi lại gói từa bị mất rất cân thiết cho các ứng đụng,

Kết nỗi giữa các node là kết nối TCP và trao đổi message trên kết nổi nảy là trao đối 2 chiều (multiplex) Khi một client đang online, nó duy trì một kết nói

server Cae me

Idi Spotily ge lang img dung duge buffer, sắp xếp theo thứ Lự

uu tién trude khi được gửi xuống buffer của TCP

Caching

Cache cực kỷ quan trong vi 2 ly do: đầu tiên từ thói quen cua người dùng có thế nghe cùng một bản nhạc nhiều lần do đỏ cache ngăn việo download lai ban nhạc người dùng vừa nghe 1hử 2, dữ hệu cache được dùng đễ cung cáp cho node khac trong mang Cache có thể lưu trừ tùng phần của một track do đỏ khi

chent chỉ dowrload 1 phần cửa track, phẫn dữ liệu đỏ cũng sẽ được cache lai Nội dung cache được mã hóa và không thể sứ dụng bởi chương trình chơi nhạc nào khác

Câu hình ruặc định của client cho phép sử đựng 10% đứng lương chưa sử

dụng của ỗ cứng và trong giới hạm: íL nhất SÓMB, nhiều nhất 10GB Người dùng cũng cỏ thẻ thay đổi cấu hình này Theo thống kê có 56% client ding hết từ

5GB cache trở lên, tương ứng với khoảng 1000 traok trên cache

Trang 31

Lớp thuật toán dùng để quần lý cache trong Spatily 14 LRU (Least, Recently

Used) Thang kê đữ liệu log của hệ thống cũng chỉ ra rằng khi đữ liệu cache tương đối lớn, sử dụng các thiật toán cache khác nhau không làm tác động nhiều nhiều tới hiệu năng hệ thông

Truy cập ngẫu nhiên

rường hợp dơn giản nhất khi streaming là các track dược choi theo the tự định trước Giả sử băng thông mạng cha phép, ứng dung chai nhạc sẽ lấy trước một phần đữ liệu trước khi nó thực sự cần dùng tới Tuy nhiên thực tế thường, khó và thú vị hơn nhiều, đó là trường hợp track duoc truy cập ngẫu nhiền Khoảng 39% track trén Spotify được truy cập ngẫu nhiên Trữ trường hẹp client

có dit liGu trong cache, ngoài ra hệ thống thường mất khoảng 15 giây để cliem truy vấn server để tìm thấy đữ liệu

'Truy cập có thể đoán trước

1iâu hết (619) track được truy cập theo thử tự cỏ thể đoản trước Chẳng han người đùng thường nghe nhạc theo thứ tự tử 1 tới hết hoặc chọn Next để chuyến tới bải tiếp theo trong danh sách Chương trình client sẽ lẫy trước một phần bán

nhạc tiếp theo trước khi nó thực sự được chơi Việc lấy trước đữ liệu bản nhạc

cũng phải cân bằng giữa chỉ phí và lợi ich Nêu clienL bất đầu lẫy trước đữ liệu quá muộn dữ liệu sẽ không đú để phát bản nhạc ngay tức khắc Xẻu việc lẫy trước đữ liệu quá sớm, băng thông bị làng phí nêu người đùng chuyên sang truy cập ngẫu nhiên và bố qua bản nhưạc đã lây sẵn

Spotily client bat dau tìm kiểm trong mạng P2P traek tiếp theo khi track đang chơi còn ít hơn hoặc bằng 30 giây Khi track hiện tại còn ít hơn hoặc bằng,

10 giây, ná có thế bắt đâu đi lây track đó nếu cần thiết Cáo con số t=L0, 30 là

Trang 32

Hệ thống cũng nghĩ nhận được: khi tỉnh năng lấy trước bản nhạc bị tắt bỏ độ

trể trung bình khi chơi một bản nhạc lả 390 ms so với mức trước đỏ là 265 ms

Hơn nữa số lần phát nhạc rơi vảo tình trạng lặp là 1,8% so với 1,0% so với trước

đỏ Điều đó chứng tỏ hiệu quả của việc lây trước dữ liệu

điều đó cẩn thiết đề tăng chất lượng phát nhạc hoặc giảm trể hệ thông Như mô

tả ở trên, khi một người dùng truy cập ngầu nhiên, một request lẫy đữ liệu được gửi tới server Client đưa ra quyết định lây dữ liệu tiếp theo ở đâu dựa trên khả

năng của buffer Giả sử kết nói tới server ôn định hơn kết nói tới các peer, nêu

dữ liêu trong buffer của client it, nó sẽ yêu cầu lây dữ liệu trục tiếp từ server Nếu buffer client đã đủ lớn đữ liệu sẽ chỉ lẫy từ cac peer

Trường hợp đặc biệt, khi buffer thap xuống mức nghiệm trọng (dưới 3 giây

phát nhac), client sẽ tạm dừng upload data tới các peer đang lấy dữ liệu của nó

31

Trang 33

Ly do 6 chỗ: rất nhiều người dùng có kết nội mạng bất đẳng bộ, tình huông xây

ra khi việc nén ACK làm giảm băng thông kênh download của đường truyền

bef]

Khi chen lây đữ hệu từ server, client sẽ điều tiết để không lây quá 15 giây phát trước tính từ thời điểm hiện tại, nếu tồn tại peer có chứa đỡ liệu track tương, ứng (sau đó nỏ sẽ tm cách lẫy đữ liệu từ peer đỏ thay vì lây tiếp từ server) Khi download tir mang P2P, việc điểu tiết không cân thiết, chen sẽ lấy Loàn bộ bản nhạc cần thiết Nếu người dùng dùng phát bản nhạc hiện tại, việc lây dữ liệc từ

peer hign tai bị hủy bỏ

File trong mang P2P duce chia thành các đoạn độ dài 16k Khi quyết định

được các pưer có dữ liệu cân, clienL sắp ›

p cdc peer theo thứ tự thời gian

download cần thiết (số lượng byte cén chia cho tốc độ download trung binh tir

peer này) sau đó thực hiện download lần lượt các đoạn và

ập nhật thời gián còn lại tương ứng với cắc pcer

Mạng P2P của Spolily six dung mang pli cau true, didu đó nghĩa là tắt cã các

peertham gia trong mang cỏ vai trỏ như nhau đo đỏ không cỏ một siêu node

thực hiện một vai trỏ đặc biệt trong mạng Một client chỉ kết nói tới ! peer khác khi chủng chắc đữ liều cẳn tìm tổn tại trên pcor đỏ Như dã nói ở trên, clicnt

cache lượng lớn đữ liệu Nội dung cúa eache chỉnh là dữ liệu mà client cỏ thể

sung cap cho cac peer khác Vị cáo traok có đụng lượng tương đổi nhỏ và không,

Trang 34

hi tg live streaming, giao Ihde Spotify chi cho phép client cung cfp các track

mà nỏ đã oache được toàn bộ nội đung Diễu đỏ cho phép giao thức trở nên đơn giản Không có phương pháp tổng quát để định Luyến trong mạng phí cầu trúc,

vị thể các pecr muốn trao dỗi dữ liệu phải thực hiện kết nỗi trực tiếp

Chia tách mạng phủ

Dich vụ hiện tại được chạy từ 2 trung tàm đữ liệu, 1 ở London, 1 ở

Stockholm Một peer lựa chọn ngẫu nhiên một data center mả nó muốn kết nổi

tới Mỗi đưa center có một mạng phủ P2P độc lặp Do đó, mạng phủ P2P thực

chất được phân làm 2 mạng phủ Việc phân chia thực chất không được thực hiện

triệt 48 khi một client mất kết nói tới server, nó thục biện kết nói lại tới server mới Nếu nó thực hiện kết nối Lới server còn lại, client sẽ không thẻ thục hiện

tạo một kết nói mới tới một peer năm trang mạng phủ cũ được

Xác định peer

Llai co chế được sử dụng để xác định các peer có nội dung mã client cần Cơ ché dau tién sir dung tracker dit & back-end, va cơ chế thứ 2 sử dụng truy vẫn trong mạng phú 1rương hợp các traok nhỏ, client thường chỉ cân tìm va lay diz

liệu trong một hoặc một vai peer Tuy nhiên các track quá ngăn đẫn tới việc

download 1 tack moi xay ra thường xuyên và điền quan long lạ làm giảm quả tải hệ thông Lien thế nửa, thời gian tìm kiểm cũng là vin dé lớn, đây là lý do chính Spotify không sử đụng DHT để tìm kiếm peer Một lý do khác đẫn tới

không sử dụng DHT là mong muốn giữ giáo thức dơn giân

Chúc năng vita trackor trong Spolify và BitTorrent cũng tương dưỡng nhau

nhưng không hoàn toàn giếng nhau Spotify sử dụng một map lưu trữ ánh xạ

track va peer của các peer gân đây gửi thông báo nó có chứa 1 traokc Desr chỉ

cung cấp ra ngoài cáo traok chửa dây đủ đữ liệu, các peer dược liệt kẻ trong, tracker có track đây đủ

33

Trang 35

Tracker chi lwa tit danh séch 20 peer gan nhau cho mỗi track Hơn thế nữa,

client chỉ được thêm vào tracker khi chúng phát một traok và không định kỳ báo cáo nội dụng cache hoặc thông báo cho tracker khi nội đang bị xốa bồ Điều đó

lam giảm tải hệ thông va don giản hóa cở chế hoạt dộng Vì client duy trì kết nỗi TCP tới server do đó tracker biết client nảo dang online Khi client yéu cau tim

kiểm peer có chứa dữ liệu của traok xác định, tracker đưa ra TÔ peer dang online

và chứa dữ liệ ới hạn kết quả lâm giãm quả tái hệ thông

'Thêm váo đó tìm kiểm sử dụng tracker, client cũng gửi yêu cầu tìm kiểm lên

mạng P2P tương tự như phương pháp của Gnutella Một olient gửi yêu câu tìm kiểm lới tắt cả node lên cận trong mạng phủ, các node này lại forward li vic node lân cận cửa nó Do đó tắt cả peer trong phạm vi có khoảng cách cập 2 của

node phát yêu câu search nhận được yêu cầu và trả lời Truy vân tìm kiếm được gửi bởi cHent có ¡d gắn kèm và các poer nhớ SỐ scarch gần nhất nó gặp cho phép

loại bỏ cáo message trùng lấp Giới hạn này chi tan tại ở lớp phủ mạng P2P của Spoufy

Khi client hoạt động, làm sao chúng có thể tạo kết nổi P2P trong mạng? Nếu một node vẫn được liệt kế trong danh sach của tracker với mét sé track ma nd

đang cache, rât có thể có nođe tạo kết nói tới nó đề lây vé wack Néu người đừng,

thất đầu sireaming 1 track nó sẽ tìm kiểm trong mạng P3P vả kết nổi tới peer có

dữ liệu

2.2.4.2 Napster

Napster la mang ngang hang khéng câu trúc đầu tiên thu hút được đông dio người

sử dụng trên mạng Đây là sự kết hợp của một mạng ngang hang peer to peer va một số

server ung tôm để duy trí kết nối hệ thống và danh sách dữ liệu được chia số trong, rạng Ngoài việc là một mang peer to peer, Napster cũng giống như một mạng với các

server Chính các server này làm cho việc tìm kiểm dữ liệu và chia sẽ giữa các máy

34

Trang 36

tinh trong mang tot hon, tao nén m6 hinh mang peer to peer dau tiên được ưu chuộng

với các dịch vụ chia sẻ file dữ liệu, file nhac trên mạng Internet Napster gồm 2 thành

phân, thứ nhất là server trung tâm và thứ hai là các ứmg dụng trên các máy tính kết nối

với nhau Một máy tỉnh tham gia vảo mạng sẽ kết nồi với server trung tâm và đưa danh sách file chia sẽ trong máy tỉnh lên server nảy Những máy tính khi tìm kiểm dữ liêu sẽ

tìm kiếm thông tin về từ khỏa trên server trung tâm đề biết máy tỉnh nào hiện đang giữ

file chia sẻ đó

Hinh 2.16: Mé hinh mang Napster

Dé tim kiểm một ñle, một truy vẫn sẽ được gửi đi tới server trung tâm củng với từ khóa tìm kiểm Server trung tâm sẽ tìm trong danh sách các file chia sẻ được đưa lên bởi các máy tính và trả về địa chỉ IP của máy tính lưu giữ file chia sẽ này Sau đó sẽ là kết nói trực tiếp giữa máy tỉnh yêu cầu và máy tính giữ file chúa sẻ, dữ liêu được truyền

Trang 37

giữa hai máy tính giống như trong một mạng ngàng hing Cụ thé các bước thực hiện

tim kiém và download 1 file như sau:

1 Mỡng đựng Napster

2 Napster kiém tra kél ndi Internet

3 Napster login vào server Mục định của server ở đây là để giữ đứ liệu chỉ mục

dữ liệu của tất cã người dùng dang online Server không chửa bất cứ file MP3

nao

4 Neudi ding search file

a Napster client truy vẫn server đề tim ra máy chữa file can tim

6, Server bao cho Napster client két qua tim kiếm

~ Napster client hién thi danh sách kết qua

& Người dùng chon I file d8 download

9 Napster kết nổi tới máy chứa file người đừng vừa chọn

10.Download file từ máy được chọn

11 Khi việc download ñile thành công, kết nổi P2P bị đông lại Việc download Ble kết thúc

2.2.4.3 Gnutella

Bén canh Napster, một mô hình mang ngang hàng không câu trúc khác cũng rất nỏi tidng la Gnutella Gnutella là một mạng peer to peer thuận và chủ yếu dựa trên mạng,

T2P không có câu trúe Một phiền bản thương mại của Gmutella là Limewire Cac may

tính rong Gnutella duge md ta nbu la nhiing “servent” (sorver-cHem), rhững thành

vién trong mang vA duoc chia sé file trong mang Cdc máy tính khác có thể lấy được

xhững file chia sé nay Viée Lim kiém file trên mạng mô tả trong dưới, khi một máy

36

Trang 38

tinh A tìm kiếm file X, nó sẽ gửi một thông báo broadeast tới tất cả các máy tỉnh nỏ

biết, được coi là hàng xỏm của nó Truy vân sau đỏ sẽ được chuyên dần qua các bước

và tới được máy tính cỏ chứa file X Điểm khác biệt cơ bản giữa Gnutella va Napster la Napster van str dung hệ thông với một máy chủ trung tâm còn Gnutella là một mạng,

ngang hàng đây đủ

Hình 2.17: Mô hình mạng Gnutella Các bước một máy thực hiện tham gia vào mạng:

1 Một peer muốn tham gia vào mạng phải biết địa chỉ của một thành viên trong,

mạng

tỳ Peer gửi yêu câu kết nói tới máy nỏ biết: “GNUTELLA CONNECTION”

3 Nhận duoc reply “OK” Ket noi vao mang thanh cong

Các bước thực hiện download một file

1 Peer gửi QUERY đề tim file

Trang 39

fe} Nếu QUERY tới được peer chira file cn fim, peer sẽ nhận được kết quả

QUBRYIIT

QUHRYHIT chứa 1P và port của peer chứa dữ liệu

Mớỡ kết nổi trục tiếp tới peer vừa tìm thấy

Download file qua kết nổi trực tiếp vá giao thie LLI'TP voi port Hy duge ở bước

3

38

Trang 40

2.2 Thuật toán thay thế trang

Trong hệ điều hành máy tỉnh, thuật toán sử dụng phân trang, để quản lý bộ nhớ áo,

thuật toán thay thẻ trang quyết định những trang được đưa ra khỏi cache khi memory cân được cấp phát mới T.oại bố trang xây ra khi page fault (khi đữ liệu uy xuất không

có trên bộ nhớ cache =3 cần phải đọc từ ô cứng chẳng hạn) xảy ra và các page trồng, còn lại không đáp ứng nhu câu cấp phát hoặc không cỏn page trồng hoặc số page trống,

nbd hon một ngưỡng định trước

Khi page đã dược chọn đẻ thay thể lại được tham chiều trở lại, đữ liệu page tương,

ng cân được đưa trở lại cache (đọc tử đĩa) việc này gây ra trễ lớn do phái chớ thao tác

dow/ghi hean thank, Chat luong thuật toán thấy thể quyết địh bởi: cảng ít thời gian chờ xử lý dưa một trang vào cache thuật toán cảng tốt, Thuật toán thay thế trang phụ quan tắm đến các thông tin giới bạn khi phân cứng thục hiện truy cập các trang và khả nắng đưa ra dễ xuất các trang bị thay thế dễ giảm thiéu page miss (page khong um thấy trong cache, page fault) trong khi cân bằng được chỉ phi ( ưu trữ trong main memory,

CPU) của thuật toán

Bài toán thay thể trang là bài toán online điễn hình (đữ liệu được đưa vào hệ thống liên tục và lừng phần),

Thuật toán thay thể trang là chủ để nóng và được bản luận rất nhiều trong những, 1m 1960, 1970 Và hấu như đã được định đoạt khi các thuật toán I.EU (feast recently

1used) phức tạp xuất hiện Đặc biệt, các khuynh hướng sau cia hardware va phin mém

Tuức tng dụng có ảnh hưởng tới hiệu năng của thuật toán:

«Kích cũ của bộ nhỏ tầng nhiều lan so voi khả năng xử lý Với một vải GB bộ

nhở cache thuật toán cân một chu kỳ kiểm tra các memory frame đang dẫn it

được sử dung

39

Ngày đăng: 09/06/2025, 12:46

HÌNH ẢNH LIÊN QUAN

Hình  2.1:  Mõ  hình  Client-Server - Luận văn giải pháp sử dụng p2p như công cụ truyền thông cho các Ứng dụng client server
nh 2.1: Mõ hình Client-Server (Trang 11)
Hình  2.2:  Trao  doi  dit  lidu  gitta  Client  va  Server  trong  ché  dé  bi  phong  téa - Luận văn giải pháp sử dụng p2p như công cụ truyền thông cho các Ứng dụng client server
nh 2.2: Trao doi dit lidu gitta Client va Server trong ché dé bi phong téa (Trang 13)
Hình  2.3:  Năng  lực  xử  lý  của  Nginx  so  với  Apache  web  server - Luận văn giải pháp sử dụng p2p như công cụ truyền thông cho các Ứng dụng client server
nh 2.3: Năng lực xử lý của Nginx so với Apache web server (Trang 14)
Hình  2.4:  So  sánh  khả  năng  quản  lý  bộ  nhớ  giữa  Nginx  và  Apache  web  server - Luận văn giải pháp sử dụng p2p như công cụ truyền thông cho các Ứng dụng client server
nh 2.4: So sánh khả năng quản lý bộ nhớ giữa Nginx và Apache web server (Trang 15)
Hình  vẽ  sau: - Luận văn giải pháp sử dụng p2p như công cụ truyền thông cho các Ứng dụng client server
nh vẽ sau: (Trang 15)
Hình  2.11:  Kién  tric  Client-Server  n  tang - Luận văn giải pháp sử dụng p2p như công cụ truyền thông cho các Ứng dụng client server
nh 2.11: Kién tric Client-Server n tang (Trang 22)
Hình  2.12:  Mạng  phi  câu  trúc - Luận văn giải pháp sử dụng p2p như công cụ truyền thông cho các Ứng dụng client server
nh 2.12: Mạng phi câu trúc (Trang 26)
Hình  2.14:  Cơ  chế  của  bàng  băm  phân  tán  DHT - Luận văn giải pháp sử dụng p2p như công cụ truyền thông cho các Ứng dụng client server
nh 2.14: Cơ chế của bàng băm phân tán DHT (Trang 27)
Hình 2.13:  Mô hinh  mạng  có câu trúc - Luận văn giải pháp sử dụng p2p như công cụ truyền thông cho các Ứng dụng client server
Hình 2.13 Mô hinh mạng có câu trúc (Trang 27)
Hình  2.17:  Mô  hình  mạng  Gnutella - Luận văn giải pháp sử dụng p2p như công cụ truyền thông cho các Ứng dụng client server
nh 2.17: Mô hình mạng Gnutella (Trang 38)
Hình  2.18:  Kién  tric  IXTA - Luận văn giải pháp sử dụng p2p như công cụ truyền thông cho các Ứng dụng client server
nh 2.18: Kién tric IXTA (Trang 56)
Hình  2.19:  Kiên  trúc  WebRTCI®I - Luận văn giải pháp sử dụng p2p như công cụ truyền thông cho các Ứng dụng client server
nh 2.19: Kiên trúc WebRTCI®I (Trang 59)
Hình  vẽ  3.5  mô  tả  giải  thuật  client  thực  hiện  download  dữ  liệu  trong  mô  hình  nảy - Luận văn giải pháp sử dụng p2p như công cụ truyền thông cho các Ứng dụng client server
nh vẽ 3.5 mô tả giải thuật client thực hiện download dữ liệu trong mô hình nảy (Trang 67)
Hình  4.1:  Mô  hình  hoạt  động  ứng  dụng  Quicknode - Luận văn giải pháp sử dụng p2p như công cụ truyền thông cho các Ứng dụng client server
nh 4.1: Mô hình hoạt động ứng dụng Quicknode (Trang 70)
Hình  4.2:  Các  module  trong  ứng  dung  Quicknode - Luận văn giải pháp sử dụng p2p như công cụ truyền thông cho các Ứng dụng client server
nh 4.2: Các module trong ứng dung Quicknode (Trang 75)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w