Trung tâm Công nghệ Thông tin CDIT được Tổng giám đốc Tổng Công ty Bưu chính Viễn thông Việt Nam ký quyết định thành lập số 636/QĐ.TCCB-LĐ ngày 22 tháng 3 năm 1999. Cùng với sự phát triển của ngành Công nghệ thông tin trong xu hướng hội nhập với Truyền thông, theo định hướng phát triển của Học viện trong giai đoạn mới, ngày 07 tháng 12 năm 2011 Tập đoàn Bưu chính Viễn thông Việt Nam đã có quyết định số 1973/QĐ-VNPT-TCCB, đổi tên Trung tâm Công nghệ thông tin thành Viện công nghệ Thông tin và Truyền thông CDIT từ 01/01/2012.
Viện công nghệ Thông tin và Truyền thông CDIT là tổ chức đào tạo, nghiên cứu trực thuộc Học viện Công nghệ Bưu chính Viễn thông, có nhiệm vụ: đào tạo, nghiên cứu khoa học và chuyển giao công nghệ trong lĩnh vực Công nghệ thông tin và Truyền thông.
Bạn đang xem trước 20 trang tài liệu Đề tài Nghiên cứu về cấu trúc mạng ngang hàng và cân bằng tải trên mạng có cấu trúc, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO
THỰC TẬP TỐT NGHIỆP
Nội dung:
NGHIÊN CỨU VỀ CẤU TRÚC MẠNG NGANG HÀNG VÀ CÂN BẰNG TẢI TRÊN MẠNG CÓ CẤU TRÚC
Nơi thực tập : Viện CNTT&TT-CDIT
Người hướng dẫn : Ths. Đỗ Mạnh Hùng
Sinh viên thực tập: Đỗ Yến Hoa
Mã sinh viên : B112104 257
Lớp : D11HTTT3
Khóa : 2011 – 2016
Hệ đào tạo : Chính quy
Hà Nội, 08/2015
MỤC LỤC
LỜI CẢM ƠN
Em xin chân thành cảm ơn thầy giáo – Th.s Đỗ Mạnh Hùng đã giảng dạy tận tình và cho em nhiều lời khuyên không chỉ về kiến thức học tập mà còn cả phương pháp nghiên cứu để em có thể hoàn thành báo cáo thực tập tốt nghiệp.
Em xin được gửi lời cảm ơn đến các thầy cô giáo trong Khoa Công Nghệ Thông Tin của trường Học Viện Công Nghệ Bưu Chính Viễn Thông, cùng gia đình, bạn bè đóng góp ý kiến và giúp đỡ em trong quá trình thực tập tốt nghiệp.
Trong suốt quá trình nghiên cứu và làm báo cáo thực tập, bản thân em đã cố gắng tập trung tìm hiểu, nghiên cứu và tham khảo thêm nhiều tài liệu liên quan. Tuy nhiên, báo cáo không thể tránh khỏi những thiếu sót, vì vậy em rất mong nhận được sự chỉ bảo của thầy cô giáo và góp ý của bạn bè để được hoàn thiện hơn.
Em xin chân thành cảm ơn!
Hà Nội, Ngày 06 Tháng 08 Năm 2015
Sinh viên
Đỗ Yến Hoa
PHẦN A : GIỚI THIỆU ĐƠN VỊ THỰC TẬP VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG - CDIT
I. Chức năng
Trung tâm Công nghệ Thông tin CDIT được Tổng giám đốc Tổng Công ty Bưu chính Viễn thông Việt Nam ký quyết định thành lập số 636/QĐ.TCCB-LĐ ngày 22 tháng 3 năm 1999. Cùng với sự phát triển của ngành Công nghệ thông tin trong xu hướng hội nhập với Truyền thông, theo định hướng phát triển của Học viện trong giai đoạn mới, ngày 07 tháng 12 năm 2011 Tập đoàn Bưu chính Viễn thông Việt Nam đã có quyết định số 1973/QĐ-VNPT-TCCB, đổi tên Trung tâm Công nghệ thông tin thành Viện công nghệ Thông tin và Truyền thông CDIT từ 01/01/2012.
Viện công nghệ Thông tin và Truyền thông CDIT là tổ chức đào tạo, nghiên cứu trực thuộc Học viện Công nghệ Bưu chính Viễn thông, có nhiệm vụ: đào tạo, nghiên cứu khoa học và chuyển giao công nghệ trong lĩnh vực Công nghệ thông tin và Truyền thông.
II. Tổ chức
Mô hình tổ chức bao gồm:
Ban Lãnh đạo Viện và Khoa Đa phương tiện
Phòng Tổng hợp
Phòng Nghiên cứu phát triển & Đào tạo Ứng dụng Đa phương tiện
Phòng Nghiên cứu phát triển & Đào tạo An toàn thông tin
Phòng Nghiên cứu phát triển Ứng dụng ICT (Phòng Viễn thông)
Phòng Nghiên cứu phát triển Hạ tầng ICT (Phòng Mạng & Hệ thống)
Phòng Dịch vụ & Chuyển giao công nghệ
III. Các lĩnh vực hoạt động
Viện công nghệ thông tin và truyền thông CDIT hoạt động trên lĩnh vực công nghệ thông tin, cụ thể là là nghiên cứu, ứng dụng các thành tựu khoa học công nghệ vào các sản phẩm, dịch vụ và chương trình đào tạo nhằm góp phần thúc đẩy sự phát triển của đất nước.
PHẦN B : NỘI DUNG THỰC TẬP
I. Giới thiệu chung
Tên chủ đề thực tập: Ngiên cứu về cấu trúc mạng ngang hàng và cân bằng tải trên mạng có cấu trúc.
Mục tiêu: Nghiên cứu về mô hình mạng ngang hàng P2P, tìm hiểu về các công nghệ sử dụng mạng ngang hàng trên internet hiện nay, tìm hiểu về cân bằng tải, vì sao sảy ra hiện tượng mất cân bằng tải và giải pháp cân bằng tải các node mạng trên mạng ngang hàng có cấu trúc.
Kết quả cần đạt: Hoàn thành nghiên cứu và nộp báo cáo đúng hạn theo những nội dung công việc được phân công trong bản kế hoạch, nắm rõ được thế nào là mạng ngang hàng P2P, các kiểu kiến trúc, phân loại, cơ chế hoạt động và các vấn đề xoay quanh việc cân bằng tải trên mạng ngang hàng có cáu trúc.
Nội dung:
Bảng nội dung công việc được phân công:
TT
Nội dung thực tập
Thời gian
Mục tiêu
Ghi chú
1
Xây dựng đề cương thực tập
Từ ngày 29/06/2015 đến ngày 05/07/2015
Hoàn thành đề cương thực tập.
Tuần 1
2
Nghiên cứu về mạng ngang hàng
Từ ngày 06/07/2015 đến ngày 12/07/2015
- Khái niệm, mục đích của mạng ngang hàng.
- Khái niệm mạng có cấu trúc và mạng không có cấu trúc.
- Mức độ phân tán: Mô hình phân tán hoàn toàn, mô hình phân tán một phần, mô hình phân tán lai.
- Mạng ngang hàng có cấu trúc và kĩ thuật bảng băm phân tán (DHT- Distributed hash tables).
Tuần 2
3
Nghiên cứu về mạng ngang hàng
Từ ngày 13/07/2015 đến ngày 19/07/2015
Nghiên cứu về thuật toán DHT-Chord sử dụng trong mạng ngang hàng có cấu trúc.
Tuần 3
4
Nghiên cứu về cân bằng tải trong mạng ngang hàng có cấu trúc
Từ ngày 20/07/2015 đến ngày 26/07/2015
-Khái niệm cân bằng tải và các khái niệm liên quan.
-Khả năng tải của node (peer).
Tuần 4
5
Nghiên cứu về cân bằng tải trong mạng ngang hàng có cấu trúc
Từ ngày 27/07/2015 đến ngày 02/08/2015
- Nguyên nhân mất cân bằng tải trên mạng.
- Giải pháp cân bằng tải sử dụng virtual node.
Mô phỏng thuật toán loadbalancing sử dụng virtual node.
Tuần 5
6
Hoàn thành báo cáo thực tập
Từ ngày 03/08/2015 đến ngày 09/08/2015
Tuần 6
II. Nội dung báo cáo thực tập
DANH MỤC THUẬT NGỮ
Thuật ngữ
Ý nghĩa
Peer
Thuật ngữ dùng để chỉ một máy tính tham gia vào mạng lưới ngang hàng.
Node
Thuật ngữ node cũng tương tự như thuật ngữ peer. Chỉ một máy tính tham gia vào mạng lưới ngang hàng.
P2P
Peer – to – peer
Load Balancing
Cân bằng tải
DHT
Distribuited hash table – bảng băm phân tán
Chord
Giao thức sử dụng trong mạng ngang hàng
Server
Máy chủ
Client
Máy thành viên
Virtual node
Node ảo. Thuật ngữ này chỉ thuật toán tạo node ảo khi một máy tính tham gia mạng.
Key
Khóa
Value
Dữ liệu
HTML
HyperText Markup Language. Là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web với các mẩu thông tin được trình bày trên World Wide Web
IP
Địa chỉ của máy tính
Port
Cổng tham gia dịch vụ
Log
Ghi tất cả thao tác thực hiện thành log
Upload
Chia sẻ file lên mạng
Download
Tải file từ trên hệ thống về tài nguyên máy tính
Size
Kích thước
DANH MỤC HÌNH VẼ
Hình 1: Mạng ngang hàng
Hình 2: Napster
Hình 3: Mạng ngang hàng có cấu trúc
Hình 4: Mạng ngang hàng phân tán hoàn toàn
Hình 5: Mạng ngang hàng phân tán một phần
Hình 6: Mạng ngang hàng lai
Hình 7: Bảng băm phân tán – DHT
Hình 8: Sơ đồ node mạng có cấu trúc vòng tròn
Hình 9: Sơ đồ tạo DHT vòng tròn
Hình 10: Sơ đồ quản lý shortcut peer
Hình 11: Sơ đồ khi peer rời mạng
Hình 12: Vòng tròn lưu trữ khi peer rời mạng
Hình 13: Một mạng Chord với 3 node 0, 1, 3 và các bảng Finger Table ứng với mỗi node.
Hình 14: Lưu giữ key trong mạng Chord: node 0 lưu key 6, node 1 lưu key 1 và node 3 lưu key 2.
Hình 15: Phân vùng không gian node thật và node ảo
Hình 16: Transfer node ảo
TỔNG QUAN MẠNG NGANG HÀNG
Đặt vấn đề:
Client - Server là gì?
Để có thể hiểu Peer to Peer là gì, thì cần hiểu về những gì cơ bản nhất tạo nên Internet ngày nay, đó là mô hình Client – Server (Máy khách và máy chủ). Server là một máy chủ web, đây là nơi lưu trữ nội dung của một trang web, và máy tính của người dùng được gọi là Client, nó sẽ lấy thông tin từ Server để hiển thị lại trên máy tính của người dùng. Đó là cách mà Internet truyền thống sử dụng. Mỗi Server độc lập có thể lưu trữ hàng trăm nghìn dữ liệu khác nhau và chịu tải hàng trăm Client cùng lúc, nhưng đó cũng chính là vấn đề của mô hình Client – Server, bởi chúng phụ thuộc rất nhiều vào phần cứng của Server.
Thứ nhất, Server phụ thuộc rất nhiều vào phần cứng. Sẽ không có vấn đề gì nếu Server chỉ lưu trữ mỗi một nội dung nhất định, nhưng thực tế thì mỗi Server phải xử lí hàng trăm yêu cầu khác nhau từ mỗi Client, chẳng hạn như một người dùng muốn đọc bài A thì Server phải xử lí và cho ra nội dung bài A, một người khác muốn đọc bài B thì Server phải xử lí và cho ra nội dung bài B – mỗi lần như thế sẽ khiến Server sử dụng một phần CPU và RAM để xử lí, Server sẽ cần nâng cấp nếu khả năng xử lí không đủ đáp ứng nhu cầu của Client. Đó chính là giới hạn về phần cứng của Server.
Thứ hai, mỗi Client sử dụng một phần nhỏ đường truyền mạng của Server
Ví dụ: Server của bạn có đường truyền mạng khoảng 100MB/s, tức nếu bạn có 100 Client cùng sử dụng thì mỗi người sẽ có 1 MB/s để dùng, nhưng nếu có khoảng 1000 Client thì mỗi người chỉ còn 100KB/s mà thôi. Đấy chính là giới hạn về đường truyền của Server.
Thứ ba, giá thành của dung lượng. Nếu có 1 file nặng khoảng 1MB và được 1000 người tải xuống thì tổng dung lượng của dữ liệu được tải xuống sẽ là 1GB. Người dùng sẽ không phải trả tiền cho 1MB dữ liệu này, nhưng nhà quản trị web phải trả số tiền đó, thử nghĩ 1 bộ phim nặng khoảng 1GB và có khoảng 10.000 người tải xuống thì số tiền họ phải trả là bao nhiêu? Giá thành quá đắt chính là giới hạn của mô hình Client - Server
Để khắc phục 3 giới hạn trên của mô hình Client - Server ta sử dụng Peer to Peer hay còn gọi là mạng ngang hàng, mạng đồng đẳng.
Khái niệm Peer to Peer
Khi mô hình Client - Server gặp nhiều giới hạn thì một hình thức mới ra đời, đó là Peer to Peer, mô hình mới này sẽ giúp mọi Client trở thành Server và 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.
Hình 1: Mạng ngang hàng
Theo Wikipedia:
Mạng ngang hàng (tiếng Anh: peer-to-peer network), còn gọi là mạng đồng đẳng, 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. Mạng ngang hàng 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 ngang hàng 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ạng overlay (mạ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 nút trong mạng overlay được xem là nối với nhau bằng liên kết ảo (logical link), 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 overlay vì nó được xây dựng và hoạt động trên nền Internet.
Ví dụ: Gnutella, Freenet, DHTs ¼.
Một số mạng hay kênh như Napster, IRC (thuộc thế hệ thứ nhất) sử dụng mô hình máy chủ -máy khách cho một số tác vụ và mô hình đồng đẳng cho những tác vụ khác. Ngược lại, các mạng như Gnutella hay Freenet (thế hệ thứ 2) sử dụng mô hình đồng đẳng cho tất cả các tác vụ, nên các mạng này thường được xem như là mạng ngang hàng đúng nghĩa (thực ra Gnutella vẫn sử dụng một số máy chủ để giúp các máy trong mạng tìm kiếm địa chỉ IP của nhau).
Khái niệm ngang hàng ngày nay được tiến hóa vào nhiều mục đích sử dụng khác nhau, không chỉ để trao đổi tệp mà còn khái quát hóa thành trao đổi thông tin giữa người với người, đặc biệt trong những tình huống hợp tác giữa một nhóm người trong cộng đồng.
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 người dùng càng nhanh nếu có nhiều người seeding tệp tin đó cho người dùng, hãy tưởng tượng tệp tin cần download nặng 1GB, 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.
Lịch sử của mô hình Peer to Peer
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 ở tuổi 18 đã rời bỏ trường Đại học để bắt đầu xây dựng phần mềm mang tên Napster do bức xúc với việc rất khó khăn để đưa và chia sẻ các file nhạc trực tuyến trên Internet mặc dù mọi người đều có nguồn tài nguyên trong đĩa cứng của mình. Napster được xây dựng thành công và trở thành cách chia sẻ file chính vào thời điểm lúc bấy giờ. Nó đã làm thay đổi cách tải các file nhạc và dung lượng file chia sẻ cũng lớn hơn nhiều so với các chương trình chia sẻ file trước đó.
Khoảng 60 triệu người trên thế giới đã sử dụng phần mềm Napster vào thời điểm đó (trong đó có khoảng 1 triệu người Nhật). Tuy nhiên, do có quá đông người dùng và vấn đề bản quyền âm nhạc nên công ty Napster đã bị cấm hoạt động. Phần mềm Napster không còn được sử dụng kể từ năm 2003. Sau Napster, rất nhiều các chương trình khác như Gnutella, KaZaa và WinMP đã xuất hiện. Công nghệ P2P không chỉ dừng lại ở ứng dụng chia sẻ file nhạc mà còn mở rộng cho tất cả các loại file. Nó còn được ứng dụng để chia sẻ các tiến trình rỗi của CPU tại các nút trong mạng.
Sau sự ra đời của Napster, công nghệ P2P phát triển một cách nhanh chóng. Cho đến hiện nay các ứng dụng P2P đã chiếm khoảng 50% và thậm chí lên đến 75% băng thông trên mạng Internet.
Hình 2: Napster
BitTorrent là gì?
Ra đời vào năm 2001, BitTorrent là một giao thức mở, nơi mà người sử dụng sẽ tạo một file (file này có đuôi là .torrent nên sau này nó được gọi tắt là file torrent) mô tả một dữ liệu xác định.
Một tracker sẽ lưu trữ file torrent và các thông tin về người lưu trữ dữ liệu xác định đó. Ngoài việc có một server tracker chung thì vẫn có thể tồn tại cùng lúc nhiều tracker khác, tức là nếu một tracker không còn hoạt động thì vẫn còn nhiều tracker khác thay thế nó, nhờ thế mà khi đã chia sẻ file thông qua torrent, dữ liệu xác định gần như sẽ không bao giờ biến mất.
Một thành tựu của BitTorrent trong peer to peer đó là nghĩ ra DHT – hay distributed hash table. Nó có tác dụng loại bỏ sự cần thiết của một server tracker chung, cho phép mọi client trong mạng lưới đều có thể index file torrent và trở thành tracker.
Nhờ BitTorrent mà việc tìm ra người lưu trữ dữ liệu hoàn chỉnh của một file nào đó được dễ dàng hơn, phần quan trọng nhất trong Peer to Peer. Nếu như không tìm được người lưu trữ dữ liệu hoàn chỉnh của một file nào đó thì BitTorrent vẫn có cách khác để giải quyêt, đó là các client như Tribler.
Các lĩnh vực ứng dụng của mạng ngang hàng
Sự ra đời của mạng ngang hàng đã tạo ra cách thức quản lý mới cho hàng loạt các lĩnh vực ứng dụng. Trong phần này chúng ta sẽ đưa ra một cách nhìn tổng quát cho vấn đề các lĩnh vực ứng dụng của mạng ngang hàng như: giao tiếp, chia sẻ file, băng thông, không gian lưu trữ, các chu trình xử lý của CPU.
Giao tiếp
Đóng vai trò quan trọng trong các ứng dụng mạng ngang hàng. Là nhân tố quyết định trong các mạng ngang hàng vì nó cung cấp thông tin về các nút và các nguồn tài nguyên nào là sẵn sàng trên mạng. Tạo ra khả năng cho các nút kết nối trực tiếp với các nút khác và yêu cầu các nguồn tài nguyên.
Một ví dụ điển hình về ứng dụng mạng ngang hàng trong giao tiếp là hệ thống chuyển tin nhắn trực tiếp: thông thường, máy chủ trung tâm lưu trữ thông tin và danh sách người dùng đăng ký. Khi có sự giao tiếp giữa các nút, việc tìm kiếm nút khác được thực hiện trên máy chủ. Trong trường hợp nút đó không trưc tuyến, hệ thống sẽ phải lưu trữ các tin nhắn cho đến khi nút này trực tuyến lại. Các dịch vụ tin nhắn điển hình: Napster, ICQ, Jabber.
Chia sẻ File
Có thể nói ứng dụng được sử dụng nhiều nhất của mạng ngang hàng đó là chia sẻ file. Theo ước tính khoảng 70% lưu lượng mạng trên Internet được cho là để trao đổi các file đặc biệt là các file âm nhạc (hơn 1 tỷ các file âm nhạc được tải mỗi tuần). Đặc điểm của vấn đề chia sẻ file là các nút có các file được tải với vai trò là một máy khách làm cho chúng luôn sẵn sàng với các nút khác trong vai trò của một máy chủ. Vấn đề chủ yếu cho mạng ngang hàng nói chung và cho vấn đề chia sẻ file nói riêng là vấn đề tìm kiếm. Trong ngữ cảnh của hệ thống chia sẻ file, có ba mô hình khác nhau được phát triển: mô hình flooded request, mô hình thư mục trung tâm và mô hình hướng tài liệu. Các mô hình này được minh họa qua các ứng dụng thực của mạng ngang hàng: Gnutella, Naspter và FreeNet.
Trong hệ thống Gnutella, không có sự tập trung hóa, các file được lưu trữ trên các nút của hệ thống, khi có yêu cầu tìm kiếm một file, máy tính sẽ gửi yêu cầu này tới tất cả các nút láng giềng của nó cho tới khi tìm thấy máy lưu giữ file cần tìm. Tiếp theo là quá trình trao đổi file trực tiếp giữa hai máy tính trong mạng.
Trong hệ thống Naspter, có sự tập trung hóa. Khi một máy tham gia vào mạng, danh sách các file sẽ được đăng ký và lưu trữ trên máy chủ trung tâm, khi có yêu cầu tìm kiếm, máy tính sẽ hỏi máy chủ trung tâm về vị trí của file. Sau đó việc trao đổi file được thực hiện giữa hai máy tính với nhau.
Trong hệ thống Freenet, các file chia sẻ không được lưu trữ trên đĩa cứng của các máy cung cấp mà chúng được lưu trữ ở các máy khác nhau trong mạng. Mục đích của việc phát triển mạng Freenet là làm cho thông tin được lưu trữ và truy cập mà không cần biết định danh. Với các tổ chức như vậy, chủ sở hữu của một nút mạng cũng không biết được tài liệu gì được lưu trữ trên đĩa cứng của máy anh mình. Vì lý do này mà các nút và các file được gắn các số định danh khác nhau. Khi một file được tạo, nó được truyền qua các nút láng giềng tới các nút có số định danh gần với số định danh của file nhất và được lưu trữ ở đó.
Băng thông
Do yêu cầu về khả năng truyền dẫn của các mạng ngày càng đòi hỏi cao đặc biệt là khi một số lượng lớn dữ liệu đa phương tiện tăng nhanh, hiệu quả của việc sử dụng băng thông ngày càng trở nên quan trọng. Hiện nay, hướng tiếp cận tập trung trong đó các file được lưu trữ trên một máy chủ và được truyền từ nó tới máy khách đang được sử dụng chủ yếu. Trong trường hợp này khi số lượng các yêu cầu tăng nhanh sẽ dẫn tới tình trạng thắt nút cổ chai. Với hướng tiếp cận theo mạng ngang hàng vấn đề cân bằng tải sẽ đạt được sự tối ưu nhất vì nó tận dụng tối đa các hướng truyền dẫn trong hệ thống.
Tăng khả năng cân bằng tải trong mạng: khác với kiến trúc client/server các mạng ngang hàng lai có thể nhận được sự cân bằng tải tốt hơn. Với mô hình client/server thì cả yêu cầu truy vấn thông tin và việc truyền dữ liệu đều được thực hiện giữa máy chủ và máy khách, việc đó sẽ làm mất sự cân bằng tải khi có nhiều yêu cầu kết nối tới máy chủ. Với kiến trúc ngang hàng, chỉ có yêu cầu truy vấn được thực hiện giữa máy tính trong mạng với máy chủ, còn vấn đề truyền file được thực hiện giữa hai máy tính trong mạng với nhau, điều này sẽ giúp cân bằng tải thông qua việc phân bố tải đều trên toàn hệ thống.
Chia sẻ băng thông: mạng ngang hàng có thể làm tăng khả năng tải và truyền các file do cơ chế tận dụng đường truyền thông qua các nút trong mạng. Một file dữ liệu lớn được chia thành các phân mảnh dữ liệu nhỏ độc lập nhau, các mảnh dữ liệu này được chuyển đồng thời đến các nút khác nhau và cuối cùng đến nút yêu cầu chúng. Tại nút yêu cầu các mảnh dữ liệu được phép lại thành file dữ liệu ban đầu. Các phần mềm tải file điển hình cho việc chia sẻ băng thông, chẳng hạn như: BitTorrent, FlashGet,
Không gian lưu trữ
Ngày nay, khi các dữ liệu càng ngày càng lớn, kích thước file cũng càng lớn, với các máy tính có tài nguyên đĩa cứng hạn hẹp sẽ gặp khó khăn trong việc lưu trữ các file dữ liệu lớn trên máy tính của mình. Phát huy ưu điểm của mạng ngang hàng để chia sẻ không gian lưu trữ giữa các máy tính trong hệ thống thì điều đó không còn là một điều đáng lo ngại. Bằng cách này, dữ liệu sẽ được chia nhỏ thành các phần và lưu trữ mỗi phần trên các máy trong mạng. Mỗi khi cần lấy lại dữ liệu, máy đó sẽ nhận lại các phần của dữ liệu trên các máy và ghép chúng lại để nhận được dữ liệu ban đầu. Với việc chia sẻ không gian lưu trữ, hệ thống P2P càng ngày càng được mở rộng với nhiều máy tính tham gia vào hệ thống.
Các chu trình xử lý
Trong các ứng dụng đòi hỏi cần phải có sức mạnh tính toán người ta thường tìm cách xây dựng các máy tính mạnh, đắt tiền chứ chưa chú trọng vào việc tận dụng khả năng tính toán của các máy tính được nối mạng.