Tài liệu tham khảo công nghệ thông tin Nghiên cứu ảnh hưởng của hiện tượng “tham gia mà không đóng góp” lên hệ thống chia sẻ file ngang hàng bittorren
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘITRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Lê Quang Tuấn
NGHIÊN CỨU ẢNH HƯỞNG CỦA HIỆN TƯỢNG“THAM GIA MÀ KHÔNG ĐÓNG GÓP” LÊN HỆ
THỐNG CHIA SẺ FILE NGANG HÀNGBITTORRENT
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
HÀ NỘI - 2009
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘITRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Lê Quang Tuấn
NGHIÊN CỨU ẢNH HƯỞNG CỦA HIỆNTƯỢNG “THAM GIA MÀ KHÔNG ĐÓNG GÓP”LÊN HỆ THỐNG CHIA SẺ FILE NGANG HÀNG
Trang 3Lời cảm ơn
Mở đầu cho khóa luận, em xin gửi lời cám ơn chân thành nhất tớicác thầy cô giáo trong khoa Công nghệ thông tin, Trường đại họcCông Nghệ, Đại học Quốc gia Hà nội đã tận tình dạy dỗ em trong 4năm học vừa qua Đặc biệt, em xin chân thành cám ơn tiến sỹNguyễn Đại Thọ, người đã hướng dẫn, chỉ bảo em trong quá trìnhthực hiện khóa luận này.
Mình cũng muốn gửi lời cám ơn tới những người bạn học K50CBvà K50MMT, những người đã cùng với em chia sẽ những ngày thángtrên ghế giảng đường đại học, cùng chia sẻ niềm vui cũng như giúpđỡ lẫn nhau trong quá trình học tập tại trường.
Cuối cùng, với tất cả lòng biết ơn, con muốn nói lời cám ơn chamẹ, những người đã luôn tin tưởng và động viên em, cho em chỗdựa vững chắc để vững tin hơn trong cuộc sống.
Tháng 5 năm 2009Lê Quang Tuấn
Trang 4Tóm tắt
Đề tài nghiên cứu của khóa luận tập trung vào vấn đề “nghiên cứu ảnh hưởng củahiện tượng “tham gia mà không đóng góp”(tiếng Anh: free-riding) đối với hệ thốngchia sẻ file ngang hàng BitTorrent” Trước hết, khóa luận sẽ cung cấp một cái nhìntổng quan về hệ thống mạng ngang hàng hiện nay Tiếp đó, chúng ta sẽ đi sâu vàonghiên cứu hệ thống chia sẻ file ngang hàng BitTorrent (khái niệm, cơ chế và hoạtđộng) và để làm rõ nội dung của đề tài nghiên cứu, Hệ thống BitTorrent sẽ được môhình hóa bởi các tham số, các nút tham gia trong mạng được chia làm 3 loại đó là seed(nút chỉ upload mà không download), free-rider (nút tham gia vào hệ thống chỉdownload mà không đóng góp) và non free-rider (các nút bình thường, vừa tham giadownload vừa tham gia upload), từ đó xem xét khả năng tự bảo vệ chống lại free-riding trong cơ chế của BitTorrent, và đề xuất phương án cải thiện Trong phần sau củakhóa luận, tôi đã sử dụng chương trình mô phỏng OctoSim (một chương trình môphỏng hệ thống BitTorrent của Microsoft Research) để thực hiện các thử nghiệmchứng minh tính đúng đắn của những nghiên cứu.
Trang 5Mục lục
Giới thiệu chung 1
Chương 1 Tổng quan về mạng ngang hàng 3
1.1 Khái niệm về mạng ngang hàng 3
1.2 Phân loại mạng ngang hàng 3
1.2.1 Mạng ngang hàng thuần túy và mạng ngang hàng lai ghép 3
1.2.2 Mạng ngang hàng không có cấu trúc và mạng ngang hàng có cấu trúc 4
1.3 Ưu thế và các vấn đề cần xem xét trong mạng ngang hàng 5
1.3.1 Các ưu thế của mạng ngang hàng 5
1.3.2 Các vấn đề cần xem xét trong mạng ngang hàng 5
1.3.3 Tiềm năng phát triển của mạng ngang hàng 6
Chương 2 Mạng chia sẻ file ngang hàng BitTorrent 7
2.1 BitTorrent là gì? 7
2.2 Cơ chế và hoạt động của BitTorrent 8
2.2.1 Quá trình chia sẻ file 8
2.2.2 Sự lựa chọn các phần đơn vị (Piece Selection) 9
2.2.3 Thuật toán Choking 10
2.3 Optimistic Unchoking và Free-Rider 10
2.4 So sánh BitTorrent và một số hệ thống chia sẻ file ngang hàng khác 11
Chương 3 Mô hình hóa và xem xét ảnh hưởng của free-riding lên hệ thống chia sẻ file BitTorrent 13
3.1 Một số nghiên cứu liên quan 13
3.2 Mô hình và các tham số 13
3.3 Nghiên cứu hệ thống ở trạng thái ổn định (steady-state) 16
Chương 4 Chương trình mô phỏng OctoSim 23
4.1 Cài đặt và sử dụng chương trình 23
4.1.1 Giới thiệu, cách thức cài đặt và thiết lập môi trường để chạy chương trình OctoSim 23
4.1.2 Đầu vào và đầu ra của chương trình mô phỏng 24
4.2 Cấu trúc và chức năng của chương trình mô phỏng 25
Chương 5 Các thí nghiệm mô phỏng và đánh giá 31
5.1 Kết luận sau khi xem xét mô hình và đề xuất phương án cải thiện 31
5.1.1 Kết luận thu được từ quá trình phân tích và tính toán 31
5.1.2 Đề xuất phương án cải thiện 31
5.2 Tiến hành các thử nghiệm 32
5.2.1 Thử nghiệm thứ nhất 32
5.2.2 Thử nghiệm thứ hai 34
5.2.3 Thử nghiệm thứ ba 36
Chương 6 Kết luận và phương hướng tiếp theo 37
Tài liệu tham khảo 39
Trang 6Giới thiệu chung
Hiện nay, máy tính đã trở thành công cụ không thể thiếu trong cuộc sống của mỗicon người Máy tính đã hỗ trợ rất đắc lực cho chúng ta trong công việc, học tập cũngnhư giải trí hầu như mọi nơi, mọi lúc Và một trong những lý do lớn khiến cho máytính có thể len lỏi vào từng ngõ ngách của cuộc sống như vậy chính là do có sự xuấthiện của mạng Internet Internet giúp chúng ta thu hẹp mọi khoảng cách, mở cánh cửabước vào kho tài nguyên tri thức vô tận của nhân loại.
Trong quá trình phát triển của Internet, bên cạnh những ứng dụng theo mô hìnhClient / Server truyền thống như WWW, email, FTP,… trong thời gian gần đây, đãxuất hiện các ứng dụng theo mô hình ngang hàng (Peer to Peer – P2P) Với các ưuđiểm như tốn ít chi phí xây dựng cơ sở hạ tầng, tận dụng được tài nguyên của các máytham gia vào mạng, giải quyết được vấn đề điểm chết trung tâm của mô hình Client /Server truyền thống, các ứng dụng trên mạng ngang hàng ngày càng được quan tâmphát triển nhiều hơn.
Từ sự xuất hiện của Napster vào năm 1999, có nhiều ứng dụng chia sẻ file nganghàng được phát triển, ví dụng như Gnutella, KaZaA và BitTorren Nhưng trong đóBitTorrent có số lượng người dùng lớn nhất và đã trở thành giải pháp chính cho việcchia sẻ file ngang hàng Trong một nghiên cứu đã cho thấy rằng, các tài khoản sử dụngBitTorrent chiếm tới 35% lưu lượng trung chuyển trên mạng Internet, đó là 1 con sốlớn, hơn tất cả các hệ thống chia sẻ file khác gộp lại.
Sự phát triển mạnh mẽ của BitTorrent trong thời gian vừa qua cho thấy sự hiệuquả và ổn định trong cơ chế và giao thức của nó Tuy nhiên, cũng như hầu hết các hệthống hoạt động trên mô hình mạng ngang hàng, hoạt động của BitTorrent cũng dựatrên sự tự nguyện đóng góp của các thành phần tham gia trong mạng Do đó,BitTorrent cũng phải đối mặt với vấn đề free-riding (có những người dùng tham giavào mạng chỉ để lấy tài nguyên về mà không chịu đóng góp cho hệ thống).
Trong khuôn khổ của khóa luận, chúng ta sẽ từng bước tìm hiểu qua 6 chương:
Chương 1: Tổng quan về mạng ngang hàng, Trình bày các kiến thức cơ bản về
mạng ngang hàng (P2P Network),ưu nhược điểm của mạng ngang hàng và các vấn đềcần chú ý khi nghiên cứu mạng ngang hàng.
Chương 2: Hệ thống chia sẻ file ngang hàng BitTorrent, giới thiệu về
BitTorrent, cơ bản về giao thức, cách thức chia sẻ file, cơ chế thúc đẩy các nút thamgia đóng góp cho hệ thống So sánh BitTorrent với một vài hệ thống chia sẻ file ngang
Trang 7hàng khác Trong chương này cũng trình bày nguyên nhân dẫn đến khả năng tồn tạicủa các nút free-rider.
Chương 3: Mô hình hóa và xem xét ảnh hưởng của hiện tượng free-ridinglên hệ thống chia sẻ file BitTorrent, trong chương này tôi nghiên cứu mô hình
BitTorrent được đề xuất trong bài báo “Free-Riding on BitTorrent-like File SharingSystem: Modeling, Analysis and Improvement” của các tác giả Jiadia Yu, Minglu Li,Jie Wu Qua đó thấy được mức độ ảnh hưởng của hiện tượng free-riding lên hệ thốngcũng như khả năng tự bảo vệ của hệ thống BitTorrent Từ đó, đề xuất cơ chế khắc hạnchế hiện tượng free-riding.
Chương 4: Chương trình mô phỏng OctoSim, chương này giới thiệu và mô tả
cấu trúc chức năng của chương trình mô phỏng OctoSim ( một chương trình mô phỏnghệ thống BitTorrent của Microsoft Research được viết bằng ngôn ngữ C#)
Chương 5: Các thí nghiệm mô phỏng và đánh giá, trong chương này tôi rút ra
một số kết luận từ quá trình nghiên cứu và đề xuất phương án nhằm hạn chế hiệntượng free-riding, sau đó sử dụng chương trình mô phỏng OctoSim để thực hiện cácthí nghiệm nhằm kiểm chứng các kết quả nghiên cứu và hiệu quả của đề xuất, và cónhững nhận xét cũng như giải thích về những kết quả đã đạt được.
Chương 6: Kết quả thu được trong quá trình làm khóa luận và phương hướng
nghiên cứu trong tương lai.
Trang 8Chương 1 Tổng quan về mạng ngang hàng
1.1 Khái niệm về mạng ngang hàng
Mạng ngang hàng (Peer-to-Peer hay P2P) [1] là một mạng máy tính trong đó
hoạt động của mạng chủ yếu dựa vào khả năng tính toán và băng thông của các máytham gia chứ không tập trung vào một số nhỏ các máy chủ trung tâm như các mạngthông thường Mạng ngang hàng thường được sử dụng để kết nối các máy thông quamột lượng kết nối dạng ad hoc Mạng ngang hàng có nhiều ứng dụng Các loại ứngdụng thường xuyên gặp nhất là các ứng dụng chia sẻ tập tin, tất cả các dạng như âmthanh, hình ảnh, dữ liệu, hoặc ứng dụng truyền dữ liệu thời gian thực như điện thoạiVoIP.
Một mạng ngang hàng đúng nghĩa không có khái niệm máy chủ và máy khách,nói cách khác, tất cả các máy tham gia đều bình đẳng, mỗi máy là một nút mạng (còngọi là peer) đóng vai trò đồng thời là máy khách và máy chủ đối với các máy kháctrong mạng.
1.2 Phân loại mạng ngang hàng
1.2.1 Mạng ngang hàng thuần túy và mạng ngang hàng lai ghépMạng ngang hàng thuần túy:
- Các máy trạm có vai trò vừa là máy chủ vừa là máy khách.- Không có máy chủ trung tâm quản lý mạng.
- Không có máy định tuyến (bộ định tuyến) trung tâm Các máy trạm có khả năngtự định tuyến.
- Sử dụng các trạm định tuyến để xác định đia chỉ IP của các máy trạm
1.2.2 Mạng ngang hàng không có cấu trúc và mạng ngang hàng có cấutrúc
Trang 9Mạng phủ (Overlay) ngang hàng bao gồm tất cả các nút mạng đại diện cho cácmáy tham gia và các liên kết giữa các nút mạng này Một liên kết tồn tại giữa hai nútmạng khi một nút mạng biết vị trí của nút mạng kia Dựa vào cấu trúc liên kết giữa cácnút mạng trong mạng phủ ta có thể phân loại hệ thống mạng ngang hàng phân tánthành 2 loại: có cấu trúc hay không cấu trúc.
Một mạng ngang hàng không cấu trúc khi các liên kết giữa các nút mạng trongmạng phủ được thiết lập ngẫu nhiên (tức là không theo qui luật nào) Những mạng nhưthế này dễ dàng được xây dựng vì một máy mới khi muốn tham gia mạng có thể lấycác liên kết có sẵn của một máy khác đang ở trong mạng và sau đó dần dần tự bản thânnó sẽ thêm vào các liên kết mới của riêng mình Khi một máy muốn tìm một dữ liệutrong mạng đồng đẳng không cấu trúc, yêu cầu tìm kiếm sẽ được truyền trên cả mạngđể tìm ra càng nhiều máy chia sẻ càng tốt Hệ thống này thể hiện rõ nhược điểm:không có gì đảm bảo tìm kiếm sẽ thành công Đối với tìm kiếm các dữ liệu phổ biếnđược chia sẻ trên nhiều máy, tỉ lệ thành công là khá cao, ngược lại, nếu dữ liệu chỉđược chia sẻ trên một vài máy thì xác suất tìm thấy là khá nhỏ Tính chất này là hiểnnhiên vì trong mạng ngang hàng không cấu trúc, không có bất kì mối tương quan nàogiữa một máy và dữ liệu nó quản lý trong mạng, do đó yêu cầu tìm kiếm được chuyểnmột cách ngẫu nhiên đến một số máy trong mạng Số lượng máy trong mạng càng lớnthì khả năng tìm thấy thông tin càng nhỏ.
Một nhược điểm khác của hệ thống này là do không có định hướng, một yêu cầutìm kiếm thường được chuyển cho một số lượng lớn máy trong mạng làm tiêu tốn mộtlượng lớn băng thông của mạng, dẫn đến hiệu quả tìm kiếm chung của mạng thấp.
Hầu hết các mạng ngang hàng phổ biến là không cấu trúc như Napster, Gnutella,Fasttrack và eDonkey2000.
Mạng ngang hàng có cấu trúc khắc phục nhược điểm của mạng không cấu trúcbằng cách sử dụng hệ thống DHT (Bảng Băm Phân Tán, tiếng anh: Distributed HashTable) Hệ thống này định nghĩa liên kết giữa các nút mạng trong mạng phủ theo mộtthuật toán cụ thể, đồng thời xác định chặt chẽ mỗi nút mạng sẽ chịu trách nhiệm đốivới một phần dữ liệu chia sẻ trong mạng Với cấu trúc này, khi một máy cần tìm mộtdữ liệu, nó chỉ cần áp dụng một giao thức chung để xác định nút mạng nào chịu tráchnhiệm cho dữ liệu đó và sau đó liên lạc trực tiếp đến nút mạng đó để lấy kết quả.
Một số mạng ngang hàng có cấu trúc nổi tiếng bao gồm Chord, CAN, Kademlia,Pastry và Tapestry.
Trang 10Như vậy có thể thấy hệ thống BitTorrent mà chúng là nghiên cứu thuộc loạimạng ngang hàng lai ghép
1.3 Ưu thế và các vấn đề cần xem xét trong mạng ngang hàng
1.3.1 Các ưu thế của mạng ngang hàng
Các ưu thế của mạng ngang hàng cũng chính là các mục đích ban đầu khi tạo ramạng ngang hàng người ta nghĩ đến Mạng ngang hàng là tập hợp liên kết của các máytính đơn lẻ với nhau và đóng góp tài nguyên (bao gồm dung lượng ổ cứng, băng thôngvà khả năng tính toán) Do đó, sức mạnh của mạng ngang hàng tăng lên khi số núttham gia mạng tăng lên(trái với mô hình client/server truyền thống, sức mạnh và hiệunăng của mạng giảm khi số lượng client tham gia vào mạng tăng lên) Một ưu thế kháccủa mạng ngang hàng so với mô hình client/server truyền thống đó chính là tính chấtphân tán Điều này đảm bảo được tính bền vững của mạng khi có một(hoặc một vàinút) gặp phải sự cố Mặt khác, do tính chất bền vững của mạng là lớn nên nếu có cơchế phân phối thông tin hợp lý thì sẽ luôn đảm bảo được tính sẵn sàng cao trong mạng.Một ưu thế đáng được nói đến nữa của mô hình P2P đó chính là chi phí xây dựng hệthống thấp, do đó việc triển khai một hệ thống mạng cũng khá dễ dàng.
1.3.2 Các vấn đề cần xem xét trong mạng ngang hàng
Các hệ thống mạng ngang hàng đều được xây dựng nên dựa trên sự tự nguyệntham gia của các nút thành viên Do đó khi thiết kế và nghiên cứu cần chú ý đến cácvấn đề sau:
- Tính ổn định và dễ mở rộng của mạng: Làm thế nào để cho các nút cóthể tham gia vào mạng một cách dễ dàng nhất có thể, đồng thời cũng phải giữđược tính ổn định của mạng, có nghĩa là mạng vẫn có thể hoạt động bình thườngkhi có một số nút rời mạng (tự nguyệt hay đột ngột bị lỗi).
- Tận dụng tối đa tài nguyên đóng góp của các nút tham gia mạng: Sứcmạnh của một hệ thống mạng ngang hàng phụ thuộc vào việc hệ thống đó tậndụng được các tài nguyên đóng góp của các nút tham gia mạng Đặc biệt chú ýđến vấn đề tận dụng băng thông của các nút tham gia mạng.
- Đảm bảo được tính công bằng trên mạng: Vai trò của các nút trong mộthệ thống mạng ngang hàng là ngang nhau, do đó mức độ đóng góp và dịch vụđược hưởng cũng phải ngang nhau Trong vấn đề về tính công bằng trên mạng
Trang 11cần đặc biệt chú ý đến hiện tượng free-riding, đây cũng là yếu tố được nghiêncứu trong khóa luận này.
- Duy trì tính sẵn có(avaibility) của tài nguyên: Mục đích của việc lưu trữvà chia sẻ file, ai cũng muốn file được lưu trữ lâu dài và có thể lấy về bất cứ lúcnào Tuy nhiên trong mạng ngang hàng thì không có ràng buộc gì để đảm bảođược điều đó do trong mạng ngang hàng, sự đóng góp là hoàn toàn tự nguyện.
- Còn một vấn đề khác cần được lưu ý ngoài các vấn đề về mặt kĩ thuậttrên Đó chính là vấn đề về bản quyền của các thông tin được chia sẻ trên mạng.Hiện tại, P2P là nơi lý tưởng để trao đổi các file nhạc, film không có bản quyền(cũng là một phần lý do thúc đẩy mạng P2P phát triển như hiện nay).
1.3.3 Tiềm năng phát triển của mạng ngang hàng
Hiện nay, khái niệm mạng ngang hàng hoàn toàn không lạ lẫm Số người biết đếnvà sử dụng những ứng dụng trên nền tảng công nghệ mạng ngang hàng đang tăng lêntừng ngày Mặc dù vẫn còn những vấn đề về bảo mật hay vấn đề về bản quyền củanhững nội dung được trao đổi trong mạng ngang hàng, nhưng với những ưu thế và lợiích mà mạng ngang hàng đem lại, chúng ta vẫn có thể thấy được sự phát triển mạnhmẽ của nó.
Trên thực tế, cũng đang có rất nhiều nghiên cứu phát triển các ứng dụng trên nềncông nghệ mạng ngang hàng, từ những lĩnh vực bình thường của đời sống như giải tríhay truyền hình( các ứng dụng về truyền video thông qua mạng ngang hàng) đến côngviệc kinh doanh hay nghiên cứu khoa học Đặc biệt, quân đội Mỹ cũng đã có những dựán nghiên cứu phát triển những ứng dụng quân sự trên nền công nghệ mạng nganghàng.
Chúng ta hoàn toàn có thể tin tưởng rằng, trong tương lai gần, mạng ngang hàngsẽ tiếp tục phát triển và cung cấp thêm nhiều lợi ích cho cuộc sống
Trang 12Chương 2 Mạng chia sẻ file ngang hàng BitTorrent
2.1 BitTorrent là gì?
BitTorrent là tên một giao thức chia sẻ file được lập trình viên Bram Cohen thiếtkế vào tháng 4 năm 2007, và chỉ 3 tháng sau đó, tháng 7 năm 2001, giao thức này đãđược đưa vào triển khai trong thực tế và tạo ra một hệ thống chia sẻ file theo mô hìnhmạng ngang hàng mới, cũng được mang tên là BitTorrent Ngoài chương trìnhBitTorrent Client đầu tiên được viết bởi Bram Cohen là BitTorrent (hay Mainline)cũng đã có rất nhiều chương trình BitTorrent Client khác được phát triển và có thểchạy được trên nhiều nền tảng khác nhau (Windows, Mac, Linux, ).
Hình 1: Giao diện một chương trình BitTorrent Client
Trong hình trên là giao diện của µTorrent, một chương trình BitTorrent Clientkhá phổ biến Về cơ bản thì nó cũng khá giống một chương trình hỗ trợ download bìnhthường Để triển khai về mặt ứng dụng, hệ thống BitTorrent chỉ cần một máy chủ cócài ứng dụng Tracker và các nút tham gia sử dụng một chương trình BitTorrent clientnào đó Quá trình hoạt động cụ thể của việc chia sẻ file sẽ được nói chi tiết trong phầnsau.
Trang 13Một số khái niệm (thuật ngữ) hay được dùng trong BitTorrent:
Seed: Nút nắm giữ toàn bộ file, chỉ tham gia quá trình upload file.
Peer(or downloader/leecher): Nút tham gia vào cả quá trình download và
upload file.
Neiborghs (Swarm): Các nút giữ liên kết với một nút nào đó trong quá trình
download 1 file nhất định.
Tracker: Máy chủ có nhiệm vụ theo dõi và nắm thông tin về các nút nào đang
tham gia download file nào.
*.torrent: File lưu trữ các thông tin về file chia sẻ, địa chỉ của tracker (sẽ nói
chi tiết hơn trong phần sau).
Piece/chunk/share/block…: Một đơn vị sau khi chia nhỏ file trong BitTorrent.
Sự chia sẻ file trong BT được thực hiển bởi sự trao đổi các đơn vị này.
2.2 Cơ chế và hoạt động của BitTorrent
2.2.1 Quá trình chia sẻ file
Ý tưởng cơ bản của BitTorrent là chia file thành các phần đơn vị (piece) bằngnhau (thường là có kích thước 256KB) và một nút khi tham gia vào mạng thì có thểdownload cùng lúc các phần khác nhau từ các nút khác nhau.
Để bắt đầu chia sẻ 1 file, người nắm giữ file này sẽ tạo ra một file tĩnh có phần mởrộng là torrent File torrent này có chứa các thông tin về file muốn chia sẻ như, dunglượng file, tên file, số lượng các phần và giá trị băm của nội dung file cũng như nộidung từng phần nhỏ đó, đồng thời trong file đó cũng có chứa địa chỉ url của Tracker(server có nhiệm vụ liên kết các nút với nhau) Cụ thể, Tracker sẽ nắm giữ các thôngtin như có những nút nào đang download file nào và các nút đó đang lắng nghe ở cổngnào…, các thông tin này được cập nhật mỗi 30 phút Và để đảm bảo là người dùngkhác có thể download, người muốn chia sẻ ban đầu phải giữ kết nối vào mạng trongthời gian nhất định Nút mạng này được gọi là seed Ngoài ra, seed còn để chỉ các nútnắm giữ toàn bộ các phần của file và tự nguyện tham gia quá trình upload các phần đócho các nút khác Các nút còn lại trong mạng được gọi là downloader hay leecher.
Khi ai đó muốn download 1 file qua BitTorrent, bằng cách nào đó có đượcfile torrent của file đó (ví dụ như tải về từ 1 trang web nào đó v.v ), từ thông tin cótrong file torrent, nút đó sẽ kết nối đến tracker và nhận về 1 danh sách(khoảng 40 nút)
Trang 14ngẫu nhiên các nút đang tham gia vào quá trình download file đó Sau đó, nó sẽ tiếnhành kết nối đến các nút đó và bắt đầu trao đổi các phần đơn vị của file Tập hợp cácnút cùng đang chia sẻ 1 file gọi là 1 swarm hay torrent, tập hợp các nút đang liên kếtvới 1 nút nào đó gọi là neiborghs hay peers của nút đó Để quá trình trao đổi đượcthuận lợi, mỗi nút sẽ thông báo cho tất cả các nút kết nối với nó rằng nó đang nắm giữnhững phần đơn vị nào của file đang chia sẻ.
2.2.2 Sự lựa chọn các phần đơn vị (Piece Selection)
Như đã nói ở trên, quá trình chia sẻ file trong BitTorrent chính là quá trình traođổi các phần đơn vị (pieces) của file đó giữa các nút mạng Vì thế giải thuật lựa chọncác phần này sao cho hợp lý rất quan trọng Trong BitTorrent, giải thuật lựa chọn đượcáp dụng ở các nút tuân theo các nguyên tắc sau.
Ưu tiên nghiêm ngặt( Strict Priority): Khi một piece được chọn, nó phải được
download xong trước khi chọn piece khác Quy tắc này để đảm bảo nút có được đầyđủ pieces một cách nhanh nhất có thể.
Ít nhất trước(Local Rarest First): Để quyết định xem piece nào sẽ được chọn,
nút sẽ so sánh số lượng của mỗi piece trong tập tất cả các nút đang liên kết với nó(baogồm cả chính bản thân nút đó) và lựa chọn tải về piece có số lượng ít nhất Chiến lượcnày để đảm bảo sự cân bằng của số lượng mỗi piece trong mạng.
Một vấn đề nữa là đối với nút đầu tiên tham gia upload file lên mạng (originalseed) là làm sao có thể phát tán tất cả các piece của file vào mạng 1 cách nhanh nhấtcó thể Khi đó, chiến lược LRF được áp dụng cho seed là, trong các yêu cầu pieces từcác nút kết nối đến nó, nó sẽ ưu tiên phục vụ piece nào có số lượng được phục vụ ítnhất.
Đơn vị đầu tiên ngẫu nhiên(Random First Piece): Khi một nút mới gia nhập
mạng, nó sẽ chọn ngẫu nhiên 1 piece để tải về Quy tắc này để khiến cho nút có đượcmẩu đầu tiên một cách nhanh nhất để bắt đầu upload.
Chế độ kết thúc(Endgame Mode): Để giúp nút có thể kết thúc nhanh quá trình
download, nút có thể yêu cầu piece cuối từ tất cả các nút liên kết với nó.
2.2.3 Thuật toán Choking
BitTorrent là một hệ thống chia sẻ file ngang hàng, do đó sự tham gia của các nútvào quá trình up và download ảnh hưởng rất lớn đến sự sống còn của mạng Nút trong
Trang 15mạng sẽ không đáp ứng tất cả các yêu cầu download các piece từ các nút liên kết vớinó, mỗi yêu cầu đó chỉ được đáp ứng khi nút có yêu cầu đảm bảo được những điềukiện nhất định Quy tắc được đặt ra để nhằm khuyến khích các nút tham gia uploadvào mạng nhiều hơn, được gọi là cơ chế thúc đẩy (Incentive Mechanism) củaBitTorrent.
Thông thường, một nút chỉ đáp ứng yêu cầu của 4 nút hàng xóm cung cấp cho nótốc độ download cao nhất, và quá trình xác định tốc độ download của các nút liên kếtvới nó được thực hiện 10 giây một lần Khi chiến lược này được áp dụng, nút nào cótốc độ upload vào mạng càng cao thì càng có được tốc độ download cao Chiến lượcnày gọi là chiến lược ăn miếng trả miếng (Tit-for-tat Strategy).
Optimistic Unchoking: Nếu chỉ áp dụng quy tắc như trên sẽ bó hẹp sự trao đổi
dữ liệu giữa các nút liên kết với nhau Để tạo cơ hội tìm kiếm các nút có cung cấp tốcđộ download cao hơn cũng như để cho nút mới tham gia vào mạng có thể có được đápứng về piece đầu tiên, BitTorrent sử dụng “optimictic unchoke” 30 giây 1 lần.Optimistic unchoke sẽ mở đáp ứng cho một kết nối ngẫu nhiên mà không tính đến tốcđộ download cũng như upload.
Trong Khóa luận này, chúng ta sẽ nghiên cứu kĩ hơn tác dụng của cơ chế thúcđẩy của BitTorrent trong việc hạn chế hiện tượng free-riding trong BitTorrent.
2.3 Optimistic Unchoking và Free-Rider
Free-rider là nút không upload đến các nút khác, do đó theo chiến lược TFT, nócũng không nhận được dữ liệu từ các nút khác Tuy nhiên do có Optimistic Unchokenhư đã nói ở trên, free-rider vẫn có được cơ hội nhận được dữ liệu từ hệ thống Chúngta sẽ xem xét cụ thể hơn vấn đề này.
Gọi G{p0,p1, …, pxn-1, q0,q1, …, qxf-1 } là tập hợp các nút trong mạngBitTorrent Trong đó xn là số lượng các nút bình thường (non free-rider) và xf là sốlượng của free-rider trong mạng Giả sử tất cả các nút trong mạng có cùng một băngthông upload , và không có seed trong G Gọi µ là băng thông upload của mỗi nút, nhưvậy tổng băng thông upload của hệ thống là µxn Gọi u là số lượng kết nối upload củanút trong mạng, trong đó có 1 kết nối là optimistic unchoking Tốc độ của mỗi kết nốibị giới hạn bởi µ/u Theo quy tắc Optimistic Unchoking, mỗi nút bình thường sẽ chọnngẫu nhiên một nút khác để gửi dữ liệu, từ đó tổng số kì vọng tốc độ download củafree-rider trong G là:
Trang 16(1)Trong trường hợp xn+xf >> u
Từ (1) cho thấy rằng mặc dù không đóng góp cho hệ thống như free-rider vẫnnhận được tốc độ download được tính bởi (1) Gọi ρ là tỉ lệ của tổng tốc độ downloadcủa free-rider so với tổng băng thông upload của các nút bình thường ta có:
(2)
Với 0 ≤ ρ ≤ 1 Từ (2) cho thấy free-rider vẫn có được một phần tốc độ downloadcủa cả hệ thống Nói cách khác, cơ chế của BitTorent không thể loại trừ hoàn toàn hiệntượng free-riding, và free-rider có thể nhận được tài nguyên từ các nút bình thường
thông qua optimistic unchoking Để rút ra kết luận trên và các đẳng thức (1) và (2),tôi đã tham khảo trong [13].
2.4 So sánh BitTorrent và một số hệ thống chia sẻ file ngang hàngkhác
Phương pháp dùng để phân phối tệp giữa mạng eDonkey2000 và BitTorrent làgiống nhau, như các máy trong mạng eDonkey thường chia sẻ và tải về rất nhiều tệp,làm cho băng thông cho mỗi vận chuyển trở nên ít hơn Ngược lại, vận chuyểnBitTorrent nhanh hơn nhiều do các máy tập trung vào một tệp hay một nhóm tệp cụthể Giao thức eDonkey2000 nguyên thủy cung cấp rất ít khả năng chống free-riding,các phiên bản client mới của eDonkey2000 có cài đặt hệ thống khuyến khích tải lênnhiều hơn Ví dụ chương trình eMule có hệ thống điểm (credits system) để thưởng cácmáy tải lên nhiều Một máy sẽ ưu tiên các máy vận chuyển cho mình trước đây bằngcách chuyển vị trí các máy này lên đầu của hàng đợi làm cho thời gian chờ ít hơn Hệthống này tỏ ra khá hiệu quả vì hàng đợi trong mỗi máy khách sử dụng eMule thườnglên đến hàng trăm, thậm chí hàng ngàn.
Trang 17KaZaA là một giao thức gần giống với giao thức BitTorrent nhưng nó có một
điểm khác đó là nó phân biệt các máy trạm theo cấp cống hiến (Participation Level).
Cấp cống hiến tăng khi bạn tải lên và giảm khi bạn tải về Khi bạn tải lên một tàinguyên thì người có cấp cống hiến cao nhất nhận đầu tiên sau đó người có cấp cốnghiến cao nhất này tải lên cho người có cấp cống hiến thấp hơn và cứ tiếp tục như vậy.Mô hình này tương tự như mô hình kim tự tháp, với người tải lên nhiều nhất ở vị tríđỉnh của kim tự tháp, và người ít tải lên ở các vị trí đáy của kim tự tháp Mô hìnhKaZaA chỉ thích hợp phân phối tài nguyên cho một số lượng lớn người dùng, nó đãđược chứng minh là người ở đáy kim tự tháp tải tệp về nhanh hơn trường hợp tải tệpvề bằng phương pháp HTTP (trong trường hợp tệp rất lớn) Nhưng mô hình KaZaA cómột nhược điểm nhỏ đó là nó tin tưởng vào báo cáo của các máy trạm về cấp cốnghiến vì vậy các máy trạm có thể gian lận cấp cống hiến với rất nhiều các máy trạmkhông chính thức.
Chương 3 Mô hình hóa và xem xét ảnh hưởng của riding lên hệ thống chia sẻ file BitTorrent
free-3.1 Một số nghiên cứu liên quan
BitTorrent là hệ thống chia sẻ file ngang hàng phổ biến nhất hiện nay, vì thế nócũng dành được sự quan tâm nghiên cứu của rất nhiều nhà khoa học Có nhiều nghiêncứu nhằm cải tiến nâng cao hiệu năng của hệ thống BitTorrent với nhiều đề xuất khác
Trang 18nhau Tuy nhiên đa số những khảo sát, cả về mô phỏng lẫn theo dõi thực thế [4][6][7][10][11] đều cho thấy rằng hệ thống BitTorrent tỏ ra rất hiệu quả trong việc tận dụngtài nguyên hệ thống và hỗ trợ số lượng lớn người sử dụng Và vấn đề tối ưu hóa hệthống BitTorrent thường tập trung hơn vào vấn đề đảm bảo tính công bằng trên mạng.
Một vài nghiên cứu về “cơ chế thúc đẩy” của BitTorrent được trình bày trong [4][8][9][12] Các thử nghiệm trong [4] đã chỉ ra rằng cơ chế của BitTorrent không thểđảm báo được tính công bằng trong hệ thống Jun và Ahamad [8] xem xét hệ thốngBitTorrent dưới lý thuyết trò chơi (vấn đề song đề tù nhân lặp lại – Iterated Prisoner’sDilemma) và cho thấy rằng free-rider không bị trừng phạt thích đáng và những nútđóng góp cho hệ thống cũng không được đền đáp tương ứng Qiu và Skirant [12] đãmô tả sơ lược ảnh hưởng của optimistic unchoking đối với hiện tượng free-riding, vàcho thấy optimistic unchoking có thể dẫn đến hiện tượng free-ring trong hệ thống.Locher và các tác giả khác [9] cũng đã cho thấy trong BitTorrent một nút có thể tải filevề thành công mà không có sự đóng góp gì cho mạng.
Trong nội dung của khóa luận này, tôi sử dụng mô hình của các tác giả Jiadia Yu,Minglu Li, Jie Wu được giới thiệu trong [13] Mô hình chia các downloader trongmạng thành 2 loại chính free-rider và non free-rider và xem xét ảnh hưởng của free-rider trong hệ thống BitTorrent một cách khá toàn diện.
3.2 Mô hình và các tham số
Dựa trên các kết luận trình bày trong phần 4.1.1, chúng ta sẽ xây dựng một môhình mạng trong đó các nút trong mạng được chia làm 3 loại chính: seed, free-rider vànon free-rider Các nút non free-rider được xem là đóng góp cho mạng ngang nhautrong khi các nút free-rider hoàn toàn không có đóng góp gì cho hệ thống Seed khôngphân biệt free-rider hay non free-rider trong quá trình upload Hệ thống được mô tả bởicác tham số (mô hình “Fluid model”) sau:
xn(t) : số lượng của non free-rider trong hệ thống tại thời điểm t xf(t): số lượng của free-rider trong hệ thống tại thời điểm t y(t): số lượng seed trong hệ thống tại thời điểm t
λn: Tốc độ tham gia vào mạng của non free-rider λf: Tốc độ tham gia vào mạng của free-rider µ: Băng thông upload của một nút
c: Băng thông download của một nút θ: Tốc độ rời mạng của nút bình thường
Trang 19 γ: Tốc độ rời mạng của seed
η: Hiệu năng của quá trình chia sẻ file [3]
ρ(t): Tỉ lệ của tổng tốc độ download của free-rider so với tổng tốc độupload của non free-rider tại thời điểm t.
κ(t): Tỉ lệ của số lượng free-rider trên tổng số lượng của free-rider vànon free-rider tại thời điểm t.
Mô hình trên được mở rộng từ mô hình trong [3] và được trình bày trong [4] Tagiả sử free-rider rời mạng ngay sau khi download hoàn thành(bởi vì free-rider khi đócó ở lại mạng cũng không có ý nghĩa gì) Như vậy, trong hệ thống tồn tại 3 trạng thái:Seed, free-rider và non free-rider Quan hệ giữa các trạng thái được trình bày như hìnhsau:
Hình 2: Mô hình chung biểu diễn 3 trạng thái trong hệ thống chia sẻ file
Hình vẽ trên cho ta thấy quan hệ giữa 3 trạng thái, tốc độ các nút tham gia và rờikhỏi các trạng thái và thành phần phân phối băng thông của 3 trạng thái trong hệ thốngBitTorrent Trong mô hình này, tốc độ gia nhập mạng của free-rider và non free ridertương ứng là λf và λn Tham số η biểu thị hiệu quả của việc chia sẻ file và được tínhtoán là rất gần với 1 trong [8] Hiệu năng chia sẻ file của free-rider bằng 0 Tại thờiđiểm t, tốc độ upload của toàn bộ hệ thống là µ(ηxxn(t) + y(t)) Tất cả các nút trong
mạng cùng chia sẻ tốc độ upload được cung cấp bởi non free-rider và seed ρ(t) cho
Trang 20biết tỉ lệ băng thống upload của non free-rider bị chiếm vởi free-rider Áp dụng đẳngthức (2) ta có
(3)Với 0 ≤ ρ(t) ≤ 1.
Với seed khi upload không phân biệt free-rider hay non free-rider, do đó, tỉ lệbăng thông upload của seed bị chiếm bởi free-rider là:
(4)Với 0 ≤ κ(t) ≤ 1.Do đó, tổng tốc độ download của non free-rider là :
θxn(t) và θxf(t) tương ứng là tốc độ của non free-rider và free-rider rởi khỏi cáctrạng thái tương ứng khi đang download dở Non free-rider chuyển sang trạng tháiseed với tốc độ Dn(t) sau khi download xong Seed rời bỏ trạng thái với tốc độ γ Từđó, tốc độ thay đổi của 3 trạng thái được xác định tương ứng bằng phương trình sau :
Trang 213.3 Nghiên cứu hệ thống ở trạng thái ổn định (steady-state)
Để nghiên cứu hệ thống ở trạng thái ổn định, chúng ta giả sử limt→∞xn(t),limt→∞xf(t), limt→∞y(t) tồn tại và :
Trong đó xn, xf , và y là các giá trị cân bằng tương ứng của xn(t), xf(t) và y Ở
trạng thái ổn định t→∞ ta có :
(7)
Để đơn giản, chúng ta giả sử nút không bao giờ rời mạng khí chưa downloadxong (θ =0) và sẽ rời mạng ngay sau khi download hoàn thành (γ→∞) Với giả sửtrên, từ (6) và (7) phương trình biểu thị trạng thái ổn định được viết lại thành :
(8)Với
(9) là giá trị cân bằng của ρ(t) và 0 ≤ ρ ≤ 1
Dễ thấy, với điều kiện thực tế c > µ thì và Kết hợp với (8) ta thu được :
Trang 22(10)Với
và
Định lý 1 : Gọi Tn và Tf là thời gian download trung bình tương ứng của nonfree-rider và free-rider trong hệ thống Trong một hệ thống không có seed, chúng tacó kết quả sau :
(11)Chứng minh :
Trong [12], áp dụng Little Law[3] Ta có thời gian download trung bình cho mộtnút ở trạng thái ổn định được xác định bởi:
Thay tương ứng các giá trị trong các biểu thức (9), (10), ta được kết quả của địnhlý.
Nhận xét: Thông qua việc mô hình hóa hệ thống BitTorrent, chúng ta đã thấyđược hiệu năng của hệ thống ở trạng thái ổn định và ảnh hưởng của hiện tượng free-riding lên hệ thống BitTorrent Từ kết quả của định lý 1, xét trong điều kiện số lượng