|
#1
|
|||
|
|||
Tản mạn ăn đ�m ở S�i G�n
Giới thiệu về BitTorrent 1. Giới thiệu về BitTorrent. BitTorrent là một mạng chia sẻ được sáng lập bởi Bram Cohen, có khả năng đặc biệt có ích cho những người cần chia sẻ các file có dụng lượng lớn qua mạng. Nếu bạn có 1 file dung lượng 1GB và 300 người cần, sẽ cần rất nhiều thời gian để chia sẻ 300GB dữ liệu. Nhưng nếu bạn chia file thành các mảnh nhỏ gửi cho mọi người và họ lại chia sẻ các mảnh đó cho người khác cho đến khi ai ai cũng có file hoàn chỉnh thì sẽ nhanh hơn rất nhiều. Các trang web lớn có thể sử dụng BitTorrent để cập nhật cho các phần mềm của họ, bằng cách này họ sẽ giảm được chi phí trả cho băng thông. Tốc độ của BitTorrent rất đáng kinh ngạc, chỉ mất vài giờ để truyền tải các file cực kỳ lớn. Một vài trang web đã ra đời dựa theo công nghệ này phân phát các nội dung có bản quyền. Ngay lập tức, các tổ chức như MPAA đã đổ lỗi cho công nghệ này, điều đó hoàn toàn sai, thực tế lỗi là ở các cá nhân sử dụng công nghệ cho mục đích trái phép. Dù thế nào đi nữa, BitTorrent không phải sinh ra để phát tán tài nguyên bất hợp pháp, nó là một phát minh của Bram để giúp cho việc truyền tải trở nên nhanh hơn trong thế giới mạng. Nó được sử dụng trên các trang web trên khắp thể giới và Bram tự hào về điều này. 1.1. Các file Torrent. BitTorrent không giống các mạng P2P nào như là eD2K hoặc FastTrack, bạn không thể search được file A bằng cách sử dụng các chương trình BitTorrent. Thay vào đó bạn phải vào các trang web có danh sách các file Torrent. Các file Torrent này chứa các thông tin về file A mà bạn muốn download và chứa thông tin về các “tracker” mà bạn phải kết nối để bắt đầu download. Các “tracker” là các máy chủ trung tâm, nó lưu giữ thông tin về từng người đang chia sẻ các file A, và các phần mà họ có. Khi bạn download file Torrent, và open nó, chương trình BitTorrent (như là. Bit Torrent, Bit Tornado, Azureus, ...vvv.) sẽ chạy và kết nối đến các tracker. Tracker sẽ kết nối bạn đến Seeds và Peers – những người đang chia sẻ file A này và quá trình download của bạn sẽ bắt đầu. Đến khi bạn có ít nhất một “mảnh” của file A, bạn đã có thể upload “mảnh” đó cho những người chưa có. Như vậy bạn đã có thể thấy rằng BitTorrent khác với các mạng P2P khác : cần có file Torrent cho các file (hoặc thư mục) mà bạn muốn download hoặc chia sẻ. 1.2. Trackers Các trang web liệt kê các file torrent (như là torrentbox.com) có những tracker của họ để quản lý việc download và chia sẻ giữa mọi người. File torrent phải có thông tin chi tiết về tracker. Do đó bạn muốn kết nối đến tracker nào thì chỉ có thể sử dụng file torrent được tạo cho tracker đó. Có các phần mềm để giúp bạn thiết lập các tracker riêng và tạo file torrent. 1.3. Seeds, Peers và Leechers. Có ba khái niệm rất quan trọng mà bạn sẽ luôn gặp chúng cho đến khi nào bạn còn sử dụng BiTorrent để chia sẻ file và thư mục. Seeds là những người đã có 100% file hoặc thư mục (file hoặc thư mục hoàn chỉnh) và vẫn đang tiếp tục upload cho những người khác. Peers là nhưng người chưa có đủ 100% file (file chưa hoàn chỉnh) đang download các phần mà họ chưa có đồng thời upload các phần họ đã có cho người khác. Leechers là nhưng người download file nhưng không upload hoặc giảm mức upload xuống mức thấp nhất. Những người này bị gọi là kẻ trộm bởi vì đơn giản họ chỉ lấy cái họ cần và bỏ đi. 1.4. Các trang có file torrent Có rất nhiều trang web liệt kê các file torrent. Bạn chọn rồi down load file torrent về. Sau đó open bằng chương trình BitTorrent của bạn. Ngay lập tức, bạn sẽ được kết nối với tracker và bắt đầu download. Một số trang web đó là... isohunt.com mininova.org Torrentbits.org TorrentReactor.com FileList.org – Phải đăng ký ... 1.5. Tầm quan trọng của việc Upload. Việc upload trên BitTorrent là đương nhiên và cần thiết. Đặt trường hợp bạn đang download file có 3 seeds và 800 peers, và việc chia sẻ đã hoàn tất ở một số peers. Giả sử bạn là 1 peer đã download xong nhưng chỉ upload 10% của file rồi ngừng. Việc làm này sẽ dẫn đến hậu quả rất xấu bởi vì bạn làm vậy thì nhiều người khác cũng có thể làm như vậy, sau đó sẽ có rất ít seeds và có thể sẽ không còn seeds và những người chưa hoàn tất sẽ không có file hoàn chỉnh. Nếu tất cả mọi người đều có thói quen ngừng upload ngay khi download xong thì file đó sẽ không tồn tại lâu. Hãy đảm bảo rằng dung lượng upload của bạn bằng với dung lượng download hoặc hơn. Nếu ai đó download 700MB và upload 700MB thì vẫn chưa tốt. Để file đó có thể tồn tại lâu và những người khác còn được download về với tốc độ cao, mọi người hãy cố upload bằng 150% dung lượng mình download. Khi bạn đã download xong, hãy tiếp tục upload đến khi bạn đạt tỉ lệ này. Các tracker luôn cấm các leechers do đó luôn theo dõi việc download/upload của bạn. Nếu bạn thích BitTorrent, đừng thử hoặc cố đánh lừa nó . 2. BitTorrent hoạt động như thế nào? Nói như dân kỹ thuật thì BitTorrent là một giao thức được tạo ra phục vụ cho quá trình truyền tải file. Dưới hình thức kết nối peer-to-peer, người sử dụng kết nối trực tiếp với nhau để gửi và nhận các phần của một file. Một server trung tâm, dưới tên gọi tracker, được lập ra để xác định vị trí những người dùng ấy. Tracker mang nhiệm vụ duy nhất là quản lý các kết nối, nó ko cần biết gì về nội dung file đang được truyền tải, bởi thế ngay cả khi tracker có băng thông cực nhỏ, một số lượng người dùng cực lớn vẫn có thể tham gia vào việc truyền tải file. Điểm cơ bản trong BitTorrent chính là việc người dùng thực hiện việc up và down cùng một lúc trong khi băng thông được tổ chức sao cho tối ưu nhất. BitTorrent được thiết kế để khi số người dùng càng tăng cao thì càng làm việc hiệu quả - điều này trái ngược hẳn với các giao thức truyền tải file khác. Một ví dụ để dễ hình dung quá trình này này là hình ảnh một nhóm người ngồi quanh một cái bàn. Hiển nhiên ai cũng có thể nói và nghe người khác nói. Giờ hãy tưởng tượng họ đều đang cố lấy một bản copy của một cuốn sách. Người A cho biết anh ta có trang 1-10, 23, 42-50 và trang 75. Người C, D, E đều thiếu một số trang trong số các trang người A có, vì thế họ cần sắp xếp để lấy bản copy của những trang mà mình thiếu. Đến người B, anh cho biết mình có trang 11-22, 31-37, và 63-70. Người A, D và E bảo B rằng họ muốn một vài trang trong số đó, và B cần đưa cho họ bản copy các trang ấy. Quá trình cứ thế tiếp tục, mọi người lần lượt trao đổi cho nhau những phần mình có và người khác cần. Sau một lát, dù tất cả đã có bản copy của hầu hết các trang trong cuốn sách, song ko ai trong số họ có đủ cả cuốn. Giờ hãy chú ý đến một người khác cũng ngồi bên bàn mà ta tạm gọi là S. Người này có bản copy của cả cuốn sách, và vì thế ko cần nhận bất cứ trang nào. Anh ta có nhiệm vụ phân phát những trang mà ko ai trong nhóm có. Còn người nhận sẽ ko lấy các trang mà người khác trong nhóm đã có. Như vậy, người S có thể chia sẻ cuốn sách cho người khác mà ko cần phải gửi cả bản copy cho từng người. Anh ta chỉ việc đưa bản copy các trang khác nhau cho những người khác nhau, và tự họ sẽ chia sẻ cho nhau. Người S ở đây được gọi là seed trong BitTorrent. Vậy, khi download với chương trình BitTorrent, cái ví dụ để hình dung ấy được áp dụng như thế nào? 1. Trước hết, bạn tải về một file .torrent và mở nó với chương trình BitTorrent của mình. File torrent này ko chứa file mà bạn muốn down, nó chỉ mang dữ liệu mô tả file mà bạn CHUẨN BỊ down. 2. Chương trình BitTorrent của bạn dùng thông tin ghi nhận được trong file torrent để kết nối với tracker. Tracker là server mang thông tin và danh sách các peer đang kết nối với file bạn muốn down 3. Trình BitTorrent của bạn gửi request tới các peer đang kết nối với file đó (swarm) và bắt đầu down về các phần nhỏ của file đó từ mỗi peer. 4. Khi đã down xong mỗi phần nhỏ, trình BitTorrent sẽ bắt đầu up phần đó lên cho những ai trong swarm chưa có cơ hội down phần nhỏ ấy. 5. Quá trình tiếp diễn cho và mọi người trong swarm tiến hành down các phần của file mình cần. 6. Sau khi down xong file bạn cần, trình BitTorrent sẽ chuyển máy bạn thành seed cho file đó và cho phép mọi người tiếp tục down cho đến khi bạn thoát khỏi chương trình. Để một file torrent có thể được truyền tại, cần ít nhất 1 seed. 3. Các thuật ngữ torrent Thường thì torrent là một file mang phần mở rộng .torrent bạn nhận từ server. File .torrent này chứa thông tin về dữ liệu bạn muốn down (chứ ko phải là bản thân dữ liệu đó). Bạn có thể save file .torrent đó trên máy của mình, sau đó mở nó bằng trình BitTorrent để tiến hành việc download. Hoặc, bạn có thể down ngay bằng cách click thẳng vào link trên trang web - cách này sẽ làm bạn mất thêm chút công sức nếu muốn down lại file đó sau này. peer Peer là một máy tính khác trên mạng internet. Bạn 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 ko 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 ko chịu để trình BitTorrent chạy tiếp và hoạt động như một seed. seed Một máy tính có bản copy hoàn 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 hoặc đóng hoàn toàn trình BitTorrent lại. Thường thì bạn nên chơi đẹp bằng cách seed một file đã 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 ko biết tí gì về nội dung thực sự của file, vì thế luôn cần phải có ít nhất một máy đóng vai trò seed. reseed Với một file torrent mà số seed của nó là con số 0 tròn trĩnh (hoặc ko có đủ số peer để tạo thành một bản copy hoàn hảo), thì dù muốn hay ko tất cả những gì các peer nhận được cũng sẽ là 1 file ko hoàn chỉnh, vì ko ai trong swarm đó có các phần còn thiếu. Khi điều đó xảy ra, một ai đó với file hoàn chỉnh (seed) sẽ phải đứng ra kết nối với swarm để tiến hành việc 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 nhất định, 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 BitTorrent. 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 đã 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ẽ ko thể 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ẽ ko 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 dài, do đó bạn chỉ việc 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 góp càng nhiều. Nếu bạn thấy share ratio là vô cùng, thì nghĩa là bạn đang seed một file - bạn up nhưng ko 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ể. 4. Những câu hỏi thường gặp : Có cách nào tăng tốc độ down ko? Tôi down chậm quá mức. Có một vài thủ thuật mà bạn có thể xem xét: * Bình tĩnh! Và hãy chờ đợi! Đó là lời khuyên quan trọng nhất dành cho bạn. Đôi khi để kết nối một tracker chậm tốn rất nhiều thời gian. Lúc bắt đầu down 1 file bao giờ cũng chậm một cách khó tin bởi bạn chưa có phần nào của file để chia sẻ. Nhất là gần đây, các tracker thường bị overload và dẫn tới các lỗi timeout. Hãy nhớ: Để kệ trình BitTorrent và tốc độ sẽ được cải thiện ko sớm thì muộn. * Nếu mạng của bạn dùng NAT, hãy đảm bảo rằng cổng của BitTorrent được forward tới máy chạy trình BitTorrent. Nếu ko làm việc này, bạn sẽ chỉ có kết nối ra mà ko có kết nối từ peer vào. * Nếu dùng firewall phần mềm, bạn cần chắc rằng trình BitTorrent có đủ quyền để kết nối mạng. * Hãy đảm bảo file torrent đó *còn sống*. Hãy kiểm tra trạng thái của file torrent, số peer và seed mà bạn đang kết nối. Cần có ít nhất vài người kết nối với nhau nếu bạn mong chờ một tốc độ ổn định. Càng nhiều peer, tốc độ càng nhanh - hãy nhớ điều đó. * Đôi khi, hạn chế tốc độ up sẽ cải thiện tốc độ down. Với kết nối bất đối xứng như ADSL, điều đó càng đúng. Hãy chỉnh tốc độ up bằng khoảng 80% tốc độ tối đa. Thường thì bạn sẽ có tốc độ down nhanh hơn một chút trong trường hợp có ít peer. * Hãy chắc rằng mạng máy tính của cho phép BitTorrent kết nối ra ngoài. Một vài mạng ở trường học, công sở được bảo vệ bằng firewall và mọi kết nối phải qua proxy server. Trong các trường hợp khác, chỉ vài cổng quen thuộc là có thể sử dụng được. Khó có thể kể hết các tình huống xảy ra, song nói chung nếu bạn thấy mình đang cố down một file *còn sống* mà số peer và seed lại là 0 thì... rõ ràng vấn đề nằm ở chỗ này. BitTorrent thông báo tôi đang up file, nhưng thực tế là file nào cơ chứ? Đừng lo lắng. Tại thời điểm bạn down một file torrent nào đấy, bạn cũng đang up chính file đó. Những phần của file mà bạn đã down được về đang được up lên cho các peer khác. Điều này hết sức bình thường, và đó chính là cách thức mà giao thức BitTorrent làm việc. Ở đây ko hề có khái niệm "thư mục để share" như các trình peer-to-peer khác. Nếu bạn muốn chia sẻ một file nào đó, bạn cần tạo một file .torrent và up nó lên server, sau đó trở thành seed cho file đó. Điều gì xảy ra nếu đang down thì tôi bấm cancel? Có resume được ko? BitTorrent hoàn toàn hỗ trợ việc stop và resume một file đang down. Nếu bạn bấm cancel khi đang down 1 file, file đó sẽ vẫn nằm trên ổ cứng của bạn. Để resume, bạn chỉ việc bấm vào link torrent đó một lần nữa. Khi được hỏi bạn save file ở đâu, hãy trỏ tới đúng vị trí lần trước. BitTorrent sẽ tự nhận thấy file đó đã tồn tại và nó sẽ kiểm tra xem file đó đã được down bao nhiều %, sau đó tiếp tục quá trình down. Bạn cần chú ý chọn đúng vị trí lưu để việc resume hoạt động đúng như mong đợi. Với 1 file riêng lẻ, điều đó khá dễ dàng. Nhưng với một torrent chứa 1 thư mục với nhiều file, có thể bạn sẽ thấy bối rối. Trong trường hợp này, bạn cần chọn thư mục chứa thư mục BitTorrent. Hãy thử xem ví dụ sau đây: Giả sử bạn down 1 torrent tên là UDS, và save nó vào thư mục Download. Cây thư mục sẽ có dạng \Download\UDS\file1, \Download\UDS\file2,... Điều cần nhớ khi bấm resume chính là: Bạn cần trỏ đến thư mục Download chứ KHÔNG PHẢI Download\UDS. Hãy chú ý điều đó. Tại sao file tôi down về có dung lượng quá lớn trong khi tôi mới chỉ down có một phần nhỏ? Khi BitTorrent hoạt động, nó xác định trước dung lượng cho cả file bự. Vì BitTorent down một cách ngẫu nhiên các mảnh của file thay vì down một file từ lúc bắt đầu đến khi kết thúc như giao thức HTTP và FTP nên nó cần phải “giữ chỗ trước” cho dữ liệu cần down. Khi trình BitTorent chạy, bạn sẽ thấy điều này trên thanh progress bar – tượng trưng cho file. 5. Port forwarding là gì? 1. Port forwarding là gì? Nếu máy tính của bạn kết nối với internet thông qua router hoặc có một trình firewall đang chạy, port forwarding là động tác mở một cổng trên router/firewall để các kết nối từ bên ngoài có thể thiết lập được với máy tính của bạn. Có một vài điểm mà bạn cần nắm rõ trước khi bắt tay vào tìm hiểu về port forwarding. Để cho đơn giản và nhanh chóng, bạn hãy tạm chấp nhận những *tiên đề* sau (đúng trong hầu hết các trường hợp): 1. Mỗi thiết bị trên mạng internet đầu có ít nhất 1 địa chỉ IP. Địa chỉ IP là một con số được sử dụng để nhận diện một thiết bị. 2. Mỗi địa chỉ IP được chia ra làm nhiều cổng khác nhau. Khi một máy tính gửi dữ liệu đến một máy tính khác, dữ liệu sẽ đi từ một cổng thuộc địa chỉ IP này đến một cổng thuộc địa chỉ IP kia. 3. Trong một thời điểm bất kỳ, một cổng chỉ có thể được sử dụng bởi một chương trình. Giờ, khi bạn đã nắm được những điểm trên, ta hãy cùng nói đến NAT. NAT là viết tắt của Network Address Translation. NAT nhận một địa chỉ IP và, về cơ bản, chia nó ra làm nhiều địa chỉ IP khác nhau. Ở đây, địa chỉ IP ngoài (external IP address) được chia thành 2 địa chỉ IP nội bộ (internal IP address). Địa chỉ IP thứ 1 (IP Address1) là của gateway. Địa chỉ IP thứ 2 (IP Address2) là của máy tính thứ nhất. Cần chú ý rằng router có 2 địa chỉ IP - 1 địa chỉ IP ngoài và 1 địa chỉ IP nội bộ làm việc như một gateway đối với mỗi máy tính trong mạng. Trong hình trên, những máy tính trong mạng nội bộ (internal network) chỉ *nhìn thấy* những địa chỉ IP nội bộ. Vì thế những máy tính này ko thể gửi dữ liệu trực tiếp tới một máy tính ngoài mạng mà ko thông qua gateway. Cần nhớ, gateway là địa chỉ IP nội bộ của router. Khi máy tính trong mạng muốn gửi dữ liệu ra ngoài, đầu tiên những dữ liệu đó sẽ được chuyển đến gateway, sau đó router sẽ đưa chúng ra ngoài thông qua địa chỉ IP ngoài. Điều này cũng tương tự như những gì xảy ra trên mạng internet. Một máy tính ngoài mạng sẽ ko thể *thấy* một máy tính trong mạng nội bộ. Chúng chỉ có thể *thấy* và gửi dữ liệu tới router thông qua địa chỉ IP ngoài. Sau đó, router mới quyết định xem nó phải làm gì mới những dữ liệu đó - và NAT đóng vai trò chính trong quá trình này. Thật may mắn là NAT được cấu hình sẵn để làm việc với vài chương trình. Tuy vậy, có những chương trình mà NAT ko được thiết kế để làm việc với, do đó chúng ta phải làm một bước gọi là port forwarding. Port forwarding cũng khá đơn giản. Khi một máy tính trong mạng internet gửi dữ liệu tới router qua địa chỉ IP ngoài, router cần xác định xem nó sẽ làm gì với dữ liệu đó. Quá trình port forwarding sẽ chỉ ra cho router thấy: Cần gửi dữ liệu tới máy tính nào trong mạng LAN. Khi bạn cài đặt xong các rule cho port forwarding, router sẽ lấy dữ liệu dạng địa chỉ IP ngoài:số thứ tự cổng và gửi dữ liệu đó tới địa chỉ IP nội bộ:số thứ tự cổng. Các rule dành cho port forwarding được cài đặt theo cổng. Vì thế, rule cho cổng mang số 53 sẽ chỉ làm việc cho cổng mang số 53. Xin nhắc lại: Tại 1 thời điểm, một cổng chỉ có thể được sử dụng bởi một chương trình! Dùng cùng 1 cổng trên 2 máy tính trong mạng nội bộ vào cùng một thời điểm có thể dẫn tới xung đột giữa các rule và làm rối loạn việc truyền dữ liệu. Hầu hết các router đều bắt bạn chỉ ra chính xác địa chỉ IP nội bộ cần forward đến cũng vì lý do này. Còn với những router ko bắt bạn làm việc này, hãy cẩn thận! Rule cho port forwarding chỉ làm việc với một máy tính trong một thời điểm! 2. Tại sao cần phải forward port? Dữ liệu được truyền tải thông qua một cổng khi bạn đang download. Nếu cổng đó chưa được mở, bạn chỉ có thể kết nối được với những người khác trong swarm (cổng của họ đã mở). Nếu cổng của bạn đã mở rồi, những người khác có thể kết nối với bạn (những người này có thể đã mở hoặc chưa mở cổng). Như vậy, việc mở cổng làm tăng số lượng người kết nối được với bạn và do đó sẽ tăng tốc độ download. ----------------------------------------------------- Bài giới thiệu khác BitTorrent là giao thức tải file ngày càng phổ biến trên Internet với ưu điểm không yêu cầu cao về phần cứng của mạng và băng thông. Các bạn thường tải phần mềm từ download.com, tải nhạc từ nhacso.net? Đó là cách tải file từ máy chủ thông thường, nghĩa là người ta đưa phần mềm, đưa nhạc lên một máy chủ để từ đó chúng ta lấy về máy của mình một cách trực tiếp. Vấn đề đặt ra là nếu file có dung lượng lớn và có nhiều người cùng tải thì sao? Tất nhiên lúc đó máy chủ sẽ quá tải và băng thông không thể đủ. Giống như chỉ có một người có cuốn sách mà tất cả mọi người đều giành giật để đi photo vậy. BitTorrent ra đời để giải quyết vấn đề đó. BitTorrent là một giao thức tải file trên mạng ngang hàng (Peer-to-Peer, viết tắt là P2P). Thay vì làm như trên, nó sẽ chia cuốn sách ra làm nhiều phần, mỗi người lấy một phần đi photo, sau đó trao đổi với nhau phần mình có để photo tiếp cho đầy đủ. Đó là cách nói cho dễ hiểu, còn để bước vào thế giới BitTorrent vốn chiếm 1/3 lưu lượng download trên mạng này, chúng ta cần biết một số thuật ngữ cơ bản: - Peer: là tất cả máy tính trong quần thể tải file bằng BitTorrent, trừ máy chủ, nhưng nó thường dùng để chỉ máy chưa có đầy đủ file. Peer vừa download vừa upload. - Seed: là máy tính có được đầy đủ file chia sẻ (máy tính có 100% file trong hình). Máy tính này đóng vai trò như người có đầy đủ cuốn sách. Seed chỉ upload chứ không download. - Tracker: là máy tính theo dõi (đứng trên cùng trong hình). Nó ghi lại thông tin về các seed, peer để cung cấp cho các máy. Cần lưu ý là tracker không chứa file mà nó chỉ quản lý quá trình trao đổi file mà thôi. - Swarm: là quần thể các seed, peer cùng chia sẻ một file. - Leech: là từ để chỉ máy “khoái” download hơn là upload. Tức là tỉ lệ upload rất nhỏ so với download. - Torrent: là file có đuôi .torrent, file này chứa thông tin về file chia sẻ như tên, dung lượng, giải thuật chia nhỏ... và địa chỉ của tracker. Muốn tải file chia sẻ ban phải tải file này về trước. - Phần mềm tải file chia sẻ (BitTorrent client): là những phần mềm đặc chủng để tải file dạng này, và số lượng các phần mềm này cũng cực kỳ nhiều. ¡ BitTorrent hoạt động như thế nào? Ví dụ tôi có một file phim hoạt hình Doremon.wmv. Bây giờ tôi muốn chia sẻ nó với cộng đồng trên mạng bằng giao thức BitTorrent, trình tự thực hiện sẽ như sau: Tôi dùng phần mềm để tạo file Doremon.torrent từ file Doremon.wmv (thường các BitTorrent client có sẵn chức năng này). File này có chứa thông tin về file Doremon.wmv và nó cắt file Doremon.wmv ra nhiều mảnh theo tùy chọn của tôi (ví dụ có dung lượng 100 MB thì tôi cắt thành 100 mảnh), nó cũng chứa địa chỉ của tracker mà tôi nhập vào. Tôi upload Doremon.torrent lên một trang web nào đó (ví dụ bittorrent.com). Kể từ đó, tôi trở thành seed đầu tiên và phải mở kết nối để mọi người có thể lấy file trực tiếp từ máy của tôi. Những vị khách đầu tiên đã đến, họ phải tải file Doremon.torrent về và mở nó lên bằng một BitTorrent client. Chương trình sẽ đọc những thông tin trong đó và tiến hành việc tải file Doremon.wmv. Những người đầu tiên sẽ lấy trực tiếp các mảnh từ máy của tôi, người đến sau sẽ yêu cầu những mảnh mà người đến trước chưa có để file nhanh chóng có đầy đủ các mảnh trong cộng đồng. Họ là những peer đầu tiên. Trong quá trình download, các BitTorrent client sẽ không ngừng tìm kiếm (thông qua tracker) những peer có mảnh mà họ còn thiếu và những mảnh họ có để trao đổi cho nhau, nhờ đó giảm bớt gánh nặng cho máy của tôi. Khi tất cả các mảnh đã được đưa lên, tôi có thể lựa chọn tiếp tục duy trì hoặc ngắt kết nối. Khi một peer có đầy đủ các mảnh của file Doremon.wmv, BitTorrent client sẽ nối nó lại thành file hoàn chỉnh. Đồng thời nếu người đó vẫn duy trì kết nối, anh ta sẽ trở thành seed. Cứ thế quá trình được thực hiện liên tục và từ một file ban đầu đã được “nhân bản” thành hàng trăm, hàng nghìn, hàng vạn file mà chẳng cần phải upload nó lên một server nào. Tất cả đều được truyền đi từ người này đến người khác. --Ken UDS-- |
CHUYÊN MỤC ĐƯỢC TÀI TRỢ BỞI |
Công cụ bài viết | |
Kiểu hiển thị | |
|
|
Múi giờ GMT +7. Hiện tại là 09:12 PM |