Tiểu luận Đề tài Ứng dụng DHT vào BitTorrent Nhóm 02 i LỜI NÓI ĐẦU Các ứng dụng mạng đa dạng là lý do tồn tại của Internet Từ khi Internet ra đời, đã có rất nhiều giao thức được thiết kế để hỗ trợ sự[.]
Tiểu luận Đề tài: Ứng dụng DHT vào BitTorrent LỜI NÓI ĐẦU Các ứng dụng mạng đa dạng lý tồn Internet Từ Internet đời, có nhiều giao thức thiết kế để hỗ trợ phát triển kiến tạo ứng dụng mạng Những ứng dụng dựa ký tự e-mail thuần, truy nhập máy tính từ xa, truyền tệp chát ký tự trở thành thông dụng từ thập kỷ 1970 Từ thập kỷ 1990 ứng dụng điển hình WWW (World Wide Web), tìm kiếm thương mại điện tử Tiếp đến ứng dụng nhắn tin tức thời với danh sách lưu sẵn chia sẻ tệp P2P Trong đó, để khám phá ngang hàng P2P giao thức BitTorrent phần thiết yếu Cách tải xuống diễn nhanh chóng vậy: Bạn kết nối với nhiều người người số họ tải lên phần nhỏ tệp cho bạn Hiện tượng tạo cách phổ biến để tải xuống chia sẻ thông tin internet, hợp pháp bất hợp pháp Bất kể ảnh hưởng tài sản trí tuệ, để mơ tả điều: Tồn quy trình khám phá ngang hàng BitTorrent DHT thực hoạt động Bạn biết chút (hoặc nhiều) chế này, chắn bạn đủ tị mị muốn biết thuật ngữ DHT có nghĩa gì? Vì vậy, nhóm em làm tiểu luận với chủ đề tìm hiểu “Ứng dụng DHT BitTorrent” với mục đích tìm hiểu kĩ truyền đạt đến người điều nhóm em tìm hiểu Hà Nội, ngày 08 tháng 11 năm 2021 T/M nhóm tiểu luận Ký tên Nhóm 02 i Tiểu luận Đề tài: Ứng dụng DHT vào BitTorrent MỤC LỤC LỜI NÓI ĐẦU i MỤC LỤC ii DANH MỤC HÌNH VẼ iii THUẬT NGỮ VIẾT TẮT iii GIỚI THIỆU CHUNG GIAO THỨC BITTORRENT 2.1 Lịch sử BitTorrent 2.2 BitTorrent 2.3 Hoạt động BitTorrent 3 BẢNG HÀM BĂM BẢNG BĂM PHÂN TÁN (DHT) ỨNG DỤNG DHT TRONG BITTORRENT 10 5.1 BitTorrent sử dụng Kademlia DHT để tạo lập theo dõi phân tán 11 5.2 Giao thức BitTorrent mở rộng để trao đổi số cổng UDP nút đồng nghiệp giới thiệu trình theo dõi 11 5.3 Khóa- key: định danh torrent giá trị-value: địa IP tất peer tham gia torrent 12 5.4 Peer gia nhập: truy vấn định danh torrent, xác định peer chịu trách nhiệm theo dõi 12 KẾT LUẬN 13 TÀI LIỆU THAM KHẢO 13 Nhóm 02 ii Tiểu luận Đề tài: Ứng dụng DHT vào BitTorrent DANH MỤC CÁC HÌNH VẼ Hình 1: Trao đổi tập tin máy tính với Hình 2: Mơ hình kết nối client-server Hình 3: Kết nối peer-to-peer Hình 4: Mơ hình hoạt động bảng hàm băm Hình 5: Các bảng hàm băm phân tán Hình 6: Giao diện DHT uTorrent Stable 10 THUẬT NGỮ VIẾT TẮT Ký hiệu Nghĩa Tiếng Anh Nghĩa Tiếng Việt DHT Distributed Hash Table Bảng hàng băm phân tán P2P Peer to Peer Mạng ngang hàng ID Identification Nhận dạng IP Internet Protocol Giao thức liên mạng HID Human Interface Device Thiết bị giao diện người UDP User Datagram Protocol Giao thức truyền hướng không kết nối DHT Distributed Hash Table Bảng hàng băm phân tán P2P Peer to Peer Mạng ngang hàng ID Identification Nhận dạng IP Internet Protocol Giao thức liên mạng HID Human Interface Device Thiết bị giao diện người UDP User Datagram Protocol Giao thức truyền hướng không kết nối DHT Distributed Hash Table Bảng hàng băm phân tán P2P Peer to Peer Mạng ngang hàng ID Identification Nhận dạng Nhóm 02 iii Tiểu luận Đề tài: Ứng dụng DHT vào BitTorrent GIỚI THIỆU CHUNG Bảng hàng băm phân tán (tiếng Anh: distributed hash table, viết tắt DHT) lớp hệ thống phân tán không tập trung, cung cấp dịch vụ tra cứu tương tự bảng băm: cặp (khóa, giá trị) lưu trữ DHT, nút mạng tham gia lấy giá trị liên kết với khóa cho trước cách hiệu Nhiệm vụ lưu trữ ánh xạ từ khóa tới giá trị phân tán nút, cách giảm bớt lỗi có thay đổi tập hợp nút tham gia Điều cho phép sử dụng DHT cho số lượng cực lớn nút mạng xử lý việc vào, ra, lỗi nút mạng cách liên tục DHT tạo nên sở hạ tầng cho việc xây dựng dịch vụ phức tạp hơn, chẳng hạn hệ thống file phân tán, chia sẻ file mạng đồng đẳng, hệ thống phân phối nội dung (content distribution), web cache có tính hợp tác, multicast, anycast, dịch vụ tên miền instant messaging Các mạng phân tán tiếng sử dụng DHT bao gồm máy theo dõi phân tán BitTorrent, mạng eDonkey, mạng bot Storm, YaCy, Coral Content Distribution Network GIAO THỨC BITTORRENT 2.1 Lịch sử BitTorrent BitTorrent chương trình ngang hàng phổ biến từ trước đến Phân tích cho thấy chiếm khoảng 35% tổng lưu lượng truy cập Internet Làm mà trở nên phổ biến vậy, điều khiến trở nên đặc biệt? Vào cuối năm 90, Bram Cohen cảm thấy mệt mỏi phải nhảy công ty dotcom chưa phát hành sản phẩm trước họ phá sản Anh định tự phát triển thứ lấy cảm hứng từ cơng việc cuối Ý tưởng cơng ty giữ cho tập tin an toàn bảo mật cách bẻ thành nhiều phần nhỏ, mã hóa phần lưu trữ chúng vị trí khác Bram nhận khái niệm chia nhỏ tệp thành nhiều phần nhỏ sử dụng việc chia sẻ tệp Vào mùa hè năm 2001, Cohen phát hành phiên beta BitTorrent Năm 2002, ơng trình bày hội nghị Mục tiêu ông với phần mềm cung cấp cho người cách nhanh chóng đơn giản để phân phối trao đổi phần mềm Linux trực tuyến Tuy nhiên, biết, người mê phim sớm nhận thấy tiềm công nghệ BitTorrent Vào năm 2004, phim chương trình truyền hình vi phạm quyền bắt đầu thống trị lưu lượng truy cập BitTorrent, sau tăng trưởng bùng nổ Dự kiến đến cuối năm khoảng 40 triệu người tải xuống ứng dụng BitTorrent1 Thu nhập Nhóm 02 Tiểu luận Đề tài: Ứng dụng DHT vào BitTorrent Bram Cohen quyên góp tự nguyện từ người dùng BitTorrent hài lòng tốt bụng BitTorrent hồn tồn miễn phí mã nguồn mở Đây chắn lý đồng lõa cho thành công lớn Nhưng cách thức hoạt động BitTorrent có khác biệt đáng kể so với giao thức ngang hàng khác Theo Bram Cohen, vấn đề với nhiều giao thức chia sẻ tệp ngang hàng “truyền thống” hầu hết người dùng có tốc độ đường xuống đường lên khác Điều có nghĩa người dùng có nhiều đường xuống băng thông, tốc độ truyền tệp đến bị hạn chế đường lên băng thông nhỏ nhiều từ người dùng mà tải xuống Chúng ta lấy ví dụ đơn giản: giả sử người dùng muốn tìm tải tệp từ người dùng khác Cả hai có kết nối có tốc độ tải xuống 2,5Mbit/s tải lên 600 kbit/s Điều định tốc độ truyền hai đường lên 600 kbit/s (hiện tượng nút cổ chai), dung lượng tải xuống bị giảm Hầu hết người có tốc độ tải lên 1Mbit/s, chiếm khoảng 10% băng thông tải xuống Điều ngụ ý chia sẻ tệp P2P giải pháp tối ưu Tuy nhiên, cách giao thức chia sẻ tệp truyền thống hoạt động Bram Cohen quản lý vấn đề cách chia nhỏ tệp tin thành nhiều phần nhỏ Khi yêu cầu tệp, máy tính người dùng dị tìm internet người có nhiều phần tệp cần tìm kiếm Sau đó, anh tải xuống phần khác tệp từ người dùng khác lúc sử dụng băng thông đường xuống tốt Tất nhiên, hiệu tệp đến nhanh nhiều lần so với tải xuống từ người dùng 2.2 BitTorrent BitTorrent có khả đặc biệt có ích cho người cần chia sẻ file có dụng lượng lớn qua mạng Nếu bạn có file dung lượng 1GB 300 người cần, cần nhiều thời gian để chia sẻ 300GB liệu Nhưng bạn chia file thành mảnh nhỏ gửi cho người họ lại chia sẻ mảnh cho người khác ai có file hồn chỉnh nhanh nhiều Các trang web lớn sử dụng BitTorrent để cập nhật cho phần mềm họ, cách họ giảm chi phí trả cho băng thơng Tốc độ BitTorrent đáng kinh ngạc, vài để truyền tải file lớn Tên gọi xác BitTorrent thơng thường người gọi tắt biết đến với tên Torrent * BitTorrent mạng lưới P2P (peer to peer = ngang hàng, tức nhiều người kết nối trực tiếp với để chia sẻ file) Torrent chuyên dùng để trao đổi liệu Phim, trị chơi, phần mềm số File có dung lượng lớn cực lớn Nhóm 02 Tiểu luận Đề tài: Ứng dụng DHT vào BitTorrent * Do kết nối ngang hàng nên có tốc độ cao Phù hợp cho download liệu dung lượng lớn Các tập tin trao đổi máy tính với nhau, việc tìm kiếm chuyển giao tập tin từ máy tính bạn khác gây tắc nghẽn (Hình dưới) Hình 1.Trao đổi tập tin máy tính với Giao thức BitTorrent định nghĩa phương thức để phổ biến chia sẻ tệp mạng Trước BitTorrent đời tồn giao thức đồng đẳng (Peer-to-Peer, viết tắt P2P) có khả cho phép nhóm máy tính mạng chia sẻ tệp với máy tính khác nhóm mà khơng cần phải sử dụng máy chủ để làm kho lưu trữ trung tâm BitTorrent cải tiến từ giao thức đồng đẳng trước Giao thức BitTorrent có nguyên lý hoạt động chặt chẽ để có khả tùy biến, tin cậy chi phí trì danh sách máy vi tính chia sẻ tệp tốt giao thức đồng đẳng trước Do giao chuẩn TCP/IP nên giao thức BitTorrent hoạt động đường truyền Internet thơng thường Chương trình BitTorrent nguyên thủy viết Python mã nguồn chương trình BitTorrent phiên 4.0 phát phát hành dạng mã nguồn mở tuân theo Bản quyền sử dụng mã nguồn BitTorrent BitTorrent có nhiều biến thể khác viết ngơn ngữ lập trình khác nhau, chạy hệ điều hành khác 2.3 Hoạt động BitTorrent: Khi bạn tải trang web, máy tính bạn kết nối tới server trang web tải trực tiếp liệu từ server Mỗi máy tính tải liệu tải từ máy chủ trung tâm trang web, cách mà lưu lượng trang web hoạt động Nhóm 02 Tiểu luận Đề tài: Ứng dụng DHT vào BitTorrent Hình Mơ hình kết nối client-server BitTorrent giao thức ngang hàng, nghĩa máy tính nhóm BitTorrent (một nhóm máy tính tải tải lên torrent) truyền liệu máy khác mà không cần máy chủ trung tâm Hình Kết nối peer-to-peer Nhóm 02 Tiểu luận Đề tài: Ứng dụng DHT vào BitTorrent Theo truyền thống, máy tính gia nhập nhóm cách tải file có torrent vào client BitTorrent Lúc BitTorrent liên lạc với “tracker” định file torrent Tracker máy chủ đặc biệt theo dõi máy tính kết nối, tracker chia sẻ địa IP cho client BitTorrent khác, cho phép chúng kết nối lẫn Một kết nối, BitTorrent client tải bit tập tin nhiều mảnh nhỏ tải nhiều mà Sau có liệu, BitTorrent client tiếp tục tải lên chia sẻ cho BitTorrent client khác nhóm Bằng cách tất tải torrent tải lên Điều tăng tốc độ tải tất người Ví dụ, 10.000 người tải tập tin, không gây áp lực lên máy chủ trung tâm mà thay vào người tải đóng góp băng thông tải lên cho người tải khác, đảm bảo torrent hoạt động nhanh Đặc biệt, BitTorrent client không tải thực tải tập tin từ tracker nó, tracker tham gia vào torrent để theo dấu BitTorrent client mà kết nối tới nhóm khơng phải để tải hay tải lên liệu Tạo phát hành tệp Torrent lên mạng Để chia sẻ tệp hay nhiều tệp giao thức BitTorrent, cần tạo tệp torrent Mỗi tệp torrent chứa thông tin mô tả tệp muốn chia sẻ, thông tin máy cung cấp gốc tệp Một tệp torrent chứa thơng tin tệp nhiều tệp Máy tính tải tệp xong lựa chọn hoạt động máy gieo hạt, cung cấp hoàn chỉnh tệp Sau tệp torrent tạo, đường dẫn để tải tệp từ máy bạn đặt lên trang web, tệp torrent đăng ký với máy theo dõi (tracker) Máy theo dõi chứa danh sách máy vi tính thời tải tệp Máy ngang hàng cung cấp tệp hoàn chỉnh gọi máy gieo hạt (seeder) Tải xuống tệp torrent chia sẻ tệp Dùng trình duyệt Internet bất kì, duyệt trang web có danh sách tệp torrent, tải về, sau dùng chương trình BitTorrent client mở tệp Sau mở tệp torrent, chương trình BitTorrent kết nối với máy theo dõi, máy theo dõi cung cấp cho danh sách máy vi tính tải tệp Việc chia sẻ máy gieo hạt Các máy tính kết nối hướng trực tiếp tới máy gieo hạt để bắt đầu tải mảnh tệp Khi máy vi tính kết nối vào quần thể, máy vi tính bắt đầu chia sẻ tệp với Các máy vi tính chia sẻ mảnh với thay chia sẻ trực tiếp với máy gieo hạt, số lượng máy quần thể chia sẻ theo giao thức BitTorrent phát triển nhanh Nhóm 02 Tiểu luận Đề tài: Ứng dụng DHT vào BitTorrent Giao thức BitTorrent có ngun lý "tín nhiệm mở" tạo nên "nhóm máy ưa thích" Máy ưa thích tập máy ngang hàng quần thể cung cấp băng thơng tải lên lớn cho máy khách có yêu cầu tải Giới hạn Cần ý giao thức BitTorrent không giúp người dùng giấu tên Bởi máy theo dõi trì danh sách tệp chia sẻ, đồng thời chứa danh sách địa IP máy vi tính tải tệp, danh sách tệp tải trước Dựa vào giao thức BitTorrent cịn biết chắn địa máy ngang hàng quần thể, tất nhiên máy ngang hàng bị cơng Nhược điểm giao thức BitTorrent khuyến khích máy ngang hàng trở thành máy gieo hạt sau tải xong tệp Hệ máy gieo hạt biến máy quần thể biến dần, nghĩa tệp torrent cũ xác suất để tải tệp thành cơng thấp BitTorrent có ưu môi trường băng thông rộng DSL, cáp, vệ tinh người dùng Internet quay số sử dụng giao thức BitTorrent khơng hiệu quả, kết nối quay số hay bị đứt kết nối tốc độ tải không cao BẢNG HÀM BĂM Bảng băm (hash table) là cấu trúc liệu sử dụng hàm băm để ánh xạ từ giá trị xác định, gọi khóa, đến giá trị tương ứng Do đó, bảng băm marng kết hợp Hàm băm sử dụng để chuyển đổi từ khóa thành số (giá trị băm) mảng lưu trữ giá trị tìm kiếm Ví dụ bảng băm: - Ở Học Viện, bạn sinh viên có mã sinh viên riêng (mã sinh viên coi “khóa”), tù mã sinh viên truy xuất thông tin sinh viên (được gọi “giá trị”) - Căn cước công dân “khóa” tên người “giá trị” - Để thực việc ánh xạ, đơn giản bạn dùng mảng, key số mảng, nơi lưu trữ đối tượng (value) Tuy nhiên, trường hợp key lớn việc dùng key trực tiếp làm số mảng khơng cịn hiệu nữa, bạn nên dùng hashing Nhóm 02 Tiểu luận Đề tài: Ứng dụng DHT vào BitTorrent Hình Mơ hình hoạt động bảng hàm băm Trong hashing, key có giá trị lớn đưa giá trị nhỏ cách sử dụng hàm băm (hash functions) Các giá trị sau lưu cấu trúc liệu gọi bảng băm (hash tables) Ý tưởng hashing đưa cặp mảng thống Mỗi phần tử gán khóa định danh (khóa có sau dùng hàm băm) Trong trường hợp có cặp phần tử ánh xạ tới giá trị băm xung đột xảy Bất kể hàm băm có tốt đến đâu xung đột xảy Vì vậy, để trì hiệu suất bảng băm, điều quan trọng phải quản lý xung đột thông qua kỹ thuật giải xung đột BẢNG BĂM PHÂN TÁN (DHT) Bảng băm phân tán (DHT) lớp hệ thống phân tán không tập trung, cung cấp dịch vụ tra cứu tương tự bảng băm: cặp (khóa, giá trị) lưu trữ DHT, nút mạng tham gia lấy giá trị liên kết với khóa cho trước cách hiệu Nhiệm vụ lưu trữ ánh xạ từ khóa tới giá trị phân tán nút, cách giảm bớt lỗi có thay đổi tập hợp nút tham gia Điều cho phép sử dụng DHT cho số lượng cực lớn nút mạng xử lý việc vào, ra, lỗi nút mạng cách liên tục Nhóm 02 Tiểu luận Đề tài: Ứng dụng DHT vào BitTorrent Hình Các bảng hàm băm phân tán DHTs lớp hệ thống phân tán có cấu trúc, cung cấp khả tìm kiếm tương tự bảng hàm băm: - Là dạng cấu trúc bảng băm thông thường - Cặp (khoá –key, giá trị-value) lưu trữ DHTs nút truy vấn lấy giá trị cách hiệu thông qua khố - Hỗ trợ thao tác: chèn, tìm kiếm, xố cặp (khố –key, giá trị-value) Đặc tính: - Phân phối cặp (khoá –key, giá trị-value) hàng triệu cặp thiết bị ngang hàng - Mọi thiết bị ngang hàng truy vấn sở liệu khoá –key - Cơ sở liệu trả giá trị-value cho khoá –key - Để giải truy vấn, sô lượng nhỏ trao đổi peer - Mỗi peer số lượng định peer khác Tính chất DHT: - Phi tập trung (decentralization): tập thể nút mạng tạo nên hệ thống mà không cần điều phối từ trung tâm - Ổn định: hệ thống hoạt động hiệu có hàng nghìn hay hàng triệu nút - Chịu lỗi (fault tolerance): hệ thống đáng tin cậy (theo nghĩa đó) nút mạng liên tục vào mạng gặp cố Một kĩ thuật quan trọng để đạt mục tiêu nút nên cộng tác với vài nút khác hệ thống – thông dụng Ө( log n) số nút tham Nhóm 02 Tiểu luận Đề tài: Ứng dụng DHT vào BitTorrent gia n (xem bên dưới) – để thay đổi việc ra/vào hệ thống đòi hỏi lượng nhỏ cơng việc xử lý tình Một số thiết kế DHT hướng đến tính an tồn trước thành viên ác ý cho phép thành viên giữ tình trạng ẩn danh, điều thơng dụng nhiều hệ thống đồng đẳng khác (đặc biệt hệ thống chia sẻ file) DHT phải xử lý vấn đề cố hữu hệ thống phân tán, chẳng hạn load balancing, data integrity, hiệu (cụ thể đảm bảo thao tác định tuyến lưu trữ lấy liệu đòi hỏi thời gian thi hành ngắn) DHT có mục tiêu sau: - Dữ liệu phân bố mặt địa lí (chia tải) - Chỉ cần (vài) node để hịa mạng (phân tán) - Kích thước bảng định tuyến chi phí tìm kiếm tối đa tăng theo hàm log số node mạng (mở rộng) - Duy trì kết nối luận lí trước hịa mạng rời mạng liên tục (ổn định) - Sự linh hoạt việc chọn node kết nối tăng tốc đồng thiết lập DHT - Có ba thao tác chung: + Kiểm tra xem node có ID cịn sống hay khơng + Tìm liệu theo HID + Tìm thơng tin ID xác định, ID lân cận với ID Các giao thức DHT: - CAN - Chord - Kademlia - Pastry - P-Grid - Tapestry Các ứng dụng dùng DHT: - BitTorrent: phân phối file BitTorrent dùng DHT làm công cụ lần vết phân tán phép mối liên hệ khách hàng chia sẻ file cụ thể (xem BitTorrent client) - The Circle: chia sẻ file chat - Codeen: Web caching - Coral Content Distribution Network - Freenet: mạng ẩn danh chống kiểm duyệt - Dijjer: mạng phân phối giống Freenet - eMule: chia sẻ file Nhóm 02 Tiểu luận Đề tài: Ứng dụng DHT vào BitTorrent - FAROO: động tìm kiếm web đồng đẳng GNUnet: mạng phân phối giống Freenet, có cài đặt DHT Lưu trữ 2008-12-10 Wayback Machine JXTA: Nền nguồn mở P2P LimeWire: Chia sẻ file NEOnet: Chia sẻ file OneSwarm: Chia sẻ file Kademlia DHT dùng để lưu địa IP mã hóa Overnet: Chia sẻ file Transmission: BitTorrent Client µTorrent: BitTorrent client µTorrent: BitTorrent client Vuze: BitTorrent client cài DHT, gọi Azureus Warez P2P: Chia sẻ file YaCy: động tìm kiếm phân tán ỨNG DỤNG DHT TRONG BITTORRENT Hình Giao diện DHT uTorrent Stable Nhóm 02 10 Tiểu luận Đề tài: Ứng dụng DHT vào BitTorrent Sử dụng DHT thay trình theo dõi điều mà Pirate Bay cố gắng khuyến khích việc tải xuống torrent dựa vào công nghệ thường gọi "torrent không theo dõi" DHT sử dụng để tìm địa IP đồng nghiệp, chủ yếu ngồi trình theo dõi Nó kích hoạt theo mặc định ứng dụng khách uTorrent Vuze hàng triệu người sử dụng mà khơng biết DHT công nghệ Một phiên mắt ứng dụng khách BitTorrent Azureus vào tháng năm 2005 phiên thay khơng tương thích thêm vào Mainline BitTorrent tháng sau Tuy nhiên, có plugin có sẵn cho Azureus Vuze cho phép truy cập vào mạng Mainline DHT sử dụng uTorrent ứng dụng khách khác Thời gian gần hệ thống torrent phân quyền “trackerless” cho phép BitTorrent client giao tiếp lẫn nhóm mà khơng cần phải có máy chủ trung tâm BitTorrent client sử dụng công nghệ mảng băm phân tán (distributed hash table – DHT), BitTorrent client có chức nút DHT Khi bạn thêm torrent cách “magnet link” nút DHT liên lạc với nút gần kề nút liên tục liên lạc với nút khác xác định thông tin torrent 5.1 BitTorrent sử dụng Kademlia DHT để tạo lập theo dõi phân tán Kademlia bảng băm phân tán cho mạng máy tính ngang hàng phi tập trung Nó định cấu trúc mạng trao đổi thông tin qua tra cứu nút Các Kademlia giao tiếp với cách sử dụng UDP Một mạng ảo lớp phủ hình thành nút tham gia Mỗi nút xác định số ID nút Các ID nút để định vị giá trị (thường tập tin băm từ khóa) cung cấp đồ trực tiếp tới băm tệp nút lưu trữ thông tin nơi lấy tệp tài nguyên Chức DHT tìm đồng nghiệp tải xuống tệp giống không liên lạc với trình theo dõi BitTorrent trung tâm BitTorrent client sử dụng công nghệ mảng băm phân tán (distributed hash table – DHT), BitTorrent client có chức nút DHT Theo đặc tả giao thức DHT, “mỗi peer trở thành tracker” nghĩa BitTorrent client không cần máy chủ trung tâm để quản lý nhóm Thay vào đó, BitTorrent trở thành hệ thống chuyển tập tin ngang hàng phân quyền đầy đủ khách hàng giữ tất danh sách tên tệp chia sẻ với đồng nghiệp tương ứng Danh sách băm chia tệp tài nguyên thành phần phân phối đến nút Nếu nút ngắt kết nối ngang hàng, có nơi khác với phần danh sách hàm băm 5.2 Giao thức BitTorrent mở rộng để trao đổi số cổng UDP nút đồng nghiệp giới thiệu trình theo dõi Nhóm 02 11 Tiểu luận Đề tài: Ứng dụng DHT vào BitTorrent Cổng nguồn gói UDP sử dụng làm cổng ngang hàng để đồng nghiệp đằng sau khơng biết cổng ngồi họ, họ chấp nhận kết nối đến với cổng với cổng DHT Khách hàng tải bảng định tuyến họ tự động thông qua việc tải xuống torrent thông thường Các ứng dụng khách cài đặt cố gắng tải xuống torrent không theo dõi lần thử khơng có nút bảng định tuyến họ cần địa liên hệ có tệp torrent 5.3 Khóa- key: định danh torrent giá trị-value: địa IP tất peer tham gia torrent Khi ứng dụng khách BitTorrent tạo tệp torrent khơng theo dõi (nghĩa sẵn sang chia sẻ thứ thơng qua BitTorrent), thêm khóa “nút” (khóa “cặp khóa/giá trị”, tiêu đề phần, khơng phải khóa mật mã) cho tệp.torrent chứa k nút DHT gần biết với máy khách Tất truy vấn có khóa giá trị “id” chứa ID nút nút truy vấn Tất phản hồi có khóa giá trị “id” chứa ID nút nút phản hồi 5.4 Peer gia nhập: truy vấn định danh torrent, xác định peer chịu trách nhiệm theo dõi Truy vấn danh định torrent dựa vào bootstrapping: - - - - - Bootstrapping (nút khởi động) nút mạng lớp có khả thơng báo động cho nút tham gia giao thức cấu hình yêu cầu để thiết lập giao tiếp với nút khác tham gia mạng lưới Khi bạn tham gia mạng, bạn thực thủ tục bootstrapping, điều đòi hỏi bạn phải biết trước địa IP cổng nút tham gia vào mạng DHT Ví dụ: Khi bạn kết nối với nút DHT, sau bạn tiến hành tải xuống thơng tin từ DHT, cung cấp cho bạn thông tin kết nối cho nhiều nút sau bạn điều hướng cấu trúc "biểu đồ" để có kết nối đến nhiều nút hơn, người cung cấp hai nút kết nối với nút khác liệu tải trọng (khối tải xuống) Nếu bạn hồn tồn khơng biết thơng tin địa IP cổng nút tham gia vào mạng DHT bạn khơng thể tham gia vào mạng lưới để giao tiếp với nút mạng khác Xác định peer chịu trách nhiệm theo dõi: Hầu hết peer bootstraged từ danh sách peer hạt giống mà chúng ban đầu kết nối với peer hạt giống chịu trách nhiệm theo dõi peer gia nhập Khi đó, peer tải phần tài nguyên lại theo cách phân tán Nhóm 02 12 Tiểu luận Đề tài: Ứng dụng DHT vào BitTorrent KẾT LUẬN DHT sử dụng vô rộng rãi thực tế Ví dụ, BitTorrent sử dụng Kademlia DHT để tạo lập theo dõi phân tán Trong BitTorrent, khóa định danh torrent giá trị địa IP tất thiết bị ngang hàng tham gia torrent Theo cách này, truy vấn DHT với định danh torrent, thiết bị ngang hàng BitTorrent tham gia xác định thiết bị ngang hàng chịu trách nhiệm định danh (có nghĩa theo dõi thiết bị ngang hàng torrent) Sau tìm thiết bị ngang hàng này, thiết bị ngang hàng tham gia truy vấn danh sách thiết bị ngang hàng khác torrent DHT sử dụng rộng rãi hệ thống chia sẻ tệp eMule để xác định vị trí nội dung thiết bị ngang hàng TÀI LIỆU THAM KHẢO [1] Bài giảng - Nguyễn Tiến Trinh; Nguyễn Tiến Ban; Nguyễn Thị Thu Hằng “INTERNET VÀ CÁC GIAO THỨC”, Học viện Cơng nghệ Bưu Viễn thơng, Hà Nội, 2014 [2] Jahn Arne Johnsen, Lars Erik Karlsen Sebjørn Sæther Birkeland, Peer-to-peer networking with BitTorrent http://web.cs.ucla.edu/classes/cs217/05BitTorrent.pdf [3] Joe Hawes, The BitTorrent Protocol https://www.morehawes.co.uk/the-bittorrent-protocol [4] Tarun Vellishetty, Understanding BitTorrent Protocol https://www.beautifulcode.co/blog/58-understanding-bittorrent-protocol Nhóm 02 13 ... file YaCy: động tìm kiếm phân tán ỨNG DỤNG DHT TRONG BITTORRENT Hình Giao diện DHT uTorrent Stable Nhóm 02 10 Tiểu luận Đề tài: Ứng dụng DHT vào BitTorrent Sử dụng DHT thay trình theo dõi điều mà... 02 12 Tiểu luận Đề tài: Ứng dụng DHT vào BitTorrent KẾT LUẬN DHT sử dụng vơ rộng rãi thực tế Ví dụ, BitTorrent sử dụng Kademlia DHT để tạo lập theo dõi phân tán Trong BitTorrent, khóa định danh... người tải xuống ứng dụng BitTorrent1 Thu nhập Nhóm 02 Tiểu luận Đề tài: Ứng dụng DHT vào BitTorrent Bram Cohen quyên góp tự nguyện từ người dùng BitTorrent hài lòng tốt bụng BitTorrent hồn tồn