Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 66 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
66
Dung lượng
2,6 MB
Nội dung
LÊ NGỌC ANH HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA VIỄN THÔNG -*** - XÂY DỰNG ỨNG DỤNG LUỒNG VIDEO STREAMING QUA MẠNG NGANG HÀNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: XÂY DỰNG ỨNG DỤNG LUỒNG VIDEO STREAMING QUA MẠNG NGANG HÀNG Ngƣời hƣớng dẫn : THS.VŨ THỊ THÚY HÀ Sinh viên thực : LÊ NGỌC ANH Lớp : D09VT2 Khoá : 2009 - 2014 Hệ : ĐẠI HỌC CHÍNH QUY D09VT2 Hà Nội, 12-2013 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA VIỄN THÔNG -*** - ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: XÂY DỰNG ỨNG DỤNG LUỒNG VIDEO STREAMING QUA MẠNG NGANG HÀNG Ngƣời hƣớng dẫn : THS.VŨ THỊ THÚY HÀ Sinh viên thực : LÊ NGỌC ANH Lớp : D09VT2 Khoá : 2009 - 2014 Hệ : ĐẠI HỌC CHÍNH QUY Hà Nội, 12-2013 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… Điểm: (bằng chữ ……………… ) Ngày … tháng 12 năm 2013 Giáo viên hướng dẫn ThS Vũ Thị Thúy Hà LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp đại học Mở Đầu NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… ……………………………………………………………………… Điểm: (bằng chữ ……………… ) Ngày … tháng 12 năm 2013 Giáo viên phản biện Lê Ngọc Anh – D09VT2 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp đại học Mở Đầu MỞ ĐẦU Trong ngày đầu phát triển ứng dụng đa phương tiện, khoảng nửa cuối thập niên 90, việc xem video mạng gần điều Ngày nay, với bùng nổ Internet, ứng dụng đa phương tiện có video streaming trở thành nhu cầu thiếu nhiều cư dân mạng Theo thống kê, riêng Mỹ có khoảng 33 tỉ video xem tháng 12-2012 (nguồn comScore) Con số đủ cho ta thấy lớn mạnh không ngừng ứng dụng video streaming Tuy nhiên, để phát triển ứng dụng video streaming tốt gặp phải nhiều vấn đề Ứng dụng video streaming đòi hỏi nhiều băng thông yêu cầu độ trễ thấp Chính cần phải có phương pháp phân phát video đường truyền hợp lý IP multicast với khả tối ưu hóa đường truyền giải pháp cho vấn đề Tuy nhiên, việc triển khai IP multicast lại tốn địi hỏi tồn mạng phải có Router đắt tiền, chun dụng Điều hồn tồn khơng khả thi mạng diện rộng Internet Triển khai multicast tầng ứng dụng với việc không làm thay đổi hạ tầng mạng phía giải pháp thay hữu hiệu cho IP multicast Hiện nay, giới phát triển nhiều phương pháp truyền tin multicast tầng ứng dụng khác Trong truyền tin multicast dựa mạng ngang hàng hứa hẹn có nhiều ưu điểm Đặc thù truyền tin multicast phải tạo multicast tối ưu, có liên kết chặt chẽ node với nhau, có khả phục hồi lỗi nhanh Mạng ngang hàng có cấu trúc hồn tồn đáp ứng u cầu với việc node liên kết với thuật toán cụ thể Để làm rõ lợi mạng ngang hàng có cấu trúc việc truyền tin multicast, khóa luận nghiên cứu xây dựng ứng dụng truyền video streaming multicast dựa tảng mạng ngang hàng có cấu trúc Pastry Sau tóm tắt nội dung khóa luận gồm chương Chƣơng 1: Tổng quan kỹ thuật Video Streaming Trong chương giới thiệu khái quát kỹ thuật Video Streaming Cấu trúc chức thành phần hệ thống video streaming Nêu loại định dạng tập tin video phổ biến Trong chương I đề cập đến vấn đề truyền tin multicast gồm truyền tin IP multicast multicast lớp ứng dụng Chƣơng 2: Hệ thống luồng video qua mạng ngang hàng P2P Lê Ngọc Anh – D09VT2 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp đại học Mở đầu Trong chương giới thiệu khái quát mạng ngang hàng P2P Khái niệm mạng P2P kiến trúc mạng Các mục tiêu, thuận lợi, khó khăn mạng P2P Trình bày cách xây dựng lớp phủ cho truyền video streaming, nêu số hệ thống phổ biến sử dụng mạng NICE, CoopNet, HyPO…Nêu ưu nhược điểm hệ thống Chƣơng 3: Xây dựng ứng dụng luồng video streaming qua mạng Pastry Chương chủ yếu mô tả q trình gia nhập, rời nhóm, truyền tin multicast tới mạng trình sửa multicast Phần kết luận: Tổng kết lại toàn nội dung luận văn đưa hướng phát triển Mặc dù cố gắng kiến thức hạn chế, thời gian làm đồ án không nhiều, nên đồ án tốt nghiệp em tránh khỏi thiếu sót nội dung hình thức Do em mong nhận góp ý thầy, giáo để đồ án em hồn thiện Lê Ngọc Anh – D09VT2 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp đại học Lời cảm ơn LỜI CẢM ƠN Trước tiên, em muốn gửi lời cảm ơn sâu sắc đến Vũ Thị Thúy Hà, người tận tình hướng dẫn em suốt q trình hồn thành khóa luận tốt nghiệp Em xin gửi lời cảm ơn chân thành sâu sắc tới tất thầy, cô giáo trường Học Viện Cơng Nghệ Bưu Chính Viễn Thơng tận tình giảng dạy giúp đỡ em suốt năm học vừa qua để em có đủ kiến thức để hồn thành khóa luận Tơi xin gửi lời cảm ơn tới tất bạn bè D09VT2 tôi, người đồng hành suốt năm học qua Cuối cùng, xin gửi lời tri ân đến bố mẹ gia đình, người thân u tơi lịng biết ơn sâu sắc Hà Nội, tháng 11 năm 2013 Sinh viên Lê Ngọc Anh Lê Ngọc Anh – D09VT2 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp đại học Mục lục MỤC LỤC MỞ ĐẦU MỤC LỤC DANH MỤC HÌNH VẼ 10 TÓM TẮT 12 CHƢƠNG I: TỔNG QUAN VỀ KỸ THUẬT VIDEO STREAMING 13 1.1 Tổng quan video streaming 13 1.1.1 Giới thiệu Video Streaming 13 1.1.2 Quá trình Video Streaming 14 1.1.3 Kiến trúc hệ thống video streaming 14 1.2 Các loại tệp tin video 17 1.3 Hoạt động hệ thống video streaming 19 1.3.1 Kiến trúc hoạt động hệ thống Video Streaming 19 1.3.2 Mơ hình hoạt động tổng quát hệ thống 21 1.4 Một số phương thức phân phối luồng video 22 1.4.1 IP multicast 23 1.4.2 Multicast lớp ứng dụng 24 1.5 Kết luận chương 25 CHƢƠNG 2: HỆ THỐNG LUỒNG VIDEO QUA MẠNG NGANG HÀNG 26 2.1 Phân tích số điểm cịn tồn kỹ thuật streaming truyền thống 26 2.2 Mạng ngang hàng Peer-to-Peer 26 2.2.1 Khái niệm 26 2.2.2 Ưu mạng ngang hàng 27 2.2.3 Phân loại mạng ngang hàng 27 2.2.4 Các vấn đề cần xem xét P2P streaming 28 2.3 Các phương pháp tiếp cận xây dựng lớp phủ 29 2.3.1 Phương pháp tiếp cận dạng 30 2.3.2 Các hệ thống luồng trực truyến dựa đơn luồng 31 2.3.3 Phương pháp tiếp cận dựa đa luồng 35 2.3.4 Các hệ thống luồng trực truyến dựa đa luồng 36 2.4 Phương thức tiếp cận dựa lưới 37 Lê Ngọc Anh – D09VT2 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp đại học Mục lục 2.4.1 Các hệ thống luồng trực truyến phổ biến dựa lưới 39 2.5 Video theo yêu cầu P2P 46 2.5.1 Hệ thống VoD dựa dạng 47 2.5.2 Hệ thống VoD dựa lưới 50 2.6 Kết luận chương 52 CHƢƠNG III: ỨNG DỤNG LUỒNG VIDEO STREAMING QUA MẠNG PASTRY 53 3.1 Giới thiệu Pastry 53 3.2 Q trình truyền tin multicast nhóm Scribe 56 3.2.1 Chi tiết giải thuật 57 3.2.2 Q trình gia nhập nhóm (join group): 58 3.2.3 Q trình rời nhóm (leave group) 59 3.2.4 Truyền tin multicast tới mạng 59 3.2.5 Sửa multicast 60 3.3 Cải thiện Scribe cấu trúc Splitstream 61 3.3.1 Giới thiệu SplitStream 61 3.3.2 Cơ chế xây dựng luồng SplitStream 62 3.4 Kết luận chương 64 KẾT LUẬN ĐỒ ÁN 65 TÀI LIỆU THAM KHẢO 66 Lê Ngọc Anh – D09VT2 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp đại học Danh mục hình vẽ DANH MỤC HÌNH VẼ Hình 1.1 Kiến trúc hệ thống video streaming 16 Hình 1.2 Kiến trúc hoạt động hệ thống 19 Hình 1.3 Lược đồ hoạt động tổng quát 21 Hình 1.4 Lược đồ hoạt động Server Error! Bookmark not defined Hình 1.5 Lược đồ hoạt động quản l Cache máy chủ Streaming Error! Bookmark not defined Hình 1.6 Các phương thức truyền tin mạng 23 Hình 1.7 Thành phần IP multicast 23 Hình 1.8 (a) IP multicast (b) Multicast lớp ứng dụng 25 Hình 2.1 Phân loại mạng ngang hàng 27 Hình 2.2 Các loại P2P Streaming 29 Hình 2.3 Mơ hình đơn 30 Hình 2.4 Xây dựng lại Streaming(a)Peer rời (b)Mơ hình sau phục hồi 31 Hình 2.5 Giải pháp tập trung cho cấu trúc trì 31 Hình 2.6 Sắp xếp host NICE 32 Hình 2.7 SpreadIt – ứng dụng multicast xây dựng Peer 32 Hình 2.8 SpreadIt–Kiến trúc phân lớp Peer 33 Hình 2.9 Ví dụ ESM 34 Hình 2.10 Tổ chức hành Peer trongZigZag 35 Hình 2.11 Cây đa luồng sở Streaming 35 Hình 2.12 Streaming Media sử dụng nội dung CoopNet 37 Hình 2.13 Danh sách peer từ Tracker Server Hình 2.14 P2PliveVideo Streaming 37 Hình 2.15 Trao đổi liệu thiết kế hệ thống dựa lưới 38 Hình 2.16 Sơ đồ hệ thống nút Anysee 40 Hình 2.17 Kiến trúc PPLive 41 Hình 2.18 Một sơ đồ hệ thống chung cho nút DONet 42 Hình 2.19 GridMedia Kiến trúc Dựa MSOMP 43 Hình 2.20 Hai lớp lưới/ che phủ mạng lai 45 Hình 2.21 Khung mTreebone (a) lớp phủ lai (b) xử lý trạng thái nút 46 Hình 2.22 Cấu trúc trực tuyến CiqueStream 46 Hình 2.23 Cấu trúc DirectStream 49 Hình 2.24 BASS: (a) Tổng quan hệ thống, (b)Mẫu khách hàng 51 Hình 2.25 Phương pháp tiếp cận BiToS 51 Hình 3.1 Bảng định tuyến nút 10233102 Pastry 55 Hình 3.2 Nút 10233102 gửi thơng điệp m đến nút 33321220 56 Hình 3.3 Quá trình nút gia nhập vào nhóm 58 Hình 3.4 Truyền tin multicast nhóm Scribe 59 Hình 3.5 Quá trình tự sửa câymulticast 60 Hình 3.6 Một ví dụ đơn giản minh họa cách tiếp cận SplitStream 62 Hình 3.7 Splitstream F luồng 62 Hình 3.8 Xác định nút cha băng thông vượt giới hạn 63 Lê Ngọc Anh – D09VT2 10 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp đại học Chương II: Hệ thống luồng video qua mạng ngang hàng P2P Hệ thống BiToS dựa BitTorrent Ý tưởng để phân chia khối thiếu thành hai tập hợp: “tập hợp ưu tiên cao” “tập hợp lại” yêu cầu với khối xác suất cao từ tập hợp ưu tiên cao (hình 2.25) Tập hợp ưu tiên cao hơn, có chứa tất phần gần để tái tạo Vì vậy, peer mong muốn tải phần sớm Trái ngược với tập hợp cịn lại, có chứa phần mà không cần đến tương lai gần Sau người dùng bắt đầu, đệm người dùng yêu cầu phần cần thiết từ phần đệm peer nhận Trong BiToS, trọng tâm đưa cho việc lập lịch cẩn thận khối video Các phần mà bỏ lỡ thời hạn phát lại giảm xuống đơn giản Do vậy, điều dẫn đến suy giảm chất lượng phát lại video Ngồi tính chất bất đối xứng kết nối Internet không đồng peer, hệ thống đảm bảo đoạn video u cầu ln ln có sẵn để phát lại thời gian yêu cầu 2.6 Kết luận chƣơng II Chương trình bày khái quát khái niệm mạng ngang hàng P2P, ưu nhược điểm mạng ngang hàng Bên cạnh cịn đề cập đến việc phân loại mạng ngang hàng Qua thấy mạng ngang hàng ổn định dễ mở rộng; tận dụng tối đa tài nguyên đóng góp nút tham gia mạng; mạng ngang hàng dễ cài đặt; chi phí thiết bị thấp, triển khai hệ thống mạng dễ dàng Nội dung chương trình bày hệ thống P2P streaming, phân chia thành hệ thống P2P live Streaming P2P VoD Tùy theo cách tiếp cận, hệ thống P2P live streaming chia thành dạng dạng lưới Hệ thống P2P VoD chia thành dạng dạng lưới Tuy nhiên, hệ thống P2P streaming bộc lộ nhiều nhược điểm cần phải xem xét, quan trọng trễ luồng video Lê Ngọc Anh – D09VT2 52 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp đại học Chương III: Ứng dụng luồng video streaming qua mạng Pastry CHƢƠNG III: ỨNG DỤNG LUỒNG VIDEO STREAMING QUA MẠNG PASTRY 3.1 Giới thiệu Pastry Gần ứng dụng Internet mạng ngang hàng phổ biến cách rộng rãi thông qua ứng dụng chia file Napster, Gnutella FreeNet Trong nhiều tập trung vào vấn đề quyền đưa ứng dụng cụ thể hệ thống P2P lại đưa nhiều khía cạnh vấn đề kỹ thuật kiểm soát phân cấp, tự tổ chức khả mở rộng Các hệ thống P2P mô tả hệ thống phân phối, tất nút có nhiệm vụ lực giống nhau, đồng thời tất thông tin truyền thông đối xứng Hiện có nhiều dự án nhằm xây dựng ứng dụng P2P Một trog vấn đề quan trọng việc xây dựng nhằm cung cấp thuật toán hiệu cho vị trí đối tượng q trình định tuyến mạng Pastry giải pháp đưa Pastry có khả chống chịu lỗi, khả mở rộng đáng tin cậy Hơn nữa, Pastry cịn có đặc tính định tuyến cục tốt Pastry thiết kế chất chung cho việc xây dựng loạt ứng dụng mạng ngang hàng Internet chia s file toàn cầu, lưu trữ file, truyền thơng nhóm hệ thống đặt tên Một số ứng dụng xây dựng đinh Pastry bao gồm tiện ích lưu trữ liên tục chung, gọi PAST hệ thống có khả mở rộng, Scribe Cịn lại ứng dụng khác phát triển Pastry cung cấp khả sau đây: nút mạng pastry có định danh (NodeId) không gian định danh 128 bit vịng trịn Khi có thơng điệp khóa 128 bit dạng số, nút pastry hiệu việc định tuyến thơng điệp tới nút với nodeid có số gần với khóa, số tất nút pastry sống Số lượng chuyển tiếp bước mạng bao phủ pastry O(logN), kích thước bảng định tuyến trì nút Pastry O(logN) (trong N số nút Pastry sống mạng bao phủ) Tại nút Pastry dọc theo đường định tuyến mà tin nhấn có, ứng dụng thơng báo thực tính tốn ứng dụng cụ thể có liên quan đến tin nhắn Thứ hai, môi nút Pastry tiến hành theo dõi L hàng xóm trực tiếp khơng gian nodeid (được gọi tập lá) thông báo cho ứng dụng nút đến, nút nút phục hồi tập Thứ ba, pastry đưa vào tài khoản cục Internet bản, tìm cách giảm thiểu khoảng cách truyền thơng điệp, theo hệ mét xấp xỉ vô hướng giống độ trễ lệnh ping Pastry hoàn toàn phi tập trung, có khả mở rộng tự tổ chức Bởi tự động thích nghi với đi, đến thất bại nút ứng dụng P2P xây dựng pastry sử dụng khả nhiều cách, bao gồm: Lê Ngọc Anh – D09VT2 53 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp đại học Chương III: Ứng dụng luồng video streaming qua mạng Pastry Ánh xạ đối tượng ứng dụng tới nút Pastry: Các đối tượng ứng dụng cụ thể phân công thành định danh ngẫu nhiên đồng đều, ( ObjId) ánh xạ tới k (k ≥ 1), nút với nodeId có số gần với objId Đại lượng k phản ánh mức độ mong muốn nhân rộng ứng dụng cho đối tượng Cách chèn them đối tượng: Các đối tượng ứng dụng cụ thể them vào cách đinh tuyến thong điệp Pastry sử dụng ObjId khóa (key) Q trình truy cập đối tượng: Các đối tượng ứng dụng cụ thể tra cứu, liên lạc thu hồi cách định tuyến thơng điệp Pastry có sử dụng ObjId khóa Theo định nghĩa, thong điệp đảm bảo đến nút có khả trì đối tượng yêu cầu, trừ tất k nút với nodeId gần với ObjId thất bại Tính đa dạng: Việc phân công nodeId ngẫu nhiên bị hỏng công Như vậy, với xác suất cao, nút với nodeId liền kề có tính đa dạng vị trí địa l , thẩm quyền, quyền sở hữu việc đính kèm tập tin mạng…Điều giảm thiểu xác suất thất bại đồng thời tất k nút việc trì đối tượng Khả cân tải: Cả nodeId ObjId phân bố ngẫu nhiên đồng không gian định danh Pastry 128bit Kết tạo nên cân tốt nhằm lưu trữ yêu cầu truy vấn tải trọng nút Pastry mạng Internet Hiệu khả mở rộng việc phổ biến thơng tin: Các ứng dụng thực multicast cách hiệu cách sử dụng chuyển tiếp đường dẫn ngược dọc theo hình thành định tuyến từ client tới nút có nodeId gần với ObjId Tính chất cục mạng Pastry đảm bảo kết multicast hiệu quả, tức liệu có hiệu việc cung cấp sử dụng nguồn tài nguyên Internet Pastry giao thức phân phối liệu định tuyến lớp ứng dụng ứng dụng mạng ngang hang có cấu trúc Đúng định nghĩa nó, Pastry có nhiệm vụ phân phối liệu mạng ngang hang tìm kiếm liệu mạng dựa vào khóa tìm kiếm Hệ thống Pastry hệ thống phân tán có khả tự cấu hình có tính ổn định cao, khả chống chịu lỗi tốt, đồng thời có khả mở rộng ứng dụng cho dịch vụ lớn Pastry sử dụng giao thức DHT để lấy định danh nút tham gia vào hệ thống mạng Với dải địa lớn giao thức DHT thực phù hợp với hệ thống mạng ngang hang, không ngoại trừ Pastry Tuy nhiên điều thú vị Pastry nằm bảng định tuyến mô tả Lê Ngọc Anh – D09VT2 54 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp đại học Chương III: Ứng dụng luồng video streaming qua mạng Pastry Hình 3.1 Bảng định tuyến nút 10233102 Pastry Nút liệu mạng Pastry định danh giá trị 128bit (nodeId ObjId) Mỗi liệu lưu trữ mạng băm hàm băm, từ thu giá trị gọi khóa liệu lưu trữ nút lý dãy khóa có chứa giá trị khóa ( giá trị khóa thu băm liệu) Mỗi nút mạng lưu trữ bảng định tuyến (routing table) tập hàng xóm (neighborhood – set) tập namespace Pastry dùng liệu để quản lý trì ổn định mạng, đồng thời phục vụ cho việc tìm kiếm liệu Ở hình 3.1 bảng định tuyến nodeId 10233102 Dựa vào bảng định tuyến này, nút 10233102 gửi liệu đến cho nút khác Ví dụ 10233102 muốn gửi thơng điệp m tới cho nút 33321220 Đầu tiên tìm nút hàng xóm bảng định tuyến, có gửi đến ln Nếu khơng tìm thấy tìm Routing Table so sánh ký tự ban đầu nút cần gửi đến 33321220 với cột Routing Table Cụ thể nút 33321220 có ký tự đầu 3: tìm Routing Table hàng cột tìm nút 31203203 Do từ ký tự đầu nút cần gửi khác nút gửi nên trình tìm kiếm dừng lại Nút 1023312 gửi đến nút 31203203 với yêu cầu gửi thông điệp m đến nút 33321220 Quá trình tiếp tục xảy đến nút cần gửi Lê Ngọc Anh – D09VT2 55 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp đại học Chương III: Ứng dụng luồng video streaming qua mạng Pastry Hình 3.2 Nút 10233102 gửi thông điệp m đến nút 33321220 Các nút định kỳ gửi gói tin keep-alive cho nút hàng xóm nút khơng nhận gói keep-alive nút xóm tập hàng xóm thời gian định xem nút hàng xóm rời khỏi mạng tự động update thơng tin 3.2 Qu tr nh truyền tin multicast nhóm Scribe Scribe sở hạ tầng cho việc truyền tin multicast lớp ứng dụng dựa giao thức Pastry Cũng mà thừa hưởng đặc tính giao thức mạng ngang hàng có cấu trúc đồng thời mang đặc điểm vào việc truyền thông điệp multicast lớp ứng dụng Giống Pastry, Scribe mơ hình phân quyền hồn tồn có khả xây dựng, trì mạng, phát tán thơng báo cách có tổ chức tin cậy Đồng thời có tính tương thích cao với số lượng nhóm, số thành viên nhóm lớn có nhiều tài nguyên mạng Scribe xây dựng multicast cách gọi thủ tục join giao thức Pastry nút có yêu cầu đăng nhập vào nhóm truyền tin multicast Và nhờ khả tự cấu hình Pastry mà vấn đề quản lý nút, nút lỗi vào nút trở nên dễ dàng Đồng thời, Scribe sử dụng giao thức Pastry để phát tán thông báo multicast Scribe tổ chức theo nhóm, tức hợp nút có nhu cầu nhận liệu multicast vào nhóm Về mặt logic nút nhóm có quan hệ với theo hình (sẽ giải thích kỹ phần sau) Bất kỳ nút mạng thực thao tác: Một tạo nhóm (group), hai join vào Lê Ngọc Anh – D09VT2 56 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp đại học Chương III: Ứng dụng luồng video streaming qua mạng Pastry nhóm có từ trước (trở thành nút multicast) ba truyền tin multicast tới tất nút có nhóm Scribe mơ hình cung cấp cách „nỗ lực tối đa” việc truyền tin multicast, quản l trì nhiều nhóm lúc, nhóm có số lượng thành viên lớn có nhiều tài nguyên mạng 3.2.1 Chi tiết giải thuật Mơ hình Mơ hình thực thi Scribe mạng Pastry máy có cài đặt chương trình ứng dụng Scribe Chương trình ứng dụng cung cấp cho máy hai phương thức forward (được gọi thông điệp định tuyến qua nút) deliver (được gọi thơng điệp đến nút mà có nodeId gần với key nội dung thơng điệp địa nút đó) Các thơng điệp Scribe có kiểu là: JOIN (xin tham gia vào nhóm), CREATE (tạo nhóm mới), LEAVE (rời khỏi nhóm), MULTICAST (truyền thơng điệp multicast) - Quản lý nhóm: Mỗi nhóm truyền multicast có định danh groupId Scribe node (tức nút mạng có cài chương trình ứng dụng Scribe) có Id gần với Id nhóm (groupId) gọi “điểm gặp” gốc multicast tương ứng với groupId ln) - Tạo nhóm: Một nút Scribe muốn khởi tạo nhóm bước thực là: B1: Nút Scribe dùng Pastry định tuyến thông điệp router (CREATE , groupId) B2: Giao thức Pastry gửi thông điệp tới điểm cuối nút có nodeId gần với groupId Và nút xem gốc nhóm tạo B3: Hệ thống kiểm tra độ an tồn, thơng tin chứng thực Nếu khơng có vấn đề thêm nhóm vào danh sách nhóm biết mạng Trong việc tạo nhóm, bước quan trọng bước kiểm tra độ an tồn chứng thực thơng tin, điều có ảnh hưởng lớn tới an tồn tồn mạng nói chung khơng riêng an tồn nhóm multicast - Quản lý thành viên: Một nhóm phương diện logic multicast có gốc “điểm gặp”, có nút join vào nhóm trở thành thành viên nhóm trở thành thành phần multicast, phải có chế hợp l để tổ chức, quản lý thành viên nhóm Nếu nút Scribe phần nhóm phương diện multicast forwarder Mỗi forwarder trì bảng gọi children table mà mục bảng gồm trường : địa IP nút (IP Adds) nodeId tương ứng nút Lê Ngọc Anh – D09VT2 57 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp đại học Chương III: Ứng dụng luồng video streaming qua mạng Pastry 3.2.2 Qu tr nh gia nhập nhóm (join group): Khi nút muốn join vào nhóm đó, thực bước sau: Gửi thông điệp JOIN với groupId nhóm cần tham gia làm key: route (JOIN, groupId) Giao thức Pastry định tuyến tới “điểm gặp” - Nếu nút trung gian trình truyền thông điệp forwarder (một thành phần nhóm định tham gia vào) đơn giản thêm nút cần tham gia vào làm nút nút forwarder - Nếu nút trung gian khơng phải forwarder nhóm cần tham gia vào thực bước: + Tạo children table cho nút trung gian thêm thông tin nút cần tham gia vào bảng + Gửi thông điệp JOIN nút trung gian tới “điểm gặp” ( lúc thay cho việc thực tham gia nút ban đầu, ta tham gia nút trung gian vào nhóm) Và thực đệ quy ta có danh sách nút tham gia vào nhóm thay nút ban đầu Để dễ hiểu, ta xét ví dụ sau: Một nhóm có “điểm gặp” A có nodeId = 1100 (như hình vẽ dưới) Hình 3.3 Quá trình nút gia nhập vào nhóm Nút B có nodeId 0111 muốn tham gia vào nhóm có A gốc, gửi gói tin route (JOIN,x) với x groupId nhóm này, giao thức Pastry định tuyến gói tin tới nút D có nodeId 1001 Nhưng nút D thành phần nhóm D tạo children table thêm vào mục (122.45.1.23 ; 0111) Tiế theo D gửi gói tin yêu cầu tham gia vào nhóm có gốc A : route (JOIN ,x) Tiếp tục giao thức Pastry lại định tuyến tới nút E E thành viên nhóm Vì E tạo children table thêm mục (172.16.2.13; 1001) Và sau E gửi gói tin route (JOIN,x) Gói tin tiếp tục định tuyến tới A A thành phần nhóm A thêm mục Lê Ngọc Anh – D09VT2 58 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp đại học Chương III: Ứng dụng luồng video streaming qua mạng Pastry (10.10.1.123;1101) vào children table Kết ta có thêm thành phần nhóm B, D E 3.2.3 Quá tr nh rời nhóm (leave group) Khi nút muốn rời khỏi nhóm ghi cách cục rời khỏi nhóm (tức biết rời khỏi mạng) Sau bảng children table nút rỗng (tức khơng có multicast) gửi thơng điệp LEAVE tới cha multicast Thơng điệp đệ quy multicast tới nút mà nút có rời khỏi trường hợp khơng có Sau xem bị lỗi thực thi theo chế sửa lỗi (sẽ trình bày dưới) Với cách gia nhập rời khỏi nhóm với đặc tính phân phối ngẫu nhiên Pastry multicast xây dựng cách đồng theo nghĩa không nút mutlicast, nút gốc phải chịu nhiều kết nối tới nút khác Việc giúp cho Scribe có khả mở rộng kích thước mhư khả năng, tức tăng số lượng nút nhóm hay tăng gói tin multicast gửi đến mạng Scribe đảm đương 3.2.4 Truyền tin multicast tới mạng Khi nút muốn truyền multicast tới điểm nhóm gửi thơng điệp multicast tới “điểm gặp” (route (MULTICAST,rootId) Sau điểm gặp nhận thông điệp gửi trả lại nút IP (rootIP), sau nút truyền thơng tin muốn gửi tới điểm gặp Điểm gặp chép gói tin multicast gửi cho multicast ( có ) Các điểm nhận liệu lại tiếp tục chép liệu gửi tới ( có ) Cứ lặp lặp lại dừng lại việc liệu tới nút nút Hình 3.4 Truyền tin multicast nhóm Scribe Giả sử hình vẽ trên, Sender nút cần gửi liệu cho multicast có gốc 1100 Nó gửi gói tin route (MULTICAST, 1100) Nút 1100 nhận gói tin Lê Ngọc Anh – D09VT2 59 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp đại học Chương III: Ứng dụng luồng video streaming qua mạng Pastry trả lại cho sender địa IP Từ lúc sender giao tiếp với nút gốc thông qua IP (bây quan hệ giao thức TCP/IP không liên quan tới Pastry hay P2P) Sender gửi liệu cho nút gốc 1100 Nút tạo liệu gửi cho 1101 Nút 1101 nhận liệu từ root, tạo gửi cho 1001 Nút 1001 lại chép liệu gửi cho 0111 0100 thành viên children table Khi nút 0100 0111 nhận liệu, multicast nên khơng làm Trong vấn đề truyền liệu multicast có điểm thú vị sender muốn gửi liệu multicast tới nhóm lại phải xin nhận IP nút gốc để sau giao tiếp với nút dựa vào IP mà không sử dụng giao thức Pastry để gửi liệu Đơn giản việc định tuyến việc gửi thông tin qua Pastry việc làm tốn thời gian tai ngun mạng, mà bình thường sender khơng gửi gói tin multicast tới mạng mà gửi số nhiều gói tin Do việc sender lưu IP nút root gửi gói tin trực tiếp tiết kiệm thời gian tài nguyên mạng Tuy nhiên nút gốc bị lỗi bị rời khỏi mạng sender phải tìm lại IP nút root tiếp tục truyền thông tin 3.2.5 Sửa multicast Vì Scribe làm việc mơi trường mạng, muốn trì ổn định nhóm cần phải có chế hợp l để giải vấn đề thường gặp phải mạng ngang hàng Phần sâu vào việc để sửa chữa multicast nút bị rời khỏi mạng Trong Scribe, nút cha định kỳ gửi gói tin heartbeat tới nút nhằm thơng báo tồn Nếu nút khơng nhận gói tin heartbeat cha gửi tới thời gian đó, xem nút cha bị lỗi Và tự động tìm nút cha khác thay thế, cách gửi thông điệp JOIN với key groupId nhóm (quá trình giống trình gia nhập vào nhóm) Hình 3.5 Q trình tự sửa câymulticast Lê Ngọc Anh – D09VT2 60 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp đại học Chương III: Ứng dụng luồng video streaming qua mạng Pastry Giả sử hình vẽ trên, ban đầu ta có multicast với gốc nút 1100, nút 1001 có cha nút 1101 Khi nút 1001 không nhận heartbeat 1101 khoảng thời gian đó, xem 1101 bị lỗi tự động gửi gói tin route (JOIN,groupId) Tiếp theo giống q trình gia nhập nhóm Cây multicast xây dựng lại nút 1001 nhận nút 1111 cha (như hình vẽ) Trong trường hợp nút gốc bị lỗi chạy giải thuật Khi giải thuật Pastry tự chọn nút gốc có nodetId gần (tính theo thời) với groupId nhóm lại trì bình thường Vì khả chống lỗi cao này, Scribe ln có tính sẵn sàng cao chống chịu lỗi tốt, cho dù có nhiều nút lỗi lúc sau thời gian ngắn multicast lại xây dựng lại ổn định trước 3.3 Cải thiện Scribe cấu trúc Splitstream Hiện nay, có nghiên cứu xây dựng multicast dành cho truyền video streaming mạng ngang hàng có cấu trúc Splitstream Splitstream xây dựng dựa tảng Pastry, Scribe thêm vào số giải pháp để hạn chế tình trạng tải số nút tham gia mạng 3.3.1 Giới thiệu SplitStream SplitStream hệ thống đa luồng đề xuất năm 2003 trung tâm nghiên cứu Microsoft SplitStream thiết kế để khắc phục tải trọng (load) chuyển tiếp không ổn định hệ thống multicast thơng thường dựa đa Ý tưởng SplitStream phân chia luồng vào khối độc lập không giống khối truyền multicast sử dụng riêng biệt Để đảm bảo tải trọng chuyển tiếp lan truyền tất peer tham gia, mạng lưới xây dựng nút nút nội nhiều nút tất khác Một tập hợp gọi interior – node - disjoint Hình 3.6 minh họa cách SplitStream cân tải chia thành hai đường gói tin multicast hai riêng biệt Mỗi peer, xa so với nguồn, nhận hai luồng tin Mỗi peer nút bên có chuyển tiếp khối nội dung đến hai nút Khi nút bị tải nhận yêu cầu từ nút con, từ chối chấp nhận nút từ chối nút mình, nút bị từ chối hấp dẫn so với nút Một nút mong muốn nhiều nodeId gần với nút cha SplitStream xây dựng multicast cho luồng quan tâm hạn chế băng thơng băng thơng bên ngồi peer Nó cung cấp khả phục hồi thất bại liên kết nút không báo trước multicast sửa chữa Một vấn đề với SplitStream tác động nút Lê Ngọc Anh – D09VT2 61 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp đại học Chương III: Ứng dụng luồng video streaming qua mạng Pastry với băng thơng khơng đồng hiệu Một vấn đề khác interior – node - disjoint, nút nhận gói tin riêng biệt với độ trễ khác ví dụ nút đặt khoảng cách khác từ gốc Điều không mong muốn cho ứng dụng luồng truyền thơng trực tuyến, việc địi hỏi thời gian thực xác Thêm vấn đề khác tăng cường quy mơ hệ thống để có độ sâu lớn nút đặt khoảng cách đa dạng từ nguồn Hình 3.6 Một ví dụ đơn giản minh họa cách tiếp cận SplitStream 3.3.2 Cơ chế xây dựng luồng SplitStream Splitstream xem việc chọn lựa Scribe để tạo nên multicast đa luồng Việc lựa chọn cấy Scribe dễ dàng tạo nên mulitcast đa luồng với tính chất: nút nút luồng nút luồng cịn lại Hình 3.7 Splitstream F luồng Việc xây dựng luồng đơn giản Như hình 3.7, với không gian Pastry đánh địa nút gồm F ký tự Splitstream chọn luồng có tên 0x, 1x, …, Fx để nút sau gia nhập vào multicast đa luồng đảm bảo Nút có Id bắt đầu 0x nút multicast stripeId 0x nút tất Lê Ngọc Anh – D09VT2 62 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp đại học Chương III: Ứng dụng luồng video streaming qua mạng Pastry luồng lại Tương tự nút có Id bắt đầu 1x nút multicast stripeId 1x tất luồng lại Tuy nhiên, Splitstream gặp vấn đề máy (peer) tham gia đơn lựa chọn Scribe để truyền luồng vào chưa đủ đáp ứng tính chất multicast - Khơng giới hạn băng thông peer cầu join peer khác: peer vượt q băng thơng giới hạn peer khác muốn gia nhập vào luồng peer Nếu trì chế Scribe có số peer thật khơng nhận liệu từ vài luồng nút cha khơng gửi liệu thực đến cho Splitstream sử dụng chế để giải vấn đề nút mà băng thông bị vượt giới hạn Cơ chế bao gồm: -B1 : Xác định nút cha: H nh 3.8 X c định nút cha băng thông vƣợt giới hạn Trong ví dụ nút với Id 080* bị limit outdegree (băng thông vượt giới hạn) nhận yêu cầu join vào nút với Id 001* luồng 0800 Nút 080* xem xét tất nút để loại nút Hình 3.8 (1) – (2) trường hợp có nút 9* nhận nút 080* làm cha luồng 1800 khác với luồng 0800 Nút 080* nhận nút 001* làm loại bỏ nút 9* Sau nút 085* lại yêu cầu join vào nút 080* Hình 3.8 (3) – (4) trường hợp nút nhận 080* cha luồng 0800, xét đến Id nút Nút 001* nút có Id với số ký tự tính từ trái sang phải khác với luồng 0800 Nút 001* trở thành nút orphan nút 085* nhận làm nút Lê Ngọc Anh – D09VT2 63 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp đại học Chương III: Ứng dụng luồng video streaming qua mạng Pastry - B2: Nếu sau bước có nút orphan (tức nút chưa tìm nút cha) tiến hành bước Nút orphan gửi unicast đến SCG (Spare Capacity Group) để tìm nút cha SCG tập hợp tất nút mà băng thông chưa vượt giới hạn Với chế truyền tin unicast, nút orphan gửi thơng điệp tìm nút có luồng mà băng thông chưa vượt giới hạn để nhận làm nút cha Ƣu điểm: Xây dựng multicast đa luồng đơn giản dựa vào kết cấu sẵn có Pastry Scribe Khi mạng ổn định việc phân chia định danh nút hệ thống chịu tải tương đương Thêm vào chế tìm nút cha nhằm đảm bảo nút mạng không bị tải Nhƣợc điểm: Không đảm bảo độ chênh lệch độ trễ luồng nhận nút nhỏ, việc tạo Scribe mang tính ngẫu nhiên dựa chủ yếu vào kết cấu bên Pastry 3.4 Kết luận chƣơng III Chương nhằm giới thiệu Pastry, tảng xây dựng giao thức Scribe Đồng thời mơ tả q trình gia nhập, rời nhóm, truyền tin multicast tới mạng trình sửa multicast Scribe Từ đưa ưu nhược điểm giao thức Scribe việc truyền tin multicast lớp ứng dụng so với IP multicast Giới thiệu kỹ thuật SplitStream qua áp dụng vào giao thức Scribe nhằm khắc phục nhược điểm giao thức Scribe, tạo hệ thống multicast đa luồng Lê Ngọc Anh – D09VT2 64 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp đại học kết luận đồ án KẾT LUẬN ĐỒ ÁN Trên giới, ứng dụng mạng ngang hàng nói chung multicast mạng ngang hàng nghiên cứu phát triển cách mạnh mẽ Nó dần thay mơ hình mạng truyền thống mơ hình khách-chủ hay IP multicast Trong khóa luận trình bày cách ngắn gọn nghiên cứu multicast lớp ứng dụng cho truyền video thời gian thực mạng ngang hàng P2P, cụ thể cải thiện giao thức Scribe Tuy nhiên việc triển khai multicast lớp ứng dụng chưa thực đáp ứng yêu cầu P2P video streaming thời gian thực, ví dụ vào nút, độ trễ lớn Hơn giải pháp chưa xét đến vấn đề nút khơng đóng góp Với kết đạt mặt tồn tại, sau vài hướng phát triển tiếp theo: Khắc phục nhược điểm nêu Sử dụng phần mềm OverSim so sánh đánh giá hiệu Scribe SplitStream Nghiên cứu cải thiện QoS truyền video streaming qua mạng P2P Một lần em xin chân thành cảm ơn cô giáo Vũ Thị Thúy Hà hướng dẫn em, thầy mơn tận tình giúp đỡ em thời gian học tập trường để em có đủ kiến thức để hồn thành đồ án Lê Ngọc Anh – D09VT2 65 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đồ án tốt nghiệp đại học Tài liệu tham khảo TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt: Bùi thị Lan Hương: Luận văn thạc sĩ “Phương pháp multicast tầng ứng dụng dựa chế kéo đẩy cho truyền video thời gian thực mạng P2P” Nguyễn Văn Minh: Luận văn tốt nghiệp “Truyền tin multicast đa luồng thời gian thực mạng ngang hàng có cấu trúc” Nguyễn Ngọc Anh, “Topology Optimization for DTH-based Application Layer Multicast”, Trường đại học Công Nghệ, 2012 ThS Vũ Thị Thúy Hà, TS Lê Nhật Thăng, báo”Định tuyến mạng ngang hàng hệ mới” Tài liệu tiếng Anh: Antony Rowstron and Peter Druschel: “Pastry: Scalable, deccentralized object location and routing for lagre – scale peer – to – peer systems” Bin Rong, “Video Streaming over the Internet using Application Layer Multicast”, RMIT University, 2008 Chung-Yan Chen, Yu-Wei Chen, “Design and Analysis of Streaming for P2P”, Graduate Institute of Information and Logistics Management, National Taipei University of Technology, 2013 Luca Abeni, Csaba Kiraly, Renato Lo Cigno, “Scheduling P2P Multimedia Streams: Can we achieve performance and robustness?”, 2009 IEEE L Abeni, C Kiraly, R Lo Cigno, “Achiving performance and robustness in P2P streaming systems”, University of Trento, Italy, Tech Rep TR-DISI-09041, 2009 Indrani Gupta, Ken Binman, Prakash Linga, Al Demers, Robbert van Renesse:” Peer – to – Peer Networks: Kelips” Xuemin Shen, Heather Yu, John Buford, Mursalin Akon, “Handbook of Peerto-Peer”, Springer 2009 Lê Ngọc Anh – D09VT2 66 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... chính: mạng ngang hàng túy mạng ngang hàng lai ghép ( Hình 2.1) Hình 2.1 Phân loại mạng ngang hàng 2.2.3.1 Mạng ngang hàng túy Mạng ngang hàng túy chia làm loại: Mạng ngang hàng có cấu trúc mạng ngang. .. thống luồng video qua mạng ngang hàng P2P khác nhau, client khởi tạo việc download/upload file cịn server tiếp nhận phục vụ yêu cầu 2.2.2 Ƣu mạng ngang hàng Mục đích quan trọng mạng ngang hàng mạng. .. Chương II: Hệ thống luồng video qua mạng ngang hàng P2P CHƢƠNG II: HỆ THỐNG LUỒNG VIDEO QUA MẠNG NGANG HÀNG P2P 2.1 Phân tích số điểm cịn tồn kỹ thuật streaming truyền thống Kỹ thuật streaming truyền