Bittorent: các thông tin cơ bản

Thảo luận trong 'Review - Tutorial Softwares' bắt đầu bởi Kronpas1997, 21/6/06.

Trạng thái chủ đề:
Không mở trả lời sau này.
  1. Kronpas1997

    Kronpas1997 Baldur's Gate Lão Làng GVN

    Tham gia ngày:
    5/9/02
    Bài viết:
    30,801
    bittorent không phải quá mới mẻ, quá cao sang, nhưng vẫn còn nhiều người mơ hồ về nó. Mà trong box đã có guide emule, IRC, làm thêm bittorent cho đủ bộ. HD làm ngắn gọn + chưa hoàn chỉnh, mong mọi người đóng góp nếu thấy thiếu sót.





    1/Giới thiệu:

    a/Bittorent là tên của một phần mềm, cũng là tên của một giao thức chuyển file (file transfer protocol), được sáng tạo bởi Bram Conhen.

    Bittorent được thiết kế với mục đích ban đầu: người dùng chia sẻ các file lớn mà không làm giảm tốc độ chuyển file – càng nhiều người tham gia chia sẻ, tốc độ download càng nhanh.

    b/Cách thức hoạt động.


    [​IMG]



    (hình: source: wikipedia).

    Từ hình trên, ta có thể thấy: mạng chia sẻ sử dụng bittorent trao đổi file các file lớn/rất lớn nhanh và hiệu quả hơn hẳn mạng thông thường dùng cơ chế client/server.
    File được chia sẻ sẽ được chia thành nhiều mảnh (nhỏ nhất là 1/4 MB – 250KB).


    Các máy tham gia mạng (client) sẽ download các mảnh của file từ máy đầu tiên có đầy đủ 100% file đó (first seeder), và sẽ upload các phần mình đã down được cho máy khác ngay sau khi down được dù chỉ những mảnh đầu tiên. Bằng cách này, mỗi máy tham gia mạng đều có chung trách nhiệm phân phối file bên cạnh mục đích download, và - trên lý thuyết – càng nhiều người tham gia, tốc độ download trung bình của mạng sẽ càng nhanh lên.

    c/Các thuật ngữ (đã cắt bớt 1 số ít gặp)

    torrent: đôi khi được dùng để gọi chung (Vd torrent file), nhưng thường để chỉ các file .torrent nhỏ vài chục KB. Các file .torrent này chứa thông tin về file cần chia sẻ, hash number, và địa chỉ của tracker server.


    Tracker: tracker hay tracker server là máy chủ điều hành việc trao đổi/chia sẻ của mỗi file trong mạng bittorent. Các client muốn bắt đầu
    download/upload sẽ phải kết nối tới tracker, và được tracker “giới thiệu” đến các client có file cần down. Việc download/upload sau khi được giới thiệu là của 2 client, không liên quan tới tracker.


    Client: là phần mềm sử dụng để download file bằng giao thức bittorent. Client cũng được hiểu theo nghĩa “người đang tham gia download/upload file trong mạng”.


    availability: Số lượng của bản đầy đủ của file. Mỗi seeder sẽ cộng thêm 1.0 vào số này, và mỗi peer sẽ cộng thêm 0.x, tỉ lệ với số % file mà họ đang có.
    seed/seeder: Người đã có đủ 100% file và đang upload được gọi là seeder. Hành động up lại khi đã có đầy đủ 100% file được gọi là seed.


    Peer: người đang tham gia download/upload file trong mạng bittorent. Peer không có đầy đủ 100% file.


    leech/leecher: leech dịch nghĩa là “hút máu”/”con đỉa”. Leecher là những kẻ download từ mạng bittorent, nhưng lại upload trở lại rất thấp, hoặc gần như không up lại chút gì (down vài trăm KBs nhưng up có 1, 2 KBs) => ăn bẩn + Phá thối không hơn không kém. Đôi khi leecher được dùng lẫn với peer.


    Scrape: client gửi yêu cầu đến tracking server để hỏi thông tin về những người đang download/upload file và “sức khoẻ” (health) của mạng.
    Swarm: là tổng của seeder và peer.


    Hash number: mỗi file torrent được chia sẻ trên mạng được gắn kèm số hash đặc biệt. Không bao giờ có 2 hash number trùng nhau, nhằm đảm bảo không có sự lẫn lộn trong upload/download file.
     
  2. Kronpas1997

    Kronpas1997 Baldur's Gate Lão Làng GVN

    Tham gia ngày:
    5/9/02
    Bài viết:
    30,801
    2/Sử dụng bittorent để download file.

    a/cách dùng:

    CLIENT: Có khá nhiều phần mềm để download file bằng giao thức này, và có thể liệt kê ở đây: Azueus, bitcommet, bitlord, bittorent, utorrent, ABC. Trong số các phần mềm trên, nổi bật nhất là Azureus, bitcomet và uttorent.

    Azureus: đầyđủ tính năng nhất, nhưng cũng đồng nghĩa với việc rất nhiều chức năng không dùng đến, và do chạy trên nền Java, Azureus nổi tiếng ăn tài nguyên PC.

    BitComet: là client thứ 2 tôi sử dụng (sau bittorent). Ưu: nhẹ (nhẹ hơn so với Azureus), khá đầy đủ tính năng, là một trong các client đầu tiên hỗ trợ NAT traversal và DHT (sẽ nói thêm ở phần sau).


    Utorrent: hiện đang sử dụng, và có lẽ sẽ không phải chuyển sang client khác. Utorent nổi tiếng vì “nhẹ”, cả trên phương diện tài nguyên (khoảng 5MB RAM) cũng như bản thân phần mềm khá nhỏ gọn, chỉ .. vài trăm KB, thậm chí chỉ là một file exe không cần cài đặt. Mặc dù vậy, uttorent thuộc loại “bé hạt tiêu”, hỗ trợ đầy đủ các tính năng cần thiết nhất cũng như nâng cao của bitcommet, cũng như không có thành phần thùă thãi (vd như trình duyệt web có sẵn trong client. Ai cần cái đấy?).

    DOWNLOAD: Làm thế nào để download file bằng bittorent? Không còn gì dễ dàng hơn.
    - vào site cung cấp torrent, vd torrentspy.com, mininova.org, hoặc thậm chí google.com với keyword thích hợp. Tìm file bạn muốn down. Bạn sẽ download về một file *.torrent nhỏ vài chục KB.
    - Dùng torrent client đã nói ở trên open file *.torrent đấy, chọn nơi lưu file cần down, start, và … chờ. Thường thì download qua torrent khá chậm, vài chục KBs, nhưng cũng có lúc khá nhanh (nhanh hơn direct download :D). Sẽ đề cập đến download speed ở phần sau bài viết.



    b/ Những động tác cần thiết để client hoạt động bình thường:

    Portforward: Thông thường người dùng connect vào internet qua router, hoặc proxy. => client sẽ không nhận được kết nối từ ngoài vào do bị firewall chặn lại => không download/up load được gì cả. Cách duy nhất giải quyết triệt để việc này là “đục lỗ” trên firewall – open port. Xem cách open port ở đây:


    Download/upload capping: Dành cho người dùng ADSL. Tôi không dùng cable nên ko đảm bảo điều này đúng ,nhưng cũng ko mất gì để thử, rite ? :D. Nếu bạn upload quá nhiều trong 1 lúc, quá giới hạn upload (vd up 80KBs trong khi đường upload tối đa trên lý thuyết là 60KBs), tốc độ download sẽ bị ảnh hưởng rất lớn, thậm chí không lướt web được, đành ngồi chat nhảm cho qua ngày :P. Giải quyết rất đơn giản: giới hạn tốc độ upload tối đa trong phần “prefences” của client (maximum upload speed) bằng khoảng 80% tốc độ upload lý thuyết của đường truyền bạn – xem hợp đồng để biết thông tin này.

    Number of connection maximizing: Router chỉ có thể quản lý được số lượng giới hạn kết nối trong cùng một lúc, và con số này khác nhau với các router khác nhau. Cách duy nhất để biết điều này là thử - cứ set number of connections cao dần cho đến khi bạn bị disconnect khỏi mạng trong lúc đang download. Nếu gặp may, bạn có thể tìm được thông tin này trong manual của router mình đang sử dụng (tôi không gặp may như thế T___T)
     
  3. Kronpas1997

    Kronpas1997 Baldur's Gate Lão Làng GVN

    Tham gia ngày:
    5/9/02
    Bài viết:
    30,801
    3/Bittorent Myths.

    là nơi tập hợp đủ loại thắc mắc về bittorent mà tôi nhặt nhạnh được, cũng như của người khác hỏi. Sẽ update ngay khi có câu hỏi mới :D.

    1/Câu hỏi nhiều người mong chờ: tại sao tôi download quá chậm!!!!??????
    - trước hết, kiểm tra lại cài đặt client (đọc lại từ đầu bài. Ngắn gọn, nhưng tôi nghĩ đầy đủ thông tin cần thiết). Nếu đã forward port, đã cap speed, thì lý do chỉ là ở bản thân cái file bạn đang down: quá ít người tham gia share, hoặc do mạng cùi bắp => bó tay :D.
    Theo kinh nghiệm bản thân, các soft torrent liệt kê ở phần đầu bài có tốc độ download ngang nhau, nên không phải loay hoay thử cái khác làm gì.

    2/Chậm quá, chậm hơn download từ web về nhiều! Làm sao ngồi hàng net mà down được bằng torrent đây ??? Không thèm dùng nữa!

    Nếu file mới (movies, games) hoặc phổ biến (music, movies), có nhiều người tham gia share thì tốc độ download của bạn sẽ khá cao, nhưng cũng có file ít người quan tâm -> tốc độ chỉ khoảng 30KBs đi đều bước => bó tay tập 2 ^^. Nếu bạn phải dùng net ngoài dịch vụ, lời khuyên là không nên cố dùng torrent làm gì. (tất nhiên trừ trường hợp cài lén +download lén ;)) ).

    Nếu vẫn cố sử dụng torrent ngoài hàng net, thì đây là lời khuyên của một kẻ "có thâm niên cài và download lén" :'> :
    a/Dùng BitComet - lựa chọn duy nhất, vì tính năng NAT traversal của nó = không cần forward port.
    b/Chỉ nên để download/upload rate khoảng 30 KBs maximum, tránh làm ảnh hưởng đến cả dàn máy trong cửa hàng (rất có khả năng ông chủ thấy máy chạy ì ạch sẽ .. ghost lại =)) )
    c/set trong prefences: start w/ windows, start minimized, hoặc dùng thêm soft của hãng thứ 3 như hideit! => client tự khởi động cùng windows, tự minimize, thậm chí không hiện lên trên system tray ;))

    Anyway, không dùng nữa thì thôi, việc gì phải gào toáng lên -_-". Phim và game hàng GBs, không ai dư hơi up lên host để cho anh bạn down về, muốn có cái ăn, mời tham gia share.

    2/ “Người ta bảo rằng” nên giới hạn tốc độ upload xuống thấp nhất - còn vài KB, download sẽ nhanh hơn.

    Đánh vỡ mồm thằng “người ta” phát ngôn câu bố láo này !!! Nên nhớ rằng khi download từ mạng bittorent, bạn đang download những thứ người khác upload cho mình. Nếu ai cũng có tư tưởng “chỉ download không upload”, thì sẽ không có cái gọi là mạng chia sẻ - sharing network- , và tất nhiên chẳng còn khái niệm torrent, vì ai cũng chờ người khác up cho nhưng không chịu cho lại kẻ khác!
    Nên hiểu việc upload trở lại cho cộng đồng là nghĩa vụ, là một dạng “văn hoá”.
    Tất nhiên việc giới hạn upload speed còn 80% lý thuyết là việc khác…

    3/Client nào dùng tốt nhất?

    như phần đầu bài viết đã đề cập, 3 soft phổ biến nhất hiện nay là Azureus, bitcommet và utorrent. Mỗi cái có ưu/nhược riêng, và cũng là tuỳ sở thích cá nhân nữa ^^.

    - Azureus: rất nặng, ăn RAM và ăn CPU khủng khiếp, nhưng cũng đầy đủ nhất. Azureus có các tính năng client khác không có được, và cũng là kẻ tiên phong áp dụng công nghệ mới. Nhưng là người yêu thích sự nhỏ gọn, tôi CHƯA BAO GIỜ thử dùng Azureus :'>
    - BitComet: BitComet là một trong các client có chức năng NAT traversal – cho phép download không cần open port bằng tay. Điều đó có nghĩa bitcommet là lựa chọn số 1 cho các đowloaders ở công sở/trường đại học, nơi connect vào Internet qua Proxy và không có hi vọng nhờ admin open port ;)). BitComet cũng là client đầu tiên áp dụng DHT – đistributed hash table, cho phép các bitcommet clinet upload/download với nhau KHÔNG CẦN ĐẾN TRACKER. Bitcommet đã có thời bị hàng loạt private tracker cấm sử dụng, do việc không dùng tracker nghĩa là các bitcommet users có thể dl không cần có tài khoản tại private tracker đó. Gần đây bản cập nhật đã cho phép người tạo file torrent – seeder đầu tiên - chọn “enable DHT or not”, nhưng cái danh một thời bị ban hàng loạt vẫn ám ảnh client này :D.
    - Utorrent: nhỏ, nhẹ, đầy đủ tính năng. Thực tế 99% thời gian chạy của bittorent client là nằm dưới system tray, nên yêu cầu đầu tiên của tôi là “nhò, nhẹ, không ảnh hưởng đến công việc khác”. -> hiện đang dùng cái này, và rất hài lòng với nó.
    - Và các client khác….. http://en.wikipedia.org/wiki/BitTorrent_performance
    note: Opera 9 cũng là torrent client, ai đang dùng Opera thử xem sao ^^?


    4/Tôi vẫn không hiểu bittorent là cái quái gì. Sao không dùng IDM download cho nhanh :-\


    Như phần đầu đã trình bày, bittorent là phương thức chuyển file khác -> không dùng IDM được. Với các file qua http, fpt mà bạn dùng IDM để download, tất cả các máy con trong mạng sẽ down load từ cùng 1 hoặc 1 vài máy chủ, và những máy chủ đó chịu toàn bộ tải của mạng. Trong mạng bittorent, máy chủ chỉ có chức năng "hướng dẫn" cho các máy con gặp nhau, công việc download/upload do máy con tự lo =>góp gió thành bão, càng đông người thì tốc độ download càng cao ^^.
     
Trạng thái chủ đề:
Không mở trả lời sau này.

Chia sẻ trang này