Peer to Peer là gì ? Peer to Peer hoạt động thế nào ?

Peer to Peer la gi 2

Hôm nay Tincoinviet mời các bạn dành thời đi tìm hiểu Peer to Peer là gì, Peer to Peer hoạt động thế nào qua bài viết dưới đây.

Vậy Peer to Peer (P2P) là gì ?

Peer to Peer (P2P) được hiểu đơn giản là một mạng máy tính trong đó hoạt động của mạng chủ yếu dựa vào khả năng tính toán và băng thông của các máy tham gia chứ không tập trung vào một số nhỏ các máy chủ trung tâm như các mạng thông thường. Peer to Peer thường được sử dụng để kết nối các máy thông qua một lượng kết nối dạng ad hoc. Mạng Peer to Peer (P2P) có nhiều ứng dụng. Ứng dụng thường xuyên gặp nhất là 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.

Mọi người hiểu Peer to Peer (P2P) chi tiết dưới đây :

  • Khi mô hình Client và Server gặp nhiều giới hạn thì người ta nghĩ ra một hình thức mới, và gọi nó là Peer to Peer, mô hình mới này sẽ giúp mọi Client trở thành Server. Và người ta chỉ cần một Server điều khiển hoạt động cho từng Client khác nhau. Với Peer to Peer, Client không chỉ lấy dữ liệu mà còn có thể chia sẻ lại dữ liệu này với Client khác và việc chia sẻ lại dữ liệu này người ta gọi nó là seeding. Việc seeding rất quan trọng trong sự phát triển của Peer to Peer, nếu không có seeding thì Peer to Peer chỉ giống như mô hình client – server mà thôi.
  • Không giống như Client – Server – hiệu suất của mọi thứ sẽ giảm đi khi có quá đông Client tham gia vào mạng. Hiệu suất của Peer to Peer sẽ tăng lên nếu số Client trong mạng càng đông. Tức càng có nhiều người seeding một dữ liệu thì người chưa có dữ liệu đó sẽ càng có cơ hội nhận được dữ liệu muốn download.
  • Trong Peer to Peer, tốc độ download tệp tin của bạn sẽ càng nhanh nếu có nhiều người seeding tệp tin đó cho bạn, hãy tưởng tượng tệp tin bạn cần download nặng 1GB, bạn có 1 người seeding với tốc độ 1MB/s thì sẽ chỉ mất 1000 giây để tải xong tệp tin, nhưng nếu có 10 người như thế thì bạn sẽ chỉ mất 100 giây cho việc download tệp tin. Nhưng tính năng chia nhỏ tệp tin để download như thế này không phải phần mềm Peer to Peer nào cũng có, BitTorrent chính là phần mềm đầu tiên sử dụng tính năng này.
  • Trong Peer to Peer, Server sẽ dùng để điều khiển hoạt động của các Client như: Server sẽ có thông tin về những máy đang kết nối trong hệ thống, các file đang tồn tại trong máy của Client…, từ đó phân chia công việc cho hợp lí giữa các Client. Việc chia sẻ file bây giờ sẽ dựa vào các client với nhau.

mô hình Peer to Peer (P2P)

Lịch sử của mô hình Peer to Peer (P2P)

Giờ thì bạn đã biết vì sao Peer to Peer lại được cho là một cuộc cách mạng so với mô hình Client và Server truyền thống, chúng ta hãy tìm hiểu một chút về những ngày đầu của mô hình Peer to Peer nhé.

Napster là mô hình Peer to Peer đầu tiên được biết đến rộng rãi, nó ra đời vào năm 1999. Napster là nơi lưu trữ âm nhạc được sở hữu bởi các thành viên của Napster, nghĩa là bạn có thể tìm kiếm và download một bài hát, được lưu trữ trong máy tính của một thành viên khác. Tương tự như thế, người khác cũng có thể tải bài hát trong máy tính bạn nếu bạn có chia sẻ nó lên Napster. Lúc này, tốc độ download không được nhanh lắm vì nó chỉ là kết nối giữa máy tính bạn và máy tính kia, không có sự tham gia của các máy tính khác.

Mãi tới năm 2001 thì Napster đã đóng cửa, và nhiều mạng khác cũng đã ra đời sau đó, không chỉ nhạc mà phim, phần mềm và hình ảnh đều được đưa lên Peer to Peer.

Rất nhiều ông lớn đã tham gia Peer to Peer nhưng sau đó đều đã đóng cửa, cho tới tận bây giờ thì nổi lên một giao thức mở khác, tên nó là BitTorrent.

Phân loại mạng Peer to Peer (P2P)

Ta có thể phân loại các mạng Peer to Peer (P2P) hiện nay theo tiêu chí về mức độ tập trung của chúng như sau:

Mạng Peer to Peer (P2P) thuần túy:

  • Các máy trạm có vai trò vừa là máy chủ vừa là máy khách
  • Không có máy chủ trung tâm quản lý mạng
  • Không có máy định tuyến (bộ định tuyến) trung tâm, các máy trạm có khả năng tự định tuyến

Mạng Peer to Peer (P2P) lai:

  • Có một máy chủ trung tâm dùng để lưu trữ thông tin của các máy trạm và trả lời các truy vấn thông tin này.
  • Các máy trạm có vai trò lưu trữ thông tin, tài nguyên được chia sẻ, cung cấp các thông tin về chia sẻ tài nguyên của nó cho máy chủ.
  • Sử dụng các trạm định tuyến để xác định địa chỉ IP của các máy trạm.
  • Các mạng Peer to Peer (P2P) “thuần túy” có thể kể là Gnutella và Freenet.

Ưu điểm của mạng Peer to Peer (P2P)

Một mục đích quan trọng của mạng Peer to Peer (P2P) là trong mạng tất cả các máy tham gia đều đóng góp tài nguyên, bao gồm băng thông, lưu trữ, và khả năng tính toán. Do đó khi càng có nhiều máy tham gia mạng thì khả năng tổng thể của hệ thống mạng càng lớn. Ngược lại, trong cấu trúc máy chủ-máy khách, nếu số lượng máy chủ là cố định, thì khi số lượng máy khách tăng lên khả năng chuyển dữ liệu cho mỗi máy khách sẽ giảm xuống.

Tính chất phân tán của mạng Peer to Peer (P2P) cũng giúp cho mạng hoạt động tốt khi một số máy gặp sự cố. Đối với cấu trúc tập trung, chỉ cần máy chủ gặp sự cố thì cả hệ thống sẽ ngưng trệ.

Đối với mạng Napster, thuật ngữ Peer to Peer (P2P) nói lên tính chất quan trọng của giao thức giao tiếp Peer to Peer (P2P), còn thực ra thành công của Napster phải nhờ vào sự liên kết chặt chẽ giữa các máy tham gia với máy chủ trung tâm lưu trữ danh sách nội dung tệp trên các máy tham gia. Nhờ vậy việc tìm kiếm trở nên nhanh và hiệu quả hơn, tuy nhiên, đây cũng chính là điểm yếu dẫn đến các rắc rối pháp lý mà kết cục là sự sụp đổ của Napster.

Mạng Peer to Peer (P2P) có cấu trúc và không cấu trúc

Mạng phủ Peer to Peer (P2P) bao gồm tất cả các nút mạng đại diện cho các máy tham gia và các liên kết giữa các nút mạng này. Một liên kết tồn tại giữa hai nút mạng khi một nút mạng biết vị trí của nút mạng kia. Dựa vào cấu trúc liên kết giữa các nút mạng trong mạng phủ ta có thể phân loại mạng Peer to Peer (P2P) thành 2 loại: có cấu trúc hay không cấu trúc.

Một mạng Peer to Peer (P2P) không cấu trúc khi các liên kết giữa các nút mạng trong mạng phủ được thiết lập ngẫu nhiên (tức là không theo quy luật nào). Những mạng như thế này dễ dàng được xây dựng vì một máy mới khi muốn tham gia mạng có thể lấy các liên kết có sẵn của một máy khác đang ở trong mạng và sau đó dần dần tự bản thân nó sẽ thêm vào các liên kết mới của riêng mình. Khi một máy muốn tìm một dữ liệu trong mạng Peer to Peer (P2P) không cấu trúc, yêu cầu tìm kiếm sẽ được truyền trên cả mạng để tìm ra càng nhiều máy chia sẻ càng tốt. Hệ thống này thể hiện rõ nhược điểm: không có gì đảm bảo tìm kiếm sẽ thành công. Đối với tìm kiếm các dữ liệu phổ biến được chia sẻ trên nhiều máy, tỉ lệ thành công là khá cao, ngược lại, nếu dữ liệu chỉ được chia sẻ trên một vài máy thì xác suất tìm thấy là khá nhỏ. Tính chất này là hiển nhiên vì trong mạng Peer to Peer (P2P) không cấu trúc, không có bất kì mối tương quan nào giữa một máy và dữ liệu nó quản lý trong mạng, do đó yêu cầu tìm kiếm được chuyển một cách ngẫu nhiên đến một số máy trong mạng. Số lượng máy trong mạng càng lớn thì khả năng tìm thấy thông tin càng nhỏ.

Một nhược điểm khác của hệ thống này là do không có định hướng, một yêu cầu tìm kiếm thường được chuyển cho một số lượng lớn máy trong mạng làm tiêu tốn một lượng lớn băng thông của mạng, dẫn đến hiệu quả tìm kiếm chung của mạng thấp.

Hầu hết các mạng Peer to Peer (P2P) phổ biến là không cấu trúc như Napster, Gnutella, Fasttrack và eDonkey2000.

Mạng Peer to Peer (P2P) có cấu trúc khắc phục nhược điểm của mạng không cấu trúc bằng cách sử dụng hệ thống DHT (Bảng Băm Phân Tán, tiếng Anh: Distributed Hash Table). Hệ thống này định nghĩa liên kết giữa các nút mạng trong mạng phủ theo một thuật toán cụ thể, đồng thời xác định chặt chẽ mỗi nút mạng sẽ chịu trách nhiệm đối với một phần dữ liệu chia sẻ trong mạng. Với cấu trúc này, khi một máy cần tìm một dữ liệu, nó chỉ cần áp dụng một giao thức chung để xác định nút mạng nào chịu trách nhiệm cho dữ liệu đó và sau đó liên lạc trực tiếp đến nút mạng đó để lấy kết quả.

Một số mạng Peer to Peer (P2P) có cấu trúc nổi tiếng bao gồm Chord, CAN, Kademlia, Pastry và Tapestry.

5/5 - (2 bình chọn)