bài thuyết trình PEER TO PEER SYSTEM

61 1.4K 11
bài thuyết trình PEER TO PEER SYSTEM

Đ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

bài thuyết trình PEER TO PEER SYSTEM

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

Ngày đăng: 29/09/2015, 16:26

Từ khóa liên quan

Mục lục

  • Slide 1

  • Nội dung

  • 1. Giới thiệu

  • Peer to peer system (p2p) là gì?

  • Peer to peer system là gì?

  • Các ứng dụng

  • Phân loại

  • Unstructure P2P

  • Unstructure P2P

  • Unstructure P2P

  • Structure P2P

  • Structure P2P

  • Cơ chế của DHT

  • Các đặc trưng của P2P system

  • Các đặc trưng của P2P system

  • NAPSTER

  • Napster: chia sẻ file ngang hàng với chỉ mục trung tâm, bản sao

  • P2p middleware

  • P2P MIDLEWARE

  • P2P midleware

Tài liệu cùng người dùng

Tài liệu liên quan