BitTorrent
1. BitTorrent là gì?
- Là công cụ chia sẻ tài nguyên trên mạng ngang hàng Peer-to-Peer (P2P)
- Dùng để tải về những dữ liệu lớn mà không tốn chi phí máy chủ và băng
thông mạng.
- Được ước đoán chiếm khoảng 35-70% lưu lượng trên mạng Internet
- Là phần mềm mã nguồn mở.
2.
-
Các tính năng:
Hỗ trợ đồng bộ dữ liệu, chia sẻ và tải tập tin
Hỗ trợ số lượng lớn máy trong quần thể chia sẻ
Quản lý tệp tải về
Cải thiện tốc độ download
3. Các thuật ngữ:
- Seed : Máy gieo hạt là máy ngang hàng có bản sao của tệp và đang tải lên
tệp.
- Tracker : Máy theo dõi là một máy ngang hàng ghi lại nhật ký máy nào là
máy gieo hạt, máy ngang hàng.
- Torrent : Chỉ tệp .torrent hoặc tất cả các tệp miêu tả bởi nó.
- Swarm : Tập hợp tất cả máy ngang hàng và máy gieo hạt có nhu cầu một
tệp.
- Availability : Là số lượng bản sao hoàn chỉnh của tệp hiện hữu ở các máy
ngang hàng.
- Interested : Diễn tả máy ngang hàng cần tải về mảnh dữ liệu nó thiếu từ máy
ngang hàng khác.
- Peer : peer là máy sử dụng chương trình BitTorrent kết nối Internet và tải dữ
liệu.
- Leech : Diễn tả một máy ngang hàng có tỉ lệ chia sẻ nhỏ, tải về nhiều hơn tải
lên.
- Scrape : Xảy ra khi máy ngang hàng gửi máytheo dõi (tracker) để lấy thông
tin về tình trạng của tệp .torrent
- Snubbed : Máy trạm bị gắn cờ có giá trị snubbed khi quá thời gian 60s mà
các máy ngang hàng khác không tải về được dữ liệu từ nó.
1
- Superseed : Nếu máy trạm lần đầu tiên tải lên tệp thì nó có thể tốn rất nhiều
thời gian vì gửi đi gửi lại một mảnh dữ liệu như nhau cho các máy trạm khác
nhau kết nối với nó.
- Choked : Diễn tả máy ngang hàng đang tải lên làm nghẹt đường truyền dữ
liệu đến của các máy ngang hàng khác
4. Đặt vấn đề và ý tưởng:
- Nguồn thông tin là giới hạn với số lượng người dùng rất lớn, yêu cầu tốc độ
cao
- Cần chi phí lớn để cung cấp dải băng tần cho upload
- Sử dụng năng lực upload của những người download
- Tạo cơ hội trao đổi dữ liệu giữa những người download
5. Nguyên lý hoạt động:
2
3
4
5
6
- Chiến lược của BitTorrent:
o Thực tế: Tổng lượng upload = Tổng download
o Cố gắng cân bằng tỷ lệ download và tỷ lệ upload của mỗi peer
o Tạo một đồ thị ngẫu nhiên giữa các peer
o Hệ thống chia sẻ file BitTorrent sử dụng phương thức “Tit-for-Tat” để
tăng hiệu quả
o Luật “Tit-for-Tat”:
Bắt đầu: Hợp tác
Nếu phản đối hợp tác,hợp tác ở lần sau
Nếu hợp tác lỗi,hợp tác ở lần sau
- Giao thức BitTorrent định nghĩa một phương thức để phổ biến và chia sẻ tệp
trên mạng. BitTorrent là một cải tiến từ các giao thức ngang hàng trước đó.
- Giao thức BitTorrent có một nguyên lý hoạt động chặt chẽ để có khả năng
tùy biến, tin cậy và chi phí duy trì danh sách các máy tính chia sẻ tệp tốt hơn
các giao thức ngang hàng trước đó.
7
- BitTorrent client là một chương trình hoạt động theo giao thức BitTorrent.
Mỗi BitTorrent client có khả năng so sánh, yêu cầu, và vận chuyển tệp trên
mạng sử dụng giao thức BitTorrent.
6. Tạo và phát hành tệp BitTorrent:
- Để chia sẻ một tệp hay nhiều tệp bằng giao thức BitTorrent, đầu tiên cần tạo
tệp “torrent”. Mỗi tệp torrent chứa thông tin miêu tả tệp muốn chia sẻ, và
thông tin về máy tính cung cấp bản gốc của tệp. Thông tin chi tiết lưu trên
tracker sẽ khác nhau tuỳ thuộc vào phiên bản của giao thức BitTorrent,
nhưng dù ở phiên bản nào tệp “torrent” luôn luôn có đuôi mở rộng là
.torrent.
- Một tệp torrent chứa thông tin loan báo (địa chỉ URL của máy tính theo dõi),
và thông tin về tên tệp được chia sẻ, kích thước mảnh, chiều dài khóa, chiều
dài tệp, và vé thông hành để tải tệp. Một tệp torrent có thể chứa thông tin về
một tệp hoặc nhiều tệp.
- Máy tính đã tải về tệp xong có thể lựa chọn hoạt động như máy gieo
hạt(seeder), cung cấp bản sao hoàn chỉnh của tệp. Sau khi tệp torrent được
tạo, một đường dẫn để tải tệp về từ máy bạn được đặt lên trang web, và tệp
torrent được đăng ký với máy theo dõi(tracker). Máy theo dõi chứa một danh
sách các máy tính hiện thời đang tải tệp về. Máy ngang hàng đang cung cấp
tệp hoàn chỉnh cũng là máy gieo hạt.
7. Tải xuống và chia sẻ tệp:
- Dùng một trình duyệt Internet bất kì, 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 đấy 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.
- 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 (thường là 1/4 mêgabyte = 256 kilôbyte). 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
8
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.
8. Ưu và nhược điểm:
a. Ưu điểm:
o 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.
o Nguyên lý “tín nhiệm mở” tạo nên “nhóm máy ưa thích”. 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ề.
o Tắt, bật và tạm dừng chương trình bất cứ lúc nào mà không ảnh
hưởng đến tập tin cần tải
o Download file dung lượng lớn với 1 click
o Download các file cũ
b. Nhược điểm:
o Giao thức BitTorrent không giúp người dùng giấu tên. Dựa vào giao
thức BitTorrent còn biết chắc chắn địa chỉ của các máy ngang hàng
trong quần thể, và tất nhiên là các máy ngang hàng có thể bị tấn
công.
o Giao thức BitTorrent là ít khuyến khích các máy ngang hàng trở
thành máy gieo hạt sau khi đã tải về xong tệp. Hệ quả là các máy gieo
hạt sẽ biến mất và các máy trong quần thể cũng biến mất dần, nghĩa
là tệp torrent càng cũ thì xác suất để tải tệp thành công càng thấp.
o BitTorrent có ưu thế trong môi trường băng thông, đối với người dùng
Internet quay số sử dụng giao thức BitTorrent sẽ không hiệu quả, vì
kết nối quay số hay bị đứt kết nối và tốc độ tải không cao.
o Vấn đề bản quyền
o Tốc độ tải phụ thuộc vào số lượng seeder
o Nguy cơ nhiễm các phần mềm độc hại
o Tốn băng thông đường truyền
9
9. Một số nguồn chứa các Torrent:
- Public Domain Torrents: có hàng trăm phim kinh điển được đưa lên và hoàn
toàn hợp lệ để download.
- Titanium Torrents và gameupdates.org : có rất nhiều video game miễn phí,
game demo, và các bản chạy thử.
- South By Southwest Festival : cấu hình music từ rất nhiều ca sĩ đã xuất hiện
trong các lễ hội cùng...
- etree.org : cung cấp hàng trăm bản hòa nhạc trực tiếp bởi các nhạc công nổi
tiếng.
10. Tương lai của BitTorrent:
- Chuyển từ TCP sang UDP
- Kết nối tin cậy và có thứ tự không quá cấp thiết
- TCP có đơn vị kết nối bộ nhớ cao, ngăn cản lượng lớn các máy ngang hàng
kết nối với nhau
- Điều khiển tắc nghẽn của TCP yêu cầu Hệ điều hành đối xử với kết nối TCP
của BitTorrent ngang bằng với kết nối TCP của trình duyệt hay email của
một máy khách duy nhất.
- uTorrent dần chuyển đổi từTCP đến Ledbat/UDP
10