Chương 1: Một số kiến thức lý thuyết cơ sở về mạng phân tán. hƣơng này sẽ tìm hiểu về tổng quan về lý thuyết mạng máy tính, mạng phân tán, các giao thức trên mạng phân tán. Chương 2: Mô tả, phân tích giao thức phân tán. Trong chƣơng này, tìm hiểu các giao thức cụ thể về khái niệm, mô tả, chi tiết từng thành phần của các giao thức.
Chương 3: Mô phỏng, đánh giá giao thức phân tán. Trong chƣơng này sẽ nêu rõ các phƣơng pháp phân tích, giới thiệu các công cụ mô phỏng mạng và tiến hành mô phỏng các giao thức lên môi trƣờng mạng ảo, để tiến hành phân tích, đánh giá về hiệu năng, tìm kiếm của các giao thức. 4 C N TỔNG QUAN LÝ THUYẾT 1.1 TỔN QUAN VỀ M NG MÁY TÍNH 1.1 Mạn m tn Ngày nay, khoa học và kỹ thuật đã đạt đƣợc những thành tựu to lớn. Nhờ sự phát triển của kỹ thuật số, kỹ thuật phần cứng và công nghệ phần mềm đã và đang đem lại cho ngƣời sử dụng các dịch vụ mới đa dạng và phong phú hơn, nhất là trong lĩnh vực truyền thông mà tiêu biểu là mạng máy tính.
Mạng máy tính là mạng viễn thông kỹ thuật số cho phép các node mạng chia sẻ tài nguyên. Trong các mạng máy tính, các thiết bị máy tính trao đổi dữ liệu với nhau bằng các kết nối (liên kết dữ liệu giữa các node). Các liên kết dữ liệu này đƣợc thiết lập qua cáp mạng nhƣ dây hoặc cáp quang hoặc phƣơng tiện không dây nhƣ Wi-Fi. Các node mạng có khả năng khởi động, định tuyến và chấm dứt dữ liệu, đƣợc xác định bởi các địa chỉ mạng và bao gồm tất cả các thiết bị (máy tính cá nhân, điện thoại, máy chủ, bộ định tuyến, chuyển mạch,…) có thể kết nối với nhau trực tiếp hoặc gián tiếp đƣợc hỗ trợ bởi các giao thức truyền thông mạng (network protocol).
Mạng máy tính có thể giúp con ngƣời truy cập vào số lƣợng lớn các ứng dụng và dịch vụ có thể có do những ngƣời khác chia sẻ. [5] Hệ thống mạng máy tính với những ƣu điểm nhƣ tăng tốc độ tìm kiếm và download dữ liệu, dễ dàng trong việc giao lƣu trao đổi thông tin giữa ngƣời và ngƣời, nối liền khoảng cách…đã và đang có nhiều ứng dụng trong tất cả các lĩnh vực, nhất là trong thông tin liên lạc.2 Mạng ngang hàng peer – to – peer Mô hình mạng ngang hàng (Peer-to-Peer Network) hay mạng ngang hàng là một cấu trúc đƣợc tạo nên bởi các máy tính liên kết với nhau, vai trò của mỗi máy tính là nhƣ nhau, mỗi máy tính là một phần (peer) và duy trì sự 5 tồn tại của mạng ngang hàng mà không cần đến máy chủ hay các phần mềm máy chủ.1 Phân loại P2P Tùy vào sự phân quyền, cách thức trao đổi, thu nhận tài nguyên của các máy tính trong mạng, để chia P2P làm hai loại kiến trúc chính. Mạn P2P t uần tú là mô hình thể hiện chính xác bản chất của mạng P2P nhất, vì nó hoàn toàn không có máy chủ trung tâm quản lý mạng mà mọi máy tính đều có vai trò vừa là khách, vừa là chủ và không hề có các máy định tuyến hoặc trung tâm định tuyến mà các máy tự định tuyến với nhau. Mọi máy tính đều cân bằng về chức năng, các máy là các node (hay gọi là servant).
ác mạng P2P thuần túy có thể kể đến nhƣ: Gnutella, Freenet, Kademlia… 6 Hình 1. 2 Mạn P2P t uần tú Kiến trúc này có khả năng mở rộng mạng nhanh, chịu lỗi hệ thống cao, và mọi máy tính đều có tính tự chủ độc lập. Nếu có vấn đề xảy ra nhƣ một vài node bị lỗi thì không gây ra lỗi toàn mạng và có thể dễ dàng bù đắp bằng các node mới tham gia vào. ũng chính vì P2P thuần túy không có máy chủ trung tâm để định tuyến nên tốc độ phát hiện thông tin chậm, dịch vụ không đƣợc đảm bảo, và hành vi của hệ thống khó có thể ghi nhận đƣợc.
[2] Mạn P2P l ép Sẽ có một máy chủ trung tâm dùng để lƣu trữ thông tin của các máy khác, làm nhiệm vụ trả lời các truy vấn thông tin trong mạng. ác máy khách có vai trò lƣu trữ thông tin, tài nguyên đƣợc chia sẻ, cung cấp các thông tin chia sẻ tài nguyên của nó cho máy chủ. iểm khác biệt nữa so với P2P thuần là có sử dụng các trạm định tuyến để xác định địa chỉ IP của các máy khách. ó hai kiểu mạng lai ghép: mạng lai ghép với chỉ số hóa tập trung, tức là có một máy chủ trung tâm bảo trì các chỉ số của dữ liệu hoặc tài liệu hiện tại đang đƣợc chia sẻ bởi các máy khách, mỗi máy khách giữ gìn một kết nối tới máy chủ trung tâm để gửi các yêu cầu, kiến trúc này thƣờng đƣợc sử dụng trong mạng Napster.
Hệ thống này tuy đơn giản nhƣng hoạt động hiệu quả, tìm kiếm thông tin nhanh, toàn diện và đảm bảo kết quả tìm kiếm. Tuy vậy nó rất dễ bị lỗi và sụp đổ khi máy chủ trung tâm bị lỗi hoặc 7 bị tấn công, kích thƣớc cơ sở dữ liệu và khả năng đáp ứng yêu cầu là có giới hạn trong phạm vi các máy tham gia mô hình mạng này. Discovery server data exchange Hình 1. 3 Mạn l v ỉ số ó tập trun Kiểu thứ hai là mạng lai ghép với chỉ số hóa phân tán, có một máy chủ trung tâm đăng kí đƣợc sử dụng cho cả hệ thống và tạo điều kiện để dễ dàng khám phá các node có trong mạng.
ó một vài node đƣợc xem là quan trọng hơn với các node còn lại (super node), làm nhiệm vụ bảo trì các chỉ số cho thông tin chia sẻ bởi tất cả các node mà đƣợc kết nối với nó và đƣợc ủy quyền từ máy chủ trung tâm để thực hiện tìm kiếm trong phạm vi các node đã có kết nối với super node. [2] data exchange Super node Super node Hình 1. 4 Mạn l v ỉ số p ân t n 1.2 Mạng P2P không có cấu trúc và có cấu trúc ựa vào cấu trúc liên kết giữa các nút mạng trong mạng P2P ta có thể phân loại thành 2 loại. [2] Mạng P2P không có cấu trúc là mạng trong đó các liên kết giữa các nút mạng đƣợc thiết lập một cách ngẫu nhiên, không theo một quy luật nào.
Mỗi 8 máy tính mới tham gia vào mạng rất dễ dàng, nhƣng khi tìm kiếm thông tin thì hệ thống này không thể đảm bảo thành công cao vì không có mối tƣơng quan nào giữa một node và dữ liệu của nó đang lƣu trữ. Mỗi lần một node cần thông tin, vì không có định hƣớng, nên yêu cầu sẽ đƣợc gửi ngẫu nhiên tới một số node trong mạng, số lƣợng node càng lớn, khả năng tìm thấy càng cao nhƣng sẽ làm tốn rất nhiều băng thông mạng. Napster, nutella, Fasttrack và e onkey2000 là những mạng đại diện cho kiểu P2P không có cấu trúc này. Mạng P2P có cấu trúc khắc phục đƣợc nhƣợc điểm của mạng P2P không có cấu trúc bằng cách sử dụng hệ thống HT ( istributed Hash Table – ảng băm phân tán).
Hệ thống định nghĩa liên kết giữa các nút mạng theo thuật toán cụ thể, xác định chặt chẽ mỗi node sẽ chịu trách nhiệm đối với phần dữ liệu chia sẻ trong mạng. Khi tìm kiếm và lấy thông tin, dữ liệu sẽ đƣợc nhanh chóng hiệu quả hơn khi đã có một định tuyến rõ ràng. hord, CAN, Kademlia, Pastry và Tapestry là các đại diện cho kiểu mạng P2P có cấu trúc này.3 Cơ chế tìm kiếm trong hệ thống mạng P2P ách tìm kiếm ở các thế hệ mạng P2P rất khác nhau, với cấu trúc tập trung ở thế hệ thứ nhất đến thế hệ thứ hai với cơ chế ngập lụt và cuối cùng là thế hệ thứ ba mới nhất dựa vào bảng băm phân tán. Tìm kiếm với chỉ số hóa tập trung và kho chứa đƣợc sử dụng trong mạng lai ghép, máy khách kết nối với máy chủ trung tâm để đƣợc định tuyến tới nơi mà máy khách yêu cầu có dữ liệu là tốt nhất và khi đó hai máy khách trực tiếp trao đổi với nhau mà không cần máy chủ.
[3] Làm ngập lụt các câu hỏi (Flooding broadcast of queries) đƣợc sử dụng trong mạng P2P thuần, để tìm kiếm thông tin cần, một node gửi thông tin tới tất cả các node mà nó kết nối, cứ nhƣ thế yêu cầu này đƣợc gửi đi cho đến khi nhận đƣợc trả lời từ node có chứa thông tin mà node yêu cầu cần. 9 Mô hình định tuyến dựa trên bảng băm phân tán (Routing model) là cách tìm kiếm tiên tiến nhất đƣợc sử dụng trong mạng P2P thuần. Mỗi tài nguyên sẽ băm tên và nội dung để tạo ra một I , sau đó sẽ đƣợc lƣu trữ ở một node mà có I gần với I của tài nguyên đó. Khi một node khác có yêu cầu, thì chỉ việc băm tên của tài nguyên đó và gửi thông tin đến tất cả các node hàng xóm trong bảng định tuyến của mình đến khi nhận đƣợc trả lời từ node đang lƣu giữ tài nguyên.4 Các ứng dụng của P2P ó rất nhiều các ứng dụng dựa trên nền tảng P2P, trong số đó tiêu biểu nhƣ: Giao tiếp (communication), chia sẻ file (file sharing), băng thông (bandwidth), không gian lƣu trữ (storage), các chu trình xử lý (processor cycles).
Hiện tại mạng chúng ta sử dụng đều dựa trên nền tảng P2P này, đó thực sự là một phát minh vĩ đại nhất của loài ngƣời.3 Giao thức Giao thức giao tiếp hay còn gọi là giao thức truyền thông, giao thức liên mạng, giao thức tƣơng tác, giao thức trao đổi thông tin (tiếng Anh là communication protocol) - trong công nghệ thông tin gọi tắt là giao thức (protocol), tuy nhiên, tránh nhầm với giao thức trong các ngành khác - là một tập hợp các quy tắc chuẩn dành cho việc biểu diễn dữ liệu, phát tín hiệu, chứng thực và phát hiện lỗi dữ liệu - những việc cần thiết để gửi thông tin qua các kênh truyền thông, nhờ đó mà các máy tính (và các thiết bị) có thể kết nối và trao đổi thông tin với nhau. ác giao thức truyền thông dành cho truyền thông tín hiệu số trong mạng máy tính có nhiều tính năng để đảm bảo việc trao đổi dữ liệu một cách đáng tin cậy qua một kênh truyền thông không hoàn hảo. ác giao thức có thể đƣợc thực hiện bằng phần cứng, phần mềm hoặc kết hợp cả hai.