Mạng ngang hàng Peer-to-Peer

Một phần của tài liệu xây dựng ứng dụng luồng video streaming qua mạng ngang hàng (Trang 26 - 66)

Một mạng máy tính ngang hàng (Peer – to – Peer hoặc P2P) chủ yếu dựa trên sức mạnh tính toán và băng thông của các máy tham gia trong mạng hơn là tập trung vào một số lượng nhỏ các máy chủ (server). Mạng P2P được sử dụng điển hình cho việc kết nối các nút thông qua những kết nối ad hoc lớn. Những mạng như vậy có ích cho nhiều mục đích sử dụng. Chia s file chứa audio, video, data hoặc mọi thứ ở định dạng số, các dữ liệu thời gian thực, ví dụ như truyền tải giọng nói, video streaming đều có thể thực hiện với công nghệ P2P.

Một mạng P2P thuần túy sẽ không có khái niệm về khách (clien) và chủ (server), mà chỉ có những nút ngang hàng thực hiện cả hai chức năng của một máy chủ và máy khách đối với những nút khác trong mạng. Mô hình mạng này khác với mô hình mạng khách – chủ (server –client) mà việc giao tiếp thường là với các máy chủ trung tâm. Một ví dụ điển hình cho việc truyền file theo mô hình khách – chủ là giữa một FTP Client và một FTP Server, hai chương trình FTP Client và FTP Server có vai trò rất

Lê Ngọc Anh – D09VT2 27

khác nhau, client khởi tạo việc download/upload file còn server thì tiếp nhận và phục vụ các yêu cầu đó.

2.2.2 Ƣu thế của mạng ngang hàng

Mục đích quan trọng của mạng ngang hàng là trong mạng tất cả các máy tham gia đều đóng góp tài nguyên, bao gồm băng thông, lưu trữ, và khả năng tính toán. Do đó khi càng có nhiều máy tham gia và mạng thì khả năng tổng thể của hệ thống mạng càng lớn. Ngược lại, trong mô hình máy khách – chủ, nếu số lượng máy chủ là cố định thì khi số máy khách tăng lên thì khả năng chuyển dữ liệu từ các máy chủ cho mỗi máy khách sẽ giảm xuống.

Tính chất phân tán của mạng ngang hàng cũng giúp cho mạng hoạt động tốt khi một số máy gặp sự cố. Đối với cấu trúc tập trung, chỉ cần máy chủ gặp sự cố thì cả hệ thống sẽ ngưng trệ.

2.2.3 Phân loại mạng ngang hàng

Mạng ngang hàng P2P được chia làm hai loại chính: mạng ngang hàng thuần túy và 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 thuần túy

Mạng ngang hàng thuần túy được chia làm 2 loại: Mạng ngang hàng có cấu trúc và mạng ngang hàng không cấu trúc.

Mạng ngang hàng không cấu trúc: là khi các liên kết giữa các nút mạng trong mạng

phủ được thiết lập ngẫu nhiên (tức là không theo quy luật nào). Những mạng như thế này dễ dàng được xây dựng vì các máy mới khi muốn tham gia mạng có thể lấy các liên kết sẵn có có một máy khác đang ở trong mạng và sau đó dần dần tự bản thân nó sẽ thêm vào các liên kết mới của riêng mình. Khi một máy muốn tìm một dữ liệu trong mạng đồng đẳng không cấu trúc, yêu cầu tìm kiếm sẽ được truyền trên cả mạng để tìm ra càng nhiều máy chia s càng tốt. Sự hiểu biết về mạng của các nút trong mạng không cấu trúc là rất ít, mỗi nút chỉ nắm bắt thông tin về những nút

Lê Ngọc Anh – D09VT2 28

liên kết trực tiếp và một số ít các nút khác, thông tin về những nút còn lại hoàn toàn thông qua Broadcast. Chính vì vậy, với những ứng dụng cần có sự liên kết chặt chẽ giữa các nút với nhau như multicast thì mạng ngang hàng không cấu trúc không phải là sự lựa chọn tối ưu.

Mạng ngang hàng có cấu trúc: Khắc phục nhược điểm của mạng không cấu trúc

bằng cách sử dụng hệ thống DHT (Distributed Hash Table – Bảng băm phân tán). Hệ thống này định nghĩa liên kết giữa các nút mạng trong mạng phủ theo một thuật toán cụ thể, đồng thời xác định chặt chẽ mỗi nút mạng sẽ chịu trách nhiệm đối với một phần dữ liệu chia s trong mạng. Với cấu trúc này, khi một máy định tuyến thông báo, nó chỉ cần áp dụng một giao thức chung để xác định nút cần thông báo và sau đó liên lạc trực tiếp đến nút mạng đó. Bởi vậy việc tạo cây multicast sẽ diễn ra rất dễ dàng và việc quản l cây cũng có nhiều thuận lợi khi các nút đều được liên kết chặt chẽ với nhau. Một số mạng ngang hàng có cấu trúc nổi tiếng bao gồm Chord, CAN, Kademlia, Pastry và Tapestry.

2.2.3.2 Mạng ngang hàng lai ghép

Trong mô hình mạng ngang hàng lai ghép, tồn tại một server trung gian có trách nhiệm điều khiển hoạt động của mạng. Server này lưu trữ các chỉ mục bao gồm thông tin về các nút mà nó quản lý và vị trí các cặp key – value trên mạng. Các nút trong mạng phải tạo liên kết với server này. Một nút muốn trao đổi thông tin với một nút khác thì nó sẽ phải liên lạc trực tiếp với server, sau đó server sẽ tìm kiếm trong cơ sở dữ liệu và gửi lại địa chỉ nút đích. Quá trình trao đổi thông tin sau đó được diễn ra trực tiếp giữa 2 nút. Việc triển khai truyền tin multicast trên mạng ngang hàng lai ghép gần giống như mô hình proxy – base ALM. Nhược điểm chính của nó vẫn là chi phí cao cho các server trung gian. Ứng dụng điển hình cho mô hình mạng này là Napster.

2.2.4 C c vấn đề cần xem xét trong P2P streaming

Trong vài năm qua, mạng P2P đã xuất hiện như là một phương pháp thuận lợi cho việc cung cấp các nội dung đa phương tiện trên nền một mạng phủ lớn. Các đặc tính bên trong mạng P2P làm cho các mô hình P2P trở thành một ứng cử viên tiềm năng để giải quyết các vấn đề khác nhau trong truyền thông đa phương tiện trên mạng Internet. P2P Streaming là giải pháp tốt hơn vì hai l do. Đầu tiên, mạng P2P không cần sự hỗ trợ từ các bộ định tuyến Internet và do đó chi phí hiệu quả và đơn giản để triển khai. Thứ hai, một peer đồng thời hoạt động như một client cũng như server, do đó có thể tải xuống một luồng video và cùng một lúc tải lên luồng video đó để các peer khác xem chương trình đó. Do đó, truyền tải P2P làm giảm đáng kể nhu cầu băng thông của nút nguồn. Mục tiêu của cơ chế P2P streaming là tối đa hóa chất lượng phân phối nội dung cho các điểm peer riêng l . Tổng hợp nguồn tài nguyên có sẵn của các peer và có khả năng mở rộng đến số lượng bất kỳ các điểm tham gia. Mỗi peer có thể tiếp tục cung cấp nội dung phù hợp với các peer đã kết nối với nó trong lớp phủ bằng cách sử dụng băng thông của các điểm peer đang tham gia. Tuy nhiên, việc cung cấp các dịch

Lê Ngọc Anh – D09VT2 29

vụ P2P streaming video cho một số lượng lớn người xem tạo ra những thách thức công nghệ rất khó khăn trên cả hệ thống và tài nguyên mạng.

Trong khi các ứng dụng phân phối file P2P truyền thống nhằm mục tiêu truyền dữ liệu linh hoạt, P2P streaming tập trung vào việc phân phối hiệu quả các nội dung audio và video theo yêu cầu thời gian ràng buộc. Luồng dữ liệu được nhận, phát ngay lập tức và truyền cho các điểm peer liên quan khác. Ví dụ: ứng dụng chia s file P2P, BitTorrent cho phép các điểm peer trao đổi đoạn bất kỳ của các nội dung được phân phối mà nó là không quan trọng thứ tự. Ngược lại, các kỹ thuật như vậy là không khả thi trong ứng dụng streaming. Các tập tin video được phát trực tiếp trong lúc nó đang được tải xuống. Ngoài ra, các peer đã hạn chế khả năng tải lên, mà xuất phát từ thực tế là Internet được thiết kế cho các mô hình client – server và các ứng dụng. Hơn nữa, hệ thống streaming chịu việc rớt gói tin hoặc chậm trễ do tắc nghẽn mạng.

Trong P2P streaming, trễ end-to-end từ nguồn đến nơi nhận lớn bởi vì nội dung có thể phải đi qua một số nơi nhận trung gian. Hành vi của người nhận là không thể đoán trước, họ được tự do tham gia và rời bỏ bất cứ lúc nào, do đó loại bỏ các peer kế tiếp của họ. Người nhận có thể phải lưu một số cấu trúc dữ liệu cục bộ và trao đổi thông tin trạng thái với nhau để bảo vệ các kết nối. Các chi phí kiểm soát ở mỗi điểm nhận đáp ứng mục đích như vậy sẽ nhỏ để giữ cho không sử dụng quá nhiều tài nguyên mạng và để khắc phục hạn chế tài nguyên ở mỗi điểm nhận. Điều này là quan trọng đối với khả năng mở rộng của hệ thống với một số lượng lớn các điểm nhận.

Việc cấu trúc các nút thành lập một mạng phủ cung cấp video đảm bảo QoS. Mặt khác, hệ thống có quy mô mở rộng nên có thể chứa hàng chục ngàn người nhận tại cùng một thời điểm. Đồng thời, các chi phí quản lý liên quan hợp lý ngay cả ở quy mô lớn.

2.3 C c phƣơng ph p tiếp cận xây dựng lớp phủ

Kỹ thuật streaming trong cách tiếp cận P2P được phân loại thành truyền video thời gian thực (P2P live video streaming) và truyền video theo yêu cầu (P2P on demand video streaming). Một số hệ thống P2P streaming đã được triển khai để cung cấp xem video theo yêu cầu hoặc các dịch vụ truyền video trực tuyến qua Internet.

Hình 2.2 Các loại P2P Streaming

Dựa trên cấu trúc mạng che phủ, hệ thống P2P streaming được sắp xếp thành ba loại: tree-based (phương thức tiếp cận dạng cây), mesh-based (phương thức tiếp cận

Lê Ngọc Anh – D09VT2 30

dạng lưới) and hybrid schemes (phương thức tiếp cận dạng ẩn). Phương pháp tiếp cận tree-based sử dụng phương pháp đẩy dữ liệu để phân phối nội dung. Tuy nhiên, phương pháp tiếp cận mesh-based sử dụng tràn lụt dữ liệu để phân phối nội dung.

2.3.1 Phƣơng ph p tiếp cận dạng cây

Tương tự như một cây IP multicast được hình thành bởi các bộ định tuyến ở lớp mạng, các người dùng tham gia vào một phiên video streaming có thể tạo thành một cây ở lớp ứng dụng có gốc được bắt nguồn từ máy chủ video nguồn như hình 2.3. Về nguyên tắc, mỗi nút nhận dữ liệu từ một nút cha, có thể là nút nguồn hoặc một peer. Các hệ thống dựa trên cây thường phân phối video bằng cách chủ động đẩy dữ liệu từ một peer tới các nút con của nó.

Một cách tiếp cận chung của P2P streaming là sắp xếp các peer tham gia vào một lớp phủ có cấu trúc cây đơn luồng mà nội dung được đẩy đi từ nguồn tới tất cả các peer. Nội dung được lan truyền như một dòng chảy liên tục của thông tin từ nguồn xuống. Mỗi người dùng tham gia vào cây ở vị trí nhất định. Các hệ thống loại này chủ yếu là khác nhau trong các thuật toán được sử dụng để tạo ra, duy trì cấu trúc cây. Cho một tập hợp của các điểm peer, có rất nhiều cách để kết nối các peer. Mục tiêu của thuật toán xây dựng cây là tối đa hóa băng thông tới gốc của tất cả các nút. Vì các hệ thống này rất gần với IP multicast, cố gắng để mô phỏng cấu trúc cây của nó, nó có thể để đạt được độ dài đường truyền dữ liệu tương ứng mà không chênh lệch quá nhiều từ các đường dẫn IP multicast.

H nh 2.3 Mô h nh cây đơn

Xây dựng và duy trì cây có thể được thực hiện tập trung hoặc một cách phân tán trong hệ thống cây đơn luồng. Trong hình 2.4 & 2.5, một máy chủ trung tâm quản lý xây dựng cây và phục hồi cây. Khi một peer tham gia hệ thống nó giao tiếp với máy chủ trung tâm. Dựa trên các kết nối hiện có và đặc tính của các peer mới được tham gia vào như vị trí và điểm truy cập mạng, máy chủ quyết định vị trí của peer mới trong cây và thông báo nút cha để peer mới được kết nối vào. Các máy chủ trung tâm có thể phát hiện một peer tách ra thông qua tín hiệu mất hoặc phán đoán dựa trên chỉ số thời gian đầu ra. Trong cả hai trường hợp máy chủ sẽ tính toán lại cấu trúc liên kết cây cho

Lê Ngọc Anh – D09VT2 31

số peer còn lại và chỉ dẫn chúng tạo thành cấu trúc liên kết mới. Đối với một hệ thống streaming lớn, máy chủ trung tâm có thể trở thành điểm nút thắt cổ chai. Để giải quyết vấn đề này, các thuật toán phân phối ví dụ ZigZag được phát triển để xây dựng và duy trì cây streaming phân phối nội dung. Nếu các peer không thay đổi một cách thường xuyên, hệ thống dựa trên mô hình cây đòi hỏi ít chi phí như các gói tin được chuyển tiếp từ peer tới peer mà không cần phải thêm bản tin thông báo. Tuy nhiên trong môi trường tỷ lệ biến động cao, cây sẽ thường xuyên thay đổi và phải xây dựng lại. Do đó, các peer cần phải đệm dữ liệu (buffer data) ít nhất là bằng thời gian cần thiết cho sửa chữa cây để tránh khỏi mất gói.

Hình 2.4 : Xây dựng lại cây Streaming (a) Peer 0 rời (b) Mô hình cây sau khi phục hồi

Hình 2.5 Giải pháp tập trung cho cấu trúc cây và duy trì cây 2.3.2 C c hệ thống luồng trực truyến dựa trên cây đơn luồng

2.3.2.1 Giao thức NICE

Hệ thống phổ biến nhất sử dụng cách tiếp cận cây đơn luồng là NICE. NICE (The Internet Cooperative Environment) được thiết kế ban đầu cho băng thông thấp và các ứng dụng truyền dữ liệu với một số lượng lớn người dùng. Giao thức sắp xếp các trạm cuối (host) vào trong một hệ thống phân cấp dựa trên thời gian thông tin chuyền đi vòng quanh giữa các host hình 2.6. Các hoạt động cơ bản của giao thức là tạo ra và duy trì các tuyến đường trong hệ thống. Mỗi thành viên giữ chi tiết trạng thái về các thành viên khác gần nó trong hệ thống phân cấp. Và chỉ có kiến thức hạn chế về các

Lê Ngọc Anh – D09VT2 32

thành viên khác trong nhóm. Cấu trúc phân cấp cũng rất quan trọng cho xác định vị trí của các thành viên thất bại.

Hình 2.6 Sắp xếp các host trong NICE. 2.3.2.2 Giao thức SpreadIt

SpreadIt xây dựng ứng dụng cây multicast trên các thiết lập của khách hàng. Các nút được tổ chức thành các cấp khác nhau (hình 2.7 và hình 2.8). Đối với mỗi nút n ở mức 1+l; l = 0 , 1 , 2 …, có một nút p được gọi là cha của nó, ở mức l, n được gọi là con của p. Tất cả các nút trong cây con có gốc là p được gọi là con cháu của nó. Mỗi peer trong cây chịu trách nhiệm việc gửi các dữ liệu cho nút con của mình. Mỗi nút khách hàng cần phải được kích hoạt với một lớp peering(lớp nằm giữa lớp ứng dụng và lớp vận chuyển). Các lớp peering tại các nút khác nhau phối hợp với nhau để thiết lập và duy trì một cây multicast. Các ứng dụng (RealPlayer, Windows Media Player, etc) có được luồng từ các lớp peering trên các máy tính cục bộ. SpreadIt sử dụng một cây đơn phân bố và như vậy rất dễ bị tổn thương do gián đoạn một nút tách ra.

Lê Ngọc Anh – D09VT2 33

Hình 2.8 SpreadIt–Kiến trúc phân lớp của một Peer 2.3.2.3Giao thức ESM

ESM (End System Multicasst) là một cơ sở hạ tầng cho phát thanh truyền hình, thực hiện bởi đại học Carnegie Mellon. ESM cho phép truyền dữ liệu âm thanh hình ảnh tới một lượng lớn người sử dụng. Hệ thống ESM sử dụng một cấu trúc lớp phủ dựa trên đó xây dựng một cây. Các thông tin được phân phối một cách truyền thống dựa trên cây đơn luồng, trong đó bất kỳ peer nào cũng chỉ nhận được luồng tin từ duy nhất một nguồn. Mỗi nút duy trì thông tin về một nhóm nhỏ ngẫu nhiên của các thành viên khác, cũng như các thông tin về đường đi từ nguồn đến nó. Một nút mới tham gia phát sóng bằng cách liên hệ với nguồn và lấy danh sách ngẫu nhiên của các thành viên hiện đang trong nhóm. Sau đó chọn một trong các thành viên làm nút cha của nó bằng cách sử dụng thuật toán lựa chọn nút cha. Để tìm hiểu về các thành viên khác, một bản tin thăm dò được sử dụng. Khi một nút tham gia vào phát sóng hoặc cần thực hiện thay

Một phần của tài liệu xây dựng ứng dụng luồng video streaming qua mạng ngang hàng (Trang 26 - 66)

Tải bản đầy đủ (PDF)

(66 trang)