Bài tập lớn mạng số liệu: Mạng ngang hàng P2P
Tổng quan về Mạng ngang hàng1.Giới thiệu:Mạng ngang hàng (Peer-to-Peer – P2P) bắt đầu xuất hiện từ 1999 và đã thu hút sự quan tâm của giới CNTT trong những năm gần đây. Đặc biệt việc áp dụng các mô hình P2P trong việc xây dựng những ứng dụng chia sẻ file (file sharing), điện thoại trên nền Internet (Internet-based telephony) đã đạt được nhiều thành công.Hiện nay các ứng dụng P2P chiếm khoảng 50% (thậm chí 75%) băng thông trên Internet.
2.Định nghĩa P2P:“Mạng ngang hàng là một kiểu mạng được thiết kế cho các thiết bị trong đó có chức năng và khả năng của các thiết bị đó là như nhau”
Mạng P2P không có khái niệm máy trạm (client) hay máy chủ (server), mà chỉ có khái niệm các nốt (peers) đóng vai trò như cả client và server
Mô hình mạng Client/Sever Mô hình mạng P2P
- Overlay network: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 nodes trong mạng overlay được xem là nối với nhau bằng liên kết ảo (logical links), 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à overlay networks vì nó được xây dựng và hoạt động trên nền của Internet. VD: Gnutella, Freenet, DHTs .
Dial-up Internet cũng là một overlay network trên nền telephone network.
10 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 3128 | Lượt tải: 4
Bạn đang xem nội dung tài liệu Bài tập lớn mạng số liệu: Mạng ngang hàng P2P, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tổng quan về Mạng ngang hàng
Giới thiệu:
Mạng ngang hàng (Peer-to-Peer – P2P) bắt đầu xuất hiện từ 1999 và đã thu hút sự quan tâm của giới CNTT trong những năm gần đây. Đặc biệt việc áp dụng các mô hình P2P trong việc xây dựng những ứng dụng chia sẻ file (file sharing), điện thoại trên nền Internet (Internet-based telephony) đã đạt được nhiều thành công.
Hiện nay các ứng dụng P2P chiếm khoảng 50% (thậm chí 75%) băng thông trên Internet.
Định nghĩa P2P:
“Mạng ngang hàng là một kiểu mạng được thiết kế cho các thiết bị trong đó có chức năng và khả năng của các thiết bị đó là như nhau”
Mạng P2P không có khái niệm máy trạm (client) hay máy chủ (server), mà chỉ có khái niệm các nốt (peers) đóng vai trò như cả client và server
Mô hình mạng Client/Sever Mô hình mạng P2P
- Overlay network: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 nodes trong mạng overlay được xem là nối với nhau bằng liên kết ảo (logical links), 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à overlay networks vì nó được xây dựng và hoạt động trên nền của Internet. VD: Gnutella, Freenet, DHTs ….
Dial-up Internet cũng là một overlay network trên nền telephone network.
So sánh mô hình P2P với mô hình Client/Server:
P2P
Client/Server
- Một mạng ngang hàng cho phép các node (PCs) đó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 node (ổ 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ứ node nào trong mạng.
- Các node đóng vai trò như cả Client (truy vấn
thông tin) và Server (cung cấp thông tin).
- Dữ liệu được lưu trữ ở một Server trung tâm, tốc độ cao (Tốc độ truy cập thường lớn hơn so với mạng P2P).
- Khi một máy client 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 server định ra, nếu yêu cầu được chấp nhận thì máy server sẽ trả về thông tin mà client yêu cầu.
Ưu, nhược điểm của mạng P2P, Client/Server:
P2P
Client/Server
+ Ưu điểm:
- Không cần server riêng, các client chia sẻ tài nguyên. Khi mạng càng được mở rộng thì khả năng hoạt động của hệ thố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, CD-ROM v.v…
+ Ưu điểm:
- 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ẻ
CSDL.
- Đáng tin cậy hơn (có server riêng).
- Mức độ an toàn cao nhất.
+ Nhược điểm:
- Chậm.
- Không tốt cho các ứng dụng CSDL.
- Kém tin cậy.
+ Nhược điểm:
- Cần server riêng (nghẽn cổ chai).
- Đắt.
- Phức tạp trong việc bảo trì, duy trì hoạt
động của mạng.
Phân loại mạng ngang hà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 (file sharing)
Điện thoại VoIP (telephony)
Đa phương tiện media streaming (audio, video)
Diễn đàn thảo luận (Discussion forums)
Mạng ngang hàng còn có thể được phân loại theo mức độ tập trung của mạng (đối với P2P overlay networks).
Mạng ngang hàng không cấu trúc (unstructured): là cấu trúc mạng có nơi lưu trữ nội dung (files) hoàn toàn không liên quan gì đến cấu trúc hình học của mạng (overlay topology). Bao gồm:
Hệ thống mạng ngang hàng tập trung (Centralized):
Hệ thống mạng ngang hàng thuần túy (Pure)
Các mạng ngang hàng lai (Hybrid)
Mạng ngang hàng có cấu trúc (Structured):
Hệ thống mạng ngang hàng tập trung (Centralized)
Đâ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à mang ngang hàng tập trung (centralized Peer-to-Peer networks). 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 .
Nguyên tắc hoạt động
Mỗi client lưu trữ files định chia sẻ với các node 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í (IP address, connection bandwidth ….).
Một bảng liệt kê danh sách các files 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 quan 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
Dễ bị tấn công.
Cần quản trị mạng (central server).
Napster là mạng ngang hàng đặ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ẻ các 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.
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.
Mạng ngang hàng thuần túy (Pure)
Mạng ngang hàng thuần túy 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 thuần túy 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 node 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 mạng. Đây là một yếu điểm của các mạng ngang hàng thuần túy. 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.
Mạng ngang hàng thuần túy (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 node tham gia mạng, các node 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 node có khả năng khác nhau (CPU power, bandwidth, storage) đều có thể
phải chịu tải (load) như nhau.
Các mạng ngang hàng lai Hybri.
Nguyên tắc hoạt động
Để khắc phục nhược điểm của mạng ngang hàng thuần túy, một mô hình mang 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ệ 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 PCs, mainframes, cell phones, PDAs – để 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.
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 Super Peers.
Các SupperPeer tạo thành một mạng không cấu trúc, có sự khác nhau giữa SupperPeers và ClientPeers trong mạng, mỗi SupperPeer có nhiều kết nối đến các ClientPeers
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 Flooding các query, làm giảm lưu lượng trong mạng, nhưng vẫn tránh được hiện tượng nút cổ chai (do có nhiều SuperPeers).
Khắc phục được nhược điểm về sự khác nhau về CPU power, bandwidth … ở mạng ngang hàng thuần túy, các SuperPeer sẽ chịu tải chính, các node khác chịu tải nhẹ.
Mạng ngang hàng có cấu trúc Structured
Đặc điểm:
Topo mạng được kiểm soát chặt chẽ.
File hoặc con trỏ tới File được đặt ở một vị trí xác đinh
Đ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 (mapping) giữa nội dung (ví dụ: id của file) và vị trí node (ví dụ: địa chỉ node). 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: Chord, Pastry…, và cấu trúc không gian đa chiều: CAN, Viceroy.
Ư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 trong trường hợp tỷ lệ vào/ra mạng của các nodes cao.
Vấn đề cân bằng tải trong mạng.
Các lĩnh vực ứng dụng của P2P
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. Bài này đư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 (communication), chia sẻ file (file sharing), băng thông (bandwidth), vấn đề lưu trữ (storage), các chu trình xử lí (processor cycles).
Giao tiếp (communication):
Đóng một 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 Peers 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 Peer kết nối trực tiếp với các Peer 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 (instant messaging).
Instant messaging:
Thông thường, server 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 node, việc tìm kiếm người dùng (node khác) được thực hiệntrên server.
Trong trường hợp người dùng không online , hệ thống sẽ phải lưu trữ các tin nhắn cho đến khi người dùng này online.
Các dịch vụ điển hình: Napster, ICQ, Jabber.
Chia sẻ Files (File sharing)
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 download mỗi tuần).
Đặc điểm của vấn đề chia sẻ file là các Peer có các file được download với vai trò là một Client làm cho chúng luôn sẵn sàng với các Peer khác trong vai trò của một Server.
Vấn đề chủ yếu cho mạng ngang hàng nói chung và cho vấn đề chia sẻ file nó 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 hoạ qua các ứng dụng thực của mạng ngang hàng sau: Gnutella, Naspter và FreeNet.
Trong hệ thống Gnutella, không có sự tập trung hoá, các file được lưu trữ trên các Peer của hệ thống. khi có yêu cầu tìm kiếm 1 File, máy tính sẽ gửi yêu cầu đến các Peer láng giềng của nó cho tới khi tìm thấy máy chứa 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 hoá. Khi một máy tham gia vào mạng, danh mục các file sẽ được đăng ký và lưu trữ trên Server trung tâm, khi có yêu cầu tìm kiếm, máy tính sẽ hỏi Server 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, trong file không được lưu trữ trên đĩa cứng của các peer cung cấp chúng mà được lưu trữ ở các vị trí khác 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 node 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 ta. Vì lý do này mà các Peer và các file được cung cấp các số định danh khác nhau. Khi một file được tạo, nó được truyền qua các peer láng riêng tới các peer 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 Bandwidth)
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 Server và được truyền từ đó tới máy khách yêu cầu đ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 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ác hướng truyền dẫn trong hệ thống mạng.
- Tăng cườ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, 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ủ. Trong mô hình mạng ngang hàng, chỉ có yêu cầu truy vấn được thực hiện giữa máy tính tham gia 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 tham gia mạng với nhau, điều này dẫn đến việc phân bố tải đều trên hệ thống mạng.
- Chia sẻ việc sử dụng băng thông: Mạng ngang hàng có thể làm tăng khả năng download và truyền các file do cơ chế tận dụng đường truyền tới các peer tham gia mạng. Một file dữ liệu lớn được chia thành các khối dữ liệu nhỏ độc lập nhau, các khối dữ liệu này được chuyển đồng thời đến các peer khác nhau và cuối cùng đến peer yêu cầu chúng. Tại peer yêu cầu các khối dữ liệu được ghép lại thành file dữ liệu ban đâu. Các phần mềm điền hình của việc chia sẻ băng thông đó là các phần mềm download file, chẳng hạn như: BitTorrent, FlashGet…
Các chu trình xử lý (Processor Cycles):
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 node được kết nối mạng sẽ tạo thành một máy tính logic.
Không gian lưu trữ (Storage Space):
Hiện nay với các hệ thống cần có yêu cầu về mặt lưu trữ dữ liệu cao người ta thường lựa chọn các giải pháp lưu trữ như:
DAS (Direct Attached Storage)
NAS (Network Attached Storage):
SAN (Storage Area Networks):
Bên cạnh những ưu điểm các giải pháp đó cũng tồn tại một số nhược điểm như:
Kém hiệu quả trong việc sử dụng hệ thống lưu trữ sẵn có.
Phải tăng cường việc sao lưu dữ liệu.
Tăng tải trong mạng của công ty.
Tuy nhiên, băng thông mạng ngày càng được cải thiện cao, tính kết nối liên thông ngày một dễ dàng đã cho phép thay đổi cách thức quản lý vấn đề lưu trữ dữ liệu, giải quyết một cách hiệu quả vấn đề lưu trữ và không đỏi hỏi nhiều về vấn đề quản trị hệ thống. Với mạng lưu trữ ngang hàng nói chung nó được giả thiết rằng chỉ có một phần không gian sẵn có trên máy tính PC được sử dụng. Mạng lưu trữ ngang hàng là một cụm các máy tính được xây dựng trên một nền mạng máy tính tồn tại, chia sẻ tất cả các lưu trữ sẵn có trên mạng
Các file đính kèm theo tài liệu này:
- Bài tập lớn mạng số liệu- Mạng ngang hàng P2P.docx