Phát hành libtorrent 2.0 có hỗ trợ giao thức BitTorrent 2

giới thiệu phát hành thư viện quan trọng libtorrent 2.0 (còn được gọi là libtorrent-rasterbar), cung cấp triển khai giao thức BitTorrent hiệu quả về mức tiêu thụ bộ nhớ và tải CPU. Thư viện có liên quan trong các máy khách torrent như Deluge, qBittorrent, folx, Lynx, Miro и Thùng (đừng nhầm lẫn với thư viện khác libtorrent, được sử dụng trong rTorrent). Mã libtorrent được viết bằng C++ và phân phối bởi theo giấy phép BSD.

Sự ra mắt thật đáng chú ý thêm vào hỗ trợ giao thức BitTorrent v2, tránh sử dụng thuật toán SHA-1, có vấn đề với lựa chọn va chạm có lợi cho SHA2-256. SHA2-256 được sử dụng vừa để kiểm soát tính toàn vẹn của các khối dữ liệu vừa để kiểm soát các mục trong chỉ mục (từ điển thông tin), vi phạm khả năng tương thích với DHT và trình theo dõi. Đối với các liên kết từ tính đến torrent có hàm băm SHA2-256, tiền tố mới “urn:btmh:” được đề xuất (đối với SHA-1 và torrent kết hợp, “urn:btih:” được sử dụng).

Do việc thay thế hàm băm sẽ phá vỡ tính tương thích của giao thức (trường băm là 32 byte thay vì 20 byte), đặc tả BitTorrent v2 ban đầu được phát triển mà không tính đến khả năng tương thích ngược và các thay đổi quan trọng khác đã được áp dụng, chẳng hạn như việc sử dụng cây băm Merkle trong các chỉ mục để giảm kích thước tệp torrent và kiểm tra dữ liệu đã tải xuống ở cấp độ khối.

Điểm nổi bật khác của những thay đổi trong BitTorrent v2 là chuyển sang liên kết các cây băm riêng biệt cho từng tệp và áp dụng căn chỉnh tệp theo từng phần (không thêm phần đệm bổ sung sau mỗi tệp), giúp loại bỏ sự trùng lặp dữ liệu khi có các tệp giống hệt nhau và giúp dễ dàng xác định hơn các nguồn khác nhau cho các tập tin . Cải thiện hiệu quả mã hóa cấu trúc thư mục torrent và bổ sung các tính năng tối ưu hóa để xử lý số lượng lớn tệp nhỏ.

Để làm trơn tru sự tồn tại chung của BitTorrent v1 và BitTorrent v2, khả năng tạo các tệp torrent kết hợp đã được triển khai, bao gồm, ngoài các cấu trúc có băm SHA-1, lập chỉ mục bằng SHA2-256.
Những torrent kết hợp này có thể được sử dụng với các máy khách chỉ hỗ trợ giao thức BitTorrent v1. Hỗ trợ cho giao thức WebTorrent dự kiến ​​có trong libtorrent 2.0 do các vấn đề về độ ổn định chưa được giải quyết hoãn lại cho đến bản phát hành chính tiếp theo, sẽ không ra mắt cho đến cuối năm nay.

Nguồn: opennet.ru

Thêm một lời nhận xét