Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 69 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
69
Dung lượng
1,16 MB
Nội dung
Luận văn tốt nghiệp Vũ Đình Minh BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - VŨ ĐÌNH MINH VŨ ĐÌNH MINH ỨNG DỤNG PHÂN TÁN DỰA TRÊN MÔ HÌNH LOCAL PROXY CHO THÔNG TIN DẠNG NHỊ PHÂN 2012B CÔNG NGHỆ THÔNG TIN LUẬN VĂN THẠC SỸ KỸ THUẬT NGÀNH: CÔNG NGHỆ THÔNG TIN Hà Nội – Năm 2014 Luận văn tốt nghiệp Vũ Đình Minh BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VŨ ĐÌNH MINH ỨNG DỤNG PHÂN TÁN DỰA TRÊN MÔ HÌNH LOCAL PROXY CHO THÔNG TIN DẠNG NHỊ PHÂN Chuyên ngành : Công nghệ thông tin LUẬN VĂN THẠC SĨ KỸ THUẬT Ngành: Công nghệ thông tin NGƢỜI HƢỚNG DẪN KHOA HỌC : PGS.TS Hà Quốc Trung Hà Nội – Năm 2014 Luận văn tốt nghiệp Vũ Đình Minh MỤC LỤC MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN DANH MỤC THUẬT NGỮ DANH MỤC HÌNH VẼ DANH MỤC BẢNG BIỂU CHƢƠNG 1: GIỚI THIỆU CHƢƠNG LOCAL PROXY 11 2.1 MÔ HÌNH CLIENT-SERVER 11 2.1.1 Khái niệm 11 2.1.2 Đặc điểm mô hình Client-Server 16 2.1.3 Kiến trúc Client-Server 17 2.1.4 Ƣu nhƣợc điểm mô hình Client-Server 21 2.2 MÔ HÌNH PEER TO PEER 23 2.2.1 Khái niệm 23 2.2.2 Đặc điểm mô hình Peer to Peer 24 2.2.3 Phân loại mạng Peer to Peer 24 2.2.4 Ƣu nhƣợc điểm mạng Peer to Peer 26 2.3 MÔ HÌNH LOCAL PROXY 27 2.3.1 Sự kết hợp Client-Server Peer to Peer 27 Luận văn tốt nghiệp Vũ Đình Minh 2.3.2 Mô hình Local Proxy 31 CHƢƠNG DỊCH VỤ CHIA SẺ FILE THEO YÊU CẦU 34 3.1 TỔNG QUAN VỀ FILE SHARING 34 3.1.1 Khái niệm 34 3.1.2.Phân loại hệ thống chia sẻ tập tin 35 3.1.3 Kiến trúc hoạt động file sharing 36 3.2 HỆ THỐNG CHIA SẺ FILE SỬ DỤNG GIAO THỨC FTP 38 3.2.1 Kênh điều khiển kênh liệu FTP 39 3.2.2 Các tiến trình FTP 39 3.2.3 Thiết lập kênh điều khiển chứng thực ngƣời dùng FTP 41 3.2.4 Quản lý kênh liệu FTP, kết nối kênh liệu dạng chủ động (mặc định) bị động với việc sử dụng cổng 43 3.2.5 Các phƣơng thức truyền liệu FTP 47 CHƢƠNG ỨNG DỤNG FILE SHARING THEO MÔ HÌNH LOCAL PROXY 49 4.1 THIẾT KẾ HỆ THỐNG 49 4.1.1 Phân tích hệ thống 49 4.1.2 Các chức cần thiết hệ thống 50 4.2 THIẾT KẾ CHI TIẾT CHỨC NĂNG CỦA HỆ THỐNG 53 4.2.2 Đăng nhập 55 4.2.3 Quản lý danh sách tài liệu cá nhân 57 4.2.4 Tải tài liệu lên hệ thống 58 4.2.5 Tải tài liệu từ hệ thống 59 CHƢƠNG CÀI ĐẶT VÀ THỬ NGHIỆM 61 Luận văn tốt nghiệp Vũ Đình Minh 5.1 CÔNG CỤ LẬP TRÌNH SỬ DỤNG TRONG HỆ THỐNG 61 5.2 GIAO DIỆN CHƢƠNG TRÌNH 61 5.2.1 Form login 62 5.2.2 Form quản lý chia sẻ file 63 5.3 SO SÁNH VÀ ĐÁNH GIÁ 64 5.3.1 Các chức hệ thống 64 5.3.2 So sánh khả hệ thống 64 KẾT LUẬN 65 TÀI LIỆU THAM KHẢO 66 Luận văn tốt nghiệp Vũ Đình Minh LỜI CAM ĐOAN Tôi Vũ Đình Minh, học viên cao học lớp 12BCNTT khóa 2010 - 2012 Thầy giáo hƣớng dẫn PGS.TS Hà Quốc Trung Tôi xin cam đoan toàn nội dung đƣợc trình bày luận văn “Ứng dụng phân tán dựa mô hình local proxy cho thông tin dạng nhị phân”này kết tìm hiểu nghiên cứu riêng dƣới hƣớng dẫn PGS.TS Hà Quốc Trung Các kết liệu đƣợc nêu luận văn hoàn toàn trung thực rõ ràng Mọi thông tin trích dẫn đƣợc tuân theo luật sở hữu trí tuệ, liệt kê rõ ràng tài liệu tham khảo Tôi xin chịu hoàn toàn trách nhiệm với nội dung đƣợc viết luận văn Hà Nội, ngày 18 tháng09 năm 2014 Học viên Vũ Đình Minh Luận văn tốt nghiệp Vũ Đình Minh LỜI CẢM ƠN Trước hết xin gửi lời cám ơn sâu sắc tới PGS.TS Hà Quốc Trung, người trực tiếp dành nhiều thời gian tận tình hướng dẫn, cung cấp thông tin quý báu giúp đỡ hoàn thành luận văn Tôi xin gửi lời cám ơn chân thành tới quý thầy cô viện Công nghệ thông tin truyền thông, viện Đào tạo sau đại học truyền dạy kiến thức quý báu khoá học Tôi xin chân thành cảm ơn Ban lãnh đạo Thư viên, Trung tâm mạng thông tin – Trường Đại học Bách khoa Hà Nội, nơi công tác tạo điều kiện động viên khích lệ để hoàn thành luận văn Cuối cùng, xin gửi lời cám ơn tới gia đình, bạn bè đồng nghiệp, người cổ vũ động viên hoàn thiện luận văn Hà Nội, ngày 18/09/2014 Học viên Vũ Đình Minh Luận văn tốt nghiệp Vũ Đình Minh DANH MỤC THUẬT NGỮ Tiếng Anh Tiếng Việt Peer-to-Peer Mạng ngang hàng Peer Đồng đẳng mạng ngang hàng Node Một thiết bị nối mạng Overlay Mạng đƣợc xây dựng mạng khác Hash table Bảng băm Distributed hash table Bảng băm phân tán Join Gia nhập mạng Leave Rời khỏi mạng Search Tìm kiếm mạng Download Tải file từ hệ thống Upload Tải file lên hệ thống Luận văn tốt nghiệp Vũ Đình Minh DANH MỤC HÌNH VẼ Hinh 2.1 Mô hình Client-Server 12 Hinh 2.2 Mô hình giao tiếp client server 14 Hinh 2.3 Chế độ bị phong tỏa 15 Hinh 2.4 Chế độ không bị phong tỏa 16 Hinh 2.5 Kiến trúc logic mô hình Client-Server 18 Hinh 2.6 Mô hình tầng 19 Hinh 2.7 Mô hình tầng 20 Hinh 2.8 Mô hình n tầng 21 Hinh 2.9 Mô hình mạng P2P 23 Hinh 2.10 Mô hình mạng Napster 28 Hinh 2.11 Mô hình mạng Gnutella 29 Hinh 2.12 Mô hình Local Proxy 32 Hinh 3.1 Kiến trúc hoạt động File sharing 38 Hinh 3.2 Tiến trình FTP 40 Hinh 3.3 Kết nối kênh liệu dạng chủ động 45 Hinh 3.4 Kết nối kênh liệu dạng bị động 46 Hinh 4.1 Mô hình Local Proxy 50 Hinh 4.2 Đăng ký tài khoản 53 Hinh 4.3 Đăng nhập 55 Hinh 4.4 Quản lý danh sách file 57 Hinh 4.5 Tải file lên hệ thống 58 Hinh 4.6 Tải file client 59 Hinh 5.1 Giao diện form đăng nhập 62 Hinh 5.2 Giao diện form quản lý file 63 Luận văn tốt nghiệp Vũ Đình Minh DANH MỤC BẢNG BIỂU Bảng 1.Các chức hệ thống File Sharing 51 Bảng Bảng mô tả chức đăng ký tài khoản 54 Bảng Bảng mô tả chức đăng nhập 56 Bảng 4.4.Bảng mô tả chức quản lý file 57 Bảng 4.5 Bảng mô tả chức tải file lên hệ thống 58 Bảng 4.6 Bảng mô tả chức tải file client 60 Bảng 5.1 So sánh chức Client-Server Local Proxy 64 Bảng 5.2 So sánh khả Client-Server Local Proxy 64 Luận văn tốt nghiệp 4.2 Vũ Đình Minh THIẾT KẾ CHI TIẾT CHỨC NĂNG CỦA HỆ THỐNG Local proxy Client 4.2.1 Đăng ký tài khoản Bắt đầu Nhập thông tin đăng ký Kiểm tra file .txt có tồn local Trả lại thông báo cho client Yes Thông báo tài khoản đƣợc đăng ký Thông báo đăng ký thành công tài khoản, upload liệu vào P2P No Sử dụng hàm băm tên file, sau gửi yêu cầu tìm kiếm vào P2P Kiểm tra file .txt có tồn P2P Lƣu thông tin đăng ký P2P Yes P2P Agent No Hinh 4.2 Đăng ký tài khoản 53 Luận văn tốt nghiệp Vũ Đình Minh Quy trình đăng ký đƣợc thực nhƣ sau: Bước Mô tả Ngƣời sử dụng nhập thông tin đăng ký client, client gửi yêu cầu tới local proxy Local proxy kiểm tra máy xem ngƣời dùng đăng ký hay chƣa thông qua thao tác search file tài khoản ngƣời dùng theo định dạng - Nếu có trả lại kết ngƣời dùng đăng ký cho client kết thúc - Nếu không có, local proxy băm tên file gửi thông tin tìm kiếm qua P2P agent P2P Agent tìm kiếm thông tin ngƣời dùng mạng P2P thông qua thao tác search filename trả lại kết cho local proxy - Nếu kết tìm kiếm có local proxy thông báo ngƣời dùng đăng ký với client - Nếu kết tìm kiếm local proxy lƣu liệu đăng ký ngƣời dùng thành file trả thông báo đăng ký thành công tài khoản cho client Local proxy sau tiến hành lƣu thông tin đăng ký ngƣời dùng vào mạng P2P Bảng Bảng mô tả chức đăng ký tài khoản 54 Luận văn tốt nghiệp Vũ Đình Minh Client 4.2.2 Đăng nhập Bắt đầu Nhập thông tin đăng nhập Trả lại thông báo cho client Yes Local proxy Kiểm tra file .txt có tồn local Đọc file, kiểm tra file .txt Yes Thông báo đăng nhập thành công No No Thông báo sai mật P2P Agent Thông báo không tồn tài khoản Kiểm tra file .txt có tồn local Yes No Hinh 4.3 Đăng nhập 55 Luận văn tốt nghiệp Vũ Đình Minh Quy trình đăng nhập đƣợc thực tƣơng tự nhƣ sau: Bước Mô tả Ngƣời sử dụng nhập thông tin đăng nhập client, client gửi yêu cầu tới local proxy Local proxy kiểm tra máy xem ngƣời dùng đăng ký hay chƣa - Nếu có kiểm tra nội dung file .txt xem mật có xác Nếu trả lại thông báo đăng nhập thành công Nếu sai, trả lại thông báo đăng nhập thất bại mật không xác - Nếu không có, local proxy băm tên file gửi thông tin tìm kiếm qua P2P agent P2P Agent tìm kiếm thông tin ngƣời dùng mạng P2P thông qua thao tác search filename trả lại kết cho local proxy - Nếu kết tìm kiếm có local proxy kiểm tra nội dung file .txt xem mật có xác Nếu xác thông báo đăng nhập thành công, sai thông báo mật không xác - Nếu kết tìm kiếm local proxy thông báo không tồn tài khoản Bảng Bảng mô tả chức đăng nhập 56 Luận văn tốt nghiệp Vũ Đình Minh Client 4.2.3 Quản lý danh sách tài liệu cá nhân Đăng nhập Tạo cấu trúc thƣ mục tài liệu cá nhân Lấy danh sách tài liệu cá nhân file .txt Hinh 4.4 Quản lý danh sách file Quy trình quản lý tài liệu cá nhân: Bước Mô tả Ngƣời sử dụng đăng nhậpvào hệ thống tải file liệu .txt Client đọc file liệu .txt tạo thƣ mục danh sách tên tài liệu nằm thƣ mục cá nhân Mỗi lần có thay đổi thông tin liên quan đến liệu cấu trúc thƣ mục, Client cập nhật lại nội dung file .txt thông qua Local Proxy gửi vào hệ thống P2P Bảng 4.4.Bảng mô tả chức quản lý file 57 Luận văn tốt nghiệp Vũ Đình Minh Đăng nhập Local proxy Client 4.2.4 Tải tài liệu lên hệ thống Nhập thao tác gửi file Client cập nhật lại danh sách tài liệu P2P Agent Băm file hàm băm, lƣu thông tin Local gửi vào hệ thống P2P Agent Nhận thông tin phân bổ thông tin cho node mạng Hinh 4.5 Tải file lên hệ thống Qui trình tải file lên hệ thống: Bước Mô tả Ngƣời sử dụng đăng nhậpvào hệ thống thực thao tác chia sẻ file Hệ thống Local Proxy nhận yêu cầu chia sẻ file, xử lý thông tin liên quan đến file cách băm nội dung tên file, lƣu trữ nội dung liên quan đến file thực việc gửi file vào hệ thống File Sharing Hệ thống P2P Agent nhận yêu cầu từ Local Proxy thực việc phân bổ cặp tới node thích hợp để lƣu trữ Client cập nhật lại danh sách tài liệu chia sẻ cá nhân Bảng 4.5 Bảng mô tả chức tải file lên hệ thống 58 Luận văn tốt nghiệp Vũ Đình Minh Client 4.2.5 Tải tài liệu từ hệ thống Đăng nhập Yes Local proxy Hiển thị tài liệu cho ngƣời dùng Thực thao tác yêu cầu file Kiểm tra file có tồn local Thông báo không tồn Gửi yêu cầu đến node lƣu trữ file No Kiểm tra file có tồn P2P Trả thông tin cho Client No P2P Agent Yes Hinh 4.6 Tải file client 59 Luận văn tốt nghiệp Vũ Đình Minh Qui trình tải tài liệu từ hệ thống File Sharing Bước Mô tả Ngƣời sử dụng đăng nhậpvào hệ thống thực thao tác yêu cầu file từ hệ thống Hệ thống Local Proxy nhận yêu cầu chia sẻ file, xử lý thông tin liên quan đến file cách băm nội dung tên file, thực tìm kiếm xem có tồn thông tin liên quan đến tài liệu đƣợc yêu cầu hay không - Nếu kết tìm kiếm có local proxy thực việc gửi yêu cầu tải file trực tiếp đến node lƣu trữ file - Nếu kết tìm kiếm local proxy gửi yêu cầu tìm kiếm file vào hệ thống P2P Agent chờ đợi kết từ hệ thống Hệ thống P2P Agent nhận yêu cầu từ Local Proxy thực tìm kiếm thông tin liên quan đến file - Nếu kết tìm kiếm có P2P Agent trả lại địa nơi lƣu trữ file để Local Proxy thực việc gửi yêu cầu trực tiếp liệu - Nếu kết tìm kiếm P2P Agen thông báo cho Local Proxy thông tin liên quan đến file Trong trƣờng hợp tìm thấy file, Local Proxy gửi yêu cầu trực tiếp tải file đến node lƣu trữ thực giao thức tảifile nhƣ mô hình Client-Server Trong trƣờng hợp không tìm thấy, Local Proxy trả lại cho Client thông báo không tìm thấy file Bảng 4.6 Bảng mô tả chức tải file client 60 Luận văn tốt nghiệp Vũ Đình Minh CHƯƠNG CÀI ĐẶT VÀ THỬ NGHIỆM Trong chƣơng này, luận văn trình bày nội dung sau: Công cụ để xây dựng hệ thống Giao diện hệ thống quản lý chia sẻ File So sánh đánh giá hệ thống 5.1 CÔNG CỤ LẬP TRÌNH SỬ DỤNG TRONG HỆ THỐNG - Chƣơng trình sử dụng ngôn ngữ Java với IDE Netbean - API sử dụng chƣơng trình để xác định vị trí file máy hệ thống là: Kademlia 5.2 GIAO DIỆN CHƯƠNG TRÌNH 61 Luận văn tốt nghiệp Vũ Đình Minh 5.2.1 Form login Hinh 5.1 Giao diện form đăng nhập 62 Luận văn tốt nghiệp Vũ Đình Minh 5.2.2 Form quản lý chia sẻ file Hinh 5.2 Giao diện form quản lý file 63 Luận văn tốt nghiệp 5.3 Vũ Đình Minh SO SÁNH VÀ ĐÁNH GIÁ 5.3.1 Các chức hệ thống CHỨC NĂNG CLIENT-SERVER LOCAL PROXY ĐĂNG KÝ ĐĂNG NHẬP QUẢN LÝ FILE UPLOAD FILE SEARCH FILE DOWNLOAD FILE ĐĂNG XUẤT X Bảng 5.1 So sánh chức Client-Server Local Proxy Nhìn bảng so sánh phía trên, ta thấy hầu hết chức hệ thống File Sharing thiết kế theo mô hình Client-Server đƣợc chuyển đổi sang mô hình Local Proxy Riêng chức đăng xuất, theo ý kiến cá nhân tác giả chƣa cần thiết có thiết kế phức tạp nên tạm thời luận văn chƣa đƣa vào chức 5.3.2 So sánh khả hệ thống KHẢ NĂNG CLIENT-SERVER LOCAL PROXY TÍNH SẴN SÀNG KHÔNG PHỤ THUỘC VÀO SERVER X TÍNH MỞ RỘNG X TÍNH BẢO MẬT X Bảng 5.2 So sánh khả Client-Server Local Proxy Tính sẵn sàng: Cả hai hệ thống đảm bảo việc cung cấp file cho client Sự phụ thuộc vào Server: Hệ thống đƣợc thiết kế theo mô hình Client-Server trƣờng hợp Server không kết nối đƣợc vào mạng khiến cho hệ thống không hoạt động đƣợc Còn với hệ thống Local Proxy, trƣờng hợp 64 Luận văn tốt nghiệp Vũ Đình Minh BootStrap Node không kết nối đƣợc vào mạng máy hệ thống khác hoạt động bình thƣờng Tính mở rộng: Đối với hệ thống đƣợc thiết kế theo mô hình Client-Server, số lƣợng Client tăng lên, Server cần phải tăng khả phần cứng nhằm đáp ứng yêu cầu liệu Hơn nữa, việc Client kết nối đến Server khiến cho chất lƣợng dịch vụ, tốc độ download nhƣ upload giảm Còn với hệ thống đƣợc thiết kế theo mô hình Local Proxy, việc có nhiều máy tham gia vào hệ thống giúp cho hệ thống trở nên hoạt động tốt hơn, chất lƣợng dịch vụ tăng lên Tính bảo mật: Việc lƣu trữ tập trung giúp cho giải pháp bảo vệ liệu hệ thống thiết kế theo mô hình Client-Server trở nên dễ dàng Đối với hệ thống thiết kế theo mô hình Local Proxy, việc file đƣợc lƣu trực tiếp Client khiến cho vấn đề bảo mật trở nên phức tạp Đây vấn đề quan trọng cần tiếp tục nghiên cứu để hoàn thiện hệ thống KẾT LUẬN Sau tóm tắt lý thuyêt tổng quan hai mô hình hệ thống phân tán mô hình client-server mô hình peer to peer, luận văn đánh giá, phân tích ƣu nhƣợc điểm mô hình Tiếp theo, luận văn đƣa ý tƣởng xây dựng mô hình để tận dụng đƣợc ƣu điểm mô hình Từ đó, sở lý thuyết, luận văn áp dụng thiết kế vào toán quản lý chia sẻ file hệ thống Trong mô hình thực nghiệm, chƣơng trình đạt đƣợc kết quả, cung cấp chức nhƣ: đăng ký, đăng nhập, quản lý file, upload download file Hƣớng phát triển đề tài việc bảo mật liệu hệ thống Tuy nhiên, cố gắng nhƣng hiểu biết hạn hẹp nên luận văn không tránh khỏi nhiều thiếu sót.Rất mong đƣợc tiếp nhận đóng góp ý kiến quý thầy, cô bạn đọc để luận văn đƣợc hoàn thiện, áp dụng vào thực tế 65 Luận văn tốt nghiệp Vũ Đình Minh TÀI LIỆU THAM KHẢO [1] Coulouris, G., Dollimore, J., Kindberg, T., & Blair, G (2011) Distributed Systems: Concepts and Design Addison Wesley [2] Dale, C & Liu, J (2009) apt-p2p: A Peer-to-Peer Distribution System for Software Package Releases and Updates INFOCOM 2009, 864-872 [3] Dale, Cameron, Liu, Jiangchuan, 2009 A peer to peer distribution system for software package releases and updates [4] Ha Quoc Trung Distributed software distribution solution using p2p Journal of Science Technology, Technical Universities, (ISSN 0868-3980), (78):6–10, 2010 [5] Ha Quoc Trung New approach to develop the messenger application: From clientserver design to p2p implementation In Proceedings of International Conference of Advanced Computer Science Information Technology (ACSIT-2012), 2012 [6] Lua, E K., Crowcroft, J., Pias, M., Sharma, R., Lim, S., & Lim, S (2005) A Survey and Comparison of Peer-to-Peer Overlay Network Schemes Communications Surveys & Tutorials, IEEE, 72 93 [7] Luong Quy Tho, Ha Quoc Trung, 2013 P2P shared-caching model: using P2P to improve client-server application performance [8] Nguyen Quang Thu Study of distributed replication: design a messenger application using local proxy model Master’s thesis, Hanoi University of Science and Technology, 2013 [9] S A Baset, H G Schulzrinne, 2006 An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol INFOCOM 2006 [10] Tan Jin, Yu Sheng-sheng, and Zhou Jing-li Design and implementation of a proxy caching system for streaming media Wuhan University Journal of Natural Sciences, 9:31–36, 2004 10.1007/BF02912713 66 Luận văn tốt nghiệp Vũ Đình Minh [11] Tanenbaum, A.S & Steen, M.v.(2006) Distributed Systems: Principles and Paradigms (2nd Edition) Prentice Hall [12] http://www.webdrive.com/docs/geninfo/wpftpbasics.pdf [13] http://www.oacs.umd.edu/Guide_to_FTP.pdf [14] http://www.colorado.edu/geography/foote/maps/notes/FTP.pdf 67 ... VŨ ĐÌNH MINH ỨNG DỤNG PHÂN TÁN DỰA TRÊN MÔ HÌNH LOCAL PROXY CHO THÔNG TIN DẠNG NHỊ PHÂN Chuyên ngành : Công nghệ thông tin LUẬN VĂN THẠC SĨ KỸ THUẬT Ngành: Công nghệ thông tin NGƢỜI HƢỚNG... tăng hiệu tính co giãn hệ thống Đề tài Ứng dụng phân tán dựa mô hình local proxy cho thông tin dạng nhị phân trình bày giải pháp chuyển đổi việc cài đặt ứng dụng ClientServer sang Peer to Peer... Client-Server mô hình Peer to Peer Đề xuất mô hình Local Proxy MÔ HÌNH CLIENT-SERVER 2.1.1 Khái niệm Mô hình Client-Server mô hình tiếng mạng máy tính, đƣợc áp dụng rộng rãi mô hình trang Web có Ý tƣởng mô