1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs

56 15 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

Định dạng
Số trang 56
Dung lượng 740,72 KB

Nội dung

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ Đề xuất mơ hình hybrid dựa CDN Peer-to-Peer, thử nghiệm mạng IPFS NGUYỄN TIẾN THẠO nguyentienthao96@gmail.com Ngành Khoa học liệu Giảng viên hướng dẫn: TS Đỗ Bá Lâm Viện: Công nghệ thông tin truyền thơng HÀ NỘI, 10/2020 CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc ———————————————– BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ Họ tên tác giả luận văn: Nguyễn Tiến Thạo Đề tài luận văn: Đề xuất mơ hình hybrid dựa CDN Peerto-Peer, thử nghiệm mạng IPFS Chuyên ngành: Khoa học liệu Mã số SV: CA190044 Tác giả, Người hướng dẫn khoa học Hội đồng chấm luận văn xác nhận tác giả sửa chữa, bổ sung luận văn theo biên họp Hội đồng ngày 15/11/2020 với nội dung sau: STT Yêu cầu hội đồng Thay đổi lại bố cục chương luận văn cho hợp lý Nội dung chỉnh sửa, bổ sung Luận văn chia chương sở lý thuyết làm ba phần xếp sở lý thuyết tương ứng vào ba phần Làm rõ khác biệt Chỉ khác biệt đặc điểm bật IPFS IPFS cluster IPFS mục 2.3.2 Ngày 15 tháng 11 năm 2020 Giáo viên hướng dẫn Tác giả luận văn TS Đỗ Bá Lâm Nguyễn Tiến Thạo CHỦ TỊCH HỘI ĐỒNG PGS.TS Lê Thanh Hương ĐỀ TÀI LUẬN VĂN Mã đề tài: 19AKHDL-LH05 Theo QĐ số 319/QĐ-ĐHBK-ĐT-SĐH Hiệu trưởng Trường Đại học Bách Khoa Hà Nội ký ngày 16 tháng năm 2020 Họ tên học viên: Nguyễn Tiến Thạo SHHV: CA190044 Chuyên ngành: Hệ thống thông tin Lớp: Khoa học liệu Người hướng dẫn: TS Đỗ Bá Lâm Đơn vị: Viện công nghệ thông tin truyền thông, Trường Đại học Bách Khoa Hà Nội Tên đề tài (tiếng Việt): Đề xuất mơ hình hybrid dựa CDN Peerto-Peer, thử nghiệm mạng IPFS Tên đề tài (tiếng Anh): Proposing a hybrid model using CDN and Peer-to-Peer, assessing on IPFS network Giảng viên hướng dẫn TS Đỗ Bá Lâm Lời cảm ơn Đầu tiên, em xin gửi lời cảm ơn chân thành đến thầy giáo, cô giáo thuộc trường đại học Bách Khoa Hà Nội, đặc biệt thầy giáo, cô giáo thuộc Viện Công nghệ Thông tin Truyền Thông tận tình dạy dỗ trang bị cho em kiến thức bổ ích thời gian qua Đồng thời, em xin gửi lời cảm ơn chân thành đến TS Đỗ Bá Lâm Thầy giỏi chun mơn, thầy cịn thân thiện với sinh viên, giúp em tiếp thu kiến thức, kinh nghiệm để hồn thành đồ án cách tốt Khơng thế, thầy cịn người bạn sẵn sàng lắng nghe tâm tư, suy nghĩ em giúp em có hướng phù hợp với thân tương lai Em xin gửi lời cảm ơn tới gia đình, tập thể lớp KHDL-2019A, thành viên BKC lab động viên, tạo môi trường thuận lợi giúp em hồn thành đồ án cách tốt Tóm tắt nội dung luận văn Những năm gần đây, với phát triển ngày nhanh mạng internet, nhu cầu xem video trực tuyến ngày tăng số lượng người xem chất lượng video Theo báo cáo Cisco công bố năm 2020, cho thấy lượng băng thông cho việc xem video vào năm 2017 chiếm 75% dự kiến tăng lên khoảng 82% tổng băng thơng tồn mạng internet Con số dự kiến tiếp tục tăng chất lượng video ngày tăng với định dạng video Full High Definition(FHD), Ultra High Definition(UHD), 4K 5K Từ thực trạng trên, công ty cung cấp giải pháp truyền tải video, muốn tìm giải pháp để giúp việc truyền tải video đến người dùng cách hiệu quan trọng tiết kiệm chi phí Nhiệm vụ luận văn đề xuất thử nghiệm hệ thống cho phép việc truyền tải nội dung kết hợp CDN Peer-to-Peer mạng IPFS Cụ thể nội dung video truyền từ CDN đến peers mà cịn trao đổi qua lại peers với Cụ thể, luận văn thực cơng việc sau sau: Tìm hiểu IPFS, video streaming, đặc điểm video kỹ thuật số, mạng phân phối nội dung, công nghệ truyền tải video tại, mơ hình kết hợp CDN Peer-to-Peer Thiết kế cài đặt hệ thống Thử nghiệm, đánh giá hệ thống đề xuất phương hướng phát triển Luận văn bao gồm nội dung sau: Giới thiệu đề tài: Trình bày thực trạng vấn đề, tính cấp bách tốn Cơ sở lý thuyết: Đưa sở lý thuyết sử dụng để giải vấn đề Các nghiên cứu liên quan: Trình bày nghiên cứu liên quan để giải vấn đề đặt chương Thiết kế hệ thống: Trình bày thiết kế trình triển khai hệ thống Thử nghiệm đánh giá: Trình bày thử nghiệm, đánh giá kết giải thích kết Kết luận hướng phát triển: Trình bày kết luận hệ thống từ đề xuất kế hoạch để cải tiến phát triển hệ thống MỤC LỤC GIỚI THIỆU ĐỀ TÀI 1.1 Đặt vấn 1.2 Các giải pháp CƠ SỞ LÝ THUYẾT 2.1 2.2 2.3 Các khái niệm, kiến thức liên quan 2.1.1 Mạng phân phối nội dung (Content delivery network) 2.1.2 Mạng ngang hàng (Peer-to-Peer) 2.1.3 Cây Merkle 2.1.4 Mã hóa bất đối xứng (Asymmetric Cryptography) 2.1.5 Bảng băm phân tán (distributed hash table) 10 2.1.6 Đồ thị có hướng khơng chu trình (Directed acyclic graph) 10 2.1.7 Trao đổi khối (Block Exchanges) – BitTorrent 11 2.1.8 Hệ thống tệp tin tự xác thực (Self-Certified Filesystems - SFS) 11 2.1.9 Hệ thống quản lý phiên - Git 12 Cơng nghệ truyền dịng video (video streaming) 13 2.2.1 Các loại khung (frame) video 13 2.2.2 Giao thức luồng trực tiếp HTTP (HTTP Live Streaming - HLS) 14 Mạng IPFS 15 2.3.1 Hệ thống IPFS (InterPlanetary File System) 15 2.3.2 IPFS Cluster 18 2.3.3 So sánh IPFS IPFS cluser 21 CÁC NGHIÊN CỨU LIÊN QUAN 22 3.1 Nghiên cứu liên quan tới mơ hình hybrid CDN-P2P 22 3.2 Nghiên cứu IPFS 26 THIẾT KẾ HỆ THỐNG 28 4.1 Kiến trúc hệ thống 28 4.2 Luồng hoạt động hệ thống 30 4.3 Thuật toán lựa chọn Peers 30 4.4 Triển khai hệ thống 32 4.4.1 Triển khai IPFS cluster 32 4.4.2 Triển khai DWS tracker 32 4.4.3 Triển khai IPFS connector 33 THỬ NGHIỆM VÀ ĐÁNH GIÁ 35 5.1 Thông tin môi trường thử nghiệm 35 5.2 Đánh giá hiệu DWS tracker 36 5.3 Đánh giá tỷ lệ offload liệu 37 5.4 Đánh giá liên hệ tỷ lệ offload độ dài video 39 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 41 6.1 Kết luận 41 6.2 Hướng phát triển 42 TÀI LIỆU THAM KHẢO 43 DANH MỤC BẢNG BIỂU Danh sách thuật ngữ 1.1 Kích thước video theo định dạng khác DANH MỤC HÌNH VẼ 1.1 Báo cáo Cisco băng thông mạng internet [17] 1.2 Mơ hình Unicast Multicast [34] 1.3 Mô hình mạng phân phối nội dung(CDN)[3] 1.4 Mơ hình Peer-to-Peer[2] 1.5 Mơ hình Hybrid CDN Peer-to-Peer sử dụng WebRTC[14] 1.6 Minh hoạ blocks trong blockchain[5] 2.1 Mạng phân phối nội dung[6] 2.2 Mạng ngang hàng 2.3 Cây merkle tree[4] 2.4 Mã hoá bất đối xứng[4] 2.5 Bảng băm phân tán[8] 10 2.6 Đồ thị có hướng khơng chu trình[10] 11 2.7 Tổng quan hệ thống quản lý phiên phân tán[10] 12 2.8 Bốn khung hình giây video 30 FPS[7] 13 2.9 Các loại khung video[7] 13 2.10 Giao thức HLS[9] 14 2.11 Mô mạng IPFS[12] 15 2.12 IPFS CID[12] 16 2.13 Mẫu đồ thị đối tượng IPFS[1] 17 2.14 Mơ hình cụm IPFS[11] 19 2.15 Các thành phần trọng cụm IPFS[11] 19 3.1 Kiến trúc hệ thống kết hợp CDN P2P đề xuất báo [33] 22 3.2 Giai đoạn pull báo [30] 23 3.3 Giai đoạn push báo [30] 24 3.4 Kiến trúc Ftree-CDN[15] 4.1 Kiến trúc hệ thống 28 4.2 Sơ đồ luống hoạt động hệ thống 30 4.3 IPFS chạy browser 34 5.1 Thời gian xử lý cho việc xác định peers có yêu cầu tham 25 gia 36 5.2 Đánh giả tỷ lệ offload liệu 38 5.3 Mối quan hệ tỷ lệ offload độ dài video 39 • Cuối để ưu tiên cho peers nhà cung cấp, điểm số cộng thêm nhà cung cấp không cộng thêm khác nhà cung cấp Tham số ưu tiên việc truyền tải nội dung ISP Lợi ích việc truyền tải nội dung ISP chứng minh báo [15] 4.4 Triển khai hệ thống 4.4.1 Triển khai IPFS cluster Trước bắt đầu triển khai IPFS Cluster, ta cần làm rõ số khái niệm Cụm IPFS gồm thành phần chính: • ipfs-cluster-service: thành phần làm nhiệm vụ khởi tạo cụm ipfs thông qua tệp cấu hình lưu trữ liệu cụm vào ổ cứng • ipfs-cluster-ctl: thành phần làm nhiệm vụ giao tiếp với peers khác cụm thực công việc ghim CID vào cụm • ipfs-cluster-follow: thành phần theo dõi cụm ipfs Như trình bày phần 2, cụm IPFS cần giao tiếp với máy chủ IPFS để thực cơng việc quản lý liệu Cụm IPFS giao tiếp với máy chủ thơng qua http api (cổng 5001) Do trước triển khai cụm IPFS cần triển khai máy chủ IPFS cách độc lập Cụ thể hệ thống triển khai ba máy chủ IPFS sử dụng chế đồng thuận CRDT Do diều kiện tài nguyên, hệ thống triển khai ba máy chủ sau: hai máy Singapore máy London, đặc điểm cụm IPFS việc mở hệ thống phát triển, chẳng hạn có người dùng vị trí khác nhau, thêm máy chủ vào đơn giản Ngoài để giúp tăng khả mở rộng cho phép bên thứ ba dễ dàng tích hợp, cụm IPFS cung cấp tính cho phép máy chủ IPFS khác có quyền theo dõi liệu cụm IPFS, từ đồng máy chủ Lưu ý máy chủ theo dõi có quyền xem mà khơng có quyền cập nhật liệu Việc triển khai cụm IPFS giúp việc đồng liệu máy chủ IPFS đơn giản, nhanh chóng tiết kiệm nhớ lưu trữ chế mà hoá quản lý phiên IPFS Cụm IPFS giúp đơn giản hoá việc theo dõi peers, lưu backup liệu hệ thống 4.4.2 Triển khai DWS tracker Trong hệ thống sử dụng node.js để phát triển DWS tracker Cụ thể việc trao đổi quản lý peers tracker trình duyệt sử dụng socket để giao tiếp 32 Dữ liệu peers theo video ID lưu vào redis Khi DWS tracker nhận thông điệp join message, module dựa vào video ID thông điệp truy vấn danh sách peers từ redis sau sử dụng thuật tốn chọn peers để lựa chọn peers trả cho máy khách 4.4.3 Triển khai IPFS connector Đây thành phần quan trọng hệ thống, chạy trình duyệt người dùng Chi tiết nhiệm vụ thành phần sau: • Giao tiếp với DWS tracker: Sử dụng socket để gửi yêu cầu tham gia tới DWS tracker sau nhận lại danh sách peers • Kết nối với peers tiến hành trao đổi chunk liệu Sau nhận peers từ DWS tracker, ipfs connector sử dụng thư viện js-ipfs để tạo node ipfs trình duyệt người dùng kết nối node ipfs với peers khác nhận từ DWS tracker • Nhận liệu tiến hành phát video Khi node ipfs kết nối với peers khác Khi phát video module hls gửi yêu cầu chunk tới node ipfs trình duyệt Node ipfs gửi yêu cầu tới peers mà kết nối để lấy liệu Khi nhận liệu đẩy lại vào module hls để tiến hành phát video Q trình lặp lại liên tục dựa vào file m3u8 chứa danh sách chunk video Nếu trình gửi yêu cầu liệu từ node ipfs đến peers khác không nhận lại liệu thời gian cho phép (dựa vào thời gian hls cần video đó) Module chuyển sang gửi yêu cầu tới CDN để đảm bảo trải nghiệm người dùng Việc trao đổi liệu peers thành phần công việc quan trọng, sử dụng thư viện js-ipfs để thực Thư viện js-ipfs giao thức peer-to-peer đầy đủ viết hoàn tồn Javascript với tính sau: – Sử dụng Node.js trình duyệt: js-ipfs hoạt động hiệu Node.js, Electron trình duyệt đại – Triển khai đầy đủ tính IPFS: Khơng có tính IPFS bị bỏ lại js-ipfs ứng dụng khách nhẹ, triển khai đầy đủ giao thức IPFS – Sử dụng PubSub để giao tiếp thời gian thực với peers khác – Thêm lấy tệp từ nơi khác mạng IPFS: IPFS thiết kế để sử dụng sức mạnh đánh địa dựa nội dung để tìm nút mạng có nội dung bạn tìm kiếm Theo cách tương tự, bạn thêm liệu nút khác tìm thấy 33 Hình 4.3: IPFS chạy browser 34 CHƯƠNG THỬ NGHIỆM VÀ ĐÁNH GIÁ Chương cung cấp thông tin thử nghiệm để đánh giá hiệu hệ thống Thông tin môi trường thử nghiệm miêu tả 5.1 Ba đoạn tiến hành thử nghiệm khác hệ thống đề xuất hiệu DWS tracker, tỷ lệ offload mối liên hệ độ dài video tỷ lệ offload Kết cụ thể thử nghiệm trình bày mục từ 5.2 đến 5.4 5.1 Thông tin môi trường thử nghiệm Hệ thống thử nghiệm gồm có ba thành phần tương ứng với kiến trúc hệ thống cụ thể sau: • Thành phần cụm IPFS gồm ba máy chủ, máy chủ có cấu hình CPUs, 8GB RAM Ba máy chủ triển khai sử dụng tảng đám mây digitalocean.com đặt ví trí gồm: – Singapore (hai máy chủ) – London (một máy chủ) Trên máy chủ triển khai IPFS phiên v0.4.23 IPFS cluster phiên v0.11.0 • Thành phần DWS tracker triển khai máy chủ có cấu hình CPUs 4GB RAM đặt Singapore • Thành phần cuối peers tham gia vào trình xem video Kịch có ba trường hợp cho peers này: – Trường hợp thứ peers nằm máy tính (các tab khác trình duyệt) – Trường hợp thứ hai peers mạng LAN thiết bị khác – Và cuối các peers nằm mạng khác Khi nằm mạng khác số lượng mạng để thử nghiệm hạn chế nên với trường hợp số peers lớn ví dụ peers mà có mạng số peers mạng trường hợp ví dụ peers mạng 35 Mỗi thí nghiệm thực ba lần kết trung bình cộng ba lần 5.2 Đánh giá hiệu DWS tracker Mục tiêu thử nghiệm để đánh giá hiệu DWS tracker thời gian việc xác định danh sách peers phù hợp có yêu cầu gửi tới Trong thử nghiệm tiến hành hai trường hợp: • Trường hợp thứ peers nằm mạng LAN • Trường hợp thứ hai peers nằm hai mạng LAN khác Với thử nghiệm tiến hành cho peers đồng thời gửi yêu cầu với video ID tiến hành thay đổi số lượng peers gửi yêu cầu từ hai đến 64 peers Same
LAN 1.4 Diffrent
LAN Times
(s) 1.2 0.8 0.6 0.4 0.2 20 40 60 Number
peers Hình 5.1: Thời gian xử lý cho việc xác định peers có u cầu tham gia Hình 5.1 mô tả kết thử nghiệm Theo kết thử nghiệm thấy số lượng peers tham gia vào xem video tăng lên thời gian để tìm peers phù hợp cho việc ghép nối có xu hướng giảm Điều lý giải số lượng peers tăng lên việc tìm peers phù hợp, với PeerScore thoã giải thuật lựa chọn peers dễ dàng Kết thử nghiệm cho thấy thời gian để lựa chọn peers ổn định sau có khoảng 32 peers tham gia vào hệ thống Kết giải thích dựa vào giải thuật lựa chọn peers trường hợp số lượng peers tìm lớn ngưỡng maxConnection giải thuật lựa chọn peers Việc sử dụng thêm ngưỡng maxConection khơng 36 giúp thời gian tìm peers phù hợp giảm có xu hướng ổn định mà giúp việc số lượng kết nối peers hệ thống không bị bùng nổ nhanh Nhưng việc sử dụng tham số maxConnection giải thuật gây vấn đề việc khó khăn việc chọn ngưỡng để hai peers ghép cặp Việc giải thuật kết thúc đủ số lượng maxConnection gây trường hợp có peer khác phù hợp mà khơng lựa chọn Một giải pháp đề xuất sử dụng tính điểm tất peers sau xếp chọn maxConnection peers thoả mãn threshold Với hướng giải đảm bảo lựa chọn peers tốt số lượng peers tăng lên khơng làm giảm thời gian tìm peers phù hợp mà chí cịn làm tăng lên Ngồi yếu tố tác động đến số 32 thử nghiệm điều kiện thử nghiệm: thử nghiệm peers LAN khác LAN Ngay với trường hợp khác mạng LAN có đến nửa peers mạng LAN số 32 thay đổi khác nhiều thực tế peers tham gia đến từ mạng hoàn toàn độc lập với Đây phần mà thực nghiệm cần cải thiện mô peers đến từ mạng phức tạp 5.3 Đánh giá tỷ lệ offload liệu Mục đích thử nghiệm để đánh giá đóng góp việc trao đổi liệu trực tiếp peers thay peer CDN Tỷ lệ offload tỷ lệ quan trọng hệ thống kết hợp CDN Peer-to-Peer Tỷ lệ phản ánh mực độ giảm tải lên CDN mà hệ thống mang lại Kịch thử nghiệm tiến hành thay đổi số lượng peers truy cập vào video từ hai lên sáu với video có độ dài năm phút Ngoài ra, thử nghiệm tiến hành thay đổi độ dài chunk với hai trường hợp giây 10 giây Việc thêm điều kiện thay đổi độ dài chunk tỷ lệ offload hệ thống phụ thuộc vào số lần gửi yêu cầu qua lại peer, mà độ dài chunk ảnh hưởng đến số lượng Cụ thể với video dài năm phút chunk có độ dài năm giây cần 60 lần gửi yêu cầu chunk nhận chunk data, độ dài chunk 10 giây số 30 Rõ ràng tăng số lượng gửi u cầu lên khả khơng nhận phản hồi tăng lên Hơn việc chunk có độ dài lớn tác động đến việc lưu trữ (caching) liệu peers 37 CDN P2P data
(bytes) 40M 30M 20M 10M peer
6 peer
5 peer
4 5
Peers peer
3 peer
2 peer
1 peer
5 peer
4 4
Peers peer
3 peer
2 peer
1 peer
4 peer
3 3
Peers peer
2 peer
1 peer
3 peer
2 peer
1 peer
2 peer
1 2
Peers 6
Peers (a) Video chia thành chunk chunk có độ dài giây CDN 50M P2P data
(bytes) 40M 30M 20M 10M peer
6 peer
5 peer
4 peer
3 peer
2 peer
1 5
Peers peer
5 peer
4 4
Peers peer
3 peer
2 peer
1 peer
4 peer
3 peer
2 3
Peers peer
1 peer
3 peer
2 peer
1 peer
2 peer
1 2
Peers 6
Peers (b) Video chia thành chunk chunk có độ dài 10 giây Hình 5.2: Đánh giả tỷ lệ offload liệu Hình 5.2a hình 5.2b cho thấy kết thử nghiệm Nhìn tổng quan hai hình ta thấy số lượng peers tăng lên từ hai tới sáu peers tỷ lệ liệu lấy từ peers khác (offload) thay CDN tăng lên Ví dụ với trường hợp chunk có độ dài giây số lượng peers tăng từ hai lên sáu peers liệu offload tăng từ 30MB lên 42MB Có thể dễ dàng nhận thấy kết hợp lý số lượng peers tăng lên kéo theo việc yêu cầu gửi tới nhiều peers xác xuất để nhận lại liệu phản hồi cao Ngoài nhìn vào 38 kết ta thấy peer peers ln có tỷ lệ offload thấp peers khác Lý giải cho điều peer tham gia vào hệ thống người phát hành chunk đầu tiên, chưa có peers có liệu nên peer gửi yêu cầu tới CDN Tổng quan cho thấy tương đồng hai trường hợp chunk có độ dài giây 10 giây Chứng minh tính ổn định hệ thống với video có độ dài chunk khác khía cạnh tỷ lệ offload data Bên cạnh ta thấy với trường hợp chunk có độ dài 10 giây lượng liệu offload có nhiều khoảng 10% so với chunk có độ dài giây Con số độ dài chunk tăng lên số lượng yêu cầu giảm đi, độ dài chunk tăng lên dẫn tới thời gian để chờ chunk điều chỉnh tăng lên mà không làm ảnh hưởng đến trải nghiệm người dùng Việc lựa chọn độ dài chunk thực tế yêu cầu nghiệp vụ khác hệ thống Với hệ thống video on demand (VOD) thời gian chunk khơng nên để q ngắn dẫn tới chi phí cao Việc để độ dài chunk ngắn dẫn tới có nhiều yêu cầu gửi Điều vừa gây tải cho hệ thống phần client cần thực thao tác ghép chunk nhiều ảnh hưởng đến trải nghiệm người dùng Ngược lại với hệ thống livestreaming địi hỏi có độ trễ thấp thời gian chunk thường sử dụng nhỏ để tránh độ trễ người phát người xem Có thể hiểu đơn giản độ dài chunk nhỏ dẫn tới độ trễ máy chủ máy khách thấp số yêu cầu nhiều khó đảm bảo hiệu 5.4 Đánh giá liên hệ tỷ lệ offload độ dài video 48 Same
computer Same
LAN Percent
offload
(%) 46 44 42 40 38 36 34 Time
(min) Hình 5.3: Mối quan hệ tỷ lệ offload độ dài video Thử nghiệm nhằm đánh giá việc tác động độ dài video tới tỷ lệ liệu trao 39 đổi peer so với liệu đến từ CDN Tôi tiến hành thử nghiệm hai môi trường peers mạng LAN peers khác mạng LAN, với thử nghiệm tiến hành với video có độ dài thay đổi từ phút tới năm phút đo lại tỷ lệ liệu offload Hình 5.4 cho thấy kết thử nghiệm Dựa vào kết ta thấy so sánh hai trường hợp thử nghiệm ta thấy với trường hợp mạng LAN tỷ lệ offload cao Điều lý giải mạng LAN băng thông peers cao việc trao đổi dễ dàng Trong hai trường hợp ta thấy độ dài video tăng lên tỷ lệ offload hai tăng Cụ thể với trường hợp mạng LAN số tăng từ 34% tới 45% Điều giải thích thời gian xem video tăng việc lưu trữ liệu chunk peers khả tìm peers có liệu phù hợp tăng lên Ngoài video dài gián tiếp giúp cho việc thời gian để chờ chunk dài liệu gửi trước số peer CDN 40 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 Kết luận Ngày nay, bùng nổ lưu lượng truy cập Internet liệu đa phương tiện khiến việc phân phối nội dung trở nên phức tạp nhiều Để giải toán truyền tải nội dung nói chung truyền tải video nói riêng, hệ thống có thường thiết kế theo số kiến trúc Unicast-Multicast, mạng phân phối nội dung (CDN), Peer-to-Peer Hybrid CDN-P2P Trong giải pháp đó, kiến trúc CDN Peer-to-Peer ngày quan tâm hứa hẹn giải vấn đề việc truyền tải nội dung video Tuy nhiên, việc triển khai kiến trúc hybrid CDN Peer-to-Peer tương đối phức tạp mặt công nghệ So với giải pháp có, IPFS lên giải pháp có giúp việc triển khai kiến trúc đơn giản hiệu IPFS ngày phát triển với cộng đồng lập trình viên đơng đảo, hỗ trợ công ty lớn Trong bối cảnh này, luận văn tơi nhằm mục đích đề xuất mơ hình dựa CDN, P2P IPFS để phân phối nội dung Kiến trúc xây dựng dựa ba thành phần: cụm IPFS, DWS Tracker IPFS connector Đầu tiên, cụm IPFS kiến trúc tập hợp máy chủ IPFS đặt vị trí khác nhau, sử dụng chế đồng thuận để đạt đồng liệu Cụm đóng vai trị CDN để nhận phản hồi yêu cầu từ máy khách Việc sử dụng cụm IPFS giúp đơn giản hóa việc quản lý trạng thái cách để giao tiếp đồng liệu máy chủ cụm Thành phần thứ hai hệ thống DWS tracker, thành phần nhằm nhiệm vụ quản lý peers hệ thống quản lý việc ghép cặp peers Thành phần xây dựng công nghệ Node.js, Socket, Redis Cuối IPFS connector, thành phần hệ thống, thực ba nhiệm vụ chính, thu thập thông tin peer gửi tới cho DWS tracker sau nhận lại peers Sau nhận peers từ DWS tracker, IPFS connector thực nhiệm vụ thứ hai gửi yêu cầu liệu tới peers đợi nhận phản hồi Nhiệm vụ thứ ba thành phần sau nhận liệu tiến hành ghép nối liệu để phát video Để đánh giá hệ thống tiến hành ba thử nghiệm Thử nghiệm nhằm đánh giá tính ổn định DWS tracker đánh giá tốc độ tìm peers phù hợp Thử nghiệm thứ hai tiến hành đánh giá tỷ lệ offload liệu 41 số lượng peers xem video tăng từ tới sáu Cuối đánh giá mối tương quan độ dài video tỷ lệ offload liệu Kết thử nghiệm cho thấy kiến trúc đề xuất có triển vọng hiệu Kết cho thấy tính khả thi việc sử dụng IPFS cho toán truyền tải nội dung IPFS cịn cơng nghệ có cộng đồng lập trình viên đóng góp mạnh mẽ, tương lai phát triển giúp nghiên cứu liên quan dễ mở rộng Đề tài mở hướng nghiên cứu giải pháp để phát triển hệ thống truyền tải nội dung kết hợp CDN Peer-to-Peer sử dụng IPFS 6.2 Hướng phát triển Trong tương lai, mong muốn mở rộng quy mô triển khai hệ thống, chẳng hạn tăng số lượng nút CDN cải thiện thuật toán lựa chọn ngang hàng sử dụng Tracker Sẽ cần phải thực nhiều thử nghiệm để đánh giá hệ thống nhiều khía cạnh khác nhau, chẳng hạn trải nghiệm người dùng, quyền riêng tư chi phí băng thơng tiết kiệm • Đánh giá cải thiện IPFS cluster: tơi sử dụng cơng nghệ có sẵn ipfs ipfs cluster từ xây dựng nên cụm IPFS đóng vai trị CDN Thử nghiệm chưa đưa đánh giá mức độ hiệu hiệu cụm IPFS Trong tương lai tiến hành thử nghiệm khác để đánh giá độ hiệu hiệu cụm IPFS từ đưa cải tiến • Cải thiện tỷ lệ CDN offload: Hiện tỷ lệ offload khoảng từ 34% đến 45% số cao tơi hi vọng số cải thiện tốt nhằm nâng cao khả mở rộng hệ thống • Cải thiện cơng thức tính PeerScore: Hiện cơng thức tính PeerScore cịn đơn giản chưa có đánh giá cụ thể Trong tương lai tiến hành thêm thử nghiệm để đánh giá công thức đưa cơng thức tối ưu • Cải thiện thuật tốn chọn peers: Hiện thuật tốn chọn peers cịn sử dụng số tham số threshold maxConnection Hiện tham số chưa tối ưu Tương lai tiến hành đánh giá tối ưu tham số 42 Tài liệu tham khảo [1] Available at https://github.com/ipfs/ipfs/blob/master/papers/ ipfs-cap2pfs/ipfs-p2p-file-system.pdf), Title = IPFS Whitepaper, Year = 2020 [2] Cisco predicts more ip traffic in the next five years than in the history of the internet Available at https://www.cyberagentsinc.com/2018/09/14/ peer-to-peer-networks/ (accessed 01 Aug 2020), 2018 [3] Peer-to-peer networks Available at https://newsroom.cisco.com/ press-release-content?type=webcontent&articleId=1955935 (accessed 01 Aug 2020), 2018 [4] Blockchain basic Available at https://kipalog.com/posts/ Khai-niem-co-ban-ve-Blockchain (accessed 01 Sept 2020), 2020 [5] Blockchian simple explain Available at https://www.youtube.com/watch?v= SSo_EIwHSd4&ab_channel=SimplyExplained (accessed 01 Sept 2020), 2020 [6] Cloudfare cdn Available at https://www.cloudflare.com/cdn/ (accessed 01 Sept 2020), 2020 [7] Digital video introduction Available at https://github.com/ leandromoreira/digital_video_introduction (accessed 20 Sept 2020), 2020 [8] Distributed hash table Available at https://en.wikipedia.org/wiki/ Distributed_hash_table (accessed 01 Sept 2020), 2020 [9] https://www.theoplayer.com/blog/http-live-streaming Available at https:// www.theoplayer.com/blog/http-live-streaming (accessed 01 Sept 2020), 2020 [10] Introduction to version control system Available at https://ostechnix.com/ introduction-to-version-control-system/ (accessed 01 Sept 2020), 2020 43 [11] Ipfs cluster Available at https://cluster.ipfs.io/ (accessed 01 Sept 2020), 2020 [12] Ipfs.io Available at https://ipfs.io/ (accessed 01 Sept 2020), 2020 [13] Javascript hls client using media source extension Available at https:// github.com/video-dev/hls.js/ (accessed 01 Sept 2020), 2020 [14] The next generation of p2p video delivery Available at https://strivecast com/next-generation-p2p-video-delivery/ (accessed 01 Sept 2020), 2020 [15] Hana Ben Hadj Abdallah and Wassef Louati Ftree-cdn: Hybrid cdn and p2p architecture for efficient content distribution In 2019 27th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP), pages 438–445 IEEE, 2019 [16] Carole Cadwalladr and Emma Graham-Harrison Revealed: 50 million facebook profiles harvested for cambridge analytica in major data breach The guardian, 17:22, 2018 [17] Cisco Cdn Available at https://www.vinahost.vn/ dich-vu-cdn-chuyen-nghiep (accessed 01 Sept 2020), 2020 [18] IPFS Docs Bitswap Available at https://docs.ipfs.io/concepts/ bitswap/ (accessed 01 Aug 2020), 2020 [19] IPFS Docs Distributed hash tables (dhts) Available at https://docs.ipfs io/concepts/dht/ (accessed 01 Aug 2020), 2020 [20] IPFS Docs Merkle distributed acyclic graphs (dags) Available at https: //docs.ipfs.io/concepts/merkle-dag/ (accessed 01 Aug 2020), 2020 [21] Bin Fan, Dah-ming Chiu, and John CS Lui The delicate tradeoffs in bittorrentlike file sharing protocol design In Proceedings of the 2006 IEEE International Conference on Network Protocols, pages 239–248 IEEE, 2006 [22] Henri Gilbert and Helena Handschuh Security analysis of sha-256 and sisters In International workshop on selected areas in cryptography, pages 175–193 Springer, 2003 [23] Duyen Hoa Ha, Thomas Silverton, and Olivier Fourmaux A novel hybrid cdn-p2p mechanism for effective real-time media streaming Master’s thesis, Université Pierre et Marie Curie, 2008 [24] Jim Isaak and Mina J Hanna User data privacy: Facebook, cambridge analytica, and privacy protection Computer, 51(8):56–59, 2018 44 [25] Simon Krejci, Marten Sigwart, and Stefan Schulte Blockchain-and ipfs-based data distribution for the internet of things In European Conference on ServiceOriented and Cloud Computing, pages 177–191 Springer, 2020 [26] Randhir Kumar, Ningrinla Marchang, and Rakesh Tripathi Distributed offchain storage of patient diagnostic reports in healthcare system using ipfs and blockchain In 2020 International Conference on COMmunication Systems & NETworkS (COMSNETS), pages 1–5 IEEE, 2020 [27] Salvatore Loreto and Simon Pietro Romano Real-time communication with WebRTC: peer-to-peer in the browser O’Reilly Media, Inc., 2014 [28] Van-Duy Pham, Canh-Tuan Tran, Thang Nguyen, Tien-Thao Nguyen, Ba-Lam Do, Thanh-Chung Dao, and Binh Minh Nguyen B-box-a decentralized storage system using ipfs, attributed-based encryption, and blockchain In 2020 RIVF International Conference on Computing and Communication Technologies (RIVF), pages 1–6 IEEE, 2020 [29] Vivek Rai, Swaminathan Sivasubramanian, Sandjai Bhulai, Pawel Garbacki, and Maarten Van Steen A multiphased approach for modeling and analysis of the bittorrent protocol In 27th International Conference on Distributed Computing Systems (ICDCS’07), pages 10–10 IEEE, 2007 [30] Teerapat Sanguankotchakorn and Nonpawich Krueakampliw A hybrid pullpush protocol in hybrid cdn-p2p mesh-based architecture for live video streaming In 2017 19th Asia-Pacific Network Operations and Management Symposium (APNOMS), pages 187–192 IEEE, 2017 [31] Mathis Steichen, Beltran Fiz, Robert Norvill, Wazen Shbair, and Radu State Blockchain-based, decentralized access control for ipfs In 2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData), pages 1499–1506 IEEE, 2018 [32] Jin Sun, Xiaomin Yao, Shangping Wang, and Ying Wu Blockchain-based secure storage and access scheme for electronic medical records in ipfs IEEE Access, 8:59389–59401, 2020 [33] Tran Thi Thu Ha, Jinsul Kim, and Jiseung Nam Design and deployment of low-delay hybrid cdn–p2p architecture for live video streaming over the web Wireless Personal Communications, 94(3):513–525, 2017 45 [34] Multicast Anycast? What is Unicast, Broadcast What is unicast, broadcast, multicast anycast Available at https://techiemaster.wordpress.com/ 2016/08/15/what-is-unicast-broadcast-multicast-anycast/ 01 Aug 2020), 2020 46 (accessed ... Nội Tên đề tài (tiếng Việt): Đề xuất mô hình hybrid dựa CDN Peerto-Peer, thử nghiệm mạng IPFS Tên đề tài (tiếng Anh): Proposing a hybrid model using CDN and Peer-to-Peer, assessing on IPFS network... LUẬN VĂN THẠC SĨ Họ tên tác giả luận văn: Nguyễn Tiến Thạo Đề tài luận văn: Đề xuất mơ hình hybrid dựa CDN Peerto-Peer, thử nghiệm mạng IPFS Chuyên ngành: Khoa học liệu Mã số SV: CA190044 Tác giả,... CHƯƠNG THỬ NGHIỆM VÀ ĐÁNH GIÁ Chương cung cấp thông tin thử nghiệm để đánh giá hiệu hệ thống Thông tin môi trường thử nghiệm miêu tả 5.1 Ba đoạn tiến hành thử nghiệm khác hệ thống đề xuất hiệu

Ngày đăng: 07/12/2021, 23:17

HÌNH ẢNH LIÊN QUAN

Frame Khung hình trong một video - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
rame Khung hình trong một video (Trang 11)
Hình 1.1: Báo cáo Cisco về băng thông mạng internet [17] - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 1.1 Báo cáo Cisco về băng thông mạng internet [17] (Trang 12)
Bảng 1.1: Kích thước của video theo các định dạng khác nhau - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Bảng 1.1 Kích thước của video theo các định dạng khác nhau (Trang 13)
Hình 1.3: Mô hình mạng phân phối nội dung(CDN)[3] - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 1.3 Mô hình mạng phân phối nội dung(CDN)[3] (Trang 14)
thống. Mặt khác, mô hình kết hợp P2P cho phép các hệ thống giảm sự phụ thuộc vào một số lượng hạn chế các máy chủ dữ liệu - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
th ống. Mặt khác, mô hình kết hợp P2P cho phép các hệ thống giảm sự phụ thuộc vào một số lượng hạn chế các máy chủ dữ liệu (Trang 15)
Hình 1.4: Mô hình Peer-to-Peer[2] - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 1.4 Mô hình Peer-to-Peer[2] (Trang 15)
Hình 1.6: Minh hoạ các blocks trong trong blockchain[5] - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 1.6 Minh hoạ các blocks trong trong blockchain[5] (Trang 16)
Để có cách nhìn rõ ràng hơn về luận văn, trước khi trình bày về mô hình kết hợp CDN và Peer-to-Peer, tôi xin trình bày về các kiến thức, khái niệm liên quan, sau đó là về công nghệ truyền dòng video và cuối cùng là mạng IPFS. - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
c ó cách nhìn rõ ràng hơn về luận văn, trước khi trình bày về mô hình kết hợp CDN và Peer-to-Peer, tôi xin trình bày về các kiến thức, khái niệm liên quan, sau đó là về công nghệ truyền dòng video và cuối cùng là mạng IPFS (Trang 17)
Hình 2.2: Mạng ngang hàng - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 2.2 Mạng ngang hàng (Trang 18)
Hình 2.3: Cây merkle tree[4] - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 2.3 Cây merkle tree[4] (Trang 19)
Hình 2.4: Mã hoá bất đối xứng[4] - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 2.4 Mã hoá bất đối xứng[4] (Trang 19)
2.1.5 Bảng băm phân tán (distributed hash table) - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
2.1.5 Bảng băm phân tán (distributed hash table) (Trang 20)
Hình 2.6: Đồ thị có hướng không chu trình[10] - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 2.6 Đồ thị có hướng không chu trình[10] (Trang 21)
Hình 2.7: Tổng quan hệ thống quản lý phiên bản phân tán[10] - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 2.7 Tổng quan hệ thống quản lý phiên bản phân tán[10] (Trang 22)
Hình 2.8: Bốn khung hình đầu tiên của một giây của một video 30 FPS[7] - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 2.8 Bốn khung hình đầu tiên của một giây của một video 30 FPS[7] (Trang 23)
• B-frame (bi-predictive): Còn việc tham khảo các khung hình trong quá khứ và tương lai để cung cấp khả năng nén tốt hơn thì sao ? Về cơ bản đó là khung B. - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
frame (bi-predictive): Còn việc tham khảo các khung hình trong quá khứ và tương lai để cung cấp khả năng nén tốt hơn thì sao ? Về cơ bản đó là khung B (Trang 24)
Hình 2.11: Mô phỏng mạng IPFS[12] - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 2.11 Mô phỏng mạng IPFS[12] (Trang 25)
Hình 2.13: Mẫu đồ thị của một đối tượng trong IPFS[1] - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 2.13 Mẫu đồ thị của một đối tượng trong IPFS[1] (Trang 27)
Hình 2.14: Mô hình cụm IPFS[11] - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 2.14 Mô hình cụm IPFS[11] (Trang 29)
Hình 2.15: Các thành phần trọng một cụm IPFS[11] - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 2.15 Các thành phần trọng một cụm IPFS[11] (Trang 29)
3.1 Nghiên cứu liên quan tới mô hình hybrid CDN-P2P - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
3.1 Nghiên cứu liên quan tới mô hình hybrid CDN-P2P (Trang 32)
Hình 3.2: Giai đoạn pull trong bài báo [30] - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 3.2 Giai đoạn pull trong bài báo [30] (Trang 33)
Hình 3.3: Giai đoạn push trong bài báo [30] - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 3.3 Giai đoạn push trong bài báo [30] (Trang 34)
Hình 3.4: Kiến trúc Ftree-CDN[15] - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 3.4 Kiến trúc Ftree-CDN[15] (Trang 35)
Hình 4.1: Kiến trúc hệ thống - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 4.1 Kiến trúc hệ thống (Trang 38)
Hình 4.2: Sơ đồ luống hoạt động của hệ thống - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 4.2 Sơ đồ luống hoạt động của hệ thống (Trang 40)
Hình 4.3: IPFS chạy trên browser - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 4.3 IPFS chạy trên browser (Trang 44)
Hình 5.1: Thời gian xử lý cho việc xác định các peers khi có một yêu cầu tham gia - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 5.1 Thời gian xử lý cho việc xác định các peers khi có một yêu cầu tham gia (Trang 46)
Hình 5.2: Đánh giả tỷ lệ offload của dữ liệu - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 5.2 Đánh giả tỷ lệ offload của dữ liệu (Trang 48)
Hình 5.3: Mối quan hệ giữa tỷ lệ offload và độ dài video - Đề xuất một mô hình hybrid dựa trên cdn và peer to peer, thử nghiệm trên mạng ipfs
Hình 5.3 Mối quan hệ giữa tỷ lệ offload và độ dài video (Trang 49)

TỪ KHÓA LIÊN QUAN

w