隨著網路的蓬勃發展,人們對於網路上多媒體串流傳輸的應用也有越多的需求。因此,要如何透過網路來傳輸即時性的多媒體串流資料成了一個相當重要的議題。本論文提出了一個結合點對點傳輸技術的系統,用以提供大規模且穩定的多媒體傳輸服務。本論文透過應用層多播技術的概念,設計出一個以類似樹狀結構的架構為基礎的系統,透過系統中各個節點彼此之間相互的資料相互分享來降低伺服器端的負擔並降低網路使用量。也因此讓此系統即使在有大量使用者加入的情況下,仍可維持著高品質的服務。除此之外,我們也針對那些樹狀架構為基礎的系統容易產生的問題,像是當節點的上游突然離開而造成下遊節點服務受到影響的問題,設計出一些解決的辦法來維持系統運做的穩定性。除了透過此系統來收看其他人提供的串流服務之外,使用者也可以透過我們的系統可以提供他們自己想分享的多媒體資料,讓每個人都可以成為串流提供者。除此之外,近來使用者因為安全性的因素或是缺少可用的IP位址而廣泛的使用NAT或防火牆,我們的系統即便是在這樣的環境下仍然可以正常的運作。因此,不管任何時間與地點,透過網路與我們的系統,使用者都能輕易的分享他們的影音或是收看別人所分享的內容。
With the progress of network technology, requirements for applications of multimedia streaming via Internet are also increased. The effective transmission of real time multimedia has become an important issue. In this thesis, a P2P-based multimedia system is proposed to provide a scalable, robust and reliable live streaming service. Based on the concept of Application Layer Multicast (ALM), a tree like structure is designed to connect the peers, and the peers receive streaming data from each other instead of the streaming provider to reduce the loading and network traffic of the server. Hence, a high available streaming service can be achieved even a large number of users are receiving the same service. Some mechanisms are also proposed to prevent the system be effected by the frequently join and departure of upstream peers due to the native of a tree structure. In addition to receive the service provided by others, users can even treat themselves as a streaming provider, to provide their own live streaming contents to all others in the system easily. The proposed system also works well for those users behind NAT (Network Address Translation) and firewall. Thus, users can easily share their own contents by our system, or access the interested streaming contents provided by others in our system via Internet.