Luận văn bảo mật tính riêng tư của dữ liệu trong mạng ngang hàng p2p

  • Số trang: 91 |
  • Loại file: PDF |
  • Lượt xem: 12 |
  • Lượt tải: 0
nganguyen

Đã đăng 34173 tài liệu

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ---------o0o--------- Nguyễn Văn Khoa BẢO MẬT TÍNH RIÊNG TƯ CỦA DỮ LIỆU TRONG MẠNG NGANG HÀNG P2P KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Các hệ thống thông tin HÀ NỘI – 2010 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ -----------o0o---------- Nguyễn Văn Khoa BẢO MẬT TÍNH RIÊNG TƯ CỦA DỮ LIỆU TRONG MẠNG NGANG HÀNG P2P KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Các hệ thống thông tin Cán bộ hướng dẫn : ThS. Trương Thị Thu Hiền Cán bộ đồng hướng dẫn : CN. Phạm Cẩm Ngọc HÀ NỘI – 2010 LỜI CẢM ƠN Khóa luận tốt nghiệp này được hoàn thành với sự giúp đỡ của các thầy cô giáo và các bạn sinh viên lớp K51CHTTT, những người đóng vai trò quan trọng cho sự thành công của khóa luận. Trước hết em xin gửi lời cảm ơn tới cô giáo ThS. Trương Thị Thu Hiền, người đã trực tiếp hướng dẫn, cũng như động viên, giúp đỡ em hoàn thành khóa luận này. Mặc dù, phải đi công tác xa nhưng cô vẫn thương xuyên liên lạc, hỏi thăm và hướng dẫn em hoàn thành khóa luận một cách chi tiết. Đồng thời, em xin gửi lời cảm ơn tới thầy giáo CN. Phạm Cẩm Ngọc, người đã đồng hướng dẫn và luôn sát cánh để động viên, giúp đỡ em nghiên cứu hoàn thành khóa luận. Em xin cảm ơn các thầy cô giáo trong bộ môn Các hệ thống thông tin nói riêng và các thầy cô giáo trong khoa Công nghệ thông tin nói chung. Nếu không có các thầy, các cô và khoa thì chắc chắn em không thể hoàn thành tốt khóa luận như ngày hôm nay. Em xin gửi lời cảm ơn tới các thành viên lớp K51CHTTT, những người đã cùng em tìm hiểu cơ sở lý thuyết cũng như ứng dụng để hiểu rõ và hoàn thành khóa luận. Sau tất cả, em xin gửi lời cảm ơn gia đình cùng toàn thể các thầy cô giáo, những người đã sinh thành, nuôi dưỡng và giáo dục em có được ngày hôm nay. Cuối cùng, em xin gửi lời chúc sức khỏe và hạnh phúc tới tất cả các thầy cô giáo. Xin chúc thầy cô đạt được nhiều thành tựu hơn nữa trong sự nghiệp đào tạo tri thức cho đất nước cũng như trong các công việc nghiên cứu khoa học. Chúc tất cả các bạn sức khỏe, hoàn thành xuất sắc công việc học tập và nghiên cứu của mình. Chúc các bạn một tương lai tươi sáng và một cuộc sống thành đạt. Trân trọng cảm ơn! Hà Nội, ngày 21 tháng 5 năm 2010 Sinh viên Nguyễn Văn Khoa ii TÓM TẮT KHÓA LUẬN Khái niệm mạng ngang hàng đã trở nên phổ biến. Các mạng như BitTorrent và eMule giúp cho mọi người dễ dàng hơn trong việc chia sẻ dữ liệu. Nếu tôi có thứ bạn cần và bạn có thứ mà tôi muốn thì tại sao chúng ta không thể chia sẻ cho nhau? Có điều, các file được chia sẻ trên máy tính của bạn cho những người dùng không quen biết trên mạng Internet công cộng có thể khiến máy tính của bạn gặp nhiều nguy hiểm về độ an toàn và bảo mật. Vì thế, vấn đề bảo mật tính riêng tư của dữ liệu trong mạng ngang hàng là rất đáng được quan tâm. Khóa luận này bao gồm 4 chương, chủ yếu tập trung đến các vấn đề bảo mật dữ liệu chia sẻ trong mạng ngang hàng. Chương 1 trình bày những vấn đề tổng quan nhất của mạng ngang hàng như các định nghĩa, lịch sử phát triển, các lĩnh vực ứng dụng, phân loại các mạng ngang hàng, tổng quan về kiến trúc của các mạng ngang hàng. Chương 2 trình bày những nguyên lý cơ bản của bảo mật trong mạng ngang hàng. Các vấn đề được quan tâm ở đây bao gồm: các dạng tấn công vào hệ thống (tấn công định tuyến, tấn công lưu trữ và phục hồi, tấn công từ chối dịch vụ); tính xác thực và tính toàn vẹn của dữ liệu, xác thực tính toàn vẹn của các tính toán; vấn đề chia sẻ giữa các nút trong mạng ngang hàng; và cuối cùng của chương sẽ trình bày về bảo mật dựa vào hạ tầng cơ sở khóa công khai. Chương 3 trình bày về các mô hình tin cậy: mô hình tin cậy dựa vào chứng thực và mô hình tin cậy dựa vào uy tín; một vài hệ thống cộng tác ứng dụng các mô hình tin cậy đó. Chương 4 trình bày ứng dụng mã nguồn mở PeerSim – một công cụ để mô phỏng mạng ngang hàng trên đó người ta đã xây dựng một số ứng dụng chạy trên nền mạng ngang hàng. Cụ thể sẽ tìm hiểu về ứng dụng BitTorrent – trên đó cài đặt giao thức bittorrent cho ứng dụng trong việc chia sẻ dữ liệu. Với sự phát triển mạnh mẽ của các tài nguyên máy tính và các kho dữ liệu trên các máy tính cá nhân, sử dụng môi trường P2P để chia sẻ tài nguyên giữa các người dùng trên Internet sẽ đem lại hiệu quả cao. Do đó, việc áp dụng những kiến thức tìm hiểu trong khóa luận này vào thực tiễn rất có ý nghĩa. iii MỤC LỤC LỜI CẢM ƠN............................................................................................................................. ii TÓM TẮT KHÓA LUẬN.......................................................................................................... iii MỤC LỤC ................................................................................................................................. iv DANH SÁCH CÁC TỪ VIẾT TẮT........................................................................................... vi DANH SÁCH CÁC HÌNH VẼ ................................................................................................. vii Chương 1: TỔNG QUAN VỀ MẠNG NGANG HÀNG ............................................................. 1 1.1. Định nghĩa mạng ngang hàng ........................................................................................... 1 1.1.1. Giới thiệu .................................................................................................................. 1 1.1.2. Định nghĩa mạng ngang hàng..................................................................................... 1 1.1.3. Lịch sử phát triển của mạng ngang hàng P2P ............................................................. 2 1.2. So sánh mô hình P2P với mô hình Client/Server truyền thống .......................................... 3 1.3. Các lĩnh vực ứng dụng của mạng ngang hàng ................................................................... 3 1.3.1. Giao tiếp.................................................................................................................... 3 1.3.2. Chia sẻ File................................................................................................................ 4 1.3.3. Băng thông ................................................................................................................ 5 1.3.4. Không gian lưu trữ..................................................................................................... 5 1.3.5. Các chu trình xử lý .................................................................................................... 6 1.4. Kiến trúc mạng ngang hàng .............................................................................................. 6 1.4.1. Phân loại mạng ngang hàng ....................................................................................... 6 1.4.2. Kiến trúc mạng ngang hàng ....................................................................................... 7 Chương 2: BẢO MẬT TRONG HỆ THỐNG MẠNG NGANG HÀNG .................................... 13 2.1. Tấn công định tuyến ....................................................................................................... 13 2.1.1. Tấn công làm sai lệch đường đi trong định tuyến ..................................................... 13 2.1.2. Tấn công làm cập nhật sai bảng định tuyến .............................................................. 14 2.1.3. Phân vùng mạng định tuyến không chính xác .......................................................... 14 2.2. Tấn công lưu trữ và phục hồi .......................................................................................... 15 2.3. Tấn công từ chối dịch vụ ................................................................................................ 17 2.3.1. Quản lý các cuộc tấn công ....................................................................................... 18 2.3.2. Phát hiện và phục hồi từ các cuộc tấn công .............................................................. 19 2.4. Xác thực và toàn vẹn dữ liệu .......................................................................................... 21 2.4.1. Các truy vấn xác thực trong cớ sở dữ liệu quan hệ ................................................... 22 2.4.2. Tự xác thực dữ liệu với mã Erasure ......................................................................... 26 2.5. Xác thực tính toàn vẹn của tính toán............................................................................... 27 2.6. Chia sẻ dữ liệu giữa các nút trong mạng ngang hàng....................................................... 28 2.6.1. Hệ thống dựa vào hạn ngạch .................................................................................... 30 2.6.2. Hệ thống dựa vào trao đổi........................................................................................ 31 2.6.3. Kiểm soát sự phân bổ............................................................................................... 32 2.6.4. Kỹ thuật dựa vào sự khích lệ.................................................................................... 33 2.6.5. Topo mạng phù hợp ................................................................................................. 35 2.7. Bảo mật dựa vào hạ tầng cơ sở khóa công khai PKI........................................................ 37 Chương 3: CÁC MÔ HÌNH TIN CẬY...................................................................................... 38 3.1. Các khái niệm................................................................................................................. 38 3.1.1. Định nghĩa sự tin cậy ............................................................................................... 38 iv 3.1.2. Các dạng tin cậy ...................................................................................................... 39 3.1.3. Biểu diễn sự tin cậy bởi giá trị ................................................................................. 40 3.1.4. Đặc tính của sự tin cậy............................................................................................. 42 3.2. Các mô hình tin cậy........................................................................................................ 44 3.2.1. Tin cậy dựa vào sự chứng thực ................................................................................ 44 3.2.2. Tin cậy dựa vào uy tín ............................................................................................. 45 3.3. Các hệ thống tin cậy dựa vào chứng thực........................................................................ 46 3.3.1. Hệ thống PolicyMaker ............................................................................................. 46 3.3.2. Hệ thống Trust-X..................................................................................................... 48 3.4. Hệ thống tin cậy dựa trên uy tín cá nhân ......................................................................... 50 3.4.1. Hệ thống P2PRep .................................................................................................... 50 3.4.2. Hệ thống XRep........................................................................................................ 53 3.4.3. Mô hình tin cậy NICE.............................................................................................. 54 3.4.4. Hệ thống PeerTrust .................................................................................................. 56 3.5. Hệ thống tin cậy dựa vào uy tín cá nhân và uy tín dưới khía cạnh xã hội......................... 58 3.5.1. Hệ thống Regret....................................................................................................... 58 3.5.2. Hệ thống NodeRanking ........................................................................................... 60 3.6. Quản lý sự tin cậy........................................................................................................... 62 3.6.1. Hệ thống XenoTrust ................................................................................................ 64 3.6.2. Hệ thống EigenRep.................................................................................................. 67 3.6.3. Quán lý tin cậy với P-Grid ....................................................................................... 70 Chương 4: MÔ PHỎNG MẠNG NGANG HÀNG VỚI PEERSIM........................................... 73 4.1. Tổng quan về PeerSim.................................................................................................... 73 4.1.1. Giới thiệu về PeerSim.............................................................................................. 73 4.1.2. Các gói dịch vụ trong PeerSim................................................................................. 73 4.2. Ứng dụng BitTorrent ...................................................................................................... 74 4.2.1. Giới thiệu về BitTorrent........................................................................................... 74 4.2.2. Cách thức hoạt động của BitTorrent......................................................................... 74 4.2.3. Tạo và phát hành tệp Torrent lên mạng .................................................................... 75 4.2.4. Tải tệp Torrent và chia sẻ tệp ................................................................................... 76 KẾT LUẬN .............................................................................................................................. 78 TÀI LIỆU THAM KHẢO........................................................................................................... 1 v DANH SÁCH CÁC TỪ VIẾT TẮT TỪ VIẾT TẮT CBS DoD DS IAS JXTA P2P PIPE RDP SGL SLIC TTL VB XIS TỪ CHƯA VIẾT TẮT Commitment-Based-Sampling Denial-of-Service Drop Strategy Incoming Allocation Strategy Juxtapose Peer-to-Peer Peer-to-Peer Information Preservation and Exchange network Random Discovery Ping Sercure Group Layer Selfish Link-based InCentives Time-To-Live Verifiable B XenoServer Information Service vi DANH SÁCH CÁC HÌNH VẼ Hình 1.1: Mô hình mạng overlay................................................................................................. 2 Hình 1.2: Phân loại mạng P2P theo mức độ tập trung .................................................................. 7 Hình 1.3: Mạng ngang hàng tập trung ......................................................................................... 8 Hình 1.4: Mạng ngang hàng tập trung thế hệ thứ nhất (Napster) .................................................. 9 Hình 1.5: Mạng ngang hàng cơ bản (Gnutella 4.0, FreeNet) ...................................................... 10 Hình 1.6: Mạng ngang hàng lai ................................................................................................. 11 Hình 1.7: Mạng ngang hàng có cấu trúc .................................................................................... 12 Hình 2.1(a): Cây băm Merkle.................................................................................................... 22 Hình 2.1(b): Miền xác thực liên tục........................................................................................... 23 Hình 2.2: Cây VB .................................................................................................................... 25 Hình 2.3: Quá trình tính đối tượng xác minh VO...................................................................... 26 Hình 2.4: Chương trình tự xác minh .......................................................................................... 27 Hình 2.5: Trao đổi N bước ........................................................................................................ 32 Hình 3.1: Phân loại mô hình tin cậy .......................................................................................... 46 Hình 3.2: Kiến trúc hệ thống PolicyMaker ................................................................................ 47 Hình 3.3: Các giai đoạn trong quá trình đàm phán của hệ thống Trust-X ................................... 50 Hình 3.4: Giao thức bỏ phiếu cơ bản ......................................................................................... 51 Hình 3.5: Đồ thị tin cậy Nice..................................................................................................... 55 Hình 3.6: Uy tín dưới khía cạnh xã hội...................................................................................... 59 Hình 3.7: Bản thể luận .............................................................................................................. 60 Hình 3.8. Mạng xã hội .............................................................................................................. 61 Hình 3.9. Phân loại các phương pháp quản lý tin cậy................................................................. 64 Hình 3.10. Nền tảng mở XenoServer trong hệ thống XenoTrust ................................................ 66 Hình 3.11: Thuật toán Distributed ............................................................................................. 70 Hình 3.12: Hệ thống quản lý tin cậy dựa vào P-Grid ................................................................. 71 Hình 4.1: Mô hình mạng sử dụng trong BitTorrent.................................................................... 74 vii Chương 1: TỔNG QUAN VỀ MẠNG NGANG HÀNG 1.1. Định nghĩa mạng ngang hàng 1.1.1. Giới thiệu Chúng ta đã biết rằng, 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. Theo mô hình này thì một máy khách (client) sẽ kết nối với một máy chủ thông qua một giao thức nhất định (WWW, FTP, Telnet, email ...). Nói chung, mô hình client/server có nhiều ưu điểm, nổi bật là mọi xử lý sẽ nằm trên máy chủ do đó sẽ tránh cho máy khách phải xử lý những tính toán nặng nề. Tuy nhiên, khi Internet phát triển với tốc độ nhanh chóng như hiện nay thì mô hình client/server gặp phải một vài nhược điểm lớn. Nếu số lượng máy khách tăng đến một mức độ nào đó thì nhu cầu tải file và băng thông tăng lên dẫn đến máy chủ không có khả năng cung cấp dịch vụ cho các máy khách, hiện tượng đó được gọi là hiện tượng thắt nút cổ chai. Để giải quyết các nhược điểm của mô hình client/server, công nghệ mạng ngang hàng P2P được tin tưởng sẽ là lời giải cho các vấn đề trên. 1.1.2. Định nghĩa mạng ngang hàng Định nghĩa: mạng ngang hàng (tiếng Anh: Peer-to-Peer network hay gọi tắt là P2P) là mạng mà trong đó hai hay nhiều máy tính chia sẻ tập tin và truy cập các thiết bị như máy in mà không cần thông qua máy chủ hay phần mềm máy chủ. Hay ở dạng đơn giản nhất, mạng P2P được tạo ra bởi hai hay nhiều máy tính được 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 không có khái niệm máy chủ (server) hay máy khách (client), mà chỉ có khái niệm các nút (peer) đóng vai trò như cả máy chủ và máy khách. Mạng overlay: 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ụ như: Gnutella, Freenet, DHTs …. 1 Hình 1.1: Mô hình mạng overlay 1.1.3. Lịch sử phát triển của mạng ngang hàng P2P 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. 2 1.2. So sánh mô hình P2P với mô hình Client/Server truyền thống P2P Client/Server - Một mạng ngang hàng cho phép các - Dữ liệu được lưu tại một máy chủ nút đóng góp, chia sẻ nguồn tài nguyên với nhau. Tài nguyên riêng rẽ của các nút (ổ cứng, CD-ROM, máy in …). Các nguồn tài nguyên này có thể được truy cập từ bất cứ nút nào trong mạng. - Các nút đóng vai trò như cả máy khách và máy chủ. trung tâm, tốc độ cao. - Khi một máy khách yêu cầu lấy thông tin về thời gian nó sẽ phải gửi một yêu cầu theo một tiêu chuẩn do máy chủ định ra, nếu yêu cầu được chấp nhận thì máy chủ sẽ trả về thông tin mà máy khách yêu cầu. - Không cần máy chủ. - Các máy khách tự chia sẻ tài nguyên cho nhau. - Khi mạng càng được mở rộng thì khả Ưu điểm năng hoạt động của hệ thống càng tốt. - Chi phí thấp. - Dễ cài đặt và bảo trì. - Thuận lợi cho việc chia sẻ file, máy in, ổ đĩa quang, …. - Chậm. - Không tốt cho các ứng dụng cơ sở dữ liệu. Nhược điểm - Độ tin cậy thấp. - Tốc độ truy cập nhanh. - Khả năng mở rộng cao. - Hoạt động với bất kì loại ứng dụng nào. - Sử dụng được với các ứng dụng chia sẻ cơ sở dữ liệu. - Đáng tin cậy hơn (có máy chủ riêng). - Mức độ an toàn cao. - Cần máy chủ riêng. - Dễ gặp hiện tượng thắt cổ chai. - Chi phí cao. - Phức tạp trong việc bảo trì, duy trì hoạt động của mạng. Tổng quan 1.3. 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. 1.3.1. Giao tiếp Đóng vai trò quan trọng trong các ứng dụng mạng ngang hàng. Là nhân tố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. 3 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. 1.3.2. 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 4 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ữ ở đó. 1.3.3. 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, vv. 1.3.4. 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 5 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. 1.3.5. Các chu trình xử lý Có thể nhận thấy rằng 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. Ngày nay do những yêu cầu đòi hỏi tính toán hiệu năng cao như các thao tác tính toán trong tin sinh học, trong tài chính, trong đo lường mà nhiều nghiên cứu ứng dụng mạng ngang hàng vào xử lý tính toán đã được đưa ra. Bằng việc sử dụng các ứng dụng mạng ngang hàng để bó cụm các chu trình xử lý có thể nhận được khả năng tính toán ngang bằng với một siêu máy tính đắt tiền. Trong một mạng mỗi máy tính là trong suốt với các máy tính khác và tất cả các nút được kết nối mạng sẽ tạo thành một máy tính logic. 1.4. Kiến trúc mạng ngang hàng 1.4.1. Phân loại mạng ngang hàng Trong mô hình client/server, máy chủ là nơi cung cấp các dịch vụ, thông tin cho hệ thống, chẳng hạn như máy chủ Web, máy chủ cơ sở dữ liệu, vv. Máy khách là máy yêu cầu nội dung thông tin, yêu cầu dịch vụ từ máy chủ. Địa chỉ IP của máy chủ phải được cung cấp cho các máy khách, nội dung thông tin chứa trên máy chủ có thể là các file âm thanh, hình ảnh, file cơ sở dữ liệu, vv. Máy khách không cung cấp bất kỳ nội dung hoặc dịch vụ nào để chạy hệ thống. Mạng ngang hàng có thể được phân loại theo mục đích sử dụng, ví dụ: - Chia sẻ file. - Điện thoại VoIP. - Đa phương tiện. - Diễn đàn thảo luận. …. 6 Mạng ngang hàng có thể được phân loại theo mức độ tập trung của mạng như trong hình vẽ dưới đây: Hình 1.2: Phân loại mạng P2P theo mức độ tập trung 1.4.2. Kiến trúc mạng ngang hàng 1.4.2.1. Mạng ngang hàng không cấu trúc Nơi lưu trữ nội dung 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 nút ra vào mạng thường xuyên, tùy ý. 1.4.2.1.1. Mạng ngang hàng tập trung 7 Đây là mạng ngang hàng thế hệ thứ nhất, đặc điểm là vẫn còn dựa trên một máy chủ tìm kiếm trung tâm, chính vì vậy nó còn được gọi là mạng ngang hàng tập trung. Cấu trúc Overlay của mạng ngang hàng tập trung có thể được mô tả như một mạng hình sao: Hình 1.3: Mạng ngang hàng tập trung Nguyên tắc hoạt động: Mỗi client lưu trữ file định chia sẻ với các nút khác trong mạng. Một bảng lưu trữ thông tin kết nối của người dùng đăng ký (địa chỉ IP, kết nối băng thông, …). Một bảng liệt kê danh sách các file mà mỗi người dùng định chia sẻ (tên file, dung lượng, thời gian tạo file …). Mọi máy tính tham gia mạng được kết nối với máy chủ tìm kiếm trung tâm, các yêu cầu tìm kiếm được gửi tới máy chủ trung tâm phân tích, nếu yêu cầu được giải quyết máy chủ sẽ gửi trả lại địa chỉ IP của máy chứa tài nguyên trong mạng và quá trình truyền file được thực hiện theo đúng cơ chế của mạng ngang hàng, giữa các host với nhau mà không cần qua máy chủ trung tâm. Ưu điểm: - Dễ xây dựng. - Tìm kiếm file nhanh và hiệu quả. Nhược điểm: - Vấn đề luật pháp, bản quyền. 8 - Dễ bị tấn công. - Server tập trung. Napster là mạng ngang hàng được đặ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ẻ 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. Hình 1.4: Mạng ngang hàng tập trung thế hệ thứ nhất (Napster) 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 nút 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ố nút mạng trong hệ thống, do đó khả năng mở rộng mạng bị hạn chế rất nhiều. 1.4.2.1.2. Các mạng ngang hàng cơ bản Mạng ngang hàng cơ bản là một dạng khác của thế hệ thứ nhất trong hệ thống các mạng ngang hàng. Không còn máy chủ tìm kiếm tập trung như trong mạng Napster, nó khắc phục được vấn đề nút cổ chai trong mô hình tập trung. Tuy nhiên vấn đề tìm kiếm trong mạng ngang hàng cơ bản lại sử dụng cơ chế Flooding, yêu cầu tìm kiếm được gửi cho tất cả các nút mạng là láng giềng với nó, điều này làm tăng đáng kể lưu lượng trong 9 mạng. Đây là một yếu điểm của mạng ngang hàng cơ bản. Các phần mềm tiểu biểu cho mạng ngang hàng dạng này là Gnutella 4.0, FreeNet. Hình 1.5: Mạng ngang hàng cơ bản (Gnutella 4.0, FreeNet) Ưu điểm: - Dễ xây dựng. - Đảm bảo tính phân tán hoàn toàn cho các nút tham gia mạng, các nút 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 thông. - Phức tạp trong tìm kiếm. - Các nút có khả năng khác nhau (sức mạnh bộ vi xử lý, băng thông, không gian lưu trữ) đều có thể phải chịu tải như nhau. 1.4.2.1.3. Các mạng ngang hàng lai Để khắc phục nhược điểm của mạng ngang hàng cơ bản, một mô hình mạng 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ệ thứ 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 máy tính cá nhân, máy tính lớn, điện 10 thoại di động, các thiết bị cầm tay khác – để 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. Hình 1.6: Mạng ngang hàng lai 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 SuperPeer. Các SupperPeer tạo thành một mạng không cấu trúc, có sự khác nhau giữa SupperPeer và ClientPeer trong mạng, mỗi SupperPeer có nhiều kết nối đến các ClientPeer. Mỗi SupperPeer chứa một danh sách các file được cung cấp bởi các ClientPeer 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 ClientPeer gửi tới. Ưu điểm: Hạn chế việc tràn ngập các truy vấn, làm giảm lưu lượng trong mạng, nhưng vẫn tránh được hiện tượng thắt cổ chai (do có nhiều SupperPeer). Khắc phục được nhược điểm về sự khác nhau về khả năng xử lý của CPU, băng thông, … ở mạng ngang hàng cơ bản, các SupperPeer sẽ chịu tải chính, các nút khác chịu tải nhẹ. 1.4.2.2. Mạng ngang hàng có cấu trúc Cấu trúc hình học của mạng được kiểm soát chặt chẽ. 11 File (hoặc con trỏ trỏ tới file) đượ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 cấp sự liên kết giữa nội dung (ví dụ: id của file) và vị trí của nút (ví dụ: địa chỉ nút). 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 (hình 1.7): Chord, Pastry, …. Và cấu trúc không gian đa chiều: CAN, Viceroy. Hình 1.7: Mạng ngang hàng có cấu trúc Ư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 nút 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 trường hợp tỷ lệ vào/ra mạng của các nút cao. Vấn đề cân bằng tải trong mạng. 12
- Xem thêm -