Làm thế nào để khách hàng torrent lắp ráp lại và lưu trữ các mảnh?


9

Tôi đã tự hỏi, làm thế nào các phần được tải xuống bởi các máy khách torrent được lưu trữ và lắp ráp lại? Họ có sử dụng siêu dữ liệu không? Có vẻ như đây không phải là trường hợp vì người ta có thể phát chúng nếu chúng là một nửa tệp? Tôi không có manh mối làm thế nào được thực hiện? Vì vậy, về cơ bản tôi đang hỏi làm thế nào các phần trong tệp tải xuống được tổ chức? Có phải chỉ từ đầu đến cuối, hoặc có không gian đệm ở giữa?


Có cách nào để tải xuống một nửa các phần đã tải xuống sau khi kiểm tra lại không? Kết nối của tôi giống như quay số ...... Vì vậy, hãy giúp đỡ.

Câu trả lời:


19

Chào mừng bạn đến với thế giới tuyệt vời của Torrents! Có một vài phần bao gồm giao thức Bittorrent: bạn có tệp của bạn, Legalthing.iso và bạn muốn phân phối nó cho càng nhiều người càng tốt. Vì vậy, bạn tạo một tệp "torrent", mô tả Legalthing.iso và bạn phân phối tệp torrent thông qua một trang web hoặc bất kỳ cách nào khác bạn muốn. Tệp torrent có thể trỏ trực tiếp vào máy tính của bạn (và bạn sẽ đóng vai trò là hạt giống) hoặc tệp torrent có thể trỏ đến "trình theo dõi", đó là một máy chủ kết nối "hạt giống" (người dùng với toàn bộ lawthing.iso đã có tệp) và "đồng nghiệp" (người dùng đang tích cực tải xuống tệp).

Đến gần hơn với câu hỏi của bạn bây giờ. Bản thân tệp, lawthing.iso, được băm mật mã để mỗi người đọc tệp torrent và bắt đầu tải xuống lawthing.iso có thể kiểm tra từng phần so với hàm băm và đảm bảo họ không tải xuống một phần đã được sửa đổi từ bản gốc. Những mảnh mà không kiểm tra băm được loại bỏ.

Bây giờ giả vờ bạn là một máy tính đang tải xuống một tệp, sử dụng Bittorrent. Giao thức có thể hoạt động theo một trong hai cách, hoặc là bạn sẽ tải xuống các phần ngẫu nhiên của tệp hoặc trước tiên bạn sẽ tải xuống các phần hiếm nhất. Cách tiếp cận thứ hai này là để tăng "sức khỏe" tổng thể (tính khả dụng) của torrent.

Vậy những gì trong tập tin torrent thực tế? Nó thay đổi dựa trên ứng dụng khách được sử dụng để tạo ra nó, nhưng nhìn chung nó chứa phần "thông báo" là địa chỉ của trình theo dõi bạn đang sử dụng và một danh sách lớn tất cả các phần của tệp bạn muốn tải xuống. Mỗi mảnh có kích thước đồng đều (32 kb, 512kb, 4mb, thực sự là bất kỳ kích thước nào bạn thích) và mỗi mảnh có một hàm băm liên quan đến nó. Mỗi khi một đồng nghiệp nhận được một mảnh, nó sẽ so sánh hàm băm cho mảnh đó (sử dụng mã băm SHA-1) với hàm băm được liệt kê trong tệp torrent. Đó là cách nó tìm ra các mảnh là tốt.

Vì tệp torrent liệt kê từng phần của tệp bạn đang tải xuống, mỗi khi khách hàng của bạn tải xuống thành công một mảnh và băm nó, nó sẽ ghi đoạn đó vào đúng vị trí trên đĩa cứng trong tệp. Đó là lý do tại sao nếu bạn tải xuống tệp 1gb, máy khách sẽ dành một khối dung lượng trống trên đĩa của bạn có kích thước 1gb, để chứa các phần torrent bạn sẽ tải xuống.

Bây giờ một số trình phát video và trình xem tệp khác có thể xử lý các tệp "bị hỏng". Tất nhiên, một torrent đã tải xuống một nửa không bị hỏng, nhưng nó bị thiếu các phần và với một chương trình như VLC, nó trông có vẻ bị hỏng. Vì vậy, VLC sẽ làm tốt nhất có thể để phát bất kỳ dữ liệu nào có thể tìm thấy và đó là lý do tại sao họ có thể phát trong khi tải xuống một phần.

Có nhiều khía cạnh phức tạp hơn (google DHT, bộ đệm viết torrent, tất cả những thứ thú vị đó) nhưng đó là những điều cơ bản về cách Bittorrent hoạt động.


Ồ, đó là một câu trả lời rất đầy đủ .... nhưng tôi chưa bao giờ nhận thấy nó thực sự dành riêng một tệp 1GB? Dường như nó phát triển gia tăng?
Cenoc

1
@Cenoc phụ thuộc vào ứng dụng khách torrent, một số khách hàng phân bổ trước, một số không, một số có tùy chọn bổ sung để phân bổ trước
Sathyajith Bhat

Thật thú vị, vì vậy ban đầu nó chỉ là một tệp chứa '0' và sau đó khi tệp được tải xuống một phần được kiểm tra lần đầu, nó có được so sánh với các giá trị băm không?
Cenoc

1
Đó là một thùng chứa trống cho tệp hoàn chỉnh cuối cùng và khi mỗi phần được khách hàng tải xuống, nó sẽ được kiểm tra dựa vào hàm băm và sau đó đặt vào vị trí thích hợp trong thùng chứa cho đến khi toàn bộ tệp hoàn tất.
geodave

1
Như Sathya đã đề cập, nó phụ thuộc vào khách hàng. Một số sẽ phân bổ trước một không gian trên ổ cứng của bạn cho toàn bộ tệp; nó sẽ dành một loạt dung lượng và các chương trình khác sẽ không thể sử dụng dung lượng đó trên ổ đĩa, cho đến khi tệp của bạn được tải xuống. Các máy khách bittorrent khác sẽ đặt các mảnh đã hoàn thành vào một vị trí lưu trữ tạm thời để tiết kiệm dung lượng ổ đĩa, sau đó lắp ráp toàn bộ tệp sau khi tất cả các mảnh đã được tải xuống. Nó phụ thuộc vào cài đặt bạn chọn.
geodave
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.