Dùng một trình duyệt Internet bất kì, như FireFox, duyệt trang web có danh sách các tệp torrent, tải nó về, sau đó dùng chương trình BitTorrent client mở tệp đó ra. Sau khi đã mở tệp torrent, chương trình BitTorrent sẽ kết nối với máy theo dõi, máy theo dõi sẽ cung cấp cho nó một danh sách các máy tính đang tải tệp này. Một nhóm các thành viên của một mạng BitTorrent để tải về cùng một tệp được gọi là quần thể. Việc chia sẻ được bắt đầu từ máy gieo hạt. Các máy tính kết nối đầu tiên sẽ hướng trực tiếp tới máy gieo hạt để bắt đầu tải về các mảnh của tệp. Giao thức BitTorrent chia tệp cần tải về thành các phần nhỏ có kích thước bằng nhau, ví dụ một tệp có kích thước 4,37 GB thường sẽ bị chia thành các mảnh nhỏ có kích thước là 4 MB (4096 kB) hoặc nhỏ hơn nữa. Khi máy tính nhận được các mảnh này nó sẽ dùng giải thuật băm để kiểm tra xem mảnh nó tải về có bị lỗi hay không.
Khi máy tính kết nối vào quần thể, các máy tính sẽ bắt đầu chia sẻ tệp với nhau. Các máy tính sẽ chia sẻ các mảnh với nhau thay vì chia sẻ trực tiếp với máy gieo hạt, vì vậy số lượng máy trong quần thể chia sẻ theo giao thức BitTorrent có thể phát triển rất nhanh. Vì nguyên lý hoạt động của giao thức rất chặt chẽ nên các máy tự chọn máy ngang hàng có kết nối tốt nhất để tải về các mảnh nó cần. Một điểm mới đột phá của giao thức BitTorrent so với các giao thức P2P trước đó là nguyên lý “mảnh hiếm”. Theo giao thức BitTorrent máy khách luôn luôn yêu cầu các mảnh hiếm nhất, mảnh này ít máy tính trong quần thể có nhất. Với nguyên lý yêu cầu mảnh hiếm nhất giao thức BitTorrent làm giảm tải của các máy khách trong việc đáp ứng các yêu cầu gửi đến nó, và không còn hiện tượng thắt cổ chai.
Giao thức BitTorrent có một nguyên lý là “tín nhiệm mở” tạo nên “nhóm máy ưa thích”. Máy ưa thích là một tập các máy ngang hàng trong quần thể cung cấp băng thông tải lên lớn cho các máy khách có yêu cầu tải về. Tín nhiệm mở cho phép các chương trình BitTorrent kiểm tra định kỳ xem máy nào trong quần thể nên lựa chọn để tải về. Nếu một máy ngang hàng ngoài nhóm ưu thích có băng thông phục vụ các máy khác trong quần thể tốt hơn một máy trong nhóm ưa thích thì nó đẩy máy phục vụ kém hơn ra khỏi nhóm
ưa thích và thay thế vào vị trí đó. Nguyên lý này làm cho các máy khách luôn luôn tải về từ nhóm máy ngang hàng phục vụ tốt nhất.
KẾT LUẬN
Sau quá trình làm khóa luận, em đã rút ra được nhiều kiến thức bổ ích và nhiều bài học kinh nghiệm cho bản thân.
Về lý thuyết, em đã nắm vững được những khái niệm cơ bản trong an toàn dữ liệu: mã hóa dữ liệu, chữ ký điện tử, bảo mật dữ liệu. Tìm hiểu đề tài này giúp em hiểu rõ hơn về hệ thống mạng ngang hàng P2P: kiến trúc của hệ thống, một số dạng tấn công vào hệ thống, vấn đề chia sẻ dữ liệu giữa các nút trong mạng. Và quan trọng hơn, được nghiên cứu hai mô hình tin cậy sử dụng để đánh giá độ tin cậy của một nút trong mạng: 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. Nghiên cứu các hệ thống cộng tác sử dụng các mô hình tin cậy đó.
Phần cuối của khóa luận nghiên cứu về nền tảng mã nguồn mở PeerSim dùng để mô phỏng mạng ngang hàng và xây dựng trên nó các ứng dụng chạy trên nền P2P. Hiện nay, các ứng dụng được xây dựng trên nền tảng PeerSim đều chưa áp dụng các mô hình tin cậy nêu trong khóa luận này. Trong tương lai em sẽ phát triển một ứng dụng chạy trên nền P2P sử dụng nền tảng PeerSim và áp dụng một trong hai mô hình tin cậy đã được nghiên cứu.
Bên cạnh những lý thuyết đã nắm được, em còn học được những bài học vô cùng quý giá với bản thân để bổ sung vào kiến thức sống hàng ngày như: cách trình bày một báo cáo khoa học, cách ăn nói trước đám đông. Những bài học này sẽ là những kiến thức khởi nguồn của bước ngoạt cuộc đời trước khi em trở thành một con người của xã hội.
TÀI LIỆU THAM KHẢO
1. http://peersim.sourceforge.net/doc/index.html. 2. http://peersim.sourceforge.net.
3. http://en.wikipedia.org/wiki/Peer-to-peer.
4. Phan Đình Diệu, Giáo trình lý thuyết mật mã và an toàn thông tin, Nhà xuất bản Đại Học Quốc Gia Hà Nội.
5. Trịnh Nhật Tiến, Giáo trình an toàn dữ liệu, Đai học Công nghệ - Đại học Quốc Gia Hà Nội, 2008.
6. Phan Anh, Nguyễn Đình Nghĩa, Bài giảng tổng quan về mạng ngang hàng – Đại học Công Nghệ - Đại học Quốc Gia Hà Nội.
7. Quang Hieu Vu, Mihai Lupu, Beng Chin Ooi, Peer-to-Peer Computing: Principles and Applications.
8. D.Karger, F.Kaashoek, I. Stoica, R. Morris, H. Balakrishnan, Chord: a scalable peer-to-peer lookup service for internet applications, in Proceedings of the ACM SIGCOMM Conference, pp. 149-160, 2001.
9. S. Ratnasamy, P. Francis, M. Handley, R. Karp, S. Shenker, A scalable content- addressable network, in Proceedings of the ACM SIGCOMM Conference, pp. 161-172, 2001.
10. A. Rowstron, P. Druschel, Pastry: scalable, distributed object location and routing for largescale peer-to-peer systems, in Proceedings of the 18th IFIP/ACM International Conference of Distributed Systems Platforms (Middleware), pp. 329- 350, 2001.
11. H.V. Jagadish, B.C. Ooi, Q.H. Vu, BATON: a balanced tree structure for peer-to- peer networks, in Proceedings of the 31st International Conference on Very Large Databases (VLDB), pp. 661-672, 2005.
12. E. Sit, R. Morris, Security considerations for peer-to-peer distributed hash tables, in Proceedings of the 1st International Workshop on Peer-to-Peer Systems (IPTPS), pp. 261-269, Cambridge, MA, 2002.
13. B. Cooper, M. Bawa, N. Daswani, H. Garcia-Molina, Protecting the pipe from malicous peers. Technical report, Computer Sciences Dept, Stanford University, 2002.
14. N. Daswani, H. Garcia-Molina, Query-flood DoS attacks in Gnutella, in Proceedings of the 9th ACM Conference on Computer and Communications Security (CCS), pp. 181-192, Washington, DC, 2002.
15. P. Keyani, B. Larson, M. Senthil, Peer pressure: Distributed recovery from attacks in peer-to-peer systems. Lect. Notes Comput. Sci. 2376, 306-320 (2002).
16. Freenet, http://feenet.sourceforge.net
17. M. Waldman, L. Cranor, A. Rubin, Publius, in Peer-to-Peer: Harnessing the Power of Disruptive Technologies (O’Reilly & Associates, 2001), pp. 145-158. 18. OceanStore, http://oceanstore.cs.berkeley.edu/
19. F. Dabek, M.F. Kaashoek, D. Karger, R. Morris, I. Stoica, Wide-area cooperative storage with CFS, in Proceedings of the 18th ACM Symposium on Operating Systems Principles (SOSP), 2001.
20. P. Devanbu, M. Gertz, C. Martel, S.G. Stubblebine, Authentic data publication over the internet. J. Comput. Secur. 11(3), 291-314 (2003).
21. M. Lupu, J. Li, B.C. Ooi, S. Shi, Clustering wavelets to speed-up data dissemination in structured P2P MANETs, in Proceeding of the 23rd IEEE International Conference on Data Engineering (ICDE), 2007.
22. R. Housley, W. Ford, W. Polk, D. Solo, Internet x.509 public key infrastructure certificate and cr1 profile, in RFC 2459, 1999.
23. H. Weatherspoon, J. Kubiatowicz, Naming and integrity: self-verifying data in peer-to-peer systems, in Proceedings of the International Workshop on Future Directions in Distributed Computing (FuDiCo), pp. 142-147, 2003.
24. H. Weatherpoon, J. Kubiatowicz, Erasure coding vs. replication: a quantitative comparison, in Proceedings of the 1st International Workshop on Peer-to-Peer Systems (IPTPS), March 2002.
25. SETI@home, http://setiathome.ss1.berkeley.edu/
26. D. Carroll, C. Rahmlow, T. Psiaki, G. Wojtaszczyk, Distributing science. http://boinc.berkeley.edu/trac/wiki/BoincPapers, 2005.
27. Folding@home, http://folding.stanford.edu
28. W. Du, J. Jia, M. Mangal, M. Murugesan, Uncheatable grid computing, in Proceedings of the 24th International Conference on Distributed Computing Systems (ICDCS), pp. 4-11, Tokyo, Japan, March 2004.
29. M. Feldman, K. Lai, J. Chuang, I. Stoica, Quantifying disincentives in peer-to- peer networks, in Proceedings of the 1st Workshop on Economics of Peer-to-Peer Systems (P2PEcon), Berkeley, CA, June 2003.
30. G. Hardin, The tragedy of the commons. Science 162, 1234-1248 (1986). 31. R. Axelrod, The Evolution of Cooperation (Basic Books, New York, 1984).
32. M.A. Nowak, K. Sigmund, Evolution of indirect reciprocity by image scoring. Nature 393, 573-577 (1998).
33. J. Feigenbaum, C. Papadimitriou, R. Sami, S. Shenker, A BGP-based mechanism for lowest-cost routing, in Proceedings of the 21st ACM Symposium on Principles of Distributed Computing (PODC), pp. 173-182, 2002.
34. J. Feigenbaum, C. Papadimitriou, S. Shenker, Sharing the cost of multicast transmmissions. J. Comput. Syst. Sci. 63, 21-41 (2001).
35. T.-W. Ngan, D. Wallach, P. Druschel, Enforcing fair sharing of peer-to-peer resources, in Proceedings of the 2nd International Workshop on Peer-to-Peer Systems (IPTPS), Berkeley, CA, USA, 2003.
36. Q. Sun, H. Garcia-Molina, SLIC: a selfish link-based incentive mechanism for unstructured peer-to-peer networks, in Proceedings of the 24th International Conference on Distributed Computing Systems (ICDCS), pp. 506-515, Tokyo, Japan, March 2004.
37. T.E. Condie, S.D. Kamvar, H. Garcia-Molina, Adaptive peer-to-peer Computing, August 2004.
38. K. Berket, A. Essiari, A. Muratas, PKI-based security for peer-to-peer information sharing, in Proceedings of the 4th IEEE International Conference on Peer-to-Peer Computing, August 2004.
39. D.A. Agarwal, O. Chevassut, M.R. Thompson, G. Tsudik, An integrated solution for secure group communication in wide-area networks, in Proceedings of the 6th IEEE Symposium on Computers and Communications, pp. 22-28, Hammamet, Tunisia, July 2001.
40. The TLS Protocol Version 1.0. IETF RFC 2246. http:/www.ietf.org/rfc/rfc2246.txt.
41. M.R. Thompson, A. Essiari, S. Mudumbai, Certificate-based authorization policy in a PKI environment. ACM Trans. Inf. Syst. Secur. 6(4), 566-588 (2003).
42. M. Deutsch, Cooperation and trust: some theoretical notes, in Nebraska Symposium on Motivation, 1962.
43. M. Deutsch, The Resolution of Conflict (Yale University Press, New Haven, 1973).
44. N. Luhmann, Trust and Power (Wiley, Chichester, 1979).
45. B. Barber, Logic and Limits of Trust (Rutgers University Press, New Jersey, 1983).
46. D. Gambetta, Trust (Blackwell, Oxford, 1990).
47. M. Deutsch, The Resolution of Conflict (Yale University Press, New Haven, 1973).
48. K. Aberer, Z. Despotovic, Managing trust in a peer-2-peer information system, in Proceedings of the 10th ACM International Conference on Information and Knowledge Management (CIKM), 2001.
49. International Telegraph and Telephone Consultative Committee (CCITT). The Directory Authentication Framework, Recommendation X. 509. 1993 update.
50. M. Blaze, J.Feigenbaum, Decentralized trust management, in Proceedings of the IEEE Symposium on Security and Privacy (S&P), 1996.
51. Y.-H. Chu, J. Feigenbaum, B. LaMacchia, P. Resick, M. Strauss, REREREE: trust management for web applications. Comput. Netw. ISDN Syst. 29(8-13), 953-964 (1997).
52. M. Blaze, J. Feigenbaum, J. Ioannidis, A. Keromytis, The KeyNote trust management system, version 2. RFC-2704. IETF, 1999.
53. P. Zimmermann, PGP User’s Guide (MIT Press, Cambridge, 1994).
54. J. Sabater, C. Sierra, Regret: a reputation model for gregarious societies, in Proceedings of the 4th Workshop on Deception, Fraud and Trust in Agetn Societies, 2001.
55. J. Pujol, R. Sanguesa, Extracting reputation in multi agent systems by means of social network topology, in Proceedings of the 1st International Joint Conference on Autonomous Agents and Multi-Agent Systems (AAMAS), 2002.
56. K. Aberer, P-Grid: a self-organizing access structure for P2P information systems, in Proceedings of the 9th International Conference on Cooperative Information Systems (CoopIS), 2001.
57. S. Kamvar, M. Schlosser, H. Garcia-Molina, Eigenrep: reputation management in P2P networks, in Proceedings of the 12th World Wide Web Conference (WWW), 2003.
58. K. Aberer, Z. Despotovic, Managing trust in a peer-2-peer information system, in Proceedings of the 10th ACM International Conference on Information and Knowledge Management (CIKM), 2001.