BitTorrent là một giao thức sẻ chia tài nguyên trên mạng cùng đẳng, cùng thời là tên của một chương trình sẻ chia tài nguyên cùng đẳng được phát triển bởi lập trình viên Bram Cohen. BitTorrent dùng để tải về những dữ liệu lớn mà bất tốn chi phí máy chủ và băng thông mạng. CacheLogic ước đoán BitTorrent chiếm khoảng 35% lưu lượng trên mạng Internet trong khi một số nguồn khác cho rằng con số này bất chính xác. Vậy cụ thể BitTorrent là gì ?, nó hoạt động như thế nào ? và tốc độ Download có cao hay bất ?. Tất cà những câu hỏi đó sẽ được giải đáp trong bài viết đưới đây một cách rõ ràng và ngắn gọn nhất.
I - BitTorrent là gì ?
Theo Bách khoa toàn thư mở Wikipedia thì BitTorrent là một giao thức sẻ chia tài nguyên trên mạng cùng đẳng, cùng thời là tên của một chương trình sẻ chia tài nguyên cùng đẳng được phát triển bởi lập trình viên Bram Cohen. BitTorrent dùng để tải về những dữ liệu lớn mà bất tốn chi phí máy chủ và băng thông mạng. CacheLogic ước đoán BitTorrent chiếm khoảng 35% lưu lượng trên mạng Internet trong khi một số nguồn khác cho rằng con số này bất chính xác.
Chương trình BitTorrent nguyên thủy được viết bằng ngôn ngữ lập trình Python và ngựa nguồn của chương trình BitTorrent phiên bản 4.0 được phát phát hành dưới dạng ngựa nguồn mở tuân theo Bản quyền sử dụng ngựa nguồn BitTorrent. BitTorrent có rất nhiều biến thể khác nhau được viết bằng các ngôn ngữ lập trình khác nhau, chạy trên các hệ điều hành khác nhau.
II - Các thuật ngữ chính trong BitTorent :
Torrent : Thường thì torrent là một file có dạng *.torrent
Peer : Peer là một máy tính khác trên mạng internet. Bạn làm ra (tạo) kết nối với peer và truyền tải dữ liệu với nó. Thường thì một peer không có cả 100 % file mà bạn muốn down (nếu có nó sẽ được gọi là seed). Một vài người khi nói đến peer lại nghĩ tới leecher, những kẻ sau khi down xong không chịu để trình chương trình download Torrent chạy tiếp và hoạt động như một seed.
Seed : Một máy tính có bản copy trả hảo của file torrent bạn muốn down. Khi quá trình down của bạn kết thúc, bạn sẽ hoạt động như một seed cho đến khi bạn bấm Finish hay đóng trả toàn trình download Torrent lại. Thường thì bạn nên chơi đẹp bằng cách seed một file vừa down xong cho người khác. Đồng thời, khi một file torrent mới được đưa lên tracker, một ai đó phải seed nó cho người khác down. Hãy nhớ rằng, tracker không biết tí gì về nội dung thực sự của file, vì thế luôn nên phải có ít nhất một máy đóng vai trò seed.
Leech : Diễn tả một máy tính tải về nhiều hơn tải lên. , các máy này bất sẻ chia tệp sau khi vừa tải về tệp xong. Và có một vài máy bất muốn cho tải lên dữ liệu bằng cách chỉnh giới hạn tải lên của chương trình BitTorrent.
Reseed : Với một file torrent mà số seed của nó là con số 0 tròn trĩnh (hay bất có đủ số peer để làm ra (tạo) thành một bản copy trả hảo), thì dù muốn hay không tất cả những gì các peer nhận được cũng sẽ là 1 file không trả chỉnh, vì không ai trong swarm đó có các phần còn thiếu. Khi điều đó xảy ra, một ai đó với file trả chỉnh (seed) sẽ phải đứng ra kết nối với swarm để tiến hành chuyện truyền tải các phần còn thiếu. Nó gọi là reseed. Thường thì khi một yêu cầu reseed được đưa ra và được chấp thuận, người được yêu cầu phải đảm bảo mình sẽ để trình BitTorrent của mình mở trong một thời (gian) gian nhất định, làm ra (tạo) điều kiện cho file torrent đó có thể được nhiều người down hơn.
Swarm : Một nhóm các máy tính kết nối với nhau thông qua 1 file torrent. Ví dụ, nếu trình BitTorrent của bạn báo bạn đang nối với 10 peer và 3 seed, thì điều đó nghĩa là trong swarm đó có 13 người (ko kể bạn ^^).
Tracker : Một server nằm trên mạng internet, phối hợp hoạt động của các trình download Torrent. Khi bạn mở một file torrent, máy tính của bạn sẽ liên lạc với tracker để lấy danh sách các peer cần kết nối. Trong quá trình down file torrent, thỉnh thoảng máy tính của bạn sẽ lại liên lạc với tracker, thông báo cho tracker biết bạn vừa down và up bao nhiêu, còn bao nhiêu nữa là down xong,... Nếu bạn chuẩn bị down một file mà tracker của nó hiện đang die, bạn sẽ không thể làm ra (tạo) kết nối. Nếu đang down mà tracker die, bạn vẫn có thể tiếp tục quá trình truyền tải file với các peer hiện có, nhưng sẽ không kết nối thêm được với peer mới nào khác. Thường các lỗi với tracker ít khi xảy ra trong một thời (gian) gian dài, do đó bạn chỉ chuyện chờ đợi và để mở trình BitTorrent.
Share rating : Nếu bạn dùng một trình BitTorrent với giao diện GUI, bạn sẽ thấy thông số share rating hiện trên giao diện. Nó đơn giản chỉ là tỉ lệ bạn up trên tỉ lệ down. Nếu thông số share ratio là 1.0, điều đó có nghĩa là lượng bạn down bằng với lượng bạn up. Số này càng cao thì nghĩa là bạn đóng lũy càng nhiều. Nếu bạn thấy share ratio là không cùng, thì nghĩa là bạn đang seed một file - bạn up nhưng không down. Nói chung, con số này chỉ để làm cảnh - tuy vậy vì lợi ích của người khác, hãy giữ cho share ratio của bạn lớn nhất có thể.
III - BitTorrent hoạt động như thế nào ?
BitTorrent giảm tải cho các dữ liệu bởi vì dữ liệu được tải về từ các người dùng khác nhau. Trong hình trên các thanh màu biểu thị các mảnh của tệp, sau khi các mảnh của tệp vừa được phân phối từ máy seed đến các máy leech khác nhau trong mạng, thì các leech này lại tự trao đổi các mảnh của tệp với nhau. Hình ảnh này cho thấy máy seed chỉ cần gửi một lần các mảnh của tệp cho tất cả các máy khác trong mạng và các máy tự bổ sung các mảnh còn thiếu của tệp cho nhau.
Giao thức BitTorrent định nghĩa một cách để phổ biến và sẻ chia tệp trên mạng. Trước khi BitTorrent ra đời vừa tồn tại các giao thức cùng đẳng (Peer-to-Peer, hay viết tắt là P2P) có tiềm năng cho phép một nhóm máy tính trên mạng sẻ chia tệp với các máy tính khác nhóm mà bất nên phải sử dụng một máy chủ để làm kho lưu trữ trung tâm. BitTorrent là một cải tiến từ các giao thức cùng đẳng trước. Giao thức BitTorrent có một nguyên lý hoạt động chặt chẽ để có tiềm năng tùy biến, tin cậy và chi phí duy trì danh sách các máy vi tính sẻ chia tệp tốt hơn các giao thức cùng đẳng trước đó. Do giao tiếp theo chuẩn TCP/IP nên giao thức BitTorrent có thể hoạt động trên đường truyền Internet thông thường.
BitTorrent client là một chương trình hoạt động theo giao thức BitTorrent. Mỗi BitTorrent client có tiềm 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. Tệp có thể chứa bất kỳ thông tin nào, bao gồm cả văn bản, âm thanh, phim và nội dung vừa được ngựa hóa.
iV - Tạo và phát hành tệp Torrent lên mạng :
Để sẻ chia một tệp hay nhiều tệp bằng giao thức BitTorrent, đầu tiên cần làm ra (tạo) tệp “torrent”. Mỗi tệp torrent chứa thông tin miêu tả tệp muốn sẻ chia, và thông tin về máy vi tính cung cấp bản gốc của tệp. Thông tin rõ hơn lưu trên máy vi tính theo dõi sẽ khác nhau tuỳ từng trường hợp 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ớn là .torrent. Cụ thể thì một tệp torrent chứa thông tin loan báo (địa chỉ URL của máy vi tính theo dõi), và thông tin về tên tệp được sẻ chia, 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 hay nhiều tệp. Máy vi tính vừa tải về tệp xong có thể lựa chọn hoạt động như máy gieo hạt, cung cấp bản sao trả 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 (tiếng Anh: tracker). Máy theo dõi chứa một danh sách các máy vi tính hiện thời (gian) đang tải tệp về.
V - Tìm và tải hành tệp Torrent lên mạng :
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 đấy ra. Sau khi vừa 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 vi tính đang tải tệp này
Việc sẻ chia được bắt đầu từ seeder. Các máy tính kết nối đầu tiên sẽ hướng trực tiếp tới seeder để 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), 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) hay nhỏ hơn nữa. Khi máy vi 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 vi tính kết nối vào quần thể, các máy vi tính sẽ bắt đầu sẻ chia tệp với nhau. Các máy vi tính sẽ sẻ chia các mảnh với nhau thay vì sẻ chia trực tiếp với máy gieo hạt, vì vậy số lượng máy trong quần thể sẻ chia 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 cùng đẳng 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ác mảnh hiếm nhất, mảnh này ít máy vi 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 chuyện đáp ứng các yêu cầu gửi đến nó, và bất còn hiện tượng nút cổ chai
Giao thức BitTorrent có một nguyên lý là “tín nhiệm mở” làm ra (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
VI - giới hạn của giao thức BitTorrent :
Cần chú ý là giao thức BitTorrent bất giúp người dùng giấu tên. Bởi vì máy theo dõi duy trì một danh sách các tệp đang được sẻ chia, cùng thời nó cũng chứa danh sách đất chỉ IP của các máy vi tính đang tải tệp, và danh sách các tệp vừa được tải trước đó. Dựa vào giao thức BitTorrent còn biết chắc chắn đất 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
Nhược điểm của 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 vừa 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. 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ẽ bất hiệu quả, vì kết nối quay số hay bị đứt kết nối và tốc độ tải bất cao.
Sưu tầm