1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Tiểu luận) tiểu luận internet và các giao thứcđề tài dht và ứng dụng trong giao thức bittorrent

26 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề DHT và Ứng Dụng Trong Giao Thức BitTorrent
Tác giả Tạ Thị Minh Thư, Nguyễn Đăng Khoa, Đặng Văn Hoàng, Bùi Trọng Đạt
Người hướng dẫn Phạm Anh Thư
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Viễn thông
Thể loại tiểu luận
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 26
Dung lượng 3,66 MB

Nội dung

Các mạng phân tán nổi tiếng sửdụng DHT bao gồm máy theo dõi phân tán của BitTorrent, mạng eDonkey,mạng bot Storm, YaCy và Coral Content Distribution Network.Hình 1: Bảng băm phân tán tro

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA VIỄN THÔNG I BÁO CÁO TIỂU LUẬN INTERNET VÀ CÁC GIAO THỨC ĐỀ TÀI: DHT ứng dụng giao thức BitTorrent Giảng viên Nhóm lớp Nhóm tiểu luận : Phạm Anh Thư : 07 : 10 Danh sách thành viên nhóm 10: Tạ Thị Minh Thư Nguyễn Đăng Khoa Đặng Văn Hoàng Bùi Trọng Đạt B19DCVT402 B19DCVT207 B19DCVT153 B19DCVT074 STT: 13 STT: 06 STT: 04 STT: 02 Mã lớp: D19-292 Mã lớp: D19-292 Mã lớp: D19-292 Mã lớp: D19-292 Bài tập nhóm Internet giao thức HÀ NỘI, THÁNG 10/2022 MỤC LỤC LỜI MỞ ĐẦU………………………………………………………………………… … I CÁC KHÁI NIỆM CƠ BẢN…………………………………………………… …… 1.1 Hàm băm…………………….……………………………………… ….……… 1.2 Bảng băm………….…………………………………………………… … …… 1.2.1 Hiện tượng xung đột khoá……… …………………………………… … 1.2.2 Chọn hàm băm tốt…………… ……………………………………… … 1.2.3 Hệ số tải………………… ………………………………………… …… II BẢNG BĂM PHÂN TÁN (DHT)……………………………………………………… 2.1 Bảng băm phân tán………………………………………………………… …….5 2.1.1 DHT vịng………………………………………………………….……… 2.1.2 Peer churn………………………………………………………….……….10 2.2 Khơng gian địa chỉ……………………………………………………… …… 11 2.3 Quản lý liệu……………………………………………………… ………….12 2.4 Tìm kiếm liệu…………………………………………………… ………… 13 2.5 Cơ chế quản lý…………………………………………………… …………… 13 III GIAO BITTORRENT……………………………………………………… 14 Nhóm 10 THỨC Bài tập nhóm Internet giao thức 3.1 Khái niệm BitTorrent……………………………………………… ……… 14 3.2 Cách thức hoạt động BitTorrent……………………………………………… 14 3.2.1 Tạo phát hành tệp Torrent lên mạng………………………… ………… 16 3.2.2 Tải xuống tệp Torrent chia sẻ tệp…………………………… ………….16 3.2.3 Một số nhược điểm……………………………………………….………… 17 3.3 Ứng dụng DHT giao thức BitTorrent…………………………… … 18 3.3.1 BitTorrent sử dụng Kademlia DHT để tạo lập theo dõi phân tán… …….18 3.3.2 Khoá………………………………………………………………… …… 19 3.3.3 Giá trị………………………………………………………………….……19 3.3.4 Thiết bị ngang hàng gia nhập…………………………………… …….20 TỔNG KẾT………………………… ………………………………………………….21 LỜI MỞ ĐẦU Mạng máy tình từ lâu trở thành phần thiếu nhiều lĩnh vực đời sống xã hội từ hệ thống mạng cục dùng để chia sẻ tài nguyên công ty, quan, đơn vị, v.v… hệ thống mạng toàn cầu mạng Internet Kiến trúc hệ thống mạng ngày cải tiến phát triển Trong kiến trúc mạng ngang hàng với nhiều đặc tính tốt khả mở rộng cao, khả chịu lỗi tốt, hiệu cao, v.v… thu hút ý người sử dụng Tất ưu điểm tạo thành cách mạng lĩnh vực mạng truyền thông Rất nhiều ứng dụng lớn xây dựng mạng ngang hàng Freenet, Napster, BitTorrent, v.v… Bên cạnh ưu điểm trên, mạng ngang hàng gặp phải vài hạn chế vấn đề định tuyến, vấn đề bảo mật, khả cân tải Trong đó, việc định tuyến mạng ngang hàng toán quan trọng phức tạp Nhóm 10 Bài tập nhóm Internet giao thức Phương pháp định tuyến mạng ngang hàng áp dụng ý tưởng bảng băm phân tán mang lại kết tốt đồng thời khắc phục nhược điểm mà phương pháp định tuyến khác gặp phải Vì vậy, tiểu luận nhóm chúng em xin đề cập đến đề tài mang tên “DHT ứng dụng giao thức BitTorrent” I CÁC KHÁI NIỆM CƠ BẢN 1.1 Hàm băm - Là hàm ánh xạ liệu kỹ thuật số có kích thước thành liệu kỹ thuật số có kích thước cố định Các giá trị trả hàm băm gọi giá trị băm hay, mã băm, thông điệp băm hay đơn giản “hash” Điều trở nên quan trọng bạn xử lý lượng lớn liệu giao dịch Khi đó, thay xử lý tồn lượng liệu đầu vào (có thể có kích thước lớn), bạn cần xử lý theo dõi lượng liệu nhỏ giá trị băm - Tính chất hàm băm mật mã tính chất chiều Nghĩa hàm mà thực tế khơng thể có ngược Nếu bạn có giá trị băm đầu ra, Nhóm 10 Bài tập nhóm Internet giao thức bạn suy ngược lại giá trị đầu vào để băm thơng điệp băm vậy, khó suy luận ra, trừ bạn vét cạn hết toàn khả thơng điệp đầu vào Đây tính chất vơ quan trọng hàm băm mật mã biến thành cơng cụ mật mã đại VD: Một giá trị băm với chiều dài cố định, chẳng hạn chuỗi nhị phân 32 bits đại diện cho số nguyên liên tiếp từ tới – 1, sở cho q trình định lượng hố - Với chiều dài băm thuật tốn băm thích hợp, hàm băm sử dụng để định lượng hố, tính tốn số để truy vấn tức thời bảng liệu kích thước lớn Thời gian tìm kiếm ghi khơng phụ thuộc vào kích thước bảng theo số lượng ghi Mà tính thời lượng tính tồn băm cộng với thời gian xử lý vài kỹ thuật sau định lượng - Không gian tìm kiếm sở liệu cực lớn thu gọn thành vài ghi, chí ghi Một bảng liệu với triệu ghi thu gọn, khơng gian tìm kiếm trở thành ghi nhanh danh sách đơn có kích thước tương đương, triệu lần  Bảng liệu sử dụng hàm băm gọi bảng băm 1.2 Bảng băm - Bảng băm sử dụng hàm băm để tính tốn số vào mảng Chỉ số mảng dùng làm địa vào vùng liệu bảng, ghi, vài ghi ghi Trường hợp khơng có ghi nghĩa chưa có ghi dành cho địa Mỗi phần tử mảng gọi khe (slot) Như mảng mảng khe đánh địa Khe chứa trực tiếp ghi, trường hợp mảng khe chưa toàn liệu mảng Trường hợp khác, khe chứa tham chiếu đến cấu trúc danh sách chứa ghi Một cấu trúc danh sách “đựng” vài ghi giống “xô” (bucket) đựng ghi “treo” vào địa mảng khe Khe khơng có ghi khơng có xơ treo (đó tham chiếu – trỏ trỏ vào null) treo xô không (con trỏ trỏ vào danh sách rỗng) Như theo hình dung gọi mảng khe mảng xô - Khác là, mảng khe hàm ý mảng địa chỉ, cịn mảng xơ hàm ý mảng liệu bảng Bản ghi phải liệu kiểu từ điển với cặp khố – giá trị Vì vậy, mảng thuộc dạng mảng kết hợp (asociative array) Nhóm 10 Bài tập nhóm Internet giao thức 1.2.1 Hiện tượng xung đột khố Xung đột khố khơng tránh khỏi khoá băm ngẫu nhiên vào bảng Dù cho phân phối khoá đồng bảng Nếu 2500 khoá băm vào triệu khe xác suất gần 96% có khố băm vào khe Vì bảng băm cần biện pháp xử lý xung đột khoá 1.2.2 Chọn hàm băm tốt - Một hàm băm tốt phải thỏa mãn điều kiện sau: + Tính toán nhanh + Các khoá phân bố bảng + Ít xảy xung đột + Xử lý loại khóa có kiểu liệu khác - Một yêu cầu hàm băm nên phân bố giá trị băm mảng Phân bố không làm tăng số lượng va chạm, tăng chi phí giải chúng Tính đồng đơi khó đảm bảo thiết kế, đánh giá thực tiễn cách sử dụng kiểm tra thống kê 1.2.3 Hệ số tải Hệ số tải tỉ số số khóa chia cho số khe, n/k với n số khóa cịn k số khe Hệ số tải cần giữ hợp lý, lớn làm cho bảng băm trở nên chậm, điều quan trọng cân đối chất lượng bảng với hiệu sử dụng tài ngun, khơng lãng phí nhớ II BẢNG BĂM PHÂN TÁN (DHT) 2.1 Bảng băm phân tán - Nhóm 10 DHT (Distributed Hash Table – Bảng băm phân tán): Là lớp hệ thống phân tán không tập trung Cung cấp dịch vụ tra cứu tương tự bảng băm: cặp (khoá, giá trị) lưu trữ DHT, nút mạng tham gia lấy giá trị liên kết với khoá cho trước cách hiệu Nhiệm vụ lưu trữ ánh xạ từ khoá tới giá trị phân tán nút, cách ta giảm bớt lỗi có thay đổi tập hợp nút Document continues below Discover more from: hệ thống tri thức INT1144 Học viện Công ng… 31 documents Go to course Câu hỏi ôn tập thi 32 kết thúc học… hệ thống tri thức 100% (3) Neuron network 35 Nhận diện biển số xe hệ thống tri thức None Hệ thống SOC hệ thống tri thức None Xu ly anh 87 Matlab hệ thống tri thức None 25.12 Giáo trình KBS 107 giáo trình hệ thống tri thức None AISE - Lesson 00 Bài tập nhóm Internet giao thức Introduction 12 số lượng cực lớn nút tham gia Điều cho phép ứng dụng DHT cho mạng xử lý việc vào, lỗi nút mạng cách liên tục.tri hệ thống - thức None DHT tạo nên sở hạ tầng cho việc xây dựng dịch vụ phức tạp hơn, chẳng hạn hệ thống file phân tán, chia sẻ file mạng đồng đẳng, hệ thống phân phối nội dung (content distribution), web cache có tính hợp tác, multicast, anycast, dịch vụ tên miền instant messaging Các mạng phân tán tiếng sử dụng DHT bao gồm máy theo dõi phân tán BitTorrent, mạng eDonkey, mạng bot Storm, YaCy Coral Content Distribution Network Hình 1: Bảng băm phân tán hệ thống mạng ngang hàng - Với Hình 1, liệu bảng Data đưa qua khối băm sử dụng hàm băm (hash function) để băm giá trị liệu đầu vào tạo thành khố Key có độ dài nhau, khoá đưa vào thiết bị mạng ngang hàng hệ thống mạng P2P - Thành phần quan trọng nhiều ứng dụng P2P ứng dụng phân tán khác số (tức sở liệu đơn giản), hỗ trợ hoạt động tìm kiếm cập nhật Khi số phân tán, thiết bị ngang hàng tạo lập lưu đệm nội dung định tuyến thông minh truy vấn chúng với Do đánh số tìm kiếm thông tin thành phần quan trọng hệ thống vậy, tìm hiểu kỹ thuật đánh số tìm kiếm thơng dụng, gọi bảng hàm băm phân tán DHT - Xem xét trình xây dựng sở liệu phân tán đơn giản số lượng lớn (có thể lên đến hàng triệu) thiết bị ngang hàng hỗ trợ đánh số truy vấn Thông tin lưu trữ sở liệu bao gồm cặp (khố, giá trị) VD1: Khố số chứng minh thư giá trị tương ứng với tên người Trong trường hợp này, cặp (khố, giá trị) điển hình (156-45-7081, Nguyen) Nhóm 10 Bài tập nhóm Internet giao thức VD2: Khố tên nội dung (như tên phim, album, phần mềm) địa IP nội dung lưu trữ Trong trường hợp này, cặp (khố, giá trị) (God Father, 203.17.123.38) - Thiết bị ngang hàng truy vấn sở liệu cách cung cấp khố: Nếu có cặp (khố – giá trị) sở liệu phù hợp với khoá, sở liệu trả lại cặp phù hợp cho thiết bị ngang hàng truy vấn Như vậy, ví dụ sở liệu lưu trữ số chứng minh thư tên người dùng tương ứng, thiết bị ngang hàng truy vấn số chứng minh thư cụ thể, sở liệu trả lại tên người sở hữu chứng minh thư Các thiết bị ngang hàng có khả chèn cặp (khố, giá trị) vào sở liệu - Xây dựng sở liệu đơn giản kiến trúc client – server, mà tất cặp (khoá, giá trị) lưu trữ máy chủ trung tâm Phương án tập trung thực hệ thống P2P trước Napster Nhưng vấn đề trở nên thách thức thú vị nhiều hệ thống phân tán bao gồm từ hàng triệu thiết bị ngang hàng kết nối với khơng có uỷ quyền trung tâm - Trong hệ thống P2P, muốn phân tán cặp (khố, giá trị) thơng qua tất thiết bị ngang hàng Sao cho thiết bị giữ tập nhỏ tổng số cặp (khoá, giá trị) Một phương án đơn giản xây dựng sở liệu P2P rải ngẫu nhiên cặp (khoá, giá trị) đến thiết bị ngang hàng thiết bị ngang hàng bảo quản danh sách địa IP tất thiết bị ngang hàng tham gia Bằng cách này, thiết bị ngang hàng truy vấn gửi truy vấn tới tất thiết bị ngang hàng khác, thiết bị ngang hàng chứa cặp (khoá, giá trị) phù hợp với khố đáp ứng với cặp phù hợp chúng Tất nhiên tính quy mơ mạng, phương pháp hồn tồn khơng thể thực u cầu thiết bị ngang hàng phải theo dõi tất thiết bị ngang hàng khác (có thể hàng triệu thiết bị) tồi tệ nữa, truy vấn gửi đến tất thiết bị ngang hàng - Chúng ta mô tả phương án thực tế khác để thiết kế sở liệu P2P Đầu tiên gán định danh cho thiết bị ngang hàng, định danh số nguyên dải [0, – 1] với số n cố định Để ý định danh biểu diễn n bit Yêu cầu khoá số nguyên dải Chúng ta quan sát khố điển hình mơ tả (số chứng minh thư tên nội dung) số nguyên Để tạo số nguyên cho khoá này, dùng hàm băm ánh xạ khoá (như số chứng thư) tới số nguyên dải [0, – 1] Hàm băm băm nhiều-đếnmột (many-to-one) mà hai đầu vào khác có đầu (cùng số nguyên), khả có đầu vô nhỏ Hàm băm giả thiết sẵn sàng công khai cho tất thiết bị ngang hàng hệ Nhóm 10 Bài tập nhóm Internet giao thức thống Từ trở sau, đề cập đến “khoá”, đề cập đến băm khoá nguyên VD: Nếu khoá nguyên “God Father”, khố có số ngun băm “God Father” - Do sử dụng băm khoá, thay cho thân khoá, từ đề cập đến sở liệu phân tán bảng hàm băm phân tán DHT - Bây xem xét vấn đề lưu trữ cặp (khoá, giá trị) DHT Vấn đề trọng tâm xác định quy luật gán khoá cho thiết bị ngang hàng Giá sử thiết bị ngang hàng có định danh số nguyên khoá số nguyên dải, giải pháp tự nhiên gán cặp (khoá, giá trị) tới thiết bị ngang hàng có định danh gần Để thực thi phương án này, cần định nghĩa “gần nhất” có nghĩa - Ở có nhiều quy ước Để thuận tiện, định nghĩa thiết bị ngang hàng “gần nhất” thiết bị sau khoá Để hiểu sâu hơn, lấy ví dụ VD: Giả sử n = cho tất thiết bị ngang hàng định danh khoá dải [0, 15] Tiếp tục giả sử có thiết bị ngang hàng hệ thống có định danh 1, 3, 4, 5, 8, 10, 12 15 Cuối cùng, giả sử muốn lưu trữ cặp khoá giá trị (11, Nguyen) vào tám thiết bị ngang hàng Nhưng câu hỏi đặt lưu vào thiết bị ngang hàng nào? Sử dụng quy ước “gần nhất”, thiết bị ngang hàng 12 thiết bị sau khố 11, lưu trữ cặp (11, Nguyen) thiết bị ngang hàng 12 - Để hoàn thiện định nghĩa “gần nhất”: + Nếu khố xác định danh thiết bị ngang hàng, lưu trữ cặp (khoá, giá trị) thiết bị ngang hàng trùng lặp + Nếu khoá lớn tất định danh thiết bị ngang hàng, sử dụng quy ước modulo -, lưu trữ cặp (khoá, giá trị) thiết bị ngang hàng với định danh nhỏ VD: Giả sử Alice muốn chèn cặp (khoá, giá trị) vào DHT Về mặt quan niệm, điều đơn giản: Đầu tiên phải xác định thiết bị ngang hàng mà định danh gần khố nhất, sau gửi tin tới thiết bị ngang hàng đó, dẫn lưu trữ cặp (khố, giá trị) Nhưng Alice xác định thiết bị ngang hàng gần khoá nào? Nếu Alice trì theo dõi tất thiết bị ngang hàng hệ thống (ID thiết bị ngang hàng địa IP tương ứng) , xác định chỗ thiết bị ngang hàng gần Nhưng giải pháp yêu cầu thiết bị ngang hàng phải trì theo dõi tất thiết bị ngang hàng khác DHT – điều hồn tồn khơng thực tế hệ thống qui mô lớn với hàng triệu thiết bị ngang hàng Nhóm 10 Bài tập nhóm Internet giao thức Hình 2: DHT vịng Hình 3: DHT vòng đường nối tắt - Sử dụng che phủ vịng Hình 2, giả sử thiết bị ngang hàng muốn xác định thiết bị ngang hàng DHT chịu trách nhiệm khoá 11 (hoặc để chèn để truy vấn cặp khoá – giá trị) Sử dụng che phủ vòng, thiết bị ngang hàng gốc (thiết bị ngang hàng 3) tạo tin “Ai chịu trách nhiệm khoá 11?” gửi tin tới thiết bị sau thiết bị ngang hàng Bất thiết bị ngang hàng nhận tin vậy, biết định danh thiết bị sau nó, nên xác định thiết bị có trách nhiệm khố hỏi hay không Nếu thiết bị ngang hàng không chịu trách nhiệm khố, đơn giản gửi tiếp tin đến thiết bị sau nó, gọi thiết bị ngang hàng Q trình tiếp tục tin đến thiết bị ngang hàng 12, xác định gần khố 11 Tại thời điềm này, thiết bị ngang hàng 12 gửi tin trở lại thiết bị ngang hàng gốc số 3, thị chịu trách nhiệm khoá 11 - Như vậy, số lượng thông tin thiết bị ngang hàng phải quản lý giảm Nhưng trung bình có tới N/2 tin gửi đi, mà thiết bị ngang hàng nhận biết thiết bị ngang hàng lân cận Cho nên, người ta hồn thiện cách bổ sung đường tắt cho thiết bị ngang hàng không theo dõi thiết bị lân cận mà số lượng nhỏ thiết bị ngang hàng nối tắt rải rác vịng trịn - Do đó, thiết kế DHT, có điểm cân số lượng lân cận thiết bị ngang hàng phải theo dõi số lượng tin DHT cần phải gửi để giải truy vấn Một mặt, thiết bị ngang hàng theo dõi tất thiết bị ngang hàng khác (che phủ dạng lưới), có tin gửi cho truy vấn, thiết bị ngang hàng phải theo dõi N thiết bị ngang hàng khác Mặt khác, với DHT vòng, thiết bị ngang hàng nhận biết hai thiết bị ngang hàng, trung bình N/2 tin gửi cho truy vấn May mắn hồn thiện thiết kế DHT cho thiết bị ngang hàng số lượng tin cho truy vấn phạm vi chấp nhận Một hoàn thiện sử dụng che phủ vòng tảng, bổ sung “đường tắt” cho thiết bị ngang hàng khơng theo dõi thiết bị sau nó, mà số lượng nhỏ thiết bị ngang hàng nối tắt rải rác vịng trịn Ví dụ DHT vòng với số lượng nối tắt đưa Hình 3, đường tắt sử dụng để tiến hành định tuyến tin truy vấn Đặc biêt, thiết bị ngang hàng nhận tin truy vấn khố, chuyển tin tới lân cận (lân cận sau hay lân cận nối tắt) gần khố Vì vậy, Hình 3, thiết bị ngang hàng nhận tin hỏi khố 11, xác định thiết bị gần khoá (trong lân cận) lân cận nối tắt 10 sau chuyển tiếp tin thẳng đến thiết bị ngang hàng 10 Rõ ràng đường nối tắt giảm đáng kể tin sử dụng để xử lý truy vấn 10 Nhóm 10 Bài tập nhóm Internet giao thức - Vấn đề “Bao nhiêu lân cận thiết bị ngang hàng cần phải có thiết bị ngang hàng phải lân cận nối tắt?” Vấn đề nhận quan tâm cộng đồng nghiên cứu Một điều quan trọng cần lưu ý nghiên cứu chứng minh DHT thiết kế cho số lượng lân cận thiết bị ngang hàng lẫn số lượng tin truy vấn O(logN), N số lượng thiết bị ngang hàng Các thiết bị cố gắng thoả hiệp giải pháp cực trị sử dụng topo dạng lưới topo che phủ vòng 2.1.2 Peer churn - - - 11 Nhóm 10 Trong mạng ngang hàng (P2P) có cấu trúc, thiết bị ngang hàng tham gia tham gia rời khỏi hệ thống vào thời điểm tùy ý, trình gọi churn Do không dự báo trước việc rời hay gia nhập nên dẫn đến mạng không ổn định.Hiệu định tuyến bị ảnh hưởng : mạng thay đổi liên tục nên tốn chi phí trì ổn định cho bảng định tuyến node Do đó, thiết kế DHT, phải quan tâm đến trì che phủ DHT có mặt peer churn Để đạt tranh toàn cảnh thấu hiểu điều thiết lập xem xét DHT vòng Hình Để xử lý peer churn, yêu cầu thiết bị ngang hàng theo dõi (tức biết địa IP) thiết bị sau thứ thứ hai Ví dụ thiết bị ngang hàng theo dõi thiết bị ngang hàng Chúng ta yêu cầu thiết bị ngang hàng định kì kiểm tra hai thiết bị sau cịn sống (bằng cách định kì gửi tin ping đến chúng yêu cầu chúng phản hồi) Tiếp tục xem xét DHT trì thiết bị ngang hàng đột ngột rời bỏ Ví dụ, giả sử thiết bị ngang hàng Hình đột ngột rời bỏ Trong trường hợp này, hai thiết bị ngang hàng đằng trước thiết bị ngang hàng bỏ (4 3) biết bỏ khơng cịn phản hồi tin ping Các thiết bị ngang hàng cần cập nhật thông tin trạng thái thiết bị sau chúng Bây chung ta xem xét thiết bị ngang hàng cập nhật trạng thái nào: + Thiết bị ngang hàng thay thiết bị sau thứ (thiết bị ngang hàng 5) thiết bị sau thứ hai (thiết bị ngang hàng 8) + Thiết bị ngang hàng sau yêu cầu thiết bị sau thứ (thiết bị ngang hàng 8) định danh địa IP thiết bị sau (thiết bị ngang hàng 10) Thiết bị ngang hàng sau lấy thiết bị ngang hàng 10 làm thiết bị sau thứ hai Chúng ta đưa ngắn gọn cần làm thiết bị ngang hàng rời đi, xem xét điều xảy thiết bị ngang hàng muốn gia nhập vào DHT Như Hình 3, giả sử thiết bị ngang hàng với định danh 13 muốn gia nhập DHT, thời điểm gia nhập, biết tồn Bài tập nhóm Internet giao thức thiết bị ngang hàng DHT Thiết bị ngang hàng gửi cho thiết bị ngang hàng 13 tin, “Thiết bị trước thiết bị sau thiết bị ngang hàng 13 ai?” Bản tin chuyển tiếp qua DHT tới thiết bị ngàng hàng 12, người thực biết thiết bị trước thiết bị ngang hàng 13 thiết bị sau nó, thiết bị ngang hàng 15, trỏ thành thiết bị sau thiết bị ngang hàng 13 Thiết bị ngang hàng 13 gia nhập DHT cách lấy thiết bị ngang hàng 15 thiết bị thông báo thiết bị ngang hàng 12 phải đổi thiết bị sau thành 13 2.2 Không gian địa - Thông thường, không gian địa xem vịng trịn (Hình 4) bao gồm tập số ngun Hình 4: Khơng gian địa HÌnh 5: Ánh xạ không gian địa - Như hình 5, ta thấy tầng bên ánh xạ dựa cấu trúc thực, tầng bên chế độ xem logic bảng băm phân tán - Các node liệu (data items) ánh xạ vào không gian địa chỉ, mục giá trị gán ID nhận dạng, giá trị không gian địa 12 Nhóm 10 Bài tập nhóm Internet giao thức - - Sử dụng hàm băm bảo mật SHA-1 (hàm băm mật mã lấy đầu vào tạo giá trị băm 160 bit (20 byte) - thường hiển thị dạng số thập lục phân, dài 40 chữ số) Đầu vào hàm băm : + Địa IP node + Tên file liệu nội dung liệu Hình 6: Phân phối khoá cho node - Bảng băm phân tán đưa không gian địa mà liệu ánh xạ vào Không gian địa thường bao gồm giá trị số nguyên lớn, ví dụ: phạm vi từ đến Bảng băm phân tán đánh số phân tán cách gán phần tử liền kề không gian địa cho nút tham gia (Hình 6) 2.3 Quản lý liệu - Địa IP node băm để xác định vị trí bảng băm NodeID = SHA-1 (Node IP Address) Mỗi file liệu gán số định danh (Key) Key = SHA-1 (tên file) SHA-1 (nội dung file)  Key giá trị không gian địa - - Mỗi node quản lý khoảng giá trị không gian địa - Dữ liệu lưu trữ node quản lý khoá liệu - Dữ liệu lưu trữ trực tiếp (Hình 7) gián tiếp (Hình 8) thơng qua địa IP 13 Nhóm 10 Bài tập nhóm Internet giao thức Hình 7: Lưu trữ trực tiếp Hình 8: Lưu trữ gián tiếp 2.4 Tìm kiếm liệu Thơng điệp tìm kiếm khố K chuyển đến nút DHT gặp nút quản lý khoá K 2.5 Cơ chế quản lý Câu hỏi đặt : Một node gia nhập (join) rời (leave) hệ thống quản lý nào? - Với Node gia nhập, có bước : + Bước 1: Liên lạc với node tồn DHT + Bước 2: Xác định khoảng địa mà quản lý + Bước 3: Cập nhật lại thơng tin phục vụ cho việc tìm kiếm + Bước 4: Chuyển tất cặp (khoá, giá trị) thuộc quyền quản lý từ node trước - Với Node rời đi, có bước : + Bước 1: Chuyển cặp (khố, giá trị) node trước + Bước 2: Cập nhật lại thơng tin phục vụ cho việc tìm kiếm III GIAO THỨC BITTORRENT 14 Nhóm 10 Bài tập nhóm Internet giao thức 3.1 Khái niệm BitTorrent - BitTorrent giao thức chia sẻ tài nguyên mạng ngang hàng, đồng thời tên chương trình chia sẻ tài nguyên ngang hàng phát triển lập trình viên Bram Cohen BitTorrent dùng để tải liệu lớn mà khơng tốn chi phí máy chủ băng thơng mạng - Giao thức BitTorrent thay cho máy chủ cung cấp mạng lưới để truyền file lớn BitTorrent cho phép người dùng tham gia vào cộng đồng mạng để trao đổi tập tin với Giao thức thay cho việc tải từ nguồn đơn cũ nhiều nguồn khác để phân phối liệu hoạt động tốt nhiều mạng có băng thơng thấp (băng thơng đích nguồn thấp) Bằng cách sử dụng phương thức BitTorrent, nhiều máy tính thay cho Server lớn, hiệu cho việc phân phối tập tin tới nhiều người nhận Sử dụng băng thơng thấp cịn giúp ngừa đột biến lớn cho đường truyền Internet khu vực, giữ cho tốc độ Internet tốt cho người dùng khác họ có hay khơng sử dụng giao thức BitTorrent Ta thấy khác mơ hình client-server mơ hình P2P Hình Hình 9: So sánh dowload truyền thống với P2P 3.2 Cách thức hoạt động BitTorrent - 15 Nhóm 10 Giao thức BitTorrent định nghĩa phương thức để phổ biến chia sẻ tệp mạng Trước BitTorrent đời tồn giao thức ngang hàng (Peer-to-Peer P2P) có khả cho phép nhóm máy tính mạng chia sẻ tệp với máy tính khác nhóm mà khơng cần phải sử dụng máy chủ để làm kho lưu trữ trung tâm (Hình 10) BitTorrent cải tiến từ giao thức ngang hàng trước Giao thức BitTorremt có nguyên lý hoạt động Bài tập nhóm Internet giao thức chặt chẽ để có khả tùy biến, tin cậy chi phí trì danh sách máy tính chia sẻ tệp tốt giao thức ngang hàng trước Do giao chuẩn TCP/IP nên giao thức BitTorrent hoạt động đường truyền Internet thông thường - BitTorrent tảng P2P lớn lâu đời giúp chia sẻ liệu tệp Lần phát hành vào năm 2001 Internet bắt đầu phát triển, BitTorrent tạo cách mạng cách người dùng tải tệp, phương tiện giải trí liệu lớn khác - BitTorrent client chương trình hoạt động theo giao thức BitTorrent Mỗi BitTorrent client có khả so sánh, yêu cầu, vận chuyển tệp mạng sử dụng giao thức BitTorrent Tệp chứa thơng tin nào, bao gồm văn bản, âm thanh, phim nội dung mã hóa Hình 10: Mơ hình quần thể BitTorrent 16 Nhóm 10 Bài tập nhóm Internet giao thức Hình 11: Thực băm liệu đưa vào thiết bị ngang hàng - Như Hình 11, ta thấy BitTorrent giảm tải cho seeder tài nguyên tải từ người dùng khác Trong hình trên, màu biểu thị cho mảnh tệp, sau mảnh tệp phân phối từ seeder (máy có hoàn chỉnh tất tệp torrent) đến máy ngang hàng khác mạng, máy ngang hàng tự trao đổi mảnh tệp với Hình ảnh cho thấy seeder cần gửi lần mảnh tệp cho tất máy ngang hàng mạng máy ngang hàng tự bổ sung mảnh thiếu tệp cho 3.2.1 Tạo phát hành tệp Torrent lên mạng Để chia sẻ hay nhiều tệp giao thức BitTorrent, cần tạo tệp torrent Mỗi tệp torrent chứa thông tin mô tả tệp muốn chia sẻ, thông tin máy cung cấp gốc tệp Thông tin chi tiết lưu máy vi tính theo dõi khác tùy thuộc vào phiên giao thức BitTorrent, dù phiên tệp “torrent” ln có mở rộng torrent Cụ thể tệp torrent chứa thơng tin, thông tin tên tệp chia sẻ, kích thước mảnh, chiều dài khóa, chiều dài tệp, vé thơng hành để tải tệp Một tệp torrent chứa thông tin tệp nhiều tệp Máy tính tải tệp xong lựa chọn hoạt động seeder, cung cấp hoàn chỉnh tệp Sau tệp torrent tạo, đường dẫn để tải tệp từ máy bạn đặt lên trang web, tệp torrent đăng ký với máy gieo hạt (tracker) Tracker máy ngang hàng ghi lại nhật ký để theo dõi xem máy máy gieo hạt, máy máy ngang hàng 3.2.2 Tải xuống tệp Torrent chia sẻ tệp 17 Nhóm 10 Bài tập nhóm Internet giao thức - Khi dùng trình duyệt web bất kì, duyệt trang web có danh sách tệp torrent, tải về, sau dùng chương trình BitTorrent client mở tệp Sau mở tệp torrent, chương trình BitTorrent kết nối với máy tính theo dõi, máy tính theo dõi cung cấp cho danh sách cách máy vi tính tải tệp Một nhóm thành viên mạng BitTorrent để tải tệp gọi quần thể (swarm) - Việc chia sẻ seeder Các máy tính kết nối hướng trực tiếp tới seeder để bắt đầu tải mảnh tệp (Hình 12) Giao thức BitTorrent chia tệp cần tải thành phần nhỏ có kích thước (thường ¼ megabyte = 256 kilobyte), ví dụ tệp có kích thước 4,37 GB thường bị chia thành mảnh nhỏ có kích thước MB nhỏ Khi máy vi tính nhận mảnh dùng giải thuật băm để kiểm tra xem mảnh tải có bị lỗi hay khơng - Khi máy vi tính kết nối vào swarm, máy vi tính bắt đầu chia sẻ tệp với Các máy vi tính chia sẻ mảnh với thay chia sẻ trực tiếp với seeder, số lượng máy swarm chia sẻ theo giao thức BitTorrent phát triển nhanh Vì nguyên lý hoạt động giao thức chặt chẽ nên máy tự chọn máy ngang hàng có kết nối tốt để tải mảnh cần Một điểm đột phá giao thức BitTorrent so với giao thức ngang hàng trước nguyên lý “mảnh hiếm” Theo giao thức BitTorrent máy khách yêu cầu mảnh nhất, mảnh máy vi tính swarm có - Giao thức BitTorrent có ngun lý “tín nhiệm mở” tạo nên “nhóm máy ưa thích” Máy ưa thích tập máy ngang hàng swarm cung cấp băng thông tải lên lớn cho máy khách có u cầu tải Tín nhiệm mở cho phép chương trình BitTorrent kiểm tra định kỳ xem máy swarm nên lựa chọn để tải Nếu máy ngang hàng ngồi nhóm ưa thích có băng thông phục vụ máy khác swarm tốt máy nhóm ưa thích đẩy máy phục vụ khỏi nhóm ưa thích thay vào vị trí Ngun lý làm cho máy khách ln ln tải từ nhóm máy ngang hàng phục vụ tốt 18 Nhóm 10 Bài tập nhóm Internet giao thức Hình 12: Mô tả cách thức hoạt động BitTorrent 3.2.3 Một số nhược điểm - Tương tác bỏ chạy: Trên lí thuyết, việc chia sẻ file BitTorrent giúp tất peer nhận file mà mong muốn Tuy nhiên, khơng phải peer seeder seed Đơi lúc máy tính cần phải tắt lí Mặc dù vậy, phần lớn trường hợp mà peer hay seeder khơng seed ý muốn người sử dụng Sau có liệu mà mong muốn (đơi lúc số file toàn file torrent), Peer khơng tham gia vào swarm mà xóa torrent Bittorrent client (Xóa torrent khơng liên quan tới việc xóa file download) - Torrent chết: Đơi lúc, torrent upload lên tracker đó, liệu file torrent khơng cịn số lí khơng cịn seeder (các seeder thoát khỏi swarm, kết nối mạng), file bị corrupt tạo torrent, khơng cịn đầy đủ mảnh swarm, số lượng peer rời swarm dần qua thời gian… việc tải hồn chỉnh torrent khơng thể thực với tình trạng Nếu may mắn, seeder kết nối lại vào swarm, số peer khác kết nối mà swarm có đầy đủ mảnh, việc download file thực trở lại Tuy nhiên, nhiều torrent download hoàn chỉnh nữa, đặc biệt torrent cũ từ nhiều năm trước 3.3 Ứng dụng DHT giao thức BitTorrent 3.3.1 BitTorrent sử dụng Kademlia DHT để tạo lập theo dõi phân tán - 19 Nhóm 10 Kademlia giao thức truyền thơng bảng băm phân tán (DHT) cho mạng ngang hàng phi tập trung Nó nhiều phiên DHT Bài tập nhóm Internet giao thức - Mạng Kademlia tạo thành từ loạt node, tương tác với thơng qua giao thức gói liệu người dùng (UDP) Mỗi nút mạng xác định số nhị phân gọi node ID Node ID sử dụng để định vị giá trị (khối liệu) thuật toán Kademlia Các giá trị liên kết với mạng Kademlia với khoá giá trị cụ thể, số nhị phân có độ dài cố định - Kademlia sử dụng rộng rãi mạng chia sẻ tệp giúp tìm kiếm thơng tin mạng chia sẻ tệp dễ dàng Điều từ khoá sử dụng để thực tìm kiếm tên tệp tên tệp chia thành từ Các từ khoá đặc biệt cắt nhỏ đưa vào lưu trữ mạng, với tên tệp hàm băm tương ứng chúng - DHT sử dụng BitTorrent Kademlia: + Mạng Kademlia bao gồm số node hợp tác giao tiếp với nhau, node có node ID – số nhị phân gần xác định mạng + Trong mạng, khối liệu, giá trị liên kết với số nhị phân có độ dài cố định B, khoá giá trị + Khi node cần tìm liệu, tìm kiếm node có khố gần khố Một node cần lưu giá trị lưu giá trị node mà coi gần với khoá liên kết với giá trị + Node nhị phân có độ dài B = 160 bit Trong Kademlia bản, node chọn ID riêng số thủ tục bán ngẫu nhiên khơng xác định Điều quan trọng node ID phải phân phối đồng Mặc dù giao thức không bắt buộc điều này, node sử dụng node ID tham gia mạng thay tạo node ID phiên cụ thể + Chìa khố: Dữ liệu lưu trữ bên hay truy xuất từ mạng Kademlia phải có khố có độ dài B Các khố phải phân phối đồng Có số cách để đảm bảo điều này, phổ biến lấy giá trị băm, chẳng hạn SHA1 160 bit Hình 13: Cây tìm kiếm Kademlia 20 Nhóm 10 Bài tập nhóm Internet giao thức - Hình 13 hình ảnh nhị phân có chiều cao Các dãy nhị phân khoanh trịn đại diện cho ID máy tính 3.3.2 Khố - Trong BitTorrent, khố có vai trị để định danh Torrent - Torrent file chứa chi tiết liệu nguồn, nơi tìm thấy file thư mục phân tán Internet Torrent thường chứa thông tin liên quan đến trình theo dõi máy chủ liệt kê, thư mục trực tuyến, v.v… chứa yêu cầu để hồn tất việc tải xuống, khơng chứa file bạn tải xuống 3.3.3 Giá trị - Là địa IP tất thiết bị ngang hàng tham gia BitTorrent Xác định địa IP thiết bị ngang hàng nhờ khố, từ khố xác định file Torrent chứa thông tin từ thiết bị ngang hàng chứa liệu nguồn Trong có chứa địa IP 3.3.4 Thiết bị ngang hàng gia nhập - Truy vấn định danh torrent, xác định thiết bị ngang hàng chịu trách nhiệm theo dõi - Theo cách này, truy vấn DHT với định danh Torrent, thiết bị ngang hàng Torrent tham gia xác định thiết bị ngang hàng chịu trách nhiệm định danh (có nghĩa theo dõi thiết bị ngang hàng Torrent) Sau tìm thiết bị ngang hàng này, thiết bị tham gia truy vấn thiết bị ngang hàng khác Torrent 21 Nhóm 10 Bài tập nhóm Internet giao thức TỔNG KẾT Qua nội dung đề tài tiểu luận, trả lời cho câu hỏi làm để định truyến mạng ngang hàng Phương pháp định tuyến mạng ngang hàng dựa ý tướng bảng băm phân tán (DHT) Trong mạng ngang hàng, việc áp dụng chế bảng băm phân tán vô quan trọng Điều cung cấp cho dịch vụ tra cứu tương tự bảng băm cặp (khoá, giá trị) lưu trữ DHT Bất kỳ nút mạng tham gia lấy giá trị liên kết với khoá cho trước cách hiệu Nhiệm vụ lưu trữ ánh xạ từ khoá tới giá trị phân tán nút, cách giảm bớt lỗi có thay đổi tập hợp nốt tham gia Cuối cùng, mơ hình cho phép sử dụng DHT với số lượng cực lớn thiết bị ngang hàng xử lý việc vào, lỗi nút mạng cách liên tục Mơ hình ứng dụng rộng rãi thực tế Điển hình giao thức BitTorrent mà nhóm chúng em đề cập đến tiểu luận Cuối cùng, em xin phép kết thúc tiểu luận nhóm Trong thời gian tham dự lớp học cô Phạm Anh Thư, chúng em tiếp thu thêm nhiều kiến thức bổ ích, học tập tinh thần làm việc hiệu quả, nghiêm túc Đây thực 22 Nhóm 10 Bài tập nhóm Internet giao thức điều cần thiết cho q trình học tập cơng tác sau chúng em Tuy nhiên, thời gian học tập lớp giới hạn, cố gắng chắn kiến thức hiểu biết mơn học chúng em cịn nhiều hạn chế Do đó, tiểu luận kết thúc học phần nhóm khó tránh khỏi thiếu sót chỗ chưa chuẩn xác, kính mong giảng viên mơn xem xét góp ý giúp tiểu luận em hồn thiện BẢNG PHÂN CƠNG CƠNG VIỆC Nhóm 10: DHT ứng dụng giao thức BitTorrent Công việc Thành viên Hảm băm, bảng băm ứng dụng DHT giao thức BitTorrent, chỉnh sửa nội dung tiểu luận Tạ Thị Minh Thư Hiện tượng xung đột khoá, cách chọn hàm băm tốt hệ số tải, thiết kế powerpoint Nguyễn Đăng Khoa Khái niệm cách hoạt động giao thức BitTorrent Đặng Văn Hồng Bảng băm phân tán: Khái niệm, khơng gian địa chỉ, 23 Nhóm 10 Bùi Trọng Đạt Bài tập nhóm Internet giao thức quản lý liệu, tìm kiếm liệu, chế quản lý TÀI LIỆU THAM KHẢO [1] Phan Anh, Nguyễn Đình Nguyên, Bảng băm phân tán mạng ngang hàng Chord, Trang 14, Năm 2011 [2] Chủ biên Nguyễn Tiến Trinh , Bài giảng Internet giao thức, Trang 74, Năm 2014 [3] Klaus Wehrle, Peer-to-peer Systems and Applications, Năm 2005 24 Nhóm 10

Ngày đăng: 26/12/2023, 05:00

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w